@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,6 +1,6 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
1
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- //#region src/components/features/more-actions/action-row.tsx
3
+ // src/components/features/more-actions/action-row.tsx
4
4
  function ActionRow({ action, data, onSelect }) {
5
5
  const isDisabled = typeof action.disabled === "function" ? action.disabled(data) : action.disabled ?? false;
6
6
  const IconComponent = typeof action.icon === "function" ? action.icon : null;
@@ -18,5 +18,4 @@ function ActionRow({ action, data, onSelect }) {
18
18
  children: [iconNode, /* @__PURE__ */ jsx("span", { children: action.label })]
19
19
  });
20
20
  }
21
- //#endregion
22
21
  export { ActionRow as t };
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
- //#region src/components/features/form/adapter-context.tsx
3
+ // src/components/features/form/adapter-context.tsx
4
4
  const AdapterContext = React.createContext(null);
5
5
  /**
6
6
  * Read the current form adapter from context.
@@ -21,5 +21,4 @@ function FormAdapterProvider({ adapter, children }) {
21
21
  children
22
22
  });
23
23
  }
24
- //#endregion
25
24
  export { useAdapter as n, FormAdapterProvider as t };
@@ -1,2 +1 @@
1
- import { n as AlertDescription, r as AlertTitle, t as Alert } from "../alert-SAPwee1h.mjs";
2
- export { Alert, AlertDescription, AlertTitle };
1
+ export { t as Alert, n as AlertDescription, r as AlertTitle } from "../alert-CVckvox4.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 { CircleXIcon } from "lucide-react";
4
4
  import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
- //#region src/components/base/alert/alert.tsx
6
+ // src/components/base/alert/alert.tsx
7
7
  /**
8
8
  * Datum Alert Component
9
9
  * Extends shadcn Alert with Datum-specific variants: success, info, warning
@@ -89,5 +89,4 @@ function AlertDescription({ className, ...props }) {
89
89
  ...props
90
90
  });
91
91
  }
92
- //#endregion
93
92
  export { AlertDescription as n, AlertTitle as r, Alert as t };
@@ -1,3 +1,3 @@
1
- import { C as SidebarProvider, S as SidebarGroupLabel, _ as SidebarMenuSubButton, a as SidebarInput, b as SidebarGroupAction, c as SidebarSeparator, d as SidebarMenuAction, f as SidebarMenuBadge, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, o as SidebarInset, p as SidebarMenuButton, r as SidebarFooter, s as SidebarRail, t as Sidebar, u as SidebarMenu, v as SidebarMenuSubItem, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "../sidebar-sbqOOFii.mjs";
2
- import { a as hasActiveDescendant, i as findItemByHref, n as NavMenu, o as isNavItemActive, r as NavMenuItem, s as normalizePath, t as AppNavigation } from "../app-navigation-BB_NLEWv.mjs";
1
+ import { C as SidebarProvider, S as SidebarGroupLabel, _ as SidebarMenuSubButton, a as SidebarInput, b as SidebarGroupAction, c as SidebarSeparator, d as SidebarMenuAction, f as SidebarMenuBadge, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, o as SidebarInset, p as SidebarMenuButton, r as SidebarFooter, s as SidebarRail, t as Sidebar, u as SidebarMenu, v as SidebarMenuSubItem, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "../sidebar-DWnxQWQ8.mjs";
2
+ import { a as hasActiveDescendant, i as findItemByHref, n as NavMenu, o as isNavItemActive, r as NavMenuItem, s as normalizePath, t as AppNavigation } from "../app-navigation-Bcx7hr9L.mjs";
3
3
  export { AppNavigation, NavMenu, NavMenuItem, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, findItemByHref, hasActiveDescendant, isNavItemActive, normalizePath, useSidebar };
@@ -1,13 +1,13 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
1
+ import { c as SidebarSeparator, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, p as SidebarMenuButton, r as SidebarFooter, t as Sidebar, u as SidebarMenu, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "./sidebar-DWnxQWQ8.mjs";
2
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
3
+ import { n as EASE } from "./motion-DOrRbLmy.mjs";
3
4
  import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./collapsible/index.mjs";
4
- import { c as SidebarSeparator, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, p as SidebarMenuButton, r as SidebarFooter, t as Sidebar, u as SidebarMenu, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "./sidebar-sbqOOFii.mjs";
5
- import { n as EASE } from "./motion-DvGRWdsm.mjs";
5
+ import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
6
6
  import { ChevronRight, ExternalLinkIcon } from "lucide-react";
7
7
  import { createContext, memo, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
8
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
9
  import { motion } from "motion/react";
10
- //#region src/components/features/app-navigation/nav-menu/active-path.ts
10
+ // src/components/features/app-navigation/nav-menu/active-path.ts
11
11
  /**
12
12
  * Pure active-path predicates for the nav menu.
13
13
  *
@@ -85,8 +85,7 @@ function findItemByHref(items, href) {
85
85
  }
86
86
  return null;
87
87
  }
88
- //#endregion
89
- //#region src/components/features/app-navigation/nav-menu/nav-menu-context.ts
88
+ // src/components/features/app-navigation/nav-menu/nav-menu-context.ts
90
89
  const NavMenuContext = createContext(null);
91
90
  const NavMenuProvider = NavMenuContext.Provider;
92
91
  function useNavMenuContext() {
@@ -109,8 +108,7 @@ function childLevel(item, level) {
109
108
  function getNavItemKey(item, level) {
110
109
  return `${item.type}:${item.title}:${item.href ?? ""}:${level}`;
111
110
  }
112
- //#endregion
113
- //#region src/components/features/app-navigation/nav-menu/parts.tsx
111
+ // src/components/features/app-navigation/nav-menu/parts.tsx
114
112
  const NAV_STYLES = {
115
113
  /**
116
114
  * Side inset of every row. With the button's own px-2 it puts each icon 16px
@@ -158,8 +156,7 @@ function NavSidebarMenuButton({ ref, item, isActive, disableTooltip, className,
158
156
  });
159
157
  }
160
158
  NavSidebarMenuButton.displayName = "NavSidebarMenuButton";
161
- //#endregion
162
- //#region src/components/features/app-navigation/nav-menu/nav-menu-item.tsx
159
+ // src/components/features/app-navigation/nav-menu/nav-menu-item.tsx
163
160
  const COLLAPSIBLE_CONTAINER_VARIANTS = {
164
161
  hidden: { opacity: 0 },
165
162
  visible: {
@@ -428,8 +425,7 @@ function NavLeafItem({ item, level }) {
428
425
  item.showSeparatorBelow && /* @__PURE__ */ jsx(SidebarSeparator, { className: "my-2" })
