@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 SelectPrimitive = require('@radix-ui/react-select');
5
5
  var classVarianceAuthority = require('class-variance-authority');
6
6
  var lucideReact = require('lucide-react');
@@ -34,7 +34,7 @@ function SelectGroup({ className, ...props }) {
34
34
  SelectPrimitive__namespace.Group,
35
35
  {
36
36
  "data-slot": "select-group",
37
- className: chunkUWO6RBCE_js.cn("space-y-xs", className),
37
+ className: chunkXXWQ4RVP_js.cn("space-y-xs", className),
38
38
  ...props
39
39
  }
40
40
  );
@@ -44,7 +44,6 @@ function SelectValue({ ...props }) {
44
44
  }
45
45
  var selectTriggerVariants = classVarianceAuthority.cva(
46
46
  [
47
- // "data-[placeholder]:text-muted-foreground",
48
47
  "flex",
49
48
  "items-center",
50
49
  "justify-between",
@@ -59,9 +58,8 @@ var selectTriggerVariants = classVarianceAuthority.cva(
59
58
  "*:data-[slot=select-value]:flex",
60
59
  "*:data-[slot=select-value]:items-center",
61
60
  "*:data-[slot=select-value]:gap-2",
62
- "[&_svg]:pointer-events-none",
63
61
  "[&_svg]:shrink-0",
64
- "[&_svg:not([class*='size-'])]:size-4",
62
+ "[&_svg]:pointer-events-none",
65
63
  "[&_svg:not([class*='text-'])]:text-muted-foreground"
66
64
  ],
67
65
  {
@@ -72,9 +70,9 @@ var selectTriggerVariants = classVarianceAuthority.cva(
72
70
  error: ["hover:bg-danger-primary/10", "bg-danger-primary/20"]
73
71
  },
74
72
  size: {
75
- sm: "p-sm text-sm h-6.5",
76
- base: "",
77
- lg: ""
73
+ sm: "px-sm py-xs text-uk-sm h-5.5 [&_svg:not([class*='size-'])]:size-lg",
74
+ base: "px-md py-sm text-uk-md h-7 [&_svg:not([class*='size-'])]:size-[14px]",
75
+ lg: "px-lg py-sm text-uk-lg h-8 [&_svg:not([class*='size-'])]:size-xl"
78
76
  }
79
77
  },
80
78
  defaultVariants: {
@@ -96,14 +94,14 @@ function SelectTrigger({
96
94
  {
97
95
  "data-slot": "select-trigger",
98
96
  "data-size": size,
99
- className: chunkUWO6RBCE_js.cn(
97
+ className: chunkXXWQ4RVP_js.cn(
100
98
  selectTriggerVariants({ size, className, state: disabled ? "disabled" : state })
101
99
  ),
102
100
  disabled,
103
101
  ...props,
104
102
  children: [
105
103
  children,
106
- /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4 opacity-50" }) })
104
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "opacity-50" }) })
107
105
  ]
108
106
  }
109
107
  );
@@ -118,7 +116,7 @@ function SelectContent({
118
116
  SelectPrimitive__namespace.Content,
119
117
  {
120
118
  "data-slot": "select-content",
121
- className: chunkUWO6RBCE_js.cn(
119
+ className: chunkXXWQ4RVP_js.cn(
122
120
  [
123
121
  "bg-bg-primary",
124
122
  "data-[state=open]:animate-in",
@@ -155,7 +153,7 @@ function SelectContent({
155
153
  /* @__PURE__ */ jsxRuntime.jsx(
156
154
  SelectPrimitive__namespace.Viewport,
157
155
  {
158
- className: chunkUWO6RBCE_js.cn("p-md", {
156
+ className: chunkXXWQ4RVP_js.cn("p-md", {
159
157
  "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1": position === "popper"
160
158
  }),
161
159
  children
@@ -171,7 +169,7 @@ function SelectLabel({ className, ...props }) {
171
169
  SelectPrimitive__namespace.Label,
172
170
  {
173
171
  "data-slot": "select-label",
174
- className: chunkUWO6RBCE_js.cn("text-text-secondary px-2 py-1.5 text-xs", className),
172
+ className: chunkXXWQ4RVP_js.cn("text-text-secondary text-uk-xs px-2 py-1.5", className),
175
173
  ...props
176
174
  }
177
175
  );
@@ -182,7 +180,7 @@ function SelectItem({ className, children, prefix, suffix, disabled, ...props })
182
180
  {
183
181
  "data-slot": "select-item",
184
182
  disabled,
185
- className: chunkUWO6RBCE_js.cn(
183
+ className: chunkXXWQ4RVP_js.cn(
186
184
  [
187
185
  "group/select-item",
188
186
  "w-full",
@@ -194,7 +192,7 @@ function SelectItem({ className, children, prefix, suffix, disabled, ...props })
194
192
  "relative",
195
193
  "cursor-default",
196
194
  "rounded-uk-xs",
197
- "text-xs",
195
+ "text-uk-xs",
198
196
  "outline-hidden",
199
197
  "select-none",
200
198
  "focus:bg-bg-secondary",
@@ -217,7 +215,7 @@ function SelectItem({ className, children, prefix, suffix, disabled, ...props })
217
215
  "p",
218
216
  {
219
217
  "data-disabled": disabled,
220
- className: chunkUWO6RBCE_js.cn([
218
+ className: chunkXXWQ4RVP_js.cn([
221
219
  "text-text-tertiary",
222
220
  "flex",
223
221
  "shrink-0",
@@ -233,7 +231,7 @@ function SelectItem({ className, children, prefix, suffix, disabled, ...props })
233
231
  "p",
234
232
  {
235
233
  "data-disabled": disabled,
236
- className: chunkUWO6RBCE_js.cn(
234
+ className: chunkXXWQ4RVP_js.cn(
237
235
  "text-text-tertiary",
238
236
  "ml-auto",
239
237
  "flex",
@@ -257,7 +255,7 @@ function SelectSeparator({
257
255
  SelectPrimitive__namespace.Separator,
258
256
  {
259
257
  "data-slot": "select-separator",
260
- className: chunkUWO6RBCE_js.cn("bg-line-primary my-lg pointer-events-none -mx-1 h-px", className),
258
+ className: chunkXXWQ4RVP_js.cn("bg-line-primary my-lg pointer-events-none -mx-1 h-px", className),
261
259
  ...props
262
260
  }
263
261
  );
@@ -270,7 +268,7 @@ function SelectScrollUpButton({
270
268
  SelectPrimitive__namespace.ScrollUpButton,
271
269
  {
272
270
  "data-slot": "select-scroll-up-button",
273
- className: chunkUWO6RBCE_js.cn("flex cursor-default items-center justify-center py-1", className),
271
+ className: chunkXXWQ4RVP_js.cn("flex cursor-default items-center justify-center py-1", className),
274
272
  ...props,
275
273
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUpIcon, { className: "size-4" })
276
274
  }
@@ -284,7 +282,7 @@ function SelectScrollDownButton({
284
282
  SelectPrimitive__namespace.ScrollDownButton,
285
283
  {
286
284
  "data-slot": "select-scroll-down-button",
287
- className: chunkUWO6RBCE_js.cn("flex cursor-default items-center justify-center py-1", className),
285
+ className: chunkXXWQ4RVP_js.cn("flex cursor-default items-center justify-center py-1", className),
288
286
  ...props,
289
287
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4" })
290
288
  }
@@ -0,0 +1,259 @@
1
+ import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-WOZWC6KO.mjs';
2
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
3
+ import { Search, CaseSensitive, Regex, ChevronDown } from 'lucide-react';
4
+ import { useState, useMemo, useEffect } from 'react';
5
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
+
7
+ function TreeView({
8
+ data,
9
+ getIcon,
10
+ onVisibleDataChange,
11
+ onItemHover,
12
+ className,
13
+ hoveredId
14
+ }) {
15
+ const [expandedItems, setExpandedItems] = useState(() => {
16
+ const initial = /* @__PURE__ */ new Set();
17
+ data.forEach((item) => {
18
+ if (item.isCollapsible) initial.add(item.id);
19
+ });
20
+ return initial;
21
+ });
22
+ const [searchQuery, setSearchQuery] = useState("");
23
+ const [isCaseSensitive, setIsCaseSensitive] = useState(false);
24
+ const [isRegex, setIsRegex] = useState(false);
25
+ const [isRegexValid, setIsRegexValid] = useState(true);
26
+ const toggleItem = (id) => {
27
+ setExpandedItems((prev) => {
28
+ const newSet = new Set(prev);
29
+ if (newSet.has(id)) {
30
+ newSet.delete(id);
31
+ } else {
32
+ newSet.add(id);
33
+ }
34
+ return newSet;
35
+ });
36
+ };
37
+ const childrenMap = useMemo(() => {
38
+ const map = /* @__PURE__ */ new Map();
39
+ data.forEach((item) => {
40
+ if (!map.has(item.parentId)) {
41
+ map.set(item.parentId, []);
42
+ }
43
+ map.get(item.parentId).push(item);
44
+ });
45
+ return map;
46
+ }, [data]);
47
+ const dataWithMeta = useMemo(() => {
48
+ const dataMap = new Map(data.map((item) => [item.id, item]));
49
+ const getAncestors = (item) => {
50
+ const ancestors = [];
51
+ let current = item.parentId;
52
+ while (current) {
53
+ const parent = dataMap.get(current);
54
+ if (parent) {
55
+ ancestors.unshift(parent);
56
+ current = parent.parentId;
57
+ } else {
58
+ break;
59
+ }
60
+ }
61
+ return ancestors;
62
+ };
63
+ return data.map((item) => {
64
+ const siblings = childrenMap.get(item.parentId) || [];
65
+ const isLast = siblings.length > 0 && siblings[siblings.length - 1].id === item.id;
66
+ const ancestors = getAncestors(item);
67
+ const indent = ancestors.length;
68
+ return { ...item, indent, isLast, ancestors };
69
+ });
70
+ }, [data, childrenMap]);
71
+ const visibleData = useMemo(() => {
72
+ const dataMap = new Map(data.map((item) => [item.id, item]));
73
+ if (!searchQuery) {
74
+ const isVisible = (item) => {
75
+ return item.ancestors.every((ancestor) => expandedItems.has(ancestor.id));
76
+ };
77
+ return dataWithMeta.filter(isVisible);
78
+ }
79
+ const matchingAndAncestorIds = /* @__PURE__ */ new Set();
80
+ let regex = null;
81
+ if (isRegex) {
82
+ try {
83
+ regex = new RegExp(searchQuery, isCaseSensitive ? "" : "i");
84
+ if (!isRegexValid) setIsRegexValid(true);
85
+ } catch {
86
+ if (isRegexValid) setIsRegexValid(false);
87
+ return [];
88
+ }
89
+ }
90
+ data.forEach((item) => {
91
+ let labelMatches = false;
92
+ if (regex) {
93
+ labelMatches = regex.test(item.label);
94
+ } else {
95
+ const source = isCaseSensitive ? item.label : item.label.toLowerCase();
96
+ const query = isCaseSensitive ? searchQuery : searchQuery.toLowerCase();
97
+ labelMatches = source.includes(query);
98
+ }
99
+ if (labelMatches) {
100
+ matchingAndAncestorIds.add(item.id);
101
+ let current = item.parentId;
102
+ while (current) {
103
+ const parent = dataMap.get(current);
104
+ if (parent) {
105
+ matchingAndAncestorIds.add(parent.id);
106
+ current = parent.parentId;
107
+ } else {
108
+ break;
109
+ }
110
+ }
111
+ }
112
+ });
113
+ return dataWithMeta.filter((item) => matchingAndAncestorIds.has(item.id));
114
+ }, [searchQuery, dataWithMeta, expandedItems, isCaseSensitive, isRegex, isRegexValid, data]);
115
+ useEffect(() => {
116
+ onVisibleDataChange == null ? void 0 : onVisibleDataChange(visibleData);
117
+ }, [visibleData, onVisibleDataChange]);
118
+ const renderLabel = (label) => {
119
+ if (!searchQuery || !isRegexValid) {
120
+ return label;
121
+ }
122
+ let regex;
123
+ try {
124
+ regex = new RegExp(`(${searchQuery})`, isCaseSensitive ? "g" : "gi");
125
+ } catch {
126
+ return label;
127
+ }
128
+ const parts = label.split(regex);
129
+ return /* @__PURE__ */ jsx(Fragment, { children: parts.map(
130
+ (part, i) => i % 2 === 1 ? /* @__PURE__ */ jsx("span", { className: "rounded-uk-xs bg-yellow-300 dark:bg-yellow-700", children: part }, i) : part
131
+ ) });
132
+ };
133
+ return /* @__PURE__ */ jsxs("div", { className: cn("border-line-secondary/20 flex flex-col", className), children: [
134
+ /* @__PURE__ */ jsxs("div", { className: "border-line-secondary/20 flex h-[32px] shrink-0 items-center gap-1 border-b px-2", children: [
135
+ /* @__PURE__ */ jsx(Search, { className: "text-text-secondary size-4" }),
136
+ /* @__PURE__ */ jsx(
137
+ "input",
138
+ {
139
+ type: "text",
140
+ placeholder: "Search...",
141
+ className: cn(
142
+ "text-uk-md w-full bg-transparent focus:outline-none",
143
+ !isRegexValid && "text-red-500"
144
+ ),
145
+ value: searchQuery,
146
+ onChange: (e) => setSearchQuery(e.target.value)
147
+ }
148
+ ),
149
+ /* @__PURE__ */ jsxs(TooltipProvider, { delayDuration: 200, children: [
150
+ /* @__PURE__ */ jsxs(Tooltip, { children: [
151
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
152
+ "button",
153
+ {
154
+ onClick: () => setIsCaseSensitive((prev) => !prev),
155
+ className: cn("rounded-uk-sm p-1", isCaseSensitive && "bg-bg-tertiary"),
156
+ children: /* @__PURE__ */ jsx(CaseSensitive, { className: "size-4" })
157
+ }
158
+ ) }),
159
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: "Case Sensitive" }) })
160
+ ] }),
161
+ /* @__PURE__ */ jsxs(Tooltip, { children: [
162
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
163
+ "button",
164
+ {
165
+ onClick: () => setIsRegex((prev) => !prev),
166
+ className: cn("rounded-uk-sm p-1", isRegex && "bg-bg-tertiary"),
167
+ children: /* @__PURE__ */ jsx(Regex, { className: "size-4" })
168
+ }
169
+ ) }),
170
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: "Use Regular Expression" }) })
171
+ ] })
172
+ ] })
173
+ ] }),
174
+ /* @__PURE__ */ jsx("div", { className: "overflow-y-auto", children: visibleData.map((item) => /* @__PURE__ */ jsxs(
175
+ "div",
176
+ {
177
+ className: cn(
178
+ "group relative flex h-[32px] cursor-pointer items-center",
179
+ hoveredId === item.id && "bg-bg-secondary/80"
180
+ ),
181
+ onMouseEnter: () => onItemHover == null ? void 0 : onItemHover(item.id),
182
+ onMouseLeave: () => onItemHover == null ? void 0 : onItemHover(null),
183
+ children: [
184
+ /* @__PURE__ */ jsxs("div", { className: "absolute top-0 left-[-0.28rem] z-0 flex h-full items-center", children: [
185
+ item.ancestors.map((ancestor, index) => {
186
+ var _a;
187
+ const parentIsLast = (_a = dataWithMeta.find((d) => d.id === ancestor.id)) == null ? void 0 : _a.isLast;
188
+ return /* @__PURE__ */ jsx(
189
+ "div",
190
+ {
191
+ className: cn(
192
+ "h-full w-[1.25rem]",
193
+ parentIsLast ? "" : "border-l",
194
+ "border-line-secondary/20"
195
+ )
196
+ },
197
+ index
198
+ );
199
+ }),
200
+ item.indent > 0 && /* @__PURE__ */ jsxs("div", { className: "relative h-full w-[1.24rem]", children: [
201
+ /* @__PURE__ */ jsx(
202
+ "div",
203
+ {
204
+ className: cn(
205
+ "absolute top-0 left-0 h-1/2 w-1/2 border-b border-l",
206
+ item.isLast ? "rounded-bl-md" : "",
207
+ "border-line-secondary/20"
208
+ )
209
+ }
210
+ ),
211
+ !item.isLast && /* @__PURE__ */ jsx("div", { className: "border-line-secondary/20 absolute top-1/2 left-0 h-1/2 w-1/2 border-l" })
212
+ ] })
213
+ ] }),
214
+ /* @__PURE__ */ jsxs(
215
+ "div",
216
+ {
217
+ className: "text-uk-md z-10 flex w-full items-center gap-2 px-2 whitespace-nowrap",
218
+ style: { paddingLeft: `${item.indent * 1.25 + 0.5}rem` },
219
+ children: [
220
+ /* @__PURE__ */ jsxs("div", { className: "relative flex size-4 items-center justify-center", children: [
221
+ item.isCollapsible && /* @__PURE__ */ jsx(
222
+ "button",
223
+ {
224
+ onClick: () => toggleItem(item.id),
225
+ className: "absolute z-20 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100",
226
+ children: /* @__PURE__ */ jsx(
227
+ ChevronDown,
228
+ {
229
+ className: cn(
230
+ "size-4 transition-transform",
231
+ !expandedItems.has(item.id) && "-rotate-90"
232
+ )
233
+ }
234
+ )
235
+ }
236
+ ),
237
+ /* @__PURE__ */ jsx(
238
+ "div",
239
+ {
240
+ className: cn(
241
+ "transition-opacity",
242
+ item.isCollapsible && "group-hover:opacity-0"
243
+ ),
244
+ children: getIcon(item)
245
+ }
246
+ )
247
+ ] }),
248
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: renderLabel(item.label) })
249
+ ]
250
+ }
251
+ )
252
+ ]
253
+ },
254
+ item.id
255
+ )) })
256
+ ] });
257
+ }
258
+
259
+ export { TreeView };
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var chunk5MZCQW4U_js = require('./chunk-5MZCQW4U.js');
4
+ var chunk5OUTEHVX_js = require('./chunk-5OUTEHVX.js');
5
+ var chunkMZ4POL3U_js = require('./chunk-MZ4POL3U.js');
6
+ var chunkQA7H2Z3Z_js = require('./chunk-QA7H2Z3Z.js');
7
+ var chunkSKO72K64_js = require('./chunk-SKO72K64.js');
8
+ var chunkZJXBC33M_js = require('./chunk-ZJXBC33M.js');
9
+
10
+ // src/highlight-cursor/enhanced-components.tsx
11
+ var CursorButton = chunkZJXBC33M_js.withCursor(chunkQA7H2Z3Z_js.Button);
12
+ var CursorTabs = chunkZJXBC33M_js.withCursor(chunk5MZCQW4U_js.Tabs);
13
+ var CursorInputRoot = chunkZJXBC33M_js.withCursor(chunkSKO72K64_js.InputRoot);
14
+ var CursorSelectTrigger = chunkZJXBC33M_js.withCursor(chunkMZ4POL3U_js.SelectTrigger);
15
+ var CursorTextarea = chunkZJXBC33M_js.withCursor(chunk5OUTEHVX_js.Textarea);
16
+
17
+ exports.CursorButton = CursorButton;
18
+ exports.CursorInputRoot = CursorInputRoot;
19
+ exports.CursorSelectTrigger = CursorSelectTrigger;
20
+ exports.CursorTabs = CursorTabs;
21
+ exports.CursorTextarea = CursorTextarea;
@@ -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 SliderPrimitive = require('@radix-ui/react-slider');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -55,7 +55,7 @@ var Slider = react.forwardRef(function Slider2({
55
55
  min,
56
56
  max,
57
57
  step,
58
- className: chunkUWO6RBCE_js.cn(
58
+ className: chunkXXWQ4RVP_js.cn(
59
59
  "relative",
60
60
  "flex",
61
61
  "w-full",
@@ -74,7 +74,7 @@ var Slider = react.forwardRef(function Slider2({
74
74
  SliderPrimitive__namespace.Track,
75
75
  {
76
76
  "data-slot": "slider-track",
77
- className: chunkUWO6RBCE_js.cn(
77
+ className: chunkXXWQ4RVP_js.cn(
78
78
  "peer/slider-track",
79
79
  "bg-line-primary",
80
80
  "relative",
@@ -91,7 +91,7 @@ var Slider = react.forwardRef(function Slider2({
91
91
  SliderPrimitive__namespace.Range,
92
92
  {
93
93
  "data-slot": "slider-range",
94
- className: chunkUWO6RBCE_js.cn(
94
+ className: chunkXXWQ4RVP_js.cn(
95
95
  "bg-brand-primary",
96
96
  "absolute",
97
97
  "data-[disabled]:bg-bg-secondary",
@@ -107,7 +107,7 @@ var Slider = react.forwardRef(function Slider2({
107
107
  SliderPrimitive__namespace.Thumb,
108
108
  {
109
109
  "data-slot": "slider-thumb",
110
- className: chunkUWO6RBCE_js.cn(
110
+ className: chunkXXWQ4RVP_js.cn(
111
111
  "ring-brand-primary/50",
112
112
  "bg-brand-primary",
113
113
  "block",
@@ -152,7 +152,7 @@ function SliderSteps({ step, min, max, currentValue }) {
152
152
  {
153
153
  "data-slot": "slider-step",
154
154
  style: { left: `calc(${step2.position}% + ${thumbInBoundsOffset}px)` },
155
- className: chunkUWO6RBCE_js.cn(
155
+ className: chunkXXWQ4RVP_js.cn(
156
156
  "absolute",
157
157
  "top-1/2",
158
158
  "translate-y-[-50%]",
@@ -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 reactSlot = require('@radix-ui/react-slot');
5
5
  var classVarianceAuthority = require('class-variance-authority');
6
6
  var react = require('react');
@@ -59,9 +59,9 @@ var buttonVariants = classVarianceAuthority.cva(
59
59
  link: ["text-text-primary", "underline-offset-4", "hover:underline"]
60
60
  },
61
61
  size: {
62
- sm: ["text-xs", "h-5.5", "gap-xxs", "px-md", "[&_svg:not([class*='size-'])]:size-3"],
63
- base: ["text-xs", "h-7 ", "gap-xs", " px-lg", "[&_svg:not([class*='size-'])]:size-3.5"],
64
- lg: ["text-sm", "h-8", " gap-xs", "px-xl", "[&_svg:not([class*='size-'])]:size-4"]
62
+ sm: ["text-uk-sm", "h-5.5", "gap-xxs", "px-md", "[&_svg:not([class*='size-'])]:size-3"],
63
+ base: ["text-uk-md", "h-7 ", "gap-xs", " px-lg", "[&_svg:not([class*='size-'])]:size-3.5"],
64
+ lg: ["text-uk-lg", "h-8", " gap-xs", "px-xl", "[&_svg:not([class*='size-'])]:size-4"]
65
65
  },
66
66
  icon: { false: null, true: null }
67
67
  },
@@ -84,7 +84,7 @@ var Button = react.forwardRef(function Button2({ className, variant, size, icon,
84
84
  {
85
85
  ref,
86
86
  "data-slot": "button",
87
- className: chunkUWO6RBCE_js.cn(buttonVariants({ variant, size, icon, className })),
87
+ className: chunkXXWQ4RVP_js.cn(buttonVariants({ variant, size, icon, className })),
88
88
  ...props
89
89
  }
90
90
  );
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import * as SelectPrimitive from '@radix-ui/react-select';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { ChevronDownIcon, ChevronUpIcon } from 'lucide-react';
@@ -22,7 +22,6 @@ function SelectValue({ ...props }) {
22
22
  }
23
23
  var selectTriggerVariants = cva(
24
24
  [
25
- // "data-[placeholder]:text-muted-foreground",
26
25
  "flex",
27
26
  "items-center",
28
27
  "justify-between",
@@ -37,9 +36,8 @@ var selectTriggerVariants = cva(
37
36
  "*:data-[slot=select-value]:flex",
38
37
  "*:data-[slot=select-value]:items-center",
39
38
  "*:data-[slot=select-value]:gap-2",
40
- "[&_svg]:pointer-events-none",
41
39
  "[&_svg]:shrink-0",
42
- "[&_svg:not([class*='size-'])]:size-4",
40
+ "[&_svg]:pointer-events-none",
43
41
  "[&_svg:not([class*='text-'])]:text-muted-foreground"
44
42
  ],
45
43
  {
@@ -50,9 +48,9 @@ var selectTriggerVariants = cva(
50
48
  error: ["hover:bg-danger-primary/10", "bg-danger-primary/20"]
51
49
  },
52
50
  size: {
53
- sm: "p-sm text-sm h-6.5",
54
- base: "",
55
- lg: ""
51
+ sm: "px-sm py-xs text-uk-sm h-5.5 [&_svg:not([class*='size-'])]:size-lg",
52
+ base: "px-md py-sm text-uk-md h-7 [&_svg:not([class*='size-'])]:size-[14px]",
53
+ lg: "px-lg py-sm text-uk-lg h-8 [&_svg:not([class*='size-'])]:size-xl"
56
54
  }
57
55
  },
58
56
  defaultVariants: {
@@ -81,7 +79,7 @@ function SelectTrigger({
81
79
  ...props,
82
80
  children: [
83
81
  children,
84
- /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })
82
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "opacity-50" }) })
85
83
  ]
86
84
  }
87
85
  );
@@ -149,7 +147,7 @@ function SelectLabel({ className, ...props }) {
149
147
  SelectPrimitive.Label,
150
148
  {
151
149
  "data-slot": "select-label",
152
- className: cn("text-text-secondary px-2 py-1.5 text-xs", className),
150
+ className: cn("text-text-secondary text-uk-xs px-2 py-1.5", className),
153
151
  ...props
154
152
  }
155
153
  );
@@ -172,7 +170,7 @@ function SelectItem({ className, children, prefix, suffix, disabled, ...props })
172
170
  "relative",
173
171
  "cursor-default",
174
172
  "rounded-uk-xs",
175
- "text-xs",
173
+ "text-uk-xs",
176
174
  "outline-hidden",
177
175
  "select-none",
178
176
  "focus:bg-bg-secondary",
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-HW6SLBO3.mjs';
1
+ import { cn } from './chunk-KTNZSZ5Y.mjs';
2
2
  import { composeRefs } from '@radix-ui/react-compose-refs';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { forwardRef, useRef } from 'react';
@@ -22,17 +22,18 @@ var inputRootVariants = cva(
22
22
  error: ["hover:bg-danger-primary/10", "bg-danger-primary/20"]
23
23
  },
24
24
  size: {
25
- default: ["h-9 ", "text-xs"],
26
- sm: ["h-6 ", "text-sm ", "[&_.input-slot>svg:not([class*='size-'])]:size-xl"]
25
+ sm: ["h-5.5", "text-uk-sm", "[&_.input-slot>svg:not([class*='size-'])]:size-lg"],
26
+ base: ["h-7", "text-uk-md", "[&_.input-slot>svg:not([class*='size-'])]:size-[14px]"],
27
+ lg: ["h-8", "text-uk-lg", "[&_.input-slot>svg:not([class*='size-'])]:size-xl"]
27
28
  }
28
29
  },
29
30
  defaultVariants: {
30
31
  state: "default",
31
- size: "default"
32
+ size: "base"
32
33
  }
33
34
  }
34
35
  );
35
- var InputRoot = forwardRef(function InputRoot2({ style, className, side, children, disabled, state, size, name, inputClassName, ...props }, ref) {
36
+ var InputRoot = forwardRef(function InputRoot2({ style, className, side, children, disabled, state, size, type, inputClassName, ...props }, ref) {
36
37
  const inputRef = useRef(null);
37
38
  return /* @__PURE__ */ jsxs(
38
39
  "div",
@@ -64,12 +65,21 @@ var InputRoot = forwardRef(function InputRoot2({ style, className, side, childre
64
65
  {
65
66
  spellCheck: "false",
66
67
  ...props,
68
+ type,
67
69
  "data-side": side,
68
70
  disabled,
69
- name: name ?? "text",
71
+ name: type ?? "text",
70
72
  ref: composeRefs(inputRef, ref),
71
73
  className: cn(
72
- ["data-[side=right]:text-right", "outline-none", "w-full", "h-full"],
74
+ [
75
+ "w-full",
76
+ "h-full",
77
+ "outline-none",
78
+ "data-[side=right]:text-right",
79
+ "[input[type=number]]:font-number-input",
80
+ "[&::-webkit-inner-spin-button]:appearance-none",
81
+ "[&::-webkit-outer-spin-button]:appearance-none"
82
+ ],
73
83
  inputClassName
74
84
  )
75
85
  }
@@ -92,8 +102,8 @@ var InputSlot = forwardRef(function({ className, children, side = "left", ...pro
92
102
  "cursor-text",
93
103
  "shrink-0",
94
104
  "order-[0]",
95
- "data-[side=left]:-order-1",
96
- "text-text-tertiary"
105
+ "text-text-tertiary",
106
+ "data-[side=left]:-order-1"
97
107
  ],
98
108
  className
99
109
  ),