@whatisboom/boom-ui 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/boom-ui.css +1 -1
  2. package/dist/form.js.map +1 -1
  3. package/dist/index.js +6522 -6514
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/components/Alert/Alert.stories.d.ts.map +1 -1
  6. package/dist/src/components/Avatar/Avatar.stories.d.ts.map +1 -1
  7. package/dist/src/components/Badge/Badge.stories.d.ts.map +1 -1
  8. package/dist/src/components/Button/Button.stories.d.ts.map +1 -1
  9. package/dist/src/components/Card/Card.stories.d.ts.map +1 -1
  10. package/dist/src/components/Chart/utils/colorPalette.d.ts.map +1 -1
  11. package/dist/src/components/Checkbox/Checkbox.stories.d.ts.map +1 -1
  12. package/dist/src/components/Container/Container.stories.d.ts.map +1 -1
  13. package/dist/src/components/Divider/Divider.stories.d.ts.map +1 -1
  14. package/dist/src/components/Form/Form.d.ts.map +1 -1
  15. package/dist/src/components/Hero/Hero.stories.d.ts.map +1 -1
  16. package/dist/src/components/Image/Image.stories.d.ts.map +1 -1
  17. package/dist/src/components/Input/Input.stories.d.ts.map +1 -1
  18. package/dist/src/components/Progress/Progress.stories.d.ts.map +1 -1
  19. package/dist/src/components/RadioGroup/RadioGroup.stories.d.ts.map +1 -1
  20. package/dist/src/components/Select/Select.stories.d.ts.map +1 -1
  21. package/dist/src/components/Sidebar/Sidebar.d.ts.map +1 -1
  22. package/dist/src/components/Slider/Slider.stories.d.ts.map +1 -1
  23. package/dist/src/components/Spinner/Spinner.stories.d.ts.map +1 -1
  24. package/dist/src/components/Switch/Switch.stories.d.ts.map +1 -1
  25. package/dist/src/components/Textarea/Textarea.stories.d.ts.map +1 -1
  26. package/dist/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  27. package/dist/src/components/Typography/Typography.stories.d.ts.map +1 -1
  28. package/dist/src/components/primitives/Drawer/Drawer.stories.d.ts.map +1 -1
  29. package/dist/src/components/primitives/Modal/Modal.stories.d.ts.map +1 -1
  30. package/dist/src/components/primitives/Overlay/Overlay.stories.d.ts.map +1 -1
  31. package/dist/src/components/primitives/Popover/Popover.stories.d.ts.map +1 -1
  32. package/dist/src/components/primitives/Portal/Portal.d.ts.map +1 -1
  33. package/package.json +2 -2
