@datum-cloud/datum-ui 3.7.0 → 3.8.0

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 (196) 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-DyNZwlSG.mjs} +14 -20
  7. package/dist/assistant/index.mjs +57 -63
  8. package/dist/autocomplete/index.mjs +1 -2
  9. package/dist/{autocomplete-BxtzndxZ.mjs → autocomplete-D0zAcT78.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 +181 -1
  15. package/dist/breadcrumb/index.mjs +1 -2
  16. package/dist/{breadcrumb-DmdhC8bE.mjs → breadcrumb-D97jAZ2N.mjs} +2 -3
  17. package/dist/button/index.mjs +2 -2
  18. package/dist/{button-CsdF61EI.mjs → button-C57mkFkS.mjs} +2 -3
  19. package/dist/{button-DoMqfQLu.mjs → button-Cn4KagBO.mjs} +4 -6
  20. package/dist/{button-CDPui_Ov.mjs → button-IK-Lnu_9.mjs} +3 -4
  21. package/dist/button-group/index.mjs +1 -2
  22. package/dist/{button-group-DFrTH4L8.mjs → button-group-C3GKo-0p.mjs} +3 -4
  23. package/dist/calendar/index.mjs +4 -5
  24. package/dist/{calendar-date-picker-DPvVAW2I.mjs → calendar-date-picker-CknZM6a2.mjs} +3 -4
  25. package/dist/card/index.mjs +1 -2
  26. package/dist/{card-save-bar-BZzNnKYj.mjs → card-save-bar-Te8jf-ie.mjs} +5 -8
  27. package/dist/chart/index.mjs +1 -2
  28. package/dist/{chart-EgzTS28l.mjs → chart-BsGsx2jb.mjs} +2 -3
  29. package/dist/checkbox/index.mjs +1 -2
  30. package/dist/checkbox-BAo5sbHk.mjs +84 -0
  31. package/dist/{close.icon-DdXKQ4m0.mjs → close.icon-BCPmH4nN.mjs} +2 -3
  32. package/dist/code-editor/index.mjs +1 -2
  33. package/dist/{col-BYGWTB4j.mjs → col-CYHIfPJq.mjs} +5 -9
  34. package/dist/collapsible/index.mjs +1 -7
  35. package/dist/collapsible-B-KP3JZ-.mjs +104 -0
  36. package/dist/command/index.mjs +1 -2
  37. package/dist/{command-C0aGIYnQ.mjs → command-B0be-zU5.mjs} +3 -4
  38. package/dist/components/base/checkbox/checkbox.d.ts +11 -3
  39. package/dist/components/base/collapsible/collapsible.d.ts +28 -0
  40. package/dist/components/base/collapsible/index.d.ts +1 -1
  41. package/dist/components/base/radio-group/radio-group.d.ts +11 -5
  42. package/dist/components/base/spinner/index.d.ts +1 -1
  43. package/dist/components/base/spinner/spinner.d.ts +11 -0
  44. package/dist/components/base/switch/switch.d.ts +6 -1
  45. package/dist/components/base/typography/typography.d.ts +1 -1
  46. package/dist/components/features/_shared/copy-state-icon.d.ts +12 -0
  47. package/dist/components/features/_shared/index.d.ts +2 -0
  48. package/dist/components/features/_shared/motion-chip.d.ts +293 -0
  49. package/dist/components/features/assistant/components/message/plan-card.d.ts +1 -1
  50. package/dist/components/icons/spinner.icon.d.ts +17 -3
  51. package/dist/copy-state-icon-DMvXXsZm.mjs +61 -0
  52. package/dist/data-table/index.mjs +1 -2
  53. package/dist/{data-table-CJiQQ6TM.mjs → data-table-CpBwO8Ea.mjs} +39 -66
  54. package/dist/date-picker/index.mjs +3 -3
  55. package/dist/date-time/index.mjs +1 -2
  56. package/dist/{date-time-lZdefM4H.mjs → date-time-BBRVM9qb.mjs} +4 -6
  57. package/dist/date-time-picker/index.mjs +1 -2
  58. package/dist/{date-time-picker-CricsXgF.mjs → date-time-picker-Bc41Ixrs.mjs} +3 -4
  59. package/dist/{date-time-range-picker-DM4AIvQ1.mjs → date-time-range-picker-yy1Acntn.mjs} +36 -59
  60. package/dist/dialog/index.mjs +1 -2
  61. package/dist/{dialog-Gu70fban.mjs → dialog-C8RXIQYm.mjs} +4 -5
  62. package/dist/{dialog-CmkrpaYy.mjs → dialog-D6sDXaH6.mjs} +2 -3
  63. package/dist/dropdown/index.mjs +1 -2
  64. package/dist/{dropdown-Xvduih96.mjs → dropdown-DR9j3Ni_.mjs} +3 -4
  65. package/dist/{dropdown-menu-b8zY5Cs6.mjs → dropdown-menu-CjgTr8Ab.mjs} +2 -3
  66. package/dist/dropzone/index.mjs +1 -2
  67. package/dist/{dropzone-ihksfjN2.mjs → dropzone-qKYfSe7o.mjs} +6 -8
  68. package/dist/empty-content/index.mjs +1 -2
  69. package/dist/{empty-content-CmuVcU0P.mjs → empty-content-CTMHak36.mjs} +8 -13
  70. package/dist/form/adapters/conform/index.mjs +4 -6
  71. package/dist/form/adapters/rhf/index.mjs +6 -9
  72. package/dist/form/index.mjs +2 -2
  73. package/dist/form/stepper/index.mjs +11 -16
  74. package/dist/{form-D4R6C609.mjs → form-DTaVgDSV.mjs} +64 -89
  75. package/dist/{form-context-DzB2a-dw.mjs → form-context-BRzt53M5.mjs} +1 -2
  76. package/dist/grid/index.mjs +1 -2
  77. package/dist/grouped-table/index.mjs +1 -2
  78. package/dist/{grouped-table-fHguJz9W.mjs → grouped-table-Dl6DclbV.mjs} +17 -25
  79. package/dist/hooks/index.mjs +4 -4
  80. package/dist/{hooks-CwZ6hyI1.mjs → hooks-WVJbyhCz.mjs} +1 -2
  81. package/dist/hover-card/index.mjs +1 -2
  82. package/dist/{hover-card-BNOE5vT5.mjs → hover-card-DSt1lZGg.mjs} +3 -5
  83. package/dist/{icon-wrapper-DKfJlJd0.mjs → icon-wrapper-CIk2th6R.mjs} +1 -2
  84. package/dist/icons/index.mjs +3 -3
  85. package/dist/index.mjs +80 -80
  86. package/dist/input/index.mjs +1 -2
  87. package/dist/{input-j4tbmYYz.mjs → input-DsT5qkJn.mjs} +3 -4
  88. package/dist/{input-DR-XbgpD.mjs → input-Wl1K48ca.mjs} +2 -3
  89. package/dist/input-group/index.mjs +1 -2
  90. package/dist/{input-group-DieA8aBt.mjs → input-group-CCzvJIZM.mjs} +5 -6
  91. package/dist/input-number/index.mjs +1 -2
  92. package/dist/{input-number-TXmW-X9o.mjs → input-number-DF-bfIo8.mjs} +5 -6
  93. package/dist/input-with-addons/index.mjs +2 -3
  94. package/dist/label/index.mjs +1 -2
  95. package/dist/{label-Bk6FXsju.mjs → label-BR1V3Imy.mjs} +3 -5
  96. package/dist/{layers-DWYdrGmC.mjs → layers-DLUbkJtt.mjs} +26 -27
  97. package/dist/loader-overlay/index.mjs +1 -2
  98. package/dist/{loader-overlay-DD94azZX.mjs → loader-overlay-DP0pvHuG.mjs} +3 -4
  99. package/dist/logo/index.mjs +2 -2
  100. package/dist/logo/themed/index.mjs +3 -4
  101. package/dist/{logo-C3FxD7jb.mjs → logo-CkzKra6H.mjs} +2 -3
  102. package/dist/{logo-text-Dpm5O6Kg.mjs → logo-text-B54YiEte.mjs} +6 -11
  103. package/dist/logs/fixtures/index.mjs +2 -4
  104. package/dist/logs/index.mjs +68 -87
  105. package/dist/map/index.mjs +1 -2
  106. package/dist/{map-leaflet-imports-S3kx8Q-S.mjs → map-leaflet-imports-Xdz9Xiaf.mjs} +1 -2
  107. package/dist/mobile-sheet/index.mjs +1 -2
  108. package/dist/{mobile-sheet-9TootJGg.mjs → mobile-sheet-1995HYY_.mjs} +6 -9
  109. package/dist/more-actions/index.mjs +2 -2
  110. package/dist/{more-actions-C3DYWO0a.mjs → more-actions-BlSOVwa8.mjs} +6 -7
  111. package/dist/{motion-DvGRWdsm.mjs → motion-DOrRbLmy.mjs} +1 -2
  112. package/dist/motion-chip-BczV7spP.mjs +52 -0
  113. package/dist/multi-select/index.mjs +1 -2
  114. package/dist/{multi-select-CF0Yq5yf.mjs → multi-select-C2cBrqXl.mjs} +61 -57
  115. package/dist/nprogress/index.mjs +1 -2
  116. package/dist/page-title/index.mjs +1 -2
  117. package/dist/{page-title-ipRWEOeM.mjs → page-title-Djl3LvPT.mjs} +2 -3
  118. package/dist/picker/index.mjs +2 -2
  119. package/dist/{picker-BoKXW6_s.mjs → picker-DC3GErYg.mjs} +14 -25
  120. package/dist/popover/index.mjs +1 -2
  121. package/dist/{popover-X82NwhX9.mjs → popover-7YxyP_W0.mjs} +3 -5
  122. package/dist/radio-group/index.mjs +1 -2
  123. package/dist/radio-group-Boxi2hm0.mjs +83 -0
  124. package/dist/responsive-dropdown/index.mjs +1 -2
  125. package/dist/{responsive-dropdown-C_KKgLbH.mjs → responsive-dropdown-DsWgpE_i.mjs} +5 -6
  126. package/dist/responsive-popover/index.mjs +1 -2
  127. package/dist/{responsive-popover-8VcjBM2d.mjs → responsive-popover-DJYd8lOK.mjs} +5 -6
  128. package/dist/rich-text-content/index.mjs +1 -2
  129. package/dist/{rich-text-content-DNonBD39.mjs → rich-text-content-BiIIowBU.mjs} +2 -3
  130. package/dist/rich-text-editor/index.mjs +2 -2
  131. package/dist/{rich-text-editor-CP1YyxMR.mjs → rich-text-editor-BUz06s-b.mjs} +14 -22
  132. package/dist/select/index.mjs +1 -2
  133. package/dist/{select-D4pk9e2d.mjs → select-DemYhwnG.mjs} +3 -4
  134. package/dist/{select-daE2Nn0Z.mjs → select-jgK6wyXj.mjs} +2 -3
  135. package/dist/separator/index.mjs +1 -2
  136. package/dist/{separator-vbPD_WFQ.mjs → separator-DNiiN2BN.mjs} +2 -3
  137. package/dist/settings-nav/index.mjs +1 -2
  138. package/dist/{settings-nav-Hf3GrCGv.mjs → settings-nav-CCZdPD-x.mjs} +2 -3
  139. package/dist/sheet/index.mjs +2 -2
  140. package/dist/{sheet-DHn6C_rs.mjs → sheet-DEpEJ_Rk.mjs} +4 -5
  141. package/dist/{sheet-DXCZyMHI.mjs → sheet-DYPtVIb2.mjs} +2 -3
  142. package/dist/sidebar/index.mjs +1 -2
  143. package/dist/{sidebar-sbqOOFii.mjs → sidebar-DWnxQWQ8.mjs} +13 -18
  144. package/dist/skeleton/index.mjs +3 -4
  145. package/dist/{skeleton-DFExK4GX.mjs → skeleton-CDPoo7-M.mjs} +2 -3
  146. package/dist/spinner/index.mjs +1 -2
  147. package/dist/spinner-DSlDJdWl.mjs +23 -0
  148. package/dist/spinner.icon-BiUnMAxw.mjs +104 -0
  149. package/dist/stepper/index.mjs +1 -2
  150. package/dist/{stepper-dNvkipop.mjs → stepper-ZipxpzWY.mjs} +10 -11
  151. package/dist/switch/index.mjs +1 -2
  152. package/dist/switch-IduVwiPZ.mjs +114 -0
  153. package/dist/table/index.mjs +2 -3
  154. package/dist/tabs/index.mjs +3 -4
  155. package/dist/tag-input/index.mjs +1 -2
  156. package/dist/{tag-input-c9OvWTSe.mjs → tag-input-a3ktkGrH.mjs} +46 -43
  157. package/dist/task-queue/index.mjs +1 -2
  158. package/dist/{task-queue-dropdown-CHPP5WIm.mjs → task-queue-dropdown-DuCAAybs.mjs} +39 -59
  159. package/dist/textarea/index.mjs +1 -2
  160. package/dist/{textarea-DiSGxCBO.mjs → textarea-CvhdK6JY.mjs} +3 -4
  161. package/dist/{textarea-CCxpXJdh.mjs → textarea-D36SE4ki.mjs} +2 -3
  162. package/dist/theme/index.mjs +1 -2
  163. package/dist/{themes-Ba2bajuF.mjs → themes-BoxnQbbu.mjs} +8 -10
  164. package/dist/time-picker/index.mjs +1 -2
  165. package/dist/{time-picker-DQlc2gKW.mjs → time-picker-B_am4eAK.mjs} +3 -4
  166. package/dist/{to-api-format-QuJ81vQ9.mjs → to-api-format-DyImCzCn.mjs} +15 -23
  167. package/dist/toast/index.mjs +2 -2
  168. package/dist/{toast-BUPlDkN3.mjs → toast-CizxCEcK.mjs} +4 -6
  169. package/dist/tooltip/index.mjs +1 -2
  170. package/dist/{tooltip-DhbN1BDK.mjs → tooltip-OIySjJWW.mjs} +3 -5
  171. package/dist/transfer/index.mjs +1 -2
  172. package/dist/{transfer-DsshYgIk.mjs → transfer-DGUeAQUL.mjs} +8 -14
  173. package/dist/{types-agDpVXBG.mjs → types-ChINrR8H.mjs} +7 -11
  174. package/dist/typography/index.mjs +1 -2
  175. package/dist/{typography-B1bpHKmV.mjs → typography-XFfN6PGD.mjs} +2 -3
  176. package/dist/{use-breakpoint-CwiUJSmk.mjs → use-breakpoint-zY_JYINK.mjs} +1 -2
  177. package/dist/{use-controllable-state-Dna7u3r9.mjs → use-controllable-state-DLeVgbAb.mjs} +1 -2
  178. package/dist/{use-copy-to-clipboard-DZDq_85T.mjs → use-copy-to-clipboard-CWKWHLxI.mjs} +1 -2
  179. package/dist/{use-debounced-search-input-yu_F0QBt.mjs → use-debounced-search-input-B4u28iLx.mjs} +1 -2
  180. package/dist/{use-deprecation-warning-DXrGc0jX.mjs → use-deprecation-warning-BS1V4IS5.mjs} +1 -2
  181. package/dist/{use-display-touched-CMEEv7aT.mjs → use-display-touched-BSq0Ninl.mjs} +3 -5
  182. package/dist/{use-option-picker-s2bUYwXC.mjs → use-option-picker-DXY2SNnT.mjs} +6 -9
  183. package/dist/{use-toast-Bpq0yJIT.mjs → use-toast-CZAZeS95.mjs} +3 -5
  184. package/dist/utils/index.mjs +3 -3
  185. package/dist/{utils-CA4QEIJ8.mjs → utils-CPJ5MCfd.mjs} +1 -2
  186. package/dist/{utils-Bu32wN-x.mjs → utils-CTIuhCOs.mjs} +1 -2
  187. package/dist/visually-hidden/index.mjs +1 -2
  188. package/dist/{visuallyhidden-D7L_qs8b.mjs → visuallyhidden-Mg4OsZ-l.mjs} +1 -2
  189. package/dist/{zod-helpers-YEhVo2S-.mjs → zod-helpers-JcfFVJJd.mjs} +1 -2
  190. package/package.json +20 -23
  191. package/dist/badge-DOZUr5DV.mjs +0 -183
  192. package/dist/checkbox-C6P12fio.mjs +0 -30
  193. package/dist/radio-group-LduBVTnh.mjs +0 -45
  194. package/dist/spinner-C5Xv-i2C.mjs +0 -14
  195. package/dist/spinner.icon-BYUMQ8H-.mjs +0 -48
  196. package/dist/switch-BaR-Vna4.mjs +0 -34
@@ -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-DyNZwlSG.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";
3
- 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";
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";
4
+ import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
6
5
  import { ChevronRight, ExternalLinkIcon } from "lucide-react";
7
6
  import { createContext, memo, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
8
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
8
  import { motion } from "motion/react";
10
- //#region src/components/features/app-navigation/nav-menu/active-path.ts
9
+ import { Content, Root, Trigger } from "@radix-ui/react-collapsible";
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: {
@@ -287,7 +284,7 @@ function NavCollapsibleItem({ item, level }) {
287
284
  item.showSeparatorAbove && /* @__PURE__ */ jsx(SidebarSeparator, { className: "my-2" }),
288
285
  /* @__PURE__ */ jsx(SidebarMenu, {
289
286
  className: rowInsetFor(level),
290
- children: /* @__PURE__ */ jsx(Collapsible, {
287
+ children: /* @__PURE__ */ jsx(Root, {
291
288
  asChild: true,
292
289
  open: panelOpen,
293
290
  onOpenChange: (open) => {
@@ -307,7 +304,7 @@ function NavCollapsibleItem({ item, level }) {
307
304
  className: "group/collapsible",
308
305
  children: /* @__PURE__ */ jsxs(SidebarMenuItem, {
309
306
  className: NAV_STYLES.menuItem,
310
- children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
307
+ children: [/* @__PURE__ */ jsx(Trigger, {
311
308
  asChild: true,
312
309
  className: "w-full",
313
310
  children: /* @__PURE__ */ jsxs(NavSidebarMenuButton, {
@@ -331,7 +328,7 @@ function NavCollapsibleItem({ item, level }) {
331
328
  })
332
329
  ]
333
330
  })
334
- }), /* @__PURE__ */ jsx(CollapsibleContent, {
331
+ }), /* @__PURE__ */ jsx(Content, {
335
332
  className: "data-[state=open]:animate-collapsible-down data-[state=closed]:animate-collapsible-up overflow-hidden group-data-[collapsible=icon]:hidden",
336
333
  children: /* @__PURE__ */ jsx("div", {
337
334
  style: {
@@ -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,13 @@
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";
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";
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 CopyStateIcon } from "../copy-state-icon-DMvXXsZm.mjs";
6
+ import { t as Button } from "../button-Cn4KagBO.mjs";
7
+ import { n as EASE, t as DURATION } from "../motion-DOrRbLmy.mjs";
8
+ import { t as Dialog } from "../dialog-C8RXIQYm.mjs";
9
+ import { Archive, ArchiveRestore, ArrowDown, ArrowRight, ArrowUp, Box, Brain, Check, ChevronDown, ClipboardList, Clock, Code, Database, Download, Globe, Laptop, Link, MapPin, MessagesSquare, Mic, MicOff, Network, PanelLeft, Plus, RotateCw, Send, Server, Shield, Split, Square, SquarePen, Trash2, X } from "lucide-react";
10
+ import { Fragment, createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
10
11
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
12
  import { AnimatePresence, motion } from "motion/react";
12
13
  import { EditorContent } from "@tiptap/react";
@@ -14,7 +15,7 @@ import { DEFAULT_ASSISTANT_CONFIG as DEFAULT_ASSISTANT_CONFIG$1, activeToolPart,
14
15
  import { code } from "@streamdown/code";
15
16
  import { Streamdown } from "streamdown";
16
17
  import "streamdown/styles.css";
17
- //#region src/components/features/assistant/context/assistant-config.tsx
18
+ // src/components/features/assistant/context/assistant-config.tsx
18
19
  /**
19
20
  * Framework-agnostic link renderer: internal routes (`/…`) render as a plain
20
21
  * same-tab anchor, everything else opens in a new tab. Hosts override
@@ -57,8 +58,7 @@ function AssistantConfigProvider({ config, children }) {
57
58
  function useAssistantConfig() {
58
59
  return useContext(AssistantConfigContext);
59
60
  }
60
- //#endregion
61
- //#region src/components/features/assistant/components/composer/equalizer.tsx
61
+ // src/components/features/assistant/components/composer/equalizer.tsx
62
62
  function Equalizer({ frequencyData, className }) {
63
63
  return /* @__PURE__ */ jsx("div", {
64
64
  className: `flex h-4 items-center justify-center gap-[3px] ${className ?? ""}`,
@@ -74,8 +74,7 @@ function Equalizer({ frequencyData, className }) {
74
74
  }, i))
75
75
  });
76
76
  }
77
- //#endregion
78
- //#region src/components/features/assistant/components/composer/model-selector.tsx
77
+ // src/components/features/assistant/components/composer/model-selector.tsx
79
78
  function ModelSelector({ modelId, effortId, onModelChange, onEffortChange, disabled }) {
80
79
  const { modelSelector } = useAssistantConfig();
81
80
  if (!modelSelector) return null;
@@ -141,8 +140,7 @@ function ModelSelector({ modelId, effortId, onModelChange, onEffortChange, disab
141
140
  ]
142
141
  })] });
143
142
  }
144
- //#endregion
145
- //#region src/components/features/assistant/components/composer/prompt-card.tsx
143
+ // src/components/features/assistant/components/composer/prompt-card.tsx
146
144
  function PromptCard({ editor, isReady, canRetry, onSend, onStop, onRetry, modelId, effortId, onModelChange, onEffortChange, speechSupported, isListening, frequencyData, onMicToggle, density = "default", className }) {
147
145
  const { modelSelector } = useAssistantConfig();
148
146
  const compact = density === "compact";
@@ -246,8 +244,7 @@ function PromptCard({ editor, isReady, canRetry, onSend, onStop, onRetry, modelI
246
244
  })]
247
245
  });
248
246
  }
249
- //#endregion
250
- //#region src/components/features/assistant/hooks/use-turn-rail.ts
247
+ // src/components/features/assistant/hooks/use-turn-rail.ts
251
248
  /**
252
249
  * Tracks conversation "turns" (submitted prompts) for the right-edge rail:
253
250
  * derives the turn list, follows which turn is in view as you scroll, and
@@ -309,14 +306,12 @@ function useTurnRail(messages, containerRef, userScrolledUpRef) {
309
306
  scrollToTurn
310
307
  };
311
308
  }
312
- //#endregion
313
- //#region src/components/features/assistant/types.ts
309
+ // src/components/features/assistant/types.ts
314
310
  /** The message part type that carries a pick-one question (see {@link AssistantChoicesData}). */
315
311
  const CHOICES_PART_TYPE = "data-choices";
316
312
  /** The message part type that carries a plan the person can approve (see {@link AssistantPlanData}). */
317
313
  const PLAN_PART_TYPE = "data-plan";
318
- //#endregion
319
- //#region src/components/features/assistant/utils/sanitize-html.ts
314
+ // src/components/features/assistant/utils/sanitize-html.ts
320
315
  const HTML_ESCAPE_MAP = {
321
316
  "&": "&",
322
317
  "<": "&lt;",
@@ -350,8 +345,7 @@ function sanitizeUserHtml(raw) {
350
345
  const result = Array.from(doc.body.childNodes).map(walk).join("");
351
346
  return result.startsWith("<p>") ? result : `<p>${result}</p>`;
352
347
  }
353
- //#endregion
354
- //#region src/components/features/assistant/components/message/choice-chips.tsx
348
+ // src/components/features/assistant/components/message/choice-chips.tsx
355
349
  const CHOICE_ICONS = {
356
350
  clock: Clock,
357
351
  container: Box,
@@ -403,8 +397,7 @@ function AssistantChoiceChips({ data, onChoose, disabled = false }) {
403
397
  })]
404
398
  });
405
399
  }
406
- //#endregion
407
- //#region src/components/features/assistant/components/message/loading-dots.tsx
400
+ // src/components/features/assistant/components/message/loading-dots.tsx
408
401
  /** Three bouncing dots — the assistant's "thinking" indicator. */
409
402
  function LoadingDots({ className }) {
410
403
  return /* @__PURE__ */ jsxs("div", {
@@ -416,8 +409,7 @@ function LoadingDots({ className }) {
416
409
  ]
417
410
  });
418
411
  }
419
- //#endregion
420
- //#region src/components/features/assistant/components/message/plan-card.tsx
412
+ // src/components/features/assistant/components/message/plan-card.tsx
421
413
  /** How a few common kinds read to someone who doesn't know their API names. */
422
414
  const KIND_LABELS = {
423
415
  HTTPProxy: "Load balancer",
@@ -486,15 +478,29 @@ function timeOf(iso) {
486
478
  minute: "2-digit"
487
479
  });
488
480
  }
481
+ /** The longest delay a browser timer honours; a longer one fires at once. */
482
+ const MAX_TIMER_MS = 2 ** 31 - 1;
489
483
  /**
490
484
  * A plan the assistant settled, as a card: one row per resource with what it
491
485
  * does, the YAML and differences on request, and the person's two answers.
492
486
  * Nothing is created until they click Approve, and the card then shows how it
493
487
  * went.
494
488
  */
495
- function AssistantPlanCard({ data, latest = true, canApprove = false, onApprove, onChange, now = Date.now() }) {
489
+ function AssistantPlanCard({ data, latest = true, canApprove = false, onApprove, onChange, now }) {
496
490
  const [showYaml, setShowYaml] = useState(false);
497
- const state = cardState(data, latest, now);
491
+ const [clock, setClock] = useState(() => Date.now());
492
+ const state = cardState(data, latest, now ?? clock);
493
+ useEffect(() => {
494
+ if (now !== void 0 || state !== "pending") return;
495
+ const wait = Date.parse(data.expiresAt) - Date.now();
496
+ if (Number.isNaN(wait) || wait > MAX_TIMER_MS) return;
497
+ const timer = setTimeout(() => setClock(Date.now()), Math.max(wait, 0) + 50);
498
+ return () => clearTimeout(timer);
499
+ }, [
500
+ now,
501
+ state,
502
+ data.expiresAt
503
+ ]);
498
504
  const badge = BADGES[state];
499
505
  const approvedAt = timeOf(data.approvedAt);
500
506
  const appliedNames = new Set((data.applied ?? []).map((a) => `${a.kind}/${a.name}`));
@@ -648,8 +654,7 @@ function AssistantPlanCard({ data, latest = true, canApprove = false, onApprove,
648
654
  ]
649
655
  });
650
656
  }
651
- //#endregion
652
- //#region src/components/features/assistant/components/message/thinking-block.tsx
657
+ // src/components/features/assistant/components/message/thinking-block.tsx
653
658
  function ThinkingBlock({ text, isStreaming = false }) {
654
659
  const [open, setOpen] = useState(false);
655
660
  const startedAt = useRef(null);
@@ -686,8 +691,7 @@ function ThinkingBlock({ text, isStreaming = false }) {
686
691
  })]
687
692
  });
688
693
  }
689
- //#endregion
690
- //#region src/components/features/assistant/components/message/assistant-message.tsx
694
+ // src/components/features/assistant/components/message/assistant-message.tsx
691
695
  /** Streamdown overrides shared by both densities (code surfaces). */
692
696
  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
697
  /**
@@ -756,13 +760,13 @@ function AssistantMessage({ msg, isLastMessage, status, density = "default", onC
756
760
  }, i);
757
761
  if (part.type === "data-plan") {
758
762
  const { id, data } = part;
759
- const latest = latestPlanId === void 0 || latestPlanId === id;
763
+ const latest = !id || latestPlanId === void 0 || latestPlanId === id;
760
764
  return /* @__PURE__ */ jsx(AssistantPlanCard, {
761
765
  data,
762
766
  latest,
763
- canApprove: canApprovePlan && latest && onApprovePlan !== void 0,
764
- onApprove: () => onApprovePlan?.(id),
765
- onChange: () => onChangePlan?.(id)
767
+ canApprove: canApprovePlan && latest && id !== void 0 && onApprovePlan !== void 0,
768
+ onApprove: () => id && onApprovePlan?.(id),
769
+ onChange: () => id && onChangePlan?.(id)
766
770
  }, i);
767
771
  }
