@datum-cloud/datum-ui 0.4.0 → 0.6.0-alpha.3e04d8c

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 (290) hide show
  1. package/README.md +81 -39
  2. package/dist/adapter-context-rWveHhDd.mjs +25 -0
  3. package/dist/alert/index.mjs +2 -3
  4. package/dist/{alert-BC2Mccfo.mjs → alert-BDj6od5I.mjs} +2 -4
  5. package/dist/app-navigation/index.mjs +4 -12
  6. package/dist/{app-navigation-DsCKgfPe.mjs → app-navigation-84ro28PU.mjs} +5 -8
  7. package/dist/autocomplete/index.mjs +2 -7
  8. package/dist/{autocomplete-DRB_kSVx.mjs → autocomplete-CkYJueBL.mjs} +7 -9
  9. package/dist/autosearch/index.mjs +195 -0
  10. package/dist/avatar/index.mjs +2 -4
  11. package/dist/{avatar-DyLq0xkt.mjs → avatar-BtKVcvO4.mjs} +2 -4
  12. package/dist/avatar-stack/index.mjs +2 -6
  13. package/dist/{avatar-stack-BT0dBswq.mjs → avatar-stack-oVr8tsU7.mjs} +4 -6
  14. package/dist/badge/index.mjs +2 -3
  15. package/dist/{badge-BgFj4Nsc.mjs → badge-DJR33ftJ.mjs} +2 -4
  16. package/dist/breadcrumb/index.mjs +2 -4
  17. package/dist/{breadcrumb-CJNaYyk1.mjs → breadcrumb-B-9G347O.mjs} +2 -4
  18. package/dist/button/index.mjs +3 -4
  19. package/dist/{button-0N61fmAR.mjs → button-BllvE9Lm.mjs} +3 -5
  20. package/dist/{button-D6AORsOz.mjs → button-D3RrsMfQ.mjs} +2 -4
  21. package/dist/{link-button-Cby0p4LW.mjs → button-fO8nazJE.mjs} +3 -5
  22. package/dist/button-group/index.mjs +2 -5
  23. package/dist/{button-group-BDk8btAy.mjs → button-group-CYPka2zz.mjs} +3 -5
  24. package/dist/calendar/index.mjs +2 -5
  25. package/dist/{calendar-BtfraIvX.mjs → calendar-DEkCw7I1.mjs} +4 -6
  26. package/dist/{calendar-date-picker-B9mxJM7f.mjs → calendar-date-picker-CDT-8Ha8.mjs} +8 -9
  27. package/dist/card/index.mjs +2 -4
  28. package/dist/{card-BiHXFt4s.mjs → card-DKG1Cwlj.mjs} +3 -6
  29. package/dist/chart/index.mjs +2 -4
  30. package/dist/{chart-CL0i-xIt.mjs → chart-CUa21ynK.mjs} +2 -4
  31. package/dist/checkbox/index.mjs +2 -4
  32. package/dist/{checkbox-CQrjygFt.mjs → checkbox-I5BvrMPe.mjs} +3 -6
  33. package/dist/{close.icon-D2r5q3bj.mjs → close.icon-HCfS4Y-N.mjs} +2 -4
  34. package/dist/{cn-DWCc1QRE.mjs → cn-D2KYQ917.mjs} +1 -3
  35. package/dist/code-editor/index.mjs +2 -0
  36. package/dist/{col-C9PDhvm5.mjs → col-1T0Q3SlH.mjs} +2 -7
  37. package/dist/collapsible/index.mjs +2 -3
  38. package/dist/{collapsible-Dw71o2um.mjs → collapsible-CUphkSBt.mjs} +1 -3
  39. package/dist/combobox/index.mjs +2 -0
  40. package/dist/combobox-B-C9lJeD.mjs +97 -0
  41. package/dist/command/index.mjs +2 -5
  42. package/dist/{command-DVroicgn.mjs → command-DqHWukGK.mjs} +3 -5
  43. package/dist/components/features/autocomplete/autocomplete.d.ts +1 -1
  44. package/dist/components/features/autocomplete/autocomplete.d.ts.map +1 -1
  45. package/dist/components/features/autocomplete/autocomplete.types.d.ts +2 -0
  46. package/dist/components/features/autocomplete/autocomplete.types.d.ts.map +1 -1
  47. package/dist/components/features/autosearch/autosearch.d.ts +35 -0
  48. package/dist/components/features/autosearch/autosearch.d.ts.map +1 -0
  49. package/dist/components/features/autosearch/autosearch.types.d.ts +51 -0
  50. package/dist/components/features/autosearch/autosearch.types.d.ts.map +1 -0
  51. package/dist/components/features/autosearch/index.d.ts +3 -0
  52. package/dist/components/features/autosearch/index.d.ts.map +1 -0
  53. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts +2 -1
  54. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts.map +1 -1
  55. package/dist/components/features/code-editor/code-editor-tabs.d.ts +63 -0
  56. package/dist/components/features/code-editor/code-editor-tabs.d.ts.map +1 -0
  57. package/dist/components/features/code-editor/code-editor.d.ts +58 -0
  58. package/dist/components/features/code-editor/code-editor.d.ts.map +1 -0
  59. package/dist/components/features/code-editor/index.d.ts +6 -0
  60. package/dist/components/features/code-editor/index.d.ts.map +1 -0
  61. package/dist/components/features/code-editor/lib/editor.d.ts +7 -0
  62. package/dist/components/features/code-editor/lib/editor.d.ts.map +1 -0
  63. package/dist/components/features/code-editor/types.d.ts +98 -0
  64. package/dist/components/features/code-editor/types.d.ts.map +1 -0
  65. package/dist/components/features/combobox/combobox.d.ts +27 -0
  66. package/dist/components/features/combobox/combobox.d.ts.map +1 -0
  67. package/dist/components/features/combobox/index.d.ts +3 -0
  68. package/dist/components/features/combobox/index.d.ts.map +1 -0
  69. package/dist/components/features/combobox/types.d.ts +84 -0
  70. package/dist/components/features/combobox/types.d.ts.map +1 -0
  71. package/dist/components/features/date-time-picker/date-time-picker.d.ts +9 -0
  72. package/dist/components/features/date-time-picker/date-time-picker.d.ts.map +1 -0
  73. package/dist/components/features/date-time-picker/index.d.ts +3 -0
  74. package/dist/components/features/date-time-picker/index.d.ts.map +1 -0
  75. package/dist/components/features/date-time-picker/types.d.ts +59 -0
  76. package/dist/components/features/date-time-picker/types.d.ts.map +1 -0
  77. package/dist/components/features/date-time-picker/utils/format.d.ts +13 -0
  78. package/dist/components/features/date-time-picker/utils/format.d.ts.map +1 -0
  79. package/dist/components/features/date-time-picker/utils/index.d.ts +3 -0
  80. package/dist/components/features/date-time-picker/utils/index.d.ts.map +1 -0
  81. package/dist/components/features/date-time-picker/utils/timezone.d.ts +23 -0
  82. package/dist/components/features/date-time-picker/utils/timezone.d.ts.map +1 -0
  83. package/dist/components/features/form/adapter-context.d.ts +17 -0
  84. package/dist/components/features/form/adapter-context.d.ts.map +1 -0
  85. package/dist/components/features/form/adapter-types.d.ts +120 -0
  86. package/dist/components/features/form/adapter-types.d.ts.map +1 -0
  87. package/dist/components/features/form/adapters/conform/conform-adapter.d.ts +9 -0
  88. package/dist/components/features/form/adapters/conform/conform-adapter.d.ts.map +1 -0
  89. package/dist/components/features/form/adapters/conform/conform-provider.d.ts +22 -0
  90. package/dist/components/features/form/adapters/conform/conform-provider.d.ts.map +1 -0
  91. package/dist/components/features/form/adapters/conform/index.d.ts +3 -0
  92. package/dist/components/features/form/adapters/conform/index.d.ts.map +1 -0
  93. package/dist/components/features/form/adapters/rhf/index.d.ts +3 -0
  94. package/dist/components/features/form/adapters/rhf/index.d.ts.map +1 -0
  95. package/dist/components/features/form/adapters/rhf/rhf-adapter.d.ts +10 -0
  96. package/dist/components/features/form/adapters/rhf/rhf-adapter.d.ts.map +1 -0
  97. package/dist/components/features/form/adapters/rhf/rhf-provider.d.ts +22 -0
  98. package/dist/components/features/form/adapters/rhf/rhf-provider.d.ts.map +1 -0
  99. package/dist/components/features/form/components/form-autocomplete.d.ts.map +1 -1
  100. package/dist/components/features/form/components/form-autosearch.d.ts +37 -0
  101. package/dist/components/features/form/components/form-autosearch.d.ts.map +1 -0
  102. package/dist/components/features/form/components/form-checkbox.d.ts.map +1 -1
  103. package/dist/components/features/form/components/form-combobox.d.ts +80 -0
  104. package/dist/components/features/form/components/form-combobox.d.ts.map +1 -0
  105. package/dist/components/features/form/components/form-copy-box.d.ts +3 -0
  106. package/dist/components/features/form/components/form-copy-box.d.ts.map +1 -1
  107. package/dist/components/features/form/components/form-custom.d.ts.map +1 -1
  108. package/dist/components/features/form/components/form-date-picker.d.ts +40 -0
  109. package/dist/components/features/form/components/form-date-picker.d.ts.map +1 -0
  110. package/dist/components/features/form/components/form-date-time-picker.d.ts +39 -0
  111. package/dist/components/features/form/components/form-date-time-picker.d.ts.map +1 -0
  112. package/dist/components/features/form/components/form-dialog.d.ts.map +1 -1
  113. package/dist/components/features/form/components/form-field-array.d.ts +5 -17
  114. package/dist/components/features/form/components/form-field-array.d.ts.map +1 -1
  115. package/dist/components/features/form/components/form-field.d.ts +7 -21
  116. package/dist/components/features/form/components/form-field.d.ts.map +1 -1
  117. package/dist/components/features/form/components/form-input-group.d.ts +4 -4
  118. package/dist/components/features/form/components/form-input-group.d.ts.map +1 -1
  119. package/dist/components/features/form/components/form-input.d.ts.map +1 -1
  120. package/dist/components/features/form/components/form-radio-group.d.ts.map +1 -1
  121. package/dist/components/features/form/components/form-root.d.ts +5 -25
  122. package/dist/components/features/form/components/form-root.d.ts.map +1 -1
  123. package/dist/components/features/form/components/form-select.d.ts.map +1 -1
  124. package/dist/components/features/form/components/form-switch.d.ts.map +1 -1
  125. package/dist/components/features/form/components/form-textarea.d.ts.map +1 -1
  126. package/dist/components/features/form/components/form-time-picker.d.ts +21 -0
  127. package/dist/components/features/form/components/form-time-picker.d.ts.map +1 -0
  128. package/dist/components/features/form/components/form-transfer.d.ts +37 -0
  129. package/dist/components/features/form/components/form-transfer.d.ts.map +1 -0
  130. package/dist/components/features/form/components/index.d.ts +7 -1
  131. package/dist/components/features/form/components/index.d.ts.map +1 -1
  132. package/dist/components/features/form/components/stepper/form-stepper.d.ts.map +1 -1
  133. package/dist/components/features/form/context/form-context.d.ts +2 -2
  134. package/dist/components/features/form/context/form-context.d.ts.map +1 -1
  135. package/dist/components/features/form/hooks/index.d.ts +1 -1
  136. package/dist/components/features/form/hooks/index.d.ts.map +1 -1
  137. package/dist/components/features/form/hooks/use-field.d.ts +12 -18
  138. package/dist/components/features/form/hooks/use-field.d.ts.map +1 -1
  139. package/dist/components/features/form/hooks/use-form-state.d.ts +36 -0
  140. package/dist/components/features/form/hooks/use-form-state.d.ts.map +1 -0
  141. package/dist/components/features/form/hooks/use-watch.d.ts +9 -20
  142. package/dist/components/features/form/hooks/use-watch.d.ts.map +1 -1
  143. package/dist/components/features/form/index.d.ts +69 -45
  144. package/dist/components/features/form/index.d.ts.map +1 -1
  145. package/dist/components/features/form/stepper/index.d.ts +17 -0
  146. package/dist/components/features/form/stepper/index.d.ts.map +1 -0
  147. package/dist/components/features/form/types/index.d.ts +68 -32
  148. package/dist/components/features/form/types/index.d.ts.map +1 -1
  149. package/dist/components/features/form/utils/get-field-constraints.d.ts +33 -0
  150. package/dist/components/features/form/utils/get-field-constraints.d.ts.map +1 -0
  151. package/dist/components/features/form/utils/get-schema-defaults.d.ts +24 -0
  152. package/dist/components/features/form/utils/get-schema-defaults.d.ts.map +1 -0
  153. package/dist/components/features/form/utils/zod-helpers.d.ts +12 -0
  154. package/dist/components/features/form/utils/zod-helpers.d.ts.map +1 -0
  155. package/dist/components/features/index.d.ts +1 -0
  156. package/dist/components/features/index.d.ts.map +1 -1
  157. package/dist/components/features/time-picker/index.d.ts +3 -0
  158. package/dist/components/features/time-picker/index.d.ts.map +1 -0
  159. package/dist/components/features/time-picker/time-picker.d.ts +22 -0
  160. package/dist/components/features/time-picker/time-picker.d.ts.map +1 -0
  161. package/dist/components/features/time-picker/types.d.ts +31 -0
  162. package/dist/components/features/time-picker/types.d.ts.map +1 -0
  163. package/dist/components/features/transfer/components/index.d.ts +9 -0
  164. package/dist/components/features/transfer/components/index.d.ts.map +1 -0
  165. package/dist/components/features/transfer/components/transfer-group.d.ts +7 -0
  166. package/dist/components/features/transfer/components/transfer-group.d.ts.map +1 -0
  167. package/dist/components/features/transfer/components/transfer-item.d.ts +10 -0
  168. package/dist/components/features/transfer/components/transfer-item.d.ts.map +1 -0
  169. package/dist/components/features/transfer/components/transfer-panel.d.ts +18 -0
  170. package/dist/components/features/transfer/components/transfer-panel.d.ts.map +1 -0
  171. package/dist/components/features/transfer/components/transfer-search.d.ts +9 -0
  172. package/dist/components/features/transfer/components/transfer-search.d.ts.map +1 -0
  173. package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts +26 -0
  174. package/dist/components/features/transfer/hooks/use-transfer-dnd.d.ts.map +1 -0
  175. package/dist/components/features/transfer/hooks/use-transfer-state.d.ts +20 -0
  176. package/dist/components/features/transfer/hooks/use-transfer-state.d.ts.map +1 -0
  177. package/dist/components/features/transfer/index.d.ts +3 -0
  178. package/dist/components/features/transfer/index.d.ts.map +1 -0
  179. package/dist/components/features/transfer/transfer.d.ts +6 -0
  180. package/dist/components/features/transfer/transfer.d.ts.map +1 -0
  181. package/dist/components/features/transfer/types.d.ts +69 -0
  182. package/dist/components/features/transfer/types.d.ts.map +1 -0
  183. package/dist/components/toast.d.ts +2 -0
  184. package/dist/components/toast.d.ts.map +1 -0
  185. package/dist/data-table/index.mjs +21 -51
  186. package/dist/date-picker/index.mjs +3 -10
  187. package/dist/date-time-picker/index.mjs +2 -0
  188. package/dist/date-time-picker-BomrW07W.mjs +178 -0
  189. package/dist/dialog/index.mjs +2 -5
  190. package/dist/{dialog-B0B3Kbfk.mjs → dialog-Bm2H9lrx.mjs} +4 -6
  191. package/dist/{dialog-DdrHeboM.mjs → dialog-DASRaFxD.mjs} +2 -4
  192. package/dist/dropdown/index.mjs +2 -3
  193. package/dist/{dropdown-Cdx7rOKv.mjs → dropdown-DZiAt-jS.mjs} +3 -5
  194. package/dist/{dropdown-menu-CdShrDz_.mjs → dropdown-menu-lALvDnab.mjs} +5 -7
  195. package/dist/dropzone/index.mjs +2 -5
  196. package/dist/{dropzone-B6kSN3DY.mjs → dropzone-ogtpQ4fy.mjs} +5 -8
  197. package/dist/empty-content/index.mjs +2 -3
  198. package/dist/{empty-content-B1lwLr40.mjs → empty-content-C63GPJ5d.mjs} +3 -9
  199. package/dist/form/adapters/conform/index.mjs +327 -0
  200. package/dist/form/adapters/rhf/index.mjs +267 -0
  201. package/dist/form/index.mjs +3 -146
  202. package/dist/form/stepper/index.mjs +541 -0
  203. package/dist/form-D8OnRHdd.mjs +1653 -0
  204. package/dist/form-context-Ccxm-wqL.mjs +17 -0
  205. package/dist/get-field-constraints-BicgDkfH.mjs +51 -0
  206. package/dist/grid/index.mjs +2 -3
  207. package/dist/hooks/index.mjs +3 -4
  208. package/dist/{use-debounce-MnfjH51L.mjs → hooks-D8r2M2U6.mjs} +1 -3
  209. package/dist/hover-card/index.mjs +2 -4
  210. package/dist/{hover-card-CEIauuie.mjs → hover-card-DDWWD5Hx.mjs} +2 -4
  211. package/dist/{icon-wrapper-BBK4z4tj.mjs → icon-wrapper-DuLp3RM1.mjs} +1 -3
  212. package/dist/icons/index.mjs +4 -5
  213. package/dist/index.mjs +66 -71
  214. package/dist/input/index.mjs +2 -5
  215. package/dist/{input-DEMoi_8F.mjs → input-DOmNpcQJ.mjs} +2 -4
  216. package/dist/{input-CYFN0Ap2.mjs → input-FKGqZypx.mjs} +3 -5
  217. package/dist/input-group/index.mjs +2 -7
  218. package/dist/{input-group-DJgYpOlq.mjs → input-group-DDtz-RT7.mjs} +5 -7
  219. package/dist/input-number/index.mjs +2 -6
  220. package/dist/{input-number-Cuy9CCg_.mjs → input-number-a7uydAsw.mjs} +4 -6
  221. package/dist/input-with-addons/index.mjs +28 -3
  222. package/dist/label/index.mjs +2 -4
  223. package/dist/{label-mOg07fuQ.mjs → label-cnAhY-ej.mjs} +3 -6
  224. package/dist/loader-overlay/index.mjs +2 -3
  225. package/dist/{loader-overlay-8IWX_1Ga.mjs → loader-overlay-BTFdkp7W.mjs} +3 -5
  226. package/dist/map/index.mjs +2 -14
  227. package/dist/{map-CaI1EshG.mjs → map-CWIQ-eql.mjs} +10 -14
  228. package/dist/{map-leaflet-imports-J7w1V7mh.mjs → map-leaflet-imports-CRSKA79m.mjs} +1 -2
  229. package/dist/more-actions/index.mjs +2 -5
  230. package/dist/{more-actions-BO5ikUxY.mjs → more-actions-ILnEZq_E.mjs} +5 -7
  231. package/dist/nprogress/index.mjs +1 -3
  232. package/dist/page-title/index.mjs +2 -3
  233. package/dist/{page-title-DWteBy1E.mjs → page-title-ChsnpBiH.mjs} +2 -4
  234. package/dist/popover/index.mjs +2 -4
  235. package/dist/{popover-ugw5MpuT.mjs → popover-FJAcbYoH.mjs} +2 -4
  236. package/dist/radio-group/index.mjs +2 -4
  237. package/dist/{radio-group-_gMymwnb.mjs → radio-group-CiITR0LO.mjs} +3 -6
  238. package/dist/select/index.mjs +2 -4
  239. package/dist/{select-BZOKWjlH.mjs → select-CiLR_DiQ.mjs} +3 -6
  240. package/dist/separator/index.mjs +2 -4
  241. package/dist/{separator-BzyALya2.mjs → separator-DXVTncCK.mjs} +2 -4
  242. package/dist/sheet/index.mjs +3 -5
  243. package/dist/{sheet-BX6lae56.mjs → sheet-BzXksqYY.mjs} +4 -6
  244. package/dist/{sheet-DAcFjaGw.mjs → sheet-Di3b-oPu.mjs} +2 -4
  245. package/dist/sidebar/index.mjs +2 -10
  246. package/dist/{sidebar-B3EV33mG.mjs → sidebar-BnhnjvfO.mjs} +10 -14
  247. package/dist/skeleton/index.mjs +2 -5
  248. package/dist/{skeleton-2vQ0vFQk.mjs → skeleton-BKl4mfJt.mjs} +2 -4
  249. package/dist/{skeleton-BgOwIgE0.mjs → skeleton-D1MUhAVo.mjs} +3 -5
  250. package/dist/spinner/index.mjs +2 -4
  251. package/dist/{spinner-osyXAlhr.mjs → spinner-OyOf9-Yu.mjs} +2 -4
  252. package/dist/{spinner.icon-C0MbtgqX.mjs → spinner.icon-C-vjSM6o.mjs} +2 -4
  253. package/dist/stepper/index.mjs +2 -5
  254. package/dist/{stepper-BMsn7I78.mjs → stepper-DvIOp0hh.mjs} +3 -5
  255. package/dist/switch/index.mjs +2 -4
  256. package/dist/{switch-C60FpEal.mjs → switch-DQJQhPIQ.mjs} +3 -6
  257. package/dist/table/index.mjs +2 -4
  258. package/dist/{table-Cl3UzIhI.mjs → table-Cdsh-39-.mjs} +2 -4
  259. package/dist/tabs/index.mjs +50 -3
  260. package/dist/tag-input/index.mjs +2 -5
  261. package/dist/{tag-input-DR2gukhL.mjs → tag-input-T9cUX9-G.mjs} +5 -7
  262. package/dist/task-queue/index.mjs +2 -7
  263. package/dist/{task-queue-dropdown-C9KHKbGh.mjs → task-queue-dropdown-Wcbj-f0V.mjs} +10 -30
  264. package/dist/textarea/index.mjs +2 -5
  265. package/dist/{textarea-CVo38n3S.mjs → textarea-94vq_G_S.mjs} +2 -4
  266. package/dist/{textarea-CZF5n57i.mjs → textarea-BwD-MmTV.mjs} +3 -5
  267. package/dist/theme/index.mjs +2 -3
  268. package/dist/{theme.provider-TUHlMsjM.mjs → themes-DG1md8FI.mjs} +1 -6
  269. package/dist/time-picker/index.mjs +2 -0
  270. package/dist/time-picker-BoF7pZZ2.mjs +43 -0
  271. package/dist/{to-api-format-naIpF-NI.mjs → to-api-format-Bh3c01gr.mjs} +9 -18
  272. package/dist/toast/index.mjs +3 -3
  273. package/dist/{use-toast-By9HuFwP.mjs → toast-BWnN5fax.mjs} +5 -42
  274. package/dist/toast-DpxlFNNx.mjs +37 -0
  275. package/dist/tooltip/index.mjs +2 -4
  276. package/dist/{tooltip-CuX2jQA9.mjs → tooltip-Cruvl5F6.mjs} +3 -6
  277. package/dist/transfer/index.mjs +2 -0
  278. package/dist/transfer-B2n8pgEQ.mjs +260 -0
  279. package/dist/types-BZNk3q65.mjs +357 -0
  280. package/dist/typography/index.mjs +2 -3
  281. package/dist/{typography-Iap9fU5P.mjs → typography-ClB8k55E.mjs} +2 -4
  282. package/dist/{use-copy-to-clipboard-n29wJwvW.mjs → use-copy-to-clipboard-uNeeVHC4.mjs} +2 -4
  283. package/dist/utils/index.mjs +2 -3
  284. package/dist/{utils-DJboNGQM.mjs → utils-C8KwMfT_.mjs} +1 -3
  285. package/dist/visually-hidden/index.mjs +2 -3
  286. package/dist/{visuallyhidden-BJsQCmg-.mjs → visuallyhidden-BLUsJpYH.mjs} +1 -3
  287. package/package.json +85 -3
  288. package/dist/input-with-addons-B8rzNhpq.mjs +0 -30
  289. package/dist/tabs-DJU7JA3h.mjs +0 -52
  290. package/dist/use-stepper-DigoyHhX.mjs +0 -2017