429
426
  ] });
430
427
  }
431
- //#endregion
432
- //#region src/components/features/app-navigation/nav-menu/nav-menu.tsx
428
+ // src/components/features/app-navigation/nav-menu/nav-menu.tsx
433
429
  function NavMenu({ ref, className, items, currentPath, linkComponent: LinkComp = "a", overrideState, itemClassName, activeItemClassName, disableTooltip, closeOnNavigation, ...props }) {
434
430
  const pathname = currentPath;
435
431
  const { state: sidebarState, isIconRail: sidebarIsIconRail, isMobile, closeForNavigation, setOpen } = useSidebar();
@@ -524,8 +520,7 @@ function NavMenu({ ref, className, items, currentPath, linkComponent: LinkComp =
524
520
  });
525
521
  }
526
522
  NavMenu.displayName = "NavMenu";
527
- //#endregion
528
- //#region src/components/features/app-navigation/app-navigation.tsx
523
+ // src/components/features/app-navigation/app-navigation.tsx
529
524
  /** Skeleton that mirrors the project nav layout: Home, separator, 6 items, separator, Project Settings */
530
525
  function NavSkeleton() {
531
526
  return /* @__PURE__ */ jsxs("ul", {
@@ -608,5 +603,4 @@ function AppNavigation({ navItems, title, closeOnNavigation, defaultOpen, curren
608
603
  })]
609
604
  });
610
605
  }
611
- //#endregion
612
606
  export { hasActiveDescendant as a, findItemByHref as i, NavMenu as n, isNavItemActive as o, NavMenuItem as r, normalizePath as s, AppNavigation as t };