768
772
  if (isToolUIPart(part) && part.state === "output-available" && renderToolOutput) {
@@ -840,12 +844,12 @@ function MessageActions({ msg }) {
840
844
  onClick: handleCopy,
841
845
  "aria-label": "Copy message",
842
846
  className: "hover:text-foreground rounded p-1 transition-colors",
843
- children: copied ? /* @__PURE__ */ jsx(Icon, {
844
- icon: Check,
845
- className: "size-3.5"
846
- }) : /* @__PURE__ */ jsx(Icon, {
847
- icon: Copy,
848
- className: "size-3.5"
847
+ children: /* @__PURE__ */ jsx(CopyStateIcon, {
848
+ copied,
849
+ className: "size-3.5",
850
+ size: 16,
851
+ strokeWidth: 1,
852
+ absoluteStrokeWidth: true
849
853
  })
850
854
  })
851
855
  }), /* @__PURE__ */ jsx(Tooltip, {
@@ -864,8 +868,7 @@ function MessageActions({ msg }) {
864
868
  })]
865
869
  });
866
870
  }
867
- //#endregion
868
- //#region src/components/features/assistant/components/message/user-message.tsx
871
+ // src/components/features/assistant/components/message/user-message.tsx
869
872
  /** A user's message — a right-aligned bubble rendering the sanitized input HTML. */