@@ -0,0 +1,51 @@
1
+ import type * as React from 'react';
2
+ import type { AutocompleteOption } from '../autocomplete/autocomplete.types';
3
+ /**
4
+ * Default function to extract searchable text from an option.
5
+ * Combines label, description, and value for comprehensive searching.
6
+ */
7
+ export declare function defaultAutosearchValue(option: AutocompleteOption): string;
8
+ export interface AutosearchProps {
9
+ /** Options to display in search results */
10
+ options: AutocompleteOption[];
11
+ /** Currently selected option value */
12
+ value?: string;
13
+ /** Called when selection changes */
14
+ onValueChange?: (value: string) => void;
15
+ /** Callback when search query changes (debounced) */
16
+ onSearch?: (query: string) => void;
17
+ /** Debounce delay in ms (default: 300) */
18
+ searchDebounceMs?: number;
19
+ /** Extract searchable text from option for Command filtering */
20
+ getValue?: (option: AutocompleteOption) => string;
21
+ /** Placeholder text for search input */
22
+ placeholder?: string;
23
+ /** Message shown when no results found */
24
+ emptyMessage?: string;
25
+ /** Content shown when no options match after search */
26
+ emptyContent?: React.ReactNode;
27
+ /** External loading state */
28
+ loading?: boolean;
29
+ /** Popover modal mode */
30
+ modal?: boolean;
31
+ /** Disable the component */
32
+ disabled?: boolean;
33
+ /** HTML name attribute for hidden input */
34
+ name?: string;
35
+ /** HTML id attribute */
36
+ id?: string;
37
+ /** Additional CSS classes for the root wrapper */
38
+ className?: string;
39
+ /** Additional CSS classes for the input */
40
+ inputClassName?: string;
41
+ /** Additional CSS classes for the popover content */
42
+ contentClassName?: string;
43
+ /** Additional CSS classes for the selected value card */
44
+ selectedClassName?: string;
45
+ }
46
+ /**
47
+ * Props for Form.Autosearch - same as the primitive but without
48
+ * value/onValueChange/name/id which come from FieldContext.
49
+ */
50
+ export type FormAutosearchProps = Omit<AutosearchProps, 'value' | 'onValueChange' | 'name' | 'id'>;
51
+ //# sourceMappingURL=autosearch.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autosearch.types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autosearch/autosearch.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAM5E;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,UAEhE;AAMD,MAAM,WAAW,eAAe;IAE9B,2CAA2C;IAC3C,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAG7B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAGvC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAA;IAGjD,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAG9B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IAGf,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IAGX,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAMD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,eAAe,EACf,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,CAC1C,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './autosearch';
2
+ export * from './autosearch.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autosearch/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
@@ -32,8 +32,9 @@ interface CalendarDatePickerProps extends React.HTMLAttributes<HTMLButtonElement
32
32
  maxRange?: number;
