@allhailai/formfoundry-baseui 1.2.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/inputs/Button.tsx","../src/inputs/Checkbox.tsx","../src/inputs/CheckboxGroup.tsx","../src/inputs/Color.tsx","../src/inputs/DateInput.tsx","../src/inputs/File.tsx","../src/inputs/Hidden.tsx","../src/inputs/Number.tsx","../src/inputs/Radio.tsx","../src/inputs/Select.tsx","../src/inputs/Slider.tsx","../src/inputs/Submit.tsx","../src/inputs/Switch.tsx","../src/inputs/Text.tsx","../src/inputs/Textarea.tsx","../src/inputs/index.ts","../src/adapter.ts"],"names":["jsx","field","useFormFoundryField","jsxs","Field","Checkbox","CheckboxGroup","NumberField","normalizeOptions","RadioGroup","Radio","Select","Slider","useFormMeta","Switch","Input","createRegistry"],"mappings":"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","file":"index.cjs","sourcesContent":["// ─── Button Input ──────────────────────────────────────────────────────────────\n// A non-submitting button for form actions. Uses no field hook — purely presentational.\n'use client'\n\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\n\nexport interface ButtonInputProps extends FormFoundryInputProps {\n /** Click handler */\n onClick?: () => void\n /** Button variant */\n variant?: 'button' | 'reset'\n}\n\nexport function ButtonInput({\n label,\n onClick,\n disabled,\n classNames,\n}: ButtonInputProps) {\n return (\n <div\n className={classNames?.outer}\n data-formfoundry=\"button\"\n >\n <button\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n className={classNames?.input}\n >\n {label ?? 'Button'}\n </button>\n </div>\n )\n}\n","// ─── Checkbox Input ────────────────────────────────────────────────────────────\n'use client'\n\nimport { Checkbox } from '@base-ui/react/checkbox'\nimport { Field } from '@base-ui/react/field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport function CheckboxInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n disabled,\n defaultValue,\n}: FormFoundryInputProps<boolean>) {\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue: defaultValue ?? false,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'checkbox',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"checkbox\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n <div className={classNames?.wrapper} style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <Checkbox.Root\n id={field.id}\n checked={!!field.value}\n onCheckedChange={(checked) => field.onChange(!!checked)}\n onBlur={field.onBlur as unknown as React.FocusEventHandler}\n className={classNames?.input}\n >\n <Checkbox.Indicator>✓</Checkbox.Indicator>\n </Checkbox.Root>\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n </div>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── CheckboxGroup Input ───────────────────────────────────────────────────────\n'use client'\n\nimport { Checkbox } from '@base-ui/react/checkbox'\nimport { CheckboxGroup } from '@base-ui/react/checkbox-group'\nimport { Field } from '@base-ui/react/field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\n\nexport interface CheckboxGroupInputProps extends FormFoundryInputProps<string[]> {\n options: Array<{ label: string; value: string }> | string[]\n}\n\nfunction normalizeOptions(\n options: Array<{ label: string; value: string }> | string[]\n): Array<{ label: string; value: string }> {\n return options.map((opt) =>\n typeof opt === 'string' ? { label: opt, value: opt } : opt\n )\n}\n\nexport function CheckboxGroupInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n options: rawOptions = [],\n disabled,\n defaultValue,\n}: CheckboxGroupInputProps) {\n const options = normalizeOptions(rawOptions)\n\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue: defaultValue ?? [],\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'checkboxgroup',\n selectOptions: options as Array<{ label: string; value: string | number }>,\n })\n\n const selectedValues = (field.value as string[]) ?? []\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"checkboxGroup\"\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <CheckboxGroup\n value={selectedValues}\n onValueChange={(val) => field.onChange(val)}\n className={classNames?.wrapper}\n >\n {options.map((opt) => (\n <label key={opt.value} style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <Checkbox.Root value={opt.value} className={classNames?.input}>\n <Checkbox.Indicator>✓</Checkbox.Indicator>\n </Checkbox.Root>\n <span>{opt.label}</span>\n </label>\n ))}\n </CheckboxGroup>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Color Input ───────────────────────────────────────────────────────────────\n// Native color picker input.\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField, type ValidationSpec } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport function ColorInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n disabled,\n defaultValue,\n}: FormFoundryInputProps<string>) {\n const field = useFormFoundryField({\n name,\n validation: validation as ValidationSpec,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue: defaultValue ?? '#000000',\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'color',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"color\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <div className={classNames?.wrapper}>\n <input\n id={field.id}\n type=\"color\"\n value={(field.value as string) ?? '#000000'}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n field.onChange(e.target.value)\n }\n onBlur={field.onBlur}\n className={classNames?.input}\n />\n </div>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Date Input ────────────────────────────────────────────────────────────────\n// Handles date, datetime-local, time, month, and week via the `type` prop.\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField, type ValidationSpec } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport interface DateInputProps extends FormFoundryInputProps<string> {\n type?: 'date' | 'datetime-local' | 'time' | 'month' | 'week'\n /** Minimum date/time value */\n min?: string\n /** Maximum date/time value */\n max?: string\n /** Step increment */\n step?: number | string\n}\n\nexport function DateInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n type = 'date',\n placeholder,\n disabled,\n defaultValue,\n min,\n max,\n step,\n}: DateInputProps) {\n const field = useFormFoundryField({\n name,\n validation: validation as ValidationSpec,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: type ?? 'date',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry={type}\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n data-dirty={field.dirty || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <div className={classNames?.wrapper}>\n <input\n id={field.id}\n type={type}\n value={(field.value as string) ?? ''}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n field.onChange(e.target.value)\n }\n onBlur={field.onBlur}\n placeholder={placeholder}\n min={min}\n max={max}\n step={step}\n className={classNames?.input}\n />\n </div>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── File Input ────────────────────────────────────────────────────────────────\n// File upload input. Value is a FileList or null.\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField, type ValidationSpec } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport interface FileInputProps extends FormFoundryInputProps<FileList | null> {\n /** Accepted file types (e.g., '.pdf,.docx' or 'image/*') */\n accept?: string\n /** Allow multiple files */\n multiple?: boolean\n}\n\nexport function FileInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n disabled,\n defaultValue,\n accept,\n multiple,\n}: FileInputProps) {\n const field = useFormFoundryField({\n name,\n validation: validation as ValidationSpec,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'file',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"file\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <div className={classNames?.wrapper}>\n <input\n id={field.id}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n field.onChange(e.target.files)\n }\n onBlur={field.onBlur}\n className={classNames?.input}\n />\n </div>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Hidden Input ──────────────────────────────────────────────────────────────\n// A hidden field that participates in form values but renders nothing visible.\n'use client'\n\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField, type ValidationSpec } from '@allhailai/formfoundry-core'\n\nexport function HiddenInput({\n name,\n validation,\n defaultValue,\n}: FormFoundryInputProps) {\n const field = useFormFoundryField({\n name,\n validation: validation as ValidationSpec,\n defaultValue,\n inputType: 'hidden',\n })\n\n return (\n <input\n type=\"hidden\"\n id={field.id}\n name={name}\n value={(field.value as string) ?? ''}\n />\n )\n}\n","// ─── Number Input ──────────────────────────────────────────────────────────────\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport { NumberField } from '@base-ui/react/number-field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\n\nexport interface NumberInputProps extends FormFoundryInputProps<number> {\n min?: number\n max?: number\n step?: number\n}\n\nexport function NumberInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n min,\n max,\n step,\n placeholder,\n disabled,\n defaultValue,\n}: NumberInputProps) {\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'number',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"number\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <NumberField.Root\n value={field.value as number | null}\n onValueChange={(val) => field.onChange(val)}\n min={min}\n max={max}\n step={step}\n >\n <NumberField.Group className={classNames?.wrapper}>\n <NumberField.Decrement>−</NumberField.Decrement>\n <NumberField.Input\n id={field.id}\n onBlur={field.onBlur}\n placeholder={placeholder}\n className={classNames?.input}\n\n />\n <NumberField.Increment>+</NumberField.Increment>\n </NumberField.Group>\n </NumberField.Root>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Radio Input ───────────────────────────────────────────────────────────────\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport { Radio } from '@base-ui/react/radio'\nimport { RadioGroup } from '@base-ui/react/radio-group'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport interface RadioInputProps extends FormFoundryInputProps<string | number> {\n options: Array<{ label: string; value: string | number }> | string[]\n}\n\nfunction normalizeOptions(\n options: Array<{ label: string; value: string | number }> | string[]\n): Array<{ label: string; value: string | number }> {\n return options.map((opt) =>\n typeof opt === 'string' ? { label: opt, value: opt } : opt\n )\n}\n\nexport function RadioInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n options: rawOptions = [],\n disabled,\n defaultValue,\n}: RadioInputProps) {\n const options = normalizeOptions(rawOptions)\n\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'radio',\n selectOptions: options,\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"radio\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <RadioGroup\n value={field.value as string}\n onValueChange={(val) => field.onChange(val)}\n className={classNames?.wrapper}\n >\n {options.map((opt) => (\n <label\n key={opt.value}\n style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}\n >\n <Radio.Root\n value={opt.value}\n onBlur={field.onBlur as unknown as React.FocusEventHandler}\n className={classNames?.input}\n >\n <Radio.Indicator />\n </Radio.Root>\n <span>{opt.label}</span>\n </label>\n ))}\n </RadioGroup>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Select Input ──────────────────────────────────────────────────────────────\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport { Select } from '@base-ui/react/select'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\n\nexport type SelectOption = { label: string; value: string | number }\n\nexport interface SelectInputProps extends FormFoundryInputProps<string | number> {\n options: SelectOption[] | string[]\n}\n\nfunction normalizeOptions(\n options: SelectOption[] | string[]\n): SelectOption[] {\n return options.map((opt) =>\n typeof opt === 'string' ? { label: opt, value: opt } : opt\n )\n}\n\nexport function SelectInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n options: rawOptions = [],\n placeholder,\n disabled,\n defaultValue,\n}: SelectInputProps) {\n const options = normalizeOptions(rawOptions)\n\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'select',\n selectOptions: options,\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"select\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <Select.Root\n value={String(field.value ?? '')}\n onValueChange={(val) => field.onChange(val)}\n >\n <Select.Trigger\n id={field.id}\n onBlur={field.onBlur}\n className={classNames?.input}\n >\n <Select.Value placeholder={placeholder ?? 'Select...'} />\n </Select.Trigger>\n <Select.Portal>\n <Select.Positioner>\n <Select.Popup className={classNames?.wrapper}>\n {options.map((opt) => (\n <Select.Item key={opt.value} value={opt.value}>\n <Select.ItemText>{opt.label}</Select.ItemText>\n <Select.ItemIndicator>✓</Select.ItemIndicator>\n </Select.Item>\n ))}\n </Select.Popup>\n </Select.Positioner>\n </Select.Portal>\n </Select.Root>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Slider Input ──────────────────────────────────────────────────────────────\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport { Slider } from '@base-ui/react/slider'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\n\nexport interface SliderInputProps extends FormFoundryInputProps<number> {\n min?: number\n max?: number\n step?: number\n}\n\nexport function SliderInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n min = 0,\n max = 100,\n step = 1,\n disabled,\n defaultValue,\n}: SliderInputProps) {\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue: defaultValue ?? min,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'slider',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"slider\"\n data-touched={field.touched || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>\n {label} {field.value !== undefined && <span>({String(field.value)})</span>}\n </Field.Label>\n )}\n <Slider.Root\n value={(field.value as number) ?? min}\n onValueChange={(val) => field.onChange(val)}\n onValueCommitted={() => field.onBlur()}\n min={min}\n max={max}\n step={step}\n className={classNames?.wrapper}\n >\n <Slider.Control>\n <Slider.Track className={classNames?.input}>\n <Slider.Indicator />\n <Slider.Thumb id={field.id} />\n </Slider.Track>\n </Slider.Control>\n </Slider.Root>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Submit Input ──────────────────────────────────────────────────────────────\n// A form submit button. Reads isSubmitting from context to show loading state.\n'use client'\n\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormMeta } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport interface SubmitInputProps extends FormFoundryInputProps {\n /** Text to show while submitting */\n submittingLabel?: React.ReactNode\n}\n\nexport function SubmitInput({\n label,\n submittingLabel,\n disabled,\n classNames,\n}: SubmitInputProps) {\n const meta = useFormMeta()\n\n return (\n <div\n className={classNames?.outer}\n data-formfoundry=\"submit\"\n >\n <button\n type=\"submit\"\n disabled={disabled || meta.isSubmitting}\n className={classNames?.input}\n >\n {meta.isSubmitting\n ? (submittingLabel ?? 'Submitting…')\n : (label ?? 'Submit')}\n </button>\n </div>\n )\n}\n","// ─── Switch Input ──────────────────────────────────────────────────────────────\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport { Switch } from '@base-ui/react/switch'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport function SwitchInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n disabled,\n defaultValue,\n}: FormFoundryInputProps<boolean>) {\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue: defaultValue ?? false,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'switch',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"switch\"\n data-touched={field.touched || undefined}\n >\n <div className={classNames?.wrapper} style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <Switch.Root\n id={field.id}\n checked={!!field.value}\n onCheckedChange={(checked) => field.onChange(checked)}\n onBlur={field.onBlur as unknown as React.FocusEventHandler}\n className={classNames?.input}\n >\n <Switch.Thumb />\n </Switch.Root>\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n </div>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Text Input ────────────────────────────────────────────────────────────────\n// Handles text, email, password, url, tel via the `type` prop.\n// Composes useFormFoundryField with Base UI Field primitives.\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport { Input } from '@base-ui/react/input'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport interface TextInputProps extends FormFoundryInputProps<string> {\n type?: 'text' | 'email' | 'password' | 'url' | 'tel'\n}\n\nexport function TextInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n type = 'text',\n placeholder,\n disabled,\n defaultValue,\n}: TextInputProps) {\n const field = useFormFoundryField({\n name,\n validation: validation as import('@allhailai/formfoundry-core').ValidationSpec,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: type ?? 'text',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"text\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n data-dirty={field.dirty || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <div className={classNames?.wrapper}>\n <Input\n id={field.id}\n type={type}\n value={(field.value as string) ?? ''}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n field.onChange(e.target.value)\n }\n onBlur={field.onBlur}\n placeholder={placeholder}\n className={classNames?.input}\n />\n </div>\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Textarea Input ────────────────────────────────────────────────────────────\n'use client'\n\nimport { Field } from '@base-ui/react/field'\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { useFormFoundryField } from '@allhailai/formfoundry-core'\nimport React from 'react'\n\nexport interface TextareaInputProps extends FormFoundryInputProps<string> {\n rows?: number\n cols?: number\n}\n\nexport function TextareaInput({\n name,\n label,\n help,\n validation,\n validationBehavior,\n classNames,\n placeholder,\n disabled,\n defaultValue,\n rows = 3,\n cols,\n}: TextareaInputProps) {\n const field = useFormFoundryField({\n name,\n validation,\n validationBehavior: validationBehavior as 'blur' | 'live' | 'submit' | 'dirty' | undefined,\n defaultValue,\n disabled,\n label: typeof label === 'string' ? label : undefined,\n inputType: 'textarea',\n })\n\n return (\n <Field.Root\n name={name}\n invalid={!field.valid && field.touched}\n disabled={disabled}\n className={classNames?.outer}\n data-formfoundry=\"textarea\"\n data-touched={field.touched || undefined}\n data-invalid={(!field.valid && field.touched) || undefined}\n >\n {label && (\n <Field.Label className={classNames?.label}>{label}</Field.Label>\n )}\n <Field.Control\n render={\n <textarea\n id={field.id}\n value={(field.value as string) ?? ''}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) =>\n field.onChange(e.target.value)\n }\n onBlur={field.onBlur}\n placeholder={placeholder}\n rows={rows}\n cols={cols}\n className={classNames?.input}\n\n />\n }\n />\n {help && (\n <Field.Description className={classNames?.help}>\n {help}\n </Field.Description>\n )}\n {field.error && (\n <Field.Error className={classNames?.message}>\n {field.error}\n </Field.Error>\n )}\n </Field.Root>\n )\n}\n","// ─── Base UI Input Registry ────────────────────────────────────────────────────\n// Factory that creates a registry pre-populated with all Base UI adapter inputs.\n'use client'\n\nimport type { FormFoundryInputProps } from '@allhailai/formfoundry-core'\nimport { createRegistry, type InputRegistry } from '@allhailai/formfoundry-core'\n\nimport { ButtonInput } from './Button'\nimport { CheckboxInput } from './Checkbox'\nimport { CheckboxGroupInput } from './CheckboxGroup'\nimport { ColorInput } from './Color'\nimport { DateInput } from './DateInput'\nimport { FileInput } from './File'\nimport { HiddenInput } from './Hidden'\nimport { NumberInput } from './Number'\nimport { RadioInput } from './Radio'\nimport { SelectInput } from './Select'\nimport { SliderInput } from './Slider'\nimport { SubmitInput } from './Submit'\nimport { SwitchInput } from './Switch'\nimport { TextInput } from './Text'\nimport { TextareaInput } from './Textarea'\n\n/**\n * Create a registry pre-populated with all Base UI adapter inputs.\n *\n * | Type Key | Component |\n * |------------------|--------------------|\n * | `text` | TextInput |\n * | `email` | TextInput (type=email) |\n * | `password` | TextInput (type=password) |\n * | `url` | TextInput (type=url) |\n * | `tel` | TextInput (type=tel) |\n * | `number` | NumberInput |\n * | `textarea` | TextareaInput |\n * | `select` | SelectInput |\n * | `checkbox` | CheckboxInput |\n * | `checkboxGroup` | CheckboxGroupInput |\n * | `switch` | SwitchInput |\n * | `radio` | RadioInput |\n * | `slider` | SliderInput |\n * | `button` | ButtonInput |\n * | `submit` | SubmitInput |\n * | `hidden` | HiddenInput |\n * | `file` | FileInput |\n * | `color` | ColorInput |\n * | `date` | DateInput |\n * | `datetime-local` | DateInput (type=datetime-local) |\n * | `time` | DateInput (type=time) |\n * | `month` | DateInput (type=month) |\n * | `week` | DateInput (type=week) |\n */\nexport function createBaseUIRegistry(): InputRegistry {\n return createRegistry({\n text: TextInput as unknown as React.ComponentType<FormFoundryInputProps>,\n email: TextInput as unknown as React.ComponentType<FormFoundryInputProps>,\n password: TextInput as unknown as React.ComponentType<FormFoundryInputProps>,\n url: TextInput as unknown as React.ComponentType<FormFoundryInputProps>,\n tel: TextInput as unknown as React.ComponentType<FormFoundryInputProps>,\n number: NumberInput as unknown as React.ComponentType<FormFoundryInputProps>,\n textarea: TextareaInput as unknown as React.ComponentType<FormFoundryInputProps>,\n select: SelectInput as unknown as React.ComponentType<FormFoundryInputProps>,\n checkbox: CheckboxInput as unknown as React.ComponentType<FormFoundryInputProps>,\n checkboxGroup: CheckboxGroupInput as unknown as React.ComponentType<FormFoundryInputProps>,\n switch: SwitchInput as unknown as React.ComponentType<FormFoundryInputProps>,\n radio: RadioInput as unknown as React.ComponentType<FormFoundryInputProps>,\n slider: SliderInput as unknown as React.ComponentType<FormFoundryInputProps>,\n button: ButtonInput as unknown as React.ComponentType<FormFoundryInputProps>,\n submit: SubmitInput as unknown as React.ComponentType<FormFoundryInputProps>,\n hidden: HiddenInput as unknown as React.ComponentType<FormFoundryInputProps>,\n file: FileInput as unknown as React.ComponentType<FormFoundryInputProps>,\n color: ColorInput as unknown as React.ComponentType<FormFoundryInputProps>,\n date: DateInput as unknown as React.ComponentType<FormFoundryInputProps>,\n 'datetime-local': DateInput as unknown as React.ComponentType<FormFoundryInputProps>,\n time: DateInput as unknown as React.ComponentType<FormFoundryInputProps>,\n month: DateInput as unknown as React.ComponentType<FormFoundryInputProps>,\n week: DateInput as unknown as React.ComponentType<FormFoundryInputProps>,\n })\n}\n\n// Re-export all inputs\nexport { ButtonInput } from './Button'\nexport { CheckboxInput } from './Checkbox'\nexport { CheckboxGroupInput } from './CheckboxGroup'\nexport { ColorInput } from './Color'\nexport { DateInput } from './DateInput'\nexport { FileInput } from './File'\nexport { HiddenInput } from './Hidden'\nexport { NumberInput } from './Number'\nexport { RadioInput } from './Radio'\nexport { SelectInput } from './Select'\nexport { SliderInput } from './Slider'\nexport { SubmitInput } from './Submit'\nexport { SwitchInput } from './Switch'\nexport { TextInput } from './Text'\nexport { TextareaInput } from './Textarea'\n\nimport React from 'react'\n\n","// ─── Base UI Adapter ───────────────────────────────────────────────────────────\n// FormFoundryAdapter implementation for Base UI.\n\nimport type { FormFoundryAdapter } from '@allhailai/formfoundry-core'\nimport { createBaseUIRegistry } from './inputs/index'\n\nexport const baseUIAdapter: FormFoundryAdapter = {\n name: 'baseui',\n createRegistry: createBaseUIRegistry,\n}\n"]}
@@ -0,0 +1,129 @@
1
+ import { FormFoundryAdapter, FormFoundryInputProps, InputRegistry } from '@allhailai/formfoundry-core';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import React from 'react';
4
+
5
+ declare const baseUIAdapter: FormFoundryAdapter;
6
+
7
+ interface ButtonInputProps extends FormFoundryInputProps {
8
+ /** Click handler */
9
+ onClick?: () => void;
10
+ /** Button variant */
11
+ variant?: 'button' | 'reset';
12
+ }
13
+ declare function ButtonInput({ label, onClick, disabled, classNames, }: ButtonInputProps): react_jsx_runtime.JSX.Element;
14
+
15
+ declare function CheckboxInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, }: FormFoundryInputProps<boolean>): react_jsx_runtime.JSX.Element;
16
+
17
+ interface CheckboxGroupInputProps extends FormFoundryInputProps<string[]> {
18
+ options: Array<{
19
+ label: string;
20
+ value: string;
21
+ }> | string[];
22
+ }
23
+ declare function CheckboxGroupInput({ name, label, help, validation, validationBehavior, classNames, options: rawOptions, disabled, defaultValue, }: CheckboxGroupInputProps): react_jsx_runtime.JSX.Element;
24
+
25
+ declare function ColorInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, }: FormFoundryInputProps<string>): react_jsx_runtime.JSX.Element;
26
+
27
+ interface DateInputProps extends FormFoundryInputProps<string> {
28
+ type?: 'date' | 'datetime-local' | 'time' | 'month' | 'week';
29
+ /** Minimum date/time value */
30
+ min?: string;
31
+ /** Maximum date/time value */
32
+ max?: string;
33
+ /** Step increment */
34
+ step?: number | string;
35
+ }
36
+ declare function DateInput({ name, label, help, validation, validationBehavior, classNames, type, placeholder, disabled, defaultValue, min, max, step, }: DateInputProps): react_jsx_runtime.JSX.Element;
37
+
38
+ interface FileInputProps extends FormFoundryInputProps<FileList | null> {
39
+ /** Accepted file types (e.g., '.pdf,.docx' or 'image/*') */
40
+ accept?: string;
41
+ /** Allow multiple files */
42
+ multiple?: boolean;
43
+ }
44
+ declare function FileInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, accept, multiple, }: FileInputProps): react_jsx_runtime.JSX.Element;
45
+
46
+ declare function HiddenInput({ name, validation, defaultValue, }: FormFoundryInputProps): react_jsx_runtime.JSX.Element;
47
+
48
+ interface NumberInputProps extends FormFoundryInputProps<number> {
49
+ min?: number;
50
+ max?: number;
51
+ step?: number;
52
+ }
53
+ declare function NumberInput({ name, label, help, validation, validationBehavior, classNames, min, max, step, placeholder, disabled, defaultValue, }: NumberInputProps): react_jsx_runtime.JSX.Element;
54
+
55
+ interface RadioInputProps extends FormFoundryInputProps<string | number> {
56
+ options: Array<{
57
+ label: string;
58
+ value: string | number;
59
+ }> | string[];
60
+ }
61
+ declare function RadioInput({ name, label, help, validation, validationBehavior, classNames, options: rawOptions, disabled, defaultValue, }: RadioInputProps): react_jsx_runtime.JSX.Element;
62
+
63
+ type SelectOption = {
64
+ label: string;
65
+ value: string | number;
66
+ };
67
+ interface SelectInputProps extends FormFoundryInputProps<string | number> {
68
+ options: SelectOption[] | string[];
69
+ }
70
+ declare function SelectInput({ name, label, help, validation, validationBehavior, classNames, options: rawOptions, placeholder, disabled, defaultValue, }: SelectInputProps): react_jsx_runtime.JSX.Element;
71
+
72
+ interface SliderInputProps extends FormFoundryInputProps<number> {
73
+ min?: number;
74
+ max?: number;
75
+ step?: number;
76
+ }
77
+ declare function SliderInput({ name, label, help, validation, validationBehavior, classNames, min, max, step, disabled, defaultValue, }: SliderInputProps): react_jsx_runtime.JSX.Element;
78
+
79
+ interface SubmitInputProps extends FormFoundryInputProps {
80
+ /** Text to show while submitting */
81
+ submittingLabel?: React.ReactNode;
82
+ }
83
+ declare function SubmitInput({ label, submittingLabel, disabled, classNames, }: SubmitInputProps): react_jsx_runtime.JSX.Element;
84
+
85
+ declare function SwitchInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, }: FormFoundryInputProps<boolean>): react_jsx_runtime.JSX.Element;
86
+
87
+ interface TextInputProps extends FormFoundryInputProps<string> {
88
+ type?: 'text' | 'email' | 'password' | 'url' | 'tel';
89
+ }
90
+ declare function TextInput({ name, label, help, validation, validationBehavior, classNames, type, placeholder, disabled, defaultValue, }: TextInputProps): react_jsx_runtime.JSX.Element;
91
+
92
+ interface TextareaInputProps extends FormFoundryInputProps<string> {
93
+ rows?: number;
94
+ cols?: number;
95
+ }
96
+ declare function TextareaInput({ name, label, help, validation, validationBehavior, classNames, placeholder, disabled, defaultValue, rows, cols, }: TextareaInputProps): react_jsx_runtime.JSX.Element;
97
+
98
+ /**
99
+ * Create a registry pre-populated with all Base UI adapter inputs.
100
+ *
101
+ * | Type Key | Component |
102
+ * |------------------|--------------------|
103
+ * | `text` | TextInput |
104
+ * | `email` | TextInput (type=email) |
105
+ * | `password` | TextInput (type=password) |
106
+ * | `url` | TextInput (type=url) |
107
+ * | `tel` | TextInput (type=tel) |
108
+ * | `number` | NumberInput |
109
+ * | `textarea` | TextareaInput |
110
+ * | `select` | SelectInput |
111
+ * | `checkbox` | CheckboxInput |
112
+ * | `checkboxGroup` | CheckboxGroupInput |
113
+ * | `switch` | SwitchInput |
114
+ * | `radio` | RadioInput |
115
+ * | `slider` | SliderInput |
116
+ * | `button` | ButtonInput |
117
+ * | `submit` | SubmitInput |
118
+ * | `hidden` | HiddenInput |
119
+ * | `file` | FileInput |
120
+ * | `color` | ColorInput |
121
+ * | `date` | DateInput |
122
+ * | `datetime-local` | DateInput (type=datetime-local) |
123
+ * | `time` | DateInput (type=time) |
124
+ * | `month` | DateInput (type=month) |
125
+ * | `week` | DateInput (type=week) |
126
+ */
127
+ declare function createBaseUIRegistry(): InputRegistry;
128
+
129
+ export { ButtonInput, CheckboxGroupInput, type CheckboxGroupInputProps, CheckboxInput, ColorInput, DateInput, FileInput, HiddenInput, NumberInput, type NumberInputProps, RadioInput, type RadioInputProps, SelectInput, type SelectInputProps, type SelectOption, SliderInput, type SliderInputProps, SubmitInput, SwitchInput, TextInput, type TextInputProps, TextareaInput, type TextareaInputProps, baseUIAdapter, createBaseUIRegistry };
@@ -0,0 +1,129 @@
1
+ import { FormFoundryAdapter, FormFoundryInputProps, InputRegistry } from '@allhailai/formfoundry-core';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import React from 'react';
4
+
5
+ declare const baseUIAdapter: FormFoundryAdapter;
6
+
7
+ interface ButtonInputProps extends FormFoundryInputProps {
8
+ /** Click handler */
9
+ onClick?: () => void;
10
+ /** Button variant */
11
+ variant?: 'button' | 'reset';
12
+ }
13
+ declare function ButtonInput({ label, onClick, disabled, classNames, }: ButtonInputProps): react_jsx_runtime.JSX.Element;
14
+
15
+ declare function CheckboxInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, }: FormFoundryInputProps<boolean>): react_jsx_runtime.JSX.Element;
16
+
17
+ interface CheckboxGroupInputProps extends FormFoundryInputProps<string[]> {
18
+ options: Array<{
19
+ label: string;
20
+ value: string;
21
+ }> | string[];
22
+ }
23
+ declare function CheckboxGroupInput({ name, label, help, validation, validationBehavior, classNames, options: rawOptions, disabled, defaultValue, }: CheckboxGroupInputProps): react_jsx_runtime.JSX.Element;
24
+
25
+ declare function ColorInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, }: FormFoundryInputProps<string>): react_jsx_runtime.JSX.Element;
26
+
27
+ interface DateInputProps extends FormFoundryInputProps<string> {
28
+ type?: 'date' | 'datetime-local' | 'time' | 'month' | 'week';
29
+ /** Minimum date/time value */
30
+ min?: string;
31
+ /** Maximum date/time value */
32
+ max?: string;
33
+ /** Step increment */
34
+ step?: number | string;
35
+ }
36
+ declare function DateInput({ name, label, help, validation, validationBehavior, classNames, type, placeholder, disabled, defaultValue, min, max, step, }: DateInputProps): react_jsx_runtime.JSX.Element;
37
+
38
+ interface FileInputProps extends FormFoundryInputProps<FileList | null> {
39
+ /** Accepted file types (e.g., '.pdf,.docx' or 'image/*') */
40
+ accept?: string;
41
+ /** Allow multiple files */
42
+ multiple?: boolean;
43
+ }
44
+ declare function FileInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, accept, multiple, }: FileInputProps): react_jsx_runtime.JSX.Element;
45
+
46
+ declare function HiddenInput({ name, validation, defaultValue, }: FormFoundryInputProps): react_jsx_runtime.JSX.Element;
47
+
48
+ interface NumberInputProps extends FormFoundryInputProps<number> {
49
+ min?: number;
50
+ max?: number;
51
+ step?: number;
52
+ }
53
+ declare function NumberInput({ name, label, help, validation, validationBehavior, classNames, min, max, step, placeholder, disabled, defaultValue, }: NumberInputProps): react_jsx_runtime.JSX.Element;
54
+
55
+ interface RadioInputProps extends FormFoundryInputProps<string | number> {
56
+ options: Array<{
57
+ label: string;
58
+ value: string | number;
59
+ }> | string[];
60
+ }
61
+ declare function RadioInput({ name, label, help, validation, validationBehavior, classNames, options: rawOptions, disabled, defaultValue, }: RadioInputProps): react_jsx_runtime.JSX.Element;
62
+
63
+ type SelectOption = {
64
+ label: string;
65
+ value: string | number;
66
+ };
67
+ interface SelectInputProps extends FormFoundryInputProps<string | number> {
68
+ options: SelectOption[] | string[];
69
+ }
70
+ declare function SelectInput({ name, label, help, validation, validationBehavior, classNames, options: rawOptions, placeholder, disabled, defaultValue, }: SelectInputProps): react_jsx_runtime.JSX.Element;
71
+
72
+ interface SliderInputProps extends FormFoundryInputProps<number> {
73
+ min?: number;
74
+ max?: number;
75
+ step?: number;
76
+ }
77
+ declare function SliderInput({ name, label, help, validation, validationBehavior, classNames, min, max, step, disabled, defaultValue, }: SliderInputProps): react_jsx_runtime.JSX.Element;
78
+
79
+ interface SubmitInputProps extends FormFoundryInputProps {
80
+ /** Text to show while submitting */
81
+ submittingLabel?: React.ReactNode;
82
+ }
83
+ declare function SubmitInput({ label, submittingLabel, disabled, classNames, }: SubmitInputProps): react_jsx_runtime.JSX.Element;
84
+
85
+ declare function SwitchInput({ name, label, help, validation, validationBehavior, classNames, disabled, defaultValue, }: FormFoundryInputProps<boolean>): react_jsx_runtime.JSX.Element;
86
+
87
+ interface TextInputProps extends FormFoundryInputProps<string> {
88
+ type?: 'text' | 'email' | 'password' | 'url' | 'tel';
89
+ }
90
+ declare function TextInput({ name, label, help, validation, validationBehavior, classNames, type, placeholder, disabled, defaultValue, }: TextInputProps): react_jsx_runtime.JSX.Element;
91
+
92
+ interface TextareaInputProps extends FormFoundryInputProps<string> {
93
+ rows?: number;
94
+ cols?: number;
95
+ }
96
+ declare function TextareaInput({ name, label, help, validation, validationBehavior, classNames, placeholder, disabled, defaultValue, rows, cols, }: TextareaInputProps): react_jsx_runtime.JSX.Element;
97
+
98
+ /**
99
+ * Create a registry pre-populated with all Base UI adapter inputs.
100
+ *
101
+ * | Type Key | Component |
102
+ * |------------------|--------------------|
103
+ * | `text` | TextInput |
104
+ * | `email` | TextInput (type=email) |
105
+ * | `password` | TextInput (type=password) |
106
+ * | `url` | TextInput (type=url) |
107
+ * | `tel` | TextInput (type=tel) |
108
+ * | `number` | NumberInput |
109
+ * | `textarea` | TextareaInput |
110
+ * | `select` | SelectInput |
111
+ * | `checkbox` | CheckboxInput |
112
+ * | `checkboxGroup` | CheckboxGroupInput |
113
+ * | `switch` | SwitchInput |
114
+ * | `radio` | RadioInput |
115
+ * | `slider` | SliderInput |
116
+ * | `button` | ButtonInput |
117
+ * | `submit` | SubmitInput |
118
+ * | `hidden` | HiddenInput |
119
+ * | `file` | FileInput |
120
+ * | `color` | ColorInput |
121
+ * | `date` | DateInput |
122
+ * | `datetime-local` | DateInput (type=datetime-local) |
123
+ * | `time` | DateInput (type=time) |
124
+ * | `month` | DateInput (type=month) |
125
+ * | `week` | DateInput (type=week) |
126
+ */
127
+ declare function createBaseUIRegistry(): InputRegistry;
128
+
129
+ export { ButtonInput, CheckboxGroupInput, type CheckboxGroupInputProps, CheckboxInput, ColorInput, DateInput, FileInput, HiddenInput, NumberInput, type NumberInputProps, RadioInput, type RadioInputProps, SelectInput, type SelectInputProps, type SelectOption, SliderInput, type SliderInputProps, SubmitInput, SwitchInput, TextInput, type TextInputProps, TextareaInput, type TextareaInputProps, baseUIAdapter, createBaseUIRegistry };