All checks were successful
		
		
	
	Playwright Tests / test (pull_request) Has been skipped
				
			Check usage of free licenses / build-static-assets (pull_request) Successful in 1m12s
				
			Add copyright notice / copyright_notice (pull_request) Successful in 1m32s
				
			Build Nginx-based docker image / build-static-assets (push) Successful in 6m2s
				
			
		
			
				
	
	
		
			22 lines
		
	
	
		
			719 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			719 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/
 | |
| 
 | |
| import clsx from 'clsx';
 | |
| 
 | |
| interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
 | |
|   children: React.ReactNode;
 | |
| }
 | |
| 
 | |
| export function Button({ children, className, ...rest }: ButtonProps) {
 | |
|   return (
 | |
|     <button
 | |
|       {...rest}
 | |
|       className={clsx(
 | |
|         'flex h-10 items-center rounded-lg bg-blue-500 px-4 text-sm font-medium text-white transition-colors hover:bg-blue-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500 active:bg-blue-600 aria-disabled:cursor-not-allowed aria-disabled:opacity-50',
 | |
|         className,
 | |
|       )}
 | |
|     >
 | |
|       {children}
 | |
|     </button>
 | |
|   );
 | |
| }
 |