@devalok/shilp-sutra 0.27.2 → 0.29.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 (250) hide show
  1. package/dist/_chunks/badge-group.js +299 -0
  2. package/dist/_chunks/framer.js +1915 -1980
  3. package/dist/_chunks/keybinding.js +4 -5
  4. package/dist/_chunks/primitives.js +3198 -3272
  5. package/dist/_chunks/sonner.js +29 -31
  6. package/dist/_chunks/stat-row.js +110 -131
  7. package/dist/_chunks/tiptap.js +42 -78
  8. package/dist/_chunks/tree-view.js +138 -149
  9. package/dist/_chunks/typing-indicator.js +565 -0
  10. package/dist/_chunks/use-calendar.js +416 -439
  11. package/dist/_chunks/vendor-client.js +977 -814
  12. package/dist/_chunks/vendor-utils.js +5 -5
  13. package/dist/ai/block-renderer.js +22 -22
  14. package/dist/ai/blocks/loading.d.ts.map +1 -1
  15. package/dist/ai/command-bar.d.ts.map +1 -1
  16. package/dist/ai/command-bar.js +241 -263
  17. package/dist/ai/conversation.d.ts.map +1 -1
  18. package/dist/ai/conversation.js +87 -107
  19. package/dist/composed/activity-feed.d.ts +2 -0
  20. package/dist/composed/activity-feed.d.ts.map +1 -1
  21. package/dist/composed/activity-feed.js +118 -90
  22. package/dist/composed/avatar-group.d.ts +1 -0
  23. package/dist/composed/avatar-group.d.ts.map +1 -1
  24. package/dist/composed/avatar-group.js +91 -67
  25. package/dist/composed/bulk-action-bar.d.ts.map +1 -1
  26. package/dist/composed/bulk-action-bar.js +29 -28
  27. package/dist/composed/command-palette.d.ts.map +1 -1
  28. package/dist/composed/command-palette.js +99 -113
  29. package/dist/composed/content-card.js +1 -1
  30. package/dist/composed/date-picker/calendar-grid.d.ts.map +1 -1
  31. package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
  32. package/dist/composed/date-picker/date-range-picker.d.ts.map +1 -1
  33. package/dist/composed/date-picker/date-time-picker.d.ts.map +1 -1
  34. package/dist/composed/date-picker/time-picker.d.ts.map +1 -1
  35. package/dist/composed/deadline-indicator.d.ts.map +1 -1
  36. package/dist/composed/deadline-indicator.js +29 -28
  37. package/dist/composed/error-boundary.d.ts.map +1 -1
  38. package/dist/composed/error-boundary.js +30 -27
  39. package/dist/composed/extensions/file-attachment.d.ts.map +1 -1
  40. package/dist/composed/file-preview.d.ts.map +1 -1
  41. package/dist/composed/file-preview.js +261 -271
  42. package/dist/composed/filter-bar.d.ts.map +1 -1
  43. package/dist/composed/filter-bar.js +49 -48
  44. package/dist/composed/form-section.d.ts.map +1 -1
  45. package/dist/composed/form-section.js +12 -11
  46. package/dist/composed/global-loading.js +1 -1
  47. package/dist/composed/index.js +63 -63
  48. package/dist/composed/inline-edit.d.ts.map +1 -1
  49. package/dist/composed/inline-edit.js +55 -54
  50. package/dist/composed/markdown-viewer.d.ts.map +1 -1
  51. package/dist/composed/markdown-viewer.js +44 -43
  52. package/dist/composed/master-detail.d.ts.map +1 -1
  53. package/dist/composed/master-detail.js +35 -34
  54. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  55. package/dist/composed/multi-select-popover.js +64 -64
  56. package/dist/composed/page-header.d.ts.map +1 -1
  57. package/dist/composed/page-header.js +31 -37
  58. package/dist/composed/priority-indicator.d.ts.map +1 -1
  59. package/dist/composed/priority-indicator.js +37 -36
  60. package/dist/composed/rich-text-editor.d.ts.map +1 -1
  61. package/dist/composed/rich-text-editor.js +287 -306
  62. package/dist/composed/schedule-view.js +62 -62
  63. package/dist/composed/status-badge.d.ts +4 -2
  64. package/dist/composed/status-badge.d.ts.map +1 -1
  65. package/dist/composed/status-badge.js +58 -45
  66. package/dist/shell/app-command-palette.d.ts.map +1 -1
  67. package/dist/shell/app-command-palette.js +93 -93
  68. package/dist/shell/bottom-navbar.d.ts.map +1 -1
  69. package/dist/shell/bottom-navbar.js +21 -20
  70. package/dist/shell/index.js +18 -18
  71. package/dist/shell/notification-center.d.ts.map +1 -1
  72. package/dist/shell/notification-center.js +96 -95
  73. package/dist/shell/notification-preferences.d.ts.map +1 -1
  74. package/dist/shell/notification-preferences.js +82 -85
  75. package/dist/shell/sidebar.js +59 -60
  76. package/dist/shell/top-bar.d.ts.map +1 -1
  77. package/dist/shell/top-bar.js +103 -103
  78. package/dist/tailwind/index.cjs +37 -4
  79. package/dist/tailwind/preset.d.ts.map +1 -1
  80. package/dist/tailwind/preset.js +38 -5
  81. package/dist/tokens/primitives.css +10 -0
  82. package/dist/tokens/semantic.css +70 -7
  83. package/dist/ui/accordion.d.ts +5 -2
  84. package/dist/ui/accordion.d.ts.map +1 -1
  85. package/dist/ui/accordion.js +44 -39
  86. package/dist/ui/alert-dialog.js +57 -57
  87. package/dist/ui/alert.d.ts +1 -1
  88. package/dist/ui/alert.d.ts.map +1 -1
  89. package/dist/ui/alert.js +30 -29
  90. package/dist/ui/aspect-ratio.js +4 -4
  91. package/dist/ui/autocomplete.js +56 -56
  92. package/dist/ui/avatar.js +2 -2
  93. package/dist/ui/badge-group.d.ts +22 -0
  94. package/dist/ui/badge-group.d.ts.map +1 -0
  95. package/dist/ui/badge-group.js +8 -0
  96. package/dist/ui/badge-indicator.d.ts +32 -0
  97. package/dist/ui/badge-indicator.d.ts.map +1 -0
  98. package/dist/ui/badge-indicator.js +54 -0
  99. package/dist/ui/badge.d.ts +27 -24
  100. package/dist/ui/badge.d.ts.map +1 -1
  101. package/dist/ui/badge.js +13 -129
  102. package/dist/ui/banner.d.ts +1 -1
  103. package/dist/ui/banner.d.ts.map +1 -1
  104. package/dist/ui/banner.js +27 -26
  105. package/dist/ui/breadcrumb.d.ts.map +1 -1
  106. package/dist/ui/breadcrumb.js +37 -36
  107. package/dist/ui/button-group.d.ts +12 -6
  108. package/dist/ui/button-group.d.ts.map +1 -1
  109. package/dist/ui/button-group.js +18 -18
  110. package/dist/ui/button-processing.d.ts +15 -0
  111. package/dist/ui/button-processing.d.ts.map +1 -0
  112. package/dist/ui/button-processing.js +77 -0
  113. package/dist/ui/button.d.ts +50 -25
  114. package/dist/ui/button.d.ts.map +1 -1
  115. package/dist/ui/button.js +243 -127
  116. package/dist/ui/card.js +20 -21
  117. package/dist/ui/charts/index.js +499 -508
  118. package/dist/ui/chat/date-separator.d.ts +12 -0
  119. package/dist/ui/chat/date-separator.d.ts.map +1 -0
  120. package/dist/ui/chat/index.d.ts +9 -0
  121. package/dist/ui/chat/index.d.ts.map +1 -0
  122. package/dist/ui/chat/index.js +12 -0
  123. package/dist/ui/chat/message-input.d.ts +16 -0
  124. package/dist/ui/chat/message-input.d.ts.map +1 -0
  125. package/dist/ui/chat/message-list.d.ts +24 -0
  126. package/dist/ui/chat/message-list.d.ts.map +1 -0
  127. package/dist/ui/chat/message.d.ts +108 -0
  128. package/dist/ui/chat/message.d.ts.map +1 -0
  129. package/dist/ui/chat/system-message.d.ts +11 -0
  130. package/dist/ui/chat/system-message.d.ts.map +1 -0
  131. package/dist/ui/chat/typing-indicator.d.ts +14 -0
  132. package/dist/ui/chat/typing-indicator.d.ts.map +1 -0
  133. package/dist/ui/chat/unread-separator.d.ts +12 -0
  134. package/dist/ui/chat/unread-separator.d.ts.map +1 -0
  135. package/dist/ui/checkbox.js +18 -18
  136. package/dist/ui/chip.d.ts +13 -62
  137. package/dist/ui/chip.d.ts.map +1 -1
  138. package/dist/ui/chip.js +10 -109
  139. package/dist/ui/collapsible.js +4 -4
  140. package/dist/ui/color-input.d.ts +19 -5
  141. package/dist/ui/color-input.d.ts.map +1 -1
  142. package/dist/ui/color-input.js +371 -79
  143. package/dist/ui/color-swatch.js +11 -11
  144. package/dist/ui/combobox.d.ts.map +1 -1
  145. package/dist/ui/combobox.js +74 -80
  146. package/dist/ui/context-menu.d.ts.map +1 -1
  147. package/dist/ui/context-menu.js +86 -85
  148. package/dist/ui/data-table-toolbar.d.ts.map +1 -1
  149. package/dist/ui/data-table-toolbar.js +51 -57
  150. package/dist/ui/data-table.d.ts.map +1 -1
  151. package/dist/ui/data-table.js +268 -296
  152. package/dist/ui/devalok-grain.d.ts +81 -0
  153. package/dist/ui/devalok-grain.d.ts.map +1 -0
  154. package/dist/ui/devalok-grain.js +69 -0
  155. package/dist/ui/dialog.d.ts.map +1 -1
  156. package/dist/ui/dialog.js +73 -72
  157. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  158. package/dist/ui/dropdown-menu.js +93 -92
  159. package/dist/ui/file-upload.d.ts.map +1 -1
  160. package/dist/ui/file-upload.js +82 -82
  161. package/dist/ui/hover-card.js +29 -29
  162. package/dist/ui/icon-button.d.ts +7 -7
  163. package/dist/ui/icon-button.d.ts.map +1 -1
  164. package/dist/ui/icon-context.d.ts +15 -0
  165. package/dist/ui/icon-context.d.ts.map +1 -0
  166. package/dist/ui/icon-context.js +20 -0
  167. package/dist/ui/icon-group.d.ts +22 -0
  168. package/dist/ui/icon-group.d.ts.map +1 -0
  169. package/dist/ui/icon-group.js +32 -0
  170. package/dist/ui/icon.d.ts +57 -0
  171. package/dist/ui/icon.d.ts.map +1 -0
  172. package/dist/ui/icon.js +122 -0
  173. package/dist/ui/index.d.ts +8 -1
  174. package/dist/ui/index.d.ts.map +1 -1
  175. package/dist/ui/index.js +351 -329
  176. package/dist/ui/input-otp.d.ts.map +1 -1
  177. package/dist/ui/input-otp.js +21 -20
  178. package/dist/ui/input.d.ts +32 -11
  179. package/dist/ui/input.d.ts.map +1 -1
  180. package/dist/ui/input.js +149 -44
  181. package/dist/ui/label.js +1 -1
  182. package/dist/ui/lib/motion.d.ts +2 -0
  183. package/dist/ui/lib/motion.d.ts.map +1 -1
  184. package/dist/ui/lib/motion.js +13 -11
  185. package/dist/ui/lib/utils.js +1 -1
  186. package/dist/ui/menubar.d.ts.map +1 -1
  187. package/dist/ui/menubar.js +87 -86
  188. package/dist/ui/navigation-menu.d.ts.map +1 -1
  189. package/dist/ui/navigation-menu.js +23 -28
  190. package/dist/ui/number-input.d.ts.map +1 -1
  191. package/dist/ui/number-input.js +54 -53
  192. package/dist/ui/pagination.d.ts.map +1 -1
  193. package/dist/ui/pagination.js +45 -44
  194. package/dist/ui/popover.js +30 -30
  195. package/dist/ui/progress.d.ts +3 -1
  196. package/dist/ui/progress.d.ts.map +1 -1
  197. package/dist/ui/progress.js +43 -39
  198. package/dist/ui/radio.js +1 -1
  199. package/dist/ui/search-input.d.ts.map +1 -1
  200. package/dist/ui/search-input.js +47 -60
  201. package/dist/ui/segmented-control.js +1 -1
  202. package/dist/ui/select.d.ts.map +1 -1
  203. package/dist/ui/select.js +54 -53
  204. package/dist/ui/separator.js +5 -5
  205. package/dist/ui/sheet.d.ts.map +1 -1
  206. package/dist/ui/sheet.js +46 -45
  207. package/dist/ui/sidebar.d.ts.map +1 -1
  208. package/dist/ui/sidebar.js +196 -193
  209. package/dist/ui/skeleton.js +1 -1
  210. package/dist/ui/slider.js +1 -1
  211. package/dist/ui/spinner.js +74 -74
  212. package/dist/ui/stat-card.d.ts.map +1 -1
  213. package/dist/ui/stat-card.js +85 -86
  214. package/dist/ui/switch.d.ts +3 -0
  215. package/dist/ui/switch.d.ts.map +1 -1
  216. package/dist/ui/switch.js +40 -26
  217. package/dist/ui/tabs.js +43 -43
  218. package/dist/ui/text.js +1 -1
  219. package/dist/ui/textarea.js +10 -10
  220. package/dist/ui/toast.d.ts.map +1 -1
  221. package/dist/ui/toast.js +169 -169
  222. package/dist/ui/toggle-group.js +1 -1
  223. package/dist/ui/toggle.js +5 -5
  224. package/dist/ui/tooltip.js +41 -41
  225. package/dist/ui/tree-view/tree-item.d.ts.map +1 -1
  226. package/docs/components/_header.md +4 -4
  227. package/docs/components/composed/activity-feed.md +7 -0
  228. package/docs/components/composed/avatar-group.md +8 -5
  229. package/docs/components/composed/status-badge.md +14 -1
  230. package/docs/components/ui/accordion.md +5 -2
  231. package/docs/components/ui/badge-group.md +38 -0
  232. package/docs/components/ui/badge-indicator.md +40 -0
  233. package/docs/components/ui/badge.md +36 -5
  234. package/docs/components/ui/button-processing.md +15 -0
  235. package/docs/components/ui/button.md +40 -11
  236. package/docs/components/ui/chat.md +214 -0
  237. package/docs/components/ui/color-input.md +58 -4
  238. package/docs/components/ui/data-table.md +3 -0
  239. package/docs/components/ui/devalok-grain.md +55 -0
  240. package/docs/components/ui/icon-button.md +12 -5
  241. package/docs/components/ui/icon-context.md +38 -0
  242. package/docs/components/ui/icon-group.md +36 -0
  243. package/docs/components/ui/icon.md +47 -0
  244. package/docs/components/ui/input.md +32 -6
  245. package/docs/components/ui/progress.md +5 -0
  246. package/docs/components/ui/spinner.md +3 -0
  247. package/docs/components/ui/switch.md +13 -0
  248. package/llms-full.txt +724 -44
  249. package/llms.txt +38 -19
  250. package/package.json +8 -2