@@ -1,12 +1,12 @@
1
- import { t as cn } from "../utils-Bu32wN-x.mjs";
2
- import { t as Button } from "../button-DoMqfQLu.mjs";
3
- import { t as Icon } from "../icon-wrapper-DKfJlJd0.mjs";
4
- import { t as Dialog } from "../dialog-Gu70fban.mjs";
5
- import { a as DropdownMenuRadioGroup, c as DropdownMenuTrigger, i as DropdownMenuLabel, o as DropdownMenuRadioItem, r as DropdownMenuContent, s as DropdownMenuSeparator, t as DropdownMenu } from "../dropdown-menu-b8zY5Cs6.mjs";
6
- import { t as Tooltip } from "../tooltip-DhbN1BDK.mjs";
7
- import { n as EASE, t as DURATION } from "../motion-DvGRWdsm.mjs";
1
+ import { t as Tooltip } from "../tooltip-OIySjJWW.mjs";
2
+ import { t as Icon } from "../icon-wrapper-CIk2th6R.mjs";
3
+ import { t as cn } from "../utils-CTIuhCOs.mjs";
4
+ import { a as DropdownMenuRadioGroup, c as DropdownMenuTrigger, i as DropdownMenuLabel, o as DropdownMenuRadioItem, r as DropdownMenuContent, s as DropdownMenuSeparator, t as DropdownMenu } from "../dropdown-menu-CjgTr8Ab.mjs";
5
+ import { t as Button } from "../button-Dj6cKrWj.mjs";
6
+ import { n as EASE, t as DURATION } from "../motion-DOrRbLmy.mjs";
7
+ import { t as Dialog } from "../dialog-C8RXIQYm.mjs";
8
8
  import { Archive, ArchiveRestore, ArrowDown, ArrowRight, ArrowUp, Box, Brain, Check, ChevronDown, ClipboardList, Clock, Code, Copy, Database, Download, Globe, Laptop, Link, MapPin, MessagesSquare, Mic, MicOff, Network, PanelLeft, Plus, RotateCw, Send, Server, Shield, Split, Square, SquarePen, Trash2, X } from "lucide-react";
9
- import { Fragment, createContext, useCallback, useContext, useMemo, useRef, useState } from "react";
9
+ import { Fragment, createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { AnimatePresence, motion } from "motion/react";
12
12
  import { EditorContent } from "@tiptap/react";
@@ -14,7 +14,7 @@ import { DEFAULT_ASSISTANT_CONFIG as DEFAULT_ASSISTANT_CONFIG$1, activeToolPart,
14
14
  import { code } from "@streamdown/code";
15
15
  import { Streamdown } from "streamdown";
16
16
  import "streamdown/styles.css";
17
- //#region src/components/features/assistant/context/assistant-config.tsx
17
+ // src/components/features/assistant/context/assistant-config.tsx
18
18
  /**
19
19
  * Framework-agnostic link renderer: internal routes (`/…`) render as a plain
20
20
  * same-tab anchor, everything else opens in a new tab. Hosts override
@@ -57,8 +57,7 @@ function AssistantConfigProvider({ config, children }) {
57
57
  function useAssistantConfig() {
58
58
  return useContext(AssistantConfigContext);
59
59
  }
60
- //#endregion
61
- //#region src/components/features/assistant/components/composer/equalizer.tsx
60
+ // src/components/features/assistant/components/composer/equalizer.tsx
62
61
  function Equalizer({ frequencyData, className }) {
63
62
  return /* @__PURE__ */ jsx("div", {
64
63
  className: `flex h-4 items-center justify-center gap-[3px] ${className ?? ""}`,
@@ -74,8 +73,7 @@ function Equalizer({ frequencyData, className }) {
74
73
  }, i))
75
74
  });
76
75
  }
77
- //#endregion
78
- //#region src/components/features/assistant/components/composer/model-selector.tsx
76
+ // src/components/features/assistant/components/composer/model-selector.tsx
79
77
  function ModelSelector({ modelId, effortId, onModelChange, onEffortChange, disabled }) {
80
78
  const { modelSelector } = useAssistantConfig();
81
79
  if (!modelSelector) return null;
@@ -141,8 +139,7 @@ function ModelSelector({ modelId, effortId, onModelChange, onEffortChange, disab
141
139
  ]
142
140
  })] });
143
141
  }
144
- //#endregion
145
- //#region src/components/features/assistant/components/composer/prompt-card.tsx
142
+ // src/components/features/assistant/components/composer/prompt-card.tsx
146
143
  function PromptCard({ editor, isReady, canRetry, onSend, onStop, onRetry, modelId, effortId, onModelChange, onEffortChange, speechSupported, isListening, frequencyData, onMicToggle, density = "default", className }) {
147
144
  const { modelSelector } = useAssistantConfig();
148
145
  const compact = density === "compact";
@@ -246,8 +243,7 @@ function PromptCard({ editor, isReady, canRetry, onSend, onStop, onRetry, modelI
246
243
  })]
247
244
  });
248
245
  }
249
- //#endregion
250
- //#region src/components/features/assistant/hooks/use-turn-rail.ts
246
+ // src/components/features/assistant/hooks/use-turn-rail.ts
251
247
  /**
252
248
  * Tracks conversation "turns" (submitted prompts) for the right-edge rail:
253
249
  * derives the turn list, follows which turn is in view as you scroll, and
@@ -309,14 +305,12 @@ function useTurnRail(messages, containerRef, userScrolledUpRef) {
309
305
  scrollToTurn
310
306
  };
311
307
  }
312
- //#endregion
313
- //#region src/components/features/assistant/types.ts
308
+ // src/components/features/assistant/types.ts
314
309
  /** The message part type that carries a pick-one question (see {@link AssistantChoicesData}). */
