@datum-cloud/datum-ui 3.7.0 → 3.7.1

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 (176) hide show
  1. package/dist/{action-row-DTvs91_3.mjs → action-row-BEzE9x37.mjs} +2 -3
  2. package/dist/{adapter-context-h0jCVqGO.mjs → adapter-context-XT749tyT.mjs} +1 -2
  3. package/dist/alert/index.mjs +1 -2
  4. package/dist/{alert-SAPwee1h.mjs → alert-CVckvox4.mjs} +2 -3
  5. package/dist/app-navigation/index.mjs +2 -2
  6. package/dist/{app-navigation-BB_NLEWv.mjs → app-navigation-Bcx7hr9L.mjs} +10 -16
  7. package/dist/assistant/index.mjs +49 -56
  8. package/dist/autocomplete/index.mjs +1 -2
  9. package/dist/{autocomplete-BxtzndxZ.mjs → autocomplete-fSSmRLYK.mjs} +6 -8
  10. package/dist/autosearch/index.mjs +8 -10
  11. package/dist/avatar/index.mjs +2 -3
  12. package/dist/avatar-stack/index.mjs +1 -2
  13. package/dist/{avatar-stack-BUcsjhA6.mjs → avatar-stack-2ow672bR.mjs} +3 -4
  14. package/dist/badge/index.mjs +1 -2
  15. package/dist/{badge-DOZUr5DV.mjs → badge-D7A6GfWn.mjs} +2 -3
  16. package/dist/breadcrumb/index.mjs +1 -2
  17. package/dist/{breadcrumb-DmdhC8bE.mjs → breadcrumb-D97jAZ2N.mjs} +2 -3
  18. package/dist/button/index.mjs +2 -2
  19. package/dist/{button-CDPui_Ov.mjs → button-BU8TEbJ5.mjs} +3 -4
  20. package/dist/{button-CsdF61EI.mjs → button-C57mkFkS.mjs} +2 -3
  21. package/dist/{button-DoMqfQLu.mjs → button-Dj6cKrWj.mjs} +4 -6
  22. package/dist/button-group/index.mjs +1 -2
  23. package/dist/{button-group-DFrTH4L8.mjs → button-group-C3GKo-0p.mjs} +3 -4
  24. package/dist/calendar/index.mjs +4 -5
  25. package/dist/{calendar-date-picker-DPvVAW2I.mjs → calendar-date-picker-BUwgVaI1.mjs} +3 -4
  26. package/dist/card/index.mjs +1 -2
  27. package/dist/{card-save-bar-BZzNnKYj.mjs → card-save-bar-0XDpAJo_.mjs} +5 -8
  28. package/dist/chart/index.mjs +1 -2
  29. package/dist/{chart-EgzTS28l.mjs → chart-BsGsx2jb.mjs} +2 -3
  30. package/dist/checkbox/index.mjs +1 -2
  31. package/dist/{checkbox-C6P12fio.mjs → checkbox-CNljVnKj.mjs} +3 -5
  32. package/dist/{close.icon-DdXKQ4m0.mjs → close.icon-BCPmH4nN.mjs} +2 -3
  33. package/dist/code-editor/index.mjs +1 -2
  34. package/dist/{col-BYGWTB4j.mjs → col-CYHIfPJq.mjs} +5 -9
  35. package/dist/collapsible/index.mjs +1 -2
  36. package/dist/command/index.mjs +1 -2
  37. package/dist/{command-C0aGIYnQ.mjs → command-B0be-zU5.mjs} +3 -4
  38. package/dist/components/features/assistant/components/message/plan-card.d.ts +1 -1
  39. package/dist/data-table/index.mjs +1 -2
  40. package/dist/{data-table-CJiQQ6TM.mjs → data-table-s2YrE79S.mjs} +39 -66
  41. package/dist/date-picker/index.mjs +3 -3
  42. package/dist/date-time/index.mjs +1 -2
  43. package/dist/{date-time-lZdefM4H.mjs → date-time-BBRVM9qb.mjs} +4 -6
  44. package/dist/date-time-picker/index.mjs +1 -2
  45. package/dist/{date-time-picker-CricsXgF.mjs → date-time-picker-CLdaGiGC.mjs} +3 -4
  46. package/dist/{date-time-range-picker-DM4AIvQ1.mjs → date-time-range-picker-RZX4CS4b.mjs} +36 -59
  47. package/dist/dialog/index.mjs +1 -2
  48. package/dist/{dialog-Gu70fban.mjs → dialog-C8RXIQYm.mjs} +4 -5
  49. package/dist/{dialog-CmkrpaYy.mjs → dialog-D6sDXaH6.mjs} +2 -3
  50. package/dist/dropdown/index.mjs +1 -2
  51. package/dist/{dropdown-Xvduih96.mjs → dropdown-DR9j3Ni_.mjs} +3 -4
  52. package/dist/{dropdown-menu-b8zY5Cs6.mjs → dropdown-menu-CjgTr8Ab.mjs} +2 -3
  53. package/dist/dropzone/index.mjs +1 -2
  54. package/dist/{dropzone-ihksfjN2.mjs → dropzone-Cer9E-VH.mjs} +6 -8
  55. package/dist/empty-content/index.mjs +1 -2
  56. package/dist/{empty-content-CmuVcU0P.mjs → empty-content-B2FZ9cyt.mjs} +8 -13
  57. package/dist/form/adapters/conform/index.mjs +4 -6
  58. package/dist/form/adapters/rhf/index.mjs +6 -9
  59. package/dist/form/index.mjs +2 -2
  60. package/dist/form/stepper/index.mjs +11 -16
  61. package/dist/{form-D4R6C609.mjs → form-C4XcxxjK.mjs} +54 -86
  62. package/dist/{form-context-DzB2a-dw.mjs → form-context-BRzt53M5.mjs} +1 -2
  63. package/dist/grid/index.mjs +1 -2
  64. package/dist/grouped-table/index.mjs +1 -2
  65. package/dist/{grouped-table-fHguJz9W.mjs → grouped-table-32RO2v7U.mjs} +16 -24
  66. package/dist/hooks/index.mjs +4 -4
  67. package/dist/{hooks-CwZ6hyI1.mjs → hooks-WVJbyhCz.mjs} +1 -2
  68. package/dist/hover-card/index.mjs +1 -2
  69. package/dist/{hover-card-BNOE5vT5.mjs → hover-card-DSt1lZGg.mjs} +3 -5
  70. package/dist/{icon-wrapper-DKfJlJd0.mjs → icon-wrapper-CIk2th6R.mjs} +1 -2
  71. package/dist/icons/index.mjs +3 -3
  72. package/dist/index.mjs +79 -79
  73. package/dist/input/index.mjs +1 -2
  74. package/dist/{input-j4tbmYYz.mjs → input-DsT5qkJn.mjs} +3 -4
  75. package/dist/{input-DR-XbgpD.mjs → input-Wl1K48ca.mjs} +2 -3
  76. package/dist/input-group/index.mjs +1 -2
  77. package/dist/{input-group-DieA8aBt.mjs → input-group-CCzvJIZM.mjs} +5 -6
  78. package/dist/input-number/index.mjs +1 -2
  79. package/dist/{input-number-TXmW-X9o.mjs → input-number-DF-bfIo8.mjs} +5 -6
  80. package/dist/input-with-addons/index.mjs +2 -3
  81. package/dist/label/index.mjs +1 -2
  82. package/dist/{label-Bk6FXsju.mjs → label-BR1V3Imy.mjs} +3 -5
  83. package/dist/{layers-DWYdrGmC.mjs → layers-XEND2WKv.mjs} +17 -26
  84. package/dist/loader-overlay/index.mjs +1 -2
  85. package/dist/{loader-overlay-DD94azZX.mjs → loader-overlay-JvB8IQo3.mjs} +3 -4
  86. package/dist/logo/index.mjs +2 -2
  87. package/dist/logo/themed/index.mjs +3 -4
  88. package/dist/{logo-C3FxD7jb.mjs → logo-CkzKra6H.mjs} +2 -3
  89. package/dist/{logo-text-Dpm5O6Kg.mjs → logo-text-B54YiEte.mjs} +6 -11
  90. package/dist/logs/fixtures/index.mjs +2 -4
  91. package/dist/logs/index.mjs +34 -56
  92. package/dist/map/index.mjs +1 -2
  93. package/dist/{map-leaflet-imports-S3kx8Q-S.mjs → map-leaflet-imports-Xdz9Xiaf.mjs} +1 -2
  94. package/dist/mobile-sheet/index.mjs +1 -2
  95. package/dist/{mobile-sheet-9TootJGg.mjs → mobile-sheet-1995HYY_.mjs} +6 -9
  96. package/dist/more-actions/index.mjs +2 -2
  97. package/dist/{more-actions-C3DYWO0a.mjs → more-actions-D9k1ILzT.mjs} +6 -7
  98. package/dist/{motion-DvGRWdsm.mjs → motion-DOrRbLmy.mjs} +1 -2
  99. package/dist/multi-select/index.mjs +1 -2
  100. package/dist/{multi-select-CF0Yq5yf.mjs → multi-select-BUgx6VZF.mjs} +11 -15
  101. package/dist/nprogress/index.mjs +1 -2
  102. package/dist/page-title/index.mjs +1 -2
  103. package/dist/{page-title-ipRWEOeM.mjs → page-title-Djl3LvPT.mjs} +2 -3
  104. package/dist/picker/index.mjs +2 -2
  105. package/dist/{picker-BoKXW6_s.mjs → picker-C0h30DHf.mjs} +14 -25
  106. package/dist/popover/index.mjs +1 -2
  107. package/dist/{popover-X82NwhX9.mjs → popover-7YxyP_W0.mjs} +3 -5
  108. package/dist/radio-group/index.mjs +1 -2
  109. package/dist/{radio-group-LduBVTnh.mjs → radio-group-0RxTmRnF.mjs} +3 -5
  110. package/dist/responsive-dropdown/index.mjs +1 -2
  111. package/dist/{responsive-dropdown-C_KKgLbH.mjs → responsive-dropdown-DsWgpE_i.mjs} +5 -6
  112. package/dist/responsive-popover/index.mjs +1 -2
  113. package/dist/{responsive-popover-8VcjBM2d.mjs → responsive-popover-DJYd8lOK.mjs} +5 -6
  114. package/dist/rich-text-content/index.mjs +1 -2
  115. package/dist/{rich-text-content-DNonBD39.mjs → rich-text-content-BiIIowBU.mjs} +2 -3
  116. package/dist/rich-text-editor/index.mjs +2 -2
  117. package/dist/{rich-text-editor-CP1YyxMR.mjs → rich-text-editor-ibngjhQV.mjs} +14 -22
  118. package/dist/select/index.mjs +1 -2
  119. package/dist/{select-D4pk9e2d.mjs → select-DemYhwnG.mjs} +3 -4
  120. package/dist/{select-daE2Nn0Z.mjs → select-jgK6wyXj.mjs} +2 -3
  121. package/dist/separator/index.mjs +1 -2
  122. package/dist/{separator-vbPD_WFQ.mjs → separator-DNiiN2BN.mjs} +2 -3
  123. package/dist/settings-nav/index.mjs +1 -2
  124. package/dist/{settings-nav-Hf3GrCGv.mjs → settings-nav-CCZdPD-x.mjs} +2 -3
  125. package/dist/sheet/index.mjs +2 -2
  126. package/dist/{sheet-DHn6C_rs.mjs → sheet-DEpEJ_Rk.mjs} +4 -5
  127. package/dist/{sheet-DXCZyMHI.mjs → sheet-DYPtVIb2.mjs} +2 -3
  128. package/dist/sidebar/index.mjs +1 -2
  129. package/dist/{sidebar-sbqOOFii.mjs → sidebar-DWnxQWQ8.mjs} +13 -18
  130. package/dist/skeleton/index.mjs +3 -4
  131. package/dist/{skeleton-DFExK4GX.mjs → skeleton-CDPoo7-M.mjs} +2 -3
  132. package/dist/spinner/index.mjs +1 -2
  133. package/dist/{spinner-C5Xv-i2C.mjs → spinner-DjEpx6Q3.mjs} +2 -3
  134. package/dist/{spinner.icon-BYUMQ8H-.mjs → spinner.icon-D0SKuGFG.mjs} +2 -3
  135. package/dist/stepper/index.mjs +1 -2
  136. package/dist/{stepper-dNvkipop.mjs → stepper-ZipxpzWY.mjs} +10 -11
  137. package/dist/switch/index.mjs +1 -2
  138. package/dist/{switch-BaR-Vna4.mjs → switch-CWvVN9ea.mjs} +2 -3
  139. package/dist/table/index.mjs +2 -3
  140. package/dist/tabs/index.mjs +2 -3
  141. package/dist/tag-input/index.mjs +1 -2
  142. package/dist/{tag-input-c9OvWTSe.mjs → tag-input-DAMY703F.mjs} +8 -12
  143. package/dist/task-queue/index.mjs +1 -2
  144. package/dist/{task-queue-dropdown-CHPP5WIm.mjs → task-queue-dropdown-BgQSGDwg.mjs} +39 -59
  145. package/dist/textarea/index.mjs +1 -2
  146. package/dist/{textarea-DiSGxCBO.mjs → textarea-CvhdK6JY.mjs} +3 -4
  147. package/dist/{textarea-CCxpXJdh.mjs → textarea-D36SE4ki.mjs} +2 -3
  148. package/dist/theme/index.mjs +1 -2
  149. package/dist/{themes-Ba2bajuF.mjs → themes-BoxnQbbu.mjs} +8 -10
  150. package/dist/time-picker/index.mjs +1 -2
  151. package/dist/{time-picker-DQlc2gKW.mjs → time-picker-DgHjdcMZ.mjs} +3 -4
  152. package/dist/{to-api-format-QuJ81vQ9.mjs → to-api-format-EZInfj0_.mjs} +15 -23
  153. package/dist/toast/index.mjs +2 -2
  154. package/dist/{toast-BUPlDkN3.mjs → toast-CizxCEcK.mjs} +4 -6
  155. package/dist/tooltip/index.mjs +1 -2
  156. package/dist/{tooltip-DhbN1BDK.mjs → tooltip-OIySjJWW.mjs} +3 -5
  157. package/dist/transfer/index.mjs +1 -2
  158. package/dist/{transfer-DsshYgIk.mjs → transfer-91lwTOhX.mjs} +8 -14
  159. package/dist/{types-agDpVXBG.mjs → types-ChINrR8H.mjs} +7 -11
  160. package/dist/typography/index.mjs +1 -2
  161. package/dist/{typography-B1bpHKmV.mjs → typography-XFfN6PGD.mjs} +2 -3
  162. package/dist/{use-breakpoint-CwiUJSmk.mjs → use-breakpoint-zY_JYINK.mjs} +1 -2
  163. package/dist/{use-controllable-state-Dna7u3r9.mjs → use-controllable-state-DLeVgbAb.mjs} +1 -2
  164. package/dist/{use-copy-to-clipboard-DZDq_85T.mjs → use-copy-to-clipboard-CWKWHLxI.mjs} +1 -2
  165. package/dist/{use-debounced-search-input-yu_F0QBt.mjs → use-debounced-search-input-B4u28iLx.mjs} +1 -2
  166. package/dist/{use-deprecation-warning-DXrGc0jX.mjs → use-deprecation-warning-BS1V4IS5.mjs} +1 -2
  167. package/dist/{use-display-touched-CMEEv7aT.mjs → use-display-touched-BSq0Ninl.mjs} +3 -5
  168. package/dist/{use-option-picker-s2bUYwXC.mjs → use-option-picker-CBMU72LU.mjs} +6 -9
  169. package/dist/{use-toast-Bpq0yJIT.mjs → use-toast-CZAZeS95.mjs} +3 -5
  170. package/dist/utils/index.mjs +3 -3
  171. package/dist/{utils-CA4QEIJ8.mjs → utils-CPJ5MCfd.mjs} +1 -2
  172. package/dist/{utils-Bu32wN-x.mjs → utils-CTIuhCOs.mjs} +1 -2
  173. package/dist/visually-hidden/index.mjs +1 -2
  174. package/dist/{visuallyhidden-D7L_qs8b.mjs → visuallyhidden-Mg4OsZ-l.mjs} +1 -2
  175. package/dist/{zod-helpers-YEhVo2S-.mjs → zod-helpers-JcfFVJJd.mjs} +1 -2
  176. package/package.json +20 -20
