@k3-universe/react-kit 0.0.12 → 0.0.14

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.
Files changed (75) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +13886 -9840
  4. package/dist/kit/builder/data-table/types.d.ts +1 -1
  5. package/dist/kit/builder/data-table/types.d.ts.map +1 -1
  6. package/dist/kit/builder/form/components/FormBuilder.d.ts +3 -151
  7. package/dist/kit/builder/form/components/FormBuilder.d.ts.map +1 -1
  8. package/dist/kit/builder/form/components/FormBuilderField.d.ts +8 -8
  9. package/dist/kit/builder/form/components/FormBuilderField.d.ts.map +1 -1
  10. package/dist/kit/builder/form/components/fields/FileField.d.ts +1 -1
  11. package/dist/kit/builder/form/components/fields/FileField.d.ts.map +1 -1
  12. package/dist/kit/builder/form/components/fields/types.d.ts +3 -3
  13. package/dist/kit/builder/form/components/fields/types.d.ts.map +1 -1
  14. package/dist/kit/builder/form/index.d.ts +1 -0
  15. package/dist/kit/builder/form/index.d.ts.map +1 -1
  16. package/dist/kit/builder/form/types.d.ts +175 -0
  17. package/dist/kit/builder/form/types.d.ts.map +1 -0
  18. package/dist/kit/builder/form/utils/common-forms.d.ts +1 -1
  19. package/dist/kit/builder/form/utils/common-forms.d.ts.map +1 -1
  20. package/dist/kit/builder/form/utils/field-factories.d.ts +3 -3
  21. package/dist/kit/builder/form/utils/field-factories.d.ts.map +1 -1
  22. package/dist/kit/builder/form/utils/section-factories.d.ts +4 -4
  23. package/dist/kit/builder/form/utils/section-factories.d.ts.map +1 -1
  24. package/dist/kit/builder/stack-dialog/hooks.d.ts +2 -5
  25. package/dist/kit/builder/stack-dialog/hooks.d.ts.map +1 -1
  26. package/dist/kit/builder/stack-dialog/index.d.ts +3 -3
  27. package/dist/kit/builder/stack-dialog/index.d.ts.map +1 -1
  28. package/dist/kit/builder/stack-dialog/provider.d.ts.map +1 -1
  29. package/dist/kit/builder/stack-dialog/renderer.d.ts.map +1 -1
  30. package/dist/kit/builder/stack-dialog/types.d.ts +1 -0
  31. package/dist/kit/builder/stack-dialog/types.d.ts.map +1 -1
  32. package/dist/kit/components/autocomplete/Autocomplete.d.ts +8 -8
  33. package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
  34. package/dist/kit/components/autocomplete/types.d.ts +6 -4
  35. package/dist/kit/components/autocomplete/types.d.ts.map +1 -1
  36. package/dist/kit/components/fileuploader/FileUploader.d.ts +4 -0
  37. package/dist/kit/components/fileuploader/FileUploader.d.ts.map +1 -0
  38. package/dist/kit/components/fileuploader/index.d.ts +4 -0
  39. package/dist/kit/components/fileuploader/index.d.ts.map +1 -0
  40. package/dist/kit/components/fileuploader/types.d.ts +63 -0
  41. package/dist/kit/components/fileuploader/types.d.ts.map +1 -0
  42. package/dist/kit/themes/clean-slate.css +60 -0
  43. package/dist/kit/themes/default.css +60 -0
  44. package/dist/kit/themes/minimal-modern.css +60 -0
  45. package/dist/kit/themes/spotify.css +60 -0
  46. package/package.json +2 -1
  47. package/src/index.ts +2 -0
  48. package/src/kit/builder/data-table/components/DataTable.tsx +1 -1
  49. package/src/kit/builder/data-table/types.ts +1 -1
  50. package/src/kit/builder/form/components/FormBuilder.tsx +76 -214
  51. package/src/kit/builder/form/components/FormBuilderField.tsx +42 -34
  52. package/src/kit/builder/form/components/fields/AutocompleteField.tsx +2 -2
  53. package/src/kit/builder/form/components/fields/FileField.tsx +17 -5
  54. package/src/kit/builder/form/components/fields/types.ts +3 -3
  55. package/src/kit/builder/form/index.ts +1 -0
  56. package/src/kit/builder/form/types.ts +198 -0
  57. package/src/kit/builder/form/utils/common-forms.ts +1 -1
  58. package/src/kit/builder/form/utils/field-factories.ts +5 -5
  59. package/src/kit/builder/form/utils/section-factories.ts +10 -10
  60. package/src/kit/builder/stack-dialog/hooks.ts +2 -1
  61. package/src/kit/builder/stack-dialog/index.ts +8 -3
  62. package/src/kit/builder/stack-dialog/provider.tsx +2 -1
  63. package/src/kit/builder/stack-dialog/renderer.tsx +6 -7
  64. package/src/kit/builder/stack-dialog/types.ts +2 -0
  65. package/src/kit/components/autocomplete/Autocomplete.tsx +33 -25
  66. package/src/kit/components/autocomplete/types.ts +7 -5
  67. package/src/kit/components/fileuploader/FileUploader.tsx +488 -0
  68. package/src/kit/components/fileuploader/index.ts +3 -0
  69. package/src/kit/components/fileuploader/types.ts +73 -0
  70. package/src/stories/FileUploader.stories.tsx +166 -0
  71. package/src/stories/kit/builder/Form.ArrayLayouts.stories.tsx +1 -1
  72. package/src/stories/kit/builder/Form.Autocomplete.stories.tsx +5 -5
  73. package/src/stories/kit/builder/Form.DateTime.stories.tsx +1 -1
  74. package/src/stories/kit/builder/Form.Files.stories.tsx +125 -0
  75. package/src/stories/kit/builder/Form.Time.stories.tsx +1 -1