315
310
  const CHOICES_PART_TYPE = "data-choices";
316
311
  /** The message part type that carries a plan the person can approve (see {@link AssistantPlanData}). */
317
312
  const PLAN_PART_TYPE = "data-plan";
318
- //#endregion
319
- //#region src/components/features/assistant/utils/sanitize-html.ts
313
+ // src/components/features/assistant/utils/sanitize-html.ts
320
314
  const HTML_ESCAPE_MAP = {
321
315
  "&": "&",
322
316
  "<": "&lt;",
@@ -350,8 +344,7 @@ function sanitizeUserHtml(raw) {
350
344
  const result = Array.from(doc.body.childNodes).map(walk).join("");
351
345
  return result.startsWith("<p>") ? result : `<p>${result}</p>`;
352
346
  }
353
- //#endregion
354
- //#region src/components/features/assistant/components/message/choice-chips.tsx
347
+ // src/components/features/assistant/components/message/choice-chips.tsx
355
348
  const CHOICE_ICONS = {
356
349
  clock: Clock,
357
350
  container: Box,
@@ -403,8 +396,7 @@ function AssistantChoiceChips({ data, onChoose, disabled = false }) {
403
396
  })]
404
397
  });
405
398
  }
406
- //#endregion
407
- //#region src/components/features/assistant/components/message/loading-dots.tsx
399
+ // src/components/features/assistant/components/message/loading-dots.tsx
408
400
  /** Three bouncing dots — the assistant's "thinking" indicator. */
409
401
  function LoadingDots({ className }) {
410
402
  return /* @__PURE__ */ jsxs("div", {
@@ -416,8 +408,7 @@ function LoadingDots({ className }) {
416
408
  ]
417
409
  });
418
410
  }
419
- //#endregion
420
- //#region src/components/features/assistant/components/message/plan-card.tsx
411
+ // src/components/features/assistant/components/message/plan-card.tsx
421
412
  /** How a few common kinds read to someone who doesn't know their API names. */
422
413
  const KIND_LABELS = {
423
414
  HTTPProxy: "Load balancer",
@@ -486,15 +477,29 @@ function timeOf(iso) {
486
477
  minute: "2-digit"
487
478
  });
488
479
  }
480
+ /** The longest delay a browser timer honours; a longer one fires at once. */
481
+ const MAX_TIMER_MS = 2 ** 31 - 1;
489
482
  /**
490
483
  * A plan the assistant settled, as a card: one row per resource with what it
491
484
  * does, the YAML and differences on request, and the person's two answers.
492
485
  * Nothing is created until they click Approve, and the card then shows how it
493
486
  * went.
494
487
  */
495
- function AssistantPlanCard({ data, latest = true, canApprove = false, onApprove, onChange, now = Date.now() }) {
488
+ function AssistantPlanCard({ data, latest = true, canApprove = false, onApprove, onChange, now }) {
496
489
  const [showYaml, setShowYaml] = useState(false);
497
- const state = cardState(data, latest, now);
490
+ const [clock, setClock] = useState(() => Date.now());
491
+ const state = cardState(data, latest, now ?? clock);
492
+ useEffect(() => {
493
+ if (now !== void 0 || state !== "pending") return;
494
+ const wait = Date.parse(data.expiresAt) - Date.now();
495
+ if (Number.isNaN(wait) || wait > MAX_TIMER_MS) return;
496
+ const timer = setTimeout(() => setClock(Date.now()), Math.max(wait, 0) + 50);
497
+ return () => clearTimeout(timer);
498
+ }, [
499
+ now,
500
+ state,
501
+ data.expiresAt
502
+ ]);
498
503
  const badge = BADGES[state];
499
504
  const approvedAt = timeOf(data.approvedAt);
500
505
  const appliedNames = new Set((data.applied ?? []).map((a) => `${a.kind}/${a.name}`));
@@ -648,8 +653,7 @@ function AssistantPlanCard({ data, latest = true, canApprove = false, onApprove,
648
653
  ]
649
654
  });
650
655
  }
651
- //#endregion
652
- //#region src/components/features/assistant/components/message/thinking-block.tsx
656
+ // src/components/features/assistant/components/message/thinking-block.tsx
653
657
  function ThinkingBlock({ text, isStreaming = false }) {
654
658
  const [open, setOpen] = useState(false);
655
659
  const startedAt = useRef(null);
@@ -686,8 +690,7 @@ function ThinkingBlock({ text, isStreaming = false }) {
686
690
  })]