package/dist/form.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../node_modules/@hookform/resolvers/dist/resolvers.mjs","../node_modules/@standard-schema/utils/dist/index.js","../node_modules/@hookform/resolvers/standard-schema/dist/standard-schema.mjs","../src/components/Form/createFieldComponent.tsx","../src/components/Form/Form.tsx","../src/components/Form/FormActions.tsx","../src/components/Form/FormMessage.tsx","../src/components/Form/hooks/useFormStep.tsx","../src/components/Form/FormStepper.tsx","../src/components/Form/FormStep.tsx"],"sourcesContent":["import{get as e,set as t}from\"react-hook-form\";const r=(t,r,o)=>{if(t&&\"reportValidity\"in t){const s=e(o,r);t.setCustomValidity(s&&s.message||\"\"),t.reportValidity()}},o=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&\"reportValidity\"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e))}},s=(r,s)=>{s.shouldUseNativeValidation&&o(r,s);const n={};for(const o in r){const f=e(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},e(n,o));t(r,\"root\",c),t(n,o,r)}else t(n,o,c)}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\\\.\\\\d+`))};function n(e){return e.replace(/\\]|\\[/g,\"\")}export{s as toNestErrors,o as validateFieldsNatively};\n//# sourceMappingURL=resolvers.mjs.map\n","// src/getDotPath/getDotPath.ts\nfunction getDotPath(issue) {\n if (issue.path?.length) {\n let dotPath = \"\";\n for (const item of issue.path) {\n const key = typeof item === \"object\" ? item.key : item;\n if (typeof key === \"string\" || typeof key === \"number\") {\n if (dotPath) {\n dotPath += `.${key}`;\n } else {\n dotPath += key;\n }\n } else {\n return null;\n }\n }\n return dotPath;\n }\n return null;\n}\n\n// src/SchemaError/SchemaError.ts\nvar SchemaError = class extends Error {\n /**\n * The schema issues.\n */\n issues;\n /**\n * Creates a schema error with useful information.\n *\n * @param issues The schema issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"SchemaError\";\n this.issues = issues;\n }\n};\nexport {\n SchemaError,\n getDotPath\n};\n","import{toNestErrors as e,validateFieldsNatively as r}from\"@hookform/resolvers\";import{getDotPath as t}from\"@standard-schema/utils\";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(null,arguments)}function s(s,a,i){return void 0===i&&(i={}),function(a,o,u){try{var l=function(){if(c.issues){var s=function(e,r){for(var s={},a=0;a<e.length;a++){var i=e[a],o=t(i);if(o&&(s[o]||(s[o]={message:i.message,type:\"\"}),r)){var u,l=s[o].types||{};s[o].types=n({},l,((u={})[Object.keys(l).length]=i.message,u))}}return s}(c.issues,!u.shouldUseNativeValidation&&\"all\"===u.criteriaMode);return{values:{},errors:e(s,u)}}return u.shouldUseNativeValidation&&r({},u),{values:i.raw?Object.assign({},a):c.value,errors:{}}},c=s[\"~standard\"].validate(a),f=function(){if(c instanceof Promise)return Promise.resolve(c).then(function(e){c=e})}();return Promise.resolve(f&&f.then?f.then(l):l())}catch(e){return Promise.reject(e)}}}export{s as standardSchemaResolver};\n//# sourceMappingURL=standard-schema.module.js.map\n","import type { UseFormReturn, Path } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\nimport type { z } from 'zod';\nimport type { FieldProps, FieldComponent } from './Form.types';\nimport { Input } from '../Input';\nimport { Textarea } from '../Textarea';\nimport { Checkbox } from '../Checkbox';\nimport { Select } from '../Select';\nimport { Switch } from '../Switch';\nimport { cn } from '@/utils/classnames';\nimport styles from './Form.module.css';\n\n/**\n * Creates a Field component bound to a specific form instance\n * This preserves the generic schema type through closure\n */\nexport function createFieldComponent<TSchema extends z.ZodObject<z.ZodRawShape>>(\n form: UseFormReturn<z.input<TSchema>, unknown, z.output<TSchema>>\n): FieldComponent<TSchema> {\n type FieldName = Path<z.input<TSchema>>;\n\n return function Field<TName extends FieldName>(\n props: FieldProps<TSchema, TName>\n ): React.ReactElement {\n const {\n name,\n component = 'input',\n render,\n label,\n type,\n placeholder,\n helperText,\n disabled,\n options,\n className,\n } = props;\n\n return (\n <div className={cn(styles.fieldGroup, className)}>\n <Controller\n name={name}\n control={form.control}\n render={({ field, fieldState }) => {\n // Custom render prop takes precedence\n if (render) {\n // Fragment ensures ReactElement type (Controller requires ReactElement, not ReactNode)\n return <>{render({ field, error: fieldState.error })}</>;\n }\n\n // Common props for all field types\n const commonProps = {\n label,\n error: fieldState.error?.message,\n helperText,\n disabled,\n };\n\n // Render standard component based on type\n // Note: field.value uses PathValueImpl generic type which TypeScript\n // cannot narrow to specific component value types. Type assertions\n // are necessary here as this is a controlled type transformation.\n switch (component) {\n case 'textarea':\n return (\n <Textarea\n name={field.name}\n value={(field.value as string) || ''}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n placeholder={placeholder}\n />\n );\n\n case 'checkbox':\n return (\n <Checkbox\n name={field.name}\n checked={Boolean(field.value)}\n onChange={(checked: boolean) => field.onChange(checked)}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n />\n );\n\n case 'switch':\n return (\n <Switch\n name={field.name}\n checked={Boolean(field.value)}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n />\n );\n\n case 'select':\n return (\n <Select\n name={field.name}\n value={(field.value as string) || ''}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n options={options || []}\n />\n );\n\n default:\n return (\n <Input\n name={field.name}\n value={(field.value as string) || ''}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n type={type}\n placeholder={placeholder}\n />\n );\n }\n }}\n />\n </div>\n );\n };\n}\n","import { forwardRef, useImperativeHandle, useMemo } from 'react';\nimport type { DefaultValues } from 'react-hook-form';\nimport { useForm } from 'react-hook-form';\nimport { standardSchemaResolver } from '@hookform/resolvers/standard-schema';\nimport type { z } from 'zod';\nimport { cn } from '@/utils/classnames';\nimport type { FormProps, FormHandle } from './Form.types';\nimport { createFieldComponent } from './createFieldComponent';\nimport styles from './Form.module.css';\n\nfunction FormComponent<TSchema extends z.ZodObject<z.ZodRawShape>>(\n {\n schema,\n onSubmit,\n defaultValues,\n mode = 'onSubmit',\n resetOnSubmit = false,\n className,\n children,\n ...props\n }: FormProps<TSchema>,\n ref: React.ForwardedRef<FormHandle<TSchema>>\n) {\n type FormInput = z.input<TSchema>;\n type FormOutput = z.output<TSchema>;\n\n // Extract field names from schema and create type-appropriate defaults\n const getDefaultValues = (): DefaultValues<FormInput> => {\n if (defaultValues) {\n return defaultValues as DefaultValues<FormInput>;\n }\n\n // Generate type-appropriate default values for schema fields\n const defaults: Record<string, unknown> = {};\n const shape = schema.shape;\n\n Object.keys(shape).forEach(key => {\n const field = shape[key] as z.ZodTypeAny;\n defaults[key] = getDefaultValueForField(field);\n });\n\n return defaults as DefaultValues<FormInput>;\n };\n\n // Helper to determine appropriate default value based on Zod field type\n const getDefaultValueForField = (field: z.ZodTypeAny): unknown => {\n // Type guard for accessing Zod internals\n type ZodInternalDef = {\n typeName?: string;\n innerType?: z.ZodTypeAny;\n schema?: z.ZodTypeAny;\n };\n\n // Access internal type definition (Zod internals are not part of public API)\n const def = (field as unknown as { _def: ZodInternalDef })._def;\n\n // Unwrap optional/nullable/default schemas to get the inner type\n let innerType = field as unknown as { _def: ZodInternalDef };\n let typeName = def.typeName;\n\n while (typeName === 'ZodOptional' ||\n typeName === 'ZodNullable' ||\n typeName === 'ZodDefault') {\n const nextType = innerType._def.innerType || innerType._def.schema;\n if (!nextType) {\n break;\n }\n innerType = nextType as unknown as { _def: ZodInternalDef };\n typeName = innerType._def.typeName;\n }\n\n // Return undefined for optional/nullable fields\n if (def.typeName === 'ZodOptional' || def.typeName === 'ZodNullable') {\n return undefined;\n }\n\n // Return type-specific defaults based on the inner type\n const innerTypeName = innerType._def.typeName;\n switch (innerTypeName) {\n case 'ZodString':\n return '';\n case 'ZodNumber':\n return 0;\n case 'ZodBoolean':\n return false;\n case 'ZodArray':\n return [];\n case 'ZodObject':\n return {};\n case 'ZodDate':\n return new Date();\n default:\n // For unknown types, default to undefined\n return undefined;\n }\n };\n\n // Create react-hook-form instance\n const form = useForm<FormInput, unknown, FormOutput>({\n resolver: standardSchemaResolver(schema),\n defaultValues: getDefaultValues(),\n mode,\n });\n\n // Create Field component bound to this form instance\n // Memoized to maintain referential equality\n const Field = useMemo(\n () => createFieldComponent<TSchema>(form),\n [form]\n );\n\n // Expose imperative handle for ref-based control\n useImperativeHandle(\n ref,\n () => ({\n reset: form.reset,\n setError: form.setError,\n clearErrors: form.clearErrors,\n trigger: form.trigger,\n getValues: form.getValues,\n setValue: form.setValue,\n }),\n [form]\n );\n\n // Handle form submission\n const handleSubmit = async (data: FormOutput) => {\n await onSubmit(data);\n if (resetOnSubmit) {\n form.reset();\n }\n };\n\n return (\n <form\n onSubmit={(e) => {\n void form.handleSubmit(handleSubmit)(e);\n }}\n className={cn(styles.form, className)}\n noValidate\n {...props}\n >\n {children({ Field, ...form })}\n </form>\n );\n}\n\n// Export with forwardRef while preserving generics\nconst FormWithRef = forwardRef(FormComponent) as <\n TSchema extends z.ZodObject<z.ZodRawShape>\n>(\n props: FormProps<TSchema> & {\n ref?: React.ForwardedRef<FormHandle<TSchema>>;\n }\n) => React.ReactElement;\n\nexport const Form = Object.assign(FormWithRef, { displayName: 'Form' });\n","import { cn } from '@/utils/classnames';\nimport type { FormActionsProps } from './FormActions.types';\nimport styles from './Form.module.css';\n\nexport const FormActions: React.FC<FormActionsProps> = ({\n align = 'right',\n children,\n className,\n}) => {\n const alignmentClass = {\n left: styles.formActionsLeft,\n right: styles.formActionsRight,\n center: styles.formActionsCenter,\n 'space-between': styles.formActionsSpaceBetween,\n }[align];\n\n return (\n <div className={cn(styles.formActions, alignmentClass, className)}>\n {children}\n </div>\n );\n};\n\nFormActions.displayName = 'FormActions';\n","import { cn } from '@/utils/classnames';\nimport type { FormMessageProps } from './FormMessage.types';\nimport styles from './Form.module.css';\n\nexport const FormMessage: React.FC<FormMessageProps> = ({\n type,\n children,\n onDismiss,\n className,\n}) => {\n const typeClass = {\n success: styles.formMessageSuccess,\n error: styles.formMessageError,\n warning: styles.formMessageWarning,\n info: styles.formMessageInfo,\n }[type];\n\n return (\n <div\n className={cn(styles.formMessage, typeClass, className)}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <div>{children}</div>\n {onDismiss && (\n <button\n type=\"button\"\n onClick={onDismiss}\n aria-label=\"Dismiss message\"\n style={{ marginLeft: 'auto', background: 'none', border: 'none', cursor: 'pointer' }}\n >\n ×\n </button>\n )}\n </div>\n );\n};\n\nFormMessage.displayName = 'FormMessage';\n","import { createContext, useContext } from 'react';\nimport type { FormStepperContextValue } from '../FormStepper.types';\n\nexport const FormStepperContext = createContext<FormStepperContextValue | undefined>(undefined);\n\nexport const useFormStep = () => {\n const context = useContext(FormStepperContext);\n if (!context) {\n throw new Error('useFormStep must be used within a FormStepper');\n }\n return context;\n};\n","import { Children, useMemo, useCallback, useRef, useEffect } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { FormStepperProps } from './FormStepper.types';\nimport type { FormStepProps } from './FormStep.types';\nimport { FormStepperContext } from './hooks/useFormStep';\nimport styles from './FormStepper.module.css';\n\n/**\n * Type guard to check if a React child is a FormStep element with typed props\n */\nfunction isFormStepElement(\n value: unknown\n): value is React.ReactElement<FormStepProps> {\n if (\n typeof value !== 'object' ||\n value === null ||\n !('type' in value) ||\n !('props' in value)\n ) {\n return false;\n }\n\n const element = value as React.ReactElement;\n return (\n typeof element.type === 'function' &&\n 'name' in element.type &&\n element.type.name === 'FormStep' &&\n typeof (element as React.ReactElement<FormStepProps>).props.title === 'string'\n );\n}\n\n/**\n * FormStepper - Multi-step form container with progress tracking.\n *\n * Provides context-based state management for building wizard-style forms.\n * Manages step navigation, progress indication, and accessibility features.\n */\nexport const FormStepper: React.FC<FormStepperProps> = ({\n currentStep,\n onStepChange,\n showProgress = true,\n children,\n className,\n}) => {\n const stepContentRef = useRef<HTMLDivElement>(null);\n const liveRegionRef = useRef<HTMLDivElement>(null);\n\n // Extract step information from children\n const steps = useMemo(() => {\n return Children.toArray(children).filter(isFormStepElement);\n }, [children]);\n\n const totalSteps = steps.length;\n\n // Validate currentStep\n const validatedStep = Math.max(0, Math.min(currentStep, totalSteps - 1));\n\n // Context value\n const contextValue = useMemo(\n () => ({\n currentStep: validatedStep,\n totalSteps,\n goToStep: (step: number) => {\n const newStep = Math.max(0, Math.min(step, totalSteps - 1));\n if (newStep !== validatedStep) {\n onStepChange(newStep);\n }\n },\n nextStep: () => {\n if (validatedStep < totalSteps - 1) {\n onStepChange(validatedStep + 1);\n }\n },\n prevStep: () => {\n if (validatedStep > 0) {\n onStepChange(validatedStep - 1);\n }\n },\n isFirstStep: validatedStep === 0,\n isLastStep: validatedStep === totalSteps - 1,\n }),\n [validatedStep, totalSteps, onStepChange]\n );\n\n // Get step information from children props\n const stepInfo = useMemo(() => {\n return steps.map((step) => ({\n title: step.props.title,\n description: step.props.description || '',\n }));\n }, [steps]);\n\n // Announce step change to screen readers\n useEffect(() => {\n if (liveRegionRef.current && stepInfo[validatedStep]) {\n const { title, description } = stepInfo[validatedStep];\n const announcement = `Step ${validatedStep + 1} of ${totalSteps}: ${title}${\n description ? `. ${description}` : ''\n }`;\n liveRegionRef.current.textContent = announcement;\n }\n }, [validatedStep, totalSteps, stepInfo]);\n\n // Handle keyboard navigation on individual tab buttons\n const handleTabKeyDown = useCallback(\n (event: React.KeyboardEvent, currentIndex: number) => {\n if (event.key === 'ArrowLeft' && currentIndex > 0) {\n event.preventDefault();\n contextValue.goToStep(currentIndex - 1);\n } else if (event.key === 'ArrowRight' && currentIndex < totalSteps - 1) {\n event.preventDefault();\n contextValue.goToStep(currentIndex + 1);\n } else if (event.key === 'Home') {\n event.preventDefault();\n contextValue.goToStep(0);\n } else if (event.key === 'End') {\n event.preventDefault();\n contextValue.goToStep(totalSteps - 1);\n }\n },\n [totalSteps, contextValue]\n );\n\n return (\n <FormStepperContext.Provider value={contextValue}>\n <div className={cn(styles.stepper, className)}>\n {/* Screen reader announcements */}\n <div\n ref={liveRegionRef}\n className={styles.liveRegion}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n />\n\n {/* Progress indicator */}\n {showProgress && (\n <div\n className={styles.progressContainer}\n role=\"tablist\"\n aria-label=\"Form steps\"\n >\n {stepInfo.map((step, index) => {\n const status =\n index < validatedStep\n ? 'completed'\n : index === validatedStep\n ? 'current'\n : 'pending';\n\n return (\n <button\n key={index}\n type=\"button\"\n role=\"tab\"\n aria-selected={index === validatedStep}\n aria-current={index === validatedStep ? 'step' : undefined}\n aria-label={`${step.title}${\n step.description ? `: ${step.description}` : ''\n }`}\n className={cn(\n styles.progressStep,\n styles[`progressStep--${status}`]\n )}\n onClick={() => contextValue.goToStep(index)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n tabIndex={index === validatedStep ? 0 : -1}\n >\n <span className={styles.progressStepNumber}>{index + 1}</span>\n <div className={styles.progressStepContent}>\n <span className={styles.progressStepTitle}>{step.title}</span>\n {step.description && (\n <span className={styles.progressStepDescription}>\n {step.description}\n </span>\n )}\n </div>\n </button>\n );\n })}\n </div>\n )}\n\n {/* Step content */}\n <div ref={stepContentRef} className={styles.stepContent}>\n {steps[validatedStep]}\n </div>\n </div>\n </FormStepperContext.Provider>\n );\n};\n\nFormStepper.displayName = 'FormStepper';\n","import type { FormStepProps } from './FormStep.types';\n\n/**\n * FormStep component - represents a single step in a FormStepper.\n * This is a passive component that only provides structure.\n * Visibility and state management is handled by FormStepper.\n */\nexport const FormStep: React.FC<FormStepProps> = ({ children }) => {\n return <div role=\"tabpanel\">{children}</div>;\n};\n\nFormStep.displayName = 'FormStep';\n"],"names":["r","t","o","s","e","f","c","i","n","getDotPath","issue","dotPath","item","key","a","u","l","createFieldComponent","form","props","name","component","render","label","type","placeholder","helperText","disabled","options","className","cn","styles","jsx","Controller","field","fieldState","Fragment","commonProps","Textarea","Checkbox","checked","Switch","Select","Input","FormComponent","schema","onSubmit","defaultValues","mode","resetOnSubmit","children","ref","getDefaultValues","defaults","shape","getDefaultValueForField","def","innerType","typeName","nextType","useForm","standardSchemaResolver","Field","useMemo","useImperativeHandle","handleSubmit","data","FormWithRef","forwardRef","Form","FormActions","align","alignmentClass","FormMessage","onDismiss","typeClass","jsxs","FormStepperContext","createContext","useFormStep","context","useContext","isFormStepElement","value","element","FormStepper","currentStep","onStepChange","showProgress","stepContentRef","useRef","liveRegionRef","steps","Children","totalSteps","validatedStep","contextValue","step","newStep","stepInfo","useEffect","title","description","announcement","handleTabKeyDown","useCallback","event","currentIndex","index","status","FormStep"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"form.js","sources":["../node_modules/@hookform/resolvers/dist/resolvers.mjs","../node_modules/@standard-schema/utils/dist/index.js","../node_modules/@hookform/resolvers/standard-schema/dist/standard-schema.mjs","../src/components/Form/createFieldComponent.tsx","../src/components/Form/Form.tsx","../src/components/Form/FormActions.tsx","../src/components/Form/FormMessage.tsx","../src/components/Form/hooks/useFormStep.tsx","../src/components/Form/FormStepper.tsx","../src/components/Form/FormStep.tsx"],"sourcesContent":["import{get as e,set as t}from\"react-hook-form\";const r=(t,r,o)=>{if(t&&\"reportValidity\"in t){const s=e(o,r);t.setCustomValidity(s&&s.message||\"\"),t.reportValidity()}},o=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&\"reportValidity\"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e))}},s=(r,s)=>{s.shouldUseNativeValidation&&o(r,s);const n={};for(const o in r){const f=e(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},e(n,o));t(r,\"root\",c),t(n,o,r)}else t(n,o,c)}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\\\.\\\\d+`))};function n(e){return e.replace(/\\]|\\[/g,\"\")}export{s as toNestErrors,o as validateFieldsNatively};\n//# sourceMappingURL=resolvers.mjs.map\n","// src/getDotPath/getDotPath.ts\nfunction getDotPath(issue) {\n if (issue.path?.length) {\n let dotPath = \"\";\n for (const item of issue.path) {\n const key = typeof item === \"object\" ? item.key : item;\n if (typeof key === \"string\" || typeof key === \"number\") {\n if (dotPath) {\n dotPath += `.${key}`;\n } else {\n dotPath += key;\n }\n } else {\n return null;\n }\n }\n return dotPath;\n }\n return null;\n}\n\n// src/SchemaError/SchemaError.ts\nvar SchemaError = class extends Error {\n /**\n * The schema issues.\n */\n issues;\n /**\n * Creates a schema error with useful information.\n *\n * @param issues The schema issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"SchemaError\";\n this.issues = issues;\n }\n};\nexport {\n SchemaError,\n getDotPath\n};\n","import{toNestErrors as e,validateFieldsNatively as r}from\"@hookform/resolvers\";import{getDotPath as t}from\"@standard-schema/utils\";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(null,arguments)}function s(s,a,i){return void 0===i&&(i={}),function(a,o,u){try{var l=function(){if(c.issues){var s=function(e,r){for(var s={},a=0;a<e.length;a++){var i=e[a],o=t(i);if(o&&(s[o]||(s[o]={message:i.message,type:\"\"}),r)){var u,l=s[o].types||{};s[o].types=n({},l,((u={})[Object.keys(l).length]=i.message,u))}}return s}(c.issues,!u.shouldUseNativeValidation&&\"all\"===u.criteriaMode);return{values:{},errors:e(s,u)}}return u.shouldUseNativeValidation&&r({},u),{values:i.raw?Object.assign({},a):c.value,errors:{}}},c=s[\"~standard\"].validate(a),f=function(){if(c instanceof Promise)return Promise.resolve(c).then(function(e){c=e})}();return Promise.resolve(f&&f.then?f.then(l):l())}catch(e){return Promise.reject(e)}}}export{s as standardSchemaResolver};\n//# sourceMappingURL=standard-schema.module.js.map\n","import type { UseFormReturn, Path } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\nimport type { z } from 'zod';\nimport type { FieldProps, FieldComponent } from './Form.types';\nimport { Input } from '../Input';\nimport { Textarea } from '../Textarea';\nimport { Checkbox } from '../Checkbox';\nimport { Select } from '../Select';\nimport { Switch } from '../Switch';\nimport { cn } from '@/utils/classnames';\nimport styles from './Form.module.css';\n\n/**\n * Creates a Field component bound to a specific form instance\n * This preserves the generic schema type through closure\n */\nexport function createFieldComponent<TSchema extends z.ZodObject<z.ZodRawShape>>(\n form: UseFormReturn<z.input<TSchema>, unknown, z.output<TSchema>>\n): FieldComponent<TSchema> {\n type FieldName = Path<z.input<TSchema>>;\n\n return function Field<TName extends FieldName>(\n props: FieldProps<TSchema, TName>\n ): React.ReactElement {\n const {\n name,\n component = 'input',\n render,\n label,\n type,\n placeholder,\n helperText,\n disabled,\n options,\n className,\n } = props;\n\n return (\n <div className={cn(styles.fieldGroup, className)}>\n <Controller\n name={name}\n control={form.control}\n render={({ field, fieldState }) => {\n // Custom render prop takes precedence\n if (render) {\n // Fragment ensures ReactElement type (Controller requires ReactElement, not ReactNode)\n return <>{render({ field, error: fieldState.error })}</>;\n }\n\n // Common props for all field types\n const commonProps = {\n label,\n error: fieldState.error?.message,\n helperText,\n disabled,\n };\n\n // Render standard component based on type\n // Note: field.value uses PathValueImpl generic type which TypeScript\n // cannot narrow to specific component value types. Type assertions\n // are necessary here as this is a controlled type transformation.\n switch (component) {\n case 'textarea':\n return (\n <Textarea\n name={field.name}\n value={(field.value as string) || ''}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n placeholder={placeholder}\n />\n );\n\n case 'checkbox':\n return (\n <Checkbox\n name={field.name}\n checked={Boolean(field.value)}\n onChange={(checked: boolean) => field.onChange(checked)}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n />\n );\n\n case 'switch':\n return (\n <Switch\n name={field.name}\n checked={Boolean(field.value)}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n />\n );\n\n case 'select':\n return (\n <Select\n name={field.name}\n value={(field.value as string) || ''}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n options={options || []}\n />\n );\n\n default:\n return (\n <Input\n name={field.name}\n value={(field.value as string) || ''}\n onChange={field.onChange}\n onBlur={field.onBlur}\n ref={field.ref}\n {...commonProps}\n type={type}\n placeholder={placeholder}\n />\n );\n }\n }}\n />\n </div>\n );\n };\n}\n","/* eslint-disable react-refresh/only-export-components -- compound component pattern using Object.assign */\nimport { forwardRef, useImperativeHandle, useMemo } from 'react';\nimport type { DefaultValues } from 'react-hook-form';\nimport { useForm } from 'react-hook-form';\nimport { standardSchemaResolver } from '@hookform/resolvers/standard-schema';\nimport type { z } from 'zod';\nimport { cn } from '@/utils/classnames';\nimport type { FormProps, FormHandle } from './Form.types';\nimport { createFieldComponent } from './createFieldComponent';\nimport styles from './Form.module.css';\n\nfunction FormComponent<TSchema extends z.ZodObject<z.ZodRawShape>>(\n {\n schema,\n onSubmit,\n defaultValues,\n mode = 'onSubmit',\n resetOnSubmit = false,\n className,\n children,\n ...props\n }: FormProps<TSchema>,\n ref: React.ForwardedRef<FormHandle<TSchema>>\n) {\n type FormInput = z.input<TSchema>;\n type FormOutput = z.output<TSchema>;\n\n // Extract field names from schema and create type-appropriate defaults\n const getDefaultValues = (): DefaultValues<FormInput> => {\n if (defaultValues) {\n return defaultValues as DefaultValues<FormInput>;\n }\n\n // Generate type-appropriate default values for schema fields\n const defaults: Record<string, unknown> = {};\n const shape = schema.shape;\n\n Object.keys(shape).forEach(key => {\n const field = shape[key] as z.ZodTypeAny;\n defaults[key] = getDefaultValueForField(field);\n });\n\n return defaults as DefaultValues<FormInput>;\n };\n\n // Helper to determine appropriate default value based on Zod field type\n const getDefaultValueForField = (field: z.ZodTypeAny): unknown => {\n // Type guard for accessing Zod internals\n type ZodInternalDef = {\n typeName?: string;\n innerType?: z.ZodTypeAny;\n schema?: z.ZodTypeAny;\n };\n\n // Access internal type definition (Zod internals are not part of public API)\n const def = (field as unknown as { _def: ZodInternalDef })._def;\n\n // Unwrap optional/nullable/default schemas to get the inner type\n let innerType = field as unknown as { _def: ZodInternalDef };\n let typeName = def.typeName;\n\n while (typeName === 'ZodOptional' ||\n typeName === 'ZodNullable' ||\n typeName === 'ZodDefault') {\n const nextType = innerType._def.innerType || innerType._def.schema;\n if (!nextType) {\n break;\n }\n innerType = nextType as unknown as { _def: ZodInternalDef };\n typeName = innerType._def.typeName;\n }\n\n // Return undefined for optional/nullable fields\n if (def.typeName === 'ZodOptional' || def.typeName === 'ZodNullable') {\n return undefined;\n }\n\n // Return type-specific defaults based on the inner type\n const innerTypeName = innerType._def.typeName;\n switch (innerTypeName) {\n case 'ZodString':\n return '';\n case 'ZodNumber':\n return 0;\n case 'ZodBoolean':\n return false;\n case 'ZodArray':\n return [];\n case 'ZodObject':\n return {};\n case 'ZodDate':\n return new Date();\n default:\n // For unknown types, default to undefined\n return undefined;\n }\n };\n\n // Create react-hook-form instance\n const form = useForm<FormInput, unknown, FormOutput>({\n resolver: standardSchemaResolver(schema),\n defaultValues: getDefaultValues(),\n mode,\n });\n\n // Create Field component bound to this form instance\n // Memoized to maintain referential equality\n const Field = useMemo(\n () => createFieldComponent<TSchema>(form),\n [form]\n );\n\n // Expose imperative handle for ref-based control\n useImperativeHandle(\n ref,\n () => ({\n reset: form.reset,\n setError: form.setError,\n clearErrors: form.clearErrors,\n trigger: form.trigger,\n getValues: form.getValues,\n setValue: form.setValue,\n }),\n [form]\n );\n\n // Handle form submission\n const handleSubmit = async (data: FormOutput) => {\n await onSubmit(data);\n if (resetOnSubmit) {\n form.reset();\n }\n };\n\n return (\n <form\n onSubmit={(e) => {\n void form.handleSubmit(handleSubmit)(e);\n }}\n className={cn(styles.form, className)}\n noValidate\n {...props}\n >\n {children({ Field, ...form })}\n </form>\n );\n}\n\nconst FormWithRef = forwardRef(FormComponent) as <\n TSchema extends z.ZodObject<z.ZodRawShape>\n>(\n props: FormProps<TSchema> & {\n ref?: React.ForwardedRef<FormHandle<TSchema>>;\n }\n) => React.ReactElement;\n\nexport const Form = Object.assign(FormWithRef, { displayName: 'Form' });\n","import { cn } from '@/utils/classnames';\nimport type { FormActionsProps } from './FormActions.types';\nimport styles from './Form.module.css';\n\nexport const FormActions: React.FC<FormActionsProps> = ({\n align = 'right',\n children,\n className,\n}) => {\n const alignmentClass = {\n left: styles.formActionsLeft,\n right: styles.formActionsRight,\n center: styles.formActionsCenter,\n 'space-between': styles.formActionsSpaceBetween,\n }[align];\n\n return (\n <div className={cn(styles.formActions, alignmentClass, className)}>\n {children}\n </div>\n );\n};\n\nFormActions.displayName = 'FormActions';\n","import { cn } from '@/utils/classnames';\nimport type { FormMessageProps } from './FormMessage.types';\nimport styles from './Form.module.css';\n\nexport const FormMessage: React.FC<FormMessageProps> = ({\n type,\n children,\n onDismiss,\n className,\n}) => {\n const typeClass = {\n success: styles.formMessageSuccess,\n error: styles.formMessageError,\n warning: styles.formMessageWarning,\n info: styles.formMessageInfo,\n }[type];\n\n return (\n <div\n className={cn(styles.formMessage, typeClass, className)}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <div>{children}</div>\n {onDismiss && (\n <button\n type=\"button\"\n onClick={onDismiss}\n aria-label=\"Dismiss message\"\n style={{ marginLeft: 'auto', background: 'none', border: 'none', cursor: 'pointer' }}\n >\n ×\n </button>\n )}\n </div>\n );\n};\n\nFormMessage.displayName = 'FormMessage';\n","import { createContext, useContext } from 'react';\nimport type { FormStepperContextValue } from '../FormStepper.types';\n\nexport const FormStepperContext = createContext<FormStepperContextValue | undefined>(undefined);\n\nexport const useFormStep = () => {\n const context = useContext(FormStepperContext);\n if (!context) {\n throw new Error('useFormStep must be used within a FormStepper');\n }\n return context;\n};\n","import { Children, useMemo, useCallback, useRef, useEffect } from 'react';\nimport { cn } from '@/utils/classnames';\nimport type { FormStepperProps } from './FormStepper.types';\nimport type { FormStepProps } from './FormStep.types';\nimport { FormStepperContext } from './hooks/useFormStep';\nimport styles from './FormStepper.module.css';\n\n/**\n * Type guard to check if a React child is a FormStep element with typed props\n */\nfunction isFormStepElement(\n value: unknown\n): value is React.ReactElement<FormStepProps> {\n if (\n typeof value !== 'object' ||\n value === null ||\n !('type' in value) ||\n !('props' in value)\n ) {\n return false;\n }\n\n const element = value as React.ReactElement;\n return (\n typeof element.type === 'function' &&\n 'name' in element.type &&\n element.type.name === 'FormStep' &&\n typeof (element as React.ReactElement<FormStepProps>).props.title === 'string'\n );\n}\n\n/**\n * FormStepper - Multi-step form container with progress tracking.\n *\n * Provides context-based state management for building wizard-style forms.\n * Manages step navigation, progress indication, and accessibility features.\n */\nexport const FormStepper: React.FC<FormStepperProps> = ({\n currentStep,\n onStepChange,\n showProgress = true,\n children,\n className,\n}) => {\n const stepContentRef = useRef<HTMLDivElement>(null);\n const liveRegionRef = useRef<HTMLDivElement>(null);\n\n // Extract step information from children\n const steps = useMemo(() => {\n return Children.toArray(children).filter(isFormStepElement);\n }, [children]);\n\n const totalSteps = steps.length;\n\n // Validate currentStep\n const validatedStep = Math.max(0, Math.min(currentStep, totalSteps - 1));\n\n // Context value\n const contextValue = useMemo(\n () => ({\n currentStep: validatedStep,\n totalSteps,\n goToStep: (step: number) => {\n const newStep = Math.max(0, Math.min(step, totalSteps - 1));\n if (newStep !== validatedStep) {\n onStepChange(newStep);\n }\n },\n nextStep: () => {\n if (validatedStep < totalSteps - 1) {\n onStepChange(validatedStep + 1);\n }\n },\n prevStep: () => {\n if (validatedStep > 0) {\n onStepChange(validatedStep - 1);\n }\n },\n isFirstStep: validatedStep === 0,\n isLastStep: validatedStep === totalSteps - 1,\n }),\n [validatedStep, totalSteps, onStepChange]\n );\n\n // Get step information from children props\n const stepInfo = useMemo(() => {\n return steps.map((step) => ({\n title: step.props.title,\n description: step.props.description || '',\n }));\n }, [steps]);\n\n // Announce step change to screen readers\n useEffect(() => {\n if (liveRegionRef.current && stepInfo[validatedStep]) {\n const { title, description } = stepInfo[validatedStep];\n const announcement = `Step ${validatedStep + 1} of ${totalSteps}: ${title}${\n description ? `. ${description}` : ''\n }`;\n liveRegionRef.current.textContent = announcement;\n }\n }, [validatedStep, totalSteps, stepInfo]);\n\n // Handle keyboard navigation on individual tab buttons\n const handleTabKeyDown = useCallback(\n (event: React.KeyboardEvent, currentIndex: number) => {\n if (event.key === 'ArrowLeft' && currentIndex > 0) {\n event.preventDefault();\n contextValue.goToStep(currentIndex - 1);\n } else if (event.key === 'ArrowRight' && currentIndex < totalSteps - 1) {\n event.preventDefault();\n contextValue.goToStep(currentIndex + 1);\n } else if (event.key === 'Home') {\n event.preventDefault();\n contextValue.goToStep(0);\n } else if (event.key === 'End') {\n event.preventDefault();\n contextValue.goToStep(totalSteps - 1);\n }\n },\n [totalSteps, contextValue]\n );\n\n return (\n <FormStepperContext.Provider value={contextValue}>\n <div className={cn(styles.stepper, className)}>\n {/* Screen reader announcements */}\n <div\n ref={liveRegionRef}\n className={styles.liveRegion}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n />\n\n {/* Progress indicator */}\n {showProgress && (\n <div\n className={styles.progressContainer}\n role=\"tablist\"\n aria-label=\"Form steps\"\n >\n {stepInfo.map((step, index) => {\n const status =\n index < validatedStep\n ? 'completed'\n : index === validatedStep\n ? 'current'\n : 'pending';\n\n return (\n <button\n key={index}\n type=\"button\"\n role=\"tab\"\n aria-selected={index === validatedStep}\n aria-current={index === validatedStep ? 'step' : undefined}\n aria-label={`${step.title}${\n step.description ? `: ${step.description}` : ''\n }`}\n className={cn(\n styles.progressStep,\n styles[`progressStep--${status}`]\n )}\n onClick={() => contextValue.goToStep(index)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n tabIndex={index === validatedStep ? 0 : -1}\n >\n <span className={styles.progressStepNumber}>{index + 1}</span>\n <div className={styles.progressStepContent}>\n <span className={styles.progressStepTitle}>{step.title}</span>\n {step.description && (\n <span className={styles.progressStepDescription}>\n {step.description}\n </span>\n )}\n </div>\n </button>\n );\n })}\n </div>\n )}\n\n {/* Step content */}\n <div ref={stepContentRef} className={styles.stepContent}>\n {steps[validatedStep]}\n </div>\n </div>\n </FormStepperContext.Provider>\n );\n};\n\nFormStepper.displayName = 'FormStepper';\n","import type { FormStepProps } from './FormStep.types';\n\n/**\n * FormStep component - represents a single step in a FormStepper.\n * This is a passive component that only provides structure.\n * Visibility and state management is handled by FormStepper.\n */\nexport const FormStep: React.FC<FormStepProps> = ({ children }) => {\n return <div role=\"tabpanel\">{children}</div>;\n};\n\nFormStep.displayName = 'FormStep';\n"],"names":["r","t","o","s","e","f","c","i","n","getDotPath","issue","dotPath","item","key","a","u","l","createFieldComponent","form","props","name","component","render","label","type","placeholder","helperText","disabled","options","className","cn","styles","jsx","Controller","field","fieldState","Fragment","commonProps","Textarea","Checkbox","checked","Switch","Select","Input","FormComponent","schema","onSubmit","defaultValues","mode","resetOnSubmit","children","ref","getDefaultValues","defaults","shape","getDefaultValueForField","def","innerType","typeName","nextType","useForm","standardSchemaResolver","Field","useMemo","useImperativeHandle","handleSubmit","data","FormWithRef","forwardRef","Form","FormActions","align","alignmentClass","FormMessage","onDismiss","typeClass","jsxs","FormStepperContext","createContext","useFormStep","context","useContext","isFormStepElement","value","element","FormStepper","currentStep","onStepChange","showProgress","stepContentRef","useRef","liveRegionRef","steps","Children","totalSteps","validatedStep","contextValue","step","newStep","stepInfo","useEffect","title","description","announcement","handleTabKeyDown","useCallback","event","currentIndex","index","status","FormStep"],"mappings":"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","x_google_ignoreList":[0,1,2]}