@@ -1,10 +1,10 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Button } from "./button-DoMqfQLu.mjs";
1
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
2
+ import { t as Button } from "./button-Dj6cKrWj.mjs";
3
3
  import { Search, X } from "lucide-react";
4
4
  import * as React from "react";
5
5
  import { useCallback, useEffect, useMemo, useState } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
- //#region src/components/features/transfer/components/transfer-group.tsx
7
+ // src/components/features/transfer/components/transfer-group.tsx
8
8
  const TransferGroup = ({ title, children }) => {
9
9
  return /* @__PURE__ */ jsxs("div", {
10
10
  className: "space-y-1",
@@ -14,8 +14,7 @@ const TransferGroup = ({ title, children }) => {
14
14
  }), children]
15
15
  });
16
16
  };
17
- //#endregion
18
- //#region src/components/features/transfer/components/transfer-item.tsx
17
+ // src/components/features/transfer/components/transfer-item.tsx
19
18
  const TransferItem = ({ label, onClick, disabled = false, panelType }) => {
20
19
  return /* @__PURE__ */ jsxs("div", {
21
20
  className: cn("group flex items-center gap-2 rounded p-2", "hover:bg-accent transition-colors", panelType === "source" && "cursor-pointer", disabled && "opacity-50 cursor-not-allowed"),
@@ -44,8 +43,7 @@ const TransferItem = ({ label, onClick, disabled = false, panelType }) => {
44
43
  })]
45
44
  });