687
691
  });
688
692
  }
689
- //#endregion
690
- //#region src/components/features/assistant/components/message/assistant-message.tsx
693
+ // src/components/features/assistant/components/message/assistant-message.tsx
691
694
  /** Streamdown overrides shared by both densities (code surfaces). */
692
695
  const STREAMDOWN_BASE_CLASSES = "**:data-[streamdown='code-block-body']:bg-card **:data-[streamdown='inline-code']:bg-card dark:**:data-[streamdown='inline-code']:bg-accent **:data-[streamdown='inline-code']:border";
693
696
  /**
@@ -756,13 +759,13 @@ function AssistantMessage({ msg, isLastMessage, status, density = "default", onC
756
759
  }, i);
757
760
  if (part.type === "data-plan") {
758
761
  const { id, data } = part;
759
- const latest = latestPlanId === void 0 || latestPlanId === id;
762
+ const latest = !id || latestPlanId === void 0 || latestPlanId === id;
760
763
  return /* @__PURE__ */ jsx(AssistantPlanCard, {
761
764
  data,
762
765
  latest,
763
- canApprove: canApprovePlan && latest && onApprovePlan !== void 0,
764
- onApprove: () => onApprovePlan?.(id),
765
- onChange: () => onChangePlan?.(id)
766
+ canApprove: canApprovePlan && latest && id !== void 0 && onApprovePlan !== void 0,
767
+ onApprove: () => id && onApprovePlan?.(id),
768
+ onChange: () => id && onChangePlan?.(id)
766
769
  }, i);
767
770
  }
768
771
  if (isToolUIPart(part) && part.state === "output-available" && renderToolOutput) {
@@ -864,8 +867,7 @@ function MessageActions({ msg }) {
864
867
  })]
865
868
  });
866
869
  }
867
- //#endregion
868
- //#region src/components/features/assistant/components/message/user-message.tsx
870
+ // src/components/features/assistant/components/message/user-message.tsx
869
871
  /** A user's message — a right-aligned bubble rendering the sanitized input HTML. */
870
872
  function UserMessage({ html, density = "default" }) {
871
873
  return /* @__PURE__ */ jsx("div", {
@@ -879,8 +881,7 @@ function UserMessage({ html, density = "default" }) {
879
881
  })
880
882
  });
881
883
  }
882
- //#endregion
883
- //#region src/components/features/assistant/components/conversation/scroll-to-bottom-button.tsx
884
+ // src/components/features/assistant/components/conversation/scroll-to-bottom-button.tsx
884
885
  /** Floating chevron above the composer; jumps to the latest message. */
885
886
  function ScrollToBottomButton({ show, onClick }) {
886
887
  return /* @__PURE__ */ jsx(AnimatePresence, { children: show && /* @__PURE__ */ jsx(motion.button, {
@@ -910,8 +911,7 @@ function ScrollToBottomButton({ show, onClick }) {
910
911
  })
911
912
  }) });
912
913
  }
913
- //#endregion
914
- //#region src/components/features/assistant/components/conversation/turn-rail.tsx
914
+ // src/components/features/assistant/components/conversation/turn-rail.tsx
915
915
  /**
916
916
  * Right-edge rail: ticks (one per submitted prompt) when idle; morphs into a
917
917
  * compact, clickable prompt list on hover. The in-view turn is highlighted.
@@ -937,8 +937,7 @@ function TurnRail({ turns, activeId, onJump }) {
937
937
  })
938
938
  });
939
939
  }
940
- //#endregion
941
- //#region src/components/features/assistant/components/conversation/conversation.tsx
940
+ // src/components/features/assistant/components/conversation/conversation.tsx
942
941
  function Conversation({ messages, status, error, htmlByUserMsgIndex, containerRef, bottomRef, userScrolledUpRef, footer, density = "default", onChoose, onApprovePlan, onChangePlan }) {
943
942
  const compact = density === "compact";
944
943
  const [showScrollButton, setShowScrollButton] = useState(false);
@@ -1087,8 +1086,7 @@ function newestPlanId(messages) {
1087
1086
  }
1088
1087
  }
1089
1088
  }
1090
- //#endregion
1091
- //#region src/components/features/assistant/components/brain-glyph.tsx
1089
+ // src/components/features/assistant/components/brain-glyph.tsx
1092
1090
  /**
1093
1091
  * Decorative brain/sunburst glyph for the assistant empty-state greeting (per
1094
1092
  * Figma). Follows the Datum logo's theming: canyon-clay (#bf9595) in light,
@@ -1109,8 +1107,7 @@ function BrainGlyph({ className }) {
1109
1107
  })
1110
1108
  });
1111
1109
  }
1112
- //#endregion
1113
- //#region src/components/features/assistant/components/empty-state.tsx
1110
+ // src/components/features/assistant/components/empty-state.tsx
1114
1111
  function EmptyState({ name, isReady, onSuggestion, compact = false, children }) {
1115
1112
  const { greeting, suggestions } = useAssistantConfig();
1116
1113
  return /* @__PURE__ */ jsxs("div", {
@@ -1180,8 +1177,7 @@ function EmptyState({ name, isReady, onSuggestion, compact = false, children })
1180
1177
  ]
1181
1178
  });
