@vuer-ai/vuer-uikit 0.0.4 → 0.0.7

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 (153) hide show
  1. package/dist/{chunk-FXIL4NQZ.js → chunk-2JCULHBM.js} +2 -2
  2. package/dist/{chunk-3Q75Z2CT.mjs → chunk-2TRYGIGT.mjs} +2 -2
  3. package/dist/{chunk-QOUX33X5.mjs → chunk-3XVIJY3H.mjs} +11 -16
  4. package/dist/{chunk-XACRGXGF.js → chunk-4PAHMURP.js} +6 -13
  5. package/dist/{chunk-RACVRWME.js → chunk-5MZCQW4U.js} +13 -18
  6. package/dist/{chunk-7V4ELMOH.js → chunk-5OUTEHVX.js} +8 -12
  7. package/dist/{chunk-KQHNQQUZ.js → chunk-5P3KAS53.js} +5 -4
  8. package/dist/{chunk-ECWCQWV5.js → chunk-5SR53QBZ.js} +22 -27
  9. package/dist/{chunk-OE56M4MX.js → chunk-5TVG5JK5.js} +4 -4
  10. package/dist/{chunk-PKGNHHWG.mjs → chunk-5ZZC23M7.mjs} +1 -1
  11. package/dist/{chunk-OTDY2E2A.js → chunk-66DYOZI3.js} +8 -8
  12. package/dist/{chunk-KYKEJFJT.js → chunk-6N5422RT.js} +9 -9
  13. package/dist/{chunk-6ILSFDR5.mjs → chunk-7X6N54LX.mjs} +3 -3
  14. package/dist/{chunk-XPNUQSKQ.mjs → chunk-B2E7AY66.mjs} +9 -17
  15. package/dist/{chunk-X2QENXCS.mjs → chunk-BOPZFNFS.mjs} +1 -1
  16. package/dist/{chunk-5GPQ7U5B.mjs → chunk-DDOX4EEM.mjs} +7 -11
  17. package/dist/{chunk-NN7R5DNL.mjs → chunk-DZ4J7I7I.mjs} +20 -25
  18. package/dist/{chunk-G7XNQVPB.js → chunk-E33MW663.js} +14 -22
  19. package/dist/{chunk-D4C5V4EN.mjs → chunk-E5KWKBH3.mjs} +8 -1
  20. package/dist/{chunk-R6XNT4PN.js → chunk-EGPLKTJM.js} +15 -15
  21. package/dist/{chunk-COFRS37Z.mjs → chunk-EUY74AXP.mjs} +11 -7
  22. package/dist/{chunk-ATDHGFVI.mjs → chunk-F776EMXP.mjs} +3 -3
  23. package/dist/{chunk-GSXXTAQ3.js → chunk-FP26SRGL.js} +19 -15
  24. package/dist/{chunk-MASRZTZC.mjs → chunk-FRT225GK.mjs} +1 -1
  25. package/dist/{chunk-75QDQ67T.js → chunk-FSMKJAZT.js} +8 -1
  26. package/dist/{chunk-WOG6UIG5.mjs → chunk-G6PRZVSE.mjs} +1 -1
  27. package/dist/{chunk-Z37VNICQ.js → chunk-H5P4IX7R.js} +3 -3
  28. package/dist/{chunk-LVSI4HYF.mjs → chunk-IG43DNY2.mjs} +9 -9
  29. package/dist/{chunk-LD7Y34QT.js → chunk-IGBWUFZL.js} +2 -2
  30. package/dist/chunk-IOI3YFTY.js +261 -0
  31. package/dist/{chunk-Q3APPCB2.mjs → chunk-IQ6J7YTQ.mjs} +4 -4
  32. package/dist/{chunk-DWIK2CUV.mjs → chunk-JAMJUXBY.mjs} +1 -1
  33. package/dist/chunk-KQAHAGUG.js +609 -0
  34. package/dist/chunk-KTNZSZ5Y.mjs +23 -0
  35. package/dist/{chunk-7A7VNE3J.mjs → chunk-LLXRJYQB.mjs} +1 -1
  36. package/dist/{chunk-7WUQTWQX.js → chunk-MZ4POL3U.js} +18 -20
  37. package/dist/chunk-O4TK3AKI.mjs +259 -0
  38. package/dist/chunk-OBWGRG45.js +21 -0
  39. package/dist/{chunk-KVFK3YC7.js → chunk-PIR7EZC6.js} +6 -6
  40. package/dist/{chunk-5BIQ3IN7.js → chunk-QA7H2Z3Z.js} +5 -5
  41. package/dist/{chunk-66JQXJEV.mjs → chunk-QVUX6LLD.mjs} +8 -10
  42. package/dist/{chunk-25GQKTNF.mjs → chunk-QYRRQ65X.mjs} +19 -9
  43. package/dist/{chunk-ENZI5WM7.js → chunk-SKO72K64.js} +22 -12
  44. package/dist/{chunk-TOZYLDAL.mjs → chunk-SP3DH5MP.mjs} +5 -12
  45. package/dist/{chunk-CZSRIDXN.mjs → chunk-T3VSSE2L.mjs} +1 -1
  46. package/dist/{chunk-IPKCIMU4.mjs → chunk-TMBKCIVQ.mjs} +9 -17
  47. package/dist/{chunk-YQORMF34.js → chunk-U7SNLMJR.js} +12 -12
  48. package/dist/{chunk-7SXCVFSA.mjs → chunk-UMIQYHO6.mjs} +1 -1
  49. package/dist/{chunk-KO7BQ6RR.js → chunk-VAXIFFOT.js} +4 -4
  50. package/dist/{chunk-UFR656UY.mjs → chunk-WDUTW7HS.mjs} +11 -11
  51. package/dist/{chunk-M3KBBKQR.mjs → chunk-WMXX2UMD.mjs} +5 -5
  52. package/dist/{chunk-ATEHWT2R.mjs → chunk-WOZWC6KO.mjs} +4 -3
  53. package/dist/{chunk-SI56IQWH.js → chunk-X55EAYE2.js} +14 -22
  54. package/dist/chunk-XCCC7HVN.mjs +603 -0
  55. package/dist/{chunk-A2Z57NAA.js → chunk-XUQ5A7ZA.js} +2 -2
  56. package/dist/chunk-XXWQ4RVP.js +25 -0
  57. package/dist/{chunk-FYS6YECN.js → chunk-Y5I2GI4V.js} +2 -2
  58. package/dist/{chunk-277NQUJD.js → chunk-YXDJPCAF.js} +5 -5
  59. package/dist/highlight-cursor/cursor-provider.js +3 -3
  60. package/dist/highlight-cursor/cursor-provider.mjs +2 -2
  61. package/dist/highlight-cursor/enhanced-components.js +13 -13
  62. package/dist/highlight-cursor/enhanced-components.mjs +8 -8
  63. package/dist/highlight-cursor/index.js +19 -19
  64. package/dist/highlight-cursor/index.mjs +9 -9
  65. package/dist/index.css +9 -5
  66. package/dist/index.d.mts +3 -1
  67. package/dist/index.d.ts +3 -1
  68. package/dist/index.js +142 -132
  69. package/dist/index.mjs +31 -29
  70. package/dist/styles/theme.css +2 -1
  71. package/dist/styles/toast.css +6 -3
  72. package/dist/ui/avatar.js +7 -6
  73. package/dist/ui/avatar.mjs +3 -2
  74. package/dist/ui/badge.js +4 -4
  75. package/dist/ui/badge.mjs +2 -2
  76. package/dist/ui/button.js +3 -3
  77. package/dist/ui/button.mjs +2 -2
  78. package/dist/ui/card.js +9 -9
  79. package/dist/ui/card.mjs +2 -2
  80. package/dist/ui/checkbox.js +3 -3
  81. package/dist/ui/checkbox.mjs +2 -2
  82. package/dist/ui/collapsible.js +5 -5
  83. package/dist/ui/collapsible.mjs +2 -2
  84. package/dist/ui/dropdown.js +17 -17
  85. package/dist/ui/dropdown.mjs +2 -2
  86. package/dist/ui/index.d.mts +3 -1
  87. package/dist/ui/index.d.ts +3 -1
  88. package/dist/ui/index.js +129 -119
  89. package/dist/ui/index.mjs +29 -27
  90. package/dist/ui/input-numbers.js +4 -4
  91. package/dist/ui/input-numbers.mjs +3 -3
  92. package/dist/ui/input.d.mts +2 -2
  93. package/dist/ui/input.d.ts +2 -2
  94. package/dist/ui/input.js +4 -4
  95. package/dist/ui/input.mjs +2 -2
  96. package/dist/ui/layout.d.mts +1 -1
  97. package/dist/ui/layout.d.ts +1 -1
  98. package/dist/ui/layout.js +3 -3
  99. package/dist/ui/layout.mjs +2 -2
  100. package/dist/ui/modal.js +12 -12
  101. package/dist/ui/modal.mjs +2 -2
  102. package/dist/ui/popover.js +7 -6
  103. package/dist/ui/popover.mjs +3 -2
  104. package/dist/ui/radio-group.js +4 -4
  105. package/dist/ui/radio-group.mjs +2 -2
  106. package/dist/ui/select.d.mts +1 -1
  107. package/dist/ui/select.d.ts +1 -1
  108. package/dist/ui/select.js +12 -12
  109. package/dist/ui/select.mjs +2 -2
  110. package/dist/ui/sheet.d.mts +1 -1
  111. package/dist/ui/sheet.d.ts +1 -1
  112. package/dist/ui/sheet.js +10 -10
  113. package/dist/ui/sheet.mjs +2 -2
  114. package/dist/ui/slider.js +3 -3
  115. package/dist/ui/slider.mjs +2 -2
  116. package/dist/ui/switch.js +3 -3
  117. package/dist/ui/switch.mjs +2 -2
  118. package/dist/ui/tabs.js +7 -7
  119. package/dist/ui/tabs.mjs +3 -3
  120. package/dist/ui/textarea.d.mts +1 -1
  121. package/dist/ui/textarea.d.ts +1 -1
  122. package/dist/ui/textarea.js +3 -3
  123. package/dist/ui/textarea.mjs +2 -2
  124. package/dist/ui/theme-context.js +3 -3
  125. package/dist/ui/theme-context.mjs +1 -1
  126. package/dist/ui/timeline.d.mts +23 -0
  127. package/dist/ui/timeline.d.ts +23 -0
  128. package/dist/ui/timeline.js +14 -0
  129. package/dist/ui/timeline.mjs +5 -0
  130. package/dist/ui/toggle-group.js +5 -5
  131. package/dist/ui/toggle-group.mjs +3 -3
  132. package/dist/ui/toggle.js +4 -4
  133. package/dist/ui/toggle.mjs +2 -2
  134. package/dist/ui/tooltip.js +7 -6
  135. package/dist/ui/tooltip.mjs +3 -2
  136. package/dist/ui/tree-view-v2.d.mts +25 -0
  137. package/dist/ui/tree-view-v2.d.ts +25 -0
  138. package/dist/ui/tree-view-v2.js +13 -0
  139. package/dist/ui/tree-view-v2.mjs +4 -0
  140. package/dist/ui/tree-view.d.mts +7 -6
  141. package/dist/ui/tree-view.d.ts +7 -6
  142. package/dist/ui/tree-view.js +3 -3
  143. package/dist/ui/tree-view.mjs +2 -2
  144. package/dist/utils/cn.js +2 -2
  145. package/dist/utils/cn.mjs +1 -1
  146. package/dist/utils/index.js +2 -2
  147. package/dist/utils/index.mjs +1 -1
  148. package/package.json +8 -9
  149. package/dist/chunk-FVT46HEE.js +0 -21
  150. package/dist/chunk-HW6SLBO3.mjs +0 -9
  151. package/dist/chunk-UWO6RBCE.js +0 -11
  152. /package/dist/{chunk-S2F2GRDB.mjs → chunk-IKIXD35H.mjs} +0 -0
  153. /package/dist/{chunk-HUQZOPYD.js → chunk-P3NMVNEO.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUWO6RBCE_js = require('./chunk-UWO6RBCE.js');
3
+ var chunkXXWQ4RVP_js = require('./chunk-XXWQ4RVP.js');
4
4
  var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
5
5
  var lucideReact = require('lucide-react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -51,7 +51,7 @@ function DropdownMenuContent({
51
51
  {
52
52
  "data-slot": "dropdown-menu-content",
53
53
  sideOffset,
54
- className: chunkUWO6RBCE_js.cn(
54
+ className: chunkXXWQ4RVP_js.cn(
55
55
  [
56
56
  "bg-bg-primary",
57
57
  "p-md",
@@ -91,7 +91,7 @@ function DropdownMenuGroup({
91
91
  DropdownMenuPrimitive__namespace.Group,
92
92
  {
93
93
  "data-slot": "dropdown-menu-group",
94
- className: chunkUWO6RBCE_js.cn("space-y-xs", className),
94
+ className: chunkXXWQ4RVP_js.cn("space-y-xs", className),
95
95
  ...props
96
96
  }
97
97
  );
@@ -108,7 +108,7 @@ function DropdownMenuItem({
108
108
  "data-slot": "dropdown-menu-item",
109
109
  "data-inset": inset,
110
110
  "data-variant": variant,
111
- className: chunkUWO6RBCE_js.cn(
111
+ className: chunkXXWQ4RVP_js.cn(
112
112
  [
113
113
  "w-full",
114
114
  "flex",
@@ -122,7 +122,8 @@ function DropdownMenuItem({
122
122
  "relative",
123
123
  "cursor-default",
124
124
  "rounded-uk-xs",
125
- "text-xs",
125
+ "text-uk-xs",
126
+ "leading-uk-xs",
126
127
  "outline-hidden",
127
128
  "select-none",
128
129
  "hover:bg-bg-tertiary",
@@ -149,7 +150,7 @@ function DropdownMenuCheckboxItem({
149
150
  DropdownMenuPrimitive__namespace.CheckboxItem,
150
151
  {
151
152
  "data-slot": "dropdown-menu-checkbox-item",
152
- className: chunkUWO6RBCE_js.cn(
153
+ className: chunkXXWQ4RVP_js.cn(
153
154
  [
154
155
  "w-full",
155
156
  "flex",
@@ -163,7 +164,8 @@ function DropdownMenuCheckboxItem({
163
164
  "relative",
164
165
  "cursor-default",
165
166
  "rounded-uk-xs",
166
- "text-xs",
167
+ "text-uk-xs",
168
+ "leading-uk-xs",
167
169
  "outline-hidden",
168
170
  "select-none",
169
171
  "hover:bg-bg-tertiary",
@@ -198,7 +200,7 @@ function DropdownMenuRadioItem({
198
200
  DropdownMenuPrimitive__namespace.RadioItem,
199
201
  {
200
202
  "data-slot": "dropdown-menu-radio-item",
201
- className: chunkUWO6RBCE_js.cn(
203
+ className: chunkXXWQ4RVP_js.cn(
202
204
  [
203
205
  "w-full",
204
206
  "hover:bg-bg-tertiary",
@@ -215,7 +217,8 @@ function DropdownMenuRadioItem({
215
217
  "pr-md",
216
218
  "mb-xs",
217
219
  "last:mb-0",
218
- "text-xs",
220
+ "text-uk-xs",
221
+ "leading-uk-xs",
219
222
  "data-[disabled]:pointer-events-none",
220
223
  "data-[disabled]:text-bg-quaternary",
221
224
  "[&_svg:not([class*='size-'])]:size-4",
@@ -242,7 +245,7 @@ function DropdownMenuLabel({
242
245
  {
243
246
  "data-slot": "dropdown-menu-label",
244
247
  "data-inset": inset,
245
- className: chunkUWO6RBCE_js.cn("text-text-secondary px-2 py-1.5 text-xs", className),
248
+ className: chunkXXWQ4RVP_js.cn("text-text-secondary text-uk-xs leading-uk-xs px-2 py-1.5", className),
246
249
  ...props
247
250
  }
248
251
  );
@@ -255,7 +258,7 @@ function DropdownMenuSeparator({
255
258
  DropdownMenuPrimitive__namespace.Separator,
256
259
  {
257
260
  "data-slot": "dropdown-menu-separator",
258
- className: chunkUWO6RBCE_js.cn("bg-line-primary my-lg pointer-events-none -mx-1 h-px", className),
261
+ className: chunkXXWQ4RVP_js.cn("bg-line-primary my-lg pointer-events-none -mx-1 h-px", className),
259
262
  ...props
260
263
  }
261
264
  );
@@ -265,7 +268,7 @@ function DropdownMenuShortcut({ className, ...props }) {
265
268
  "span",
266
269
  {
267
270
  "data-slot": "dropdown-menu-shortcut",
268
- className: chunkUWO6RBCE_js.cn("text-text-tertiary ml-auto text-xs", className),
271
+ className: chunkXXWQ4RVP_js.cn("text-text-tertiary text-uk-xs leading-uk-xs ml-auto", className),
269
272
  ...props
270
273
  }
271
274
  );
@@ -284,7 +287,7 @@ function DropdownMenuSubTrigger({
284
287
  {
285
288
  "data-slot": "dropdown-menu-sub-trigger",
286
289
  "data-inset": inset,
287
- className: chunkUWO6RBCE_js.cn(
290
+ className: chunkXXWQ4RVP_js.cn(
288
291
  "w-full",
289
292
  "flex",
290
293
  "gap-md",
@@ -296,7 +299,8 @@ function DropdownMenuSubTrigger({
296
299
  "relative",
297
300
  "cursor-default",
298
301
  "rounded-uk-xs",
299
- "text-xs",
302
+ "text-uk-xs",
303
+ "leading-uk-xs",
300
304
  "outline-hidden",
301
305
  "select-none",
302
306
  "hover:bg-bg-tertiary",
@@ -325,7 +329,7 @@ function DropdownMenuSubContent({
325
329
  DropdownMenuPrimitive__namespace.SubContent,
326
330
  {
327
331
  "data-slot": "dropdown-menu-sub-content",
328
- className: chunkUWO6RBCE_js.cn(
332
+ className: chunkXXWQ4RVP_js.cn(
329
333
  "bg-bg-primary",
330
334
  "p-md",
331
335
  "data-[state=open]:animate-in",
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -16,17 +16,22 @@ function ThemeProvider({
16
16
  ...props
17
17
  }) {
18
18
  const [theme, setTheme] = react.useState(() => {
19
+ if (typeof window === "undefined") return defaultTheme;
19
20
  return localStorage.getItem(storageKey) || defaultTheme;
20
21
  });
21
22
  react.useEffect(() => {
23
+ if (typeof window === "undefined") return;
22
24
  const root = window.document.documentElement;
23
25
  root.classList.remove("light", "dark", "liquidlight", "liquiddark", "system");
26
+ root.removeAttribute("data-theme");
24
27
  if (theme === "system") {
25
28
  const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
26
29
  root.classList.add(systemTheme);
30
+ root.setAttribute("data-theme", "auto");
27
31
  return;
28
32
  }
29
33
  root.classList.add(theme);
34
+ root.setAttribute("data-theme", theme);
30
35
  }, [theme]);
31
36
  return /* @__PURE__ */ jsxRuntime.jsx(
32
37
  ThemeProviderContext.Provider,
@@ -36,7 +41,9 @@ function ThemeProvider({
36
41
  () => ({
37
42
  theme,
38
43
  setTheme: (theme2) => {
39
- localStorage.setItem(storageKey, theme2);
44
+ if (typeof window !== "undefined") {
45
+ localStorage.setItem(storageKey, theme2);
46
+ }
40
47
  setTheme(theme2);
41
48
  }
42
49
  }),
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
3
  import { CheckIcon } from 'lucide-react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUWO6RBCE_js = require('./chunk-UWO6RBCE.js');
3
+ var chunkXXWQ4RVP_js = require('./chunk-XXWQ4RVP.js');
4
4
  var SwitchPrimitive = require('@radix-ui/react-switch');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -29,7 +29,7 @@ function Switch({ className, ...props }) {
29
29
  SwitchPrimitive__namespace.Root,
30
30
  {
31
31
  "data-slot": "switch",
32
- className: chunkUWO6RBCE_js.cn(
32
+ className: chunkXXWQ4RVP_js.cn(
33
33
  "group",
34
34
  "w-[32px]",
35
35
  "h-[16px]",
@@ -47,7 +47,7 @@ function Switch({ className, ...props }) {
47
47
  SwitchPrimitive__namespace.Thumb,
48
48
  {
49
49
  "data-slot": "switch-thumb",
50
- className: chunkUWO6RBCE_js.cn(
50
+ className: chunkXXWQ4RVP_js.cn(
51
51
  "block",
52
52
  "size-[12px]",
53
53
  "rounded-full",
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { ChevronDown, ChevronRight, Folder, File } from 'lucide-react';
@@ -6,7 +6,7 @@ import { forwardRef, useState, useCallback, useMemo } from 'react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
 
8
8
  var treeVariants = cva(
9
- "text-[14px] group py-1 h-9 text-text-primary rounded transition-colors cursor-pointer text-left relative z-20"
9
+ "text-uk-md group py-1 h-9 text-text-primary rounded transition-colors cursor-pointer text-left relative z-20"
10
10
  );
11
11
  var selectedTreeVariants = cva("");
12
12
  var dragOverVariants = cva("bg-primary/20 text-primary-foreground");
@@ -89,7 +89,7 @@ var TreeView = forwardRef(
89
89
  "div",
90
90
  {
91
91
  className: cn(
92
- "bg-bg-primary relative min-w-[240px] max-w-[300px] overflow-hidden p-2",
92
+ "bg-bg-primary relative max-w-[300px] min-w-[240px] overflow-hidden p-2",
93
93
  className
94
94
  ),
95
95
  "data-tree-container": true,
@@ -97,7 +97,7 @@ var TreeView = forwardRef(
97
97
  /* @__PURE__ */ jsx(
98
98
  "div",
99
99
  {
100
- className: "bg-bg-tertiary pointer-events-none absolute left-2 right-2 z-10 rounded-uk-sm transition-all duration-150",
100
+ className: "bg-bg-tertiary rounded-uk-sm pointer-events-none absolute right-2 left-2 z-10 transition-all duration-150",
101
101
  style: {
102
102
  display: hoverBackgroundStyle.display,
103
103
  top: hoverBackgroundStyle.top,
@@ -126,7 +126,7 @@ var TreeView = forwardRef(
126
126
  "div",
127
127
  {
128
128
  className: "h-[48px] w-full",
129
- onDrop: (e) => {
129
+ onDrop: () => {
130
130
  handleDrop({ id: "", name: "parent_div" });
131
131
  }
132
132
  }
@@ -262,7 +262,7 @@ var TreeNode = ({
262
262
  default: defaultNodeIcon
263
263
  }
264
264
  ),
265
- /* @__PURE__ */ jsx("span", { className: "text-text-primary flex-grow truncate text-left text-sm", children: item.name }),
265
+ /* @__PURE__ */ jsx("span", { className: "text-text-primary text-uk-md flex-grow truncate text-left", children: item.name }),
266
266
  /* @__PURE__ */ jsx(TreeActions, { isSelected: selectedItemId === item.id && !item.disabled, children: item.actions })
267
267
  ]
268
268
  }
@@ -349,7 +349,7 @@ var TreeLeaf = forwardRef(
349
349
  ...props,
350
350
  children: [
351
351
  /* @__PURE__ */ jsx(TreeIcon, { item, isSelected: selectedItemId === item.id, default: defaultLeafIcon }),
352
- /* @__PURE__ */ jsx("span", { className: "text-text-primary flex-grow truncate text-left text-sm", children: item.name }),
352
+ /* @__PURE__ */ jsx("span", { className: "text-text-primary text-uk-md flex-grow truncate text-left", children: item.name }),
353
353
  /* @__PURE__ */ jsx(TreeActions, { isSelected: selectedItemId === item.id && !item.disabled, children: item.actions })
354
354
  ]
355
355
  }
@@ -375,11 +375,11 @@ var AccordionContent = forwardRef(({ className, children, ...props }, ref) => /*
375
375
  {
376
376
  ref,
377
377
  className: cn(
378
- "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm transition-all",
378
+ "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-uk-md overflow-hidden transition-all",
379
379
  className
380
380
  ),
381
381
  ...props,
382
- children: /* @__PURE__ */ jsx("div", { className: "pb-0 pt-0", children })
382
+ children: /* @__PURE__ */ jsx("div", { className: "pt-0 pb-0", children })
383
383
  }
384
384
  ));
385
385
  AccordionContent.displayName = AccordionPrimitive.Content.displayName;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUWO6RBCE_js = require('./chunk-UWO6RBCE.js');
3
+ var chunkXXWQ4RVP_js = require('./chunk-XXWQ4RVP.js');
4
4
  var PopoverPrimitive = require('@radix-ui/react-popover');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -42,7 +42,7 @@ function PopoverContent({
42
42
  "data-slot": "popover-content",
43
43
  align,
44
44
  sideOffset,
45
- className: chunkUWO6RBCE_js.cn(
45
+ className: chunkXXWQ4RVP_js.cn(
46
46
  "bg-bg-primary",
47
47
  "rounded-uk-lg",
48
48
  "p-xl",
@@ -0,0 +1,261 @@
1
+ 'use strict';
2
+
3
+ var chunk5P3KAS53_js = require('./chunk-5P3KAS53.js');
4
+ var chunkXXWQ4RVP_js = require('./chunk-XXWQ4RVP.js');
5
+ var lucideReact = require('lucide-react');
6
+ var react = require('react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function TreeView({
10
+ data,
11
+ getIcon,
12
+ onVisibleDataChange,
13
+ onItemHover,
14
+ className,
15
+ hoveredId
16
+ }) {
17
+ const [expandedItems, setExpandedItems] = react.useState(() => {
18
+ const initial = /* @__PURE__ */ new Set();
19
+ data.forEach((item) => {
20
+ if (item.isCollapsible) initial.add(item.id);
21
+ });
22
+ return initial;
23
+ });
24
+ const [searchQuery, setSearchQuery] = react.useState("");
25
+ const [isCaseSensitive, setIsCaseSensitive] = react.useState(false);
26
+ const [isRegex, setIsRegex] = react.useState(false);
27
+ const [isRegexValid, setIsRegexValid] = react.useState(true);
28
+ const toggleItem = (id) => {
29
+ setExpandedItems((prev) => {
30
+ const newSet = new Set(prev);
31
+ if (newSet.has(id)) {
32
+ newSet.delete(id);
33
+ } else {
34
+ newSet.add(id);
35
+ }
36
+ return newSet;
37
+ });
38
+ };
39
+ const childrenMap = react.useMemo(() => {
40
+ const map = /* @__PURE__ */ new Map();
41
+ data.forEach((item) => {
42
+ if (!map.has(item.parentId)) {
43
+ map.set(item.parentId, []);
44
+ }
45
+ map.get(item.parentId).push(item);
46
+ });
47
+ return map;
48
+ }, [data]);
49
+ const dataWithMeta = react.useMemo(() => {
50
+ const dataMap = new Map(data.map((item) => [item.id, item]));
51
+ const getAncestors = (item) => {
52
+ const ancestors = [];
53
+ let current = item.parentId;
54
+ while (current) {
55
+ const parent = dataMap.get(current);
56
+ if (parent) {
57
+ ancestors.unshift(parent);
58
+ current = parent.parentId;
59
+ } else {
60
+ break;
61
+ }
62
+ }
63
+ return ancestors;
64
+ };
65
+ return data.map((item) => {
66
+ const siblings = childrenMap.get(item.parentId) || [];
67
+ const isLast = siblings.length > 0 && siblings[siblings.length - 1].id === item.id;
68
+ const ancestors = getAncestors(item);
69
+ const indent = ancestors.length;
70
+ return { ...item, indent, isLast, ancestors };
71
+ });
72
+ }, [data, childrenMap]);
73
+ const visibleData = react.useMemo(() => {
74
+ const dataMap = new Map(data.map((item) => [item.id, item]));
75
+ if (!searchQuery) {
76
+ const isVisible = (item) => {
77
+ return item.ancestors.every((ancestor) => expandedItems.has(ancestor.id));
78
+ };
79
+ return dataWithMeta.filter(isVisible);
80
+ }
81
+ const matchingAndAncestorIds = /* @__PURE__ */ new Set();
82
+ let regex = null;
83
+ if (isRegex) {
84
+ try {
85
+ regex = new RegExp(searchQuery, isCaseSensitive ? "" : "i");
86
+ if (!isRegexValid) setIsRegexValid(true);
87
+ } catch {
88
+ if (isRegexValid) setIsRegexValid(false);
89
+ return [];
90
+ }
91
+ }
92
+ data.forEach((item) => {
93
+ let labelMatches = false;
94
+ if (regex) {
95
+ labelMatches = regex.test(item.label);
96
+ } else {
97
+ const source = isCaseSensitive ? item.label : item.label.toLowerCase();
98
+ const query = isCaseSensitive ? searchQuery : searchQuery.toLowerCase();
99
+ labelMatches = source.includes(query);
100
+ }
101
+ if (labelMatches) {
102
+ matchingAndAncestorIds.add(item.id);
103
+ let current = item.parentId;
104
+ while (current) {
105
+ const parent = dataMap.get(current);
106
+ if (parent) {
107
+ matchingAndAncestorIds.add(parent.id);
108
+ current = parent.parentId;
109
+ } else {
110
+ break;
111
+ }
112
+ }
113
+ }
114
+ });
115
+ return dataWithMeta.filter((item) => matchingAndAncestorIds.has(item.id));
116
+ }, [searchQuery, dataWithMeta, expandedItems, isCaseSensitive, isRegex, isRegexValid, data]);
117
+ react.useEffect(() => {
118
+ onVisibleDataChange == null ? void 0 : onVisibleDataChange(visibleData);
119
+ }, [visibleData, onVisibleDataChange]);
120
+ const renderLabel = (label) => {
121
+ if (!searchQuery || !isRegexValid) {
122
+ return label;
123
+ }
124
+ let regex;
125
+ try {
126
+ regex = new RegExp(`(${searchQuery})`, isCaseSensitive ? "g" : "gi");
127
+ } catch {
128
+ return label;
129
+ }
130
+ const parts = label.split(regex);
131
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: parts.map(
132
+ (part, i) => i % 2 === 1 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-uk-xs bg-yellow-300 dark:bg-yellow-700", children: part }, i) : part
133
+ ) });
134
+ };
135
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkXXWQ4RVP_js.cn("border-line-secondary/20 flex flex-col", className), children: [
136
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-line-secondary/20 flex h-[32px] shrink-0 items-center gap-1 border-b px-2", children: [
137
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "text-text-secondary size-4" }),
138
+ /* @__PURE__ */ jsxRuntime.jsx(
139
+ "input",
140
+ {
141
+ type: "text",
142
+ placeholder: "Search...",
143
+ className: chunkXXWQ4RVP_js.cn(
144
+ "text-uk-md w-full bg-transparent focus:outline-none",
145
+ !isRegexValid && "text-red-500"
146
+ ),
147
+ value: searchQuery,
148
+ onChange: (e) => setSearchQuery(e.target.value)
149
+ }
150
+ ),
151
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk5P3KAS53_js.TooltipProvider, { delayDuration: 200, children: [
152
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk5P3KAS53_js.Tooltip, { children: [
153
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5P3KAS53_js.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
154
+ "button",
155
+ {
156
+ onClick: () => setIsCaseSensitive((prev) => !prev),
157
+ className: chunkXXWQ4RVP_js.cn("rounded-uk-sm p-1", isCaseSensitive && "bg-bg-tertiary"),
158
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CaseSensitive, { className: "size-4" })
159
+ }
160
+ ) }),
161
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5P3KAS53_js.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Case Sensitive" }) })
162
+ ] }),
163
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk5P3KAS53_js.Tooltip, { children: [
164
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5P3KAS53_js.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
165
+ "button",
166
+ {
167
+ onClick: () => setIsRegex((prev) => !prev),
168
+ className: chunkXXWQ4RVP_js.cn("rounded-uk-sm p-1", isRegex && "bg-bg-tertiary"),
169
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Regex, { className: "size-4" })
170
+ }
171
+ ) }),
172
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5P3KAS53_js.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Use Regular Expression" }) })
173
+ ] })
174
+ ] })
175
+ ] }),
176
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-y-auto", children: visibleData.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
177
+ "div",
178
+ {
179
+ className: chunkXXWQ4RVP_js.cn(
180
+ "group relative flex h-[32px] cursor-pointer items-center",
181
+ hoveredId === item.id && "bg-bg-secondary/80"
182
+ ),
183
+ onMouseEnter: () => onItemHover == null ? void 0 : onItemHover(item.id),
184
+ onMouseLeave: () => onItemHover == null ? void 0 : onItemHover(null),
185
+ children: [
186
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 left-[-0.28rem] z-0 flex h-full items-center", children: [
187
+ item.ancestors.map((ancestor, index) => {
188
+ var _a;
189
+ const parentIsLast = (_a = dataWithMeta.find((d) => d.id === ancestor.id)) == null ? void 0 : _a.isLast;
190
+ return /* @__PURE__ */ jsxRuntime.jsx(
191
+ "div",
192
+ {
193
+ className: chunkXXWQ4RVP_js.cn(
194
+ "h-full w-[1.25rem]",
195
+ parentIsLast ? "" : "border-l",
196
+ "border-line-secondary/20"
197
+ )
198
+ },
199
+ index
200
+ );
201
+ }),
202
+ item.indent > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative h-full w-[1.24rem]", children: [
203
+ /* @__PURE__ */ jsxRuntime.jsx(
204
+ "div",
205
+ {
206
+ className: chunkXXWQ4RVP_js.cn(
207
+ "absolute top-0 left-0 h-1/2 w-1/2 border-b border-l",
208
+ item.isLast ? "rounded-bl-md" : "",
209
+ "border-line-secondary/20"
210
+ )
211
+ }
212
+ ),
213
+ !item.isLast && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-line-secondary/20 absolute top-1/2 left-0 h-1/2 w-1/2 border-l" })
214
+ ] })
215
+ ] }),
216
+ /* @__PURE__ */ jsxRuntime.jsxs(
217
+ "div",
218
+ {
219
+ className: "text-uk-md z-10 flex w-full items-center gap-2 px-2 whitespace-nowrap",
220
+ style: { paddingLeft: `${item.indent * 1.25 + 0.5}rem` },
221
+ children: [
222
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex size-4 items-center justify-center", children: [
223
+ item.isCollapsible && /* @__PURE__ */ jsxRuntime.jsx(
224
+ "button",
225
+ {
226
+ onClick: () => toggleItem(item.id),
227
+ className: "absolute z-20 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100",
228
+ children: /* @__PURE__ */ jsxRuntime.jsx(
229
+ lucideReact.ChevronDown,
230
+ {
231
+ className: chunkXXWQ4RVP_js.cn(
232
+ "size-4 transition-transform",
233
+ !expandedItems.has(item.id) && "-rotate-90"
234
+ )
235
+ }
236
+ )
237
+ }
238
+ ),
239
+ /* @__PURE__ */ jsxRuntime.jsx(
240
+ "div",
241
+ {
242
+ className: chunkXXWQ4RVP_js.cn(
243
+ "transition-opacity",
244
+ item.isCollapsible && "group-hover:opacity-0"
245
+ ),
246
+ children: getIcon(item)
247
+ }
248
+ )
249
+ ] }),
250
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: renderLabel(item.label) })
251
+ ]
252
+ }
253
+ )
254
+ ]
255
+ },
256
+ item.id
257
+ )) })
258
+ ] });
259
+ }
260
+
261
+ exports.TreeView = TreeView;
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import { Slot } from '@radix-ui/react-slot';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { forwardRef } from 'react';
@@ -57,9 +57,9 @@ var buttonVariants = cva(
57
57
  link: ["text-text-primary", "underline-offset-4", "hover:underline"]
58
58
  },
59
59
  size: {
60
- sm: ["text-xs", "h-5.5", "gap-xxs", "px-md", "[&_svg:not([class*='size-'])]:size-3"],
61
- base: ["text-xs", "h-7 ", "gap-xs", " px-lg", "[&_svg:not([class*='size-'])]:size-3.5"],
62
- lg: ["text-sm", "h-8", " gap-xs", "px-xl", "[&_svg:not([class*='size-'])]:size-4"]
60
+ sm: ["text-uk-sm", "h-5.5", "gap-xxs", "px-md", "[&_svg:not([class*='size-'])]:size-3"],
61
+ base: ["text-uk-md", "h-7 ", "gap-xs", " px-lg", "[&_svg:not([class*='size-'])]:size-3.5"],
62
+ lg: ["text-uk-lg", "h-8", " gap-xs", "px-xl", "[&_svg:not([class*='size-'])]:size-4"]
63
63
  },
64
64
  icon: { false: null, true: null }
65
65
  },
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import * as SwitchPrimitive from '@radix-ui/react-switch';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4