@@ -1,4 +1,4 @@
1
- import { FormBuilderSectionConfig } from '../form/components/FormBuilder';
1
+ import { FormBuilderSectionConfig } from '../form';
2
2
  export type DataTableFiltersProp = FormBuilderSectionConfig[];
3
3
  export type IconPosition = 'left' | 'right';
4
4
  export interface DataTableAction {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/data-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE/E,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,EAAE,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,OAAO;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/data-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,EAAE,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,OAAO;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B"}
@@ -1,152 +1,4 @@
1
- import { default as React } from 'react';
2
- import { Control, FieldValues } from 'react-hook-form';
3
- import { z } from 'zod';
4
- import { SectionLayout, SectionGridOptions, SectionFlexOptions } from '../../section/types';
5
- import { AutocompleteFetcher, AutocompleteOption } from '../../../components/autocomplete/types';
6
- export interface FormBuilderFieldConfig {
7
- id?: string;
8
- name: string;
9
- label: string;
10
- type: 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'autocomplete' | 'checkbox' | 'switch' | 'radio' | 'date' | 'date_picker' | 'date_range' | 'month' | 'month_range' | 'time' | 'time_range' | 'date_time' | 'date_time_range' | 'file' | 'object' | 'array';
11
- placeholder?: string;
12
- description?: string;
13
- required?: boolean;
14
- disabled?: boolean;
15
- options?: {
16
- label: string;
17
- value: string | number | null;
18
- }[];
19
- autocompleteMode?: 'client' | 'server';
20
- fetcher?: AutocompleteFetcher;
21
- pageSize?: number;
22
- searchPlaceholder?: string;
23
- renderOption?: (option: AutocompleteOption, selected: boolean) => React.ReactNode;
24
- multiple?: boolean;
25
- allowCustomValue?: boolean;
26
- chipVariant?: 'default' | 'secondary' | 'destructive' | 'outline';
27
- chipClassName?: string;
28
- clearable?: boolean;
29
- initialSelectedOptions?: AutocompleteOption | AutocompleteOption[] | null;
30
- loadSelected?: (values: Array<string | number>) => Promise<AutocompleteOption[]>;
31
- validation?: z.ZodType<unknown> | {
32
- pattern?: {
33
- value: RegExp;
34
- message: string;
35
- };
36
- min?: {
37
- value: number;
38
- message: string;
39
- };
40
- max?: {
41
- value: number;
42
- message: string;
43
- };
44
- minLength?: {
45
- value: number;
46
- message: string;
47
- };
48
- maxLength?: {
49
- value: number;
50
- message: string;
51
- };
52
- };
53
- defaultValue?: unknown;
54
- fields?: FormBuilderFieldConfig[];
55
- dependencies?: {
56
- field: string;
57
- condition: (value: unknown) => boolean;
58
- action: 'show' | 'hide' | 'enable' | 'disable' | 'setValue';
59
- value?: unknown;
60
- }[];
61
- onChange?: (value: unknown, setValue: (field: string, value: unknown) => void, getValues: () => Record<string, unknown>) => void;
62
- className?: string;
63
- gridCols?: number;
64
- rows?: number;
65
- itemType?: string;
66
- arrayLayout?: 'card' | 'table' | 'custom';
67
- arrayRender?: (params: {
68
- field: FormBuilderFieldConfig;
69
- control: Control<FieldValues>;
70
- fieldPath: string;
71
- value: unknown;
72
- onChange: (value: unknown) => void;
73
- addItem: () => void;
74
- removeItem: (index: number) => void;
75
- disabled?: boolean;
76
- rows?: {
77
- id: string;
78
- }[];
79
- }) => React.ReactNode;
80
- arrayColors?: {
81
- headerBgClass?: string;
82
- headerTextClass?: string;
83
- rowAltBgClass?: string;
84
- };
85
- conditional?: {
86
- field: string;
87
- value: unknown;
88
- };
89
- hidden?: boolean;
90
- labelPlacement?: 'stacked' | 'inline' | 'hidden';
91
- wrapperClassName?: string;
92
- minDate?: Date;
93
- maxDate?: Date;
94
- disabledDates?: Array<Date | {
95
- from: Date;
96
- to: Date;
97
- }>;
98
- numberOfMonths?: number;
99
- popoverSide?: 'top' | 'right' | 'bottom' | 'left';
100
- showFooter?: boolean;
101
- cancelLabel?: string;
102
- applyLabel?: string;
103
- timePrecision?: 'hour' | 'minute' | 'second';
104
- hourCycle?: 12 | 24;
105
- minuteStep?: number;
106
- secondStep?: number;
107
- }
108
- export interface FormBuilderSectionConfig {
109
- id?: string;
110
- title?: string;
111
- description?: string;
112
- fields?: FormBuilderFieldConfig[];
113
- variant?: 'card' | 'separator' | 'plain';
114
- className?: string;
115
- collapsible?: boolean;
116
- defaultCollapsed?: boolean;
117
- layout?: SectionLayout;
118
- grid?: SectionGridOptions;
119
- flex?: SectionFlexOptions;
120
- hidden?: boolean;
121
- tabs?: Array<{
122
- id: string;
123
- label: React.ReactNode;
124
- sections: FormBuilderSectionConfig[];
125
- className?: string;
126
- contentClassName?: string;
127
- }>;
128
- defaultTabId?: string;
129
- tabsListClassName?: string;
130
- tabsContentClassName?: string;
131
- }
132
- export interface FormBuilderProps {
133
- sections: FormBuilderSectionConfig[];
134
- schema?: z.ZodType<unknown>;
135
- defaultValues?: Record<string, unknown> | null;
136
- onSubmit: (data: unknown) => void | Promise<void>;
137
- onCancel?: () => void;
138
- onReset?: () => void;
139
- onFieldChange?: (name: string, value: unknown, allValues: Record<string, unknown>) => void;
140
- submitLabel?: string;
141
- cancelLabel?: string;
142
- resetLabel?: string;
143
- isSubmitting?: boolean;
144
- className?: string;
145
- formClassName?: string;
146
- actionsClassName?: string;
147
- showActions?: boolean;
148
- customActions?: React.ReactNode;
149
- showActionsSeparator?: boolean;
150
- }
151
- export declare function FormBuilder({ sections, schema, defaultValues, onSubmit, onCancel, onReset, onFieldChange, submitLabel, cancelLabel, resetLabel, isSubmitting, className, formClassName, actionsClassName, showActions, customActions, showActionsSeparator, }: FormBuilderProps): import("react/jsx-runtime").JSX.Element;
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { FormBuilderProps } from '../types';
3
+ export declare function FormBuilder<TFieldValues extends FieldValues = FieldValues>({ sections, schema, defaultValues, onSubmit, onCancel, onReset, onFieldChange, submitLabel, cancelLabel, resetLabel, isSubmitting, className, formClassName, actionsClassName, showActions, customActions, showActionsSeparator, }: FormBuilderProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
152
4
  //# sourceMappingURL=FormBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilder.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,WAAW,EAAa,MAAM,iBAAiB,CAAC;AAQjF,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAElB,wBAAgB,WAAW,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,EAC1E,QAAQ,EACR,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAsB,EACtB,WAAsB,EACtB,UAAoB,EACpB,YAAoB,EACpB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,WAAkB,EAClB,aAAa,EACb,oBAA2B,GAC5B,EAAE,gBAAgB,CAAC,YAAY,CAAC,2CAolBhC"}
@@ -1,12 +1,12 @@
1
- import { Control, FieldValues } from 'react-hook-form';
2
- import { FormBuilderFieldConfig } from './FormBuilder';
3
- export interface FormBuilderFieldProps {
4
- field: FormBuilderFieldConfig;
5
- control: Control<FieldValues>;
6
- onChange?: (value: unknown) => void;
7
- onFieldChange?: (name: string, value: unknown, allValues: Record<string, unknown>) => void;
1
+ import { Control, FieldValues, Path } from 'react-hook-form';
2
+ import { FormBuilderFieldConfig } from '../types';
3
+ export interface FormBuilderFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends string | Path<TFieldValues> = Path<TFieldValues>> {
4
+ field: FormBuilderFieldConfig<TFieldValues, TName>;
5
+ control: Control<TFieldValues>;
6
+ onChange?: (value: unknown, ...extras: unknown[]) => void;
7
+ onFieldChange?: (name: import('react-hook-form').Path<TFieldValues> | string, value: unknown, allValues: TFieldValues) => void;
8
8
  parentPath?: string;
9
9
  }
10
- export declare function FormBuilderField({ field, control, onChange, parentPath }: FormBuilderFieldProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function FormBuilderField<TFieldValues extends FieldValues = FieldValues, TName extends string | Path<TFieldValues> = Path<TFieldValues>>({ field, control, onChange, parentPath }: FormBuilderFieldProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
11
11
  export default FormBuilderField;
12
12
  //# sourceMappingURL=FormBuilderField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilderField.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilderField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAwB5D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,qBAAqB,2CAsU/F;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FormBuilderField.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilderField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAwBvD,MAAM,WAAW,qBAAqB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IAE9D,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/H,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,2CAwUrF;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { FieldRenderProps } from './types';
2
- export declare function FileField({ field, onChange, className }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function FileField({ field, value, onChange, className }: FieldRenderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=FileField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/FileField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAUzE"}
1
+ {"version":3,"file":"FileField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/FileField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAsBhF"}
@@ -1,11 +1,11 @@
1
1
  import { Control, FieldValues } from 'react-hook-form';
2
- import { FormBuilderFieldConfig } from '../FormBuilder';
2
+ import { FormBuilderFieldConfig } from '../../types';
3
3
  export interface FieldRenderProps {
4
- field: FormBuilderFieldConfig;
4
+ field: FormBuilderFieldConfig<any, any>;
5
5
  control: Control<FieldValues>;
6
6
  fieldPath: string;
7
7
  value: unknown;
8
- onChange: (value: unknown) => void;
8
+ onChange: (value: unknown, ...extras: unknown[]) => void;
9
9
  className?: string;
10
10
  disabled?: boolean;
11
11
  errorMessage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAC3F"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAC3F"}
@@ -1,3 +1,4 @@
1
1
  export * from './components';
2
2
  export * from './utils';
3
+ export * from './types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,175 @@
1
+ import { default as React } from 'react';
2
+ import { Control, DeepPartial, FieldValues, Path, UseFormGetValues, UseFormSetValue, DefaultValues } from 'react-hook-form';
3
+ import { z } from 'zod';
4
+ import { Accept } from 'react-dropzone';
5
+ import { SectionFlexOptions, SectionGridOptions, SectionLayout, SectionNode } from '../section/types';
6
+ import { AutocompleteFetcher, AutocompleteOption } from '../../components/autocomplete/types';
7
+ import { FileRecord, FileUploaderLayout } from '../../components/fileuploader/types';
8
+ export type FieldType = 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'autocomplete' | 'checkbox' | 'switch' | 'radio' | 'date' | 'date_picker' | 'date_range' | 'month' | 'month_range' | 'time' | 'time_range' | 'date_time' | 'date_time_range' | 'file' | 'object' | 'array';
9
+ export interface Dependency<TFieldValues extends FieldValues> {
10
+ field: Path<TFieldValues>;
11
+ condition: (value: unknown) => boolean;
12
+ action: 'show' | 'hide' | 'enable' | 'disable' | 'setValue';
13
+ value?: unknown;
14
+ }
15
+ export interface FormBuilderFieldConfig<TFieldValues extends FieldValues = FieldValues, TName extends Path<TFieldValues> | string = Path<TFieldValues>> {
16
+ id?: string;
17
+ name: TName;
18
+ label: string;
19
+ type: FieldType;
20
+ placeholder?: string;
21
+ description?: string;
22
+ required?: boolean;
23
+ disabled?: boolean;
24
+ options?: {
25
+ label: string;
26
+ value: string | number | null;
27
+ }[];
28
+ autocompleteMode?: 'client' | 'server';
29
+ fetcher?: AutocompleteFetcher;
30
+ pageSize?: number;
31
+ searchPlaceholder?: string;
32
+ renderOption?: (option: AutocompleteOption, selected: boolean) => React.ReactNode;
33
+ multiple?: boolean;
34
+ allowCustomValue?: boolean;
35
+ chipVariant?: 'default' | 'secondary' | 'destructive' | 'outline';
36
+ chipClassName?: string;
37
+ clearable?: boolean;
38
+ initialSelectedOptions?: AutocompleteOption | AutocompleteOption[] | null;
39
+ loadSelected?: (values: Array<string | number>) => Promise<AutocompleteOption[]>;
40
+ validation?: z.ZodType<unknown> | {
41
+ pattern?: {
42
+ value: RegExp;
43
+ message: string;
44
+ };
45
+ min?: {
46
+ value: number;
47
+ message: string;
48
+ };
49
+ max?: {
50
+ value: number;
51
+ message: string;
52
+ };
53
+ minLength?: {
54
+ value: number;
55
+ message: string;
56
+ };
57
+ maxLength?: {
58
+ value: number;
59
+ message: string;
60
+ };
61
+ minItems?: {
62
+ value: number;
63
+ message: string;
64
+ };
65
+ maxItems?: {
66
+ value: number;
67
+ message: string;
68
+ };
69
+ };
70
+ defaultValue?: unknown;
71
+ fields?: Array<FormBuilderFieldConfig<TFieldValues, string>>;
72
+ dependencies?: Array<Dependency<TFieldValues>>;
73
+ onChange?: (value: unknown, extras: unknown, setValue: UseFormSetValue<TFieldValues>, getValues: UseFormGetValues<TFieldValues>) => void;
74
+ className?: string;
75
+ gridCols?: number;
76
+ rows?: number;
77
+ itemType?: string;
78
+ arrayLayout?: 'card' | 'table' | 'custom';
79
+ arrayRender?: (params: {
80
+ field: FormBuilderFieldConfig<TFieldValues>;
81
+ control: Control<TFieldValues>;
82
+ fieldPath: string;
83
+ value: unknown;
84
+ onChange: (value: unknown) => void;
85
+ addItem: () => void;
86
+ removeItem: (index: number) => void;
87
+ disabled?: boolean;
88
+ rows?: {
89
+ id: string;
90
+ }[];
91
+ }) => React.ReactNode;
92
+ arrayColors?: {
93
+ headerBgClass?: string;
94
+ headerTextClass?: string;
95
+ rowAltBgClass?: string;
96
+ };
97
+ conditional?: {
98
+ field: Path<TFieldValues>;
99
+ value: unknown;
100
+ };
101
+ hidden?: boolean;
102
+ labelPlacement?: 'stacked' | 'inline' | 'hidden';
103
+ wrapperClassName?: string;
104
+ minDate?: Date;
105
+ maxDate?: Date;
106
+ disabledDates?: Array<Date | {
107
+ from: Date;
108
+ to: Date;
109
+ }>;
110
+ numberOfMonths?: number;
111
+ popoverSide?: 'top' | 'right' | 'bottom' | 'left';
112
+ showFooter?: boolean;
113
+ cancelLabel?: string;
114
+ applyLabel?: string;
115
+ timePrecision?: 'hour' | 'minute' | 'second';
116
+ hourCycle?: 12 | 24;
117
+ minuteStep?: number;
118
+ secondStep?: number;
119
+ fileMultiple?: boolean;
120
+ fileMaxFiles?: number;
121
+ fileAccept?: Accept;
122
+ fileLayout?: FileUploaderLayout;
123
+ fileWithDownload?: boolean;
124
+ fileUploader?: (file: File, onProgress: (pct: number) => void) => Promise<Partial<FileRecord>>;
125
+ fileOnUploadSuccess?: (file: FileRecord) => void;
126
+ fileOnUploadError?: (file: FileRecord, error: unknown) => void;
127
+ fileOnRemove?: (file: FileRecord) => void | Promise<void>;
128
+ fileOnRetry?: (file: FileRecord) => void;
129
+ fileOnRetryAll?: (files: FileRecord[]) => void;
130
+ }
131
+ export interface FormBuilderSectionConfig<TFieldValues extends FieldValues = FieldValues> {
132
+ id?: string;
133
+ title?: string;
134
+ description?: string;
135
+ fields?: Array<FormBuilderFieldConfig<TFieldValues>>;
136
+ variant?: 'card' | 'separator' | 'plain';
137
+ className?: string;
138
+ collapsible?: boolean;
139
+ defaultCollapsed?: boolean;
140
+ layout?: SectionLayout;
141
+ grid?: SectionGridOptions;
142
+ flex?: SectionFlexOptions;
143
+ hidden?: boolean;
144
+ tabs?: Array<{
145
+ id: string;
146
+ label: React.ReactNode;
147
+ sections: Array<FormBuilderSectionConfig<TFieldValues>>;
148
+ className?: string;
149
+ contentClassName?: string;
150
+ }>;
151
+ defaultTabId?: string;
152
+ tabsListClassName?: string;
153
+ tabsContentClassName?: string;
154
+ }
155
+ export interface FormBuilderProps<TFieldValues extends FieldValues = FieldValues> {
156
+ sections: Array<FormBuilderSectionConfig<TFieldValues>>;
157
+ schema?: z.ZodType<TFieldValues>;
158
+ defaultValues?: DeepPartial<TFieldValues> | DefaultValues<TFieldValues> | null;
159
+ onSubmit: (data: TFieldValues) => void | Promise<void>;
160
+ onCancel?: () => void;
161
+ onReset?: () => void;
162
+ onFieldChange?: (name: Path<TFieldValues> | string, value: unknown, allValues: TFieldValues) => void;
163
+ submitLabel?: string;
164
+ cancelLabel?: string;
165
+ resetLabel?: string;
166
+ isSubmitting?: boolean;
167
+ className?: string;
168
+ formClassName?: string;
169
+ actionsClassName?: string;
170
+ showActions?: boolean;
171
+ customActions?: React.ReactNode;
172
+ showActionsSeparator?: boolean;
173
+ }
174
+ export type { SectionNode };
175
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FormBuilderSectionConfig } from '../components/FormBuilder';
1
+ import { FormBuilderSectionConfig } from '../types';
2
2
  export declare const commonForms: {
3
3
  userRegistration: () => FormBuilderSectionConfig[];
4
4
  contact: () => FormBuilderSectionConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"common-forms.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/common-forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAMrE,eAAO,MAAM,WAAW;4BAEA,wBAAwB,EAAE;mBAwBnC,wBAAwB,EAAE;mBAa1B,wBAAwB,EAAE;CAsBxC,CAAC"}
1
+ {"version":3,"file":"common-forms.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/common-forms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,eAAO,MAAM,WAAW;4BAEA,wBAAwB,EAAE;mBAwBnC,wBAAwB,EAAE;mBAa1B,wBAAwB,EAAE;CAsBxC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FormBuilderFieldConfig } from '../components/FormBuilder';
1
+ import { FormBuilderFieldConfig } from '../types';
2
2
  export declare const createField: {
3
- text: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
3
+ text: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig<any>;
4
4
  email: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
5
5
  password: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
6
6
  number: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
@@ -17,7 +17,7 @@ export declare const createField: {
17
17
  }[], fieldOptions?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
18
18
  date: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
19
19
  file: (name: string, label: string, options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
20
- object: (name: string, label: string, fields: FormBuilderFieldConfig[], options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
20
+ object: (name: string, label: string, fields: FormBuilderFieldConfig<any>[], options?: Partial<FormBuilderFieldConfig<any>>) => FormBuilderFieldConfig<any>;
21
21
  array: (name: string, label: string, fields: FormBuilderFieldConfig[], options?: Partial<FormBuilderFieldConfig>) => FormBuilderFieldConfig;
22
22
  };
23
23
  //# sourceMappingURL=field-factories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-factories.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/field-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,eAAO,MAAM,WAAW;iBAEd,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,iBAC7C,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,iBACtC,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;iBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;iBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBASjB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAWjB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;CAU1B,CAAC"}
1
+ {"version":3,"file":"field-factories.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/field-factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,eAAO,MAAM,WAAW;iBAEd,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB,CAAC,GAAG,CAAC;kBAStB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;qBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,iBAC7C,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;qBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;kBAUjB,MAAM,SACL,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,iBACtC,OAAO,CAAC,sBAAsB,CAAC,KAC5C,sBAAsB;iBAUjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;iBASjB,MAAM,SACL,MAAM,YACJ,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;mBASjB,MAAM,SACL,MAAM,UACL,sBAAsB,CAAC,GAAG,CAAC,EAAE,YAC5B,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAC5C,sBAAsB,CAAC,GAAG,CAAC;kBAWtB,MAAM,SACL,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,sBAAsB,CAAC,KACvC,sBAAsB;CAU1B,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FormBuilderFieldConfig, FormBuilderSectionConfig } from '../components/FormBuilder';
1
+ import { FormBuilderFieldConfig, FormBuilderSectionConfig } from '../types';
2
2
  export declare const createSection: {
3
- card: (title: string, fields: FormBuilderFieldConfig[], options?: Partial<FormBuilderSectionConfig>) => FormBuilderSectionConfig;
4
- separator: (title: string, fields: FormBuilderFieldConfig[], options?: Partial<FormBuilderSectionConfig>) => FormBuilderSectionConfig;
5
- plain: (fields: FormBuilderFieldConfig[], options?: Partial<FormBuilderSectionConfig>) => FormBuilderSectionConfig;
3
+ card: (title: string, fields: FormBuilderFieldConfig<any>[], options?: Partial<FormBuilderSectionConfig<any>>) => FormBuilderSectionConfig<any>;
4
+ separator: (title: string, fields: FormBuilderFieldConfig<any>[], options?: Partial<FormBuilderSectionConfig<any>>) => FormBuilderSectionConfig<any>;
5
+ plain: (fields: FormBuilderFieldConfig<any>[], options?: Partial<FormBuilderSectionConfig<any>>) => FormBuilderSectionConfig<any>;
6
6
  };
7
7
  //# sourceMappingURL=section-factories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"section-factories.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/section-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG7F,eAAO,MAAM,aAAa;kBAEf,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,wBAAwB,CAAC,KACzC,wBAAwB;uBAQlB,MAAM,UACL,sBAAsB,EAAE,YACvB,OAAO,CAAC,wBAAwB,CAAC,KACzC,wBAAwB;oBAQjB,sBAAsB,EAAE,YACvB,OAAO,CAAC,wBAAwB,CAAC,KACzC,wBAAwB;CAK5B,CAAC"}
1
+ {"version":3,"file":"section-factories.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/utils/section-factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGjF,eAAO,MAAM,aAAa;kBAEf,MAAM,UACL,sBAAsB,CAAC,GAAG,CAAC,EAAE,YAC5B,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAC9C,wBAAwB,CAAC,GAAG,CAAC;uBAQvB,MAAM,UACL,sBAAsB,CAAC,GAAG,CAAC,EAAE,YAC5B,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAC9C,wBAAwB,CAAC,GAAG,CAAC;oBAQtB,sBAAsB,CAAC,GAAG,CAAC,EAAE,YAC5B,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAC9C,wBAAwB,CAAC,GAAG,CAAC;CAKjC,CAAC"}
@@ -1,6 +1,3 @@
1
- export declare function useStackDialog(): {
2
- createDialog: (config: import('./types').StackDialogCreateConfig) => string;
3
- closeDialog: (id?: string) => void;
4
- closeAllDialogs: () => void;
5
- };
1
+ import { StackDialogHook } from './types';
2
+ export declare function useStackDialog(): StackDialogHook;
6
3
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/hooks.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc;;;;EAO7B"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,cAAc,IAAI,eAAe,CAOhD"}
@@ -1,5 +1,5 @@
1
- export { StackDialogContext as Context } from './context';
2
- export { StackDialogContextProvider as ContextProvider } from './provider';
1
+ export { StackDialogContext, } from './context';
2
+ export { StackDialogContextProvider as StackDialogProvider, } from './provider';
3
3
  export { useStackDialog } from './hooks';
4
- export type * from './types';
4
+ export type { StackDialogContextInstance, StackDialogCreateConfig, StackDialogHook, StackDialogInstance } from './types';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,IAAI,OAAO,EAC9B,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,0BAA0B,IAAI,eAAe,EAC9C,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,mBAAmB,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,0BAA0B,IAAI,mBAAmB,GAClD,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACpB,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiC,MAAM,OAAO,CAAC;AAKzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,2CAiDlE"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiC,MAAM,OAAO,CAAC;AAKzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,2CAkDlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,6CAyBA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,6CAyBA"}
@@ -17,4 +17,5 @@ export type StackDialogCreateConfig = {
17
17
  closeOnInteractOutside?: boolean;
18
18
  closeOnEscapePressed?: boolean;
19
19
  };
20
+ export type StackDialogHook = Omit<StackDialogContextInstance, "activeDialogs">;
20
21
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,MAAM,CAAC;IAC1D,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,MAAM,CAAC;IAC1D,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { default as React } from 'react';
2
2
  import { AutocompleteFetcher, AutocompleteMode, AutocompleteOption } from './types';
3
- export type AutocompleteProps = {
3
+ export type AutocompleteProps<T = unknown> = {
4
4
  mode: AutocompleteMode;
5
- options?: AutocompleteOption[];
6
- fetcher?: AutocompleteFetcher;
5
+ options?: AutocompleteOption<T>[];
6
+ fetcher?: AutocompleteFetcher<T>;
7
7
  pageSize?: number;
8
8
  /**
9
9
  * Value can be a single primitive or an array when `multiple` is true
@@ -12,7 +12,7 @@ export type AutocompleteProps = {
12
12
  /**
13
13
  * onChange returns a single value + option in single mode, or an array of values + options in multiple mode
14
14
  */
15
- onChange?: (value: string | number | null | Array<string | number>, option: AutocompleteOption | AutocompleteOption[] | null) => void;
15
+ onChange?: (value: string | number | null | Array<string | number>, option: AutocompleteOption<T> | AutocompleteOption<T>[] | null, raw?: T | T[] | null) => void;
16
16
  /** Enable selecting multiple values (shows chips) */
17
17
  multiple?: boolean;
18
18
  /** Placeholder shown when nothing is selected */
@@ -20,7 +20,7 @@ export type AutocompleteProps = {
20
20
  disabled?: boolean;
21
21
  className?: string;
22
22
  emptyText?: string;
23
- renderOption?: (option: AutocompleteOption, selected: boolean) => React.ReactNode;
23
+ renderOption?: (option: AutocompleteOption<T>, selected: boolean) => React.ReactNode;
24
24
  searchPlaceholder?: string;
25
25
  /** Controls initial open state; component is uncontrolled otherwise */
26
26
  defaultOpen?: boolean;
@@ -41,13 +41,13 @@ export type AutocompleteProps = {
41
41
  * Optional: seed selected labels for edit pages. These options are only used to populate the
42
42
  * internal label map so labels render correctly when values are prefilled.
43
43
  */
44
- initialSelectedOptions?: AutocompleteOption | AutocompleteOption[] | null;
44
+ initialSelectedOptions?: AutocompleteOption<T> | AutocompleteOption<T>[] | null;
45
45
  /**
46
46
  * Optional: load labels/options for a list of values whose labels are unknown.
47
47
  * Useful for edit pages in server mode when only values are available.
48
48
  */
49
- loadSelected?: (values: Array<string | number>) => Promise<AutocompleteOption[]>;
49
+ loadSelected?: (values: Array<string | number>) => Promise<AutocompleteOption<T>[]>;
50
50
  };
51
- export declare function Autocomplete({ mode, options, fetcher, pageSize, value: controlledValue, onChange, multiple, placeholder, disabled, className, emptyText, renderOption, searchPlaceholder, defaultOpen, defaultValue, allowCustomValue, chipVariant, chipClassName, clearable, initialSelectedOptions, loadSelected, }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare function Autocomplete<T = unknown>({ mode, options, fetcher, pageSize, value: controlledValue, onChange, multiple, placeholder, disabled, className, emptyText, renderOption, searchPlaceholder, defaultOpen, defaultValue, allowCustomValue, chipVariant, chipClassName, clearable, initialSelectedOptions, loadSelected, }: AutocompleteProps<T>): import("react/jsx-runtime").JSX.Element;
52
52
  export default Autocomplete;
53
53
  //# sourceMappingURL=Autocomplete.d.ts.map