@knkcs/anker 0.0.1
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/LICENSE +30 -0
- package/README.md +129 -0
- package/dist/atoms/index.d.ts +536 -0
- package/dist/atoms/index.js +845 -0
- package/dist/atoms/index.js.map +1 -0
- package/dist/avatar-DhqkKdqc.d.ts +29 -0
- package/dist/chunk-4D3EY2W2.js +1628 -0
- package/dist/chunk-4D3EY2W2.js.map +1 -0
- package/dist/chunk-4T32UC26.js +81 -0
- package/dist/chunk-4T32UC26.js.map +1 -0
- package/dist/chunk-FGKGX4UF.js +36 -0
- package/dist/chunk-FGKGX4UF.js.map +1 -0
- package/dist/chunk-PZCL4M6I.js +62 -0
- package/dist/chunk-PZCL4M6I.js.map +1 -0
- package/dist/chunk-QSCNXHMU.js +32 -0
- package/dist/chunk-QSCNXHMU.js.map +1 -0
- package/dist/chunk-RJPEVNMJ.js +23 -0
- package/dist/chunk-RJPEVNMJ.js.map +1 -0
- package/dist/chunk-YXTW5OAJ.js +303 -0
- package/dist/chunk-YXTW5OAJ.js.map +1 -0
- package/dist/components/index.d.ts +413 -0
- package/dist/components/index.js +982 -0
- package/dist/components/index.js.map +1 -0
- package/dist/feedback/index.d.ts +27 -0
- package/dist/feedback/index.js +100 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/forms/index.d.ts +272 -0
- package/dist/forms/index.js +947 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/number-input-D2X0rWOg.d.ts +18 -0
- package/dist/primitives/index.d.ts +396 -0
- package/dist/primitives/index.js +478 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/search-input-C_Cl2OEx.d.ts +17 -0
- package/dist/switch-B0o6G2XE.d.ts +28 -0
- package/dist/theme/index.d.ts +496 -0
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +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-action-field.tsx","../../src/forms/select-field.tsx","../../src/forms/switch-field.tsx","../../src/forms/textarea-field.tsx"],"names":["jsx","useFormContext","jsxs","Text","Controller","IconButton","useId","Field","HStack","Input","ButtonGroup","Box","useCallback","Button","NumberInputField","ChakraRadioGroup","Stack","Plus"],"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 } 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\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, 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<Checkbox.Root\n\t\t\t\t\t\tid={uniqueId}\n\t\t\t\t\t\tname={field.name}\n\t\t\t\t\t\tvalue={isArrayMode ? String(value) : undefined}\n\t\t\t\t\t\tinvalid={!!fieldState.error}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tchecked={isChecked}\n\t\t\t\t\t\tonCheckedChange={handleCheckedChange}\n\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t\t<Checkbox.Control>\n\t\t\t\t\t\t\t<Checkbox.Indicator />\n\t\t\t\t\t\t</Checkbox.Control>\n\t\t\t\t\t\t{(label || children) && (\n\t\t\t\t\t\t\t<Checkbox.Label>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</Checkbox.Label>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Checkbox.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\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 {\n\ttype ButtonProps,\n\tIconButton,\n\tPopover,\n\tSquare,\n} from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { FieldValues } from \"react-hook-form\";\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.Root>\n\t\t\t\t\t<Popover.Trigger 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>\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</Popover.Trigger>\n\t\t\t\t\t<Popover.Positioner>\n\t\t\t\t\t\t<Popover.Content width=\"auto\">\n\t\t\t\t\t\t\t<Popover.Arrow />\n\t\t\t\t\t\t\t<Popover.Body>\n\t\t\t\t\t\t\t\t{ColorPicker ? (\n\t\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\t\tcolor={field.value}\n\t\t\t\t\t\t\t\t\t\tonChange={(color) => field.onChange(color)}\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\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"color\"\n\t\t\t\t\t\t\t\t\t\tvalue={field.value || \"#000000\"}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => field.onChange(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\twidth: 200,\n\t\t\t\t\t\t\t\t\t\t\theight: 200,\n\t\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\t}}\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</Popover.Body>\n\t\t\t\t\t\t</Popover.Content>\n\t\t\t\t\t</Popover.Positioner>\n\t\t\t\t</Popover.Root>\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\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\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 name={field.name} ref={ref} onBlur={field.onBlur} />\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\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 {\n\tButton,\n\ttype ButtonProps,\n\tHStack,\n\tMenu,\n\tPortal,\n} from \"@chakra-ui/react\";\nimport { ChevronDown, Plus } from \"lucide-react\";\nimport type React from \"react\";\n\nexport interface SelectActionMenuItem {\n\tlabel: string;\n\tonClick: () => void;\n\ticon?: React.ReactNode;\n\tcolor?: string;\n}\n\nexport interface SelectActionFieldProps extends ButtonProps {\n\tlabel: string;\n\tmenuItems?: SelectActionMenuItem[];\n}\n\nexport const SelectActionField: React.FC<SelectActionFieldProps> = (props) => {\n\tconst { label, menuItems, onClick, ...rest } = props;\n\n\tconst hasMenuItems = menuItems && menuItems.length > 0;\n\n\treturn (\n\t\t<HStack gap={0.5}>\n\t\t\t{onClick && (\n\t\t\t\t<Button\n\t\t\t\t\t{...rest}\n\t\t\t\t\tcolorPalette=\"blue\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\troundedRight={hasMenuItems ? \"none\" : undefined}\n\t\t\t\t>\n\t\t\t\t\t<Plus size={16} />\n\t\t\t\t\t{label}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t{hasMenuItems && (\n\t\t\t\t<Menu.Root>\n\t\t\t\t\t<Menu.Trigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\tcolorPalette=\"blue\"\n\t\t\t\t\t\t\troundedLeft={onClick ? \"none\" : undefined}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDown size={16} />\n\t\t\t\t\t\t\t{onClick ? null : label}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Menu.Trigger>\n\t\t\t\t\t<Portal>\n\t\t\t\t\t\t<Menu.Positioner>\n\t\t\t\t\t\t\t<Menu.Content>\n\t\t\t\t\t\t\t\t{menuItems.map((menuItem) => (\n\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\tkey={menuItem.label}\n\t\t\t\t\t\t\t\t\t\tvalue={menuItem.label}\n\t\t\t\t\t\t\t\t\t\tonClick={menuItem.onClick}\n\t\t\t\t\t\t\t\t\t\tcolor={menuItem.color}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{menuItem.icon}\n\t\t\t\t\t\t\t\t\t\t{menuItem.label}\n\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Menu.Content>\n\t\t\t\t\t\t</Menu.Positioner>\n\t\t\t\t\t</Portal>\n\t\t\t\t</Menu.Root>\n\t\t\t)}\n\t\t</HStack>\n\t);\n};\nSelectActionField.displayName = \"SelectActionField\";\n","import { NativeSelect, type NativeSelectFieldProps } 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 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.Root disabled={readOnly || disabled}>\n\t\t\t\t\t<NativeSelect.Field\n\t\t\t\t\t\t{...field}\n\t\t\t\t\t\tvalue={String(field.value ?? \"\")}\n\t\t\t\t\t\tid={name}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t{...selectProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t{placeholder && (\n\t\t\t\t\t\t\t<option value=\"\" disabled>\n\t\t\t\t\t\t\t\t{placeholder}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</NativeSelect.Field>\n\t\t\t\t\t<NativeSelect.Indicator />\n\t\t\t\t</NativeSelect.Root>\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\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"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { NumberInput } from '@chakra-ui/react';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
|
|
5
|
+
interface NumberInputProps extends NumberInput.RootProps {
|
|
6
|
+
showStepper?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const NumberInputRoot: {
|
|
9
|
+
({ ref, ...props }: NumberInputProps & {
|
|
10
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
11
|
+
}): react_jsx_runtime.JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
declare const NumberInputField: React.ForwardRefExoticComponent<NumberInput.InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
15
|
+
declare const NumberInputScrubber: React.ForwardRefExoticComponent<NumberInput.ScrubberProps & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
declare const NumberInputLabel: React.ForwardRefExoticComponent<NumberInput.LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
17
|
+
|
|
18
|
+
export { NumberInputField as N, NumberInputLabel as a, type NumberInputProps as b, NumberInputRoot as c, NumberInputScrubber as d };
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as _chakra_ui_react from '@chakra-ui/react';
|
|
3
|
+
import { Accordion, Alert as Alert$1, Breadcrumb, IconButtonProps, SpanProps, HoverCard as HoverCard$1, Menu, PinInput as PinInput$1, Popover as Popover$1, Progress as Progress$1, ProgressCircle as ProgressCircle$1, 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
|
+
import * as React$1 from 'react';
|
|
5
|
+
import React__default from 'react';
|
|
6
|
+
export { A as Avatar, a as AvatarGroup, b as AvatarProps } from '../avatar-DhqkKdqc.js';
|
|
7
|
+
import { ThemeProviderProps } from 'next-themes';
|
|
8
|
+
export { N as NumberInputField, a as NumberInputLabel, b as NumberInputProps, c as NumberInputRoot, d as NumberInputScrubber } from '../number-input-D2X0rWOg.js';
|
|
9
|
+
export { S as Switch, a as SwitchProps } from '../switch-B0o6G2XE.js';
|
|
10
|
+
import * as _zag_js_toast from '@zag-js/toast';
|
|
11
|
+
|
|
12
|
+
interface AccordionItemProps extends Accordion.ItemProps {
|
|
13
|
+
/** The trigger label shown in the accordion header. */
|
|
14
|
+
label: React$1.ReactNode;
|
|
15
|
+
/** Content revealed when the item is expanded. */
|
|
16
|
+
children: React$1.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
declare const AccordionItem: {
|
|
19
|
+
({ ref, ...props }: AccordionItemProps & {
|
|
20
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
21
|
+
}): react_jsx_runtime.JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
declare const AccordionRoot: React$1.ForwardRefExoticComponent<Accordion.RootProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
type AccordionRootProps = Accordion.RootProps;
|
|
26
|
+
|
|
27
|
+
interface AlertProps extends Omit<Alert$1.RootProps, "title"> {
|
|
28
|
+
startElement?: React$1.ReactNode;
|
|
29
|
+
endElement?: React$1.ReactNode;
|
|
30
|
+
title?: React$1.ReactNode;
|
|
31
|
+
icon?: React$1.ReactElement;
|
|
32
|
+
}
|
|
33
|
+
declare const Alert: {
|
|
34
|
+
({ ref, ...props }: AlertProps & {
|
|
35
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
36
|
+
}): react_jsx_runtime.JSX.Element;
|
|
37
|
+
displayName: string;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
declare const BreadcrumbRoot: React$1.ForwardRefExoticComponent<Breadcrumb.RootProps & React$1.RefAttributes<HTMLElement>>;
|
|
41
|
+
declare const BreadcrumbList: React$1.ForwardRefExoticComponent<Breadcrumb.ListProps & React$1.RefAttributes<HTMLElement>>;
|
|
42
|
+
declare const BreadcrumbItem: React$1.ForwardRefExoticComponent<Breadcrumb.ItemProps & React$1.RefAttributes<HTMLElement>>;
|
|
43
|
+
declare const BreadcrumbLink: React$1.ForwardRefExoticComponent<Breadcrumb.LinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
|
|
44
|
+
declare const BreadcrumbCurrentLink: React$1.ForwardRefExoticComponent<Breadcrumb.CurrentLinkProps & React$1.RefAttributes<HTMLElement>>;
|
|
45
|
+
declare const BreadcrumbSeparator: React$1.ForwardRefExoticComponent<Breadcrumb.SeparatorProps & React$1.RefAttributes<HTMLElement>>;
|
|
46
|
+
declare const BreadcrumbEllipsis: React$1.ForwardRefExoticComponent<Breadcrumb.EllipsisProps & React$1.RefAttributes<HTMLElement>>;
|
|
47
|
+
type BreadcrumbRootProps = Breadcrumb.RootProps;
|
|
48
|
+
type BreadcrumbLinkProps = Breadcrumb.LinkProps;
|
|
49
|
+
|
|
50
|
+
interface ColorModeProviderProps extends ThemeProviderProps {
|
|
51
|
+
}
|
|
52
|
+
declare function ColorModeProvider(props: ColorModeProviderProps): react_jsx_runtime.JSX.Element;
|
|
53
|
+
declare namespace ColorModeProvider {
|
|
54
|
+
var displayName: string;
|
|
55
|
+
}
|
|
56
|
+
type ColorMode = "light" | "dark";
|
|
57
|
+
interface UseColorModeReturn {
|
|
58
|
+
colorMode: ColorMode;
|
|
59
|
+
setColorMode: (colorMode: ColorMode) => void;
|
|
60
|
+
toggleColorMode: () => void;
|
|
61
|
+
}
|
|
62
|
+
declare function useColorMode(): UseColorModeReturn;
|
|
63
|
+
declare function useColorModeValue<T>(light: T, dark: T): T;
|
|
64
|
+
declare function ColorModeIcon(): react_jsx_runtime.JSX.Element;
|
|
65
|
+
declare namespace ColorModeIcon {
|
|
66
|
+
var displayName: string;
|
|
67
|
+
}
|
|
68
|
+
interface ColorModeButtonProps extends Omit<IconButtonProps, "aria-label"> {
|
|
69
|
+
/** Accessible label for the color mode toggle button. @default "Toggle color mode" */
|
|
70
|
+
label?: string;
|
|
71
|
+
}
|
|
72
|
+
declare const ColorModeButton: {
|
|
73
|
+
({ ref, label, ...props }: ColorModeButtonProps & {
|
|
74
|
+
ref?: React$1.Ref<HTMLButtonElement>;
|
|
75
|
+
}): react_jsx_runtime.JSX.Element;
|
|
76
|
+
displayName: string;
|
|
77
|
+
};
|
|
78
|
+
declare const LightMode: {
|
|
79
|
+
({ ref, ...props }: SpanProps & {
|
|
80
|
+
ref?: React$1.Ref<HTMLSpanElement>;
|
|
81
|
+
}): react_jsx_runtime.JSX.Element;
|
|
82
|
+
displayName: string;
|
|
83
|
+
};
|
|
84
|
+
declare const DarkMode: {
|
|
85
|
+
({ ref, ...props }: SpanProps & {
|
|
86
|
+
ref?: React$1.Ref<HTMLSpanElement>;
|
|
87
|
+
}): react_jsx_runtime.JSX.Element;
|
|
88
|
+
displayName: string;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
interface HoverCardProps extends HoverCard$1.RootProps {
|
|
92
|
+
/** Content displayed in the hover card. */
|
|
93
|
+
content: React$1.ReactNode;
|
|
94
|
+
/** Whether to show an arrow. @default false */
|
|
95
|
+
showArrow?: boolean;
|
|
96
|
+
/** Whether to render in a portal. @default true */
|
|
97
|
+
portalled?: boolean;
|
|
98
|
+
/** Container ref for portal. */
|
|
99
|
+
portalRef?: React$1.RefObject<HTMLElement | null>;
|
|
100
|
+
/** Props passed to the content element. */
|
|
101
|
+
contentProps?: HoverCard$1.ContentProps;
|
|
102
|
+
}
|
|
103
|
+
declare const HoverCard: {
|
|
104
|
+
(props: HoverCardProps): react_jsx_runtime.JSX.Element;
|
|
105
|
+
displayName: string;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
interface LeavePageConfirmationProps {
|
|
109
|
+
/** Whether the dialog is currently open (i.e., navigation is blocked). */
|
|
110
|
+
blocked: boolean;
|
|
111
|
+
/** Called when the user confirms they want to leave. */
|
|
112
|
+
onConfirmLeave: () => void;
|
|
113
|
+
/** Called when the user cancels and wants to stay. */
|
|
114
|
+
onCancelLeave: () => void;
|
|
115
|
+
/** Dialog title. Defaults to "You have unsaved changes". */
|
|
116
|
+
title?: string;
|
|
117
|
+
/** Dialog message body. Defaults to a generic unsaved-changes prompt. */
|
|
118
|
+
message?: string;
|
|
119
|
+
/** Label for the confirm/leave button. Defaults to "Leave". */
|
|
120
|
+
confirmLabel?: string;
|
|
121
|
+
/** Label for the cancel/stay button. Defaults to "Stay". */
|
|
122
|
+
cancelLabel?: string;
|
|
123
|
+
}
|
|
124
|
+
declare const LeavePageConfirmation: React.FC<LeavePageConfirmationProps>;
|
|
125
|
+
|
|
126
|
+
interface MenuContentProps extends Menu.ContentProps {
|
|
127
|
+
/** Whether to render the menu content inside a portal. @default true */
|
|
128
|
+
portalled?: boolean;
|
|
129
|
+
/** Container ref for the portal. */
|
|
130
|
+
portalRef?: React$1.RefObject<HTMLElement | null>;
|
|
131
|
+
}
|
|
132
|
+
declare const MenuContent: {
|
|
133
|
+
({ ref, ...props }: MenuContentProps & {
|
|
134
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
135
|
+
}): react_jsx_runtime.JSX.Element;
|
|
136
|
+
displayName: string;
|
|
137
|
+
};
|
|
138
|
+
declare const MenuArrow: {
|
|
139
|
+
({ ref, ...props }: Menu.ArrowProps & {
|
|
140
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
141
|
+
}): react_jsx_runtime.JSX.Element;
|
|
142
|
+
displayName: string;
|
|
143
|
+
};
|
|
144
|
+
declare const MenuCheckboxItem: {
|
|
145
|
+
({ ref, ...props }: Menu.CheckboxItemProps & {
|
|
146
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
147
|
+
}): react_jsx_runtime.JSX.Element;
|
|
148
|
+
displayName: string;
|
|
149
|
+
};
|
|
150
|
+
declare const MenuRadioItem: {
|
|
151
|
+
({ ref, ...props }: Menu.RadioItemProps & {
|
|
152
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
153
|
+
}): react_jsx_runtime.JSX.Element;
|
|
154
|
+
displayName: string;
|
|
155
|
+
};
|
|
156
|
+
declare const MenuItemGroup: {
|
|
157
|
+
({ ref, ...props }: Menu.ItemGroupProps & {
|
|
158
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
159
|
+
}): react_jsx_runtime.JSX.Element;
|
|
160
|
+
displayName: string;
|
|
161
|
+
};
|
|
162
|
+
interface MenuTriggerItemProps extends Menu.ItemProps {
|
|
163
|
+
/** Icon rendered before the trigger item label. */
|
|
164
|
+
startIcon?: React$1.ReactNode;
|
|
165
|
+
}
|
|
166
|
+
declare const MenuTriggerItem: {
|
|
167
|
+
({ ref, ...props }: MenuTriggerItemProps & {
|
|
168
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
169
|
+
}): react_jsx_runtime.JSX.Element;
|
|
170
|
+
displayName: string;
|
|
171
|
+
};
|
|
172
|
+
declare const MenuRadioItemGroup: React$1.ForwardRefExoticComponent<Menu.RadioItemGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
173
|
+
declare const MenuContextTrigger: React$1.ForwardRefExoticComponent<Menu.ContextTriggerProps & React$1.RefAttributes<HTMLElement>>;
|
|
174
|
+
declare const MenuRoot: React$1.FC<Menu.RootProps>;
|
|
175
|
+
declare const MenuSeparator: React$1.ForwardRefExoticComponent<Menu.SeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
176
|
+
declare const MenuItem: React$1.ForwardRefExoticComponent<Menu.ItemProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
177
|
+
declare const MenuItemText: React$1.ForwardRefExoticComponent<Menu.ItemTextProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
178
|
+
declare const MenuItemCommand: React$1.ForwardRefExoticComponent<Menu.CommandProps & React$1.RefAttributes<HTMLElement>>;
|
|
179
|
+
declare const MenuTrigger: React$1.ForwardRefExoticComponent<Menu.TriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
180
|
+
|
|
181
|
+
interface PinInputProps extends Omit<PinInput$1.RootProps, "children"> {
|
|
182
|
+
/** Number of input fields. @default 4 */
|
|
183
|
+
length?: number;
|
|
184
|
+
}
|
|
185
|
+
declare const PinInput: {
|
|
186
|
+
({ ref, ...props }: PinInputProps & {
|
|
187
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
188
|
+
}): react_jsx_runtime.JSX.Element;
|
|
189
|
+
displayName: string;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
type PopoverProps = Popover$1.RootProps;
|
|
193
|
+
declare const Popover: {
|
|
194
|
+
(props: PopoverProps): react_jsx_runtime.JSX.Element;
|
|
195
|
+
displayName: string;
|
|
196
|
+
};
|
|
197
|
+
declare const PopoverTrigger: React$1.ForwardRefExoticComponent<Popover$1.TriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
198
|
+
interface PopoverContentProps extends Popover$1.ContentProps {
|
|
199
|
+
/** Whether to show an arrow. @default false */
|
|
200
|
+
showArrow?: boolean;
|
|
201
|
+
/** Whether to render in a portal. @default true */
|
|
202
|
+
portalled?: boolean;
|
|
203
|
+
/** Container ref for portal. */
|
|
204
|
+
portalRef?: React$1.RefObject<HTMLElement | null>;
|
|
205
|
+
}
|
|
206
|
+
declare const PopoverContent: {
|
|
207
|
+
({ ref, ...props }: PopoverContentProps & {
|
|
208
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
209
|
+
}): react_jsx_runtime.JSX.Element;
|
|
210
|
+
displayName: string;
|
|
211
|
+
};
|
|
212
|
+
declare const PopoverHeader: React$1.ForwardRefExoticComponent<Popover$1.HeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
213
|
+
declare const PopoverBody: React$1.ForwardRefExoticComponent<Popover$1.BodyProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
214
|
+
declare const PopoverFooter: React$1.ForwardRefExoticComponent<Popover$1.FooterProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
215
|
+
declare const PopoverCloseTrigger: React$1.ForwardRefExoticComponent<Popover$1.CloseTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
216
|
+
declare const PopoverTitle: React$1.ForwardRefExoticComponent<Popover$1.TitleProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
217
|
+
declare const PopoverDescription: React$1.ForwardRefExoticComponent<Popover$1.DescriptionProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
218
|
+
|
|
219
|
+
interface ProgressProps extends Progress$1.RootProps {
|
|
220
|
+
/** Whether to show the percentage label. @default false */
|
|
221
|
+
showValue?: boolean;
|
|
222
|
+
/** Label text displayed above the progress bar. */
|
|
223
|
+
label?: React$1.ReactNode;
|
|
224
|
+
}
|
|
225
|
+
declare const Progress: {
|
|
226
|
+
({ ref, ...props }: ProgressProps & {
|
|
227
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
228
|
+
}): react_jsx_runtime.JSX.Element;
|
|
229
|
+
displayName: string;
|
|
230
|
+
};
|
|
231
|
+
interface ProgressCircleProps extends ProgressCircle$1.RootProps {
|
|
232
|
+
/** Whether to show the percentage label. @default false */
|
|
233
|
+
showValue?: boolean;
|
|
234
|
+
}
|
|
235
|
+
declare const ProgressCircle: {
|
|
236
|
+
({ ref, ...props }: ProgressCircleProps & {
|
|
237
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
238
|
+
}): react_jsx_runtime.JSX.Element;
|
|
239
|
+
displayName: string;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
declare const Prose: _chakra_ui_react.ChakraComponent<"div", {
|
|
243
|
+
size?: _chakra_ui_react.ConditionalValue<"md" | "lg" | undefined>;
|
|
244
|
+
}>;
|
|
245
|
+
|
|
246
|
+
interface ProviderProps extends ColorModeProviderProps {
|
|
247
|
+
/** Override the default anker theme system. */
|
|
248
|
+
system?: SystemContext;
|
|
249
|
+
}
|
|
250
|
+
declare function Provider({ system, ...props }: ProviderProps): react_jsx_runtime.JSX.Element;
|
|
251
|
+
declare namespace Provider {
|
|
252
|
+
var displayName: string;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
interface RadioProps extends RadioGroup$1.ItemProps {
|
|
256
|
+
/** Ref attached to the root element. */
|
|
257
|
+
rootRef?: React$1.RefObject<HTMLDivElement | null>;
|
|
258
|
+
/** Additional props forwarded to the hidden input element. */
|
|
259
|
+
inputProps?: React$1.InputHTMLAttributes<HTMLInputElement>;
|
|
260
|
+
}
|
|
261
|
+
declare const Radio: {
|
|
262
|
+
({ ref, ...props }: RadioProps & {
|
|
263
|
+
ref?: React$1.Ref<HTMLInputElement>;
|
|
264
|
+
}): react_jsx_runtime.JSX.Element;
|
|
265
|
+
displayName: string;
|
|
266
|
+
};
|
|
267
|
+
declare const RadioGroup: React$1.ForwardRefExoticComponent<RadioGroup$1.RootProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
268
|
+
|
|
269
|
+
interface SegmentedControlItem {
|
|
270
|
+
value: string;
|
|
271
|
+
label: React$1.ReactNode;
|
|
272
|
+
disabled?: boolean;
|
|
273
|
+
}
|
|
274
|
+
interface SegmentedControlProps extends Omit<SegmentGroup.RootProps, "children"> {
|
|
275
|
+
/** Items to render as segments. */
|
|
276
|
+
items: Array<string | SegmentedControlItem>;
|
|
277
|
+
}
|
|
278
|
+
declare const SegmentedControl: {
|
|
279
|
+
({ ref, ...props }: SegmentedControlProps & {
|
|
280
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
281
|
+
}): react_jsx_runtime.JSX.Element;
|
|
282
|
+
displayName: string;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
type SkeletonProps = SkeletonProps$1;
|
|
286
|
+
/** Rectangular skeleton placeholder. */
|
|
287
|
+
declare const Skeleton: React__default.FC<SkeletonProps>;
|
|
288
|
+
interface SkeletonTextProps {
|
|
289
|
+
/** Number of text lines. @default 3 */
|
|
290
|
+
lines?: number;
|
|
291
|
+
/** Gap between lines. @default 3 */
|
|
292
|
+
gap?: number | string;
|
|
293
|
+
}
|
|
294
|
+
/** Multi-line text skeleton placeholder. */
|
|
295
|
+
declare const SkeletonText: React__default.FC<SkeletonTextProps>;
|
|
296
|
+
/** Circular skeleton placeholder for avatars. */
|
|
297
|
+
declare const SkeletonCircle: React__default.FC<{
|
|
298
|
+
size?: string | number;
|
|
299
|
+
}>;
|
|
300
|
+
|
|
301
|
+
interface SliderProps extends Slider$1.RootProps {
|
|
302
|
+
/** Whether to show the current value label. @default false */
|
|
303
|
+
showValue?: boolean;
|
|
304
|
+
/** Label text displayed alongside the slider. */
|
|
305
|
+
label?: React$1.ReactNode;
|
|
306
|
+
/** Marks to display on the track. */
|
|
307
|
+
marks?: Array<number | {
|
|
308
|
+
value: number;
|
|
309
|
+
label: React$1.ReactNode;
|
|
310
|
+
}>;
|
|
311
|
+
}
|
|
312
|
+
declare const Slider: {
|
|
313
|
+
({ ref, ...props }: SliderProps & {
|
|
314
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
315
|
+
}): react_jsx_runtime.JSX.Element;
|
|
316
|
+
displayName: string;
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
type SpinnerProps = SpinnerProps$1;
|
|
320
|
+
declare const Spinner: React__default.FC<SpinnerProps>;
|
|
321
|
+
|
|
322
|
+
interface StatLabelProps extends Stat.LabelProps {
|
|
323
|
+
info?: React$1.ReactNode;
|
|
324
|
+
}
|
|
325
|
+
declare const StatLabel: ({ ref, ...props }: StatLabelProps & {
|
|
326
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
327
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
328
|
+
interface StatValueTextProps extends Stat.ValueTextProps {
|
|
329
|
+
value?: number;
|
|
330
|
+
formatOptions?: Intl.NumberFormatOptions;
|
|
331
|
+
}
|
|
332
|
+
declare const StatValueText: ({ ref, ...props }: StatValueTextProps & {
|
|
333
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
334
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
335
|
+
declare const StatUpTrend: ({ ref, ...props }: BadgeProps & {
|
|
336
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
337
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
338
|
+
declare const StatDownTrend: ({ ref, ...props }: BadgeProps & {
|
|
339
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
340
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
341
|
+
declare const StatRoot: React$1.ForwardRefExoticComponent<Stat.RootProps & React$1.RefAttributes<HTMLDListElement>>;
|
|
342
|
+
declare const StatHelpText: React$1.ForwardRefExoticComponent<Stat.HelpTextProps & React$1.RefAttributes<HTMLElement>>;
|
|
343
|
+
declare const StatValueUnit: React$1.ForwardRefExoticComponent<Stat.ValueUnitProps & React$1.RefAttributes<HTMLElement>>;
|
|
344
|
+
|
|
345
|
+
interface CreateToasterOptions {
|
|
346
|
+
placement?: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end";
|
|
347
|
+
pauseOnPageIdle?: boolean;
|
|
348
|
+
}
|
|
349
|
+
declare function createAnkerToaster(options?: CreateToasterOptions): {
|
|
350
|
+
toaster: _zag_js_toast.Store<any>;
|
|
351
|
+
Toaster: () => react_jsx_runtime.JSX.Element;
|
|
352
|
+
};
|
|
353
|
+
declare const toaster: _zag_js_toast.Store<any>;
|
|
354
|
+
declare const Toaster: () => react_jsx_runtime.JSX.Element;
|
|
355
|
+
|
|
356
|
+
interface ToggleTipProps extends Popover$1.RootProps {
|
|
357
|
+
showArrow?: boolean;
|
|
358
|
+
portalled?: boolean;
|
|
359
|
+
portalRef?: React$1.RefObject<HTMLElement | null>;
|
|
360
|
+
content?: React$1.ReactNode;
|
|
361
|
+
contentProps?: Popover$1.ContentProps;
|
|
362
|
+
}
|
|
363
|
+
declare const ToggleTip: {
|
|
364
|
+
({ ref, ...props }: ToggleTipProps & {
|
|
365
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
366
|
+
}): react_jsx_runtime.JSX.Element;
|
|
367
|
+
displayName: string;
|
|
368
|
+
};
|
|
369
|
+
interface InfoTipProps extends Partial<ToggleTipProps> {
|
|
370
|
+
buttonProps?: IconButtonProps | undefined;
|
|
371
|
+
/** Accessible label for the info tip button. @default "info" */
|
|
372
|
+
label?: string;
|
|
373
|
+
}
|
|
374
|
+
declare const InfoTip: {
|
|
375
|
+
({ ref, ...props }: InfoTipProps & {
|
|
376
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
377
|
+
}): react_jsx_runtime.JSX.Element;
|
|
378
|
+
displayName: string;
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
interface TooltipProps extends Tooltip$1.RootProps {
|
|
382
|
+
showArrow?: boolean;
|
|
383
|
+
portalled?: boolean;
|
|
384
|
+
portalRef?: React$1.RefObject<HTMLElement | null>;
|
|
385
|
+
content: React$1.ReactNode;
|
|
386
|
+
contentProps?: Tooltip$1.ContentProps;
|
|
387
|
+
disabled?: boolean;
|
|
388
|
+
}
|
|
389
|
+
declare const Tooltip: {
|
|
390
|
+
({ ref, ...props }: TooltipProps & {
|
|
391
|
+
ref?: React$1.Ref<HTMLDivElement>;
|
|
392
|
+
}): string | number | bigint | boolean | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
393
|
+
displayName: string;
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
export { AccordionItem, type AccordionItemProps, AccordionRoot, type AccordionRootProps, Alert, type AlertProps, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbRoot, type BreadcrumbRootProps, BreadcrumbSeparator, type ColorMode, ColorModeButton, ColorModeIcon, ColorModeProvider, type ColorModeProviderProps, type CreateToasterOptions, DarkMode, HoverCard, type HoverCardProps, InfoTip, type InfoTipProps, LeavePageConfirmation, type LeavePageConfirmationProps, LightMode, MenuArrow, MenuCheckboxItem, MenuContent, MenuContextTrigger, MenuItem, MenuItemCommand, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, type MenuTriggerItemProps, PinInput, type PinInputProps, Popover, PopoverBody, PopoverCloseTrigger, PopoverContent, type PopoverContentProps, PopoverDescription, PopoverFooter, PopoverHeader, type PopoverProps, PopoverTitle, PopoverTrigger, Progress, ProgressCircle, type ProgressCircleProps, type ProgressProps, Prose, Provider, type ProviderProps, Radio, RadioGroup, type RadioProps, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, Skeleton, SkeletonCircle, type SkeletonProps, SkeletonText, type SkeletonTextProps, Slider, type SliderProps, Spinner, type SpinnerProps, StatDownTrend, StatHelpText, StatLabel, StatRoot, StatUpTrend, StatValueText, StatValueUnit, Toaster, ToggleTip, type ToggleTipProps, Tooltip, type TooltipProps, type UseColorModeReturn, createAnkerToaster, toaster, useColorMode, useColorModeValue };
|