@knkcs/anker 0.0.2 → 0.0.4
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.
- package/dist/atoms/index.d.ts +16 -3
- package/dist/atoms/index.js +89 -6
- package/dist/atoms/index.js.map +1 -1
- package/dist/chunk-5YDCDC4B.js +12 -0
- package/dist/chunk-5YDCDC4B.js.map +1 -0
- package/dist/{chunk-C4JI3JNA.js → chunk-6H4LQUMM.js} +4 -33
- package/dist/chunk-6H4LQUMM.js.map +1 -0
- package/dist/{chunk-PZCL4M6I.js → chunk-E7KRPPCQ.js} +5 -18
- package/dist/chunk-E7KRPPCQ.js.map +1 -0
- package/dist/{chunk-GJTQLZ4O.js → chunk-KVPN6T6J.js} +6 -28
- package/dist/chunk-KVPN6T6J.js.map +1 -0
- package/dist/chunk-OU6H3KU4.js +21 -0
- package/dist/chunk-OU6H3KU4.js.map +1 -0
- package/dist/chunk-SJ6YXNZW.js +30 -0
- package/dist/chunk-SJ6YXNZW.js.map +1 -0
- package/dist/chunk-SJIYWHIV.js +51 -0
- package/dist/chunk-SJIYWHIV.js.map +1 -0
- package/dist/chunk-WEP2AIQ5.js +37 -0
- package/dist/chunk-WEP2AIQ5.js.map +1 -0
- package/dist/chunk-WQIEF5N3.js +52 -0
- package/dist/chunk-WQIEF5N3.js.map +1 -0
- package/dist/{chunk-QU3FF5WI.js → chunk-ZFBDVERP.js} +4 -8
- package/dist/chunk-ZFBDVERP.js.map +1 -0
- package/dist/components/index.d.ts +171 -2
- package/dist/components/index.js +686 -11
- package/dist/components/index.js.map +1 -1
- package/dist/feedback/index.d.ts +20 -1
- package/dist/feedback/index.js +121 -4
- package/dist/feedback/index.js.map +1 -1
- package/dist/forms/index.d.ts +23 -15
- package/dist/forms/index.js +71 -47
- package/dist/forms/index.js.map +1 -1
- package/dist/primitives/index.d.ts +1 -1
- package/dist/primitives/index.js +9 -50
- package/dist/primitives/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-7UJ4QEUW.js +0 -37
- package/dist/chunk-7UJ4QEUW.js.map +0 -1
- package/dist/chunk-C4JI3JNA.js.map +0 -1
- package/dist/chunk-GJTQLZ4O.js.map +0 -1
- package/dist/chunk-PZCL4M6I.js.map +0 -1
- package/dist/chunk-QU3FF5WI.js.map +0 -1
- package/dist/chunk-RJPEVNMJ.js +0 -23
- package/dist/chunk-RJPEVNMJ.js.map +0 -1
package/dist/forms/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/forms/form-field.tsx","../../src/forms/array-field.tsx","../../src/forms/checkbox-field.tsx","../../src/forms/code-field.tsx","../../src/forms/color-picker-field.tsx","../../src/forms/controlled-form-field.tsx","../../src/forms/date-picker-field.tsx","../../src/forms/dirty-form-guard.tsx","../../src/forms/editable-heading.tsx","../../src/forms/file-field.tsx","../../src/forms/input-field.tsx","../../src/forms/markdown-field.tsx","../../src/forms/number-input-field.tsx","../../src/forms/radio-group-field.tsx","../../src/forms/select-field.tsx","../../src/forms/switch-field.tsx","../../src/forms/textarea-field.tsx"],"names":["jsx","useFormContext","jsxs","Text","Controller","Field","IconButton","useId","HStack","Input","ButtonGroup","Box","useCallback","Button","NumberInputField","ChakraRadioGroup","Stack"],"mappings":"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","file":"index.js","sourcesContent":["import { Field, HStack, Text } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { useId } from \"react\";\nimport {\n\tController,\n\ttype ControllerRenderProps,\n\ttype FieldValues,\n\ttype Path,\n\tuseFormContext,\n} from \"react-hook-form\";\n\nexport interface FormFieldProps<T extends FieldValues> {\n\tname: Path<T>;\n\tlabel?: React.ReactNode;\n\thelperText?: React.ReactNode;\n\t/** Persistent description that shows even when there's an error. */\n\tdescription?: React.ReactNode;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\treadOnly?: boolean;\n\tactions?: React.ReactNode;\n\tchildren: (\n\t\tfield: ControllerRenderProps<T, Path<T>> & {\n\t\t\t/** Computed aria-describedby linking to helper/description/error elements. */\n\t\t\t\"aria-describedby\"?: string;\n\t\t},\n\t) => React.ReactNode;\n}\n\nexport function FormField<T extends FieldValues>({\n\tname,\n\tlabel,\n\thelperText,\n\tdescription,\n\trequired,\n\tdisabled,\n\treadOnly,\n\tactions,\n\tchildren,\n}: FormFieldProps<T>) {\n\tconst { control } = useFormContext<T>();\n\tconst uid = useId();\n\tconst descriptionId = `${uid}-description`;\n\tconst helperId = `${uid}-helper`;\n\tconst errorId = `${uid}-error`;\n\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\tconst describedBy =\n\t\t\t\t\t[\n\t\t\t\t\t\tdescription ? descriptionId : null,\n\t\t\t\t\t\thelperText ? helperId : null,\n\t\t\t\t\t\tfieldState.error ? errorId : null,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \") || undefined;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Field.Root\n\t\t\t\t\t\tinvalid={!!fieldState.error}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label &&\n\t\t\t\t\t\t\t(typeof label === \"string\" ? (\n\t\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t\t<Field.Label flex=\"1\" htmlFor={name}>\n\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t</Field.Label>\n\t\t\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{children({ ...field, \"aria-describedby\": describedBy })}\n\t\t\t\t\t\t{description && (\n\t\t\t\t\t\t\t<Text id={descriptionId} fontSize=\"xs\" color=\"muted\">\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{helperText &&\n\t\t\t\t\t\t\t(typeof helperText === \"string\" ? (\n\t\t\t\t\t\t\t\t<Field.HelperText id={helperId}>{helperText}</Field.HelperText>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span id={helperId}>{helperText}</span>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{fieldState.error && (\n\t\t\t\t\t\t\t<Field.ErrorText id={errorId} aria-live=\"polite\">\n\t\t\t\t\t\t\t\t{fieldState.error.message}\n\t\t\t\t\t\t\t</Field.ErrorText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Field.Root>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n(FormField as { displayName?: string }).displayName = \"FormField\";\n","import {\n\tBox,\n\tButton,\n\tButtonGroup,\n\tGrid,\n\tGridItem,\n\tIconButton,\n\tInput,\n\tStack,\n\tText,\n} from \"@chakra-ui/react\";\nimport { Plus, Trash2 } from \"lucide-react\";\nimport React from \"react\";\nimport {\n\ttype FieldValues,\n\tuseFieldArray,\n\tuseFormContext,\n} from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface ArrayFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/**\n\t * The mode of the array field.\n\t * - `dynamic` — add/remove key-value pairs\n\t * - `keyed` — fixed keys, editable values\n\t * @default \"dynamic\"\n\t */\n\tmode?: \"dynamic\" | \"keyed\";\n\t/** Header label for the value column. @default \"Value\" */\n\tvalueHeader?: string;\n\t/** Header label for the key column. @default \"Key\" */\n\tkeyHeader?: string;\n\t/** Fixed keys when mode is \"keyed\". */\n\tkeys?: Array<{ key: string; value: string }>;\n\t/** Label for the add button. @default \"Add Field\" */\n\taddLabel?: string;\n\t/** Aria label for the remove button. @default \"Remove Item\" */\n\tremoveLabel?: string;\n\t/** Content to display when there are no items. */\n\temptyState?: React.ReactNode;\n}\n\nexport function ArrayField<T extends FieldValues>(props: ArrayFieldProps<T>) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tmode = \"dynamic\",\n\t\tvalueHeader = \"Value\",\n\t\tkeyHeader = \"Key\",\n\t\tkeys = [],\n\t\taddLabel = \"Add Field\",\n\t\tremoveLabel = \"Remove Item\",\n\t\treadOnly,\n\t\temptyState,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(/* field */) => (\n\t\t\t\t<Box py={4} px={4} bg=\"bg\" rounded=\"md\">\n\t\t\t\t\t{mode === \"dynamic\" ? (\n\t\t\t\t\t\t<DynamicArray\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tvalueHeader={valueHeader}\n\t\t\t\t\t\t\tkeyHeader={keyHeader}\n\t\t\t\t\t\t\taddLabel={addLabel}\n\t\t\t\t\t\t\tremoveLabel={removeLabel}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\temptyState={emptyState}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<KeyedArray\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tvalueHeader={valueHeader}\n\t\t\t\t\t\t\tkeyHeader={keyHeader}\n\t\t\t\t\t\t\tkeys={keys}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n\nArrayField.displayName = \"ArrayField\";\n\ninterface DynamicArrayProps {\n\tname: string;\n\tvalueHeader: string;\n\tkeyHeader: string;\n\taddLabel: string;\n\tremoveLabel: string;\n\treadOnly?: boolean;\n\temptyState?: React.ReactNode;\n}\n\nconst DynamicArray: React.FC<DynamicArrayProps> = React.memo((props) => {\n\tconst {\n\t\tname,\n\t\tvalueHeader,\n\t\tkeyHeader,\n\t\taddLabel,\n\t\tremoveLabel,\n\t\treadOnly,\n\t\temptyState,\n\t} = props;\n\n\tconst { control, register } = useFormContext();\n\tconst { fields, append, remove } = useFieldArray({\n\t\tcontrol,\n\t\tname: name as any,\n\t});\n\n\treturn (\n\t\t<Stack gap={4}>\n\t\t\t<Grid templateColumns=\"200px 1fr 50px\" gap={2}>\n\t\t\t\t<GridItem>\n\t\t\t\t\t<Text fontWeight={500}>{keyHeader}</Text>\n\t\t\t\t</GridItem>\n\t\t\t\t<GridItem colSpan={2}>\n\t\t\t\t\t<Text fontWeight={500}>{valueHeader}</Text>\n\t\t\t\t</GridItem>\n\n\t\t\t\t{fields.map((item, index) => (\n\t\t\t\t\t<React.Fragment key={item.id}>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...register(`${name}.${index}.key` as any)}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...register(`${name}.${index}.value` as any)}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tcolorPalette=\"red\"\n\t\t\t\t\t\t\taria-label={removeLabel}\n\t\t\t\t\t\t\tonClick={() => remove(index)}\n\t\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Trash2 size={16} />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t))}\n\t\t\t</Grid>\n\t\t\t{fields.length === 0 && emptyState && (\n\t\t\t\t<Box py={4} textAlign=\"center\">\n\t\t\t\t\t{emptyState}\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t<ButtonGroup>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonClick={() => append({ key: \"\", value: \"\" })}\n\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t>\n\t\t\t\t\t<Plus size={16} />\n\t\t\t\t\t{addLabel}\n\t\t\t\t</Button>\n\t\t\t</ButtonGroup>\n\t\t</Stack>\n\t);\n});\n\nDynamicArray.displayName = \"DynamicArray\";\n\ninterface KeyedArrayProps {\n\tname: string;\n\tvalueHeader: string;\n\tkeyHeader: string;\n\tkeys: Array<{ key: string; value: string }>;\n\treadOnly?: boolean;\n}\n\nconst KeyedArray: React.FC<KeyedArrayProps> = React.memo((props) => {\n\tconst { name, valueHeader, keyHeader, keys, readOnly } = props;\n\tconst { register } = useFormContext();\n\n\treturn (\n\t\t<Stack gap={4}>\n\t\t\t<Grid templateColumns=\"200px 1fr\" gap={2}>\n\t\t\t\t<GridItem>\n\t\t\t\t\t<Text fontWeight={500}>{keyHeader}</Text>\n\t\t\t\t</GridItem>\n\t\t\t\t<GridItem>\n\t\t\t\t\t<Text fontWeight={500}>{valueHeader}</Text>\n\t\t\t\t</GridItem>\n\t\t\t\t{keys.map((keyItem) => (\n\t\t\t\t\t<React.Fragment key={keyItem.key}>\n\t\t\t\t\t\t<Text py={2}>{keyItem.value ?? keyItem.key}</Text>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...register(`${name}.${keyItem.key}` as any)}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t))}\n\t\t\t</Grid>\n\t\t</Stack>\n\t);\n});\n\nKeyedArray.displayName = \"KeyedArray\";\n","import { Checkbox, Field } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport {\n\tController,\n\ttype FieldValues,\n\ttype Path,\n\tuseFormContext,\n} from \"react-hook-form\";\n\nexport interface CheckboxFieldProps<T extends FieldValues> {\n\tname: Path<T>;\n\tlabel?: string;\n\t/** When provided, the field is treated as an array of checked values. */\n\tvalue?: string | number;\n\tdisabled?: boolean;\n\thelperText?: React.ReactNode;\n\tchildren?: React.ReactNode;\n}\n\nexport function CheckboxField<T extends FieldValues>({\n\tref,\n\t...props\n}: CheckboxFieldProps<T> & { ref?: React.Ref<HTMLLabelElement> }) {\n\tconst { name, label, value, disabled, helperText, children } = props;\n\tconst { control } = useFormContext<T>();\n\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\t// Array mode: field.value is an array, value prop identifies the item\n\t\t\t\tconst isArrayMode = value !== undefined;\n\n\t\t\t\tconst isChecked = isArrayMode\n\t\t\t\t\t? Array.isArray(field.value) && field.value.includes(value)\n\t\t\t\t\t: !!field.value;\n\n\t\t\t\tconst handleCheckedChange = (details: {\n\t\t\t\t\tchecked: boolean | \"indeterminate\";\n\t\t\t\t}) => {\n\t\t\t\t\tif (isArrayMode) {\n\t\t\t\t\t\tconst currentValue = Array.isArray(field.value)\n\t\t\t\t\t\t\t? [...field.value]\n\t\t\t\t\t\t\t: [];\n\t\t\t\t\t\tif (details.checked) {\n\t\t\t\t\t\t\tif (!currentValue.includes(value)) {\n\t\t\t\t\t\t\t\tcurrentValue.push(value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst idx = currentValue.indexOf(value);\n\t\t\t\t\t\t\tif (idx > -1) currentValue.splice(idx, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfield.onChange(currentValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfield.onChange(!!details.checked);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst uniqueId = isArrayMode ? `${name}-${String(value)}` : name;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Field.Root invalid={!!fieldState.error} disabled={disabled}>\n\t\t\t\t\t\t<Checkbox.Root\n\t\t\t\t\t\t\tid={uniqueId}\n\t\t\t\t\t\t\tname={field.name}\n\t\t\t\t\t\t\tvalue={isArrayMode ? String(value) : undefined}\n\t\t\t\t\t\t\tinvalid={!!fieldState.error}\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tchecked={isChecked}\n\t\t\t\t\t\t\tonCheckedChange={handleCheckedChange}\n\t\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t\t\t<Checkbox.Control>\n\t\t\t\t\t\t\t\t<Checkbox.Indicator />\n\t\t\t\t\t\t\t</Checkbox.Control>\n\t\t\t\t\t\t\t{(label || children) && (\n\t\t\t\t\t\t\t\t<Checkbox.Label>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Checkbox.Label>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Checkbox.Root>\n\t\t\t\t\t\t{helperText && <Field.HelperText>{helperText}</Field.HelperText>}\n\t\t\t\t\t\t{fieldState.error && (\n\t\t\t\t\t\t\t<Field.ErrorText aria-live=\"polite\">\n\t\t\t\t\t\t\t\t{fieldState.error.message}\n\t\t\t\t\t\t\t</Field.ErrorText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Field.Root>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n(CheckboxField as { displayName?: string }).displayName = \"CheckboxField\";\n","import type React from \"react\";\nimport { useCallback } from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// @monaco-editor/react is an optional peer dependency\ntype MonacoEditorProps = {\n\tvalue?: string;\n\tlanguage?: string;\n\tonChange?: (value: string | undefined) => void;\n\tonMount?: (editor: any, monaco: any) => void;\n\theight?: string;\n\toptions?: Record<string, any>;\n};\n\nexport interface CodeFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tlanguage?: string;\n\tplaceholder?: string;\n\theight?: string;\n\tindentWithTab?: boolean;\n\t/** The Monaco Editor component. Pass it to avoid hard dependency on @monaco-editor/react. */\n\tEditor?: React.ComponentType<MonacoEditorProps>;\n}\n\nexport function CodeField<T extends FieldValues>({\n\tref,\n\t...props\n}: CodeFieldProps<T> & { ref?: React.Ref<any> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tlanguage = \"typescript\",\n\t\theight = \"400px\",\n\t\tindentWithTab = true,\n\t\treadOnly,\n\t\tEditor,\n\t\t...rest\n\t} = props;\n\n\tconst onMount = useCallback(\n\t\t(editorInstance: any, _monaco: any) => {\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tref(editorInstance);\n\t\t\t} else if (ref && typeof ref === \"object\") {\n\t\t\t\t(ref as React.MutableRefObject<any>).current = editorInstance;\n\t\t\t}\n\t\t\teditorInstance.updateOptions?.({\n\t\t\t\ttabCompletion: indentWithTab ? \"on\" : \"off\",\n\t\t\t});\n\t\t},\n\t\t[ref, indentWithTab],\n\t);\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(field) =>\n\t\t\t\tEditor ? (\n\t\t\t\t\t<Editor\n\t\t\t\t\t\tvalue={field.value}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonChange={(value) => field.onChange(value ?? \"\")}\n\t\t\t\t\t\tonMount={onMount}\n\t\t\t\t\t\theight={height}\n\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\treadOnly,\n\t\t\t\t\t\t\twordWrap: \"on\",\n\t\t\t\t\t\t\tminimap: { enabled: false },\n\t\t\t\t\t\t\tscrollBeyondLastLine: false,\n\t\t\t\t\t\t\ttabCompletion: indentWithTab ? \"on\" : \"off\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tfontFamily: \"monospace\",\n\t\t\t\t\t\t\tfontSize: \"0.875rem\",\n\t\t\t\t\t\t\tpadding: \"0.75rem\",\n\t\t\t\t\t\t\tborder: \"1px solid var(--chakra-colors-border)\",\n\t\t\t\t\t\t\tborderRadius: \"0.375rem\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tminHeight: height,\n\t\t\t\t\t\t\tresize: \"vertical\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t</FormField>\n\t);\n}\n(CodeField as { displayName?: string }).displayName = \"CodeField\";\n","import { type ButtonProps, IconButton, Square } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport {\n\tPopover,\n\tPopoverBody,\n\tPopoverContent,\n\tPopoverTrigger,\n} from \"../primitives/popover\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// react-colorful is an optional peer dependency\ntype HexColorPickerProps = {\n\tcolor?: string;\n\tonChange?: (color: string) => void;\n};\n\nexport interface ColorPickerFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tsize?: ButtonProps[\"size\"];\n\t/** The HexColorPicker component from react-colorful. Pass it to avoid hard dependency. */\n\tColorPicker?: React.ComponentType<HexColorPickerProps>;\n}\n\nexport function ColorPickerField<T extends FieldValues>({\n\tref,\n\t...props\n}: ColorPickerFieldProps<T> & { ref?: React.Ref<HTMLButtonElement> }) {\n\tconst { name, label, size = \"md\", readOnly, ColorPicker, ...rest } = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(field) => (\n\t\t\t\t<Popover>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\tw=\"fit-content\"\n\t\t\t\t\t\t\tborderWidth=\"1px\"\n\t\t\t\t\t\t\trounded=\"md\"\n\t\t\t\t\t\t\tp={1}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\t\taria-label={`Color: ${field.value || \"none\"}`}\n\t\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Square rounded=\"sm\" bg={field.value} size={6} />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent width=\"auto\" showArrow>\n\t\t\t\t\t\t<PopoverBody>\n\t\t\t\t\t\t\t{ColorPicker ? (\n\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\tcolor={field.value}\n\t\t\t\t\t\t\t\t\tonChange={(color) => field.onChange(color)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"color\"\n\t\t\t\t\t\t\t\t\tvalue={field.value || \"#000000\"}\n\t\t\t\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\twidth: 200,\n\t\t\t\t\t\t\t\t\t\theight: 200,\n\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</PopoverBody>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(ColorPickerField as { displayName?: string }).displayName = \"ColorPickerField\";\n","import { Field, HStack } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { useId } from \"react\";\n\nexport interface ControlledFormFieldProps {\n\tname: string;\n\tlabel?: React.ReactNode;\n\thelperText?: React.ReactNode;\n\terrorMessage?: React.ReactNode;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\treadOnly?: boolean;\n\tactions?: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport const ControlledFormField: React.FC<ControlledFormFieldProps> = ({\n\tname,\n\tlabel,\n\thelperText,\n\terrorMessage,\n\trequired,\n\tdisabled,\n\treadOnly,\n\tactions,\n\tchildren,\n}) => {\n\tconst uid = useId();\n\tconst helperId = `${uid}-helper`;\n\tconst errorId = `${uid}-error`;\n\n\treturn (\n\t\t<Field.Root\n\t\t\tinvalid={!!errorMessage}\n\t\t\trequired={required}\n\t\t\tdisabled={disabled}\n\t\t\treadOnly={readOnly}\n\t\t>\n\t\t\t{label &&\n\t\t\t\t(typeof label === \"string\" ? (\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<Field.Label flex=\"1\" htmlFor={name}>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</Field.Label>\n\t\t\t\t\t\t{actions}\n\t\t\t\t\t</HStack>\n\t\t\t\t) : (\n\t\t\t\t\tlabel\n\t\t\t\t))}\n\t\t\t{/* aria-describedby must be set manually by the consumer since children is ReactNode, not a render function. */}\n\t\t\t{children}\n\t\t\t{helperText &&\n\t\t\t\t(typeof helperText === \"string\" ? (\n\t\t\t\t\t<Field.HelperText id={helperId}>{helperText}</Field.HelperText>\n\t\t\t\t) : (\n\t\t\t\t\t<span id={helperId}>{helperText}</span>\n\t\t\t\t))}\n\t\t\t{errorMessage && (\n\t\t\t\t<Field.ErrorText id={errorId} aria-live=\"polite\">\n\t\t\t\t\t{errorMessage}\n\t\t\t\t</Field.ErrorText>\n\t\t\t)}\n\t\t</Field.Root>\n\t);\n};\nControlledFormField.displayName = \"ControlledFormField\";\n","import { Input } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface DatePickerFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/** Minimum date in YYYY-MM-DD format */\n\tmin?: string;\n\t/** Maximum date in YYYY-MM-DD format */\n\tmax?: string;\n\t/** Input type: \"date\", \"datetime-local\", or \"time\" */\n\ttype?: \"date\" | \"datetime-local\" | \"time\";\n}\n\nexport function DatePickerField<T extends FieldValues>({\n\tref,\n\t...props\n}: DatePickerFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tmin,\n\t\tmax,\n\t\ttype = \"date\",\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<Input\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tid={name}\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tref={ref}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(DatePickerField as { displayName?: string }).displayName = \"DatePickerField\";\n","import type React from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport { useBlocker } from \"react-router-dom\";\nimport { LeavePageConfirmation } from \"../primitives/leave-page-confirmation\";\n\nexport interface DirtyFormGuardProps {\n\t/** Dialog title. @default \"You have unsaved changes\" */\n\ttitle?: string;\n\t/** Dialog message body. @default \"Are you sure you want to leave this page? You have unsaved changes.\" */\n\tmessage?: string;\n\t/** Label for the confirm/leave button. @default \"Leave\" */\n\tconfirmLabel?: string;\n\t/** Label for the cancel/stay button. @default \"Stay\" */\n\tcancelLabel?: string;\n}\n\nexport const DirtyFormGuard: React.FC<DirtyFormGuardProps> = ({\n\ttitle,\n\tmessage,\n\tconfirmLabel,\n\tcancelLabel,\n}) => {\n\tconst { formState } = useFormContext();\n\tconst blocker = useBlocker(formState.isDirty);\n\n\treturn (\n\t\t<LeavePageConfirmation\n\t\t\tblocked={blocker.state === \"blocked\"}\n\t\t\tonConfirmLeave={() => blocker.proceed?.()}\n\t\t\tonCancelLeave={() => blocker.reset?.()}\n\t\t\ttitle={title}\n\t\t\tmessage={message}\n\t\t\tconfirmLabel={confirmLabel}\n\t\t\tcancelLabel={cancelLabel}\n\t\t/>\n\t);\n};\nDirtyFormGuard.displayName = \"DirtyFormGuard\";\n","import {\n\tButtonGroup,\n\tEditable,\n\tIconButton,\n\tuseEditableContext,\n} from \"@chakra-ui/react\";\nimport { Pencil } from \"lucide-react\";\nimport type React from \"react\";\n\nexport interface EditableHeadingProps {\n\tvalue?: string;\n\tonChange?: (nextValue: string) => void;\n\tonCancel?: (previousValue: string) => void;\n\tonSubmit?: (nextValue: string) => void;\n\t/** Aria label for the edit button. @default \"Edit\" */\n\teditLabel?: string;\n\t/** Font size for the heading. @default \"3xl\" */\n\tfontSize?: string;\n\t/** Max width constraint. @default \"lg\" */\n\tmaxW?: string;\n}\n\nconst EditableControls: React.FC<{ editLabel: string }> = ({ editLabel }) => {\n\tconst { editing } = useEditableContext();\n\n\tif (editing) return null;\n\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t<Editable.EditTrigger asChild>\n\t\t\t\t<IconButton\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tmarginInlineStart={2}\n\t\t\t\t\taria-label={editLabel}\n\t\t\t\t>\n\t\t\t\t\t<Pencil size={20} />\n\t\t\t\t</IconButton>\n\t\t\t</Editable.EditTrigger>\n\t\t</ButtonGroup>\n\t);\n};\n\nexport const EditableHeading: React.FC<EditableHeadingProps> = ({\n\tvalue,\n\tonChange,\n\tonCancel,\n\tonSubmit,\n\teditLabel = \"Edit\",\n\tfontSize = \"3xl\",\n\tmaxW = \"lg\",\n}) => {\n\treturn (\n\t\t<Editable.Root\n\t\t\tfontSize={fontSize}\n\t\t\tmaxW={maxW}\n\t\t\tvalue={String(value ?? \"\")}\n\t\t\tonValueChange={(details) => onChange?.(details.value)}\n\t\t\tonValueRevert={(details) => onCancel?.(details.value)}\n\t\t\tonValueCommit={(details) => onSubmit?.(details.value)}\n\t\t>\n\t\t\t<Editable.Preview />\n\t\t\t<Editable.Input />\n\t\t\t<EditableControls editLabel={editLabel} />\n\t\t</Editable.Root>\n\t);\n};\nEditableHeading.displayName = \"EditableHeading\";\n","import { Box, Button, Flex, Text } from \"@chakra-ui/react\";\nimport { Upload } from \"lucide-react\";\nimport type React from \"react\";\nimport { useCallback, useEffect } from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// react-dropzone is an optional peer dependency\ntype DropzoneOptions = {\n\tnoClick?: boolean;\n\tmultiple?: boolean;\n\tdisabled?: boolean;\n\taccept?: Record<string, string[]>;\n\tonDrop?: (files: File[]) => void;\n};\n\ntype UseDropzoneReturn = {\n\tgetRootProps: () => Record<string, any>;\n\tgetInputProps: () => Record<string, any>;\n\tisDragActive: boolean;\n\topen: () => void;\n};\n\nexport interface FileFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/** Accept configuration for file types, e.g. { \"image/*\": [\".png\", \".jpg\"] } */\n\taccept?: Record<string, string[]>;\n\t/** Allow multiple file selection. @default false */\n\tmultiple?: boolean;\n\t/** Text shown when dragging files over. @default \"Release to upload\" */\n\tdragActiveText?: string;\n\t/** Text shown below the file preview. @default \"Drag & drop a file to upload\" */\n\tdropHintText?: string;\n\t/** Label for the upload button. @default \"Choose File\" */\n\tbuttonLabel?: string;\n\t/** The useDropzone hook from react-dropzone. Pass it to avoid hard dependency. */\n\tuseDropzone?: (options: DropzoneOptions) => UseDropzoneReturn;\n}\n\nexport function FileField<T extends FieldValues>(props: FileFieldProps<T>) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\taccept,\n\t\tmultiple = false,\n\t\tdisabled,\n\t\tdragActiveText = \"Release to upload\",\n\t\tdropHintText = \"Drag & drop a file to upload\",\n\t\tbuttonLabel = \"Choose File\",\n\t\tuseDropzone,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} disabled={disabled} {...rest}>\n\t\t\t{(field) => {\n\t\t\t\tif (useDropzone) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<DropzoneContent\n\t\t\t\t\t\t\tfield={field}\n\t\t\t\t\t\t\taccept={accept}\n\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tdragActiveText={dragActiveText}\n\t\t\t\t\t\t\tdropHintText={dropHintText}\n\t\t\t\t\t\t\tbuttonLabel={buttonLabel}\n\t\t\t\t\t\t\tuseDropzone={useDropzone}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Fallback: native file input\n\t\t\t\treturn (\n\t\t\t\t\t<Box>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\taccept={\n\t\t\t\t\t\t\t\taccept ? Object.values(accept).flat().join(\",\") : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst files = e.target.files;\n\t\t\t\t\t\t\t\tif (!files) return;\n\t\t\t\t\t\t\t\tif (multiple) {\n\t\t\t\t\t\t\t\t\tfield.onChange(Array.from(files));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfield.onChange(files[0] || null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{field.value && (\n\t\t\t\t\t\t\t<Text mt={2} fontSize=\"sm\" color=\"fg.muted\">\n\t\t\t\t\t\t\t\t{(field.value as File)?.name ?? \"File selected\"}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Box>\n\t\t\t\t);\n\t\t\t}}\n\t\t</FormField>\n\t);\n}\n\nFileField.displayName = \"FileField\";\n\ninterface DropzoneContentProps {\n\tfield: {\n\t\tvalue: any;\n\t\tonChange: (...event: any[]) => void;\n\t\tonBlur: () => void;\n\t\tref: React.Ref<any>;\n\t\tname: string;\n\t};\n\taccept?: Record<string, string[]>;\n\tmultiple: boolean;\n\tdisabled?: boolean;\n\tdragActiveText: string;\n\tdropHintText: string;\n\tbuttonLabel: string;\n\tuseDropzone: (options: DropzoneOptions) => UseDropzoneReturn;\n}\n\nconst DropzoneContent: React.FC<DropzoneContentProps> = ({\n\tfield,\n\taccept,\n\tmultiple,\n\tdisabled,\n\tdragActiveText,\n\tdropHintText,\n\tbuttonLabel,\n\tuseDropzone,\n}) => {\n\tconst handleDrop = useCallback(\n\t\t(files: File[]) => {\n\t\t\tif (multiple) {\n\t\t\t\tfield.onChange(files);\n\t\t\t} else {\n\t\t\t\tconst file = files[0];\n\t\t\t\tif (file) {\n\t\t\t\t\tfield.onChange(\n\t\t\t\t\t\tObject.assign(file, {\n\t\t\t\t\t\t\tpreview: URL.createObjectURL(file),\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[field, multiple],\n\t);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (field.value?.preview) {\n\t\t\t\tURL.revokeObjectURL(field.value.preview);\n\t\t\t}\n\t\t};\n\t}, [field.value]);\n\n\tconst { getRootProps, getInputProps, isDragActive, open } = useDropzone({\n\t\tnoClick: true,\n\t\tmultiple,\n\t\tdisabled,\n\t\taccept,\n\t\tonDrop: handleDrop,\n\t});\n\n\treturn (\n\t\t<Box {...getRootProps()}>\n\t\t\t<Box display=\"none\" {...getInputProps()} asChild>\n\t\t\t\t<input />\n\t\t\t</Box>\n\t\t\t<Box\n\t\t\t\tbgColor=\"bg.muted\"\n\t\t\t\tp={4}\n\t\t\t\trounded=\"md\"\n\t\t\t\toverflow=\"hidden\"\n\t\t\t\tposition=\"relative\"\n\t\t\t\ttextAlign=\"center\"\n\t\t\t>\n\t\t\t\t{isDragActive && (\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\ttop=\"0\"\n\t\t\t\t\t\tinsetInlineStart=\"0\"\n\t\t\t\t\t\tposition=\"absolute\"\n\t\t\t\t\t\tbackgroundColor=\"blackAlpha.400\"\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\tzIndex={1}\n\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\tcolor=\"white\"\n\t\t\t\t\t\tgap=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Upload size={48} />\n\t\t\t\t\t\t<Text fontSize=\"lg\" fontWeight=\"bold\">\n\t\t\t\t\t\t\t{dragActiveText}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Flex>\n\t\t\t\t)}\n\t\t\t\t{field.value?.name && (\n\t\t\t\t\t<Text fontSize=\"sm\" color=\"fg.muted\">\n\t\t\t\t\t\t{field.value.name}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<Text color=\"fg.muted\" fontSize=\"xs\" mt={2}>\n\t\t\t\t\t{dropHintText}\n\t\t\t\t</Text>\n\t\t\t\t<Button mt={2} size=\"sm\" variant=\"outline\" onClick={open}>\n\t\t\t\t\t<Upload size={14} />\n\t\t\t\t\t{buttonLabel}\n\t\t\t\t</Button>\n\t\t\t</Box>\n\t\t</Box>\n\t);\n};\n","import type { InputProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport TextInput from \"../atoms/text-input/text-input\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface InputFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tplaceholder?: string;\n\ttype?: InputProps[\"type\"];\n\tappend?: string | React.ReactElement;\n\tprepend?: string | React.ReactElement;\n\tinputProps?: InputProps;\n}\n\nexport function InputField<T extends FieldValues>({\n\tref,\n\t...props\n}: InputFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tplaceholder,\n\t\ttype,\n\t\tappend,\n\t\tprepend,\n\t\tinputProps,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<TextInput\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\tid={name}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tappend={append}\n\t\t\t\t\tprepend={prepend}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(InputField as { displayName?: string }).displayName = \"InputField\";\n","import type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// @uiw/react-md-editor is an optional peer dependency\ntype MDEditorProps = {\n\tvalue?: string;\n\tonChange?: (value?: string) => void;\n\tminHeight?: number;\n\tmaxHeight?: number;\n\tvisibleDragbar?: boolean;\n};\n\ntype MDEditorComponent = React.ComponentType<MDEditorProps> & {\n\tMarkdown?: React.ComponentType<{ source?: string }>;\n};\n\nexport interface MarkdownFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/** The MDEditor component from @uiw/react-md-editor. Pass it to avoid hard dependency. */\n\tMDEditor?: MDEditorComponent;\n\tminHeight?: number;\n\tmaxHeight?: number;\n}\n\nexport function MarkdownField<T extends FieldValues>(\n\tprops: MarkdownFieldProps<T>,\n) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\treadOnly,\n\t\tMDEditor,\n\t\tminHeight = 200,\n\t\tmaxHeight = 600,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(field) => {\n\t\t\t\tif (MDEditor) {\n\t\t\t\t\tif (readOnly && MDEditor.Markdown) {\n\t\t\t\t\t\treturn <MDEditor.Markdown source={field.value} />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MDEditor\n\t\t\t\t\t\t\tvalue={field.value}\n\t\t\t\t\t\t\tonChange={(value) => field.onChange(value ?? \"\")}\n\t\t\t\t\t\t\tminHeight={minHeight}\n\t\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\t\tvisibleDragbar\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Fallback: plain textarea\n\t\t\t\treturn (\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tpadding: \"0.75rem\",\n\t\t\t\t\t\t\tborder: \"1px solid var(--chakra-colors-border)\",\n\t\t\t\t\t\t\tborderRadius: \"0.375rem\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tminHeight: `${minHeight}px`,\n\t\t\t\t\t\t\tresize: \"vertical\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}}\n\t\t</FormField>\n\t);\n}\n(MarkdownField as { displayName?: string }).displayName = \"MarkdownField\";\n","import type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport {\n\tNumberInputField as NumberInputInput,\n\ttype NumberInputProps,\n\tNumberInputRoot,\n} from \"../primitives/number-input\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface NumberInputFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tmin?: number;\n\tmax?: number;\n\tstep?: number;\n\tshowStepper?: boolean;\n\tnumberInputProps?: NumberInputProps;\n}\n\nexport function NumberInputField<T extends FieldValues>({\n\tref,\n\t...props\n}: NumberInputFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tmin,\n\t\tmax,\n\t\tstep,\n\t\tshowStepper = true,\n\t\tnumberInputProps,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<NumberInputRoot\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\tstep={step}\n\t\t\t\t\tvalue={String(field.value ?? 0)}\n\t\t\t\t\tonValueChange={(details) => {\n\t\t\t\t\t\tfield.onChange(\n\t\t\t\t\t\t\tdetails.value === \"\" ? 0 : Number.parseFloat(details.value),\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t\tid={name}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tshowStepper={showStepper && !readOnly}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\t{...numberInputProps}\n\t\t\t\t>\n\t\t\t\t\t<NumberInputInput\n\t\t\t\t\t\tname={field.name}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t/>\n\t\t\t\t</NumberInputRoot>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(NumberInputField as { displayName?: string }).displayName = \"NumberInputField\";\n","import {\n\tRadioGroup as ChakraRadioGroup,\n\ttype RadioGroupRootProps,\n\tStack,\n\ttype StackProps,\n} from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { Radio } from \"../primitives/radio\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface RadioOption {\n\tlabel: React.ReactNode;\n\tvalue: string;\n}\n\nexport interface RadioGroupFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\toptions: RadioOption[];\n\tradioGroupProps?: RadioGroupRootProps;\n\tstackProps?: StackProps;\n}\n\nexport function RadioGroupField<T extends FieldValues>(\n\tprops: RadioGroupFieldProps<T>,\n) {\n\tconst { name, label, options, radioGroupProps, stackProps, ...rest } = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} {...rest}>\n\t\t\t{(field) => (\n\t\t\t\t<ChakraRadioGroup.Root\n\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\tonValueChange={(e) => field.onChange(e.value)}\n\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t{...radioGroupProps}\n\t\t\t\t>\n\t\t\t\t\t<Stack direction=\"row\" {...stackProps}>\n\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t<Radio key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t</ChakraRadioGroup.Root>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(RadioGroupField as { displayName?: string }).displayName = \"RadioGroupField\";\n","import type { NativeSelectFieldProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { NativeSelect } from \"../primitives/native-select\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface SelectFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tplaceholder?: string;\n\tselectProps?: NativeSelectFieldProps;\n\tchildren: React.ReactNode;\n}\n\nexport function SelectField<T extends FieldValues>({\n\tref,\n\t...props\n}: SelectFieldProps<T> & { ref?: React.Ref<HTMLSelectElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tplaceholder,\n\t\tselectProps,\n\t\tchildren,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<NativeSelect\n\t\t\t\t\tdisabled={readOnly || disabled}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\tid={name}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...selectProps}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</NativeSelect>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(SelectField as { displayName?: string }).displayName = \"SelectField\";\n","import type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { Switch, type SwitchProps } from \"../primitives/switch\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface SwitchFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tswitchProps?: SwitchProps;\n}\n\nexport function SwitchField<T extends FieldValues>({\n\tref,\n\t...props\n}: SwitchFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst { name, label, readOnly, disabled, switchProps, ...rest } = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<Switch\n\t\t\t\t\tid={name}\n\t\t\t\t\tname={field.name}\n\t\t\t\t\tchecked={field.value || false}\n\t\t\t\t\tonCheckedChange={(details) => field.onChange(!!details.checked)}\n\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...switchProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(SwitchField as { displayName?: string }).displayName = \"SwitchField\";\n","import { Textarea, type TextareaProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface TextareaFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tplaceholder?: string;\n\ttextareaProps?: TextareaProps;\n}\n\nexport function TextareaField<T extends FieldValues>({\n\tref,\n\t...props\n}: TextareaFieldProps<T> & { ref?: React.Ref<HTMLTextAreaElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tplaceholder,\n\t\ttextareaProps,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<Textarea\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\tid={name}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...textareaProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(TextareaField as { displayName?: string }).displayName = \"TextareaField\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/forms/form-field.tsx","../../src/forms/array-field.tsx","../../src/forms/checkbox-field.tsx","../../src/forms/code-field.tsx","../../src/forms/color-picker-field.tsx","../../src/forms/controlled-form-field.tsx","../../src/forms/date-picker-field.tsx","../../src/forms/dirty-form-guard.tsx","../../src/forms/file-field.tsx","../../src/forms/inline-edit.tsx","../../src/forms/input-field.tsx","../../src/forms/markdown-field.tsx","../../src/forms/number-input-field.tsx","../../src/forms/radio-group-field.tsx","../../src/forms/select-field.tsx","../../src/forms/switch-field.tsx","../../src/forms/textarea-field.tsx"],"names":["jsx","useFormContext","jsxs","Text","Controller","Field","IconButton","useId","HStack","Input","Box","useCallback","Button","ButtonGroup","NumberInputField","ChakraRadioGroup","Stack"],"mappings":"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","file":"index.js","sourcesContent":["import { Field, HStack, Text } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { useId } from \"react\";\nimport {\n\tController,\n\ttype ControllerRenderProps,\n\ttype FieldValues,\n\ttype Path,\n\tuseFormContext,\n} from \"react-hook-form\";\n\nexport interface FormFieldProps<T extends FieldValues> {\n\tname: Path<T>;\n\tlabel?: React.ReactNode;\n\thelperText?: React.ReactNode;\n\t/** Persistent description that shows even when there's an error. */\n\tdescription?: React.ReactNode;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\treadOnly?: boolean;\n\tactions?: React.ReactNode;\n\tchildren: (\n\t\tfield: ControllerRenderProps<T, Path<T>> & {\n\t\t\t/** Computed aria-describedby linking to helper/description/error elements. */\n\t\t\t\"aria-describedby\"?: string;\n\t\t},\n\t) => React.ReactNode;\n}\n\nexport function FormField<T extends FieldValues>({\n\tname,\n\tlabel,\n\thelperText,\n\tdescription,\n\trequired,\n\tdisabled,\n\treadOnly,\n\tactions,\n\tchildren,\n}: FormFieldProps<T>) {\n\tconst { control } = useFormContext<T>();\n\tconst uid = useId();\n\tconst descriptionId = `${uid}-description`;\n\tconst helperId = `${uid}-helper`;\n\tconst errorId = `${uid}-error`;\n\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\tconst describedBy =\n\t\t\t\t\t[\n\t\t\t\t\t\tdescription ? descriptionId : null,\n\t\t\t\t\t\thelperText ? helperId : null,\n\t\t\t\t\t\tfieldState.error ? errorId : null,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \") || undefined;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Field.Root\n\t\t\t\t\t\tinvalid={!!fieldState.error}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label &&\n\t\t\t\t\t\t\t(typeof label === \"string\" ? (\n\t\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t\t<Field.Label flex=\"1\" htmlFor={name}>\n\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t</Field.Label>\n\t\t\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{children({ ...field, \"aria-describedby\": describedBy })}\n\t\t\t\t\t\t{description && (\n\t\t\t\t\t\t\t<Text id={descriptionId} fontSize=\"xs\" color=\"muted\">\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{helperText &&\n\t\t\t\t\t\t\t(typeof helperText === \"string\" ? (\n\t\t\t\t\t\t\t\t<Field.HelperText id={helperId}>{helperText}</Field.HelperText>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span id={helperId}>{helperText}</span>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{fieldState.error && (\n\t\t\t\t\t\t\t<Field.ErrorText id={errorId} aria-live=\"polite\">\n\t\t\t\t\t\t\t\t{fieldState.error.message}\n\t\t\t\t\t\t\t</Field.ErrorText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Field.Root>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n(FormField as { displayName?: string }).displayName = \"FormField\";\n","import {\n\tBox,\n\tButton,\n\tButtonGroup,\n\tGrid,\n\tGridItem,\n\tIconButton,\n\tInput,\n\tStack,\n\tText,\n} from \"@chakra-ui/react\";\nimport { Plus, Trash2 } from \"lucide-react\";\nimport React from \"react\";\nimport {\n\ttype FieldValues,\n\tuseFieldArray,\n\tuseFormContext,\n} from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface ArrayFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/**\n\t * The mode of the array field.\n\t * - `dynamic` — add/remove key-value pairs\n\t * - `keyed` — fixed keys, editable values\n\t * @default \"dynamic\"\n\t */\n\tmode?: \"dynamic\" | \"keyed\";\n\t/** Header label for the value column. @default \"Value\" */\n\tvalueHeader?: string;\n\t/** Header label for the key column. @default \"Key\" */\n\tkeyHeader?: string;\n\t/** Fixed keys when mode is \"keyed\". */\n\tkeys?: Array<{ key: string; value: string }>;\n\t/** Label for the add button. @default \"Add Field\" */\n\taddLabel?: string;\n\t/** Aria label for the remove button. @default \"Remove Item\" */\n\tremoveLabel?: string;\n\t/** Content to display when there are no items. */\n\temptyState?: React.ReactNode;\n}\n\nexport function ArrayField<T extends FieldValues>(props: ArrayFieldProps<T>) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tmode = \"dynamic\",\n\t\tvalueHeader = \"Value\",\n\t\tkeyHeader = \"Key\",\n\t\tkeys = [],\n\t\taddLabel = \"Add Field\",\n\t\tremoveLabel = \"Remove Item\",\n\t\treadOnly,\n\t\temptyState,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(/* field */) => (\n\t\t\t\t<Box py={4} px={4} bg=\"bg\" rounded=\"md\">\n\t\t\t\t\t{mode === \"dynamic\" ? (\n\t\t\t\t\t\t<DynamicArray\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tvalueHeader={valueHeader}\n\t\t\t\t\t\t\tkeyHeader={keyHeader}\n\t\t\t\t\t\t\taddLabel={addLabel}\n\t\t\t\t\t\t\tremoveLabel={removeLabel}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t\temptyState={emptyState}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<KeyedArray\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tvalueHeader={valueHeader}\n\t\t\t\t\t\t\tkeyHeader={keyHeader}\n\t\t\t\t\t\t\tkeys={keys}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n\nArrayField.displayName = \"ArrayField\";\n\ninterface DynamicArrayProps {\n\tname: string;\n\tvalueHeader: string;\n\tkeyHeader: string;\n\taddLabel: string;\n\tremoveLabel: string;\n\treadOnly?: boolean;\n\temptyState?: React.ReactNode;\n}\n\nconst DynamicArray: React.FC<DynamicArrayProps> = React.memo((props) => {\n\tconst {\n\t\tname,\n\t\tvalueHeader,\n\t\tkeyHeader,\n\t\taddLabel,\n\t\tremoveLabel,\n\t\treadOnly,\n\t\temptyState,\n\t} = props;\n\n\tconst { control, register } = useFormContext();\n\tconst { fields, append, remove } = useFieldArray({\n\t\tcontrol,\n\t\tname: name as any,\n\t});\n\n\treturn (\n\t\t<Stack gap={4}>\n\t\t\t<Grid templateColumns=\"200px 1fr 50px\" gap={2}>\n\t\t\t\t<GridItem>\n\t\t\t\t\t<Text fontWeight={500}>{keyHeader}</Text>\n\t\t\t\t</GridItem>\n\t\t\t\t<GridItem colSpan={2}>\n\t\t\t\t\t<Text fontWeight={500}>{valueHeader}</Text>\n\t\t\t\t</GridItem>\n\n\t\t\t\t{fields.map((item, index) => (\n\t\t\t\t\t<React.Fragment key={item.id}>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...register(`${name}.${index}.key` as any)}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...register(`${name}.${index}.value` as any)}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tcolorPalette=\"red\"\n\t\t\t\t\t\t\taria-label={removeLabel}\n\t\t\t\t\t\t\tonClick={() => remove(index)}\n\t\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Trash2 size={16} />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t))}\n\t\t\t</Grid>\n\t\t\t{fields.length === 0 && emptyState && (\n\t\t\t\t<Box py={4} textAlign=\"center\">\n\t\t\t\t\t{emptyState}\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t<ButtonGroup>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonClick={() => append({ key: \"\", value: \"\" })}\n\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t>\n\t\t\t\t\t<Plus size={16} />\n\t\t\t\t\t{addLabel}\n\t\t\t\t</Button>\n\t\t\t</ButtonGroup>\n\t\t</Stack>\n\t);\n});\n\nDynamicArray.displayName = \"DynamicArray\";\n\ninterface KeyedArrayProps {\n\tname: string;\n\tvalueHeader: string;\n\tkeyHeader: string;\n\tkeys: Array<{ key: string; value: string }>;\n\treadOnly?: boolean;\n}\n\nconst KeyedArray: React.FC<KeyedArrayProps> = React.memo((props) => {\n\tconst { name, valueHeader, keyHeader, keys, readOnly } = props;\n\tconst { register } = useFormContext();\n\n\treturn (\n\t\t<Stack gap={4}>\n\t\t\t<Grid templateColumns=\"200px 1fr\" gap={2}>\n\t\t\t\t<GridItem>\n\t\t\t\t\t<Text fontWeight={500}>{keyHeader}</Text>\n\t\t\t\t</GridItem>\n\t\t\t\t<GridItem>\n\t\t\t\t\t<Text fontWeight={500}>{valueHeader}</Text>\n\t\t\t\t</GridItem>\n\t\t\t\t{keys.map((keyItem) => (\n\t\t\t\t\t<React.Fragment key={keyItem.key}>\n\t\t\t\t\t\t<Text py={2}>{keyItem.value ?? keyItem.key}</Text>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...register(`${name}.${keyItem.key}` as any)}\n\t\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t))}\n\t\t\t</Grid>\n\t\t</Stack>\n\t);\n});\n\nKeyedArray.displayName = \"KeyedArray\";\n","import { Checkbox, Field } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport {\n\tController,\n\ttype FieldValues,\n\ttype Path,\n\tuseFormContext,\n} from \"react-hook-form\";\n\nexport interface CheckboxFieldProps<T extends FieldValues> {\n\tname: Path<T>;\n\tlabel?: string;\n\t/** When provided, the field is treated as an array of checked values. */\n\tvalue?: string | number;\n\tdisabled?: boolean;\n\thelperText?: React.ReactNode;\n\tchildren?: React.ReactNode;\n}\n\nexport function CheckboxField<T extends FieldValues>({\n\tref,\n\t...props\n}: CheckboxFieldProps<T> & { ref?: React.Ref<HTMLLabelElement> }) {\n\tconst { name, label, value, disabled, helperText, children } = props;\n\tconst { control } = useFormContext<T>();\n\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\t// Array mode: field.value is an array, value prop identifies the item\n\t\t\t\tconst isArrayMode = value !== undefined;\n\n\t\t\t\tconst isChecked = isArrayMode\n\t\t\t\t\t? Array.isArray(field.value) && field.value.includes(value)\n\t\t\t\t\t: !!field.value;\n\n\t\t\t\tconst handleCheckedChange = (details: {\n\t\t\t\t\tchecked: boolean | \"indeterminate\";\n\t\t\t\t}) => {\n\t\t\t\t\tif (isArrayMode) {\n\t\t\t\t\t\tconst currentValue = Array.isArray(field.value)\n\t\t\t\t\t\t\t? [...field.value]\n\t\t\t\t\t\t\t: [];\n\t\t\t\t\t\tif (details.checked) {\n\t\t\t\t\t\t\tif (!currentValue.includes(value)) {\n\t\t\t\t\t\t\t\tcurrentValue.push(value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst idx = currentValue.indexOf(value);\n\t\t\t\t\t\t\tif (idx > -1) currentValue.splice(idx, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfield.onChange(currentValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfield.onChange(!!details.checked);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconst uniqueId = isArrayMode ? `${name}-${String(value)}` : name;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Field.Root invalid={!!fieldState.error} disabled={disabled}>\n\t\t\t\t\t\t<Checkbox.Root\n\t\t\t\t\t\t\tid={uniqueId}\n\t\t\t\t\t\t\tname={field.name}\n\t\t\t\t\t\t\tvalue={isArrayMode ? String(value) : undefined}\n\t\t\t\t\t\t\tinvalid={!!fieldState.error}\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tchecked={isChecked}\n\t\t\t\t\t\t\tonCheckedChange={handleCheckedChange}\n\t\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t\t\t<Checkbox.Control>\n\t\t\t\t\t\t\t\t<Checkbox.Indicator />\n\t\t\t\t\t\t\t</Checkbox.Control>\n\t\t\t\t\t\t\t{(label || children) && (\n\t\t\t\t\t\t\t\t<Checkbox.Label>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Checkbox.Label>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Checkbox.Root>\n\t\t\t\t\t\t{helperText && <Field.HelperText>{helperText}</Field.HelperText>}\n\t\t\t\t\t\t{fieldState.error && (\n\t\t\t\t\t\t\t<Field.ErrorText aria-live=\"polite\">\n\t\t\t\t\t\t\t\t{fieldState.error.message}\n\t\t\t\t\t\t\t</Field.ErrorText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Field.Root>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n(CheckboxField as { displayName?: string }).displayName = \"CheckboxField\";\n","import type React from \"react\";\nimport { useCallback } from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// @monaco-editor/react is an optional peer dependency\ntype MonacoEditorProps = {\n\tvalue?: string;\n\tlanguage?: string;\n\tonChange?: (value: string | undefined) => void;\n\tonMount?: (editor: any, monaco: any) => void;\n\theight?: string;\n\toptions?: Record<string, any>;\n};\n\nexport interface CodeFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tlanguage?: string;\n\tplaceholder?: string;\n\theight?: string;\n\tindentWithTab?: boolean;\n\t/** The Monaco Editor component. Pass it to avoid hard dependency on @monaco-editor/react. */\n\tEditor?: React.ComponentType<MonacoEditorProps>;\n}\n\nexport function CodeField<T extends FieldValues>({\n\tref,\n\t...props\n}: CodeFieldProps<T> & { ref?: React.Ref<any> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tlanguage = \"typescript\",\n\t\theight = \"400px\",\n\t\tindentWithTab = true,\n\t\treadOnly,\n\t\tEditor,\n\t\t...rest\n\t} = props;\n\n\tconst onMount = useCallback(\n\t\t(editorInstance: any, _monaco: any) => {\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tref(editorInstance);\n\t\t\t} else if (ref && typeof ref === \"object\") {\n\t\t\t\t(ref as React.MutableRefObject<any>).current = editorInstance;\n\t\t\t}\n\t\t\teditorInstance.updateOptions?.({\n\t\t\t\ttabCompletion: indentWithTab ? \"on\" : \"off\",\n\t\t\t});\n\t\t},\n\t\t[ref, indentWithTab],\n\t);\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(field) =>\n\t\t\t\tEditor ? (\n\t\t\t\t\t<Editor\n\t\t\t\t\t\tvalue={field.value}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonChange={(value) => field.onChange(value ?? \"\")}\n\t\t\t\t\t\tonMount={onMount}\n\t\t\t\t\t\theight={height}\n\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\treadOnly,\n\t\t\t\t\t\t\twordWrap: \"on\",\n\t\t\t\t\t\t\tminimap: { enabled: false },\n\t\t\t\t\t\t\tscrollBeyondLastLine: false,\n\t\t\t\t\t\t\ttabCompletion: indentWithTab ? \"on\" : \"off\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tfontFamily: \"monospace\",\n\t\t\t\t\t\t\tfontSize: \"0.875rem\",\n\t\t\t\t\t\t\tpadding: \"0.75rem\",\n\t\t\t\t\t\t\tborder: \"1px solid var(--chakra-colors-border)\",\n\t\t\t\t\t\t\tborderRadius: \"0.375rem\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tminHeight: height,\n\t\t\t\t\t\t\tresize: \"vertical\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t</FormField>\n\t);\n}\n(CodeField as { displayName?: string }).displayName = \"CodeField\";\n","import { type ButtonProps, IconButton, Square } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport {\n\tPopover,\n\tPopoverBody,\n\tPopoverContent,\n\tPopoverTrigger,\n} from \"../primitives/popover\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// react-colorful is an optional peer dependency\ntype HexColorPickerProps = {\n\tcolor?: string;\n\tonChange?: (color: string) => void;\n};\n\nexport interface ColorPickerFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tsize?: ButtonProps[\"size\"];\n\t/** The HexColorPicker component from react-colorful. Pass it to avoid hard dependency. */\n\tColorPicker?: React.ComponentType<HexColorPickerProps>;\n}\n\nexport function ColorPickerField<T extends FieldValues>({\n\tref,\n\t...props\n}: ColorPickerFieldProps<T> & { ref?: React.Ref<HTMLButtonElement> }) {\n\tconst { name, label, size = \"md\", readOnly, ColorPicker, ...rest } = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(field) => (\n\t\t\t\t<Popover>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\tw=\"fit-content\"\n\t\t\t\t\t\t\tborderWidth=\"1px\"\n\t\t\t\t\t\t\trounded=\"md\"\n\t\t\t\t\t\t\tp={1}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tdisabled={readOnly}\n\t\t\t\t\t\t\taria-label={`Color: ${field.value || \"none\"}`}\n\t\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Square rounded=\"sm\" bg={field.value} size={6} />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent width=\"auto\" showArrow>\n\t\t\t\t\t\t<PopoverBody>\n\t\t\t\t\t\t\t{ColorPicker ? (\n\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\tcolor={field.value}\n\t\t\t\t\t\t\t\t\tonChange={(color) => field.onChange(color)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"color\"\n\t\t\t\t\t\t\t\t\tvalue={field.value || \"#000000\"}\n\t\t\t\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\twidth: 200,\n\t\t\t\t\t\t\t\t\t\theight: 200,\n\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</PopoverBody>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(ColorPickerField as { displayName?: string }).displayName = \"ColorPickerField\";\n","import { Field, HStack } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { useId } from \"react\";\n\nexport interface ControlledFormFieldProps {\n\tname: string;\n\tlabel?: React.ReactNode;\n\thelperText?: React.ReactNode;\n\terrorMessage?: React.ReactNode;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\treadOnly?: boolean;\n\tactions?: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport const ControlledFormField: React.FC<ControlledFormFieldProps> = ({\n\tname,\n\tlabel,\n\thelperText,\n\terrorMessage,\n\trequired,\n\tdisabled,\n\treadOnly,\n\tactions,\n\tchildren,\n}) => {\n\tconst uid = useId();\n\tconst helperId = `${uid}-helper`;\n\tconst errorId = `${uid}-error`;\n\n\treturn (\n\t\t<Field.Root\n\t\t\tinvalid={!!errorMessage}\n\t\t\trequired={required}\n\t\t\tdisabled={disabled}\n\t\t\treadOnly={readOnly}\n\t\t>\n\t\t\t{label &&\n\t\t\t\t(typeof label === \"string\" ? (\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<Field.Label flex=\"1\" htmlFor={name}>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</Field.Label>\n\t\t\t\t\t\t{actions}\n\t\t\t\t\t</HStack>\n\t\t\t\t) : (\n\t\t\t\t\tlabel\n\t\t\t\t))}\n\t\t\t{/* aria-describedby must be set manually by the consumer since children is ReactNode, not a render function. */}\n\t\t\t{children}\n\t\t\t{helperText &&\n\t\t\t\t(typeof helperText === \"string\" ? (\n\t\t\t\t\t<Field.HelperText id={helperId}>{helperText}</Field.HelperText>\n\t\t\t\t) : (\n\t\t\t\t\t<span id={helperId}>{helperText}</span>\n\t\t\t\t))}\n\t\t\t{errorMessage && (\n\t\t\t\t<Field.ErrorText id={errorId} aria-live=\"polite\">\n\t\t\t\t\t{errorMessage}\n\t\t\t\t</Field.ErrorText>\n\t\t\t)}\n\t\t</Field.Root>\n\t);\n};\nControlledFormField.displayName = \"ControlledFormField\";\n","import { Input } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface DatePickerFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/** Minimum date in YYYY-MM-DD format */\n\tmin?: string;\n\t/** Maximum date in YYYY-MM-DD format */\n\tmax?: string;\n\t/** Input type: \"date\", \"datetime-local\", or \"time\" */\n\ttype?: \"date\" | \"datetime-local\" | \"time\";\n}\n\nexport function DatePickerField<T extends FieldValues>({\n\tref,\n\t...props\n}: DatePickerFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tmin,\n\t\tmax,\n\t\ttype = \"date\",\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<Input\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tid={name}\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tref={ref}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(DatePickerField as { displayName?: string }).displayName = \"DatePickerField\";\n","import type React from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport { useBlocker } from \"react-router-dom\";\nimport { LeavePageConfirmation } from \"../primitives/leave-page-confirmation\";\n\nexport interface DirtyFormGuardProps {\n\t/** Dialog title. @default \"You have unsaved changes\" */\n\ttitle?: string;\n\t/** Dialog message body. @default \"Are you sure you want to leave this page? You have unsaved changes.\" */\n\tmessage?: string;\n\t/** Label for the confirm/leave button. @default \"Leave\" */\n\tconfirmLabel?: string;\n\t/** Label for the cancel/stay button. @default \"Stay\" */\n\tcancelLabel?: string;\n}\n\nexport const DirtyFormGuard: React.FC<DirtyFormGuardProps> = ({\n\ttitle,\n\tmessage,\n\tconfirmLabel,\n\tcancelLabel,\n}) => {\n\tconst { formState } = useFormContext();\n\tconst blocker = useBlocker(formState.isDirty);\n\n\treturn (\n\t\t<LeavePageConfirmation\n\t\t\tblocked={blocker.state === \"blocked\"}\n\t\t\tonConfirmLeave={() => blocker.proceed?.()}\n\t\t\tonCancelLeave={() => blocker.reset?.()}\n\t\t\ttitle={title}\n\t\t\tmessage={message}\n\t\t\tconfirmLabel={confirmLabel}\n\t\t\tcancelLabel={cancelLabel}\n\t\t/>\n\t);\n};\nDirtyFormGuard.displayName = \"DirtyFormGuard\";\n","import { Box, Button, Flex, Text } from \"@chakra-ui/react\";\nimport { Upload } from \"lucide-react\";\nimport type React from \"react\";\nimport { useCallback, useEffect } from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// react-dropzone is an optional peer dependency\ntype DropzoneOptions = {\n\tnoClick?: boolean;\n\tmultiple?: boolean;\n\tdisabled?: boolean;\n\taccept?: Record<string, string[]>;\n\tonDrop?: (files: File[]) => void;\n};\n\ntype UseDropzoneReturn = {\n\tgetRootProps: () => Record<string, any>;\n\tgetInputProps: () => Record<string, any>;\n\tisDragActive: boolean;\n\topen: () => void;\n};\n\nexport interface FileFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/** Accept configuration for file types, e.g. { \"image/*\": [\".png\", \".jpg\"] } */\n\taccept?: Record<string, string[]>;\n\t/** Allow multiple file selection. @default false */\n\tmultiple?: boolean;\n\t/** Text shown when dragging files over. @default \"Release to upload\" */\n\tdragActiveText?: string;\n\t/** Text shown below the file preview. @default \"Drag & drop a file to upload\" */\n\tdropHintText?: string;\n\t/** Label for the upload button. @default \"Choose File\" */\n\tbuttonLabel?: string;\n\t/** The useDropzone hook from react-dropzone. Pass it to avoid hard dependency. */\n\tuseDropzone?: (options: DropzoneOptions) => UseDropzoneReturn;\n}\n\nexport function FileField<T extends FieldValues>(props: FileFieldProps<T>) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\taccept,\n\t\tmultiple = false,\n\t\tdisabled,\n\t\tdragActiveText = \"Release to upload\",\n\t\tdropHintText = \"Drag & drop a file to upload\",\n\t\tbuttonLabel = \"Choose File\",\n\t\tuseDropzone,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} disabled={disabled} {...rest}>\n\t\t\t{(field) => {\n\t\t\t\tif (useDropzone) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<DropzoneContent\n\t\t\t\t\t\t\tfield={field}\n\t\t\t\t\t\t\taccept={accept}\n\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tdragActiveText={dragActiveText}\n\t\t\t\t\t\t\tdropHintText={dropHintText}\n\t\t\t\t\t\t\tbuttonLabel={buttonLabel}\n\t\t\t\t\t\t\tuseDropzone={useDropzone}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Fallback: native file input\n\t\t\t\treturn (\n\t\t\t\t\t<Box>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\taccept={\n\t\t\t\t\t\t\t\taccept ? Object.values(accept).flat().join(\",\") : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst files = e.target.files;\n\t\t\t\t\t\t\t\tif (!files) return;\n\t\t\t\t\t\t\t\tif (multiple) {\n\t\t\t\t\t\t\t\t\tfield.onChange(Array.from(files));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfield.onChange(files[0] || null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{field.value && (\n\t\t\t\t\t\t\t<Text mt={2} fontSize=\"sm\" color=\"fg.muted\">\n\t\t\t\t\t\t\t\t{(field.value as File)?.name ?? \"File selected\"}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Box>\n\t\t\t\t);\n\t\t\t}}\n\t\t</FormField>\n\t);\n}\n\nFileField.displayName = \"FileField\";\n\ninterface DropzoneContentProps {\n\tfield: {\n\t\tvalue: any;\n\t\tonChange: (...event: any[]) => void;\n\t\tonBlur: () => void;\n\t\tref: React.Ref<any>;\n\t\tname: string;\n\t};\n\taccept?: Record<string, string[]>;\n\tmultiple: boolean;\n\tdisabled?: boolean;\n\tdragActiveText: string;\n\tdropHintText: string;\n\tbuttonLabel: string;\n\tuseDropzone: (options: DropzoneOptions) => UseDropzoneReturn;\n}\n\nconst DropzoneContent: React.FC<DropzoneContentProps> = ({\n\tfield,\n\taccept,\n\tmultiple,\n\tdisabled,\n\tdragActiveText,\n\tdropHintText,\n\tbuttonLabel,\n\tuseDropzone,\n}) => {\n\tconst handleDrop = useCallback(\n\t\t(files: File[]) => {\n\t\t\tif (multiple) {\n\t\t\t\tfield.onChange(files);\n\t\t\t} else {\n\t\t\t\tconst file = files[0];\n\t\t\t\tif (file) {\n\t\t\t\t\tfield.onChange(\n\t\t\t\t\t\tObject.assign(file, {\n\t\t\t\t\t\t\tpreview: URL.createObjectURL(file),\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[field, multiple],\n\t);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (field.value?.preview) {\n\t\t\t\tURL.revokeObjectURL(field.value.preview);\n\t\t\t}\n\t\t};\n\t}, [field.value]);\n\n\tconst { getRootProps, getInputProps, isDragActive, open } = useDropzone({\n\t\tnoClick: true,\n\t\tmultiple,\n\t\tdisabled,\n\t\taccept,\n\t\tonDrop: handleDrop,\n\t});\n\n\treturn (\n\t\t<Box {...getRootProps()}>\n\t\t\t<Box display=\"none\" {...getInputProps()} asChild>\n\t\t\t\t<input />\n\t\t\t</Box>\n\t\t\t<Box\n\t\t\t\tbgColor=\"bg.muted\"\n\t\t\t\tp={4}\n\t\t\t\trounded=\"md\"\n\t\t\t\toverflow=\"hidden\"\n\t\t\t\tposition=\"relative\"\n\t\t\t\ttextAlign=\"center\"\n\t\t\t>\n\t\t\t\t{isDragActive && (\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\ttop=\"0\"\n\t\t\t\t\t\tinsetInlineStart=\"0\"\n\t\t\t\t\t\tposition=\"absolute\"\n\t\t\t\t\t\tbackgroundColor=\"blackAlpha.400\"\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\tzIndex={1}\n\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\tcolor=\"white\"\n\t\t\t\t\t\tgap=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Upload size={48} />\n\t\t\t\t\t\t<Text fontSize=\"lg\" fontWeight=\"bold\">\n\t\t\t\t\t\t\t{dragActiveText}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Flex>\n\t\t\t\t)}\n\t\t\t\t{field.value?.name && (\n\t\t\t\t\t<Text fontSize=\"sm\" color=\"fg.muted\">\n\t\t\t\t\t\t{field.value.name}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<Text color=\"fg.muted\" fontSize=\"xs\" mt={2}>\n\t\t\t\t\t{dropHintText}\n\t\t\t\t</Text>\n\t\t\t\t<Button mt={2} size=\"sm\" variant=\"outline\" onClick={open}>\n\t\t\t\t\t<Upload size={14} />\n\t\t\t\t\t{buttonLabel}\n\t\t\t\t</Button>\n\t\t\t</Box>\n\t\t</Box>\n\t);\n};\n","import {\n\tButtonGroup,\n\tEditable,\n\tIconButton,\n\tuseEditableContext,\n} from \"@chakra-ui/react\";\nimport { Pencil } from \"lucide-react\";\nimport type React from \"react\";\nimport { useRef } from \"react\";\n\nexport interface InlineEditProps {\n\tvalue?: string;\n\tonSubmit?: (nextValue: string) => void;\n\tonChange?: (nextValue: string) => void;\n\tonCancel?: (previousValue: string) => void;\n\t/** @default \"input\" */\n\tvariant?: \"input\" | \"textarea\";\n\tplaceholder?: string;\n\t/** @default \"md\" */\n\tfontSize?: string;\n\tfontWeight?: string;\n\tmaxW?: string;\n\tdisabled?: boolean;\n\t/** When false, submitting an empty value reverts to the previous value. @default false */\n\tallowEmpty?: boolean;\n\t/** Number of rows used to calculate minH for textarea variant. @default 3 */\n\trows?: number;\n\t/** Aria label for the edit button. @default \"Edit\" */\n\teditLabel?: string;\n}\n\ninterface CancelRefCaptureProps {\n\tcancelRef: React.MutableRefObject<(() => void) | null>;\n}\n\nconst CancelRefCapture: React.FC<CancelRefCaptureProps> = ({ cancelRef }) => {\n\tconst { cancel } = useEditableContext();\n\tcancelRef.current = cancel;\n\treturn null;\n};\n\nconst EditControls: React.FC<{ editLabel: string }> = ({ editLabel }) => {\n\tconst { editing } = useEditableContext();\n\n\tif (editing) return null;\n\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t<Editable.EditTrigger asChild>\n\t\t\t\t<IconButton\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tmarginInlineStart={2}\n\t\t\t\t\taria-label={editLabel}\n\t\t\t\t>\n\t\t\t\t\t<Pencil size={16} />\n\t\t\t\t</IconButton>\n\t\t\t</Editable.EditTrigger>\n\t\t</ButtonGroup>\n\t);\n};\n\nexport const InlineEdit: React.FC<InlineEditProps> = ({\n\tvalue,\n\tonSubmit,\n\tonChange,\n\tonCancel,\n\tvariant = \"input\",\n\tplaceholder,\n\tfontSize = \"md\",\n\tfontWeight,\n\tmaxW,\n\tdisabled,\n\tallowEmpty = false,\n\trows = 3,\n\teditLabel = \"Edit\",\n}) => {\n\tconst cancelRef = useRef<(() => void) | null>(null);\n\n\tconst handleSubmit = (details: { value: string }) => {\n\t\tconst trimmed = details.value.trim();\n\t\tif (!allowEmpty && trimmed === \"\") {\n\t\t\tcancelRef.current?.();\n\t\t\treturn;\n\t\t}\n\t\tonSubmit?.(trimmed);\n\t};\n\n\treturn (\n\t\t<Editable.Root\n\t\t\tfontSize={fontSize}\n\t\t\tfontWeight={fontWeight}\n\t\t\tmaxW={maxW}\n\t\t\tvalue={String(value ?? \"\")}\n\t\t\tonValueChange={(d) => onChange?.(d.value)}\n\t\t\tonValueRevert={(d) => onCancel?.(d.value)}\n\t\t\tonValueCommit={handleSubmit}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t>\n\t\t\t<CancelRefCapture cancelRef={cancelRef} />\n\t\t\t<Editable.Preview />\n\t\t\t{variant === \"textarea\" ? (\n\t\t\t\t<Editable.Textarea minH={`${rows * 1.5}em`} />\n\t\t\t) : (\n\t\t\t\t<Editable.Input />\n\t\t\t)}\n\t\t\t<EditControls editLabel={editLabel} />\n\t\t</Editable.Root>\n\t);\n};\nInlineEdit.displayName = \"InlineEdit\";\n","import type { InputProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport TextInput from \"../atoms/text-input/text-input\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface InputFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tplaceholder?: string;\n\ttype?: InputProps[\"type\"];\n\tappend?: string | React.ReactElement;\n\tprepend?: string | React.ReactElement;\n\tinputProps?: InputProps;\n}\n\nexport function InputField<T extends FieldValues>({\n\tref,\n\t...props\n}: InputFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tplaceholder,\n\t\ttype,\n\t\tappend,\n\t\tprepend,\n\t\tinputProps,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<TextInput\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\tid={name}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tappend={append}\n\t\t\t\t\tprepend={prepend}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(InputField as { displayName?: string }).displayName = \"InputField\";\n","import type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\n// @uiw/react-md-editor is an optional peer dependency\ntype MDEditorProps = {\n\tvalue?: string;\n\tonChange?: (value?: string) => void;\n\tminHeight?: number;\n\tmaxHeight?: number;\n\tvisibleDragbar?: boolean;\n};\n\ntype MDEditorComponent = React.ComponentType<MDEditorProps> & {\n\tMarkdown?: React.ComponentType<{ source?: string }>;\n};\n\nexport interface MarkdownFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\t/** The MDEditor component from @uiw/react-md-editor. Pass it to avoid hard dependency. */\n\tMDEditor?: MDEditorComponent;\n\tminHeight?: number;\n\tmaxHeight?: number;\n}\n\nexport function MarkdownField<T extends FieldValues>(\n\tprops: MarkdownFieldProps<T>,\n) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\treadOnly,\n\t\tMDEditor,\n\t\tminHeight = 200,\n\t\tmaxHeight = 600,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} readOnly={readOnly} {...rest}>\n\t\t\t{(field) => {\n\t\t\t\tif (MDEditor) {\n\t\t\t\t\tif (readOnly && MDEditor.Markdown) {\n\t\t\t\t\t\treturn <MDEditor.Markdown source={field.value} />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MDEditor\n\t\t\t\t\t\t\tvalue={field.value}\n\t\t\t\t\t\t\tonChange={(value) => field.onChange(value ?? \"\")}\n\t\t\t\t\t\t\tminHeight={minHeight}\n\t\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\t\tvisibleDragbar\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Fallback: plain textarea\n\t\t\t\treturn (\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tvalue={field.value ?? \"\"}\n\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tpadding: \"0.75rem\",\n\t\t\t\t\t\t\tborder: \"1px solid var(--chakra-colors-border)\",\n\t\t\t\t\t\t\tborderRadius: \"0.375rem\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tminHeight: `${minHeight}px`,\n\t\t\t\t\t\t\tresize: \"vertical\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}}\n\t\t</FormField>\n\t);\n}\n(MarkdownField as { displayName?: string }).displayName = \"MarkdownField\";\n","import type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport {\n\tNumberInputField as NumberInputInput,\n\ttype NumberInputProps,\n\tNumberInputRoot,\n} from \"../primitives/number-input\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface NumberInputFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tmin?: number;\n\tmax?: number;\n\tstep?: number;\n\tshowStepper?: boolean;\n\tnumberInputProps?: NumberInputProps;\n}\n\nexport function NumberInputField<T extends FieldValues>({\n\tref,\n\t...props\n}: NumberInputFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tmin,\n\t\tmax,\n\t\tstep,\n\t\tshowStepper = true,\n\t\tnumberInputProps,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<NumberInputRoot\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\tstep={step}\n\t\t\t\t\tvalue={String(field.value ?? 0)}\n\t\t\t\t\tonValueChange={(details) => {\n\t\t\t\t\t\tfield.onChange(\n\t\t\t\t\t\t\tdetails.value === \"\" ? 0 : Number.parseFloat(details.value),\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t\tid={name}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tshowStepper={showStepper && !readOnly}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\t{...numberInputProps}\n\t\t\t\t>\n\t\t\t\t\t<NumberInputInput\n\t\t\t\t\t\tname={field.name}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t/>\n\t\t\t\t</NumberInputRoot>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(NumberInputField as { displayName?: string }).displayName = \"NumberInputField\";\n","import {\n\tRadioGroup as ChakraRadioGroup,\n\ttype RadioGroupRootProps,\n\tStack,\n\ttype StackProps,\n} from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { Radio } from \"../primitives/radio\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface RadioOption {\n\tlabel: React.ReactNode;\n\tvalue: string;\n}\n\nexport interface RadioGroupFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\toptions: RadioOption[];\n\tradioGroupProps?: RadioGroupRootProps;\n\tstackProps?: StackProps;\n}\n\nexport function RadioGroupField<T extends FieldValues>(\n\tprops: RadioGroupFieldProps<T>,\n) {\n\tconst { name, label, options, radioGroupProps, stackProps, ...rest } = props;\n\n\treturn (\n\t\t<FormField<T> name={name} label={label} {...rest}>\n\t\t\t{(field) => (\n\t\t\t\t<ChakraRadioGroup.Root\n\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\tonValueChange={(e) => field.onChange(e.value)}\n\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\t{...radioGroupProps}\n\t\t\t\t>\n\t\t\t\t\t<Stack direction=\"row\" {...stackProps}>\n\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t<Radio key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t</ChakraRadioGroup.Root>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(RadioGroupField as { displayName?: string }).displayName = \"RadioGroupField\";\n","import type { NativeSelectFieldProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { NativeSelect } from \"../primitives/native-select\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface SelectFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tplaceholder?: string;\n\tselectProps?: NativeSelectFieldProps;\n\tchildren: React.ReactNode;\n}\n\nexport function SelectField<T extends FieldValues>({\n\tref,\n\t...props\n}: SelectFieldProps<T> & { ref?: React.Ref<HTMLSelectElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tplaceholder,\n\t\tselectProps,\n\t\tchildren,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<NativeSelect\n\t\t\t\t\tdisabled={readOnly || disabled}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\tid={name}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...selectProps}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</NativeSelect>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(SelectField as { displayName?: string }).displayName = \"SelectField\";\n","import type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { Switch, type SwitchProps } from \"../primitives/switch\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface SwitchFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tswitchProps?: SwitchProps;\n}\n\nexport function SwitchField<T extends FieldValues>({\n\tref,\n\t...props\n}: SwitchFieldProps<T> & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst { name, label, readOnly, disabled, switchProps, ...rest } = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<Switch\n\t\t\t\t\tid={name}\n\t\t\t\t\tname={field.name}\n\t\t\t\t\tchecked={field.value || false}\n\t\t\t\t\tonCheckedChange={(details) => field.onChange(!!details.checked)}\n\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\taria-describedby={field[\"aria-describedby\"]}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...switchProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(SwitchField as { displayName?: string }).displayName = \"SwitchField\";\n","import { Textarea, type TextareaProps } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\nimport { FormField, type FormFieldProps } from \"./form-field\";\n\nexport interface TextareaFieldProps<T extends FieldValues>\n\textends Omit<FormFieldProps<T>, \"children\"> {\n\tplaceholder?: string;\n\ttextareaProps?: TextareaProps;\n}\n\nexport function TextareaField<T extends FieldValues>({\n\tref,\n\t...props\n}: TextareaFieldProps<T> & { ref?: React.Ref<HTMLTextAreaElement> }) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tplaceholder,\n\t\ttextareaProps,\n\t\treadOnly,\n\t\tdisabled,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<FormField<T>\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\treadOnly={readOnly}\n\t\t\tdisabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(field) => (\n\t\t\t\t<Textarea\n\t\t\t\t\t{...field}\n\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\tid={name}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\topacity={readOnly ? 0.8 : 1}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...textareaProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</FormField>\n\t);\n}\n(TextareaField as { displayName?: string }).displayName = \"TextareaField\";\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as _chakra_ui_react from '@chakra-ui/react';
|
|
3
3
|
import { Accordion, Alert as Alert$1, Breadcrumb, Checkbox as Checkbox$1, IconButtonProps, SpanProps, HoverCard as HoverCard$1, Menu, NativeSelectFieldProps, NativeSelectRootProps, PinInput as PinInput$1, Popover as Popover$1, Progress as Progress$1, ProgressCircle as ProgressCircle$1, HTMLChakraProps, SystemContext, RadioGroup as RadioGroup$1, SegmentGroup, SkeletonProps as SkeletonProps$1, Slider as Slider$1, SpinnerProps as SpinnerProps$1, BadgeProps, Stat, Tooltip as Tooltip$1 } from '@chakra-ui/react';
|
|
4
|
-
export { Box, BoxProps, Center, CenterProps, Code, Collapsible, CollapsibleRootProps as CollapsibleProps, Container, ContainerProps, Flex, FlexProps, Grid, GridItem, GridItemProps, GridProps, HStack, Heading, HeadingProps, Link, LinkProps, Separator, SeparatorProps, Spacer, Stack, StackProps, Table, TableRootProps as TableProps, Text, TextProps, Textarea, TextareaProps, VStack } from '@chakra-ui/react';
|
|
4
|
+
export { Badge, BadgeProps, Box, BoxProps, Center, CenterProps, Code, Collapsible, CollapsibleRootProps as CollapsibleProps, Container, ContainerProps, Flex, FlexProps, Grid, GridItem, GridItemProps, GridProps, HStack, Heading, HeadingProps, Link, LinkProps, List, ListRootProps as ListProps, Separator, SeparatorProps, Spacer, Stack, StackProps, Table, TableRootProps as TableProps, Tabs, TabsRootProps as TabsProps, Text, TextProps, Textarea, TextareaProps, VStack } from '@chakra-ui/react';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import React__default from 'react';
|
|
7
7
|
export { A as Avatar, a as AvatarGroup, b as AvatarProps } from '../avatar-DhqkKdqc.js';
|
package/dist/primitives/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { theme_default } from '../chunk-YSFUGIQM.js';
|
|
2
|
-
export { Box, Center, Code, Container, Flex, Grid, GridItem, HStack, Heading, Link, Skeleton, SkeletonCircle, SkeletonText, Spacer, Stack, Text, VStack } from '../chunk-
|
|
3
|
-
export { Avatar, AvatarGroup, Prose
|
|
2
|
+
export { Box, Center, Checkbox, CheckboxGroup, Code, Container, Flex, Grid, GridItem, HStack, Heading, Link, Skeleton, SkeletonCircle, SkeletonText, Spacer, Stack, Text, VStack } from '../chunk-SJIYWHIV.js';
|
|
3
|
+
export { Avatar, AvatarGroup, Prose } from '../chunk-ZFBDVERP.js';
|
|
4
4
|
export { MenuArrow, MenuCheckboxItem, MenuContent, MenuContextTrigger, MenuItem, MenuItemCommand, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, Tooltip } from '../chunk-NJFF6S77.js';
|
|
5
|
-
export { LeavePageConfirmation, NativeSelect, NumberInputField, NumberInputLabel, NumberInputRoot, NumberInputScrubber,
|
|
6
|
-
export { Switch } from '../chunk-
|
|
7
|
-
|
|
8
|
-
export {
|
|
5
|
+
export { LeavePageConfirmation, NativeSelect, NumberInputField, NumberInputLabel, NumberInputRoot, NumberInputScrubber, Radio, RadioGroup } from '../chunk-6H4LQUMM.js';
|
|
6
|
+
export { Popover, PopoverBody, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverTitle, PopoverTrigger, Switch } from '../chunk-WQIEF5N3.js';
|
|
7
|
+
export { Progress, ProgressCircle } from '../chunk-WEP2AIQ5.js';
|
|
8
|
+
export { Spinner } from '../chunk-5YDCDC4B.js';
|
|
9
|
+
import { Accordion, Breadcrumb, Stat, createToaster, Portal, Toaster as Toaster$1, Toast, Spinner, Stack, Alert as Alert$1, ClientOnly, IconButton, Skeleton, Span, HoverCard as HoverCard$1, PinInput as PinInput$1, ChakraProvider, SegmentGroup, Slider as Slider$1, Popover, FormatNumber, Badge } from '@chakra-ui/react';
|
|
10
|
+
export { Badge, Collapsible, List, Separator, Table, Tabs, Textarea } from '@chakra-ui/react';
|
|
9
11
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
12
|
import { Moon, Sun, Info } from 'lucide-react';
|
|
11
13
|
import { ThemeProvider, useTheme } from 'next-themes';
|
|
@@ -55,20 +57,6 @@ var BreadcrumbSeparator = Breadcrumb.Separator;
|
|
|
55
57
|
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
56
58
|
var BreadcrumbEllipsis = Breadcrumb.Ellipsis;
|
|
57
59
|
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
58
|
-
var Checkbox = function Checkbox2({
|
|
59
|
-
ref,
|
|
60
|
-
...props
|
|
61
|
-
}) {
|
|
62
|
-
const { children, inputProps, rootRef, ...rest } = props;
|
|
63
|
-
return /* @__PURE__ */ jsxs(Checkbox$1.Root, { ref: rootRef, ...rest, children: [
|
|
64
|
-
/* @__PURE__ */ jsx(Checkbox$1.HiddenInput, { ref, ...inputProps }),
|
|
65
|
-
/* @__PURE__ */ jsx(Checkbox$1.Control, { children: /* @__PURE__ */ jsx(Checkbox$1.Indicator, {}) }),
|
|
66
|
-
children != null && /* @__PURE__ */ jsx(Checkbox$1.Label, { children })
|
|
67
|
-
] });
|
|
68
|
-
};
|
|
69
|
-
Checkbox.displayName = "Checkbox";
|
|
70
|
-
var CheckboxGroup = Checkbox$1.Group;
|
|
71
|
-
CheckboxGroup.displayName = "CheckboxGroup";
|
|
72
60
|
function ColorModeProvider(props) {
|
|
73
61
|
return /* @__PURE__ */ jsx(ThemeProvider, { attribute: "class", disableTransitionOnChange: true, ...props });
|
|
74
62
|
}
|
|
@@ -189,35 +177,6 @@ var PinInput = function PinInput2({
|
|
|
189
177
|
] });
|
|
190
178
|
};
|
|
191
179
|
PinInput.displayName = "PinInput";
|
|
192
|
-
var Progress = function Progress2({
|
|
193
|
-
ref,
|
|
194
|
-
...props
|
|
195
|
-
}) {
|
|
196
|
-
const { showValue, label, ...rest } = props;
|
|
197
|
-
return /* @__PURE__ */ jsxs(Progress$1.Root, { ref, ...rest, children: [
|
|
198
|
-
(label || showValue) && /* @__PURE__ */ jsxs(Progress$1.Label, { children: [
|
|
199
|
-
label,
|
|
200
|
-
showValue && /* @__PURE__ */ jsx(Progress$1.ValueText, {})
|
|
201
|
-
] }),
|
|
202
|
-
/* @__PURE__ */ jsx(Progress$1.Track, { children: /* @__PURE__ */ jsx(Progress$1.Range, {}) })
|
|
203
|
-
] });
|
|
204
|
-
};
|
|
205
|
-
Progress.displayName = "Progress";
|
|
206
|
-
var ProgressCircle = function ProgressCircle2({
|
|
207
|
-
ref,
|
|
208
|
-
...props
|
|
209
|
-
}) {
|
|
210
|
-
const { showValue, children, ...rest } = props;
|
|
211
|
-
return /* @__PURE__ */ jsxs(ProgressCircle$1.Root, { ref, ...rest, children: [
|
|
212
|
-
/* @__PURE__ */ jsxs(ProgressCircle$1.Circle, { children: [
|
|
213
|
-
/* @__PURE__ */ jsx(ProgressCircle$1.Track, {}),
|
|
214
|
-
/* @__PURE__ */ jsx(ProgressCircle$1.Range, {})
|
|
215
|
-
] }),
|
|
216
|
-
showValue && /* @__PURE__ */ jsx(ProgressCircle$1.ValueText, {}),
|
|
217
|
-
children
|
|
218
|
-
] });
|
|
219
|
-
};
|
|
220
|
-
ProgressCircle.displayName = "ProgressCircle";
|
|
221
180
|
function Provider({ system, ...props }) {
|
|
222
181
|
return /* @__PURE__ */ jsx(ChakraProvider, { value: system ?? theme_default, children: /* @__PURE__ */ jsx(ColorModeProvider, { ...props }) });
|
|
223
182
|
}
|
|
@@ -395,6 +354,6 @@ function createAnkerToaster(options = {}) {
|
|
|
395
354
|
var { toaster, Toaster } = createAnkerToaster();
|
|
396
355
|
Toaster.displayName = "Toaster";
|
|
397
356
|
|
|
398
|
-
export { AccordionItem, AccordionRoot, Alert, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbRoot, BreadcrumbSeparator,
|
|
357
|
+
export { AccordionItem, AccordionRoot, Alert, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbRoot, BreadcrumbSeparator, ColorModeButton, ColorModeIcon, ColorModeProvider, DarkMode, HoverCard, InfoTip, LightMode, PinInput, Provider, SegmentedControl, Slider, StatDownTrend, StatHelpText, StatLabel, StatRoot, StatUpTrend, StatValueText, StatValueUnit, Toaster, ToggleTip, createAnkerToaster, toaster, useColorMode, useColorModeValue };
|
|
399
358
|
//# sourceMappingURL=index.js.map
|
|
400
359
|
//# sourceMappingURL=index.js.map
|