870
873
  function UserMessage({ html, density = "default" }) {
871
874
  return /* @__PURE__ */ jsx("div", {
@@ -879,8 +882,7 @@ function UserMessage({ html, density = "default" }) {
879
882
  })
880
883
  });
881
884
  }
882
- //#endregion
883
- //#region src/components/features/assistant/components/conversation/scroll-to-bottom-button.tsx
885
+ // src/components/features/assistant/components/conversation/scroll-to-bottom-button.tsx
884
886
  /** Floating chevron above the composer; jumps to the latest message. */
885
887
  function ScrollToBottomButton({ show, onClick }) {
886
888
  return /* @__PURE__ */ jsx(AnimatePresence, { children: show && /* @__PURE__ */ jsx(motion.button, {
@@ -910,8 +912,7 @@ function ScrollToBottomButton({ show, onClick }) {
910
912
  })
911
913
  }) });
912
914
  }
913
- //#endregion
914
- //#region src/components/features/assistant/components/conversation/turn-rail.tsx
915
+ // src/components/features/assistant/components/conversation/turn-rail.tsx
915
916
  /**
916
917
  * Right-edge rail: ticks (one per submitted prompt) when idle; morphs into a
917
918
  * compact, clickable prompt list on hover. The in-view turn is highlighted.
@@ -937,8 +938,7 @@ function TurnRail({ turns, activeId, onJump }) {
937
938
  })
938
939
  });
939
940
  }
940
- //#endregion
941
- //#region src/components/features/assistant/components/conversation/conversation.tsx
941
+ // src/components/features/assistant/components/conversation/conversation.tsx
942
942
  function Conversation({ messages, status, error, htmlByUserMsgIndex, containerRef, bottomRef, userScrolledUpRef, footer, density = "default", onChoose, onApprovePlan, onChangePlan }) {
943
943
  const compact = density === "compact";
944
944
  const [showScrollButton, setShowScrollButton] = useState(false);
@@ -1087,8 +1087,7 @@ function newestPlanId(messages) {
1087
1087
  }
1088
1088
  }
1089
1089
  }
1090
- //#endregion
1091
- //#region src/components/features/assistant/components/brain-glyph.tsx
1090
+ // src/components/features/assistant/components/brain-glyph.tsx
1092
1091
  /**
1093
1092
  * Decorative brain/sunburst glyph for the assistant empty-state greeting (per
1094
1093
  * Figma). Follows the Datum logo's theming: canyon-clay (#bf9595) in light,
@@ -1109,8 +1108,7 @@ function BrainGlyph({ className }) {
1109
1108
  })
1110
1109
  });
1111
1110
  }
1112
- //#endregion
1113
- //#region src/components/features/assistant/components/empty-state.tsx
1111
+ // src/components/features/assistant/components/empty-state.tsx
1114
1112
  function EmptyState({ name, isReady, onSuggestion, compact = false, children }) {
1115
1113
  const { greeting, suggestions } = useAssistantConfig();
1116
1114
  return /* @__PURE__ */ jsxs("div", {
@@ -1180,8 +1178,7 @@ function EmptyState({ name, isReady, onSuggestion, compact = false, children })
1180
1178
  ]
1181
1179
  });