1182
1179
  }
1183
- //#endregion
1184
- //#region src/components/features/assistant/components/sidebar/chat-rail.tsx
1180
+ // src/components/features/assistant/components/sidebar/chat-rail.tsx
1185
1181
  function ChatRail({ historyOpen, onNewChat, onToggleHistory }) {
1186
1182
  const iconClass = "text-foreground hover:bg-card hover:text-primary flex size-9 items-center justify-center rounded-md border border-transparent transition-colors";
1187
1183
  return /* @__PURE__ */ jsxs("div", {
@@ -1216,8 +1212,7 @@ function ChatRail({ historyOpen, onNewChat, onToggleHistory }) {
1216
1212
  })]
1217
1213
  });
1218
1214
  }
1219
- //#endregion
1220
- //#region src/components/features/assistant/components/sidebar/history-panel.tsx
1215
+ // src/components/features/assistant/components/sidebar/history-panel.tsx
1221
1216
  function downloadChat(chat) {
1222
1217
  const blob = new Blob([chatToMarkdown(chat)], { type: "text/markdown" });
1223
1218
  const url = URL.createObjectURL(blob);
@@ -1403,8 +1398,7 @@ function HistoryPanel({ chatList, currentChatId, onLoadChat, onDeleteChat, onArc
1403
1398
  ]
1404
1399
  });
1405
1400
  }
1406
- //#endregion
1407
- //#region src/components/features/assistant/components/assistant-workspace.tsx
1401
+ // src/components/features/assistant/components/assistant-workspace.tsx
1408
1402
  const HEADER_BUTTON_CLASS = "text-muted-foreground hover:text-foreground hover:bg-accent shrink-0 rounded-md p-1.5 transition-colors";
1409
1403
  const PANEL_SPRING = {
1410
1404
  type: "spring",
@@ -1590,5 +1584,4 @@ function AssistantWorkspace({ orientation = "horizontal", onClose, config, userN
1590
1584
  })
1591
1585
  });
1592
1586
  }
1593
- //#endregion
1594
1587
  export { AssistantChoiceChips, AssistantConfigProvider, AssistantMessage, AssistantPlanCard, AssistantWorkspace, BrainGlyph, CHOICES_PART_TYPE, ChatRail, Conversation, DEFAULT_ASSISTANT_CONFIG, EmptyState, Equalizer, HistoryPanel, LoadingDots, ModelSelector, PLAN_PART_TYPE, PromptCard, ScrollToBottomButton, ThinkingBlock, TurnRail, UserMessage, defaultRenderLink, formatRelativeTime, sanitizeUserHtml, useAssistantConfig, useTurnRail };
@@ -1,2 +1 @@
1
- import { t as Autocomplete } from "../autocomplete-BxtzndxZ.mjs";
2
- export { Autocomplete };
1
+ export { t as Autocomplete } from "../autocomplete-fSSmRLYK.mjs";
@@ -1,11 +1,11 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as ResponsivePopover } from "./responsive-popover-8VcjBM2d.mjs";
3
- import { t as LoaderOverlay } from "./loader-overlay-DD94azZX.mjs";
4
- import { n as OptionList, t as useOptionPicker } from "./use-option-picker-s2bUYwXC.mjs";
1
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
2
+ import { n as OptionList, t as useOptionPicker } from "./use-option-picker-CBMU72LU.mjs";
3
+ import { t as ResponsivePopover } from "./responsive-popover-DJYd8lOK.mjs";
4
+ import { t as LoaderOverlay } from "./loader-overlay-JvB8IQo3.mjs";
5
5
  import { ChevronDown } from "lucide-react";
6
6
  import * as React from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
