@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","useFormFoundryField","jsxs","Field","Checkbox","normalizeOptions"],"mappings":"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","file":"index.js","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"]}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@allhailai/formfoundry-baseui",
3
+ "version": "1.2.0",
4
+ "description": "Base UI adapter for Form Foundry — accessible input wrappers using @base-ui/react",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/allhailai/form-foundry.git",
8
+ "directory": "packages/baseui"
9
+ },
10
+ "publishConfig": {
11
+ "registry": "https://registry.npmjs.org",
12
+ "access": "restricted"
13
+ },
14
+ "type": "module",
15
+ "main": "./dist/index.cjs",
16
+ "module": "./dist/index.js",
17
+ "types": "./dist/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "import": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ },
24
+ "require": {
25
+ "types": "./dist/index.d.cts",
26
+ "default": "./dist/index.cjs"
27
+ }
28
+ }
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ],
33
+ "peerDependencies": {
34
+ "@base-ui/react": ">=1.0.0-rc.0",
35
+ "react": ">=18.0.0",
36
+ "@allhailai/formfoundry-core": "1.2.0"
37
+ },
38
+ "devDependencies": {
39
+ "@allhailai/formfoundry-core": "1.2.0"
40
+ },
41
+ "license": "MIT",
42
+ "scripts": {
43
+ "build": "tsup && node ../../scripts/rewrite-imports.mjs",
44
+ "typecheck": "tsc --noEmit",
45
+ "dev": "tsup --watch"
46
+ }
47
+ }