@texturehq/edges 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FileUpload-DXTcfLIh.d.cts +348 -0
- package/dist/FileUpload-DXTcfLIh.d.ts +348 -0
- package/dist/TimeField-B4J8gA8E.d.ts +393 -0
- package/dist/TimeField-D2AOjQ1K.d.cts +393 -0
- package/dist/{colors-Kck1-4Zq.d.cts → colors-BUEmaPXY.d.ts} +4 -122
- package/dist/{colors-Kck1-4Zq.d.ts → colors-BniWNyzj.d.cts} +4 -122
- package/dist/components.manifest.json +13 -9
- package/dist/form/index.cjs +2 -0
- package/dist/form/index.cjs.map +1 -0
- package/dist/form/index.d.cts +3 -0
- package/dist/form/index.d.ts +3 -0
- package/dist/form/index.js +2 -0
- package/dist/form/index.js.map +1 -0
- package/dist/generated/tailwind-tokens-dark.css +1 -0
- package/dist/generated/tailwind-tokens-light.css +1 -0
- package/dist/index-DKA9NMRw.d.cts +311 -0
- package/dist/index-DKA9NMRw.d.ts +311 -0
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -794
- package/dist/index.d.ts +25 -794
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/rhf/index.cjs +2 -0
- package/dist/rhf/index.cjs.map +1 -0
- package/dist/rhf/index.d.cts +147 -0
- package/dist/rhf/index.d.ts +147 -0
- package/dist/rhf/index.js +2 -0
- package/dist/rhf/index.js.map +1 -0
- package/dist/server.cjs +1 -1
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +2 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/styles.css +92 -27
- package/dist/utilities.manifest.json +2 -2
- package/package.json +30 -3
- package/scripts/generate-edges-docs.js +43 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Key, DateValue } from 'react-aria-components';
|
|
4
|
+
import { FieldValues, FieldPath, Path, UseFormProps, SubmitHandler, SubmitErrorHandler } from 'react-hook-form';
|
|
5
|
+
import { A as Autocomplete, C as Checkbox, a as CheckboxGroup, b as ColorField, N as NumberField, R as RadioGroup, S as Select, c as Switch, T as TextArea, d as TextField, e as TimeFieldProps, B as Button } from '../TimeField-D2AOjQ1K.cjs';
|
|
6
|
+
import { a as DateField, b as FileUpload } from '../FileUpload-DXTcfLIh.cjs';
|
|
7
|
+
import '@phosphor-icons/react';
|
|
8
|
+
|
|
9
|
+
interface FormAutocompleteProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Autocomplete>, "selectedKey" | "defaultSelectedKey" | "onSelectionChange"> {
|
|
10
|
+
name: FieldPath<T>;
|
|
11
|
+
defaultValue?: Key | null;
|
|
12
|
+
}
|
|
13
|
+
declare function FormAutocomplete<T extends FieldValues>({ name, defaultValue, ...rest }: FormAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
interface FormCheckboxProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Checkbox>, "isSelected" | "defaultSelected" | "onChange"> {
|
|
16
|
+
name: FieldPath<T>;
|
|
17
|
+
defaultValue?: boolean;
|
|
18
|
+
errorBelow?: boolean;
|
|
19
|
+
}
|
|
20
|
+
declare function FormCheckbox<T extends FieldValues>({ name, defaultValue, errorBelow, ...rest }: FormCheckboxProps<T>): react_jsx_runtime.JSX.Element;
|
|
21
|
+
|
|
22
|
+
interface FormCheckboxGroupProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof CheckboxGroup>, "value" | "defaultValue" | "onChange"> {
|
|
23
|
+
name: FieldPath<T>;
|
|
24
|
+
defaultValue?: string[];
|
|
25
|
+
}
|
|
26
|
+
declare function FormCheckboxGroup<T extends FieldValues>({ name, defaultValue, ...rest }: FormCheckboxGroupProps<T>): react_jsx_runtime.JSX.Element;
|
|
27
|
+
|
|
28
|
+
interface FormColorFieldProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof ColorField>, "value" | "defaultValue" | "onChange"> {
|
|
29
|
+
name: FieldPath<T>;
|
|
30
|
+
defaultValue?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function FormColorField<T extends FieldValues>({ name, defaultValue, ...rest }: FormColorFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
33
|
+
|
|
34
|
+
interface FormDateFieldProps<T extends FieldValues, D extends DateValue = DateValue> extends Omit<React.ComponentProps<typeof DateField<D>>, "value" | "defaultValue" | "onChange"> {
|
|
35
|
+
name: FieldPath<T>;
|
|
36
|
+
defaultValue?: D | null;
|
|
37
|
+
}
|
|
38
|
+
declare function FormDateField<T extends FieldValues, D extends DateValue = DateValue>({ name, defaultValue, ...rest }: FormDateFieldProps<T, D>): react_jsx_runtime.JSX.Element;
|
|
39
|
+
|
|
40
|
+
interface FormFileUploadProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof FileUpload>, "value" | "onChange"> {
|
|
41
|
+
name: FieldPath<T>;
|
|
42
|
+
defaultValue?: string;
|
|
43
|
+
errorBelow?: boolean;
|
|
44
|
+
}
|
|
45
|
+
declare function FormFileUpload<T extends FieldValues>({ name, defaultValue, errorBelow, ...rest }: FormFileUploadProps<T>): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
47
|
+
interface FormNumberFieldProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof NumberField>, "value" | "defaultValue" | "onChange"> {
|
|
48
|
+
name: FieldPath<T>;
|
|
49
|
+
defaultValue?: number;
|
|
50
|
+
}
|
|
51
|
+
declare function FormNumberField<T extends FieldValues>({ name, defaultValue, ...rest }: FormNumberFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
52
|
+
|
|
53
|
+
interface FormRadioGroupProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof RadioGroup>, "value" | "defaultValue" | "onChange"> {
|
|
54
|
+
name: FieldPath<T>;
|
|
55
|
+
defaultValue?: string;
|
|
56
|
+
}
|
|
57
|
+
declare function FormRadioGroup<T extends FieldValues>({ name, defaultValue, ...rest }: FormRadioGroupProps<T>): react_jsx_runtime.JSX.Element;
|
|
58
|
+
|
|
59
|
+
interface FormSelectProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Select<any>>, "selectedKey" | "defaultSelectedKey" | "onSelectionChange"> {
|
|
60
|
+
name: FieldPath<T>;
|
|
61
|
+
defaultValue?: Key | null;
|
|
62
|
+
}
|
|
63
|
+
declare function FormSelect<T extends FieldValues>({ name, defaultValue, ...rest }: FormSelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
64
|
+
|
|
65
|
+
interface FormSwitchProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Switch>, "isSelected" | "defaultSelected" | "onChange"> {
|
|
66
|
+
name: FieldPath<T>;
|
|
67
|
+
defaultValue?: boolean;
|
|
68
|
+
}
|
|
69
|
+
declare function FormSwitch<T extends FieldValues>({ name, defaultValue, ...rest }: FormSwitchProps<T>): react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
interface FormTextAreaProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof TextArea>, "value" | "defaultValue" | "onChange"> {
|
|
72
|
+
name: FieldPath<T>;
|
|
73
|
+
defaultValue?: string;
|
|
74
|
+
}
|
|
75
|
+
declare function FormTextArea<T extends FieldValues>({ name, defaultValue, ...rest }: FormTextAreaProps<T>): react_jsx_runtime.JSX.Element;
|
|
76
|
+
|
|
77
|
+
interface FormTextFieldProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof TextField>, "value" | "defaultValue" | "onChange"> {
|
|
78
|
+
name: FieldPath<T>;
|
|
79
|
+
defaultValue?: string;
|
|
80
|
+
}
|
|
81
|
+
declare function FormTextField<T extends FieldValues>({ name, defaultValue, ...rest }: FormTextFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
interface FormTimeFieldProps<TFieldValues extends FieldValues = FieldValues> extends Omit<TimeFieldProps, "name" | "value" | "onChange" | "isInvalid"> {
|
|
84
|
+
name: Path<TFieldValues>;
|
|
85
|
+
}
|
|
86
|
+
declare function FormTimeField<TFieldValues extends FieldValues = FieldValues>({ name, ...props }: FormTimeFieldProps<TFieldValues>): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
interface ErrorSummaryProps {
|
|
89
|
+
className?: string;
|
|
90
|
+
title?: string;
|
|
91
|
+
autoFocus?: boolean;
|
|
92
|
+
}
|
|
93
|
+
declare function ErrorSummary({ className, title, autoFocus, }: ErrorSummaryProps): react_jsx_runtime.JSX.Element | null;
|
|
94
|
+
|
|
95
|
+
interface SubmitButtonProps extends React.ComponentProps<typeof Button> {
|
|
96
|
+
formId?: string;
|
|
97
|
+
disableWhenInvalid?: boolean;
|
|
98
|
+
disableWhenPristine?: boolean;
|
|
99
|
+
}
|
|
100
|
+
declare function SubmitButton({ formId, disableWhenInvalid, disableWhenPristine, isDisabled, children, ...rest }: SubmitButtonProps): react_jsx_runtime.JSX.Element;
|
|
101
|
+
|
|
102
|
+
interface FieldArrayListProps<TFieldValues> {
|
|
103
|
+
name: string;
|
|
104
|
+
getItemTitle?: (index: number) => string;
|
|
105
|
+
renderItem: (index: number) => React.ReactNode;
|
|
106
|
+
onAdd?: () => Partial<TFieldValues[keyof TFieldValues]>;
|
|
107
|
+
}
|
|
108
|
+
declare function FieldArrayList<TFieldValues extends Record<string, any>>({ name, getItemTitle, renderItem, onAdd, }: FieldArrayListProps<TFieldValues>): react_jsx_runtime.JSX.Element;
|
|
109
|
+
|
|
110
|
+
interface FormProviderProps<TFieldValues extends FieldValues = FieldValues> extends Omit<UseFormProps<TFieldValues>, "values"> {
|
|
111
|
+
id?: string;
|
|
112
|
+
onSubmit: SubmitHandler<TFieldValues>;
|
|
113
|
+
onInvalid?: SubmitErrorHandler<TFieldValues>;
|
|
114
|
+
children: React.ReactNode;
|
|
115
|
+
/**
|
|
116
|
+
* If true, automatically focuses and scrolls the first invalid field on submit.
|
|
117
|
+
* @default true
|
|
118
|
+
*/
|
|
119
|
+
shouldFocusError?: boolean;
|
|
120
|
+
/** Additional className applied to underlying Form */
|
|
121
|
+
className?: string;
|
|
122
|
+
}
|
|
123
|
+
declare function FormProvider<TFieldValues extends FieldValues = FieldValues>({ id, onSubmit, onInvalid, children, shouldFocusError, className, ...formOptions }: FormProviderProps<TFieldValues>): react_jsx_runtime.JSX.Element;
|
|
124
|
+
|
|
125
|
+
interface FormSaveBarProps {
|
|
126
|
+
formId?: string;
|
|
127
|
+
onCancel?: () => void;
|
|
128
|
+
primaryLabel?: string;
|
|
129
|
+
secondaryLabel?: string;
|
|
130
|
+
className?: string;
|
|
131
|
+
}
|
|
132
|
+
declare function FormSaveBar({ formId, onCancel, primaryLabel, secondaryLabel, className, }: FormSaveBarProps): react_jsx_runtime.JSX.Element;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* When the form has submit errors, scroll to the first one.
|
|
136
|
+
*/
|
|
137
|
+
declare function useScrollIntoViewOnError(enabled?: boolean): void;
|
|
138
|
+
|
|
139
|
+
interface UseAutoSaveOptions<TValues> {
|
|
140
|
+
delayMs?: number;
|
|
141
|
+
onAutoSave: (values: TValues) => Promise<void> | void;
|
|
142
|
+
}
|
|
143
|
+
declare function useAutoSave<TValues extends Record<string, unknown>>({ delayMs, onAutoSave, }: UseAutoSaveOptions<TValues>): void;
|
|
144
|
+
|
|
145
|
+
declare function focusFirstError(formEl: HTMLFormElement): void;
|
|
146
|
+
|
|
147
|
+
export { ErrorSummary, type ErrorSummaryProps, FieldArrayList, type FieldArrayListProps, FormAutocomplete, type FormAutocompleteProps, FormCheckbox, FormCheckboxGroup, type FormCheckboxGroupProps, type FormCheckboxProps, FormColorField, type FormColorFieldProps, FormDateField, type FormDateFieldProps, FormFileUpload, type FormFileUploadProps, FormNumberField, type FormNumberFieldProps, FormProvider, type FormProviderProps, FormRadioGroup, type FormRadioGroupProps, FormSaveBar, type FormSaveBarProps, FormSelect, type FormSelectProps, FormSwitch, type FormSwitchProps, FormTextArea, type FormTextAreaProps, FormTextField, type FormTextFieldProps, FormTimeField, type FormTimeFieldProps, SubmitButton, type SubmitButtonProps, type UseAutoSaveOptions, focusFirstError, useAutoSave, useScrollIntoViewOnError };
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Key, DateValue } from 'react-aria-components';
|
|
4
|
+
import { FieldValues, FieldPath, Path, UseFormProps, SubmitHandler, SubmitErrorHandler } from 'react-hook-form';
|
|
5
|
+
import { A as Autocomplete, C as Checkbox, a as CheckboxGroup, b as ColorField, N as NumberField, R as RadioGroup, S as Select, c as Switch, T as TextArea, d as TextField, e as TimeFieldProps, B as Button } from '../TimeField-B4J8gA8E.js';
|
|
6
|
+
import { a as DateField, b as FileUpload } from '../FileUpload-DXTcfLIh.js';
|
|
7
|
+
import '@phosphor-icons/react';
|
|
8
|
+
|
|
9
|
+
interface FormAutocompleteProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Autocomplete>, "selectedKey" | "defaultSelectedKey" | "onSelectionChange"> {
|
|
10
|
+
name: FieldPath<T>;
|
|
11
|
+
defaultValue?: Key | null;
|
|
12
|
+
}
|
|
13
|
+
declare function FormAutocomplete<T extends FieldValues>({ name, defaultValue, ...rest }: FormAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
interface FormCheckboxProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Checkbox>, "isSelected" | "defaultSelected" | "onChange"> {
|
|
16
|
+
name: FieldPath<T>;
|
|
17
|
+
defaultValue?: boolean;
|
|
18
|
+
errorBelow?: boolean;
|
|
19
|
+
}
|
|
20
|
+
declare function FormCheckbox<T extends FieldValues>({ name, defaultValue, errorBelow, ...rest }: FormCheckboxProps<T>): react_jsx_runtime.JSX.Element;
|
|
21
|
+
|
|
22
|
+
interface FormCheckboxGroupProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof CheckboxGroup>, "value" | "defaultValue" | "onChange"> {
|
|
23
|
+
name: FieldPath<T>;
|
|
24
|
+
defaultValue?: string[];
|
|
25
|
+
}
|
|
26
|
+
declare function FormCheckboxGroup<T extends FieldValues>({ name, defaultValue, ...rest }: FormCheckboxGroupProps<T>): react_jsx_runtime.JSX.Element;
|
|
27
|
+
|
|
28
|
+
interface FormColorFieldProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof ColorField>, "value" | "defaultValue" | "onChange"> {
|
|
29
|
+
name: FieldPath<T>;
|
|
30
|
+
defaultValue?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function FormColorField<T extends FieldValues>({ name, defaultValue, ...rest }: FormColorFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
33
|
+
|
|
34
|
+
interface FormDateFieldProps<T extends FieldValues, D extends DateValue = DateValue> extends Omit<React.ComponentProps<typeof DateField<D>>, "value" | "defaultValue" | "onChange"> {
|
|
35
|
+
name: FieldPath<T>;
|
|
36
|
+
defaultValue?: D | null;
|
|
37
|
+
}
|
|
38
|
+
declare function FormDateField<T extends FieldValues, D extends DateValue = DateValue>({ name, defaultValue, ...rest }: FormDateFieldProps<T, D>): react_jsx_runtime.JSX.Element;
|
|
39
|
+
|
|
40
|
+
interface FormFileUploadProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof FileUpload>, "value" | "onChange"> {
|
|
41
|
+
name: FieldPath<T>;
|
|
42
|
+
defaultValue?: string;
|
|
43
|
+
errorBelow?: boolean;
|
|
44
|
+
}
|
|
45
|
+
declare function FormFileUpload<T extends FieldValues>({ name, defaultValue, errorBelow, ...rest }: FormFileUploadProps<T>): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
47
|
+
interface FormNumberFieldProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof NumberField>, "value" | "defaultValue" | "onChange"> {
|
|
48
|
+
name: FieldPath<T>;
|
|
49
|
+
defaultValue?: number;
|
|
50
|
+
}
|
|
51
|
+
declare function FormNumberField<T extends FieldValues>({ name, defaultValue, ...rest }: FormNumberFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
52
|
+
|
|
53
|
+
interface FormRadioGroupProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof RadioGroup>, "value" | "defaultValue" | "onChange"> {
|
|
54
|
+
name: FieldPath<T>;
|
|
55
|
+
defaultValue?: string;
|
|
56
|
+
}
|
|
57
|
+
declare function FormRadioGroup<T extends FieldValues>({ name, defaultValue, ...rest }: FormRadioGroupProps<T>): react_jsx_runtime.JSX.Element;
|
|
58
|
+
|
|
59
|
+
interface FormSelectProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Select<any>>, "selectedKey" | "defaultSelectedKey" | "onSelectionChange"> {
|
|
60
|
+
name: FieldPath<T>;
|
|
61
|
+
defaultValue?: Key | null;
|
|
62
|
+
}
|
|
63
|
+
declare function FormSelect<T extends FieldValues>({ name, defaultValue, ...rest }: FormSelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
64
|
+
|
|
65
|
+
interface FormSwitchProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof Switch>, "isSelected" | "defaultSelected" | "onChange"> {
|
|
66
|
+
name: FieldPath<T>;
|
|
67
|
+
defaultValue?: boolean;
|
|
68
|
+
}
|
|
69
|
+
declare function FormSwitch<T extends FieldValues>({ name, defaultValue, ...rest }: FormSwitchProps<T>): react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
interface FormTextAreaProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof TextArea>, "value" | "defaultValue" | "onChange"> {
|
|
72
|
+
name: FieldPath<T>;
|
|
73
|
+
defaultValue?: string;
|
|
74
|
+
}
|
|
75
|
+
declare function FormTextArea<T extends FieldValues>({ name, defaultValue, ...rest }: FormTextAreaProps<T>): react_jsx_runtime.JSX.Element;
|
|
76
|
+
|
|
77
|
+
interface FormTextFieldProps<T extends FieldValues> extends Omit<React.ComponentProps<typeof TextField>, "value" | "defaultValue" | "onChange"> {
|
|
78
|
+
name: FieldPath<T>;
|
|
79
|
+
defaultValue?: string;
|
|
80
|
+
}
|
|
81
|
+
declare function FormTextField<T extends FieldValues>({ name, defaultValue, ...rest }: FormTextFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
interface FormTimeFieldProps<TFieldValues extends FieldValues = FieldValues> extends Omit<TimeFieldProps, "name" | "value" | "onChange" | "isInvalid"> {
|
|
84
|
+
name: Path<TFieldValues>;
|
|
85
|
+
}
|
|
86
|
+
declare function FormTimeField<TFieldValues extends FieldValues = FieldValues>({ name, ...props }: FormTimeFieldProps<TFieldValues>): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
interface ErrorSummaryProps {
|
|
89
|
+
className?: string;
|
|
90
|
+
title?: string;
|
|
91
|
+
autoFocus?: boolean;
|
|
92
|
+
}
|
|
93
|
+
declare function ErrorSummary({ className, title, autoFocus, }: ErrorSummaryProps): react_jsx_runtime.JSX.Element | null;
|
|
94
|
+
|
|
95
|
+
interface SubmitButtonProps extends React.ComponentProps<typeof Button> {
|
|
96
|
+
formId?: string;
|
|
97
|
+
disableWhenInvalid?: boolean;
|
|
98
|
+
disableWhenPristine?: boolean;
|
|
99
|
+
}
|
|
100
|
+
declare function SubmitButton({ formId, disableWhenInvalid, disableWhenPristine, isDisabled, children, ...rest }: SubmitButtonProps): react_jsx_runtime.JSX.Element;
|
|
101
|
+
|
|
102
|
+
interface FieldArrayListProps<TFieldValues> {
|
|
103
|
+
name: string;
|
|
104
|
+
getItemTitle?: (index: number) => string;
|
|
105
|
+
renderItem: (index: number) => React.ReactNode;
|
|
106
|
+
onAdd?: () => Partial<TFieldValues[keyof TFieldValues]>;
|
|
107
|
+
}
|
|
108
|
+
declare function FieldArrayList<TFieldValues extends Record<string, any>>({ name, getItemTitle, renderItem, onAdd, }: FieldArrayListProps<TFieldValues>): react_jsx_runtime.JSX.Element;
|
|
109
|
+
|
|
110
|
+
interface FormProviderProps<TFieldValues extends FieldValues = FieldValues> extends Omit<UseFormProps<TFieldValues>, "values"> {
|
|
111
|
+
id?: string;
|
|
112
|
+
onSubmit: SubmitHandler<TFieldValues>;
|
|
113
|
+
onInvalid?: SubmitErrorHandler<TFieldValues>;
|
|
114
|
+
children: React.ReactNode;
|
|
115
|
+
/**
|
|
116
|
+
* If true, automatically focuses and scrolls the first invalid field on submit.
|
|
117
|
+
* @default true
|
|
118
|
+
*/
|
|
119
|
+
shouldFocusError?: boolean;
|
|
120
|
+
/** Additional className applied to underlying Form */
|
|
121
|
+
className?: string;
|
|
122
|
+
}
|
|
123
|
+
declare function FormProvider<TFieldValues extends FieldValues = FieldValues>({ id, onSubmit, onInvalid, children, shouldFocusError, className, ...formOptions }: FormProviderProps<TFieldValues>): react_jsx_runtime.JSX.Element;
|
|
124
|
+
|
|
125
|
+
interface FormSaveBarProps {
|
|
126
|
+
formId?: string;
|
|
127
|
+
onCancel?: () => void;
|
|
128
|
+
primaryLabel?: string;
|
|
129
|
+
secondaryLabel?: string;
|
|
130
|
+
className?: string;
|
|
131
|
+
}
|
|
132
|
+
declare function FormSaveBar({ formId, onCancel, primaryLabel, secondaryLabel, className, }: FormSaveBarProps): react_jsx_runtime.JSX.Element;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* When the form has submit errors, scroll to the first one.
|
|
136
|
+
*/
|
|
137
|
+
declare function useScrollIntoViewOnError(enabled?: boolean): void;
|
|
138
|
+
|
|
139
|
+
interface UseAutoSaveOptions<TValues> {
|
|
140
|
+
delayMs?: number;
|
|
141
|
+
onAutoSave: (values: TValues) => Promise<void> | void;
|
|
142
|
+
}
|
|
143
|
+
declare function useAutoSave<TValues extends Record<string, unknown>>({ delayMs, onAutoSave, }: UseAutoSaveOptions<TValues>): void;
|
|
144
|
+
|
|
145
|
+
declare function focusFirstError(formEl: HTMLFormElement): void;
|
|
146
|
+
|
|
147
|
+
export { ErrorSummary, type ErrorSummaryProps, FieldArrayList, type FieldArrayListProps, FormAutocomplete, type FormAutocompleteProps, FormCheckbox, FormCheckboxGroup, type FormCheckboxGroupProps, type FormCheckboxProps, FormColorField, type FormColorFieldProps, FormDateField, type FormDateFieldProps, FormFileUpload, type FormFileUploadProps, FormNumberField, type FormNumberFieldProps, FormProvider, type FormProviderProps, FormRadioGroup, type FormRadioGroupProps, FormSaveBar, type FormSaveBarProps, FormSelect, type FormSelectProps, FormSwitch, type FormSwitchProps, FormTextArea, type FormTextAreaProps, FormTextField, type FormTextFieldProps, FormTimeField, type FormTimeFieldProps, SubmitButton, type SubmitButtonProps, type UseAutoSaveOptions, focusFirstError, useAutoSave, useScrollIntoViewOnError };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useFormContext,Controller,useFieldArray,useForm,FormProvider}from'react-hook-form';import*as ce from'react';import ce__default,{memo,createContext,useState,useContext,useRef,useEffect,useCallback,useId,useMemo}from'react';import {ComboBox,Group,Input,Button,ListBox,ListBoxSection,Header,Checkbox,composeRenderProps,CheckboxGroup,TextField,DateField,DialogTrigger,Popover,Dialog,DropZone,FileTrigger,NumberField,RadioGroup,Select,SelectValue,Switch,TimeField,DateInput,DateSegment,Link,Form,ComboBoxStateContext,useSlottedContext,PopoverContext,OverlayArrow,Modal,ListBoxItem,Calendar,CalendarGrid,CalendarGridBody,CalendarCell,Text,ModalOverlay,useLocale,Heading,CalendarGridHeader,CalendarHeaderCell}from'react-aria-components';import {useAsyncList}from'react-stately';import {twMerge}from'tailwind-merge';import*as sr from'@phosphor-icons/react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Minus,Check,Image,X,Upload}from'lucide-react';import {HexColorPicker}from'react-colorful';var Ie={prefix:String(Math.round(Math.random()*1e10)),current:0},Bt=ce__default.createContext(Ie),Ho=ce__default.createContext(false);var Go=!!(typeof window<"u"&&window.document&&window.document.createElement),We=new WeakMap;function Mo(e=false){let o=useContext(Bt),t=useRef(null);if(t.current===null&&!e){var r,n;let a=(n=ce__default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||n===void 0||(r=n.ReactCurrentOwner)===null||r===void 0?void 0:r.current;if(a){let i=We.get(a);i==null?We.set(a,{id:o.current,state:a.memoizedState}):a.memoizedState!==i.state&&(o.current=i.id,We.delete(a));}t.current=++o.current;}return t.current}function Oo(e){let o=useContext(Bt);o===Ie&&!Go&&process.env.NODE_ENV!=="production"&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let t=Mo(!!e),r=o===Ie&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${o.prefix}`;return e||`${r}-${t}`}function qo(e){let o=ce__default.useId(),[t]=useState($e()),r=t||process.env.NODE_ENV==="test"?"react-aria":`react-aria${Ie.prefix}`;return e||`${r}-${o}`}typeof ce__default.useId=="function"?qo:Oo;function Ko(){return false}function Uo(){return true}function jo(e){return ()=>{}}function $e(){return typeof ce__default.useSyncExternalStore=="function"?ce__default.useSyncExternalStore(jo,Ko,Uo):useContext(Ho)}var Qo=new Set(["Arab","Syrc","Samr","Mand","Thaa","Mend","Nkoo","Adlm","Rohg","Hebr"]),Yo=new Set(["ae","ar","arc","bcc","bqi","ckb","dv","fa","glk","he","ku","mzn","nqo","pnb","ps","sd","ug","ur","yi"]);function Ue(e){if(Intl.Locale){let t=new Intl.Locale(e).maximize(),r=typeof t.getTextInfo=="function"?t.getTextInfo():t.textInfo;if(r)return r.direction==="rtl";if(t.script)return Qo.has(t.script)}let o=e.split("-")[0];return Yo.has(o)}var Zo=Symbol.for("react-aria.i18n.locale");function Dt(){let e=typeof window<"u"&&window[Zo]||typeof navigator<"u"&&(navigator.language||navigator.userLanguage)||"en-US";try{Intl.DateTimeFormat.supportedLocalesOf([e]);}catch{e="en-US";}return {locale:e,direction:Ue(e)?"rtl":"ltr"}}var je=Dt(),Re=new Set;function Et(){je=Dt();for(let e of Re)e(je);}function Lt(){let e=$e(),[o,t]=useState(je);return useEffect(()=>(Re.size===0&&window.addEventListener("languagechange",Et),Re.add(t),()=>{Re.delete(t),Re.size===0&&window.removeEventListener("languagechange",Et);}),[]),e?{locale:"en-US",direction:"ltr"}:o}var tr=ce__default.createContext(null);function Qe(){let e=Lt();return useContext(tr)||e}var Ye=new Map;function Xe(e){let{locale:o}=Qe(),t=o+(e?Object.entries(e).sort((n,a)=>n[0]<a[0]?-1:1).join():"");if(Ye.has(t))return Ye.get(t);let r=new Intl.Collator(o,e);return Ye.set(t,r),r}function Ve(e){let o=Xe({usage:"search",...e}),t=useCallback((a,i)=>i.length===0?true:(a=a.normalize("NFC"),i=i.normalize("NFC"),o.compare(a.slice(0,i.length),i)===0),[o]),r=useCallback((a,i)=>i.length===0?true:(a=a.normalize("NFC"),i=i.normalize("NFC"),o.compare(a.slice(-i.length),i)===0),[o]),n=useCallback((a,i)=>{if(i.length===0)return true;a=a.normalize("NFC"),i=i.normalize("NFC");let s=0,c=i.length;for(;s+c<=a.length;s++){let l=a.slice(s,s+c);if(o.compare(i,l)===0)return true}return false},[o]);return useMemo(()=>({startsWith:t,endsWith:r,contains:n}),[t,r,n])}function At(e,o=300){let[t,r]=useState(e);return useEffect(()=>{let n=setTimeout(()=>r(e),o);return ()=>clearTimeout(n)},[e,o]),t}function ue(e=false){return `${e?"outline outline-1 outline-border-input focus:outline-2 focus:outline-action-default focus:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2":"outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-action-default focus-visible:outline-offset-0 invalid:outline-2 invalid:outline-feedback-error-border group-invalid:outline-2 group-invalid:outline-feedback-error-border forced-colors:focus:outline-[Highlight] forced-colors:focus:outline-2 forced-colors:focus:outline-offset-2"}`}function L(e,o){return composeRenderProps(e,t=>twMerge(o,t))}var k={sm:{text:"text-[length:var(--control-text-sm)]",height:"h-[var(--control-sm-height)]",padding:"px-[var(--control-padding-sm)]",paddingY:"py-[var(--control-gap-sm)]",gap:"gap-[var(--control-gap-sm)]"},md:{text:"text-[length:var(--control-text-md)]",height:"h-[var(--control-md-height)]",padding:"px-[var(--control-padding-md)]",paddingY:"py-[var(--control-gap-md)]",gap:"gap-[var(--control-gap-md)]"},lg:{text:"text-[length:var(--control-text-lg)]",height:"h-[var(--control-lg-height)]",padding:"px-[var(--control-padding-lg)]",paddingY:"py-[var(--control-gap-lg)]",gap:"gap-[var(--control-gap-lg)]"},xl:{text:"text-[length:var(--control-text-xl)]",height:"h-[var(--control-xl-height)]",padding:"px-[var(--control-padding-xl)]",paddingY:"py-[var(--control-gap-xl)]",gap:"gap-[var(--control-gap-xl)]"}};var he={xs:16,sm:20,md:24,lg:32,xl:40,"2xl":48},F=memo(({name:e,size:o="md",color:t,weight:r="regular",className:n,ariaLabel:a,...i})=>{let s=sr[e];if(!s)return process.env.NODE_ENV==="development"&&console.error(`Icon "${e}" not found in @phosphor-icons/react`),null;let c=typeof o=="string"&&o in he?he[o]:o,l=twMerge("inline-block flex-shrink-0",!t&&"text-current",n);return jsx(s,{...i,size:c,color:t,weight:r,className:l,"aria-label":a||`${e} icon`,"data-testid":`icon-${e}`})});F.displayName="Icon";var Gt=memo(({variant:e="subtle",shape:o="square",containerSize:t,containerClassName:r,size:n="md",className:a,name:i,color:s,weight:c,ariaLabel:l,ref:u,...d})=>{let x=typeof n=="string"&&n in he?he[n]:n,f=t?typeof t=="string"&&t in he?he[t]:t:x*1.75,p=twMerge("inline-flex items-center justify-center flex-shrink-0",o==="circle"?"rounded-full":"rounded-lg",e==="subtle"&&"bg-gray-100 dark:bg-gray-800",e==="solid"&&"bg-brand text-white",e==="outline"&&"border-2 border-current",r);return jsx("div",{className:p,style:{width:f,height:f},children:jsx(F,{...d,name:i,size:n,color:s,weight:c,className:a,ariaLabel:l})})});Gt.displayName="IconWithContainer";function se(){let[e,o]=ce__default.useState(false),t=ce__default.useCallback((n,a)=>{o(true),a?.(n);},[]),r=ce__default.useCallback((n,a)=>{o(false),a?.(n);},[]);return {isFocused:e,handleFocus:t,handleBlur:r}}function Y({children:e,className:o}){return jsx("div",{className:twMerge("relative w-full",o),children:e})}function Mt({onClick:e,size:o="md",className:t}){return jsx("button",{type:"button",onClick:r=>{r.preventDefault(),r.stopPropagation(),e();},className:twMerge("absolute right-2 top-1/2 -translate-y-1/2 transform text-text-muted hover:text-text-body",t),"aria-label":"Clear input",onMouseDown:r=>{r.preventDefault(),r.stopPropagation();},children:jsx(F,{name:"X",size:o==="sm"?16:20})})}function ve(e){let{isInvalid:o,isDisabled:t,isFocused:r}=e,n="border rounded-[var(--control-border-radius)] !outline-none ";return t?`${n} border-border-muted`:o&&r?`${n} border-feedback-error-border shadow-[inset_0_0_0_1px_var(--color-feedback-error-border)]`:o?`${n} border-feedback-error-border`:r?`${n} border-border-focus shadow-[inset_0_0_0_1px_var(--color-border-focus)]`:`${n} border-border-input`}function Ot(e){return e.isDisabled?"bg-background-muted":e.transparent?"bg-transparent":"bg-background-input"}function _(e){let{isInvalid:o,isDisabled:t,isFocused:r,transparent:n,size:a="md",className:i}=e;return twMerge("w-full",ve({isInvalid:o,isDisabled:t,isFocused:r}),Ot({transparent:n,isDisabled:t}),k[a].text,k[a].height,k[a].padding,i)}function qt(e){let{size:o="md",isFocusWithin:t,isInvalid:r,isDisabled:n,transparent:a,className:i}=e;return twMerge("group flex items-center rounded-[var(--control-border-radius)] overflow-hidden",Ot({transparent:a,isDisabled:n}),k[o].height,ve({isFocused:t,isInvalid:r,isDisabled:n}),i)}function A({children:e,size:o="md",tooltip:t,isRequired:r,className:n,htmlFor:a}){return jsxs("label",{htmlFor:a,className:twMerge(k[o].text,"!text-text-label font-semibold flex items-center gap-1",n),children:[e,r&&jsx("span",{children:"*"}),t&&jsx("span",{className:"text-text-muted",children:jsx(F,{name:"Info",size:o==="sm"?16:20})})]})}function C({size:e="md",className:o,children:t,...r}){return jsx("div",{...r,className:twMerge("leading-[2.25] text-text-caption",k[e].text,o),children:t})}function m({children:e,size:o="md",className:t}){return jsx("div",{role:"alert",className:twMerge(k[o].text,"text-feedback-error-text",t),children:e})}function Be({size:e="md",isInvalid:o,isDisabled:t,isFocused:r,transparent:n,className:a,...i}){return jsx("input",{className:_({isInvalid:o,isDisabled:t,isFocused:r,transparent:n,size:e,className:a}),...i})}var ur="flex font-medium justify-center items-center gap-2 text-center transition rounded-[var(--control-border-radius)] whitespace-nowrap box-border",mr={default:"bg-action-default text-[color:var(--color-action-default-text)] hover:bg-action-default-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",brand:"bg-action-brand text-[color:var(--color-action-brand-text)] hover:bg-action-brand-hover forced-colors:bg-[ButtonText] forced-colors:text-[ButtonFace] border-2 border-transparent",secondary:"bg-transparent text-text-body border-2 border-border-muted hover:bg-text-body/5 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText]",ghost:"border-none text-text-body hover:bg-text-body/5 forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace]",destructive:"bg-transparent text-feedback-error-text border-2 border-border-muted hover:bg-feedback-error-background/50 forced-colors:border-[ButtonBorder] forced-colors:bg-[ButtonFace] forced-colors:text-[Mark]",link:"!text-action-brand hover:text-action-brand/90 hover:underline hover:decoration-2 hover:underline-offset-4",icon:"border-none text-text-body hover:bg-background-hover hover:text-text-heading forced-colors:text-[ButtonText] forced-colors:hover:bg-[ButtonFace] p-1 flex-shrink-0 rounded-[var(--control-border-radius)]",unstyled:"bg-transparent"},Kt={full:"w-full",default:"w-fit"},pr="opacity-50 cursor-not-allowed pointer-events-none",fr="opacity-100 cursor-pointer",br={"top-right":"-right-2 -top-2","top-left":"-left-2 -top-2","bottom-right":"-right-2 -bottom-2","bottom-left":"-left-2 -bottom-2"},xr={primary:"bg-action-brand text-white",destructive:"bg-action-destructive text-white"};function gr(e){return e?e==="primary"?"brand":e:"default"}function hr(e){let{variant:o="default",size:t="md",isDisabled:r,fullWidth:n=false,isLoading:a=false}=e,i=gr(o),s=i==="unstyled"?"":`${ur} ${mr[i]}`;i!=="unstyled"&&(s+=` ${k[t].text} ${k[t].height} ${k[t].padding} ${k[t].gap}`),r||a?s+=` ${pr}`:s+=` ${fr}`,n?s+=` ${Kt.full}`:s+=` ${Kt.default}`;let c=i==="brand"?"focus-visible:outline-action-brand":void 0;return [s,ue(),c].filter(Boolean).join(" ")}function w(e){let{icon:o,children:t,isLoading:r=false,loadingText:n,loadingIndicator:a,size:i="md",iconPosition:s="left",iconWeight:c,href:l,className:u,badgeNumber:d,badgeVariant:x="primary",badgePosition:f="top-right",style:p,target:S,rel:P,...b}=e,h=o?jsx(F,{name:o,size:i,weight:c}):null,v=jsxs(Fragment,{children:[s==="left"&&h,typeof t=="function"?null:t,s==="right"&&h]}),E=jsxs("div",{className:"relative inline-flex items-center justify-center",children:[jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a||jsx(F,{name:"CircleNotch",size:i,className:"animate-spin","aria-hidden":"true"})}),jsx("div",{className:"invisible","aria-hidden":"true",children:v}),n&&jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:n})]}),N=(d??0)>0,g=twMerge(hr(e),u),T=l?{href:l,target:S,rel:P,...b}:{};if(l){let{onPress:j,onPressStart:ae,onPressEnd:H,onPressChange:de,onPressUp:te,onAuxClick:q,onContextMenu:ge,onDoubleClick:$,...y}=b;Object.assign(T,y);}let Q=l?jsx(Link,{...T,...r&&{"aria-busy":true},style:N?void 0:p,className:g,children:r?E:typeof t=="function"?(function(j){return jsxs(Fragment,{children:[s==="left"&&h,t(j),s==="right"&&h]})}):v}):jsx(Button,{...b,...r&&{"aria-busy":true},style:N?void 0:p,className:g,children:r?E:typeof t=="function"?(function(j){return jsxs(Fragment,{children:[s==="left"&&h,t(j),s==="right"&&h]})}):v});return N?jsxs("div",{className:twMerge("relative flex",u),style:p,children:[Q,jsx("span",{className:`absolute ${br[f]} flex h-5 w-5 items-center justify-center rounded-full ${xr[x]} text-xs font-medium`,"aria-label":`${d} items`,children:d})]}):Q}function tt({transparent:e=false,className:o,children:t,...r}){return jsx(ModalOverlay,{...r,className:composeRenderProps(o,(n,a)=>twMerge("fixed inset-0 z-50",e?"bg-transparent":["bg-gradient-to-br from-black/20 via-black/15 to-black/20","backdrop-blur-[2px]","supports-[backdrop-filter]:bg-black/15"].join(" "),a.isEntering&&["animate-in fade-in","duration-300 ease-out"].join(" "),a.isExiting&&["animate-out fade-out","duration-200 ease-in"].join(" "),n)),children:t})}function wr({isEntering:e,isExiting:o,className:t="",disableGroup:r=false}){let n=[!r&&"group","bg-background-surface","forced-colors:bg-[Canvas]","shadow-lg","rounded-[var(--control-border-radius)]","bg-clip-padding","border","border-border-default","outline-none"].filter(Boolean).join(" "),a=e?["animate-in","fade-in","placement-bottom:slide-in-from-top-1","placement-top:slide-in-from-bottom-1","placement-left:slide-in-from-right-1","placement-right:slide-in-from-left-1","ease-out","duration-200"].join(" "):"",i=o?["animate-out","fade-out","placement-bottom:slide-out-to-top-1","placement-top:slide-out-to-bottom-1","placement-left:slide-out-to-right-1","placement-right:slide-out-to-left-1","ease-in","duration-150"].join(" "):"";return [n,a,i,t].filter(Boolean).join(" ")}function Fe({children:e,showArrow:o=false,withBackdrop:t=false,className:r,isDismissable:n=true,disableGroup:a=false,...i}){let c=useSlottedContext(PopoverContext)?.trigger==="SubmenuTrigger",l=o?12:8;l=c?l-6:l;let u=jsxs(Popover,{offset:l,...i,className:composeRenderProps(r,(d,x)=>wr({...x,className:d,disableGroup:a})),children:[o&&jsx(OverlayArrow,{children:jsx("svg",{width:12,height:12,viewBox:"0 0 12 12",className:"block fill-background-surface stroke-border-default stroke-1 group-placement-left:-rotate-90 group-placement-right:rotate-90 group-placement-bottom:rotate-180 forced-colors:fill-[Canvas] forced-colors:stroke-[ButtonBorder]",children:jsx("path",{d:"M0 0 L6 6 L12 0"})})}),e]});return t?jsx(tt,{isDismissable:n,children:jsx(Modal,{isDismissable:n,children:u})}):u}var Jt=createContext("md");function Zt(){return useContext(Jt)}function Lr(e="md"){return `flex-1 text-start data-[placeholder]:text-text-placeholder overflow-hidden text-ellipsis whitespace-nowrap ${k[e].text}`}function Ar(){let e=ce__default.useCallback((t,r)=>{r?.(t);},[]),o=ce__default.useCallback((t,r)=>{r?.(t);},[]);return {handleFocus:e,handleBlur:o}}function ot({label:e,description:o,errorMessage:t,children:r,items:n,renderItem:a,size:i="md",selectedKey:s,defaultSelectedKey:c,onSelectionChange:l,placeholder:u,showErrors:d=false,tooltip:x,isRequired:f,transparent:p,reserveErrorSpace:S=false,placement:P="bottom start",shouldFlip:b=true,menuWidth:h="match",...v}){let[E,N]=useState(null),[g,T]=useState(null),Q=s??E??c,{handleFocus:j,handleBlur:ae}=Ar(),H=q=>{l&&q!==null&&l(q),l||N(q);},de=useRef(null),te=useRef(null);return jsx(Select,{...v,selectedKey:Q,defaultSelectedKey:c,onSelectionChange:H,placeholder:u,className:L(v.className,"group flex w-full flex-col"),ref:de,onOpenChange:q=>{q&&te.current?T(te.current.offsetWidth):q||de.current?.blur();},children:({isDisabled:q,isInvalid:ge,isOpen:$})=>jsxs("div",{className:"flex flex-col",children:[e&&jsx(A,{size:i,tooltip:x,isRequired:f,children:e}),jsx(Y,{children:jsx("div",{ref:te,children:jsxs(w,{variant:"unstyled",className:twMerge(_({isInvalid:ge||d&&!!t,isDisabled:q,isFocused:$,transparent:p,size:i}),"flex items-center text-start gap-4 cursor-pointer pl-[var(--control-padding-sm)]"),onFocus:y=>j(y,v.onFocus),onBlur:y=>ae(y,v.onBlur),"data-open":$,children:[jsx(SelectValue,{className:Lr(i)}),jsx(F,{name:"CaretDown","aria-hidden":true,className:twMerge("h-4 w-4 text-text-body group-disabled:text-gray-200 forced-colors:text-[ButtonText] transition-transform",$&&"rotate-180")})]})})}),S?jsx("div",{className:"mt-1 min-h-[20px]",children:d?jsx(m,{size:i,className:"text-feedback-error-text",children:typeof t=="function"&&v.validationResult?t(v.validationResult):typeof t=="string"?t:null}):o?jsx(C,{size:i,children:o}):null}):jsx(Fragment,{children:d?jsx(m,{size:i,className:"mt-1 text-feedback-error-text",children:typeof t=="function"&&v.validationResult?t(v.validationResult):typeof t=="string"?t:null}):o?jsx(C,{size:i,className:"mt-1",children:o}):null}),jsx(Fe,{className:"bg-background-input shadow-xl border border-border-input/20 backdrop-blur-sm rounded-[var(--control-border-radius)]",style:{width:h==="match"&&g?`${g}px`:void 0,minWidth:h==="auto"&&g?`${g}px`:void 0,maxWidth:h==="auto"?"min(600px, 90vw)":void 0},placement:P,shouldFlip:b,children:jsx(Jt.Provider,{value:i,children:jsx(ListBox,{items:n,className:"w-full max-h-[300px] overflow-auto bg-background-input p-0 outline-0",children:a&&n?y=>jsx(ye,{id:y.id,textValue:y.label,size:i,children:jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap min-w-0 flex-1",children:a(y)})},y.id):r})})})]})})}function ye({size:e,className:o,...t}){let r=Zt(),n=e??r;return jsx(ListBoxItem,{...t,className:twMerge("flex cursor-default items-center gap-2 rounded-sm px-3 outline-none text-text-body data-[focused]:bg-background-hover data-[focus-visible]:ring-2 data-[focus-visible]:ring-action-default data-[focus-visible]:ring-inset data-[selected]:bg-background-selected data-[selected]:font-medium overflow-hidden",k[n].paddingY,k[n].text,o)})}var Yr={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-7 w-7"},Xr={sm:"pl-7",md:"pl-9",lg:"pl-10",xl:"pl-12"},_t={sm:"py-1",md:"py-2",lg:"py-3",xl:"py-4"};function Jr(){let e=ce__default.useContext(ComboBoxStateContext);return jsx(Button,{slot:null,className:"clear-button","aria-label":"Clear",onPress:()=>e?.setSelectedKey(null),children:"\u2715"})}var it=(e,o,t)=>{if(e==null||e==="")return "";let n=(t?t.flatMap(a=>a.items):o||[]).find(a=>a.id===e);return n?n.name:""};async function Zr(e,o,t){try{let r=e.url.replace("{q}",o),n=new URLSearchParams;e.extraParams&&Object.entries(e.extraParams).forEach(([c,l])=>{n.append(c,l.toString());});let a=`${r}${n.toString()?"?"+n.toString():""}`,i=await fetch(a,{method:"GET",headers:e.headers,signal:t});if(!i.ok)throw new Error(`HTTP error! status: ${i.status}`);let s=await i.json();return {items:e.transformResponse(s)}}catch(r){console.error("Error in REST request:",r);let n=r instanceof Error?r.message:"Unknown error occurred";return {items:[],error:n}}}async function _r(e,o,t){try{let r=e.graphqlQuery.replace(`$${e.variableKey||"filter"}`,`"${o}"`),n=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json",...e.headers},body:JSON.stringify({query:r}),signal:t});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);let a=await n.json();if(a.errors)throw new Error(a.errors[0]?.message||"GraphQL error occurred");return e.responsePath&&(a=e.responsePath.split(".").reduce((i,s)=>i?.[s],a)),{items:e.transformResponse(a)}}catch(r){console.error("Error in GraphQL request:",r);let n=r instanceof Error?r.message:"Unknown error occurred";return {items:[],error:n}}}function lt({label:e,staticItems:o=[],sections:t,selectedKey:r,defaultSelectedKey:n,onSelectionChange:a,requestConfig:i,defaultFilter:s,placeholder:c,errorMessage:l,description:u,size:d="md",tooltip:x,isRequired:f,isDisabled:p,isInvalid:S,validationResult:P,showErrors:b=true,renderItem:h,renderLeftIcon:v,renderSection:E,autoFocus:N=false,reserveErrorSpace:g=false}){let T=ce__default.useRef(null),[Q,j]=ce__default.useState(),[ae,H]=useState(()=>it(r||n,o,t)),[de,te]=useState(false),q=At(ae),{contains:ge}=Ve({sensitivity:"base"}),[$,y]=useState(),qe=k[d].text,Vt=k[d].height,ie=null;useEffect(()=>{N&&te(true);},[N]),useEffect(()=>{let M=()=>{T.current&&j(T.current.offsetWidth);};return M(),window.addEventListener("resize",M),()=>window.removeEventListener("resize",M)},[]),useEffect(()=>{ie&&ie.setFilterText(q);},[q,ie]),i&&(ie=useAsyncList({async load({signal:M,filterText:D=""}){if(!i.url||i.shouldLoad&&!i.shouldLoad(D))return {items:[]};try{let Z;return i.requestType==="GraphQL"?Z=await _r(i,D,M):Z=await Zr(i,D,M),y(Z.error),{items:Z.items}}catch(Z){return console.error("Error loading items:",Z),y(Z instanceof Error?Z.message:"Unknown error occurred"),{items:[]}}},initialFilterText:""})),q===""&&(ie=null);let Do=M=>{let D=it(M,o,t);H(D),a&&a(M);},Lo=M=>{H(M);let D=it(r,o,t);r!=null&&M!==D&&a&&a(null);};return jsx(ComboBox,{onSelectionChange:Do,selectedKey:r||void 0,defaultSelectedKey:n||void 0,defaultItems:t?t.flatMap(M=>M.items):o,items:ie?ie.items:void 0,className:L("group flex flex-col","w-full"),menuTrigger:"focus",isDisabled:p,isInvalid:S||!!l,inputValue:ae,onInputChange:Lo,autoFocus:N,defaultFilter:s||ge,"aria-label":e||c||"Autocomplete",children:M=>jsxs("div",{className:"flex flex-col",children:[e&&jsx(A,{size:d,tooltip:x,isRequired:f,children:e}),jsxs(Group,{ref:T,className:qt({size:d,isInvalid:S||!!l,isDisabled:p,isFocusWithin:de||M.isOpen,className:"w-full cursor-pointer"}),"aria-label":e||c||"Autocomplete",style:{position:"relative"},children:[v?jsx("div",{className:"absolute left-3",children:v(!!ie?.isLoading)}):jsx(F,{name:"MagnifyingGlass",className:`${Yr[d]} absolute left-3 text-inherit`}),jsx(Input,{className:`flex-1 min-w-0 border-none pr-3 outline-0 placeholder:text-text-placeholder ${Xr[d]} ${qe} ${Vt} ${p?"bg-background-muted":"bg-background-input"}`,placeholder:c,disabled:p,onFocus:()=>te(true),onBlur:()=>te(false)}),ae&&!p&&jsx(Jr,{}),jsx(Button,{className:`px-2 text-text-body ${qe} ${Vt} ${p?"bg-background-muted":"bg-background-input"}`,"aria-label":"Toggle menu",isDisabled:p,children:({isPressed:D})=>jsx(F,{name:D?"CaretUp":"CaretDown",className:"h-4 w-4"})})]}),g?jsx("div",{className:"mt-1 min-h-[20px]",children:b&&$?jsx(m,{size:d,className:"text-feedback-error-text",children:$}):b&&typeof l=="string"?jsx(m,{size:d,className:"text-feedback-error-text",children:l}):b&&typeof l=="function"&&P?jsx(m,{size:d,className:"text-feedback-error-text",children:l(P)}):u?jsx(C,{size:d,children:u}):null}):jsxs(Fragment,{children:[u&&jsx(C,{size:d,className:"mt-1",children:u}),b&&$&&jsx(m,{size:d,className:"text-feedback-error-text mt-1",children:$}),b&&typeof l=="string"&&jsx(m,{size:d,className:"text-feedback-error-text mt-1",children:l}),b&&typeof l=="function"&&P&&jsx(m,{size:d,className:"text-feedback-error-text mt-1",children:l(P)})]}),jsx(Fe,{className:"bg-background-input shadow-xl border border-border-input/20 backdrop-blur-sm ring-1 ring-black/5 rounded-[var(--control-border-radius)]",style:{minWidth:Q?`${Q}px`:void 0},children:jsx(ListBox,{className:`max-h-[300px] overflow-auto bg-background-input outline-none ${qe}`,children:t?t.map(D=>{let Z=D.items.map(oe=>jsx(ye,{id:oe.id,textValue:oe.name,size:d,className:`flex cursor-default items-center gap-2 px-3 ${_t[d]} text-text-body outline-none data-[focused]:bg-background-hover data-[selected]:bg-background-selected data-[selected]:font-medium`,children:h?h(oe):jsxs(Fragment,{children:[oe.name,jsx(F,{name:"X",className:"ml-auto h-4 w-4 text-text-muted opacity-0 data-[focused]:opacity-100 data-[selected]:opacity-100"})]})},oe.id));if(E){let oe=E(D,Z);return ce__default.isValidElement(oe)&&oe.type===ListBoxSection?oe:jsx(ListBoxSection,{children:oe},D.name)}return jsxs(ListBoxSection,{children:[jsx(Header,{className:"px-3 py-1 text-sm font-bold text-text-muted",children:D.name}),Z]},D.name)}):D=>jsx(ye,{id:D.id,textValue:D.name,size:d,className:`flex cursor-default items-center gap-2 px-3 ${_t[d]} text-text-body outline-none data-[focused]:bg-background-hover data-[selected]:bg-background-selected data-[selected]:font-medium`,children:h?h(D):jsxs(Fragment,{children:[D.name,jsx(F,{name:"X",className:"ml-auto h-4 w-4 text-text-muted opacity-0 data-[focused]:opacity-100 data-[selected]:opacity-100"})]})},D.id)})})]})})}function V(e,o){let t=o.split("."),r=e;for(let a of t)if(r&&typeof r=="object"&&a in r)r=r[a];else {r=void 0;break}let n=r?.message;return typeof n=="string"?n:void 0}function Pl({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(lt,{...t,selectedKey:i.value??null,onSelectionChange:s=>i.onChange(s),showErrors:!!a,errorMessage:a})})}function ro(e){return jsxs(CheckboxGroup,{...e,className:L(e.className,"flex flex-col gap-2"),children:[jsx(A,{children:e.label}),e.children,e.description&&jsx(C,{children:e.description}),jsx(m,{children:typeof e.errorMessage=="function"?void 0:e.errorMessage})]})}function sa({isDisabled:e}){return `flex gap-2 items-center group text-sm transition ${e?"text-text-disabled":"text-text-caption"}`}function la({isSelected:e,isInvalid:o,isDisabled:t,isIndeterminate:r,variant:n="default"}){let a="w-5 h-5 flex-shrink-0 rounded-[var(--control-border-radius)] flex items-center justify-center border-2 transition ring-offset-2 focus:ring-2",i=n==="brand"?"focus:ring-action-brand":"focus:ring-action-default",s="";if(t)s="border-border-muted bg-background-muted";else if(o)s="border-feedback-error-border bg-feedback-error-background";else if(e||r){let c=n==="brand"?"action-brand":"action-default";s=`bg-${c} border-${c} hover:bg-${c}-hover hover:border-${c}-hover`;}else s="bg-background-input border-border-input hover:border-border-focus";return `${a} ${i} ${s}`}var oo="w-4 h-4 text-text-onPrimary group-disabled:text-text-disabled";function ao(e){let{children:o,variant:t="default",...r}=e;return jsx(Checkbox,{...r,className:composeRenderProps(e.className,(n,a)=>`${sa(a)} ${n||""}`),children:n=>{let{isSelected:a,isIndeterminate:i,...s}=n,c=jsx("div",{className:la({isSelected:a,isIndeterminate:i,variant:t,...s}),children:i?jsx(Minus,{"aria-hidden":true,className:oo}):a?jsx(Check,{"aria-hidden":true,className:oo}):null});return jsxs(Fragment,{children:[c,typeof o=="function"?o(n):o]})}})}function Hl({name:e,defaultValue:o,errorBelow:t=false,...r}){let{control:n,formState:a}=useFormContext(),i=V(a.errors,e);return jsx(Controller,{control:n,name:e,defaultValue:o,render:({field:s})=>jsxs("div",{className:"flex flex-col gap-1",children:[jsx(ao,{...r,isSelected:!!s.value,onChange:c=>s.onChange(c),"aria-invalid":!!i,children:r.children}),t&&i&&jsx(m,{children:i})]})})}function Kl({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(ro,{...t,value:i.value||[],onChange:s=>i.onChange(s),errorMessage:a,children:t.children})})}function Ce(e){if(!e)return false;let o=e.startsWith("#")?e.slice(1):e;return /^[0-9A-Fa-f]{3}$|^[0-9A-Fa-f]{6}$/.test(o)}function ut(e){if(!e)return "";let o=e.startsWith("#")?e.slice(1):e;return o.length===3&&(o=o.split("").map(t=>t+t).join("")),`#${o.toUpperCase()}`}function lo({label:e,description:o,errorMessage:t,size:r="md",tooltip:n,isRequired:a,transparent:i,className:s,validationResult:c,value:l,defaultValue:u,onChange:d,placeholder:x="#000000",showColorSwatch:f=true,reserveErrorSpace:p=true,...S}){let[P,b]=useState(u||""),[h,v]=useState(l||u||""),[E,N]=useState(false),[g,T]=useState(null),{isFocused:Q,handleFocus:j,handleBlur:ae}=se(),H=l!==void 0?l:P;useEffect(()=>{l!==void 0&&v(l);},[l]);let de=H?!Ce(H):false,te=useCallback($=>{if(v($),Ce($)){let y=ut($);d?d(y):b(y);}else $===""&&(d?d(""):b(""));},[d]),q=useCallback($=>{let y=ut($);v(y),d?d(y):b(y);},[d]),ge=useCallback($=>{if(Ce(h)){let y=ut(h);v(y),d&&y!==H?d(y):!d&&y!==P&&b(y);}ae($,S.onBlur);},[h,H,P,d,ae,S.onBlur]);return jsx(TextField,{...S,isRequired:a,className:L(s,"group flex flex-col"),children:({isDisabled:$})=>jsxs("div",{className:"flex flex-col",children:[e&&jsx(A,{size:r,tooltip:n,isRequired:a,children:e}),jsx(Y,{children:jsxs("div",{className:"flex gap-2",children:[jsxs("div",{className:"flex-1 relative",children:[jsx(Be,{size:r,disabled:$,type:"text",value:h,placeholder:x,onFocus:y=>j(y,S.onFocus),onBlur:ge,onChange:y=>te(y.target.value),className:twMerge(_({isInvalid:de,isDisabled:$,isFocused:Q,size:r,transparent:i}),f?"pr-12":"pr-3","pl-3")}),f&&jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none",style:{width:k[r].height},children:jsx("div",{className:twMerge("w-6 h-6 rounded border shadow-sm",Ce(H)?"border-border-default":"border-border-default bg-background-muted"),style:Ce(H)?{backgroundColor:H}:void 0,"aria-hidden":"true",children:!Ce(H)&&jsx("div",{className:"w-full h-full flex items-center justify-center",children:jsx("div",{className:"w-3 h-3 rounded-full border-2 border-border-muted"})})})})]}),jsx("div",{ref:T,children:jsx(w,{variant:"secondary",size:r,icon:"Palette",onPress:()=>N(!E),isDisabled:$,className:"flex-shrink-0",children:"Pick"})})]})}),p?jsx("div",{className:"mt-1 min-h-[20px]",children:typeof t=="string"?jsx(m,{size:r,children:t}):typeof t=="function"&&c?jsx(m,{size:r,children:t(c)}):o?jsx(C,{size:r,children:o}):null}):jsx(Fragment,{children:typeof t=="string"?jsx(m,{size:r,className:"mt-1",children:t}):typeof t=="function"&&c?jsx(m,{size:r,className:"mt-1",children:t(c)}):o?jsx(C,{size:r,className:"mt-1",children:o}):null}),E&&g&&jsx(Fe,{triggerRef:{current:g},isOpen:E,onOpenChange:N,placement:"bottom end",className:"bg-background-input shadow-xl border border-border-input/20 backdrop-blur-sm rounded-lg p-4",children:jsxs("div",{className:"flex flex-col gap-4",children:[jsx(HexColorPicker,{color:H||"#000000",onChange:q,style:{width:"200px",height:"200px"}}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-10 h-10 rounded border border-border-default shadow-sm flex-shrink-0",style:{backgroundColor:H||"#000000"}}),jsx("div",{className:"flex-1 text-text-body text-[length:var(--control-text-sm)] font-mono",children:H||"#000000"})]})]})})]})})}function dd({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(lo,{...t,value:i.value??"",onChange:s=>i.onChange(s),isInvalid:!!a,errorMessage:a})})}function Ia({isSelected:e,isDisabled:o}){let t=[ue,"w-9 h-9 text-sm cursor-default rounded-sm flex items-center justify-center forced-color-adjust-none font-semibold"];return o?t.push("text-text-disabled forced-colors:text-[GrayText]"):e?t.push("bg-action-default text-text-onPrimary invalid:bg-feedback-error-border forced-colors:bg-[Highlight] forced-colors:invalid:bg-[Mark] forced-colors:text-[HighlightText]"):t.push("text-text-body hover:bg-background-hover pressed:bg-background-selected"),t.join(" ")}function pt({errorMessage:e,...o}){return jsxs(Calendar,{...o,children:[jsx(uo,{}),jsxs(CalendarGrid,{className:"border-separate [border-spacing:0] [&_td]:p-0 [&_td]:!border-0",children:[jsx(mo,{}),jsx(CalendarGridBody,{children:t=>jsx(CalendarCell,{date:t,className:({isSelected:r,isDisabled:n})=>`${Ia({isSelected:r,isDisabled:n})} border-0`})})]}),e&&jsx(Text,{slot:"errorMessage",className:"text-sm text-red-600",children:e})]})}function uo(){let{direction:e}=useLocale(),o=18;return jsxs("header",{className:"flex w-full items-center gap-1 px-1 pb-4",children:[jsx(w,{variant:"icon",slot:"previous",className:"pl-0",children:e==="rtl"?jsx(F,{name:"CaretRight","aria-hidden":true,size:o}):jsx(F,{name:"CaretLeft","aria-hidden":true,size:o})}),jsx(Heading,{className:"text-md mx-2 flex-1 text-center font-semibold text-zinc-900 dark:text-zinc-200"}),jsx(w,{variant:"icon",slot:"next",className:"pr-0",children:e==="rtl"?jsx(F,{name:"CaretLeft","aria-hidden":true,size:o}):jsx(F,{name:"CaretRight","aria-hidden":true,size:o})})]})}function mo(){return jsx(CalendarGridHeader,{children:e=>jsx(CalendarHeaderCell,{className:"text-xs font-semibold text-text-caption",children:e})})}function bt({label:e,description:o,errorMessage:t,size:r="md",tooltip:n,isRequired:a,isDisabled:i,isInvalid:s,showCalendar:c=true,reserveErrorSpace:l=true,validationResult:u,className:d,...x}){let[f,p]=useState(false),S=P=>{x.onChange&&P&&x.onChange(P),p(false);};return jsxs(DateField,{...x,isDisabled:i,isRequired:a,isInvalid:s,className:L(d,"flex flex-col gap-1"),children:[e&&jsx(A,{size:r,tooltip:n,isRequired:a,children:e}),jsx(Y,{children:jsxs("div",{className:"relative w-full",children:[jsx(fo,{size:r,isDisabled:i,isInvalid:s,hasCalendar:c}),c&&!i&&jsxs(DialogTrigger,{isOpen:f,onOpenChange:p,children:[jsx(w,{variant:"unstyled",className:"absolute right-2 top-1/2 -translate-y-1/2 flex h-8 w-8 items-center justify-center rounded hover:bg-background-hover text-text-muted hover:text-text-body transition-colors","aria-label":"Open calendar",children:jsx(F,{name:"Calendar",size:18})}),jsx(Popover,{className:"bg-background-surface rounded-lg border border-border-default shadow-xl",children:jsx(Dialog,{className:"p-4 outline-none",children:jsx(pt,{value:x.value,onChange:S,minValue:x.minValue,maxValue:x.maxValue,isDisabled:i,isReadOnly:x.isReadOnly,isDateUnavailable:x.isDateUnavailable})})})]})]})}),l?jsx("div",{className:"mt-1 min-h-[20px]",children:typeof t=="string"?jsx(m,{size:r,children:t}):typeof t=="function"&&u?jsx(m,{size:r,children:t(u)}):o?jsx(C,{size:r,children:o}):null}):jsx(Fragment,{children:typeof t=="string"?jsx(m,{size:r,className:"mt-1",children:t}):typeof t=="function"&&u?jsx(m,{size:r,className:"mt-1",children:t(u)}):o?jsx(C,{size:r,className:"mt-1",children:o}):null})]})}function za({isPlaceholder:e,isDisabled:o,size:t="md"}){return twMerge("inline-block box-content px-0.5 rounded outline-none tabular-nums text-center transition-colors",{sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-lg"}[t],e?"text-text-placeholder italic":"text-text-body",o?"text-text-disabled cursor-not-allowed":"cursor-text",!o&&"hover:bg-background-hover","data-[focused]:bg-background-selected data-[focused]:text-text-body")}function fo({size:e="md",isDisabled:o,isInvalid:t,hasCalendar:r,className:n,...a}){return jsx(DateInput,{className:twMerge(ve({isInvalid:t,isDisabled:o}),"px-3 py-2 flex items-center gap-0.5 w-full",r&&"pr-10",n),...a,children:i=>jsx(DateSegment,{segment:i,className:za({isPlaceholder:i.isPlaceholder,isDisabled:!i.isEditable||o,size:e})})})}function Od({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(bt,{...t,value:i.value??null,onChange:s=>i.onChange(s),isInvalid:!!a,errorMessage:a})})}function xt({value:e,onChange:o,onUrlChange:t,accept:r="image/*",maxSize:n,isDisabled:a=false,onUpload:i,className:s,showPreview:c=true,placeholder:l="Drop files here or click to browse"}){let[u,d]=useState(false),[x,f]=useState(false),[p,S]=useState(null),[P,b]=useState(e),h=useRef(null),v=async g=>{if(S(null),n&&g.size>n){S(`File size must be less than ${(n/1024/1024).toFixed(2)}MB`);return}if(c&&g.type.startsWith("image/")){let T=new FileReader;T.onloadend=()=>{b(T.result);},T.readAsDataURL(g);}if(i){f(true);try{let T=await i(g);b(T),t?.(T);}catch(T){S("Failed to upload file"),console.error("Upload error:",T);}finally{f(false);}}o?.(g,P);},E=g=>{let T=g.items;if(T.length>0){let Q=T[0];if(Q.kind==="file"){let j=Q.getAsFile();j&&v(j);}}d(false);},N=()=>{b(void 0),S(null),o?.(null),t?.(""),h.current&&(h.current.value="");};return jsxs("div",{className:twMerge("w-full",s),children:[jsxs(DropZone,{className:twMerge("relative flex min-h-[200px] w-full flex-col items-center justify-center rounded-lg border-2 border-dashed transition-colors",u?"border-action-brand bg-action-brand/5":"border-border-muted hover:border-border-default",a&&"pointer-events-none opacity-50",p&&"border-feedback-error-border bg-feedback-error-background/50"),onDrop:E,onDropEnter:()=>d(true),onDropExit:()=>d(false),children:[P?jsxs("div",{className:"relative flex h-full w-full items-center justify-center p-4",children:[c&&P.startsWith("data:image")?jsx("img",{src:P,alt:"Preview",className:"max-h-48 max-w-full rounded-md object-contain"}):jsxs("div",{className:"flex flex-col items-center gap-2",children:[jsx(Image,{className:"h-12 w-12 text-text-muted"}),jsx("span",{className:"text-sm text-text-muted",children:"File uploaded"})]}),!a&&jsx(w,{variant:"icon",size:"sm",onPress:N,className:"absolute right-2 top-2 bg-background-surface shadow-md",children:jsx(X,{className:"h-4 w-4"})})]}):jsxs("div",{className:"flex flex-col items-center gap-4 p-6",children:[jsx(Upload,{className:"h-12 w-12 text-text-muted"}),jsxs("div",{className:"text-center",children:[jsx("p",{className:"text-sm text-text-body",children:l}),jsx("p",{className:"mt-1 text-xs text-text-muted",children:r==="image/*"?"PNG, JPG, GIF up to 10MB":`Accepts ${r}`})]}),jsx(FileTrigger,{acceptedFileTypes:r.split(","),onSelect:g=>{let T=Array.from(g||[]);T.length>0&&v(T[0]);},children:jsx(w,{variant:"secondary",size:"sm",isDisabled:a,children:"Choose File"})})]}),x&&jsx("div",{className:"absolute inset-0 flex items-center justify-center rounded-lg bg-background-surface/80",children:jsxs("div",{className:"flex flex-col items-center gap-2",children:[jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-action-brand border-t-transparent"}),jsx("span",{className:"text-sm text-text-muted",children:"Uploading..."})]})})]}),p&&jsx("p",{className:"mt-2 text-sm text-feedback-error-text",children:p})]})}function ac({name:e,defaultValue:o,errorBelow:t=true,...r}){let{control:n,formState:a}=useFormContext(),i=V(a.errors,e);return jsx(Controller,{control:n,name:e,defaultValue:o,render:({field:s})=>jsxs("div",{className:"flex flex-col gap-1",children:[jsx(xt,{...r,value:s.value??"",onChange:(c,l)=>s.onChange(l||"")}),t&&i&&jsx(m,{children:i})]})})}var on=e=>{let o=_({isInvalid:e.isInvalid,isDisabled:e.isDisabled,isFocused:e.isFocused,transparent:e.transparent,size:e.size});return twMerge(o,"pr-9","[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",e.className)};function vt({label:e,description:o,errorMessage:t,size:r="md",tooltip:n,isRequired:a,transparent:i,validationResult:s,reserveErrorSpace:c=true,...l}){let u=useId(),{isFocused:d,handleFocus:x,handleBlur:f}=se();return jsx(NumberField,{...l,id:u,isRequired:a,className:L(l.className,"group flex flex-col gap-1"),step:l.step??1,onChange:p=>{typeof p=="number"&&(l.maxValue!=null&&p>l.maxValue?l.onChange?.(l.maxValue):l.minValue!=null&&p<l.minValue?l.onChange?.(l.minValue):l.onChange?.(p));},isInvalid:!!t||typeof l.value=="number"&&(l.maxValue!=null&&l.value>l.maxValue||l.minValue!=null&&l.value<l.minValue),children:({isDisabled:p,isInvalid:S})=>jsxs("div",{className:"flex flex-col",children:[e&&jsx(A,{size:r,tooltip:n,isRequired:a,htmlFor:u,children:e}),jsx("div",{className:"relative",children:jsxs(Group,{className:"relative",children:[jsx(Input,{onFocus:b=>x(b,l.onFocus),onBlur:b=>f(b,l.onBlur),className:on({isInvalid:S||!!t,isDisabled:p,isFocused:d,transparent:i,size:r,className:typeof l.className=="string"?l.className:void 0})}),jsxs("div",{className:"absolute inset-y-[2px] right-[2px] flex flex-col divide-y divide-border-default border-l border-border-default overflow-hidden rounded-r-[calc(var(--control-border-radius)-2px)]",children:[jsx(Button,{slot:"increment",isDisabled:p,className:"flex h-1/2 w-7 items-center justify-center bg-background-input hover:bg-background-input-hover active:bg-background-input-active disabled:cursor-not-allowed disabled:opacity-50",children:jsx(F,{name:"CaretUp",size:14})}),jsx(Button,{slot:"decrement",isDisabled:p,className:"flex h-1/2 w-7 items-center justify-center bg-background-input hover:bg-background-input-hover active:bg-background-input-active disabled:cursor-not-allowed disabled:opacity-50",children:jsx(F,{name:"CaretDown",size:14})})]})]})}),c?jsx("div",{className:"mt-1 min-h-[20px]",children:t?jsx(m,{size:r,children:typeof t=="function"?t(s):t}):o?jsx(C,{size:r,children:o}):null}):jsx(Fragment,{children:t?jsx(m,{size:r,className:"mt-1",children:typeof t=="function"?t(s):t}):o?jsx(C,{size:r,className:"mt-1",children:o}):null})]})})}function Cc({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(vt,{...t,value:typeof i.value=="number"?i.value:void 0,onChange:s=>i.onChange(s),isInvalid:!!a,errorMessage:a,isRequired:t.isRequired})})}var dn=createContext({variant:"brand"});function yt(e){let{variant:o="default",...t}=e;return jsx(dn.Provider,{value:{variant:o},children:jsxs(RadioGroup,{...t,className:L(e.className,"group flex flex-col gap-2"),children:[jsx(A,{children:e.label}),jsx("div",{className:"flex gap-2 group-orientation-horizontal:gap-4 group-orientation-vertical:flex-col",children:e.children}),e.description&&jsx(C,{children:e.description}),jsx(m,{children:typeof e.errorMessage=="function"&&e.validationResult?e.errorMessage(e.validationResult):typeof e.errorMessage=="string"?e.errorMessage:null})]})})}function Wc({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(yt,{...t,value:i.value,onChange:s=>i.onChange(s),errorMessage:a,children:t.children})})}function _c({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(ot,{...t,selectedKey:i.value??null,onSelectionChange:s=>i.onChange(s),showErrors:!!a,errorMessage:a})})}var Pt={sm:{track:"h-4 w-7",handle:"h-3.5 w-3.5",text:"text-xs"},md:{track:"h-5 w-9",handle:"h-4 w-4",text:"text-sm"},lg:{track:"h-6 w-11",handle:"h-5 w-5",text:"text-base"},xl:{track:"h-7 w-14",handle:"h-6 w-6",text:"text-lg"}};function xn({isSelected:e,isDisabled:o,variant:t="default",size:r="md"}){let n="flex px-px items-center shrink-0 cursor-default rounded-full transition duration-200 ease-in-out shadow-inner border border-transparent",a=Pt[r].track,i=ue,s=t==="brand"?"focus-visible:outline-action-brand":"focus-visible:outline-action-default",c="";return e?t==="brand"?c="bg-action-brand forced-colors:!bg-[Highlight] group-pressed:bg-action-brand-hover":c="bg-action-default forced-colors:!bg-[Highlight] group-pressed:bg-action-default-hover":c="bg-gray-400 dark:bg-zinc-400 group-pressed:bg-gray-500 dark:group-pressed:bg-zinc-300",[n,a,i,s,c,o?"bg-gray-200 dark:bg-zinc-700 forced-colors:group-selected:!bg-[GrayText] forced-colors:border-[GrayText]":""].filter(Boolean).join(" ")}function gn({isSelected:e,isDisabled:o,size:t="md"}){let r="transform rounded-full bg-white dark:bg-zinc-900 outline-none shadow transition duration-200 ease-in-out",n=Pt[t].handle;return [r,n,e?"translate-x-[100%]":"translate-x-0",o?"forced-colors:outline-[GrayText]":""].filter(Boolean).join(" ")}function Ct({children:e,variant:o="default",size:t="md",...r}){return jsx(Switch,{...r,className:L(r.className,`group flex items-center gap-2 ${Pt[t].text} text-gray-800 transition disabled:text-gray-300 dark:text-zinc-200 dark:disabled:text-zinc-600 forced-colors:disabled:text-[GrayText]`),children:n=>jsxs(Fragment,{children:[jsx("div",{className:xn({...n,variant:o,size:t}),children:jsx("span",{className:gn({...n,size:t})})}),e]})})}function uu({name:e,defaultValue:o,...t}){let{control:r}=useFormContext();return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:n})=>jsx(Ct,{...t,isSelected:!!n.value,onChange:a=>n.onChange(a),children:t.children})})}var Cn=e=>{let o=_({isInvalid:e.isInvalid,isDisabled:e.isDisabled,isFocused:e.isFocused,transparent:e.transparent,size:e.size}),t=`min-h-[100px] py-2 ${e.isDisabled?"resize-none":e.isResizable?"resize-y":"resize-none"}`;return twMerge(o,t,e.className)};function St({label:e,description:o,errorMessage:t,size:r="md",tooltip:n,required:a,transparent:i,isInvalid:s,isDisabled:c,isResizable:l=false,className:u,validationResult:d,reserveErrorSpace:x=true,...f}){let{isFocused:p,handleFocus:S,handleBlur:P}=se();return jsx("div",{className:"group flex flex-col",children:jsxs("div",{className:"flex flex-col",children:[e&&jsx(A,{size:r,tooltip:n,isRequired:a,children:e}),jsx(Y,{children:jsx("textarea",{...f,required:a,onFocus:b=>{f.onFocus&&f.onFocus(b),S(b);},onBlur:b=>{f.onBlur&&f.onBlur(b),P(b);},className:Cn({isInvalid:s,isDisabled:c,isResizable:l,isFocused:p,size:r,transparent:i,className:u}),disabled:c})}),x?jsx("div",{className:"mt-1 min-h-[20px]",children:typeof t=="string"?jsx(m,{size:r,children:t}):typeof t=="function"&&d?jsx(m,{size:r,children:t(d)}):o?jsx(C,{size:r,children:o}):null}):jsx(Fragment,{children:typeof t=="string"?jsx(m,{size:r,className:"mt-1",children:t}):typeof t=="function"&&d?jsx(m,{size:r,className:"mt-1",children:t(d)}):o?jsx(C,{size:r,className:"mt-1",children:o}):null})]})})}function Su({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(St,{...t,value:i.value??"",onChange:s=>i.onChange(s.target.value),onBlur:s=>{i.onBlur(),t.onBlur?.(s);},isInvalid:!!a,errorMessage:a,required:t.required})})}var $n=e=>{let o=_({isInvalid:e.isInvalid,isDisabled:e.isDisabled,isFocused:e.isFocused,transparent:e.transparent,size:e.size}),t=[e.showSearchIcon?"pl-8":"pl-3",e.isClearable&&e.hasValue||e.isPassword?"pr-8":"pr-3"].join(" ");return twMerge(o,t,e.className)};function Rt({label:e,description:o,errorMessage:t,size:r="md",tooltip:n,isRequired:a,transparent:i,showSearchIcon:s,isClearable:c,onClear:l,type:u,validationResult:d,reserveErrorSpace:x=true,...f}){let[p,S]=ce__default.useState(false),{isFocused:P,handleFocus:b,handleBlur:h}=se(),v=u==="password";return jsx(TextField,{...f,isRequired:a,className:L(f.className,"group flex flex-col"),children:({isDisabled:E,isInvalid:N})=>jsxs("div",{className:"flex flex-col",children:[e&&jsx(A,{size:r,tooltip:n,isRequired:a,children:e}),jsxs(Y,{children:[s&&jsx("div",{className:"pointer-events-none absolute left-2 top-1/2 -translate-y-[calc(50%+1px)] transform",children:jsx(F,{name:"MagnifyingGlass",className:"h-4 w-4 text-text-muted"})}),jsx(Be,{size:r,disabled:E,type:v?p?"text":"password":u,value:f.value,defaultValue:f.defaultValue,placeholder:f.placeholder,onFocus:g=>b(g,f.onFocus),onBlur:g=>h(g,f.onBlur),onChange:g=>f.onChange?.(g.target.value),className:$n({isInvalid:N,isDisabled:E,isFocused:P,size:r,transparent:i,showSearchIcon:s,isClearable:c,hasValue:!!f.value,isPassword:v,className:typeof f.className=="string"?f.className:void 0})}),c&&f.value&&!E&&jsx(Mt,{onClick:()=>{l?l():f.onChange&&f.onChange("");},size:r}),v&&!E&&jsx("button",{type:"button",onClick:()=>S(!p),className:"absolute right-3 top-1/2 -translate-y-1/2 transform text-text-muted hover:text-text-body","aria-label":p?"Hide password":"Show password",onMouseDown:g=>{g.preventDefault(),g.stopPropagation();},children:jsx(F,{name:p?"EyeSlash":"Eye",size:r==="sm"?16:20,className:"text-text-body"})})]}),x?jsx("div",{className:"mt-1 min-h-[20px]",children:typeof t=="string"?jsx(m,{size:r,children:t}):typeof t=="function"&&d?jsx(m,{size:r,children:t(d)}):o?jsx(C,{size:r,children:o}):null}):jsx(Fragment,{children:typeof t=="string"?jsx(m,{size:r,className:"mt-1",children:t}):typeof t=="function"&&d?jsx(m,{size:r,className:"mt-1",children:t(d)}):o?jsx(C,{size:r,className:"mt-1",children:o}):null})]})})}function Mu({name:e,defaultValue:o,...t}){let{control:r,formState:n}=useFormContext(),a=V(n.errors,e);return jsx(Controller,{control:r,name:e,defaultValue:o,render:({field:i})=>jsx(Rt,{...t,value:i.value??"",onChange:s=>i.onChange(s),onBlur:s=>{i.onBlur(),t.onBlur?.(s);},isInvalid:!!a,errorMessage:a,isRequired:t.isRequired})})}function zn({isPlaceholder:e,isDisabled:o,size:t="md"}){return twMerge("inline-block box-content px-0.5 rounded outline-none tabular-nums text-center transition-colors",{sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-lg"}[t],e?"text-text-placeholder italic":"text-text-body",o?"text-text-disabled cursor-not-allowed":"cursor-text",!o&&"hover:bg-background-hover","data-[focused]:bg-background-selected data-[focused]:text-text-body")}function Nt({label:e,description:o,errorMessage:t,size:r="md",tooltip:n,isRequired:a,isDisabled:i,isInvalid:s,reserveErrorSpace:c=true,validationResult:l,className:u,...d}){return jsxs(TimeField,{...d,isDisabled:i,isRequired:a,isInvalid:s,className:L(u,"flex flex-col gap-1"),children:[e&&jsx(A,{size:r,tooltip:n,isRequired:a,children:e}),jsx(Y,{children:jsx(DateInput,{className:twMerge(ve({isInvalid:s,isDisabled:i}),"px-3 py-2 flex items-center gap-0.5 w-full"),children:x=>jsx(DateSegment,{segment:x,className:zn({isPlaceholder:x.isPlaceholder,isDisabled:!x.isEditable||i,size:r})})})}),c?jsx("div",{className:"mt-1 min-h-[20px]",children:typeof t=="string"?jsx(m,{size:r,children:t}):typeof t=="function"&&l?jsx(m,{size:r,children:t(l)}):o?jsx(C,{size:r,children:o}):null}):jsx(Fragment,{children:typeof t=="string"?jsx(m,{size:r,className:"mt-1",children:t}):typeof t=="function"&&l?jsx(m,{size:r,className:"mt-1",children:t(l)}):o?jsx(C,{size:r,className:"mt-1",children:o}):null})]})}function sm({name:e,...o}){let{control:t,formState:{errors:r}}=useFormContext(),n=r[e],a=n?.message;return jsx(Controller,{name:e,control:t,render:({field:i})=>jsx(Nt,{...o,value:i.value,onChange:i.onChange,isInvalid:!!n,errorMessage:a})})}function mm({className:e,title:o="Please fix the following errors:",autoFocus:t=true}){let{formState:r}=useFormContext(),n=ce.useRef(null),a=r.errors,i=Object.entries(a||{}),s=i.length>0;if(ce.useEffect(()=>{t&&s&&n.current?.focus();},[t,s]),!s)return null;let c=l=>{let u=`[name="${CSS.escape(l)}"]`,d=document.querySelector(u);d&&(d.focus(),d.scrollIntoView({block:"center",behavior:"smooth"}));};return jsxs("div",{ref:n,role:"alert",tabIndex:-1,className:twMerge("rounded-md border border-feedback-error-border bg-feedback-error-background p-3 text-sm text-feedback-error-text",e),children:[jsx("div",{className:"font-medium",children:o}),jsx("ul",{className:"mt-2 list-disc pl-5",children:i.map(([l,u])=>{let d=u?.message||"Invalid value";return jsx("li",{children:jsx("button",{type:"button",className:"underline underline-offset-2",onClick:()=>c(l),children:d})},l)})})]})}function gm({formId:e,disableWhenInvalid:o,disableWhenPristine:t,isDisabled:r,children:n,...a}){let{formState:i}=useFormContext(),s=r||i.isSubmitting||o&&!i.isValid||t&&!i.isDirty;return jsx(w,{type:"submit",form:e,isDisabled:s,...a,children:n})}var Yn={xs:"text-lg font-semibold",sm:"text-xl font-semibold",md:"text-2xl font-semibold",lg:"text-3xl font-semibold",xl:"text-4xl font-semibold"},Xn={page:"h-16 leading-[62px]"};function Tt({tag:e="h1",size:o="lg",height:t,className:r="",children:n}){let a=Yn[o],i=t?Xn[t]:"";return jsx(e,{className:twMerge(a,i,r),children:n})}var ee=({width:e,height:o,variant:t="rect",animation:r="pulse",gradient:n=false,flex:a=false,stack:i,responsive:s,delay:c=0,adjustAnimationSpeedBasedOnWidth:l=false,ariaLabel:u,className:d,"data-testid":x})=>{let[f,p]=useState(c===0);if(useEffect(()=>{if(c>0){let N=setTimeout(()=>p(true),c);return ()=>clearTimeout(N)}},[c]),!f)return null;let S=n?"bg-gradient-to-r from-[var(--color-skeleton-base)] via-[var(--color-skeleton-highlight)] to-[var(--color-skeleton-base)]":"bg-[var(--color-skeleton-base)]",P=l&&e?(()=>{let N=typeof e=="number"?e:parseFloat(String(e));return isNaN(N)?"":`animation-duration-[${Math.max(.8,N/100)}s]`})():"",b=r==="pulse"?`animate-pulse ${P}`:r==="wave"?`relative overflow-hidden before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-[var(--color-skeleton-wave)] before:to-transparent before:animate-wave ${P}`:"",h="rounded-sm";t==="circle"&&(h="rounded-full"),t==="text"&&(h="h-4 w-full rounded-sm");let v=a?"flex-1 min-w-0":"",E=s?Object.entries(s).map(([N,g])=>`${N}:w-[${g}]`).join(" "):"";return i?jsx("div",{className:"space-y-2","data-testid":x,children:i.map((N,g)=>jsx("div",{className:twMerge(S,b,h,v,E,d),style:{width:N,height:o}},g))}):jsx("div",{className:twMerge(S,b,h,v,E,d),style:{width:e,height:o},role:"presentation","aria-hidden":!u,"aria-label":u??void 0,"data-testid":x})};var ei={outlined:"bg-background-surface border border-border-default",elevated:"bg-background-surface border-0 shadow-md",filled:"bg-background-muted border-0",ghost:"bg-transparent border-0 shadow-none"},ti="rounded-lg",wt={square:"aspect-square",video:"aspect-video",wide:"aspect-[2/1]",auto:""},oi={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between"};function be({variant:e="outlined",className:o,children:t,isLoading:r=false}){return jsx("div",{className:twMerge("w-full overflow-hidden",ei[e],ti,o),"data-testid":"card",children:r?jsx(ee,{width:"100%",height:"100%",className:"rounded-none"}):t})}function He({title:e,subtitle:o,actions:t,className:r,isLoading:n=false}){return n?jsxs("div",{className:twMerge("p-6 pb-4",r),children:[jsxs("div",{className:"flex justify-between items-start mb-1",children:[jsx(ee,{width:120,height:20}),jsx(ee,{width:24,height:24})]}),o&&jsx(ee,{width:200,height:16})]}):!e&&!o&&!t?null:jsx("div",{className:twMerge("p-6 pb-4",r),children:jsxs("div",{className:"flex justify-between items-start gap-4",children:[jsxs("div",{className:"min-w-0 flex-1",children:[e&&jsx("div",{className:"mb-1",children:typeof e=="string"?jsx(Tt,{tag:"h3",size:"sm",className:"text-text-heading",children:e}):e}),o&&jsx("div",{className:"text-sm text-text-muted",children:o})]}),t&&jsx("div",{className:"flex-shrink-0",children:t})]})})}function ko({src:e,alt:o,aspectRatio:t="auto",className:r,children:n,isLoading:a=false}){return a?jsx("div",{className:twMerge("bg-background-muted",wt[t],r),children:jsx(ee,{width:"100%",height:"100%"})}):n?jsx("div",{className:twMerge("overflow-hidden",wt[t],r),children:n}):e?jsx("div",{className:twMerge("overflow-hidden",wt[t],r),children:jsx("img",{src:e,alt:o||"",className:"w-full h-full object-cover",loading:"lazy"})}):null}function Ge({className:e,children:o,isLoading:t=false}){let n=e?.match(/p(?:t|b|l|r|x|y)?-(?:\d+(?:\.\d+)?|px|\[.+?\])/)?"":"px-6 py-4";return t?jsx("div",{className:twMerge(n,e),children:jsxs("div",{className:"space-y-2",children:[jsx(ee,{width:"100%",height:16}),jsx(ee,{width:"80%",height:16}),jsx(ee,{width:"60%",height:16})]})}):o?jsx("div",{className:twMerge("px-6 py-4 text-text-body",e),children:o}):null}function wo({className:e,children:o,align:t="end",isLoading:r=false}){return r?jsxs("div",{className:twMerge("px-6 py-4 flex gap-2 justify-end",e),children:[jsx(ee,{width:80,height:32}),jsx(ee,{width:60,height:32})]}):o?jsx("div",{className:twMerge("px-6 py-4 flex items-center gap-2",oi[t],e),children:o}):null}be.Header=He;be.Media=ko;be.Content=Ge;be.Footer=wo;function Gm({name:e,getItemTitle:o,renderItem:t,onAdd:r}){let{control:n}=useFormContext(),{fields:a,append:i,remove:s,swap:c}=useFieldArray({control:n,name:e});return jsxs("div",{className:"flex flex-col gap-3",children:[a.map((l,u)=>jsxs(be,{children:[jsx(He,{title:o?o(u):`Item ${u+1}`,actions:jsxs("div",{className:"flex gap-2",children:[u>0&&jsx(w,{size:"sm",variant:"secondary",onPress:()=>c(u,u-1),children:"Up"}),u<a.length-1&&jsx(w,{size:"sm",variant:"secondary",onPress:()=>c(u,u+1),children:"Down"}),jsx(w,{size:"sm",variant:"secondary",onPress:()=>s(u),children:"Remove"})]})}),jsx(Ge,{children:t(u)})]},l.id)),jsx("div",{children:jsx(w,{variant:"secondary",onPress:()=>i(r?.()||{}),children:"Add item"})})]})}function $t(e){return jsx(Form,{validationBehavior:"aria",...e,className:twMerge("flex flex-col gap-6",e.className)})}function Io(e){let o=e.querySelector("[aria-invalid='true'], .aria-invalid, [data-invalid='true']")||e.querySelector("input[aria-invalid='true'], select[aria-invalid='true'], textarea[aria-invalid='true']")||e.querySelector("input, select, textarea");o&&(o.focus({preventScroll:false}),o instanceof HTMLElement&&o.scrollIntoView({block:"center",behavior:"smooth"}));}function ep({id:e,onSubmit:o,onInvalid:t,children:r,shouldFocusError:n=true,className:a,...i}){let s=useForm(i),c=(l,u)=>{if(n&&e){let d=document.getElementById(e);d&&Io(d);}t?.(l,u);};return jsx(FormProvider,{...s,children:jsx($t,{id:e,className:a,onSubmit:s.handleSubmit(o,c),children:r})})}function Bo({formId:e,show:o,isSubmitting:t,onCancel:r,primaryLabel:n="Save changes",secondaryLabel:a="Cancel",className:i}){return o?jsx("div",{className:twMerge("fixed inset-x-0 bottom-0 z-40 border-t border-border-muted bg-background-surface/95 backdrop-blur supports-[backdrop-filter]:bg-background-surface/70",i),children:jsxs("div",{className:"mx-auto flex max-w-screen-lg items-center justify-between gap-3 p-3",children:[jsx("div",{className:"text-sm text-text-muted",children:"You have unsaved changes"}),jsxs("div",{className:"flex gap-2",children:[jsx(w,{variant:"secondary",onPress:r,children:a}),jsx(w,{type:"submit",form:e,isDisabled:!!t,children:t?"Saving...":n})]})]})}):null}function dp({formId:e,onCancel:o,primaryLabel:t,secondaryLabel:r,className:n}){let{formState:a}=useFormContext();return jsx(Bo,{formId:e,show:a.isDirty,isSubmitting:a.isSubmitting,onCancel:o,primaryLabel:t,secondaryLabel:r,className:n})}function pp(e=true){let{formState:o}=useFormContext();ce.useEffect(()=>{if(!e||!o.isSubmitted||!o.errors||Object.keys(o.errors).length===0)return;let t=document.querySelector("[aria-invalid='true'], .aria-invalid, [data-invalid='true']")||document.querySelector("input[aria-invalid='true'], select[aria-invalid='true'], textarea[aria-invalid='true']");t&&t.scrollIntoView({block:"center",behavior:"smooth"});},[e,o.isSubmitted,o.errors]);}function xp({delayMs:e=800,onAutoSave:o}){let{watch:t,formState:r,getValues:n}=useFormContext(),a=ce.useRef(void 0);ce.useEffect(()=>{let i=t(()=>{r.isDirty&&(a.current&&window.clearTimeout(a.current),a.current=window.setTimeout(async()=>{let s=n();await o(s);},e));});return ()=>{i.unsubscribe(),a.current&&window.clearTimeout(a.current);}},[t,r.isDirty,n,e,o]);}export{mm as ErrorSummary,Gm as FieldArrayList,Pl as FormAutocomplete,Hl as FormCheckbox,Kl as FormCheckboxGroup,dd as FormColorField,Od as FormDateField,ac as FormFileUpload,Cc as FormNumberField,ep as FormProvider,Wc as FormRadioGroup,dp as FormSaveBar,_c as FormSelect,uu as FormSwitch,Su as FormTextArea,Mu as FormTextField,sm as FormTimeField,gm as SubmitButton,Io as focusFirstError,xp as useAutoSave,pp as useScrollIntoViewOnError};//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|