@vuer-ai/vuer-uikit 0.0.47 → 0.0.49
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.
- package/dist/{chunk-IMIHCOOE.js → chunk-2FCKLHWA.js} +1 -1
- package/dist/chunk-53PX4SCN.js +61 -0
- package/dist/{chunk-UZFOWGVD.mjs → chunk-5CWWM4L7.mjs} +9 -2
- package/dist/chunk-7NHWT7CO.mjs +26 -0
- package/dist/{chunk-5VYIGLGB.mjs → chunk-AJKD26TR.mjs} +1 -1
- package/dist/{chunk-NSN3O6CZ.mjs → chunk-AQENEOV3.mjs} +2 -2
- package/dist/{chunk-NKNUMZJL.mjs → chunk-DDG2W6BX.mjs} +36 -27
- package/dist/{chunk-KDRYDUQT.js → chunk-DWK23X7J.js} +1 -0
- package/dist/{chunk-R3SHGA4V.js → chunk-EOTROHFU.js} +36 -27
- package/dist/chunk-GCIH5IMQ.mjs +118 -0
- package/dist/chunk-HOQHWWLY.mjs +37 -0
- package/dist/{chunk-AKBWNVRH.js → chunk-HYVF2TGW.js} +2 -2
- package/dist/{chunk-QQMHPZFI.js → chunk-JIRSHP3D.js} +9 -2
- package/dist/chunk-KYWKRMXK.js +48 -0
- package/dist/chunk-N6DZ364I.mjs +15 -0
- package/dist/chunk-NXTGTCPA.mjs +19 -0
- package/dist/{chunk-3WAI7WDK.mjs → chunk-PDXJXH4A.mjs} +1 -1
- package/dist/chunk-PF36CKO7.mjs +599 -0
- package/dist/{chunk-I5UCKLLT.mjs → chunk-PZ3FWTMB.mjs} +1 -1
- package/dist/chunk-QPQSH53G.js +17 -0
- package/dist/chunk-VAEPAW5L.js +126 -0
- package/dist/{chunk-M3S7NSGR.mjs → chunk-VSFCQCKQ.mjs} +2 -2
- package/dist/{chunk-YGSTPCLB.mjs → chunk-VSYSYSVQ.mjs} +47 -31
- package/dist/{chunk-BGXUSJT2.js → chunk-WEHNW5KY.js} +2 -2
- package/dist/{chunk-HE63LZKF.js → chunk-XBKQWS7J.js} +3 -3
- package/dist/chunk-YFPY5SLS.js +41 -0
- package/dist/{chunk-VEUXQSY3.js → chunk-YNKO5FOU.js} +47 -31
- package/dist/chunk-YOKGP5F7.js +624 -0
- package/dist/highlight-cursor/cursor-provider.js +2 -2
- package/dist/highlight-cursor/cursor-provider.mjs +1 -1
- package/dist/highlight-cursor/enhanced-components.d.mts +3 -3
- package/dist/highlight-cursor/enhanced-components.d.ts +3 -3
- package/dist/highlight-cursor/enhanced-components.js +10 -10
- package/dist/highlight-cursor/enhanced-components.mjs +5 -5
- package/dist/highlight-cursor/index.d.mts +3 -3
- package/dist/highlight-cursor/index.d.ts +3 -3
- package/dist/highlight-cursor/index.js +12 -12
- package/dist/highlight-cursor/index.mjs +6 -6
- package/dist/hooks/index.js +7 -7
- package/dist/hooks/index.mjs +2 -2
- package/dist/hooks/use-mobile.d.mts +3 -0
- package/dist/hooks/use-mobile.d.ts +3 -0
- package/dist/hooks/use-mobile.js +10 -0
- package/dist/hooks/use-mobile.mjs +1 -0
- package/dist/hooks/useDragSelect.js +2 -2
- package/dist/hooks/useDragSelect.mjs +1 -1
- package/dist/index.d.mts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +285 -139
- package/dist/index.mjs +28 -22
- package/dist/ui/avatar.js +2 -2
- package/dist/ui/avatar.mjs +2 -2
- package/dist/ui/badge.d.mts +2 -2
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/badge.js +2 -2
- package/dist/ui/badge.mjs +2 -2
- package/dist/ui/button.d.mts +2 -2
- package/dist/ui/button.d.ts +2 -2
- package/dist/ui/button.js +8 -4
- package/dist/ui/button.mjs +3 -3
- package/dist/ui/card.js +2 -2
- package/dist/ui/card.mjs +2 -2
- package/dist/ui/checkbox.js +2 -2
- package/dist/ui/checkbox.mjs +2 -2
- package/dist/ui/collapsible.js +2 -2
- package/dist/ui/collapsible.mjs +2 -2
- package/dist/ui/drawer.js +2 -2
- package/dist/ui/drawer.mjs +2 -2
- package/dist/ui/dropdown.js +2 -2
- package/dist/ui/dropdown.mjs +2 -2
- package/dist/ui/form/CmInput.js +2 -2
- package/dist/ui/form/CmInput.mjs +2 -2
- package/dist/ui/form/DegInput.js +2 -2
- package/dist/ui/form/DegInput.mjs +2 -2
- package/dist/ui/form/EulerDegInput.js +2 -2
- package/dist/ui/form/EulerDegInput.mjs +2 -2
- package/dist/ui/form/EulerInput.js +2 -2
- package/dist/ui/form/EulerInput.mjs +2 -2
- package/dist/ui/form/EulerRadInput.js +2 -2
- package/dist/ui/form/EulerRadInput.mjs +2 -2
- package/dist/ui/form/InchInput.js +2 -2
- package/dist/ui/form/InchInput.mjs +2 -2
- package/dist/ui/form/IntInput.js +2 -2
- package/dist/ui/form/IntInput.mjs +2 -2
- package/dist/ui/form/KVectorInput.js +2 -2
- package/dist/ui/form/KVectorInput.mjs +2 -2
- package/dist/ui/form/NumberInput.js +2 -2
- package/dist/ui/form/NumberInput.mjs +2 -2
- package/dist/ui/form/QuaternionInput.js +2 -2
- package/dist/ui/form/QuaternionInput.mjs +2 -2
- package/dist/ui/form/RadInput.js +2 -2
- package/dist/ui/form/RadInput.mjs +2 -2
- package/dist/ui/form/TimeInput.js +2 -2
- package/dist/ui/form/TimeInput.mjs +2 -2
- package/dist/ui/form/Vec3Input.js +2 -2
- package/dist/ui/form/Vec3Input.mjs +2 -2
- package/dist/ui/form/VectorInput.js +2 -2
- package/dist/ui/form/VectorInput.mjs +2 -2
- package/dist/ui/form/index.js +17 -17
- package/dist/ui/form/index.mjs +5 -5
- package/dist/ui/index.d.mts +9 -3
- package/dist/ui/index.d.ts +9 -3
- package/dist/ui/index.js +270 -124
- package/dist/ui/index.mjs +26 -20
- package/dist/ui/input-numbers.js +2 -2
- package/dist/ui/input-numbers.mjs +2 -2
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/input.js +2 -2
- package/dist/ui/input.mjs +2 -2
- package/dist/ui/layout.js +2 -2
- package/dist/ui/layout.mjs +2 -2
- package/dist/ui/modal.js +2 -2
- package/dist/ui/modal.mjs +2 -2
- package/dist/ui/pagination.d.mts +18 -0
- package/dist/ui/pagination.d.ts +18 -0
- package/dist/ui/pagination.js +43 -0
- package/dist/ui/pagination.mjs +10 -0
- package/dist/ui/popover.js +2 -2
- package/dist/ui/popover.mjs +2 -2
- package/dist/ui/radio-group.js +2 -2
- package/dist/ui/radio-group.mjs +2 -2
- package/dist/ui/resizable.d.mts +14 -0
- package/dist/ui/resizable.d.ts +14 -0
- package/dist/ui/resizable.js +25 -0
- package/dist/ui/resizable.mjs +8 -0
- package/dist/ui/select.d.mts +1 -1
- package/dist/ui/select.d.ts +1 -1
- package/dist/ui/select.js +2 -2
- package/dist/ui/select.mjs +2 -2
- package/dist/ui/separator.d.mts +7 -0
- package/dist/ui/separator.d.ts +7 -0
- package/dist/ui/separator.js +17 -0
- package/dist/ui/separator.mjs +8 -0
- package/dist/ui/sheet.js +2 -2
- package/dist/ui/sheet.mjs +2 -2
- package/dist/ui/sidebar.d.mts +75 -0
- package/dist/ui/sidebar.d.ts +75 -0
- package/dist/ui/sidebar.js +116 -0
- package/dist/ui/sidebar.mjs +15 -0
- package/dist/ui/skeleton.d.mts +6 -0
- package/dist/ui/skeleton.d.ts +6 -0
- package/dist/ui/skeleton.js +17 -0
- package/dist/ui/skeleton.mjs +8 -0
- package/dist/ui/slider.js +2 -2
- package/dist/ui/slider.mjs +2 -2
- package/dist/ui/switch.js +2 -2
- package/dist/ui/switch.mjs +2 -2
- package/dist/ui/tabs.js +2 -2
- package/dist/ui/tabs.mjs +2 -2
- package/dist/ui/textarea.js +2 -2
- package/dist/ui/textarea.mjs +2 -2
- package/dist/ui/timeline.js +5 -5
- package/dist/ui/timeline.mjs +4 -4
- package/dist/ui/toggle-group.js +2 -2
- package/dist/ui/toggle-group.mjs +2 -2
- package/dist/ui/toggle.js +2 -2
- package/dist/ui/toggle.mjs +2 -2
- package/dist/ui/tooltip.js +2 -2
- package/dist/ui/tooltip.mjs +2 -2
- package/dist/ui/tree-view-v2.d.mts +5 -1
- package/dist/ui/tree-view-v2.d.ts +5 -1
- package/dist/ui/tree-view-v2.js +4 -4
- package/dist/ui/tree-view-v2.mjs +3 -3
- package/dist/ui/tree-view.js +4 -4
- package/dist/ui/tree-view.mjs +3 -3
- package/dist/ui/version-badge.js +4 -4
- package/dist/ui/version-badge.mjs +3 -3
- package/package.json +2 -1
- package/src/hooks/useDragSelect.ts +12 -2
- package/src/ui/index.ts +1 -0
- package/src/ui/resizable.tsx +50 -0
- package/src/ui/sidebar.tsx +13 -13
- package/src/ui/tree-view-v2.tsx +47 -22
- /package/dist/{chunk-YQKZSWI6.js → chunk-GLGYNU3Q.js} +0 -0
- /package/dist/{chunk-4IXZRYYD.mjs → chunk-ZFWQLAQA.mjs} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk7KYAICHB_js = require('./chunk-7KYAICHB.js');
|
|
4
|
+
var lucideReact = require('lucide-react');
|
|
5
|
+
var ResizablePrimitive = require('react-resizable-panels');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function _interopNamespace(e) {
|
|
9
|
+
if (e && e.__esModule) return e;
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var ResizablePrimitive__namespace = /*#__PURE__*/_interopNamespace(ResizablePrimitive);
|
|
27
|
+
|
|
28
|
+
function ResizablePanelGroup({ className, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
+
ResizablePrimitive__namespace.PanelGroup,
|
|
31
|
+
{
|
|
32
|
+
"data-slot": "resizable-panel-group",
|
|
33
|
+
className: chunk7KYAICHB_js.cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
|
|
34
|
+
...props
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
function ResizablePanel(props) {
|
|
39
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ResizablePrimitive__namespace.Panel, { "data-slot": "resizable-panel", ...props });
|
|
40
|
+
}
|
|
41
|
+
function ResizableHandle({ withHandle, className, children, ...props }) {
|
|
42
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
43
|
+
ResizablePrimitive__namespace.PanelResizeHandle,
|
|
44
|
+
{
|
|
45
|
+
"data-slot": "resizable-handle",
|
|
46
|
+
className: chunk7KYAICHB_js.cn(
|
|
47
|
+
"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
|
|
48
|
+
className
|
|
49
|
+
),
|
|
50
|
+
...props,
|
|
51
|
+
children: [
|
|
52
|
+
children,
|
|
53
|
+
!children && withHandle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripVerticalIcon, { className: "size-2.5" }) })
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
exports.ResizableHandle = ResizableHandle;
|
|
60
|
+
exports.ResizablePanel = ResizablePanel;
|
|
61
|
+
exports.ResizablePanelGroup = ResizablePanelGroup;
|
|
@@ -5,6 +5,7 @@ function useDragSelect(options = {}) {
|
|
|
5
5
|
const [selectedItems, setSelectedItems] = useState(/* @__PURE__ */ new Set());
|
|
6
6
|
const [isDragging, setIsDragging] = useState(false);
|
|
7
7
|
const [dragMode, setDragMode] = useState("toggle");
|
|
8
|
+
const [dragStartItem, setDragStartItem] = useState(null);
|
|
8
9
|
useEffect(() => {
|
|
9
10
|
var _a;
|
|
10
11
|
(_a = options.onSelectionChange) == null ? void 0 : _a.call(options, selectedItems);
|
|
@@ -12,6 +13,7 @@ function useDragSelect(options = {}) {
|
|
|
12
13
|
const handleMouseDown = useCallback((id, e) => {
|
|
13
14
|
e.preventDefault();
|
|
14
15
|
setIsDragging(true);
|
|
16
|
+
setDragStartItem(id);
|
|
15
17
|
const mode = e.ctrlKey || e.metaKey ? "replace" : "toggle";
|
|
16
18
|
setDragMode(mode);
|
|
17
19
|
if (mode === "replace") {
|
|
@@ -31,6 +33,7 @@ function useDragSelect(options = {}) {
|
|
|
31
33
|
const handleMouseEnter = useCallback(
|
|
32
34
|
(id) => {
|
|
33
35
|
if (!isDragging) return;
|
|
36
|
+
if (id === dragStartItem) return;
|
|
34
37
|
if (dragMode === "replace") {
|
|
35
38
|
setSelectedItems((prev) => /* @__PURE__ */ new Set([...prev, id]));
|
|
36
39
|
} else {
|
|
@@ -45,10 +48,11 @@ function useDragSelect(options = {}) {
|
|
|
45
48
|
});
|
|
46
49
|
}
|
|
47
50
|
},
|
|
48
|
-
[isDragging, dragMode]
|
|
51
|
+
[isDragging, dragMode, dragStartItem]
|
|
49
52
|
);
|
|
50
53
|
useCallback(() => {
|
|
51
54
|
setIsDragging(false);
|
|
55
|
+
setDragStartItem(null);
|
|
52
56
|
}, []);
|
|
53
57
|
const clearSelection = useCallback(() => {
|
|
54
58
|
setSelectedItems(/* @__PURE__ */ new Set());
|
|
@@ -66,7 +70,10 @@ function useDragSelect(options = {}) {
|
|
|
66
70
|
[selectedItems, handleMouseDown, handleMouseEnter]
|
|
67
71
|
);
|
|
68
72
|
useEffect(() => {
|
|
69
|
-
const handleGlobalMouseUp = () =>
|
|
73
|
+
const handleGlobalMouseUp = () => {
|
|
74
|
+
setIsDragging(false);
|
|
75
|
+
setDragStartItem(null);
|
|
76
|
+
};
|
|
70
77
|
const handleEscape = (e) => {
|
|
71
78
|
if (e.key === "Escape") {
|
|
72
79
|
clearSelection();
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { cn } from './chunk-WM2VP7MI.mjs';
|
|
2
|
+
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function Separator({
|
|
6
|
+
className,
|
|
7
|
+
orientation = "horizontal",
|
|
8
|
+
decorative = true,
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
12
|
+
SeparatorPrimitive.Root,
|
|
13
|
+
{
|
|
14
|
+
"data-slot": "separator-root",
|
|
15
|
+
decorative,
|
|
16
|
+
orientation,
|
|
17
|
+
className: cn(
|
|
18
|
+
"bg-line-primary shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
19
|
+
className
|
|
20
|
+
),
|
|
21
|
+
...props
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { Separator };
|
|
@@ -170,9 +170,9 @@ var CursorProvider = ({
|
|
|
170
170
|
);
|
|
171
171
|
let styleClass;
|
|
172
172
|
if (hoveredElementId) {
|
|
173
|
-
styleClass = `opacity-[0.05] rounded-md transition-[width,height,left,top] duration-${transitionDuration} ease-out`;
|
|
173
|
+
styleClass = `opacity-[0.05] rounded-uk-md transition-[width,height,left,top] duration-${transitionDuration} ease-out`;
|
|
174
174
|
} else {
|
|
175
|
-
styleClass = `opacity-90 rounded-
|
|
175
|
+
styleClass = `opacity-90 rounded-full z-10 transition-[width,height,left,top] duration-${transitionDuration} ease-out transition-opacity duration-${transitionDuration}`;
|
|
176
176
|
}
|
|
177
177
|
const cursorElement = isClient && isMouseInside && /* @__PURE__ */ jsx(
|
|
178
178
|
"div",
|
|
@@ -69,33 +69,42 @@ var TreeViewRoot = forwardRef(
|
|
|
69
69
|
walkTreeItems(data, initialSelectedItemId);
|
|
70
70
|
return ids;
|
|
71
71
|
}, [data, expandAll, initialSelectedItemId]);
|
|
72
|
-
return /* @__PURE__ */ jsxs(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
72
|
+
return /* @__PURE__ */ jsxs(
|
|
73
|
+
"div",
|
|
74
|
+
{
|
|
75
|
+
className: cn(
|
|
76
|
+
"px-sm relative w-[300px] w-full overflow-x-auto overflow-y-hidden",
|
|
77
|
+
className
|
|
78
|
+
),
|
|
79
|
+
children: [
|
|
80
|
+
/* @__PURE__ */ jsx(
|
|
81
|
+
TreeItem,
|
|
82
|
+
{
|
|
83
|
+
data,
|
|
84
|
+
ref,
|
|
85
|
+
selectedItemId,
|
|
86
|
+
handleSelectChange,
|
|
87
|
+
expandedItemIds,
|
|
88
|
+
defaultLeafIcon,
|
|
89
|
+
defaultNodeIcon,
|
|
90
|
+
handleDragStart,
|
|
91
|
+
handleDrop,
|
|
92
|
+
draggedItem,
|
|
93
|
+
...props
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ jsx(
|
|
97
|
+
"div",
|
|
98
|
+
{
|
|
99
|
+
className: "h-[0px] w-full",
|
|
100
|
+
onDrop: () => {
|
|
101
|
+
handleDrop({ id: "", name: "parent_div" });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
);
|
|
99
108
|
}
|
|
100
109
|
);
|
|
101
110
|
TreeViewRoot.displayName = "TreeViewRoot";
|
|
@@ -91,33 +91,42 @@ var TreeViewRoot = react.forwardRef(
|
|
|
91
91
|
walkTreeItems(data, initialSelectedItemId);
|
|
92
92
|
return ids;
|
|
93
93
|
}, [data, expandAll, initialSelectedItemId]);
|
|
94
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
94
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
95
|
+
"div",
|
|
96
|
+
{
|
|
97
|
+
className: chunk7KYAICHB_js.cn(
|
|
98
|
+
"px-sm relative w-[300px] w-full overflow-x-auto overflow-y-hidden",
|
|
99
|
+
className
|
|
100
|
+
),
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
103
|
+
TreeItem,
|
|
104
|
+
{
|
|
105
|
+
data,
|
|
106
|
+
ref,
|
|
107
|
+
selectedItemId,
|
|
108
|
+
handleSelectChange,
|
|
109
|
+
expandedItemIds,
|
|
110
|
+
defaultLeafIcon,
|
|
111
|
+
defaultNodeIcon,
|
|
112
|
+
handleDragStart,
|
|
113
|
+
handleDrop,
|
|
114
|
+
draggedItem,
|
|
115
|
+
...props
|
|
116
|
+
}
|
|
117
|
+
),
|
|
118
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
className: "h-[0px] w-full",
|
|
122
|
+
onDrop: () => {
|
|
123
|
+
handleDrop({ id: "", name: "parent_div" });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
);
|
|
121
130
|
}
|
|
122
131
|
);
|
|
123
132
|
TreeViewRoot.displayName = "TreeViewRoot";
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { buttonVariants } from './chunk-PZ3FWTMB.mjs';
|
|
2
|
+
import { cn } from './chunk-WM2VP7MI.mjs';
|
|
3
|
+
import { useTabsCursor, TabsCursorProvider } from './chunk-XMG3IVGZ.mjs';
|
|
4
|
+
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function Pagination({ className, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
"nav",
|
|
10
|
+
{
|
|
11
|
+
role: "navigation",
|
|
12
|
+
"aria-label": "pagination",
|
|
13
|
+
"data-slot": "pagination",
|
|
14
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
15
|
+
...props
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
function PaginationContent({ className, ...props }) {
|
|
20
|
+
const { setCursorTarget } = useTabsCursor();
|
|
21
|
+
return /* @__PURE__ */ jsx(TabsCursorProvider, { children: /* @__PURE__ */ jsx(
|
|
22
|
+
"ul",
|
|
23
|
+
{
|
|
24
|
+
onMouseLeave: () => setCursorTarget(null),
|
|
25
|
+
"data-slot": "pagination-content",
|
|
26
|
+
className: cn("gap-xs flex flex-row items-center", className),
|
|
27
|
+
style: {
|
|
28
|
+
marginBottom: "0px"
|
|
29
|
+
},
|
|
30
|
+
...props
|
|
31
|
+
}
|
|
32
|
+
) });
|
|
33
|
+
}
|
|
34
|
+
function PaginationItem({ ...props }) {
|
|
35
|
+
const { setCursorTarget } = useTabsCursor();
|
|
36
|
+
return /* @__PURE__ */ jsx(
|
|
37
|
+
"li",
|
|
38
|
+
{
|
|
39
|
+
onMouseEnter: (e) => setCursorTarget(e.currentTarget),
|
|
40
|
+
"data-slot": "pagination-item",
|
|
41
|
+
className: "rounded-uk-sm",
|
|
42
|
+
style: {
|
|
43
|
+
marginBottom: "0px"
|
|
44
|
+
},
|
|
45
|
+
...props
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
function PaginationLink({
|
|
50
|
+
className,
|
|
51
|
+
isActive,
|
|
52
|
+
...props
|
|
53
|
+
}) {
|
|
54
|
+
return /* @__PURE__ */ jsx(
|
|
55
|
+
"a",
|
|
56
|
+
{
|
|
57
|
+
"aria-current": isActive ? "page" : void 0,
|
|
58
|
+
"data-slot": "pagination-link",
|
|
59
|
+
"data-active": isActive,
|
|
60
|
+
className: cn(
|
|
61
|
+
buttonVariants({
|
|
62
|
+
variant: isActive ? "secondary" : "ghost"
|
|
63
|
+
}),
|
|
64
|
+
"hover:bg-transparent",
|
|
65
|
+
"hover:text-text-primary",
|
|
66
|
+
className
|
|
67
|
+
),
|
|
68
|
+
...props
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
function PaginationPrevious({ className, ...props }) {
|
|
73
|
+
return /* @__PURE__ */ jsxs(
|
|
74
|
+
PaginationLink,
|
|
75
|
+
{
|
|
76
|
+
"aria-label": "Go to previous page",
|
|
77
|
+
size: "base",
|
|
78
|
+
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
79
|
+
...props,
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, {}),
|
|
82
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Previous" })
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
function PaginationNext({ className, ...props }) {
|
|
88
|
+
return /* @__PURE__ */ jsxs(
|
|
89
|
+
PaginationLink,
|
|
90
|
+
{
|
|
91
|
+
"aria-label": "Go to next page",
|
|
92
|
+
size: "base",
|
|
93
|
+
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
94
|
+
...props,
|
|
95
|
+
children: [
|
|
96
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Next" }),
|
|
97
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, {})
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
function PaginationEllipsis({ className, ...props }) {
|
|
103
|
+
return /* @__PURE__ */ jsxs(
|
|
104
|
+
"span",
|
|
105
|
+
{
|
|
106
|
+
"aria-hidden": true,
|
|
107
|
+
"data-slot": "pagination-ellipsis",
|
|
108
|
+
className: cn("text-text-primary flex size-9 items-center justify-center", className),
|
|
109
|
+
...props,
|
|
110
|
+
children: [
|
|
111
|
+
/* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "size-4" }),
|
|
112
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { cn } from './chunk-WM2VP7MI.mjs';
|
|
2
|
+
import { GripVerticalIcon } from 'lucide-react';
|
|
3
|
+
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function ResizablePanelGroup({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
ResizablePrimitive.PanelGroup,
|
|
9
|
+
{
|
|
10
|
+
"data-slot": "resizable-panel-group",
|
|
11
|
+
className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
|
|
12
|
+
...props
|
|
13
|
+
}
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
function ResizablePanel(props) {
|
|
17
|
+
return /* @__PURE__ */ jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
18
|
+
}
|
|
19
|
+
function ResizableHandle({ withHandle, className, children, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsxs(
|
|
21
|
+
ResizablePrimitive.PanelResizeHandle,
|
|
22
|
+
{
|
|
23
|
+
"data-slot": "resizable-handle",
|
|
24
|
+
className: cn(
|
|
25
|
+
"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
...props,
|
|
29
|
+
children: [
|
|
30
|
+
children,
|
|
31
|
+
!children && withHandle && /* @__PURE__ */ jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx(GripVerticalIcon, { className: "size-2.5" }) })
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
|
|
@@ -172,9 +172,9 @@ var CursorProvider = ({
|
|
|
172
172
|
);
|
|
173
173
|
let styleClass;
|
|
174
174
|
if (hoveredElementId) {
|
|
175
|
-
styleClass = `opacity-[0.05] rounded-md transition-[width,height,left,top] duration-${transitionDuration} ease-out`;
|
|
175
|
+
styleClass = `opacity-[0.05] rounded-uk-md transition-[width,height,left,top] duration-${transitionDuration} ease-out`;
|
|
176
176
|
} else {
|
|
177
|
-
styleClass = `opacity-90 rounded-
|
|
177
|
+
styleClass = `opacity-90 rounded-full z-10 transition-[width,height,left,top] duration-${transitionDuration} ease-out transition-opacity duration-${transitionDuration}`;
|
|
178
178
|
}
|
|
179
179
|
const cursorElement = isClient && isMouseInside && /* @__PURE__ */ jsxRuntime.jsx(
|
|
180
180
|
"div",
|
|
@@ -7,6 +7,7 @@ function useDragSelect(options = {}) {
|
|
|
7
7
|
const [selectedItems, setSelectedItems] = react.useState(/* @__PURE__ */ new Set());
|
|
8
8
|
const [isDragging, setIsDragging] = react.useState(false);
|
|
9
9
|
const [dragMode, setDragMode] = react.useState("toggle");
|
|
10
|
+
const [dragStartItem, setDragStartItem] = react.useState(null);
|
|
10
11
|
react.useEffect(() => {
|
|
11
12
|
var _a;
|
|
12
13
|
(_a = options.onSelectionChange) == null ? void 0 : _a.call(options, selectedItems);
|
|
@@ -14,6 +15,7 @@ function useDragSelect(options = {}) {
|
|
|
14
15
|
const handleMouseDown = react.useCallback((id, e) => {
|
|
15
16
|
e.preventDefault();
|
|
16
17
|
setIsDragging(true);
|
|
18
|
+
setDragStartItem(id);
|
|
17
19
|
const mode = e.ctrlKey || e.metaKey ? "replace" : "toggle";
|
|
18
20
|
setDragMode(mode);
|
|
19
21
|
if (mode === "replace") {
|
|
@@ -33,6 +35,7 @@ function useDragSelect(options = {}) {
|
|
|
33
35
|
const handleMouseEnter = react.useCallback(
|
|
34
36
|
(id) => {
|
|
35
37
|
if (!isDragging) return;
|
|
38
|
+
if (id === dragStartItem) return;
|
|
36
39
|
if (dragMode === "replace") {
|
|
37
40
|
setSelectedItems((prev) => /* @__PURE__ */ new Set([...prev, id]));
|
|
38
41
|
} else {
|
|
@@ -47,10 +50,11 @@ function useDragSelect(options = {}) {
|
|
|
47
50
|
});
|
|
48
51
|
}
|
|
49
52
|
},
|
|
50
|
-
[isDragging, dragMode]
|
|
53
|
+
[isDragging, dragMode, dragStartItem]
|
|
51
54
|
);
|
|
52
55
|
react.useCallback(() => {
|
|
53
56
|
setIsDragging(false);
|
|
57
|
+
setDragStartItem(null);
|
|
54
58
|
}, []);
|
|
55
59
|
const clearSelection = react.useCallback(() => {
|
|
56
60
|
setSelectedItems(/* @__PURE__ */ new Set());
|
|
@@ -68,7 +72,10 @@ function useDragSelect(options = {}) {
|
|
|
68
72
|
[selectedItems, handleMouseDown, handleMouseEnter]
|
|
69
73
|
);
|
|
70
74
|
react.useEffect(() => {
|
|
71
|
-
const handleGlobalMouseUp = () =>
|
|
75
|
+
const handleGlobalMouseUp = () => {
|
|
76
|
+
setIsDragging(false);
|
|
77
|
+
setDragStartItem(null);
|
|
78
|
+
};
|
|
72
79
|
const handleEscape = (e) => {
|
|
73
80
|
if (e.key === "Escape") {
|
|
74
81
|
clearSelection();
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk7KYAICHB_js = require('./chunk-7KYAICHB.js');
|
|
4
|
+
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
26
|
+
|
|
27
|
+
function Separator({
|
|
28
|
+
className,
|
|
29
|
+
orientation = "horizontal",
|
|
30
|
+
decorative = true,
|
|
31
|
+
...props
|
|
32
|
+
}) {
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
SeparatorPrimitive__namespace.Root,
|
|
35
|
+
{
|
|
36
|
+
"data-slot": "separator-root",
|
|
37
|
+
decorative,
|
|
38
|
+
orientation,
|
|
39
|
+
className: chunk7KYAICHB_js.cn(
|
|
40
|
+
"bg-line-primary shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
41
|
+
className
|
|
42
|
+
),
|
|
43
|
+
...props
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
exports.Separator = Separator;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cn } from './chunk-WM2VP7MI.mjs';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
function Skeleton({ className, ...props }) {
|
|
5
|
+
return /* @__PURE__ */ jsx(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
"data-slot": "skeleton",
|
|
9
|
+
className: cn("bg-bg-secondary rounded-uk-sm animate-pulse", className),
|
|
10
|
+
...props
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { Skeleton };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
// src/hooks/use-mobile.ts
|
|
4
|
+
var MOBILE_BREAKPOINT = 768;
|
|
5
|
+
function useIsMobile() {
|
|
6
|
+
const [isMobile, setIsMobile] = React.useState(void 0);
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
9
|
+
const onChange = () => {
|
|
10
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
11
|
+
};
|
|
12
|
+
mql.addEventListener("change", onChange);
|
|
13
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
14
|
+
return () => mql.removeEventListener("change", onChange);
|
|
15
|
+
}, []);
|
|
16
|
+
return !!isMobile;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { useIsMobile };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TreeView } from './chunk-
|
|
1
|
+
import { TreeView } from './chunk-VSYSYSVQ.mjs';
|
|
2
2
|
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-TCN3UDQE.mjs';
|
|
3
3
|
import { cn } from './chunk-WM2VP7MI.mjs';
|
|
4
4
|
import { Magnet, ChevronLeft, ChevronRight } from 'lucide-react';
|