- //#region src/components/features/autocomplete/trigger.tsx
8
+ // src/components/features/autocomplete/trigger.tsx
9
9
  function Trigger({ ref, selectedOption, createdValue, renderValue, placeholder, loading, disabled, open, id, className, ...rest }) {
10
10
  let displayContent;
11
11
  if (selectedOption) displayContent = renderValue ? renderValue(selectedOption) : /* @__PURE__ */ jsx("span", {
@@ -40,8 +40,7 @@ function Trigger({ ref, selectedOption, createdValue, renderValue, placeholder,
40
40
  });
41
41
  }
42
42
  Trigger.displayName = "AutocompleteTrigger";
43
- //#endregion
44
- //#region src/components/features/autocomplete/autocomplete.tsx
43
+ // src/components/features/autocomplete/autocomplete.tsx
45
44
  /**
46
45
  * Autocomplete - A searchable select component
47
46
  *
@@ -128,5 +127,4 @@ function Autocomplete({ options, value, onValueChange, onSearchChange, searchPla
128
127
  });
129
128
  }
130
129
  Autocomplete.displayName = "Autocomplete";
131
- //#endregion
132
130
  export { Autocomplete as t };
@@ -1,13 +1,13 @@
1
- import { t as cn } from "../utils-Bu32wN-x.mjs";
2
- import { t as Button } from "../button-DoMqfQLu.mjs";
3
- import { t as Input } from "../input-j4tbmYYz.mjs";
4
- import { t as ResponsivePopover } from "../responsive-popover-8VcjBM2d.mjs";
5
- import { t as Tooltip } from "../tooltip-DhbN1BDK.mjs";
6
- import { n as OptionList, t as useOptionPicker } from "../use-option-picker-s2bUYwXC.mjs";
1
+ import { t as cn } from "../utils-CTIuhCOs.mjs";
2
+ import { t as Button } from "../button-Dj6cKrWj.mjs";
3
+ import { t as Input } from "../input-DsT5qkJn.mjs";
4
+ import { n as OptionList, t as useOptionPicker } from "../use-option-picker-CBMU72LU.mjs";
5
+ import { t as ResponsivePopover } from "../responsive-popover-DJYd8lOK.mjs";
6
+ import { t as Tooltip } from "../tooltip-OIySjJWW.mjs";
7
7
  import { AlertCircle, Loader2, X } from "lucide-react";
8
8
  import * as React from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
- //#region src/components/features/autosearch/autosearch.tsx
10
+ // src/components/features/autosearch/autosearch.tsx
11
11
  /**
12
12
  * Autosearch - Search-first input with dropdown results
13
13
  *
@@ -184,8 +184,7 @@ function Autosearch({ options = [], value, onValueChange, onSearch, searchDeboun
184
184
  });
185
185
  }
186
186
  Autosearch.displayName = "Autosearch";
187
- //#endregion
188
- //#region src/components/features/autosearch/autosearch.types.ts
187
+ // src/components/features/autosearch/autosearch.types.ts
189
188
  /**
190
189
  * Default function to extract searchable text from an option.
191
190
  * Combines label, description, and value for comprehensive searching.
@@ -197,5 +196,4 @@ function defaultAutosearchValue(option) {
197
196
  option.value
198
197
  ].filter(Boolean).join(" ");
199
198
  }
200
- //#endregion
201
199
  export { Autosearch, defaultAutosearchValue };
@@ -1,8 +1,8 @@
1
- import { t as cn } from "../utils-Bu32wN-x.mjs";
1
+ import { t as cn } from "../utils-CTIuhCOs.mjs";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
5
- //#region ../shadcn/ui/avatar.tsx
5
+ // ../shadcn/ui/avatar.tsx
6
6
  function Avatar({ className, ...props }) {
7
7
  return /* @__PURE__ */ jsx(AvatarPrimitive.Root, {
8
8
  "data-slot": "avatar",
@@ -24,5 +24,4 @@ function AvatarFallback({ className, ...props }) {
24
24
  ...props
25
25
  });
26
26
  }
27
- //#endregion
28
27
  export { Avatar, AvatarFallback, AvatarImage };
@@ -1,2 +1 @@
1
- import { n as avatarStackVariants, t as AvatarStack } from "../avatar-stack-BUcsjhA6.mjs";
2
- export { AvatarStack, avatarStackVariants };
1
+ export { t as AvatarStack, n as avatarStackVariants } from "../avatar-stack-2ow672bR.mjs";
@@ -1,10 +1,10 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
1
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
2
2
  import { Avatar, AvatarFallback, AvatarImage } from "./avatar/index.mjs";
3
- import { t as Tooltip } from "./tooltip-DhbN1BDK.mjs";
3
+ import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
4
4
  import { cva } from "class-variance-authority";
5
5
  import "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
- //#region src/components/features/avatar-stack/avatar-stack.tsx
7
+ // src/components/features/avatar-stack/avatar-stack.tsx
8
8
  const avatarStackVariants = cva("flex", {
9
9
  variants: {
10
10
  orientation: {
@@ -49,5 +49,4 @@ function AvatarStack({ className, orientation, avatars, spacing, maxAvatarsAmoun
49
49
  }) : null]
50
50
  });
51
51
  }
52
- //#endregion
53
52
  export { avatarStackVariants as n, AvatarStack as t };
@@ -1,2 +1 @@
1
- import { n as badgeVariants, t as Badge } from "../badge-DOZUr5DV.mjs";
2
- export { Badge, badgeVariants };
1
+ export { t as Badge, n as badgeVariants } from "../badge-D7A6GfWn.mjs";
@@ -1,8 +1,8 @@
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 "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
- //#region src/components/base/badge/badge.tsx
5
+ // src/components/base/badge/badge.tsx
6
6
  /**
7
7
  * Datum Badge Component
8
8
  * Similar to Button component but with badge-specific styling
@@ -179,5 +179,4 @@ function Badge({ className, type, theme, ...props }) {
179
179
  ...props
180
180
  });
181
181
  }
182
- //#endregion
183
182
  export { badgeVariants as n, Badge as t };
@@ -1,2 +1 @@
1
- import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "../breadcrumb-DmdhC8bE.mjs";
2
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
1
+ export { t as Breadcrumb, n as BreadcrumbEllipsis, r as BreadcrumbItem, i as BreadcrumbLink, a as BreadcrumbList, o as BreadcrumbPage, s as BreadcrumbSeparator } from "../breadcrumb-D97jAZ2N.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 { ChevronRight, MoreHorizontal } from "lucide-react";
3
3
  import "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { Slot } from "@radix-ui/react-slot";
6
- //#region ../shadcn/ui/breadcrumb.tsx
6
+ // ../shadcn/ui/breadcrumb.tsx
7
7
  function Breadcrumb({ ...props }) {
8
8
  return /* @__PURE__ */ jsx("nav", {
9
9
  "aria-label": "breadcrumb",
@@ -65,5 +65,4 @@ function BreadcrumbEllipsis({ className, ...props }) {
65
65
  })]
66
66
  });