46
45
  };
47
- //#endregion
48
- //#region src/components/features/transfer/components/transfer-search.tsx
46
+ // src/components/features/transfer/components/transfer-search.tsx
49
47
  const TransferSearch = ({ value, onChange, placeholder = "Search...", disabled = false }) => {
50
48
  return /* @__PURE__ */ jsxs("div", {
51
49
  className: "relative",
@@ -60,8 +58,7 @@ const TransferSearch = ({ value, onChange, placeholder = "Search...", disabled =
60
58
  })]
61
59
  });
62
60
  };
63
- //#endregion
64
- //#region src/components/features/transfer/components/transfer-panel.tsx
61
+ // src/components/features/transfer/components/transfer-panel.tsx
65
62
  const TransferPanel = ({ title, items, groups, searchable, searchValue, onSearchChange, searchPlaceholder, onItemClick, onSelectAll, enableSelectAll, disabled = false, panelType }) => {
66
63
  const groupedItems = React.useMemo(() => {
67
64
  if (groups.length === 0) return { "": items };
@@ -130,8 +127,7 @@ const TransferPanel = ({ title, items, groups, searchable, searchValue, onSearch
130
127
  })]
131
128
  });
132
129
  };
133
- //#endregion
134
- //#region src/components/features/transfer/hooks/use-transfer-state.ts
130
+ // src/components/features/transfer/hooks/use-transfer-state.ts
135
131
  function useTransferState({ items, value, itemKey, itemLabel, itemGroup }) {
136
132
  const [sourceSearch, setSourceSearch] = useState("");
137
133
  const [debouncedSourceSearch, setDebouncedSourceSearch] = useState("");
@@ -200,8 +196,7 @@ function useTransferState({ items, value, itemKey, itemLabel, itemGroup }) {
200
196
  setSourceSearch
201
197
  };
202
198
  }
