@vuer-ai/vuer-uikit 0.0.4 → 0.0.5

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 (149) 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-ATDHGFVI.mjs → chunk-34L2NURS.mjs} +1 -1
  4. package/dist/{chunk-QOUX33X5.mjs → chunk-3XVIJY3H.mjs} +11 -16
  5. package/dist/{chunk-KYKEJFJT.js → chunk-4IU7VY4X.js} +7 -7
  6. package/dist/{chunk-XACRGXGF.js → chunk-4PAHMURP.js} +6 -13
  7. package/dist/{chunk-RACVRWME.js → chunk-5MZCQW4U.js} +13 -18
  8. package/dist/{chunk-7V4ELMOH.js → chunk-5OUTEHVX.js} +8 -12
  9. package/dist/{chunk-KQHNQQUZ.js → chunk-5P3KAS53.js} +5 -4
  10. package/dist/{chunk-OE56M4MX.js → chunk-5TVG5JK5.js} +4 -4
  11. package/dist/{chunk-PKGNHHWG.mjs → chunk-5ZZC23M7.mjs} +1 -1
  12. package/dist/{chunk-R6XNT4PN.js → chunk-6TYLO2AU.js} +13 -13
  13. package/dist/{chunk-ECWCQWV5.js → chunk-735HE3BG.js} +23 -28
  14. package/dist/chunk-AWWKK6AT.mjs +603 -0
  15. package/dist/{chunk-XPNUQSKQ.mjs → chunk-B2E7AY66.mjs} +9 -17
  16. package/dist/{chunk-X2QENXCS.mjs → chunk-BOPZFNFS.mjs} +1 -1
  17. package/dist/{chunk-5GPQ7U5B.mjs → chunk-DDOX4EEM.mjs} +7 -11
  18. package/dist/{chunk-G7XNQVPB.js → chunk-E33MW663.js} +14 -22
  19. package/dist/{chunk-COFRS37Z.mjs → chunk-EUY74AXP.mjs} +11 -7
  20. package/dist/{chunk-GSXXTAQ3.js → chunk-FP26SRGL.js} +19 -15
  21. package/dist/{chunk-MASRZTZC.mjs → chunk-FRT225GK.mjs} +1 -1
  22. package/dist/{chunk-WOG6UIG5.mjs → chunk-G6PRZVSE.mjs} +1 -1
  23. package/dist/chunk-GI5ZA3AG.js +609 -0
  24. package/dist/{chunk-Z37VNICQ.js → chunk-H5P4IX7R.js} +3 -3
  25. package/dist/{chunk-LD7Y34QT.js → chunk-IGBWUFZL.js} +2 -2
  26. package/dist/{chunk-Q3APPCB2.mjs → chunk-IQ6J7YTQ.mjs} +4 -4
  27. package/dist/{chunk-DWIK2CUV.mjs → chunk-JAMJUXBY.mjs} +1 -1
  28. package/dist/chunk-KTNZSZ5Y.mjs +23 -0
  29. package/dist/{chunk-7A7VNE3J.mjs → chunk-LLXRJYQB.mjs} +1 -1
  30. package/dist/{chunk-LVSI4HYF.mjs → chunk-LWFIF2HF.mjs} +7 -7
  31. package/dist/{chunk-7WUQTWQX.js → chunk-MZ4POL3U.js} +18 -20
  32. package/dist/chunk-OBWGRG45.js +21 -0
  33. package/dist/{chunk-KVFK3YC7.js → chunk-PIR7EZC6.js} +6 -6
  34. package/dist/{chunk-5BIQ3IN7.js → chunk-QA7H2Z3Z.js} +5 -5
  35. package/dist/chunk-QD7TNSTX.js +261 -0
  36. package/dist/{chunk-66JQXJEV.mjs → chunk-QVUX6LLD.mjs} +8 -10
  37. package/dist/{chunk-25GQKTNF.mjs → chunk-QYRRQ65X.mjs} +19 -9
  38. package/dist/{chunk-6ILSFDR5.mjs → chunk-RX22QM5B.mjs} +2 -2
  39. package/dist/{chunk-ENZI5WM7.js → chunk-SKO72K64.js} +22 -12
  40. package/dist/{chunk-TOZYLDAL.mjs → chunk-SP3DH5MP.mjs} +5 -12
  41. package/dist/{chunk-CZSRIDXN.mjs → chunk-T3VSSE2L.mjs} +1 -1
  42. package/dist/{chunk-IPKCIMU4.mjs → chunk-TMBKCIVQ.mjs} +9 -17
  43. package/dist/{chunk-NN7R5DNL.mjs → chunk-U276W75T.mjs} +21 -26
  44. package/dist/{chunk-YQORMF34.js → chunk-U7SNLMJR.js} +12 -12
  45. package/dist/{chunk-7SXCVFSA.mjs → chunk-UMIQYHO6.mjs} +1 -1
  46. package/dist/{chunk-KO7BQ6RR.js → chunk-VAXIFFOT.js} +4 -4
  47. package/dist/{chunk-OTDY2E2A.js → chunk-VMPVNLEN.js} +8 -8
  48. package/dist/{chunk-UFR656UY.mjs → chunk-WDUTW7HS.mjs} +11 -11
  49. package/dist/{chunk-M3KBBKQR.mjs → chunk-WMXX2UMD.mjs} +5 -5
  50. package/dist/{chunk-ATEHWT2R.mjs → chunk-WOZWC6KO.mjs} +4 -3
  51. package/dist/{chunk-SI56IQWH.js → chunk-X55EAYE2.js} +14 -22
  52. package/dist/chunk-XU3E2EDQ.mjs +259 -0
  53. package/dist/{chunk-A2Z57NAA.js → chunk-XUQ5A7ZA.js} +2 -2
  54. package/dist/chunk-XXWQ4RVP.js +25 -0
  55. package/dist/{chunk-FYS6YECN.js → chunk-Y5I2GI4V.js} +2 -2
  56. package/dist/{chunk-277NQUJD.js → chunk-YXDJPCAF.js} +5 -5
  57. package/dist/highlight-cursor/cursor-provider.js +3 -3
  58. package/dist/highlight-cursor/cursor-provider.mjs +2 -2
  59. package/dist/highlight-cursor/enhanced-components.js +13 -13
  60. package/dist/highlight-cursor/enhanced-components.mjs +8 -8
  61. package/dist/highlight-cursor/index.js +19 -19
  62. package/dist/highlight-cursor/index.mjs +9 -9
  63. package/dist/index.css +8 -4
  64. package/dist/index.d.mts +3 -1
  65. package/dist/index.d.ts +3 -1
  66. package/dist/index.js +139 -129
  67. package/dist/index.mjs +30 -28
  68. package/dist/styles/theme.css +2 -1
  69. package/dist/styles/toast.css +6 -3
  70. package/dist/ui/avatar.js +7 -6
  71. package/dist/ui/avatar.mjs +3 -2
  72. package/dist/ui/badge.js +4 -4
  73. package/dist/ui/badge.mjs +2 -2
  74. package/dist/ui/button.js +3 -3
  75. package/dist/ui/button.mjs +2 -2
  76. package/dist/ui/card.js +9 -9
  77. package/dist/ui/card.mjs +2 -2
  78. package/dist/ui/checkbox.js +3 -3
  79. package/dist/ui/checkbox.mjs +2 -2
  80. package/dist/ui/collapsible.js +5 -5
  81. package/dist/ui/collapsible.mjs +2 -2
  82. package/dist/ui/dropdown.js +17 -17
  83. package/dist/ui/dropdown.mjs +2 -2
  84. package/dist/ui/index.d.mts +3 -1
  85. package/dist/ui/index.d.ts +3 -1
  86. package/dist/ui/index.js +126 -116
  87. package/dist/ui/index.mjs +28 -26
  88. package/dist/ui/input-numbers.js +4 -4
  89. package/dist/ui/input-numbers.mjs +3 -3
  90. package/dist/ui/input.d.mts +2 -2
  91. package/dist/ui/input.d.ts +2 -2
  92. package/dist/ui/input.js +4 -4
  93. package/dist/ui/input.mjs +2 -2
  94. package/dist/ui/layout.d.mts +1 -1
  95. package/dist/ui/layout.d.ts +1 -1
  96. package/dist/ui/layout.js +3 -3
  97. package/dist/ui/layout.mjs +2 -2
  98. package/dist/ui/modal.js +12 -12
  99. package/dist/ui/modal.mjs +2 -2
  100. package/dist/ui/popover.js +7 -6
  101. package/dist/ui/popover.mjs +3 -2
  102. package/dist/ui/radio-group.js +4 -4
  103. package/dist/ui/radio-group.mjs +2 -2
  104. package/dist/ui/select.d.mts +1 -1
  105. package/dist/ui/select.d.ts +1 -1
  106. package/dist/ui/select.js +12 -12
  107. package/dist/ui/select.mjs +2 -2
  108. package/dist/ui/sheet.d.mts +1 -1
  109. package/dist/ui/sheet.d.ts +1 -1
  110. package/dist/ui/sheet.js +10 -10
  111. package/dist/ui/sheet.mjs +2 -2
  112. package/dist/ui/slider.js +3 -3
  113. package/dist/ui/slider.mjs +2 -2
  114. package/dist/ui/switch.js +3 -3
  115. package/dist/ui/switch.mjs +2 -2
  116. package/dist/ui/tabs.js +7 -7
  117. package/dist/ui/tabs.mjs +3 -3
  118. package/dist/ui/textarea.d.mts +1 -1
  119. package/dist/ui/textarea.d.ts +1 -1
  120. package/dist/ui/textarea.js +3 -3
  121. package/dist/ui/textarea.mjs +2 -2
  122. package/dist/ui/timeline.d.mts +23 -0
  123. package/dist/ui/timeline.d.ts +23 -0
  124. package/dist/ui/timeline.js +14 -0
  125. package/dist/ui/timeline.mjs +5 -0
  126. package/dist/ui/toggle-group.js +5 -5
  127. package/dist/ui/toggle-group.mjs +3 -3
  128. package/dist/ui/toggle.js +4 -4
  129. package/dist/ui/toggle.mjs +2 -2
  130. package/dist/ui/tooltip.js +7 -6
  131. package/dist/ui/tooltip.mjs +3 -2
  132. package/dist/ui/tree-view-v2.d.mts +25 -0
  133. package/dist/ui/tree-view-v2.d.ts +25 -0
  134. package/dist/ui/tree-view-v2.js +13 -0
  135. package/dist/ui/tree-view-v2.mjs +4 -0
  136. package/dist/ui/tree-view.d.mts +7 -6
  137. package/dist/ui/tree-view.d.ts +7 -6
  138. package/dist/ui/tree-view.js +3 -3
  139. package/dist/ui/tree-view.mjs +2 -2
  140. package/dist/utils/cn.js +2 -2
  141. package/dist/utils/cn.mjs +1 -1
  142. package/dist/utils/index.js +2 -2
  143. package/dist/utils/index.mjs +1 -1
  144. package/package.json +2 -2
  145. package/dist/chunk-FVT46HEE.js +0 -21
  146. package/dist/chunk-HW6SLBO3.mjs +0 -9
  147. package/dist/chunk-UWO6RBCE.js +0 -11
  148. /package/dist/{chunk-S2F2GRDB.mjs → chunk-IKIXD35H.mjs} +0 -0
  149. /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 jsxRuntime = require('react/jsx-runtime');
