@datum-cloud/datum-ui 0.6.0-alpha.a49f238 → 0.6.0-alpha.a9a8815
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/README.md +3 -0
- package/dist/combobox/index.mjs +2 -0
- package/dist/combobox-cKTFK4uN.mjs +96 -0
- package/dist/components/features/combobox/combobox.d.ts +27 -0
- package/dist/components/features/combobox/combobox.d.ts.map +1 -0
- package/dist/components/features/combobox/index.d.ts +3 -0
- package/dist/components/features/combobox/index.d.ts.map +1 -0
- package/dist/components/features/combobox/types.d.ts +78 -0
- package/dist/components/features/combobox/types.d.ts.map +1 -0
- package/dist/components/features/date-time-picker/date-time-picker.d.ts +9 -0
- package/dist/components/features/date-time-picker/date-time-picker.d.ts.map +1 -0
- package/dist/components/features/date-time-picker/index.d.ts +3 -0
- package/dist/components/features/date-time-picker/index.d.ts.map +1 -0
- package/dist/components/features/date-time-picker/types.d.ts +53 -0
- package/dist/components/features/date-time-picker/types.d.ts.map +1 -0
- package/dist/components/features/date-time-picker/utils/format.d.ts +13 -0
- package/dist/components/features/date-time-picker/utils/format.d.ts.map +1 -0
- package/dist/components/features/date-time-picker/utils/index.d.ts +3 -0
- package/dist/components/features/date-time-picker/utils/index.d.ts.map +1 -0
- package/dist/components/features/date-time-picker/utils/timezone.d.ts +23 -0
- package/dist/components/features/date-time-picker/utils/timezone.d.ts.map +1 -0
- package/dist/components/features/form/adapters/conform/conform-adapter.d.ts.map +1 -1
- package/dist/components/features/form/components/form-autosearch.d.ts +25 -0
- package/dist/components/features/form/components/form-autosearch.d.ts.map +1 -0
- package/dist/components/features/form/components/form-combobox.d.ts +76 -0
- package/dist/components/features/form/components/form-combobox.d.ts.map +1 -0
- package/dist/components/features/form/components/form-date-picker.d.ts +38 -0
- package/dist/components/features/form/components/form-date-picker.d.ts.map +1 -0
- package/dist/components/features/form/components/form-date-time-picker.d.ts +37 -0
- package/dist/components/features/form/components/form-date-time-picker.d.ts.map +1 -0
- package/dist/components/features/form/components/form-time-picker.d.ts +21 -0
- package/dist/components/features/form/components/form-time-picker.d.ts.map +1 -0
- package/dist/components/features/form/components/form-transfer.d.ts +37 -0
- package/dist/components/features/form/components/form-transfer.d.ts.map +1 -0
- package/dist/components/features/form/components/index.d.ts +6 -0
- package/dist/components/features/form/components/index.d.ts.map +1 -1
- package/dist/components/features/form/index.d.ts +8 -2
- package/dist/components/features/form/index.d.ts.map +1 -1
- package/dist/components/features/form/utils/get-field-constraints.d.ts +33 -1
- package/dist/components/features/form/utils/get-field-constraints.d.ts.map +1 -1
- package/dist/components/features/time-picker/index.d.ts +3 -0
- package/dist/components/features/time-picker/index.d.ts.map +1 -0
- package/dist/components/features/time-picker/time-picker.d.ts +22 -0
- package/dist/components/features/time-picker/time-picker.d.ts.map +1 -0
- package/dist/components/features/time-picker/types.d.ts +31 -0
- package/dist/components/features/time-picker/types.d.ts.map +1 -0
- package/dist/components/features/transfer/components/index.d.ts +9 -0
- package/dist/components/features/transfer/components/index.d.ts.map +1 -0
- package/dist/components/features/transfer/components/transfer-group.d.ts +7 -0
- package/dist/components/features/transfer/components/transfer-group.d.ts.map +1 -0
- package/dist/components/features/transfer/components/transfer-item.d.ts +10 -0
- package/dist/components/features/transfer/components/transfer-item.d.ts.map +1 -0
- package/dist/components/features/transfer/components/transfer-panel.d.ts +18 -0
- package/dist/components/features/transfer/components/transfer-panel.d.ts.map +1 -0
- package/dist/components/features/transfer/components/transfer-search.d.ts +9 -0
- package/dist/components/features/transfer/components/transfer-search.d.ts.map +1 -0
- package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts +26 -0
- package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts.map +1 -0
- package/dist/components/features/transfer/hooks/use-transfer-state.d.ts +20 -0
- package/dist/components/features/transfer/hooks/use-transfer-state.d.ts.map +1 -0
- package/dist/components/features/transfer/index.d.ts +3 -0
- package/dist/components/features/transfer/index.d.ts.map +1 -0
- package/dist/components/features/transfer/transfer.d.ts +6 -0
- package/dist/components/features/transfer/transfer.d.ts.map +1 -0
- package/dist/components/features/transfer/types.d.ts +69 -0
- package/dist/components/features/transfer/types.d.ts.map +1 -0
- package/dist/date-picker/index.mjs +1 -1
- package/dist/date-time-picker/index.mjs +2 -0
- package/dist/date-time-picker-Bx_n4nEJ.mjs +177 -0
- package/dist/form/adapters/conform/index.mjs +8 -2
- package/dist/form/adapters/rhf/index.mjs +2 -2
- package/dist/form/index.mjs +3 -3
- package/dist/form/stepper/index.mjs +2 -2
- package/dist/{form-C6AOB2f4.mjs → form-zf5QOnAk.mjs} +217 -3
- package/dist/{get-field-constraints-D4xnXJEg.mjs → get-field-constraints-CxfZ753o.mjs} +1 -0
- package/dist/grid/index.mjs +1 -1
- package/dist/hooks/index.mjs +2 -2
- package/dist/index.mjs +14 -14
- package/dist/input-number/index.mjs +1 -1
- package/dist/map/index.mjs +1 -1
- package/dist/{map-BqpteT_8.mjs → map-CWIQ-eql.mjs} +1 -1
- package/dist/more-actions/index.mjs +1 -1
- package/dist/page-title/index.mjs +1 -1
- package/dist/stepper/index.mjs +1 -1
- package/dist/tag-input/index.mjs +1 -1
- package/dist/task-queue/index.mjs +1 -1
- package/dist/time-picker/index.mjs +2 -0
- package/dist/time-picker-BoF7pZZ2.mjs +43 -0
- package/dist/transfer/index.mjs +2 -0
- package/dist/transfer-C55XfEXy.mjs +243 -0
- package/package.json +32 -1
- /package/dist/{adapter-context-BFqfq4Io.mjs → adapter-context-rWveHhDd.mjs} +0 -0
- /package/dist/{col-CiSpQPUT.mjs → col-1T0Q3SlH.mjs} +0 -0
- /package/dist/{hooks-DNjmSsJT.mjs → hooks-D8r2M2U6.mjs} +0 -0
- /package/dist/{input-number-BTQdHqVZ.mjs → input-number-a7uydAsw.mjs} +0 -0
- /package/dist/{map-leaflet-imports-CT4SpoDi.mjs → map-leaflet-imports-CRSKA79m.mjs} +0 -0
- /package/dist/{more-actions-CucrYUnA.mjs → more-actions-ILnEZq_E.mjs} +0 -0
- /package/dist/{page-title-CmsIi_A3.mjs → page-title-ChsnpBiH.mjs} +0 -0
- /package/dist/{stepper-C92Ib8Iy.mjs → stepper-DvIOp0hh.mjs} +0 -0
- /package/dist/{tag-input-B91C2wdr.mjs → tag-input-T9cUX9-G.mjs} +0 -0
- /package/dist/{task-queue-dropdown-OOFuJcHb.mjs → task-queue-dropdown-Wcbj-f0V.mjs} +0 -0
- /package/dist/{to-api-format-P0gmlqe8.mjs → to-api-format-Bh3c01gr.mjs} +0 -0
- /package/dist/{use-copy-to-clipboard-C2IEmhDn.mjs → use-copy-to-clipboard-uNeeVHC4.mjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-transfer.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/components/form-transfer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKzD,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACxF;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA6B/F;yBA7Be,YAAY"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export { FormAutocomplete } from './form-autocomplete';
|
|
2
|
+
export { FormAutosearch } from './form-autosearch';
|
|
2
3
|
export { FormButton } from './form-button';
|
|
3
4
|
export { FormCheckbox } from './form-checkbox';
|
|
5
|
+
export { FormCombobox } from './form-combobox';
|
|
4
6
|
export { FormCopyBox } from './form-copy-box';
|
|
5
7
|
export { FormCustom } from './form-custom';
|
|
8
|
+
export { FormDatePicker } from './form-date-picker';
|
|
9
|
+
export { FormDateTimePicker } from './form-date-time-picker';
|
|
6
10
|
export { FormDescription } from './form-description';
|
|
7
11
|
export { FormDialog } from './form-dialog';
|
|
8
12
|
export { FormError } from './form-error';
|
|
@@ -15,5 +19,7 @@ export { FormSelect, FormSelectItem } from './form-select';
|
|
|
15
19
|
export { FormSubmit } from './form-submit';
|
|
16
20
|
export { FormSwitch } from './form-switch';
|
|
17
21
|
export { FormTextarea } from './form-textarea';
|
|
22
|
+
export { FormTimePicker } from './form-time-picker';
|
|
23
|
+
export { FormTransfer } from './form-transfer';
|
|
18
24
|
export { FormWhen } from './form-when';
|
|
19
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
* </Form.When>
|
|
89
89
|
* ```
|
|
90
90
|
*/
|
|
91
|
-
import { FormAutocomplete, FormButton, FormCheckbox, FormCopyBox, FormCustom, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormWhen } from './components';
|
|
91
|
+
import { FormAutocomplete, FormAutosearch, FormButton, FormCheckbox, FormCombobox, FormCopyBox, FormCustom, FormDatePicker, FormDateTimePicker, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormTimePicker, FormTransfer, FormWhen } from './components';
|
|
92
92
|
import { FormInputGroup } from './components/form-input-group';
|
|
93
93
|
import { useField, useFieldContext, useFormContext, useFormState, useWatch, useWatchAll } from './hooks';
|
|
94
94
|
/**
|
|
@@ -133,7 +133,13 @@ export declare const Form: {
|
|
|
133
133
|
readonly RadioItem: typeof FormRadioItem;
|
|
134
134
|
readonly CopyBox: typeof FormCopyBox;
|
|
135
135
|
readonly Autocomplete: typeof FormAutocomplete;
|
|
136
|
+
readonly Autosearch: typeof FormAutosearch;
|
|
137
|
+
readonly Combobox: typeof FormCombobox;
|
|
136
138
|
readonly InputGroup: typeof FormInputGroup;
|
|
139
|
+
readonly DatePicker: typeof FormDatePicker;
|
|
140
|
+
readonly DateTimePicker: typeof FormDateTimePicker;
|
|
141
|
+
readonly TimePicker: typeof FormTimePicker;
|
|
142
|
+
readonly Transfer: typeof FormTransfer;
|
|
137
143
|
readonly When: typeof FormWhen;
|
|
138
144
|
readonly FieldArray: typeof FormFieldArray;
|
|
139
145
|
readonly Custom: typeof FormCustom;
|
|
@@ -145,7 +151,7 @@ export declare const Form: {
|
|
|
145
151
|
readonly useWatch: typeof useWatch;
|
|
146
152
|
readonly useWatchAll: typeof useWatchAll;
|
|
147
153
|
};
|
|
148
|
-
export { FormAutocomplete, FormButton, FormCheckbox, FormCopyBox, FormCustom, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormWhen, useField, useFieldContext, useFormContext, useFormState, useWatch, useWatchAll, };
|
|
154
|
+
export { FormAutocomplete, FormAutosearch, FormButton, FormCheckbox, FormCombobox, FormCopyBox, FormCustom, FormDatePicker, FormDateTimePicker, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormTimePicker, FormTransfer, FormWhen, useField, useFieldContext, useFormContext, useFormState, useWatch, useWatchAll, };
|
|
149
155
|
export { FormAdapterProvider, useAdapter } from './adapter-context';
|
|
150
156
|
export type { CreateFormProps, FormAdapter, NormalizedFieldArray, NormalizedFieldMeta, NormalizedFieldState, NormalizedFormInstance, NormalizedFormState, } from './adapter-types';
|
|
151
157
|
export type { AutocompleteGroup, AutocompleteOption, AutocompleteProps, FormAutocompleteProps, FormButtonProps, FormCheckboxProps, FormContextValue, FormCopyBoxProps, FormCustomProps, FormCustomRenderProps, FormDescriptionProps, FormDialogProps, FormErrorProps, FormFieldArrayProps, FormFieldArrayRenderProps, FormFieldContextValue, FormFieldProps, FormFieldRenderProps, FormInputProps, FormRadioGroupProps, FormRadioItemProps, FormRootProps, FormRootRenderProps, FormSelectItemProps, FormSelectProps, FormSubmitProps, FormSwitchProps, FormTelemetry, FormTextareaProps, FormWhenProps, UseFieldReturn, UseWatchReturn, } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/form/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AAEH,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,QAAQ,EACT,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/form/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,QAAQ,EACT,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CP,CAAA;AAGV,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EAGf,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,EAEd,SAAS,EACT,cAAc,EACd,aAAa,EAEb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EAEZ,QAAQ,EAER,QAAQ,EACR,eAAe,EAEf,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,WAAW,GACZ,CAAA;AAGD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnE,YAAY,EACV,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,SAAS,CAAA"}
|
|
@@ -1,11 +1,43 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { z } from 'zod';
|
|
2
2
|
export interface FieldConstraint {
|
|
3
3
|
required: boolean;
|
|
4
4
|
}
|
|
5
|
+
export interface FieldConstraints {
|
|
6
|
+
required?: boolean;
|
|
7
|
+
minLength?: number;
|
|
8
|
+
maxLength?: number;
|
|
9
|
+
min?: number;
|
|
10
|
+
max?: number;
|
|
11
|
+
pattern?: string;
|
|
12
|
+
multiple?: boolean;
|
|
13
|
+
minDate?: Date;
|
|
14
|
+
maxDate?: Date;
|
|
15
|
+
minItems?: number;
|
|
16
|
+
maxItems?: number;
|
|
17
|
+
}
|
|
5
18
|
/**
|
|
6
19
|
* Extract field-level constraints from a Zod schema.
|
|
7
20
|
* Works with ZodObject, ZodIntersection (from .and()), and ZodPipe (from .transform()).
|
|
8
21
|
* Used by both Conform and RHF adapters to determine required fields.
|
|
9
22
|
*/
|
|
10
23
|
export declare function getFieldConstraints(schema: z.ZodType): Record<string, FieldConstraint>;
|
|
24
|
+
/**
|
|
25
|
+
* Extract the shape from a ZodObject, ZodIntersection, or ZodPipe.
|
|
26
|
+
* Uses Zod v4's `def.type` discriminant.
|
|
27
|
+
*
|
|
28
|
+
* In Zod v4:
|
|
29
|
+
* - `.refine()` / `.superRefine()` on ZodObject return the same ZodObject (def.type = 'object')
|
|
30
|
+
* - `.transform()` wraps in ZodPipe (def.type = 'pipe', with def.in / def.out)
|
|
31
|
+
* - `.and()` creates ZodIntersection (def.type = 'intersection', with def.left / def.right)
|
|
32
|
+
*/
|
|
33
|
+
export declare function getObjectShape(schema: z.ZodType): Record<string, z.ZodType> | null;
|
|
34
|
+
/**
|
|
35
|
+
* Extract field-level constraints from a single Zod field schema.
|
|
36
|
+
* Used to extract constraints like min/max dates, array lengths, string patterns, etc.
|
|
37
|
+
* for individual form fields.
|
|
38
|
+
*
|
|
39
|
+
* NOTE: Uses Zod v4.3.6 internal API (_zod.def) for constraint extraction.
|
|
40
|
+
* This API may change in future Zod versions.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getFieldConstraintsSingle(schema: z.ZodTypeAny): FieldConstraints;
|
|
11
43
|
//# sourceMappingURL=get-field-constraints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-field-constraints.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/utils/get-field-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"get-field-constraints.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/utils/get-field-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAGlB,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IAGd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAcjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAqBlC;AAgBD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAkDhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/time-picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { TimePickerProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* TimePicker - Simple time input component
|
|
4
|
+
*
|
|
5
|
+
* Provides a native HTML time input for selecting hours and minutes.
|
|
6
|
+
* Value format: "HH:mm" (e.g., "14:30")
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <TimePicker
|
|
11
|
+
* value="14:30"
|
|
12
|
+
* onChange={(time) => console.log(time)}
|
|
13
|
+
* min="09:00"
|
|
14
|
+
* max="17:00"
|
|
15
|
+
* />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function TimePicker({ value, onChange, min, max, step, placeholder, disabled, className, id, 'aria-invalid': ariaInvalid, 'aria-describedby': ariaDescribedBy, }: TimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare namespace TimePicker {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=time-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/time-picker/time-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,EACH,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,EAAE,EACF,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,GACpC,EAAE,eAAe,2CAwBjB;yBApCe,UAAU"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimePicker - Simple time input component
|
|
3
|
+
*
|
|
4
|
+
* Provides a native HTML time input for selecting hours and minutes.
|
|
5
|
+
* Value format: "HH:mm" (e.g., "14:30")
|
|
6
|
+
*/
|
|
7
|
+
export interface TimePickerProps {
|
|
8
|
+
/** Current time value in HH:mm format (e.g., "14:30") */
|
|
9
|
+
'value'?: string;
|
|
10
|
+
/** Called when time changes */
|
|
11
|
+
'onChange'?: (value: string) => void;
|
|
12
|
+
/** Minimum selectable time in HH:mm format */
|
|
13
|
+
'min'?: string;
|
|
14
|
+
/** Maximum selectable time in HH:mm format */
|
|
15
|
+
'max'?: string;
|
|
16
|
+
/** Step interval in minutes (default: 1) */
|
|
17
|
+
'step'?: number;
|
|
18
|
+
/** Placeholder text */
|
|
19
|
+
'placeholder'?: string;
|
|
20
|
+
/** Disable the input */
|
|
21
|
+
'disabled'?: boolean;
|
|
22
|
+
/** Additional CSS classes */
|
|
23
|
+
'className'?: string;
|
|
24
|
+
/** Input ID */
|
|
25
|
+
'id'?: string;
|
|
26
|
+
/** ARIA invalid state */
|
|
27
|
+
'aria-invalid'?: boolean;
|
|
28
|
+
/** ARIA described by */
|
|
29
|
+
'aria-describedby'?: string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/time-picker/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yBAAyB;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,wBAAwB;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { TransferGroup } from './transfer-group';
|
|
2
|
+
export type { TransferGroupProps } from './transfer-group';
|
|
3
|
+
export { TransferItem } from './transfer-item';
|
|
4
|
+
export type { TransferItemProps } from './transfer-item';
|
|
5
|
+
export { TransferPanel } from './transfer-panel';
|
|
6
|
+
export type { TransferPanelProps } from './transfer-panel';
|
|
7
|
+
export { TransferSearch } from './transfer-search';
|
|
8
|
+
export type { TransferSearchProps } from './transfer-search';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-group.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/components/transfer-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAYtD,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface TransferItemProps {
|
|
3
|
+
itemKey: string;
|
|
4
|
+
label: string;
|
|
5
|
+
onClick: () => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
panelType: 'source' | 'target';
|
|
8
|
+
}
|
|
9
|
+
export declare const TransferItem: React.FC<TransferItemProps>;
|
|
10
|
+
//# sourceMappingURL=transfer-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/components/transfer-item.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC/B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgCpD,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TransferItem as TransferItemType } from '../types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export interface TransferPanelProps {
|
|
4
|
+
title: string;
|
|
5
|
+
items: TransferItemType[];
|
|
6
|
+
groups: string[];
|
|
7
|
+
searchable: boolean;
|
|
8
|
+
searchValue: string;
|
|
9
|
+
onSearchChange: (value: string) => void;
|
|
10
|
+
searchPlaceholder?: string;
|
|
11
|
+
onItemClick: (key: string) => void;
|
|
12
|
+
onSelectAll: () => void;
|
|
13
|
+
enableSelectAll: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
panelType: 'source' | 'target';
|
|
16
|
+
}
|
|
17
|
+
export declare const TransferPanel: React.FC<TransferPanelProps>;
|
|
18
|
+
//# sourceMappingURL=transfer-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/components/transfer-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC/B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmGtD,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface TransferSearchProps {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const TransferSearch: React.FC<TransferSearchProps>;
|
|
9
|
+
//# sourceMappingURL=transfer-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-search.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/components/transfer-search.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0BxD,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DragEndEvent } from '@dnd-kit/core';
|
|
2
|
+
import { DndContext, useSensors } from '@dnd-kit/core';
|
|
3
|
+
import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
4
|
+
export interface UseTransferDndProps {
|
|
5
|
+
/**
|
|
6
|
+
* Current order of items (keys)
|
|
7
|
+
*/
|
|
8
|
+
items: string[];
|
|
9
|
+
/**
|
|
10
|
+
* Called when items are reordered
|
|
11
|
+
*/
|
|
12
|
+
onReorder: (items: string[]) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Disable drag and drop
|
|
15
|
+
*/
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface UseTransferDndReturn {
|
|
19
|
+
sensors: ReturnType<typeof useSensors>;
|
|
20
|
+
handleDragEnd: (event: DragEndEvent) => void;
|
|
21
|
+
DndContext: typeof DndContext;
|
|
22
|
+
SortableContext: typeof SortableContext;
|
|
23
|
+
verticalListSortingStrategy: typeof verticalListSortingStrategy;
|
|
24
|
+
}
|
|
25
|
+
export declare function useTransferDnd({ items, onReorder, disabled, }: UseTransferDndProps): UseTransferDndReturn;
|
|
26
|
+
//# sourceMappingURL=use-transfer-dnd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-transfer-dnd.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/hooks/use-transfer-dnd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EACL,UAAU,EAIV,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAEL,eAAe,EAEf,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AAE1B,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;OAEG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAEpC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;IACtC,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAA;IAC7B,eAAe,EAAE,OAAO,eAAe,CAAA;IACvC,2BAA2B,EAAE,OAAO,2BAA2B,CAAA;CAChE;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,QAAgB,GACjB,EAAE,mBAAmB,GAAG,oBAAoB,CA8B5C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TransferItem } from '../types';
|
|
2
|
+
interface UseTransferStateProps<T> {
|
|
3
|
+
items: T[];
|
|
4
|
+
value: string[];
|
|
5
|
+
itemKey: keyof T | ((item: T) => string);
|
|
6
|
+
itemLabel: keyof T | ((item: T) => string);
|
|
7
|
+
itemGroup?: keyof T | ((item: T) => string | undefined);
|
|
8
|
+
}
|
|
9
|
+
interface UseTransferStateReturn<T> {
|
|
10
|
+
sourceItems: TransferItem<T>[];
|
|
11
|
+
targetItems: TransferItem<T>[];
|
|
12
|
+
filteredSourceItems: TransferItem<T>[];
|
|
13
|
+
sourceGroups: string[];
|
|
14
|
+
targetGroups: string[];
|
|
15
|
+
sourceSearch: string;
|
|
16
|
+
setSourceSearch: (search: string) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function useTransferState<T>({ items, value, itemKey, itemLabel, itemGroup, }: UseTransferStateProps<T>): UseTransferStateReturn<T>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=use-transfer-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-transfer-state.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/transfer/hooks/use-transfer-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG5C,UAAU,qBAAqB,CAAC,CAAC;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;IACxC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAAA;CACxD;AAED,UAAU,sBAAsB,CAAC,CAAC;IAEhC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9B,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAG9B,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAGtC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,EAAE,MAAM,EAAE,CAAA;IAGtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAClC,KAAK,EACL,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,GACV,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CA6GtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/transfer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TransferProps } from './types';
|
|
2
|
+
export declare function Transfer<T>({ items, value, onChange, itemKey, itemLabel, itemGroup, searchable, searchPlaceholder, sourceTitle, targetTitle, enableSelectAll, disabled, className, }: TransferProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace Transfer {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=transfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../../src/components/features/transfer/transfer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM5C,wBAAgB,QAAQ,CAAC,CAAC,EAAG,EAC3B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAiB,EACjB,iBAA+B,EAC/B,WAAyB,EACzB,WAAwB,EACxB,eAAsB,EACtB,QAAgB,EAChB,SAAS,GACV,EAAE,aAAa,CAAC,CAAC,CAAC,2CAuElB;yBArFe,QAAQ"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export interface TransferProps<T = any> {
|
|
2
|
+
/**
|
|
3
|
+
* All available items
|
|
4
|
+
*/
|
|
5
|
+
items: T[];
|
|
6
|
+
/**
|
|
7
|
+
* Currently selected item keys
|
|
8
|
+
*/
|
|
9
|
+
value: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Called when selection changes
|
|
12
|
+
*/
|
|
13
|
+
onChange: (value: string[]) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Extract unique key from item
|
|
16
|
+
*/
|
|
17
|
+
itemKey: keyof T | ((item: T) => string);
|
|
18
|
+
/**
|
|
19
|
+
* Extract display label from item
|
|
20
|
+
*/
|
|
21
|
+
itemLabel: keyof T | ((item: T) => string);
|
|
22
|
+
/**
|
|
23
|
+
* Extract group name from item (optional)
|
|
24
|
+
*/
|
|
25
|
+
itemGroup?: keyof T | ((item: T) => string | undefined);
|
|
26
|
+
/**
|
|
27
|
+
* Enable search functionality
|
|
28
|
+
* @default true
|
|
29
|
+
*/
|
|
30
|
+
searchable?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Search input placeholder
|
|
33
|
+
*/
|
|
34
|
+
searchPlaceholder?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Source panel title
|
|
37
|
+
* @default "Available"
|
|
38
|
+
*/
|
|
39
|
+
sourceTitle?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Target panel title
|
|
42
|
+
* @default "Selected"
|
|
43
|
+
*/
|
|
44
|
+
targetTitle?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Show select-all button
|
|
47
|
+
* @default true
|
|
48
|
+
*/
|
|
49
|
+
enableSelectAll?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Disable the component
|
|
52
|
+
*/
|
|
53
|
+
disabled?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Additional CSS class
|
|
56
|
+
*/
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface TransferItem<T = any> {
|
|
60
|
+
key: string;
|
|
61
|
+
label: string;
|
|
62
|
+
group?: string;
|
|
63
|
+
data: T;
|
|
64
|
+
}
|
|
65
|
+
export interface TransferPanelData<T = any> {
|
|
66
|
+
items: TransferItem<T>[];
|
|
67
|
+
groups: string[];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/transfer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC;;OAEG;IACH,KAAK,EAAE,CAAC,EAAE,CAAA;IAEV;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAEnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;IAExC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;IAE1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAAA;IAEvD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as CalendarDatePicker } from "../calendar-date-picker-DWK94_DC.mjs";
|
|
2
|
-
import { C as utcToLocalInputString, S as utcStringToZonedDate, _ as getBrowserTimezone, a as formatTimeRangeDisplay, b as getTimezoneOffset, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as formatUtcForDisplay, h as formatTimezoneLabel, i as formatSingleTimeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as TimeRangePicker, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatDateForInput, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as getDefaultTimezoneOptions, w as zonedDateToUtcString, x as localInputStringToUtc, y as getShortTimezoneDisplay } from "../to-api-format-
|
|
2
|
+
import { C as utcToLocalInputString, S as utcStringToZonedDate, _ as getBrowserTimezone, a as formatTimeRangeDisplay, b as getTimezoneOffset, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as formatUtcForDisplay, h as formatTimezoneLabel, i as formatSingleTimeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as TimeRangePicker, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatDateForInput, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as getDefaultTimezoneOptions, w as zonedDateToUtcString, x as localInputStringToUtc, y as getShortTimezoneDisplay } from "../to-api-format-Bh3c01gr.mjs";
|
|
3
3
|
export { CustomRangePanel as AbsoluteRangePanel, CustomRangePanel, CalendarDatePicker, DEFAULT_PRESETS, QuickRangesPanel, TimeRangePicker, TimezoneSelector, createTimezoneOption, formatDateForInput, formatSingleTimeDisplay, formatTimeRangeDisplay, formatTimezoneLabel, formatUtcForDisplay, getBrowserTimezone, getDefaultPreset, getDefaultTimezoneOptions, getPresetByKey, getPresetByShortcut, getPresetRange, getShortTimezoneDisplay, getTimezoneOffset, localInputStringToUtc, toApiTimeRange, utcStringToZonedDate, utcToLocalInputString, zonedDateToUtcString };
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { t as cn } from "./cn-D2KYQ917.mjs";
|
|
2
|
+
import { t as Button } from "./button-D3RrsMfQ.mjs";
|
|
3
|
+
import { t as Calendar$1 } from "./calendar-DEkCw7I1.mjs";
|
|
4
|
+
import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "./popover-FJAcbYoH.mjs";
|
|
5
|
+
import { CalendarIcon } from "lucide-react";
|
|
6
|
+
import * as React$1 from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { format } from "date-fns";
|
|
9
|
+
import { formatInTimeZone, fromZonedTime, toZonedTime } from "date-fns-tz";
|
|
10
|
+
//#region src/components/features/date-time-picker/utils/format.ts
|
|
11
|
+
/**
|
|
12
|
+
* Format date for display
|
|
13
|
+
*/
|
|
14
|
+
function formatDate(date) {
|
|
15
|
+
if (!date) return "";
|
|
16
|
+
return format(date, "PP");
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/features/date-time-picker/utils/timezone.ts
|
|
20
|
+
/**
|
|
21
|
+
* Get the browser's timezone
|
|
22
|
+
*/
|
|
23
|
+
function getBrowserTimezone() {
|
|
24
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Convert local date + time to UTC ISO string
|
|
28
|
+
* @param date - Date object (date part)
|
|
29
|
+
* @param time - Time string in HH:mm format
|
|
30
|
+
* @param timezone - IANA timezone (e.g., "America/New_York")
|
|
31
|
+
* @returns UTC ISO string
|
|
32
|
+
*/
|
|
33
|
+
function localDateTimeToUtc(date, time, timezone) {
|
|
34
|
+
try {
|
|
35
|
+
const [hours, minutes] = time.split(":").map(Number);
|
|
36
|
+
return fromZonedTime(`${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, "0")}-${String(date.getDate()).padStart(2, "0")} ${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`, timezone).toISOString();
|
|
37
|
+
} catch {
|
|
38
|
+
console.warn(`Invalid timezone "${timezone}", falling back to UTC`);
|
|
39
|
+
const [hours = 0, minutes = 0] = time.split(":").map(Number);
|
|
40
|
+
const combined = new Date(date);
|
|
41
|
+
combined.setUTCHours(hours, minutes, 0, 0);
|
|
42
|
+
return combined.toISOString();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Convert UTC ISO string to local date + time
|
|
47
|
+
* @param utcString - UTC ISO string
|
|
48
|
+
* @param timezone - IANA timezone
|
|
49
|
+
* @returns Object with date and time (HH:mm)
|
|
50
|
+
*/
|
|
51
|
+
function utcToLocalDateTime(utcString, timezone) {
|
|
52
|
+
try {
|
|
53
|
+
const utcDate = new Date(utcString);
|
|
54
|
+
const time = formatInTimeZone(utcDate, timezone, "HH:mm");
|
|
55
|
+
return {
|
|
56
|
+
date: toZonedTime(utcDate, timezone),
|
|
57
|
+
time
|
|
58
|
+
};
|
|
59
|
+
} catch {
|
|
60
|
+
console.warn(`Invalid timezone "${timezone}", falling back to UTC`);
|
|
61
|
+
const utcDate = new Date(utcString);
|
|
62
|
+
const hours = utcDate.getUTCHours();
|
|
63
|
+
const minutes = utcDate.getUTCMinutes();
|
|
64
|
+
return {
|
|
65
|
+
date: utcDate,
|
|
66
|
+
time: `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/components/features/date-time-picker/date-time-picker.tsx
|
|
72
|
+
const DEFAULT_TIMEZONE = getBrowserTimezone();
|
|
73
|
+
function DateTimePicker({ ref, value, onChange, minDate, maxDate, disabledDates, timezone = DEFAULT_TIMEZONE, showTimezoneIndicator = false, placeholder = "Select date and time", disabled = false, className }) {
|
|
74
|
+
const initialState = React$1.useMemo(() => {
|
|
75
|
+
if (!value) return {
|
|
76
|
+
date: void 0,
|
|
77
|
+
time: ""
|
|
78
|
+
};
|
|
79
|
+
return utcToLocalDateTime(value, timezone);
|
|
80
|
+
}, [value, timezone]);
|
|
81
|
+
const [state, setState] = React$1.useState(initialState);
|
|
82
|
+
const prevValue = React$1.useRef(value);
|
|
83
|
+
const prevTimezone = React$1.useRef(timezone);
|
|
84
|
+
React$1.useEffect(() => {
|
|
85
|
+
if (value !== prevValue.current || timezone !== prevTimezone.current) {
|
|
86
|
+
prevValue.current = value;
|
|
87
|
+
prevTimezone.current = timezone;
|
|
88
|
+
setState(() => value ? utcToLocalDateTime(value, timezone) : {
|
|
89
|
+
date: void 0,
|
|
90
|
+
time: ""
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}, [value, timezone]);
|
|
94
|
+
const handleDateChange = React$1.useCallback((newDate) => {
|
|
95
|
+
setState((prev) => ({
|
|
96
|
+
...prev,
|
|
97
|
+
date: newDate
|
|
98
|
+
}));
|
|
99
|
+
}, []);
|
|
100
|
+
const handleTimeChange = React$1.useCallback((e) => {
|
|
101
|
+
const newTime = e.target.value;
|
|
102
|
+
if (newTime && !/^\d{2}:\d{2}$/.test(newTime)) return;
|
|
103
|
+
setState((prev) => ({
|
|
104
|
+
...prev,
|
|
105
|
+
time: newTime
|
|
106
|
+
}));
|
|
107
|
+
}, []);
|
|
108
|
+
React$1.useEffect(() => {
|
|
109
|
+
if (state.date && state.time) {
|
|
110
|
+
const utcValue = localDateTimeToUtc(state.date, state.time, timezone);
|
|
111
|
+
onChange?.(utcValue);
|
|
112
|
+
}
|
|
113
|
+
}, [
|
|
114
|
+
state.date,
|
|
115
|
+
state.time,
|
|
116
|
+
timezone,
|
|
117
|
+
onChange
|
|
118
|
+
]);
|
|
119
|
+
const formatDisplayValue = () => {
|
|
120
|
+
if (!state.date) return placeholder;
|
|
121
|
+
if (state.time) return `${formatDate(state.date)} ${state.time}`;
|
|
122
|
+
return formatDate(state.date);
|
|
123
|
+
};
|
|
124
|
+
return /* @__PURE__ */ jsx("div", {
|
|
125
|
+
ref,
|
|
126
|
+
className,
|
|
127
|
+
children: /* @__PURE__ */ jsxs(Popover, { children: [/* @__PURE__ */ jsx(PopoverTrigger, {
|
|
128
|
+
asChild: true,
|
|
129
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
130
|
+
variant: "outline",
|
|
131
|
+
className: cn("w-full justify-start text-left font-normal", !state.date && "text-muted-foreground"),
|
|
132
|
+
disabled,
|
|
133
|
+
children: [
|
|
134
|
+
/* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }),
|
|
135
|
+
/* @__PURE__ */ jsx("span", {
|
|
136
|
+
className: "flex-1",
|
|
137
|
+
children: formatDisplayValue()
|
|
138
|
+
}),
|
|
139
|
+
showTimezoneIndicator && state.date && state.time && /* @__PURE__ */ jsx("span", {
|
|
140
|
+
className: "text-muted-foreground ml-2 text-xs",
|
|
141
|
+
children: timezone
|
|
142
|
+
})
|
|
143
|
+
]
|
|
144
|
+
})
|
|
145
|
+
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
146
|
+
className: "w-auto p-0",
|
|
147
|
+
align: "start",
|
|
148
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
149
|
+
className: "p-3",
|
|
150
|
+
children: [/* @__PURE__ */ jsx(Calendar$1, {
|
|
151
|
+
mode: "single",
|
|
152
|
+
selected: state.date,
|
|
153
|
+
onSelect: handleDateChange,
|
|
154
|
+
disabled: disabledDates,
|
|
155
|
+
fromDate: minDate,
|
|
156
|
+
toDate: maxDate
|
|
157
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
158
|
+
className: "mt-3",
|
|
159
|
+
children: [/* @__PURE__ */ jsx("label", {
|
|
160
|
+
className: "mb-1 block text-sm font-medium",
|
|
161
|
+
children: "Time"
|
|
162
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
163
|
+
type: "time",
|
|
164
|
+
"aria-label": "Select time",
|
|
165
|
+
value: state.time,
|
|
166
|
+
onChange: handleTimeChange,
|
|
167
|
+
disabled: disabled || !state.date,
|
|
168
|
+
className: cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1", "text-sm shadow-sm transition-colors", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:cursor-not-allowed disabled:opacity-50")
|
|
169
|
+
})]
|
|
170
|
+
})]
|
|
171
|
+
})
|
|
172
|
+
})] })
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
DateTimePicker.displayName = "DateTimePicker";
|
|
176
|
+
//#endregion
|
|
177
|
+
export { DateTimePicker as t };
|