1182
1180
  }
1183
- //#endregion
1184
- //#region src/components/features/assistant/components/sidebar/chat-rail.tsx
1181
+ // src/components/features/assistant/components/sidebar/chat-rail.tsx
1185
1182
  function ChatRail({ historyOpen, onNewChat, onToggleHistory }) {
1186
1183
  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
1184
  return /* @__PURE__ */ jsxs("div", {
@@ -1216,8 +1213,7 @@ function ChatRail({ historyOpen, onNewChat, onToggleHistory }) {
1216
1213
  })]
1217
1214
  });
1218
1215
  }
1219
- //#endregion
1220
- //#region src/components/features/assistant/components/sidebar/history-panel.tsx
1216
+ // src/components/features/assistant/components/sidebar/history-panel.tsx
1221
1217
  function downloadChat(chat) {
1222
1218
  const blob = new Blob([chatToMarkdown(chat)], { type: "text/markdown" });
1223
1219
  const url = URL.createObjectURL(blob);
@@ -1403,8 +1399,7 @@ function HistoryPanel({ chatList, currentChatId, onLoadChat, onDeleteChat, onArc
1403
1399
  ]
1404
1400
  });
1405
1401
  }
1406
- //#endregion
1407
- //#region src/components/features/assistant/components/assistant-workspace.tsx
1402
+ // src/components/features/assistant/components/assistant-workspace.tsx
1408
1403
  const HEADER_BUTTON_CLASS = "text-muted-foreground hover:text-foreground hover:bg-accent shrink-0 rounded-md p-1.5 transition-colors";
1409
1404
  const PANEL_SPRING = {
1410
1405
  type: "spring",
@@ -1590,5 +1585,4 @@ function AssistantWorkspace({ orientation = "horizontal", onClose, config, userN
1590
1585
  })
1591
1586
  });
1592
1587
  }
1593
- //#endregion
1594
1588
  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-D0zAcT78.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-DXY2SNnT.mjs";
3
+ import { t as ResponsivePopover } from "./responsive-popover-DJYd8lOK.mjs";
4
+ import { t as LoaderOverlay } from "./loader-overlay-DP0pvHuG.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-Cn4KagBO.mjs";
3
+ import { t as Input } from "../input-DsT5qkJn.mjs";
4
+ import { n as OptionList, t as useOptionPicker } from "../use-option-picker-DXY2SNnT.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 };