67
67
  }
68
- //#endregion
69
68
  export { BreadcrumbList as a, BreadcrumbLink as i, BreadcrumbEllipsis as n, BreadcrumbPage as o, BreadcrumbItem as r, BreadcrumbSeparator as s, Breadcrumb as t };
@@ -1,3 +1,3 @@
1
- import { n as buttonVariants, t as Button } from "../button-DoMqfQLu.mjs";
2
- import { t as LinkButton } from "../button-CDPui_Ov.mjs";
1
+ import { n as buttonVariants, t as Button } from "../button-Dj6cKrWj.mjs";
2
+ import { t as LinkButton } from "../button-BU8TEbJ5.mjs";
3
3
  export { Button, LinkButton, buttonVariants };
@@ -1,8 +1,8 @@
1
- import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { n as buttonVariants, r as getIconOnlyClass } from "./button-DoMqfQLu.mjs";
1
+ import { n as buttonVariants, r as getIconOnlyClass } from "./button-Dj6cKrWj.mjs";
2
+ import { t as cn } from "./utils-CTIuhCOs.mjs";
3
3
  import "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
5
- //#region src/components/base/button/link-button.tsx
5
+ // src/components/base/button/link-button.tsx
6
6
  function LinkButton({ ref, className, type, theme, size, block, icon, iconPosition = "left", children, as: Component = "a", href, ...props }) {
7
7
  const isIconOnly = icon && !children;
8
8
  const linkProps = Component === "a" ? { href } : { to: href };
@@ -24,5 +24,4 @@ function LinkButton({ ref, className, type, theme, size, block, icon, iconPositi
24
24
  });
25
25
  }
26
26
  LinkButton.displayName = "LinkButton";
27
- //#endregion
28
27
  export { LinkButton as t };
@@ -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 * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { Slot } from "@radix-ui/react-slot";
6
- //#region ../shadcn/ui/button.tsx
6
+ // ../shadcn/ui/button.tsx
7
7
  /**
8
8
  * Vanilla shadcn/ui Button Component
9
9
  * Pure shadcn button without Datum customizations
@@ -43,5 +43,4 @@ const Button = React.forwardRef(({ className, variant, size, asChild = false, ..
43
43
  });
44
44
  });
45
45
  Button.displayName = "Button";
46
- //#endregion
47
46
  export { buttonVariants as n, Button as t };