@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.
Files changed (103) hide show
  1. package/README.md +3 -0
  2. package/dist/combobox/index.mjs +2 -0
  3. package/dist/combobox-cKTFK4uN.mjs +96 -0
  4. package/dist/components/features/combobox/combobox.d.ts +27 -0
  5. package/dist/components/features/combobox/combobox.d.ts.map +1 -0
  6. package/dist/components/features/combobox/index.d.ts +3 -0
  7. package/dist/components/features/combobox/index.d.ts.map +1 -0
  8. package/dist/components/features/combobox/types.d.ts +78 -0
  9. package/dist/components/features/combobox/types.d.ts.map +1 -0
  10. package/dist/components/features/date-time-picker/date-time-picker.d.ts +9 -0
  11. package/dist/components/features/date-time-picker/date-time-picker.d.ts.map +1 -0
  12. package/dist/components/features/date-time-picker/index.d.ts +3 -0
  13. package/dist/components/features/date-time-picker/index.d.ts.map +1 -0
  14. package/dist/components/features/date-time-picker/types.d.ts +53 -0
  15. package/dist/components/features/date-time-picker/types.d.ts.map +1 -0
  16. package/dist/components/features/date-time-picker/utils/format.d.ts +13 -0
  17. package/dist/components/features/date-time-picker/utils/format.d.ts.map +1 -0
  18. package/dist/components/features/date-time-picker/utils/index.d.ts +3 -0
  19. package/dist/components/features/date-time-picker/utils/index.d.ts.map +1 -0
  20. package/dist/components/features/date-time-picker/utils/timezone.d.ts +23 -0
  21. package/dist/components/features/date-time-picker/utils/timezone.d.ts.map +1 -0
  22. package/dist/components/features/form/adapters/conform/conform-adapter.d.ts.map +1 -1
  23. package/dist/components/features/form/components/form-autosearch.d.ts +25 -0
  24. package/dist/components/features/form/components/form-autosearch.d.ts.map +1 -0
  25. package/dist/components/features/form/components/form-combobox.d.ts +76 -0
  26. package/dist/components/features/form/components/form-combobox.d.ts.map +1 -0
  27. package/dist/components/features/form/components/form-date-picker.d.ts +38 -0
  28. package/dist/components/features/form/components/form-date-picker.d.ts.map +1 -0
  29. package/dist/components/features/form/components/form-date-time-picker.d.ts +37 -0
  30. package/dist/components/features/form/components/form-date-time-picker.d.ts.map +1 -0
  31. package/dist/components/features/form/components/form-time-picker.d.ts +21 -0
  32. package/dist/components/features/form/components/form-time-picker.d.ts.map +1 -0
  33. package/dist/components/features/form/components/form-transfer.d.ts +37 -0
  34. package/dist/components/features/form/components/form-transfer.d.ts.map +1 -0
  35. package/dist/components/features/form/components/index.d.ts +6 -0
  36. package/dist/components/features/form/components/index.d.ts.map +1 -1
  37. package/dist/components/features/form/index.d.ts +8 -2
  38. package/dist/components/features/form/index.d.ts.map +1 -1
  39. package/dist/components/features/form/utils/get-field-constraints.d.ts +33 -1
  40. package/dist/components/features/form/utils/get-field-constraints.d.ts.map +1 -1
  41. package/dist/components/features/time-picker/index.d.ts +3 -0
  42. package/dist/components/features/time-picker/index.d.ts.map +1 -0
  43. package/dist/components/features/time-picker/time-picker.d.ts +22 -0
  44. package/dist/components/features/time-picker/time-picker.d.ts.map +1 -0
  45. package/dist/components/features/time-picker/types.d.ts +31 -0
  46. package/dist/components/features/time-picker/types.d.ts.map +1 -0
  47. package/dist/components/features/transfer/components/index.d.ts +9 -0
  48. package/dist/components/features/transfer/components/index.d.ts.map +1 -0
  49. package/dist/components/features/transfer/components/transfer-group.d.ts +7 -0
  50. package/dist/components/features/transfer/components/transfer-group.d.ts.map +1 -0
  51. package/dist/components/features/transfer/components/transfer-item.d.ts +10 -0
  52. package/dist/components/features/transfer/components/transfer-item.d.ts.map +1 -0
  53. package/dist/components/features/transfer/components/transfer-panel.d.ts +18 -0
  54. package/dist/components/features/transfer/components/transfer-panel.d.ts.map +1 -0
  55. package/dist/components/features/transfer/components/transfer-search.d.ts +9 -0
  56. package/dist/components/features/transfer/components/transfer-search.d.ts.map +1 -0
  57. package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts +26 -0
  58. package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts.map +1 -0
  59. package/dist/components/features/transfer/hooks/use-transfer-state.d.ts +20 -0
  60. package/dist/components/features/transfer/hooks/use-transfer-state.d.ts.map +1 -0
  61. package/dist/components/features/transfer/index.d.ts +3 -0
  62. package/dist/components/features/transfer/index.d.ts.map +1 -0
  63. package/dist/components/features/transfer/transfer.d.ts +6 -0
  64. package/dist/components/features/transfer/transfer.d.ts.map +1 -0
  65. package/dist/components/features/transfer/types.d.ts +69 -0
  66. package/dist/components/features/transfer/types.d.ts.map +1 -0
  67. package/dist/date-picker/index.mjs +1 -1
  68. package/dist/date-time-picker/index.mjs +2 -0
  69. package/dist/date-time-picker-Bx_n4nEJ.mjs +177 -0
  70. package/dist/form/adapters/conform/index.mjs +8 -2
  71. package/dist/form/adapters/rhf/index.mjs +2 -2
  72. package/dist/form/index.mjs +3 -3
  73. package/dist/form/stepper/index.mjs +2 -2
  74. package/dist/{form-C6AOB2f4.mjs → form-zf5QOnAk.mjs} +217 -3
  75. package/dist/{get-field-constraints-D4xnXJEg.mjs → get-field-constraints-CxfZ753o.mjs} +1 -0
  76. package/dist/grid/index.mjs +1 -1
  77. package/dist/hooks/index.mjs +2 -2
  78. package/dist/index.mjs +14 -14
  79. package/dist/input-number/index.mjs +1 -1
  80. package/dist/map/index.mjs +1 -1
  81. package/dist/{map-BqpteT_8.mjs → map-CWIQ-eql.mjs} +1 -1
  82. package/dist/more-actions/index.mjs +1 -1
  83. package/dist/page-title/index.mjs +1 -1
  84. package/dist/stepper/index.mjs +1 -1
  85. package/dist/tag-input/index.mjs +1 -1
  86. package/dist/task-queue/index.mjs +1 -1
  87. package/dist/time-picker/index.mjs +2 -0
  88. package/dist/time-picker-BoF7pZZ2.mjs +43 -0
  89. package/dist/transfer/index.mjs +2 -0
  90. package/dist/transfer-C55XfEXy.mjs +243 -0
  91. package/package.json +32 -1
  92. /package/dist/{adapter-context-BFqfq4Io.mjs → adapter-context-rWveHhDd.mjs} +0 -0
  93. /package/dist/{col-CiSpQPUT.mjs → col-1T0Q3SlH.mjs} +0 -0
  94. /package/dist/{hooks-DNjmSsJT.mjs → hooks-D8r2M2U6.mjs} +0 -0
  95. /package/dist/{input-number-BTQdHqVZ.mjs → input-number-a7uydAsw.mjs} +0 -0
  96. /package/dist/{map-leaflet-imports-CT4SpoDi.mjs → map-leaflet-imports-CRSKA79m.mjs} +0 -0
  97. /package/dist/{more-actions-CucrYUnA.mjs → more-actions-ILnEZq_E.mjs} +0 -0
  98. /package/dist/{page-title-CmsIi_A3.mjs → page-title-ChsnpBiH.mjs} +0 -0
  99. /package/dist/{stepper-C92Ib8Iy.mjs → stepper-DvIOp0hh.mjs} +0 -0
  100. /package/dist/{tag-input-B91C2wdr.mjs → tag-input-T9cUX9-G.mjs} +0 -0
  101. /package/dist/{task-queue-dropdown-OOFuJcHb.mjs → task-queue-dropdown-Wcbj-f0V.mjs} +0 -0
  102. /package/dist/{to-api-format-P0gmlqe8.mjs → to-api-format-Bh3c01gr.mjs} +0 -0
  103. /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;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCP,CAAA;AAGV,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,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,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
+ {"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 type { z } from 'zod';
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,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAcjC"}
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,3 @@
1
+ export { TimePicker } from './time-picker';
2
+ export type { TimePickerProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,7 @@
1
+ import * as React from 'react';
2
+ export interface TransferGroupProps {
3
+ title: string;
4
+ children: React.ReactNode;
5
+ }
6
+ export declare const TransferGroup: React.FC<TransferGroupProps>;
7
+ //# sourceMappingURL=transfer-group.d.ts.map
@@ -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,3 @@
1
+ export { Transfer } from './transfer';
2
+ export type { TransferProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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-P0gmlqe8.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-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,2 @@
1
+ import { t as DateTimePicker } from "../date-time-picker-Bx_n4nEJ.mjs";
2
+ export { DateTimePicker };
@@ -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 };