@@ -1,105 +1,106 @@
1
1
  "use client";
2
- import { jsxs as V, jsx as l } from "react/jsx-runtime";
3
- import * as d from "react";
4
- import { useState as P, useCallback as K } from "react";
5
- import { cn as A } from "../ui/lib/utils.js";
6
- import { IconChevronRight as M } from "@tabler/icons-react";
7
- import { Checkbox as z } from "../ui/checkbox.js";
8
- function G(t = {}) {
9
- const { defaultExpanded: h, defaultSelected: r, multiSelect: f, onSelect: g, onExpand: o } = t, [k, w] = P(
10
- new Set(h ?? [])
11
- ), [C, N] = P(
2
+ import { jsxs as A, jsx as i } from "react/jsx-runtime";
3
+ import * as l from "react";
4
+ import { useState as D, useCallback as I } from "react";
5
+ import { cn as E } from "../ui/lib/utils.js";
6
+ import { IconChevronRight as K } from "@tabler/icons-react";
7
+ import { Icon as j } from "../ui/icon.js";
8
+ import { Checkbox as L } from "../ui/checkbox.js";
9
+ function q(t = {}) {
10
+ const { defaultExpanded: x, defaultSelected: r, multiSelect: f, onSelect: v, onExpand: c } = t, [w, k] = D(
11
+ new Set(x ?? [])
12
+ ), [y, C] = D(
12
13
  new Set(r ?? [])
13
- ), s = K(
14
+ ), s = I(
14
15
  (n) => {
15
- w((c) => {
16
- const p = new Set(c);
17
- return p.has(n) ? p.delete(n) : p.add(n), o == null || o(Array.from(p)), p;
16
+ k((d) => {
17
+ const p = new Set(d);
18
+ return p.has(n) ? p.delete(n) : p.add(n), c?.(Array.from(p)), p;
18
19
  });
19
20
  },
20
- [o]
21
- ), i = K(
22
- (n, c) => {
23
- N((p) => {
21
+ [c]
22
+ ), o = I(
23
+ (n, d) => {
24
+ C((p) => {
24
25
  let m;
25
- return f && (c != null && c.ctrlKey) ? (m = new Set(p), m.has(n) ? m.delete(n) : m.add(n)) : m = /* @__PURE__ */ new Set([n]), g == null || g(Array.from(m)), m;
26
+ return f && d?.ctrlKey ? (m = new Set(p), m.has(n) ? m.delete(n) : m.add(n)) : m = /* @__PURE__ */ new Set([n]), v?.(Array.from(m)), m;
26
27
  });
27
28
  },
28
- [f, g]
29
+ [f, v]
29
30
  );
30
31
  return {
31
- expanded: k,
32
- selected: C,
32
+ expanded: w,
33
+ selected: y,
33
34
  toggle: s,
34
- select: i,
35
- isExpanded: (n) => k.has(n),
36
- isSelected: (n) => C.has(n),
37
- expandAll: (n) => w(new Set(n)),
38
- collapseAll: () => w(/* @__PURE__ */ new Set())
35
+ select: o,
36
+ isExpanded: (n) => w.has(n),
37
+ isSelected: (n) => y.has(n),
38
+ expandAll: (n) => k(new Set(n)),
39
+ collapseAll: () => k(/* @__PURE__ */ new Set())
39
40
  };
40
41
  }
41
- const j = d.forwardRef(
42
+ const R = l.forwardRef(
42
43
  ({
43
44
  itemId: t,
44
- label: h,
45
+ label: x,
45
46
  icon: r,
46
47
  secondaryLabel: f,
47
- actions: g,
48
- disabled: o = !1,
49
- children: k,
50
- depth: w = 0,
51
- className: C
52
- }, N) => {
53
- const s = H(), i = d.Children.count(k) > 0, n = s.tree.isExpanded(t), c = s.tree.isSelected(t), p = (e) => {
54
- o || s.tree.select(t, e);
48
+ actions: v,
49
+ disabled: c = !1,
50
+ children: w,
51
+ depth: k = 0,
52
+ className: y
53
+ }, C) => {
54
+ const s = M(), o = l.Children.count(w) > 0, n = s.tree.isExpanded(t), d = s.tree.isSelected(t), p = (e) => {
55
+ c || s.tree.select(t, e);
55
56
  }, m = (e) => {
56
- e.stopPropagation(), !o && s.tree.toggle(t);
57
- }, D = (e) => {
58
- o || ((e.key === "Enter" || e.key === " ") && (e.preventDefault(), s.tree.select(t)), e.key === "ArrowRight" && i && !n && (e.preventDefault(), e.stopPropagation(), s.tree.toggle(t)), e.key === "ArrowLeft" && i && n && (e.preventDefault(), e.stopPropagation(), s.tree.toggle(t)));
59
- }, x = d.useMemo(() => {
60
- if (!s.checkboxes || !i)
61
- return { checked: c, indeterminate: !1 };
62
- const e = [], u = (E) => {
63
- d.Children.forEach(E, (v) => {
64
- d.isValidElement(v) && v.props.itemId && (e.push(v.props.itemId), v.props.children && u(v.props.children));
57
+ e.stopPropagation(), !c && s.tree.toggle(t);
58
+ }, S = (e) => {
59
+ c || ((e.key === "Enter" || e.key === " ") && (e.preventDefault(), s.tree.select(t)), e.key === "ArrowRight" && o && !n && (e.preventDefault(), e.stopPropagation(), s.tree.toggle(t)), e.key === "ArrowLeft" && o && n && (e.preventDefault(), e.stopPropagation(), s.tree.toggle(t)));
60
+ }, g = l.useMemo(() => {
61
+ if (!s.checkboxes || !o)
62
+ return { checked: d, indeterminate: !1 };
63
+ const e = [], u = (a) => {
64
+ l.Children.forEach(a, (h) => {
65
+ l.isValidElement(h) && h.props.itemId && (e.push(h.props.itemId), h.props.children && u(h.props.children));
65
66
  });
66
67
  };
67
- u(k);
68
+ u(w);
68
69
  const b = e.filter(
69
- (E) => s.tree.isSelected(E)
70
+ (a) => s.tree.isSelected(a)
70
71
  ).length;
71
- return b === 0 && !c ? { checked: !1, indeterminate: !1 } : b === e.length ? { checked: !0, indeterminate: !1 } : { checked: !1, indeterminate: !0 };
72
- }, [s.checkboxes, i, k, c, s.tree]);
73
- return /* @__PURE__ */ V(
72
+ return b === 0 && !d ? { checked: !1, indeterminate: !1 } : b === e.length ? { checked: !0, indeterminate: !1 } : { checked: !1, indeterminate: !0 };
73
+ }, [s.checkboxes, o, w, d, s.tree]);
74
+ return /* @__PURE__ */ A(
74
75
  "li",
75
76
  {
76
- ref: N,
77
+ ref: C,
77
78
  role: "treeitem",
78
- "aria-expanded": i ? n : void 0,
79
- "aria-selected": c,
80
- "aria-level": w + 1,
81
- "aria-disabled": o || void 0,
79
+ "aria-expanded": o ? n : void 0,
80
+ "aria-selected": d,
81
+ "aria-level": k + 1,
82
+ "aria-disabled": c || void 0,
82
83
  className: "list-none",
83
84
  children: [
84
- /* @__PURE__ */ V(
85
+ /* @__PURE__ */ A(
85
86
  "div",
86
87
  {
87
88
  role: "presentation",
88
89
  "data-tree-item": t,
89
- tabIndex: o ? -1 : 0,
90
+ tabIndex: c ? -1 : 0,
90
91
  onClick: p,
91
- onKeyDown: D,
92
- style: { paddingLeft: w * 20 + 8 },
93
- className: A(
92
+ onKeyDown: S,
93
+ style: { paddingLeft: k * 20 + 8 },
94
+ className: E(
94
95
  "flex items-center gap-ds-02 py-ds-02 px-ds-02 rounded-ds-md cursor-pointer transition-colors duration-fast-01",
95
96
  "hover:bg-surface-raised",
96
97
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
97
- c && "bg-accent-3 text-accent-11",
98
- o && "opacity-action-disabled cursor-not-allowed pointer-events-none",
99
- C
98
+ d && "bg-accent-3 text-accent-11",
99
+ c && "opacity-action-disabled cursor-not-allowed pointer-events-none",
100
+ y
100
101
  ),
101
102
  children: [
102
- i ? /* @__PURE__ */ l(
103
+ o ? /* @__PURE__ */ i(
103
104
  "button",
104
105
  {
105
106
  type: "button",
@@ -107,57 +108,58 @@ const j = d.forwardRef(
107
108
  "aria-hidden": "true",
108
109
  onClick: m,
109
110
  className: "flex shrink-0 items-center justify-center p-0 border-0 bg-transparent cursor-pointer",
110
- children: /* @__PURE__ */ l(
111
- M,
111
+ children: /* @__PURE__ */ i(
112
+ j,
112
113
  {
113
- size: 16,
114
- className: A(
114
+ icon: K,
115
+ size: "sm",
116
+ className: E(
115
117
  "transition-transform duration-moderate-02",
116
118
  n && "rotate-90"
117
119
  )
118
120
  }
119
121
  )
120
122
  }
121
- ) : /* @__PURE__ */ l("span", { className: "inline-block w-4 shrink-0", "aria-hidden": "true" }),
122
- s.checkboxes && /* @__PURE__ */ l(
123
- z,
123
+ ) : /* @__PURE__ */ i("span", { className: "inline-block w-4 shrink-0", "aria-hidden": "true" }),
124
+ s.checkboxes && /* @__PURE__ */ i(
125
+ L,
124
126
  {
125
- checked: x.checked,
126
- indeterminate: x.indeterminate,
127
- disabled: o,
127
+ checked: g.checked,
128
+ indeterminate: g.indeterminate,
129
+ disabled: c,
128
130
  tabIndex: -1,
129
131
  onClick: (e) => e.stopPropagation(),
130
132
  onCheckedChange: () => {
131
- o || s.tree.select(t);
133
+ c || s.tree.select(t);
132
134
  },
133
135
  className: "shrink-0"
134
136
  }
135
137
  ),
136
- r && /* @__PURE__ */ l("span", { className: "flex shrink-0 items-center text-surface-fg-subtle", children: r }),
137
- /* @__PURE__ */ l("span", { className: "truncate text-ds-sm", children: h }),
138
- f && /* @__PURE__ */ l("span", { className: "ml-auto truncate text-ds-xs text-surface-fg-muted", children: f }),
139
- g && /* @__PURE__ */ l(
138
+ r && /* @__PURE__ */ i("span", { className: "flex shrink-0 items-center text-surface-fg-subtle", children: r }),
139
+ /* @__PURE__ */ i("span", { className: "truncate text-ds-sm", children: x }),
140
+ f && /* @__PURE__ */ i("span", { className: "ml-auto truncate text-ds-xs text-surface-fg-muted", children: f }),
141
+ v && /* @__PURE__ */ i(
140
142
  "span",
141
143
  {
142
144
  className: "ml-auto flex shrink-0 items-center gap-ds-01",
143
145
  onClick: (e) => e.stopPropagation(),
144
146
  role: "presentation",
145
- children: g
147
+ children: v
146
148
  }
147
149
  )
148
150
  ]
149
151
  }
150
152
  ),
151
- i && /* @__PURE__ */ l(
153
+ o && /* @__PURE__ */ i(
152
154
  "div",
153
155
  {
154
156
  role: "group",
155
- className: A(
157
+ className: E(
156
158
  "grid transition-[grid-template-rows] duration-moderate-02 ease-productive-standard",
157
159
  n ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
158
160
  ),
159
- children: /* @__PURE__ */ l("ul", { role: "group", className: "overflow-hidden m-0 p-0", children: d.Children.map(k, (e) => d.isValidElement(e) ? d.cloneElement(e, {
160
- depth: w + 1
161
+ children: /* @__PURE__ */ i("ul", { role: "group", className: "overflow-hidden m-0 p-0", children: l.Children.map(w, (e) => l.isValidElement(e) ? l.cloneElement(e, {
162
+ depth: k + 1
161
163
  }) : e) })
162
164
  }
163
165
  )
@@ -166,33 +168,33 @@ const j = d.forwardRef(
166
168
  );
167
169
  }
168
170
  );
169
- j.displayName = "TreeItem";
170
- const L = d.createContext(null);
171
- function H() {
172
- const t = d.useContext(L);
171
+ R.displayName = "TreeItem";
172
+ const T = l.createContext(null);
173
+ function M() {
174
+ const t = l.useContext(T);
173
175
  if (!t)
174
176
  throw new Error("TreeItem must be used within a <TreeView>");
175
177
  return t;
176
178
  }
177
- function q(t, h = 0) {
178
- return t.map((r) => /* @__PURE__ */ l(
179
- j,
179
+ function V(t, x = 0) {
180
+ return t.map((r) => /* @__PURE__ */ i(
181
+ R,
180
182
  {
181
183
  itemId: r.id,
182
184
  label: r.label,
183
185
  icon: r.icon,
184
186
  disabled: r.disabled,
185
- depth: h,
186
- children: r.children && r.children.length > 0 ? q(r.children, h + 1) : void 0
187
+ depth: x,
188
+ children: r.children && r.children.length > 0 ? V(r.children, x + 1) : void 0
187
189
  },
188
190
  r.id
189
191
  ));
190
192
  }
191
- function U(t) {
193
+ function z(t) {
192
194
  return Array.from(
193
195
  t.querySelectorAll("[data-tree-item]")
194
- ).filter((h) => {
195
- let r = h.parentElement;
196
+ ).filter((x) => {
197
+ let r = x.parentElement;
196
198
  for (; r && r !== t; ) {
197
199
  if (r.getAttribute("role") === "group") {
198
200
  const f = r.parentElement;
@@ -204,103 +206,90 @@ function U(t) {
204
206
  return !0;
205
207
  });
206
208
  }
207
- const B = d.forwardRef(
209
+ const G = l.forwardRef(
208
210
  ({
209
211
  items: t,
210
- defaultExpanded: h,
212
+ defaultExpanded: x,
211
213
  defaultSelected: r,
212
214
  multiSelect: f = !1,
213
- checkboxes: g = !1,
214
- onSelect: o,
215
- onExpand: k,
216
- className: w,
217
- children: C,
218
- ...N
215
+ checkboxes: v = !1,
216
+ onSelect: c,
217
+ onExpand: w,
218
+ className: k,
219
+ children: y,
220
+ ...C
219
221
  }, s) => {
220
- const i = G({
221
- defaultExpanded: h,
222
+ const o = q({
223
+ defaultExpanded: x,
222
224
  defaultSelected: r,
223
225
  multiSelect: f,
224
- onSelect: o,
225
- onExpand: k
226
- }), n = d.useRef(null), c = s ?? n, p = (x) => {
227
- var E, v, R;
228
- const e = c.current;
226
+ onSelect: c,
227
+ onExpand: w
228
+ }), n = l.useRef(null), d = s ?? n, p = (g) => {
229
+ const e = d.current;
229
230
  if (!e) return;
230
- const u = U(e), b = u.findIndex(
231
+ const u = z(e), b = u.findIndex(
231
232
  (a) => a === document.activeElement
232
233
  );
233
- switch (x.key) {
234
+ switch (g.key) {
234
235
  case "ArrowDown": {
235
- x.preventDefault();
236
- const a = u[b + 1];
237
- a == null || a.focus();
236
+ g.preventDefault(), u[b + 1]?.focus();
238
237
  break;
239
238
  }
240
239
  case "ArrowUp": {
241
- x.preventDefault();
242
- const a = u[b - 1];
243
- a == null || a.focus();
240
+ g.preventDefault(), u[b - 1]?.focus();
244
241
  break;
245
242
  }
246
243
  case "ArrowRight": {
247
244
  const a = u[b];
248
245
  if (a) {
249
- const S = a.getAttribute("data-tree-item");
250
- if (S && i.isExpanded(S)) {
251
- x.preventDefault();
252
- const y = u[b + 1];
253
- y == null || y.focus();
254
- }
246
+ const h = a.getAttribute("data-tree-item");
247
+ h && o.isExpanded(h) && (g.preventDefault(), u[b + 1]?.focus());
255
248
  }
256
249
  break;
257
250
  }
258
251
  case "ArrowLeft": {
259
252
  const a = u[b];
260
253
  if (a) {
261
- const S = a.getAttribute("data-tree-item"), y = a.closest('[role="treeitem"]'), I = (E = y == null ? void 0 : y.parentElement) == null ? void 0 : E.closest(
254
+ const h = a.getAttribute("data-tree-item"), N = a.closest('[role="treeitem"]')?.parentElement?.closest(
262
255
  '[role="treeitem"]'
263
256
  );
264
- if (S && !i.isExpanded(S) && I) {
265
- x.preventDefault();
266
- const T = I.querySelector(
267
- "[data-tree-item]"
268
- );
269
- T == null || T.focus();
270
- }
257
+ h && !o.isExpanded(h) && N && (g.preventDefault(), N.querySelector(
258
+ "[data-tree-item]"
259
+ )?.focus());
271
260
  }
272
261
  break;
273
262
  }
274
263
  case "Home": {
275
- x.preventDefault(), (v = u[0]) == null || v.focus();
264
+ g.preventDefault(), u[0]?.focus();
276
265
  break;
277
266
  }
278
267
  case "End": {
279
- x.preventDefault(), (R = u[u.length - 1]) == null || R.focus();
268
+ g.preventDefault(), u[u.length - 1]?.focus();
280
269
  break;
281
270
  }
282
271
  }
283
- }, m = d.useMemo(
284
- () => ({ tree: i, checkboxes: g }),
285
- [i, g]
286
- ), D = t ? q(t) : C;
287
- return /* @__PURE__ */ l(L.Provider, { value: m, children: /* @__PURE__ */ l(
272
+ }, m = l.useMemo(
273
+ () => ({ tree: o, checkboxes: v }),
274
+ [o, v]
275
+ ), S = t ? V(t) : y;
276
+ return /* @__PURE__ */ i(T.Provider, { value: m, children: /* @__PURE__ */ i(
288
277
  "ul",
289
278
  {
290
- ref: c,
279
+ ref: d,
291
280
  role: "tree",
292
281
  "aria-multiselectable": f || void 0,
293
282
  onKeyDown: p,
294
- className: A("m-0 list-none p-0", w),
295
- ...N,
296
- children: D
283
+ className: E("m-0 list-none p-0", k),
284
+ ...C,
285
+ children: S
297
286
  }
298
287
  ) });
299
288
  }
300
289
  );
301
- B.displayName = "TreeView";
290
+ G.displayName = "TreeView";
302
291
  export {
303
- j as T,
304
- B as a,
305
- G as u
292
+ R as T,
293
+ G as a,
294
+ q as u
306
295
  };