33
33
  popoverClassName?: string;
34
34
  disabled?: boolean;
35
+ modal?: boolean;
35
36
  }
36
- export declare function CalendarDatePicker({ ref, id, className, triggerClassName, date, closeOnSelect, numberOfMonths, yearsRange, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture, disablePast, maxRange, popoverClassName, disabled, ...props }: CalendarDatePickerProps & {
37
+ export declare function CalendarDatePicker({ ref, id, className, triggerClassName, date, closeOnSelect, numberOfMonths, yearsRange, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture, disablePast, maxRange, popoverClassName, disabled, modal, ...props }: CalendarDatePickerProps & {
37
38
  ref?: React.RefObject<HTMLButtonElement | null>;
38
39
  }): import("react/jsx-runtime").JSX.Element;
39
40
  export declare namespace CalendarDatePicker {
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/calendar-date-picker/calendar-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,QAAA,MAAM,mBAAmB;;8EAiBxB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;CACV;AAED,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IAEjC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAA2B,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAqB,EAAE,cAAkB,EAAE,UAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,aAAqB,EAAE,WAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAAE,2CAgyBra;yBAhyBe,kBAAkB"}
1
+ {"version":3,"file":"calendar-date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/calendar-date-picker/calendar-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,QAAA,MAAM,mBAAmB;;8EAiBxB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;CACV;AAED,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IAEjC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAA2B,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAqB,EAAE,cAAkB,EAAE,UAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,aAAqB,EAAE,WAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAa,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAAE,2CAgyBpb;yBAhyBe,kBAAkB"}
@@ -0,0 +1,63 @@
1
+ import type { CodeEditorTabsProps } from './types';
2
+ /**
3
+ * CodeEditorTabs - Dual-format code editor with JSON ↔ YAML conversion
4
+ *
5
+ * A tabbed interface that provides JSON and YAML editing with automatic
6
+ * bidirectional conversion and validation. Prevents tab switching when
7
+ * content has syntax errors and shows error toasts for conversion failures.
8
+ *
9
+ * Features:
10
+ * - Dual-format editing (JSON ↔ YAML)
11
+ * - Automatic bidirectional conversion
12
+ * - Real-time validation before conversion
13
+ * - Error toasts for conversion failures
14
+ * - Maintains sync between both formats
15
+ * - Hidden format field for form submission
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { CodeEditorTabs } from '@datum-cloud/datum-ui/code-editor'
20
+ *
21
+ * // Basic usage
22
+ * <CodeEditorTabs
23
+ * value={config}
24
+ * format="yaml"
25
+ * onChange={(value, format) => {
26
+ * setConfig(value)
27
+ * setFormat(format)
28
+ * }}
29
+ * name="configuration"
30
+ * minHeight="500px"
31
+ * />
32
+ *
33
+ * // With React Hook Form
34
+ * const { watch, setValue } = useForm()
35
+ *
36
+ * <CodeEditorTabs
37
+ * value={watch('config')}
38
+ * onChange={(value) => setValue('config', value)}
39
+ * name="config"
40
+ * />
41
+ *
42
+ * // With format change handler
43
+ * <CodeEditorTabs
44
+ * value={data}
45
+ * format={currentFormat}
46
+ * onChange={(value, format) => console.log({ value, format })}
47
+ * onFormatChange={(format) => setCurrentFormat(format)}
48
+ * />
49
+ * ```
50
+ *
51
+ * @param props - Component props
52
+ * @param props.value - Editor content
53
+ * @param props.onChange - Content and format change callback
54
+ * @param props.format - Active format ('json' or 'yaml', default: 'yaml')
55
+ * @param props.onFormatChange - Format change callback
56
+ * @param props.error - Error message to display below the editor
57
+ * @param props.id - Input element ID for form integration
58
+ * @param props.name - Input element name for form submission (default: 'code-editor')
59
+ * @param props.minHeight - Minimum editor height (default: '300px')
60
+ * @returns Rendered tabbed editor with JSON/YAML conversion
61
+ */
62
+ export declare function CodeEditorTabs({ value, onChange, format, onFormatChange, error, id, name, minHeight, }: CodeEditorTabsProps): import("react/jsx-runtime").JSX.Element;
63
+ //# sourceMappingURL=code-editor-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-editor-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/code-editor-tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAA;AAOlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,MAAe,EACf,cAAc,EACd,KAAK,EACL,EAAE,EACF,IAAoB,EACpB,SAAmB,GACpB,EAAE,mBAAmB,2CA6GrB"}
@@ -0,0 +1,58 @@
1
+ import type { CodeEditorProps } from './types';
2
+ /**
3
+ * CodeEditor - Monaco-based code editor component
4
+ *
5
+ * A Monaco Editor wrapper with single language support, theme integration,
6
+ * and form compatibility. Provides a VS Code-like editing experience with
7
+ * automatic formatting, responsive layout, and error state handling.
8
+ *
9
+ * Features:
10
+ * - Monaco Editor with VS Code experience
11
+ * - Theme-aware (automatic light/dark mode)
12
+ * - Form-compatible (hidden input for React Hook Form)
13
+ * - Responsive layout with automatic resizing
14
+ * - Read-only mode support
15
+ * - Custom error state styling
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { CodeEditor } from '@datum-cloud/datum-ui/code-editor'
20
+ *
21
+ * // Basic usage
22
+ * <CodeEditor
23
+ * value={code}
24
+ * onChange={(newValue) => setCode(newValue)}
25
+ * language="yaml"
26
+ * minHeight="400px"
27
+ * />
28
+ *
29
+ * // With error state
30
+ * <CodeEditor
31
+ * value={invalidJson}
32
+ * onChange={handleChange}
33
+ * language="json"
34
+ * error="Invalid JSON format"
35
+ * />
36
+ *
37
+ * // Read-only mode
38
+ * <CodeEditor
39
+ * value={config}
40
+ * language="yaml"
41
+ * readOnly={true}
42
+ * />
43
+ * ```
44
+ *
45
+ * @param props - Component props
46
+ * @param props.value - Editor content
47
+ * @param props.onChange - Content change callback
48
+ * @param props.language - Syntax highlighting language
49
+ * @param props.id - Input element ID for form integration
50
+ * @param props.name - Input element name for form submission (default: 'code-editor')
51
+ * @param props.error - Error message to display below the editor
52
+ * @param props.className - Additional CSS classes
53
+ * @param props.readOnly - Read-only mode (default: false)
54
+ * @param props.minHeight - Minimum editor height (default: '200px')
55
+ * @returns Rendered Monaco editor with form integration
56
+ */
57
+ export declare function CodeEditor({ value, onChange, language, id, name, error, className, readOnly, minHeight, }: CodeEditorProps): import("react/jsx-runtime").JSX.Element;
58
+ //# sourceMappingURL=code-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/code-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAoB,EACpB,KAAK,EACL,SAAS,EACT,QAAgB,EAChB,SAAmB,GACpB,EAAE,eAAe,2CAiDjB"}
@@ -0,0 +1,6 @@
1
+ export { CodeEditor } from './code-editor';
2
+ export { CodeEditorTabs } from './code-editor-tabs';
3
+ export { formatJson, formatYaml, isValidJson, isValidYaml, jsonToYaml, yamlToJson } from './lib/editor';
4
+ export { createCodeEditorSchema, jsonSchema, yamlSchema } from './types';
5
+ export type { CodeEditorProps, CodeEditorTabsProps, EditorLanguage } from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACvG,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACxE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare function isValidJson(jsonStr: string): boolean;
2
+ export declare function isValidYaml(yamlStr: string): boolean;
3
+ export declare function formatJson(jsonStr: string): string;
4
+ export declare function formatYaml(yamlStr: string): string;
5
+ export declare function jsonToYaml(jsonStr: string): string;
6
+ export declare function yamlToJson(yamlStr: string): string;
7
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/code-editor/lib/editor.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlD"}
@@ -0,0 +1,98 @@
1
+ import { z } from 'zod';
2
+ export type EditorLanguage = 'json' | 'yaml' | 'typescript' | 'javascript' | 'python' | 'sql' | 'html' | 'css' | 'markdown';
3
+ /**
4
+ * Props for the CodeEditor component.
5
+ *
6
+ * Base Monaco Editor wrapper with single language support, theme integration,
7
+ * and form compatibility.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { CodeEditor } from '@datum-cloud/datum-ui/code-editor'
12
+ *
13
+ * <CodeEditor
14
+ * value={code}
15
+ * onChange={(newValue) => setCode(newValue)}
16
+ * language="yaml"
17
+ * minHeight="400px"
18
+ * />
19
+ * ```
20
+ */
21
+ export interface CodeEditorProps {
22
+ /** Editor content */
23
+ value: string;
24
+ /** Content change callback */
25
+ onChange?: (value: string) => void;
26
+ /** Syntax highlighting language */
27
+ language: EditorLanguage;
28
+ /** Input element ID for form integration */
29
+ id?: string;
30
+ /** Input element name for form submission (default: 'code-editor') */
31
+ name?: string;
32
+ /** Error message to display below the editor */
33
+ error?: string;
34
+ /** Additional CSS classes */
35
+ className?: string;
36
+ /** Read-only mode (default: false) */
37
+ readOnly?: boolean;
38
+ /** Minimum editor height (default: '200px') */
39
+ minHeight?: string;
40
+ }
41
+ /**
42
+ * Props for the CodeEditorTabs component.
43
+ *
44
+ * Tabbed interface with JSON ↔ YAML conversion, validation, and automatic
45
+ * bidirectional synchronization.
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * import { CodeEditorTabs } from '@datum-cloud/datum-ui/code-editor'
50
+ *
51
+ * <CodeEditorTabs
52
+ * value={config}
53
+ * format="yaml"
54
+ * onChange={(value, format) => {
55
+ * setConfig(value)
56
+ * setFormat(format)
57
+ * }}
58
+ * onFormatChange={(format) => setFormat(format)}
59
+ * name="configuration"
60
+ * minHeight="500px"
61
+ * />
62
+ * ```
63
+ */
64
+ export interface CodeEditorTabsProps {
65
+ /** Editor content */
66
+ value: string;
67
+ /** Content and format change callback */
68
+ onChange?: (value: string, format: EditorLanguage) => void;
69
+ /** Active format ('json' or 'yaml', default: 'yaml') */
70
+ format?: EditorLanguage;
71
+ /** Format change callback */
72
+ onFormatChange?: (format: EditorLanguage) => void;
73
+ /** Error message to display below the editor */
74
+ error?: string;
75
+ /** Input element ID for form integration */
76
+ id?: string;
77
+ /** Input element name for form submission (default: 'code-editor') */
78
+ name?: string;
79
+ /** Minimum editor height (default: '300px') */
80
+ minHeight?: string;
81
+ }
82
+ export declare const jsonSchema: z.ZodObject<{
83
+ jsonContent: z.ZodString;
84
+ }, z.core.$strip>;
85
+ export declare const yamlSchema: z.ZodObject<{
86
+ yamlContent: z.ZodString;
87
+ }, z.core.$strip>;
88
+ export declare function createCodeEditorSchema(name?: string): z.ZodObject<{
89
+ [x: string]: z.ZodString | z.ZodEnum<{
90
+ json: "json";
91
+ yaml: "yaml";
92
+ }>;
93
+ format: z.ZodEnum<{
94
+ json: "json";
95
+ yaml: "yaml";
96
+ }>;
97
+ }, z.core.$strip>;
98
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAA;AAE3H;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,mCAAmC;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,mBAAmB;IAClC,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IAC1D,wDAAwD;IACxD,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IACjD,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,UAAU;;iBAKrB,CAAA;AAEF,eAAO,MAAM,UAAU;;iBAKrB,CAAA;AAEF,wBAAgB,sBAAsB,CAAC,IAAI,SAAgB;;;;;;;;;kBAuB1D"}
@@ -0,0 +1,27 @@
1
+ import type { ComboboxProps } from './types';
2
+ /**
3
+ * Combobox - Single-select dropdown with search
4
+ *
5
+ * A simpler alternative to Autocomplete for basic select scenarios.
6
+ * Supports grouped options and search filtering.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const options = [
11
+ * { value: '1', label: 'Option 1' },
12
+ * { value: '2', label: 'Option 2' },
13
+ * ]
14
+ *
15
+ * <Combobox
16
+ * options={options}
17
+ * value={value}
18
+ * onChange={setValue}
19
+ * placeholder="Select an option"
20
+ * />
21
+ * ```
22
+ */
23
+ export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, emptyMessage, disabled, className, triggerClassName, contentClassName, searchable, showDropdownArrow, clearable, id, 'data-testid': testId, modal, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare namespace Combobox {
25
+ var displayName: string;
26
+ }
27
+ //# sourceMappingURL=combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,SAAS,CAAA;AAc3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAgC,EAChC,iBAA+B,EAC/B,YAAkC,EAClC,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,UAAiB,EACjB,iBAAwB,EACxB,SAAiB,EACjB,EAAE,EACF,aAAa,EAAE,MAAM,EACrB,KAAY,GACb,EAAE,aAAa,2CAgIf;yBAjJe,QAAQ"}
@@ -0,0 +1,3 @@
1
+ export { Combobox } from './combobox';
2
+ export type { ComboboxGroup, ComboboxOption, ComboboxProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,84 @@
1
+ export interface ComboboxOption {
2
+ value: string;
3
+ label: string;
4
+ disabled?: boolean;
5
+ }
6
+ export interface ComboboxGroup {
7
+ label: string;
8
+ options: ComboboxOption[];
9
+ }
10
+ export interface ComboboxProps {
11
+ /**
12
+ * Available options (flat or grouped)
13
+ */
14
+ 'options': ComboboxOption[] | ComboboxGroup[];
15
+ /**
16
+ * Selected value
17
+ */
18
+ 'value'?: string;
19
+ /**
20
+ * Called when selection changes
21
+ */
22
+ 'onChange'?: (value: string | undefined) => void;
23
+ /**
24
+ * Placeholder for trigger button
25
+ * @default "Select option..."
26
+ */
27
+ 'placeholder'?: string;
28
+ /**
29
+ * Placeholder for search input
30
+ * @default "Search..."
31
+ */
32
+ 'searchPlaceholder'?: string;
33
+ /**
34
+ * Message shown when no options match
35
+ * @default "No options found."
36
+ */
37
+ 'emptyMessage'?: string;
38
+ /**
39
+ * Disable the combobox
40
+ */
41
+ 'disabled'?: boolean;
42
+ /**
43
+ * Additional CSS classes for container
44
+ */
45
+ 'className'?: string;
46
+ /**
47
+ * Additional CSS classes for trigger button
48
+ */
49
+ 'triggerClassName'?: string;
50
+ /**
51
+ * Additional CSS classes for popover content
52
+ */
53
+ 'contentClassName'?: string;
54
+ /**
55
+ * Enable search functionality
56
+ * @default true
57
+ */
58
+ 'searchable'?: boolean;
59
+ /**
60
+ * Show dropdown arrow icon
61
+ * @default true
62
+ */
63
+ 'showDropdownArrow'?: boolean;
64
+ /**
65
+ * Allow clearing the selection
66
+ * @default false
67
+ */
68
+ 'clearable'?: boolean;
69
+ /**
70
+ * ID for the combobox
71
+ */
72
+ 'id'?: string;
73
+ /**
74
+ * Test ID
75
+ */
76
+ 'data-testid'?: string;
77
+ /**
78
+ * Whether the popover is modal (prevents interaction with elements outside)
79
+ * Required when using inside a Dialog/Modal component
80
+ * @default true
81
+ */
82
+ 'modal'?: boolean;
83
+ }
84
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;IAE7C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAEhD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
@@ -0,0 +1,9 @@
1
+ import type { DateTimePickerProps } from './types';
2
+ import * as React from 'react';
3
+ export declare function DateTimePicker({ ref, value, onChange, minDate, maxDate, disabledDates, timezone, showTimezoneIndicator, placeholder, disabled, className, modal }: DateTimePickerProps & {
4
+ ref?: React.RefObject<HTMLDivElement | null>;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare namespace DateTimePicker {
7
+ var displayName: string;
8
+ }
9
+ //# sourceMappingURL=date-time-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/date-time-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,SAAS,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAA2B,EAAE,qBAA6B,EAAE,WAAoC,EAAE,QAAgB,EAAE,SAAS,EAAE,KAAa,EAAE,EAAE,mBAAmB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAAE,2CAkH7S;yBAlHe,cAAc"}
@@ -0,0 +1,3 @@
1
+ export { DateTimePicker } from './date-time-picker';
2
+ export type { DateTimePickerProps, DateTimeState } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,59 @@
1
+ export interface DateTimePickerProps {
2
+ /**
3
+ * Current value (UTC ISO string)
4
+ * @example "2024-01-15T14:30:00Z"
5
+ */
6
+ value?: string;
7
+ /**
8
+ * Called when value changes
9
+ */
10
+ onChange?: (value: string) => void;
11
+ /**
12
+ * Minimum selectable date
13
+ */
14
+ minDate?: Date;
15
+ /**
16
+ * Maximum selectable date
17
+ */
18
+ maxDate?: Date;
19
+ /**
20
+ * Dates that should be disabled
21
+ */
22
+ disabledDates?: Date[] | ((date: Date) => boolean);
23
+ /**
24
+ * Timezone for display (defaults to browser timezone)
25
+ * @example "America/New_York"
26
+ */
27
+ timezone?: string;
28
+ /**
29
+ * Show timezone indicator below input
30
+ * @default false
31
+ */
32
+ showTimezoneIndicator?: boolean;
33
+ /**
34
+ * Input placeholder text
35
+ */
36
+ placeholder?: string;
37
+ /**
38
+ * Disable the input
39
+ */
40
+ disabled?: boolean;
41
+ /**
42
+ * Additional CSS class
43
+ */
44
+ className?: string;
45
+ /**
46
+ * Whether the popover is modal (prevents interaction with elements outside)
47
+ * Required when using inside a Dialog/Modal component
48
+ * @default true
49
+ */
50
+ modal?: boolean;
51
+ }
52
+ /**
53
+ * Internal state for date + time selection
54
+ */
55
+ export interface DateTimeState {
56
+ date: Date | undefined;
57
+ time: string;
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAA;IAElD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Format date for display
3
+ */
4
+ export declare function formatDate(date: Date | undefined): string;
5
+ /**
6
+ * Format time for display
7
+ */
8
+ export declare function formatTime(time: string): string;
9
+ /**
10
+ * Format full date-time for display
11
+ */
12
+ export declare function formatDateTime(date: Date | undefined, time: string): string;
13
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/date-time-picker/utils/format.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3E"}
@@ -0,0 +1,3 @@
1
+ export * from './format';
2
+ export * from './timezone';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/date-time-picker/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Get the browser's timezone
3
+ */
4
+ export declare function getBrowserTimezone(): string;
5
+ /**
6
+ * Convert local date + time to UTC ISO string
7
+ * @param date - Date object (date part)
8
+ * @param time - Time string in HH:mm format
9
+ * @param timezone - IANA timezone (e.g., "America/New_York")
10
+ * @returns UTC ISO string
11
+ */
12
+ export declare function localDateTimeToUtc(date: Date, time: string, timezone: string): string;
13
+ /**
14
+ * Convert UTC ISO string to local date + time
15
+ * @param utcString - UTC ISO string
16
+ * @param timezone - IANA timezone
17
+ * @returns Object with date and time (HH:mm)
18
+ */
19
+ export declare function utcToLocalDateTime(utcString: string, timezone: string): {
20
+ date: Date;
21
+ time: string;
22
+ };
23
+ //# sourceMappingURL=timezone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/date-time-picker/utils/timezone.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CAwBR;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA4B9B"}
@@ -0,0 +1,17 @@
1
+ import type { FormAdapter } from './adapter-types';
2
+ import * as React from 'react';
3
+ /**
4
+ * Read the current form adapter from context.
5
+ * Throws with a helpful error if no adapter is found.
6
+ */
7
+ export declare function useAdapter(): FormAdapter;
8
+ export interface FormAdapterProviderProps {
9
+ adapter: FormAdapter;
10
+ children: React.ReactNode;
11
+ }
12
+ /**
13
+ * Internal provider used by adapter packages (ConformAdapter, RHFAdapter).
14
+ * Consumers don't use this directly.
15
+ */
16
+ export declare function FormAdapterProvider({ adapter, children }: FormAdapterProviderProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=adapter-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-context.d.ts","sourceRoot":"","sources":["../../../../src/components/features/form/adapter-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B;;;GAGG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAgBxC;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2CAElF"}