{"version":3,"file":"Button-DXFH8FNb.js","sources":["../../Client/components/Button.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef } from 'react';\n\ninterface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n variant?: 'primary' | 'secondary' | 'danger' | 'ghost';\n outline?: boolean;\n disabled?: boolean;\n small?: boolean;\n children: React.ReactNode;\n type?: ComponentPropsWithoutRef<'button'>['type']; // Extract type dynamically\n}\n\n/**\n * Button component with styling for different variants.\n *\n * @param variant - Primary, secondary, danger or ghost styling.\n * @param outline - Whether to use outline styling.\n * @param disabled - Whether button is disabled.\n * @param small - Whether to use small styling.\n * @param type - Type of the button (submit - button - reset)\n * @param children - Button contents.\n * @param rest - Other props passed to button.\n */\nexport function Button({\n variant = 'primary',\n outline = false,\n disabled = false,\n small = false,\n type = 'button', // Default to \"button\" to prevent unintended form submissions\n children,\n ...rest\n}: ButtonProps) {\n const baseClasses = 'btn self-start';\n const variantClasses = {\n primary: !outline ? 'btn-primary' : 'btn-primary-stroke',\n secondary: !outline ? 'btn-secondary' : 'btn-secondary-stroke',\n danger: 'btn-danger',\n ghost: 'btn-ghost',\n };\n\n const smallClasses = small ? 'btn-sm' : '';\n\n const btnClasses = `${baseClasses} ${variantClasses[variant]} ${smallClasses} ${rest.className ?? ''}`;\n\n return (\n \n {children}\n \n );\n}\n"],"names":["Button","variant","outline","disabled","small","type","children","rest","baseClasses","variantClasses","smallClasses","btnClasses","jsx"],"mappings":"yCAsBO,SAASA,EAAO,CACnB,QAAAC,EAAU,UACV,QAAAC,EAAU,GACV,SAAAC,EAAW,GACX,MAAAC,EAAQ,GACR,KAAAC,EAAO,SACP,SAAAC,EACA,GAAGC,CACP,EAAgB,CACZ,MAAMC,EAAc,iBACdC,EAAiB,CACnB,QAAUP,EAA0B,qBAAhB,cACpB,UAAYA,EAA4B,uBAAlB,gBACtB,OAAQ,aACR,MAAO,WACX,EAEMQ,EAAeN,EAAQ,SAAW,GAElCO,EAAa,GAAGH,CAAW,IAAIC,EAAeR,CAAO,CAAC,IAAIS,CAAY,IAAIH,EAAK,WAAa,EAAE,GAGhG,OAAAK,EAAA,IAAC,SAAA,CACI,GAAGL,EACJ,KAAAF,EACA,UAAWM,EACX,SAAAR,EAEC,SAAAG,CAAA,CACL,CAER"}