203
- //#endregion
204
- //#region src/components/features/transfer/transfer.tsx
199
+ // src/components/features/transfer/transfer.tsx
205
200
  function Transfer({ items, value, onChange, itemKey, itemLabel, itemGroup, searchable = true, searchPlaceholder = "Search...", sourceTitle = "Available", targetTitle = "Selected", enableSelectAll = true, disabled = false, className }) {
206
201
  const state = useTransferState({
207
202
  items,
@@ -267,5 +262,4 @@ function Transfer({ items, value, onChange, itemKey, itemLabel, itemGroup, searc
267
262
  });
268
263
  }
269
264
  Transfer.displayName = "Transfer";
270
- //#endregion
271
265
  export { Transfer as t };
@@ -1,13 +1,13 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
1
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
2
2
  import { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs/index.mjs";
3
- import { n as useTheme } from "./themes-Ba2bajuF.mjs";
4
- import { t as toast } from "./toast-BUPlDkN3.mjs";
3
+ import { n as useTheme } from "./themes-BoxnQbbu.mjs";
4
+ import { t as toast } from "./toast-CizxCEcK.mjs";
5
5
  import { useEffect, useRef, useState } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import Editor from "@monaco-editor/react";
8
8
  import { CORE_SCHEMA, FAILSAFE_SCHEMA, dump, floatCoreTag, intCoreTag, load } from "js-yaml";
9
9
  import { z } from "zod";
10
- //#region src/components/features/code-editor/code-editor.tsx
10
+ // src/components/features/code-editor/code-editor.tsx
11
11
  /** Delay before the initial auto-format runs, giving Monaco time to settle. */
12
12
  const AUTO_FORMAT_DELAY_MS = 300;
13
13
  /**
@@ -125,8 +125,7 @@ function CodeEditor({ value, onChange, language, placeholder, id, name = "code-e
125
125
  ]
126
126
  });
127
127
  }
128
- //#endregion
129
- //#region src/components/features/code-editor/lib/editor.ts
128
+ // src/components/features/code-editor/lib/editor.ts
130
129
  /**
131
130
  * Wraps a numeric CORE scalar tag so that a token whose parsed number cannot be
132
131
  * re-serialized without loss is preserved as its original string rather than a
@@ -208,8 +207,7 @@ function yamlToJson(yamlStr) {
208
207
  throw new Error(`Invalid YAML format: ${error instanceof Error ? error.message : String(error)}`);
209
208
  }
210
209
  }
211
- //#endregion
212
- //#region src/components/features/code-editor/code-editor-tabs.tsx
210
+ // src/components/features/code-editor/code-editor-tabs.tsx
213
211
  /**
214
212
  * CodeEditorTabs - Dual-format code editor with JSON ↔ YAML conversion
215
213
  *
@@ -363,8 +361,7 @@ function CodeEditorTabs({ value, onChange, format = "yaml", onFormatChange, erro
363
361
  ]
364
362
  });
365
363
  }
366
- //#endregion
367
- //#region src/components/features/code-editor/types.ts
364
+ // src/components/features/code-editor/types.ts
368
365
  const jsonSchema = z.object({ jsonContent: z.string().min(1, "JSON content is required").refine(isValidJson, { message: "Invalid JSON format" }) });
369
366
  const yamlSchema = z.object({ yamlContent: z.string().min(1, "YAML content is required").refine(isValidYaml, { message: "Invalid YAML format" }) });
370
367
  function createCodeEditorSchema(name = "code-editor") {
@@ -385,5 +382,4 @@ function createCodeEditorSchema(name = "code-editor") {
385
382
  });
386
383
  });
387
384
  }
388
- //#endregion
389
385
  export { formatJson as a, isValidYaml as c, CodeEditor as d, CodeEditorTabs as i, jsonToYaml as l, jsonSchema as n, formatYaml as o, yamlSchema as r, isValidJson as s, createCodeEditorSchema as t, yamlToJson as u };
@@ -1,2 +1 @@
1
- import { a as ListItem, c as Title, d as titleVariants, i as List, l as paragraphVariants, n as Code, o as Paragraph, r as Link, s as Text, t as Blockquote, u as textVariants } from "../typography-B1bpHKmV.mjs";
2
- export { Blockquote, Code, Link, List, ListItem, Paragraph, Text, Title, paragraphVariants, textVariants, titleVariants };
1
+ export { t as Blockquote, n as Code, r as Link, i as List, a as ListItem, o as Paragraph, s as Text, c as Title, l as paragraphVariants, u as textVariants, d as titleVariants } from "../typography-XFfN6PGD.mjs";
@@ -1,9 +1,9 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
1
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { CopyIcon } from "lucide-react";
4
4
  import * as React from "react";
5
5
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
- //#region src/components/base/typography/typography.tsx
6
+ // src/components/base/typography/typography.tsx
7
7
  const titleVariants = cva("font-semibold leading-tight tracking-tight", {
8
8
  variants: {
9
9
  level: {
@@ -205,5 +205,4 @@ function Code$1({ className, as = "code", children, ...props }) {
205
205
  children
206
206
  });
207
207
  }
208
- //#endregion
209
208
  export { ListItem as a, Title as c, titleVariants as d, List as i, paragraphVariants as l, Code$1 as n, Paragraph as o, Link$1 as r, Text as s, Blockquote as t, textVariants as u };
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useState } from "react";
2
- //#region src/hooks/use-breakpoint.ts
2
+ // src/hooks/use-breakpoint.ts
3
3
  const TABLET_MIN = 768;
4
4
  const DESKTOP_MIN = 1024;
5
5
  function getBreakpoint() {
@@ -32,5 +32,4 @@ function useBreakpoint() {
32
32
  }, []);
33
33
  return breakpoint;
34
34
  }
35
- //#endregion
36
35
  export { useBreakpoint as t };
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useState } from "react";
2
- //#region src/components/base/hooks/use-controllable-state.ts
2
+ // src/components/base/hooks/use-controllable-state.ts
3
3
  /**
4
4
  * Uncontrolled-by-default state with an optional controlled override.
5
5
  * When `controlled` is undefined the hook owns the value; otherwise the prop wins.
@@ -22,5 +22,4 @@ function useControllableState(controlled, defaultValue, onChange) {
22
22
  value
23
23
  ])];
24
24
  }
25
- //#endregion
26
25
  export { useControllableState as t };
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useEffect, useRef, useState } from "react";
2
- //#region src/hooks/use-copy-to-clipboard.ts
2
+ // src/hooks/use-copy-to-clipboard.ts
3
3
  function useCopyToClipboard() {
4
4
  const [isCopied, setIsCopied] = useState(false);
5
5
  const timeoutRef = useRef(null);
@@ -31,5 +31,4 @@ function useCopyToClipboard() {
31
31
  }
32
32
  }, [])];
33
33
  }
34
- //#endregion
35
34
  export { useCopyToClipboard as t };
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useState } from "react";
2
- //#region src/hooks/use-debounced-search-input.ts
2
+ // src/hooks/use-debounced-search-input.ts
3
3
  /** Default debounce delay for search inputs, in milliseconds. */
4
4
  const DEFAULT_SEARCH_DEBOUNCE_MS = 300;
5
5
  /**
@@ -33,5 +33,4 @@ function useDebouncedSearchInput(value, onChange, delay = 300) {
33
33
  ]);
34
34
  return [inputValue, setInputValue];
35
35
  }
36
- //#endregion
37
36
  export { useDebouncedSearchInput as n, DEFAULT_SEARCH_DEBOUNCE_MS as t };
@@ -1,5 +1,5 @@
1
1
  import { useEffect } from "react";
2
- //#region src/components/features/_shared/use-deprecation-warning.ts
2
+ // src/components/features/_shared/use-deprecation-warning.ts
3
3
  const warned = /* @__PURE__ */ new Set();
4
4
  /**
5
5
  * Logs a one-time `console.warn` in development warning that the legacy
@@ -16,5 +16,4 @@ function useDeprecationWarning(legacyName, replacement) {
16
16
  console.warn(`[datum-ui] ${legacyName} is deprecated. Use ${replacement} from '@datum-cloud/datum-ui/picker' instead. See picker-migration.mdx.`);
17
17
  }, [legacyName, replacement]);
18
18
  }
19
- //#endregion
20
19
  export { useDeprecationWarning as t };
@@ -1,7 +1,7 @@
1
- import { t as getObjectShape } from "./zod-helpers-YEhVo2S-.mjs";
1
+ import { t as getObjectShape } from "./zod-helpers-JcfFVJJd.mjs";
2
2
  import * as React from "react";
3
3
  import "zod";
4
- //#region src/components/features/form/utils/get-field-constraints.ts
4
+ // src/components/features/form/utils/get-field-constraints.ts
5
5
  /**
6
6
  * Extract field-level constraints from a Zod schema.
7
7
  * Works with ZodObject, ZodIntersection (from .and()), and ZodPipe (from .transform()).
@@ -23,8 +23,7 @@ function isRequired(schema) {
23
23
  if (type === "optional" || type === "nullable" || type === "default") return false;
24
24
  return true;
25
25
  }
26
- //#endregion
27
- //#region src/components/features/form/hooks/use-display-touched.ts
26
+ // src/components/features/form/hooks/use-display-touched.ts
28
27
  /**
29
28
  * Shared display-level touched tracking, independent of adapter-specific blur tracking.
30
29
  *
@@ -54,5 +53,4 @@ function useDisplayTouched(schema) {
54
53
  markAllFieldsTouched
55
54
  };
56
55
  }
57
- //#endregion
58
56
  export { getFieldConstraints as n, useDisplayTouched as t };
@@ -1,11 +1,11 @@
1
- import { a as CommandInput, i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-C0aGIYnQ.mjs";
2
- import { t as useControllableState } from "./use-controllable-state-Dna7u3r9.mjs";
3
- import { t as LoaderOverlay } from "./loader-overlay-DD94azZX.mjs";
1
+ import { a as CommandInput, i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-B0be-zU5.mjs";
2
+ import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
3
+ import { t as LoaderOverlay } from "./loader-overlay-JvB8IQo3.mjs";
4
4
  import { CheckIcon } from "lucide-react";
5
5
  import { useCallback, useMemo, useRef, useState } from "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { useVirtualizer } from "@tanstack/react-virtual";
8
- //#region src/components/base/option-picker/types.ts
8
+ // src/components/base/option-picker/types.ts
9
9
  /**
10
10
  * Detect whether an options prop is grouped.
11
11
  *
@@ -25,8 +25,7 @@ function isGroupedOptions(options) {
25
25
  function flattenOptions(options) {
26
26
  return isGroupedOptions(options) ? options.flatMap((g) => g.options) : options;
27
27
  }
28
- //#endregion
29
- //#region src/components/base/option-picker/option-list.tsx
28
+ // src/components/base/option-picker/option-list.tsx
30
29
  function defaultRenderOption(option, isSelected) {
31
30
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", {
32
31
  className: "flex min-w-0 flex-1 flex-col",
@@ -130,8 +129,7 @@ function VirtualCommandGroup({ options, isSelected, toggle, renderOption, listRe
130
129
  })
131
130
  }) });
132
131
  }
133
- //#endregion
134
- //#region src/components/base/option-picker/use-option-picker.ts
132
+ // src/components/base/option-picker/use-option-picker.ts
135
133
  function useOptionPicker(args) {
136
134
  const { options, multiple, value, defaultValue, onValueChange, onSearchChange, creatable = false, creatableLabel, closeOnSelect = true, onOpenChange, getOptionValue: getOptionValueProp, getOptionLabel: getOptionLabelProp } = args;
137
135
  const getOptionValue = useMemo(() => getOptionValueProp ?? ((o) => o.value), [getOptionValueProp]);
@@ -234,5 +232,4 @@ function useOptionPicker(args) {
234
232
  listRef: useRef(null)
235
233
  };
236
234
  }
237
- //#endregion
238
235
  export { OptionList as n, useOptionPicker as t };
@@ -1,8 +1,8 @@
1
- import { t as toast$1 } from "./toast-BUPlDkN3.mjs";
1
+ import { t as toast$1 } from "./toast-CizxCEcK.mjs";
2
2
  import { useEffect } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Toaster } from "sonner";
5
- //#region src/components/features/toast/toaster.tsx
5
+ // src/components/features/toast/toaster.tsx
6
6
  /**
7
7
  * Sonner Toaster configured for "headless" usage.
8
8
  *
@@ -17,8 +17,7 @@ function Toaster$1({ toastOptions, ...props }) {
17
17
  ...props
18
18
  });
19
19
  }
20
- //#endregion
21
- //#region src/components/features/toast/use-toast.ts
20
+ // src/components/features/toast/use-toast.ts
22
21
  /**
23
22
  * Sonner is a toast library for React.
24
23
  * Implementation based on github.com/epicweb-dev/epic-stack
@@ -40,5 +39,4 @@ function useToast(toastData) {
40
39
  return () => clearTimeout(timer);
41
40
  }, [toastData]);
42
41
  }
43
- //#endregion
44
42
  export { Toaster$1 as n, useToast as t };
@@ -1,4 +1,4 @@
1
- import { t as cn } from "../utils-Bu32wN-x.mjs";
2
- import { n as EASE, t as DURATION } from "../motion-DvGRWdsm.mjs";
3
- import { n as toUTCTimestampStartOfDay, t as toUTCTimestampEndOfDay } from "../utils-CA4QEIJ8.mjs";
1
+ import { t as cn } from "../utils-CTIuhCOs.mjs";
2
+ import { n as EASE, t as DURATION } from "../motion-DOrRbLmy.mjs";
3
+ import { n as toUTCTimestampStartOfDay, t as toUTCTimestampEndOfDay } from "../utils-CPJ5MCfd.mjs";
4
4
  export { DURATION, EASE, cn, toUTCTimestampEndOfDay, toUTCTimestampStartOfDay };
@@ -1,6 +1,6 @@
1
1
  import { fromZonedTime, toZonedTime } from "date-fns-tz";
2
2
  import { endOfDay, startOfDay } from "date-fns";
3
- //#region src/utils/timezone.ts
3
+ // src/utils/timezone.ts
4
4
  /**
5
5
  * Timezone-aware conversion utilities for date filters.
6
6
  *
@@ -35,5 +35,4 @@ function toUTCTimestampEndOfDay(date, timezone) {
35
35
  const utcDate = fromZonedTime(endOfDayInTz, timezone);
36
36
  return Math.floor(utcDate.getTime() / 1e3);
37
37
  }
38
- //#endregion
39
38
  export { toUTCTimestampStartOfDay as n, toUTCTimestampEndOfDay as t };
@@ -1,6 +1,6 @@
1
1
  import { clsx } from "clsx";
2
2
  import { twMerge } from "tailwind-merge";
3
- //#region ../shadcn/lib/utils.ts
3
+ // ../shadcn/lib/utils.ts
4
4
  /**
5
5
  * shadcn/ui Utilities
6
6
  * Combines multiple class names using clsx and tailwind-merge
@@ -14,5 +14,4 @@ import { twMerge } from "tailwind-merge";
14
14
  function cn(...inputs) {
15
15
  return twMerge(clsx(inputs));
16
16
  }
17
- //#endregion
18
17
  export { cn as t };
@@ -1,2 +1 @@
1
- import { t as VisuallyHidden } from "../visuallyhidden-D7L_qs8b.mjs";
2
- export { VisuallyHidden };
1
+ export { t as VisuallyHidden } from "../visuallyhidden-Mg4OsZ-l.mjs";
@@ -1,5 +1,4 @@
1
1
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
2
- //#region ../shadcn/ui/visuallyhidden.tsx
2
+ // ../shadcn/ui/visuallyhidden.tsx
3
3
  const VisuallyHidden$1 = { Root: VisuallyHidden };
4
- //#endregion
5
4
  export { VisuallyHidden$1 as t };
@@ -1,4 +1,4 @@
1
- //#region src/components/features/form/utils/zod-helpers.ts
1
+ // src/components/features/form/utils/zod-helpers.ts
2
2
  /**
3
3
  * Extract the shape from a ZodObject, ZodIntersection, or ZodPipe.
4
4
  * Uses Zod v4's `def.type` discriminant.
@@ -23,5 +23,4 @@ function getObjectShape(schema) {
23
23
  if (def.type === "pipe") return getObjectShape(def.in);
24
24
  return null;
25
25
  }
26
- //#endregion
27
26
  export { getObjectShape as t };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@datum-cloud/datum-ui",
3
3
  "type": "module",
4
- "version": "3.7.0",
4
+ "version": "3.7.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "url": "https://github.com/datum-cloud/datum-ui"
@@ -478,7 +478,7 @@
478
478
  "recharts": ">=3 <4",
479
479
  "sonner": ">=2.0.7 <3",
480
480
  "streamdown": ">=2 <3",
481
- "zod": ">=4 <5"
481
+ "zod": ">=4.6.6 <5"
482
482
  },
483
483
  "peerDependenciesMeta": {
484
484
  "@conform-to/react": {
@@ -600,6 +600,7 @@
600
600
  }
601
601
  },
602
602
  "dependencies": {
603
+ "@datum-cloud/datum-ui-assistant-core": "^0.1.0",
603
604
  "@radix-ui/react-avatar": "^1.2.6",
604
605
  "@radix-ui/react-checkbox": "^1.3.11",
605
606
  "@radix-ui/react-collapsible": "^1.1.20",
@@ -619,17 +620,16 @@
619
620
  "class-variance-authority": "^0.7.1",
620
621
  "clsx": "^2.1.1",
621
622
  "cmdk": "^1.1.1",
622
- "isomorphic-dompurify": "^3.22.0",
623
- "tailwind-merge": "^3.6.0",
624
- "tw-animate-css": "^1.4.0",
625
- "@datum-cloud/datum-ui-assistant-core": "^0.1.0"
623
+ "isomorphic-dompurify": "^3.23.0",
624
+ "tailwind-merge": "^3.7.0",
625
+ "tw-animate-css": "^1.4.0"
626
626
  },
627
627
  "devDependencies": {
628
628
  "@conform-to/react": "^1.21.0",
629
629
  "@conform-to/zod": "^1.21.0",
630
630
  "@dnd-kit/core": "^6.3.1",
631
631
  "@dnd-kit/sortable": "^10.0.0",
632
- "@hookform/resolvers": "^5.7.1",
632
+ "@hookform/resolvers": "^5.9.2",
633
633
  "@monaco-editor/react": "^4.7.0",
634
634
  "@stepperize/react": "^7.0.0",
635
635
  "@streamdown/code": "^1.1.1",
@@ -651,25 +651,25 @@
651
651
  "@types/nprogress": "^0.2.3",
652
652
  "@types/react": "^19.2.18",
653
653
  "@types/react-dom": "^19.2.4",
654
- "@vitest/coverage-v8": "^4.1.10",
655
- "ai": "^7.0.66",
654
+ "@vitest/coverage-v8": "^4.1.12",
655
+ "ai": "^7.0.162",
656
656
  "date-fns": "^4.4.0",
657
657
  "date-fns-tz": "^3.2.0",
658
658
  "eslint": "^10.8.1",
659
- "js-yaml": "^5.4.2",
660
- "jsdom": "^30.0.1",
659
+ "js-yaml": "^5.5.0",
660
+ "jsdom": "^30.1.3",
661
661
  "leaflet": "^1.9.4",
662
662
  "leaflet-draw": "^1.0.4",
663
663
  "leaflet.fullscreen": "^5.3.3",
664
664
  "leaflet.markercluster": "^1.5.3",
665
665
  "lucide-react": "^1.31.0",
666
- "monaco-editor": "^0.56.0",
667
- "motion": "^13.1.0",
666
+ "monaco-editor": "^0.57.0",
667
+ "motion": "^13.5.1",
668
668
  "nprogress": "^0.2.0",
669
- "nuqs": "^2.9.6",
670
- "react": "^19.2.8",
669
+ "nuqs": "^2.10.2",
670
+ "react": "^19.3.1",
671
671
  "react-day-picker": "^10.0.1",
672
- "react-dom": "^19.2.8",
672
+ "react-dom": "^19.3.1",
673
673
  "react-dropzone": "^20.1.0",
674
674
  "react-hook-form": "^7.85.0",
675
675
  "react-leaflet": "^5.0.0",
@@ -677,12 +677,12 @@
677
677
  "react-number-format": "^5.4.5",
678
678
  "recharts": "^3.10.1",
679
679
  "sonner": "^2.0.8",
680
- "streamdown": "^2.5.0",
680
+ "streamdown": "^2.7.1",
681
681
  "tailwindcss": "^4.3.3",
682
- "tsdown": "^0.22.14",
682
+ "tsdown": "^0.23.5",
683
683
  "typescript": "^6.0.3",
684
- "vitest": "^4.1.10",
685
- "zod": "^4.4.3"
684
+ "vitest": "^4.1.12",
685
+ "zod": "^4.6.7"
686
686
  },
687
687
  "publishConfig": {
688
688
  "access": "public"