5
5
 
6
6
  function Card({ className, ...props }) {
@@ -8,15 +8,14 @@ function Card({ className, ...props }) {
8
8
  "div",
9
9
  {
10
10
  "data-slot": "card",
11
- className: chunkUWO6RBCE_js.cn(
11
+ className: chunkXXWQ4RVP_js.cn(
12
12
  "flex",
13
13
  "flex-col",
14
- "gap-lg",
14
+ "gap-md",
15
15
  "min-w-[300px]",
16
- "rounded-lg",
16
+ "rounded-uk-lg",
17
17
  "p-lg",
18
18
  "bg-bg-primary",
19
- "border-text-secondary",
20
19
  "shadow-[0_4px_16px_0_var(--color-shadow-secondary)]",
21
20
  "liquid:liquid-bg",
22
21
  className
@@ -30,7 +29,7 @@ function CardHeader({ className, ...props }) {
30
29
  "div",
31
30
  {
32
31
  "data-slot": "card-header",
33
- className: chunkUWO6RBCE_js.cn("flex", "flex-row", "items-center", "justify-between", "gap-lg", className),
32
+ className: chunkXXWQ4RVP_js.cn("flex", "flex-row", "items-center", "justify-between", "gap-lg", className),
34
33
  ...props
35
34
  }
36
35
  );
@@ -40,10 +39,10 @@ function CardTitle({ className, ...props }) {
40
39
  "div",
41
40
  {
42
41
  "data-slot": "card-title",
43
- className: chunkUWO6RBCE_js.cn(
42
+ className: chunkXXWQ4RVP_js.cn(
44
43
  "text-text-highlight",
45
- "text-[14px]",
46
- "leading-[20px]",
44
+ "text-uk-md",
45
+ "leading-uk-md",
47
46
  "font-medium",
48
47
  "vertical-align-middle",
49
48
  className
@@ -57,7 +56,7 @@ function CardDescription({ className, ...props }) {
57
56
  "div",
58
57
  {
59
58
  "data-slot": "card-description",
60
- className: chunkUWO6RBCE_js.cn("text-muted-foreground text-sm", className),
59
+ className: chunkXXWQ4RVP_js.cn("text-text-secondary text-uk-sm leading-uk-sm", className),
61
60
  ...props
62
61
  }
63
62
  );
@@ -67,10 +66,10 @@ function CardAction({ className, ...props }) {
67
66
  "div",
68
67
  {
69
68
  "data-slot": "card-action",
70
- className: chunkUWO6RBCE_js.cn(
69
+ className: chunkXXWQ4RVP_js.cn(
71
70
  "text-text-secondary",
72
- "text-[11px]",
73
- "leading-[14px]",
71
+ "text-uk-sm",
72
+ "leading-uk-sm",
74
73
  "font-medium",
75
74
  "vertical-align-middle",
76
75
  className
@@ -80,17 +79,10 @@ function CardAction({ className, ...props }) {
80
79
  );
81
80
  }
82
81
  function CardContent({ className, ...props }) {
83
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "card-content", className: chunkUWO6RBCE_js.cn("", className), ...props });
82
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "card-content", className: chunkXXWQ4RVP_js.cn("", className), ...props });
84
83
  }
85
84
  function CardFooter({ className, ...props }) {
86
- return /* @__PURE__ */ jsxRuntime.jsx(
87
- "div",
88
- {
89
- "data-slot": "card-footer",
90
- className: chunkUWO6RBCE_js.cn("[.border-t]:pt-6 flex items-center", className),
91
- ...props
92
- }
93
- );
85
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "card-footer", className: chunkXXWQ4RVP_js.cn("flex items-center", className), ...props });
94
86
  }
95
87
 
96
88
  exports.Card = Card;
@@ -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 left-[-0.28rem] top-0 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 left-0 top-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 left-0 top-1/2 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 whitespace-nowrap px-2",
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 inset-0 z-20 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 };
@@ -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 chunkCLTLT5XW_js = require('./chunk-CLTLT5XW.js');
5
5
  var react = require('react');
6
6
  var reactDom = require('react-dom');
@@ -186,7 +186,7 @@ var CursorProvider = ({
186
186
  Component,
187
187
  {
188
188
  ...props,
189
- className: chunkUWO6RBCE_js.cn(className),
189
+ className: chunkXXWQ4RVP_js.cn(className),
190
190
  style: {
191
191
  cursor: isMouseInside && !hoveredElementId ? "none" : "auto",
192
192
  ...props.style
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var tailwindMerge = require('tailwind-merge');
5
+
6
+ // src/utils/cn.ts
7
+ var twMerge = tailwindMerge.extendTailwindMerge({
8
+ override: {
9
+ classGroups: {
10
+ "font-size": [
11
+ "text-uk-xs",
12
+ "text-uk-sm",
13
+ "text-uk-md",
14
+ "text-uk-lg",
15
+ "text-uk-xl",
16
+ "text-uk-xxl"
17
+ ]
18
+ }
19
+ }
20
+ });
21
+ function cn(...inputs) {
22
+ return twMerge(clsx.clsx(inputs));
23
+ }
24
+
25
+ exports.cn = cn;
@@ -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 jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -15,7 +15,7 @@ function Layout({
15
15
  return /* @__PURE__ */ jsxRuntime.jsx(
16
16
  Com,
17
17
  {
18
- className: chunkUWO6RBCE_js.cn(
18
+ className: chunkXXWQ4RVP_js.cn(
19
19
  {
20
20
  "gap-xs flex flex-col": orientation === "horizontal",
21
21
  "gap-xs grid grid-cols-[1fr_2fr] text-center": orientation === "vertical",
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkYQORMF34_js = require('./chunk-YQORMF34.js');
4
- var chunkUWO6RBCE_js = require('./chunk-UWO6RBCE.js');
3
+ var chunkU7SNLMJR_js = require('./chunk-U7SNLMJR.js');
4
+ var chunkXXWQ4RVP_js = require('./chunk-XXWQ4RVP.js');
5
5
  var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -43,7 +43,7 @@ function ToggleGroup({
43
43
  "data-slot": "toggle-group",
44
44
  "data-variant": variant,
45
45
  "data-size": size,
46
- className: chunkUWO6RBCE_js.cn(
46
+ className: chunkXXWQ4RVP_js.cn(
47
47
  "group/toggle-group",
48
48
  "flex",
49
49
  "w-fit",
@@ -71,8 +71,8 @@ function ToggleGroupItem({
71
71
  "data-slot": "toggle-group-item",
72
72
  "data-variant": context.variant || variant,
73
73
  "data-size": context.size || size,
74
- className: chunkUWO6RBCE_js.cn(
75
- chunkYQORMF34_js.toggleVariants({
74
+ className: chunkXXWQ4RVP_js.cn(
75
+ chunkU7SNLMJR_js.toggleVariants({
76
76
  variant: context.variant || variant,
77
77
  size: context.size || size
78
78
  }),
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkA2Z57NAA_js = require('../chunk-A2Z57NAA.js');
4
- require('../chunk-UWO6RBCE.js');
3
+ var chunkXUQ5A7ZA_js = require('../chunk-XUQ5A7ZA.js');
4
+ require('../chunk-XXWQ4RVP.js');
5
5
  require('../chunk-CLTLT5XW.js');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "CursorProvider", {
10
10
  enumerable: true,
11
- get: function () { return chunkA2Z57NAA_js.CursorProvider; }
11
+ get: function () { return chunkXUQ5A7ZA_js.CursorProvider; }
12
12
  });
@@ -1,3 +1,3 @@
1
- export { CursorProvider } from '../chunk-7SXCVFSA.mjs';
2
- import '../chunk-HW6SLBO3.mjs';
1
+ export { CursorProvider } from '../chunk-UMIQYHO6.mjs';
2
+ import '../chunk-KTNZSZ5Y.mjs';
3
3
  import '../chunk-3FR3WKI4.mjs';
@@ -1,36 +1,36 @@
1
1
  'use strict';
2
2
 
3
- var chunkFVT46HEE_js = require('../chunk-FVT46HEE.js');
4
- require('../chunk-RACVRWME.js');
5
- require('../chunk-7V4ELMOH.js');
6
- require('../chunk-7WUQTWQX.js');
7
- require('../chunk-5BIQ3IN7.js');
8
- require('../chunk-ENZI5WM7.js');
9
- require('../chunk-B5EMQBVL.js');
3
+ var chunkOBWGRG45_js = require('../chunk-OBWGRG45.js');
4
+ require('../chunk-5MZCQW4U.js');
5
+ require('../chunk-5OUTEHVX.js');
6
+ require('../chunk-MZ4POL3U.js');
7
+ require('../chunk-QA7H2Z3Z.js');
8
+ require('../chunk-SKO72K64.js');
10
9
  require('../chunk-ZJXBC33M.js');
11
10
  require('../chunk-ST4P6AN6.js');
12
- require('../chunk-UWO6RBCE.js');
11
+ require('../chunk-XXWQ4RVP.js');
13
12
  require('../chunk-CLTLT5XW.js');
13
+ require('../chunk-B5EMQBVL.js');
14
14
 
15
15
 
16
16
 
17
17
  Object.defineProperty(exports, "CursorButton", {
18
18
  enumerable: true,
19
- get: function () { return chunkFVT46HEE_js.CursorButton; }
19
+ get: function () { return chunkOBWGRG45_js.CursorButton; }
20
20
  });
21
21
  Object.defineProperty(exports, "CursorInputRoot", {
22
22
  enumerable: true,
23
- get: function () { return chunkFVT46HEE_js.CursorInputRoot; }
23
+ get: function () { return chunkOBWGRG45_js.CursorInputRoot; }
24
24
  });
25
25
  Object.defineProperty(exports, "CursorSelectTrigger", {
26
26
  enumerable: true,
27
- get: function () { return chunkFVT46HEE_js.CursorSelectTrigger; }
27
+ get: function () { return chunkOBWGRG45_js.CursorSelectTrigger; }
28
28
  });
29
29
  Object.defineProperty(exports, "CursorTabs", {
30
30
  enumerable: true,
31
- get: function () { return chunkFVT46HEE_js.CursorTabs; }
31
+ get: function () { return chunkOBWGRG45_js.CursorTabs; }
32
32
  });
33
33
  Object.defineProperty(exports, "CursorTextarea", {
34
34
  enumerable: true,
35
- get: function () { return chunkFVT46HEE_js.CursorTextarea; }
35
+ get: function () { return chunkOBWGRG45_js.CursorTextarea; }
36
36
  });
@@ -1,11 +1,11 @@
1
- export { CursorButton, CursorInputRoot, CursorSelectTrigger, CursorTabs, CursorTextarea } from '../chunk-M3KBBKQR.mjs';
2
- import '../chunk-QOUX33X5.mjs';
3
- import '../chunk-5GPQ7U5B.mjs';
4
- import '../chunk-66JQXJEV.mjs';
5
- import '../chunk-Q3APPCB2.mjs';
6
- import '../chunk-25GQKTNF.mjs';
7
- import '../chunk-6L4KPPOD.mjs';
1
+ export { CursorButton, CursorInputRoot, CursorSelectTrigger, CursorTabs, CursorTextarea } from '../chunk-WMXX2UMD.mjs';
2
+ import '../chunk-3XVIJY3H.mjs';
3
+ import '../chunk-DDOX4EEM.mjs';
4
+ import '../chunk-QVUX6LLD.mjs';
5
+ import '../chunk-IQ6J7YTQ.mjs';
6
+ import '../chunk-QYRRQ65X.mjs';
8
7
  import '../chunk-CP7QYV4N.mjs';
9
8
  import '../chunk-QS7WS6DD.mjs';
10
- import '../chunk-HW6SLBO3.mjs';
9
+ import '../chunk-KTNZSZ5Y.mjs';
11
10
  import '../chunk-3FR3WKI4.mjs';
11
+ import '../chunk-6L4KPPOD.mjs';
@@ -1,50 +1,50 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-KJ42IGH6.js');
4
- var chunkA2Z57NAA_js = require('../chunk-A2Z57NAA.js');
5
- var chunkFVT46HEE_js = require('../chunk-FVT46HEE.js');
6
- require('../chunk-RACVRWME.js');
7
- require('../chunk-7V4ELMOH.js');
8
- require('../chunk-7WUQTWQX.js');
9
- require('../chunk-5BIQ3IN7.js');
10
- require('../chunk-ENZI5WM7.js');
11
- var chunkB5EMQBVL_js = require('../chunk-B5EMQBVL.js');
4
+ var chunkXUQ5A7ZA_js = require('../chunk-XUQ5A7ZA.js');
5
+ var chunkOBWGRG45_js = require('../chunk-OBWGRG45.js');
6
+ require('../chunk-5MZCQW4U.js');
7
+ require('../chunk-5OUTEHVX.js');
8
+ require('../chunk-MZ4POL3U.js');
9
+ require('../chunk-QA7H2Z3Z.js');
10
+ require('../chunk-SKO72K64.js');
12
11
  var chunkZJXBC33M_js = require('../chunk-ZJXBC33M.js');
13
12
  require('../chunk-ST4P6AN6.js');
14
- require('../chunk-UWO6RBCE.js');
13
+ require('../chunk-XXWQ4RVP.js');
15
14
  require('../chunk-CLTLT5XW.js');
15
+ var chunkB5EMQBVL_js = require('../chunk-B5EMQBVL.js');
16
16
 
17
17
 
18
18
 
19
19
  Object.defineProperty(exports, "CursorProvider", {
20
20
  enumerable: true,
21
- get: function () { return chunkA2Z57NAA_js.CursorProvider; }
21
+ get: function () { return chunkXUQ5A7ZA_js.CursorProvider; }
22
22
  });
23
23
  Object.defineProperty(exports, "CursorButton", {
24
24
  enumerable: true,
25
- get: function () { return chunkFVT46HEE_js.CursorButton; }
25
+ get: function () { return chunkOBWGRG45_js.CursorButton; }
26
26
  });
27
27
  Object.defineProperty(exports, "CursorInputRoot", {
28
28
  enumerable: true,
29
- get: function () { return chunkFVT46HEE_js.CursorInputRoot; }
29
+ get: function () { return chunkOBWGRG45_js.CursorInputRoot; }
30
30
  });
31
31
  Object.defineProperty(exports, "CursorSelectTrigger", {
32
32
  enumerable: true,
33
- get: function () { return chunkFVT46HEE_js.CursorSelectTrigger; }
33
+ get: function () { return chunkOBWGRG45_js.CursorSelectTrigger; }
34
34
  });
35
35
  Object.defineProperty(exports, "CursorTabs", {
36
36
  enumerable: true,
37
- get: function () { return chunkFVT46HEE_js.CursorTabs; }
37
+ get: function () { return chunkOBWGRG45_js.CursorTabs; }
38
38
  });
39
39
  Object.defineProperty(exports, "CursorTextarea", {
40
40
  enumerable: true,
41
- get: function () { return chunkFVT46HEE_js.CursorTextarea; }
42
- });
43
- Object.defineProperty(exports, "TabsCursorProvider", {
44
- enumerable: true,
45
- get: function () { return chunkB5EMQBVL_js.TabsCursorProvider; }
41
+ get: function () { return chunkOBWGRG45_js.CursorTextarea; }
46
42
  });
47
43
  Object.defineProperty(exports, "withCursor", {
48
44
  enumerable: true,
49
45
  get: function () { return chunkZJXBC33M_js.withCursor; }
50
46
  });
47
+ Object.defineProperty(exports, "TabsCursorProvider", {
48
+ enumerable: true,
49
+ get: function () { return chunkB5EMQBVL_js.TabsCursorProvider; }
50
+ });
@@ -1,13 +1,13 @@
1
1
  import '../chunk-VGCVIHBR.mjs';
2
- export { CursorProvider } from '../chunk-7SXCVFSA.mjs';
3
- export { CursorButton, CursorInputRoot, CursorSelectTrigger, CursorTabs, CursorTextarea } from '../chunk-M3KBBKQR.mjs';
4
- import '../chunk-QOUX33X5.mjs';
5
- import '../chunk-5GPQ7U5B.mjs';
6
- import '../chunk-66JQXJEV.mjs';
7
- import '../chunk-Q3APPCB2.mjs';
8
- import '../chunk-25GQKTNF.mjs';
9
- export { TabsCursorProvider } from '../chunk-6L4KPPOD.mjs';
2
+ export { CursorProvider } from '../chunk-UMIQYHO6.mjs';
3
+ export { CursorButton, CursorInputRoot, CursorSelectTrigger, CursorTabs, CursorTextarea } from '../chunk-WMXX2UMD.mjs';
4
+ import '../chunk-3XVIJY3H.mjs';
5
+ import '../chunk-DDOX4EEM.mjs';
6
+ import '../chunk-QVUX6LLD.mjs';
7
+ import '../chunk-IQ6J7YTQ.mjs';
8
+ import '../chunk-QYRRQ65X.mjs';
10
9
  export { withCursor } from '../chunk-CP7QYV4N.mjs';
11
10
  import '../chunk-QS7WS6DD.mjs';
12
- import '../chunk-HW6SLBO3.mjs';
11
+ import '../chunk-KTNZSZ5Y.mjs';
13
12
  import '../chunk-3FR3WKI4.mjs';
13
+ export { TabsCursorProvider } from '../chunk-6L4KPPOD.mjs';