@vuer-ai/vuer-uikit 0.0.76 → 0.0.77

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 (59) hide show
  1. package/dist/chunk-33ZAFHOY.cjs +99 -0
  2. package/dist/{chunk-TSHZODTT.mjs → chunk-3HERIMKO.mjs} +1 -1
  3. package/dist/{chunk-2DA6GE5K.mjs → chunk-3LM4LVYM.mjs} +8 -5
  4. package/dist/chunk-6E4NTY34.cjs +494 -0
  5. package/dist/chunk-7644AY3P.cjs +855 -0
  6. package/dist/chunk-AOAM6HV2.mjs +94 -0
  7. package/dist/chunk-CSSMBHBD.mjs +853 -0
  8. package/dist/chunk-CW6FHIAT.cjs +624 -0
  9. package/dist/chunk-D5YKZOUG.mjs +247 -0
  10. package/dist/chunk-HOJOWLJT.mjs +142 -0
  11. package/dist/chunk-HTHCG2AN.cjs +125 -0
  12. package/dist/chunk-IZJYFVS7.mjs +15 -0
  13. package/dist/chunk-KQXLV6YW.mjs +489 -0
  14. package/dist/chunk-NEOSSUNE.mjs +599 -0
  15. package/dist/chunk-TE5JNR5C.mjs +117 -0
  16. package/dist/{chunk-IMN6FIOY.cjs → chunk-UHDBWDHS.cjs} +8 -5
  17. package/dist/{chunk-IQAZZPJD.cjs → chunk-V2OROE7H.cjs} +1 -1
  18. package/dist/chunk-XKIB3LSS.cjs +167 -0
  19. package/dist/chunk-YPQYI63K.cjs +249 -0
  20. package/dist/chunk-ZO3X2NDT.cjs +21 -0
  21. package/dist/highlight-cursor/enhanced-components.cjs +8 -8
  22. package/dist/highlight-cursor/enhanced-components.mjs +3 -3
  23. package/dist/highlight-cursor/index.cjs +12 -12
  24. package/dist/highlight-cursor/index.mjs +3 -3
  25. package/dist/index.cjs +430 -430
  26. package/dist/index.mjs +46 -46
  27. package/dist/ui/UIKitBadge.cjs +5 -5
  28. package/dist/ui/UIKitBadge.mjs +1 -1
  29. package/dist/ui/badge.d.cts +1 -1
  30. package/dist/ui/badge.d.ts +1 -1
  31. package/dist/ui/index.cjs +345 -345
  32. package/dist/ui/index.mjs +45 -45
  33. package/dist/ui/inputs/index.cjs +18 -18
  34. package/dist/ui/inputs/index.mjs +4 -4
  35. package/dist/ui/inputs/input.d.cts +1 -1
  36. package/dist/ui/inputs/input.d.ts +1 -1
  37. package/dist/ui/inputs/number-inputs/index.cjs +15 -15
  38. package/dist/ui/inputs/number-inputs/index.mjs +3 -3
  39. package/dist/ui/pagination.cjs +9 -9
  40. package/dist/ui/pagination.mjs +2 -2
  41. package/dist/ui/select.d.cts +1 -1
  42. package/dist/ui/select.d.ts +1 -1
  43. package/dist/ui/sidebar.cjs +26 -26
  44. package/dist/ui/sidebar.mjs +2 -2
  45. package/dist/ui/tabs.cjs +6 -6
  46. package/dist/ui/tabs.mjs +2 -2
  47. package/dist/ui/textarea.d.cts +1 -1
  48. package/dist/ui/textarea.d.ts +1 -1
  49. package/dist/ui/timeline.cjs +4 -4
  50. package/dist/ui/timeline.mjs +3 -3
  51. package/dist/ui/tree-view/TreeView.cjs +3 -3
  52. package/dist/ui/tree-view/TreeView.mjs +1 -1
  53. package/dist/ui/tree-view/index.cjs +3 -3
  54. package/dist/ui/tree-view/index.mjs +1 -1
  55. package/dist/ui/tree-view-legacy.cjs +6 -6
  56. package/dist/ui/tree-view-legacy.mjs +2 -2
  57. package/dist/ui/waterfall/index.cjs +8 -8
  58. package/dist/ui/waterfall/index.mjs +7 -7
  59. package/package.json +1 -1
@@ -0,0 +1,247 @@
1
+ import { LeftWedge, RightWedge } from './chunk-IR334P7F.mjs';
2
+ import { WheelZoomContext } from './chunk-CIPI2V54.mjs';
3
+ import { useTimelineState } from './chunk-JWKOW2OV.mjs';
4
+ import { useViewport } from './chunk-VPQ5SSY3.mjs';
5
+ import { CursorOverlay } from './chunk-SA5WKLYB.mjs';
6
+ import { NavigationControls } from './chunk-5EXV5EWF.mjs';
7
+ import { Tick } from './chunk-K22BEXUA.mjs';
8
+ import { TimeRuleEventDot } from './chunk-OC4HRPZU.mjs';
9
+ import { TimelineEvent } from './chunk-N6DSPSMM.mjs';
10
+ import { TimelineProcessBar } from './chunk-CO6EASQO.mjs';
11
+ import { rightWedgeClasses, leftWedgeClasses, TOTAL_DURATION } from './chunk-4U232QAX.mjs';
12
+ import { TreeView } from './chunk-KQXLV6YW.mjs';
13
+ import { SyncDragY, SyncScrollSlave } from './chunk-BEJIZ56L.mjs';
14
+ import { SyncScrollProvider } from './chunk-SAGQV2YZ.mjs';
15
+ import { TooltipProvider } from './chunk-PCSY5IJ2.mjs';
16
+ import { cn } from './chunk-HMN4IKTG.mjs';
17
+ import { useState } from 'react';
18
+ import { jsx, jsxs } from 'react/jsx-runtime';
19
+
20
+ function Waterfall({
21
+ logData,
22
+ temporalCursor,
23
+ onTemporalCursorChange,
24
+ getIcon,
25
+ panelWidth = 300,
26
+ className,
27
+ hoveredId: externalHoveredId,
28
+ onItemHover: externalOnItemHover,
29
+ minWindow = 0.01,
30
+ maxWindow,
31
+ zoomFactor = 1.1,
32
+ enabled = true,
33
+ children
34
+ }) {
35
+ const [visibleLogData, setVisibleLogData] = useState([]);
36
+ const [temporalMarkers, setTemporalMarkers] = useState([]);
37
+ const internalTimelineState = useTimelineState(logData);
38
+ const hoveredId = externalHoveredId ?? internalTimelineState.hoveredId;
39
+ const setHoveredId = externalOnItemHover ?? internalTimelineState.setHoveredId;
40
+ const {
41
+ viewStart,
42
+ viewDuration,
43
+ timelineContainerRef,
44
+ timeToPercent,
45
+ ticks,
46
+ eventDots,
47
+ handlePan,
48
+ handleZoomDragStart,
49
+ setViewStart,
50
+ setViewDuration,
51
+ cursorVisible,
52
+ cursorPosition,
53
+ cursorLabel,
54
+ showMagnet
55
+ } = useViewport({
56
+ visibleLogData,
57
+ onTemporalCursorChange,
58
+ temporalCursor
59
+ });
60
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(SyncScrollProvider, { children: /* @__PURE__ */ jsx(
61
+ "div",
62
+ {
63
+ className: cn(
64
+ "bg-bg-primary text-text-primary rounded-uk-md border-line-primary/50 mx-auto flex w-full flex-col overflow-hidden border font-sans shadow-[0_4px_16px_0_var(--color-shadow-secondary)]",
65
+ className
66
+ ),
67
+ children: /* @__PURE__ */ jsxs("div", { className: "relative flex h-full flex-row items-stretch", children: [
68
+ /* @__PURE__ */ jsx(
69
+ "div",
70
+ {
71
+ className: "border-line-primary/50 relative flex h-full flex-none flex-col border-r",
72
+ style: { width: panelWidth },
73
+ children: /* @__PURE__ */ jsx(
74
+ TreeView,
75
+ {
76
+ className: "h-full",
77
+ alwaysShowExpand: true,
78
+ isSearchable: true,
79
+ data: logData,
80
+ getIcon,
81
+ onVisibleDataChange: setVisibleLogData,
82
+ onItemHover: setHoveredId,
83
+ hoveredId,
84
+ useSyncScroll: true
85
+ }
86
+ )
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsxs(
90
+ "div",
91
+ {
92
+ ref: timelineContainerRef,
93
+ className: "overflow-y-none scrollbar-hide relative flex h-full w-full flex-auto cursor-crosshair flex-col overflow-x-hidden pl-px active:cursor-grabbing",
94
+ children: [
95
+ /* @__PURE__ */ jsx("div", { className: "bg-bg-primary sticky top-0", children: /* @__PURE__ */ jsxs("div", { className: "border-line-primary/50 relative h-8 border-b", children: [
96
+ ticks.map((marker, ind) => /* @__PURE__ */ jsx(
97
+ Tick,
98
+ {
99
+ time: marker.time,
100
+ label: marker.label,
101
+ timeToPercent,
102
+ zIndex: ind < ticks.length - 1 ? 10 : 0
103
+ },
104
+ marker.time
105
+ )),
106
+ eventDots.map(({ time }, tickIndex) => /* @__PURE__ */ jsx(
107
+ TimeRuleEventDot,
108
+ {
109
+ percent: timeToPercent(time)
110
+ },
111
+ `snap-${time}-${tickIndex}`
112
+ ))
113
+ ] }) }),
114
+ /* @__PURE__ */ jsxs(
115
+ WheelZoomContext,
116
+ {
117
+ className: "scrollbar-hide relative h-full max-h-full overflow-auto",
118
+ viewStart,
119
+ viewDuration,
120
+ onViewStartChange: setViewStart,
121
+ onWindowChange: setViewDuration,
122
+ minWindow,
123
+ maxWindow: maxWindow ?? TOTAL_DURATION * 10,
124
+ zoomFactor,
125
+ enabled,
126
+ children: [
127
+ /* @__PURE__ */ jsx(SyncDragY, { className: "scrollbar-hide hide-scrollbar relative h-full w-full", children: visibleLogData.map(
128
+ (item, index) => item.time === void 0 ? (
129
+ // Render TimelineProcessBar for duration events
130
+ /* @__PURE__ */ jsx(
131
+ TimelineProcessBar,
132
+ {
133
+ index,
134
+ item,
135
+ isHovered: hoveredId === item.id,
136
+ onMouseEnter: () => setHoveredId(item.id),
137
+ onMouseLeave: () => setHoveredId(null),
138
+ onClick: (time) => {
139
+ setTemporalMarkers((prev) => [...prev, time]);
140
+ },
141
+ viewStart,
142
+ viewWindow: viewDuration,
143
+ timeToPercent
144
+ },
145
+ item.id
146
+ )
147
+ ) : (
148
+ // Render TimelineEvent for instant events (with time property)
149
+ /* @__PURE__ */ jsx(
150
+ TimelineEvent,
151
+ {
152
+ item,
153
+ isHovered: hoveredId === item.id,
154
+ onMouseEnter: () => setHoveredId(item.id),
155
+ onMouseLeave: () => setHoveredId(null),
156
+ onClick: (time) => {
157
+ setTemporalMarkers((prev) => [...prev, time]);
158
+ },
159
+ timeToPercent,
160
+ index
161
+ },
162
+ item.id
163
+ )
164
+ )
165
+ ) }),
166
+ /* @__PURE__ */ jsx(SyncScrollSlave, { className: "scrollbar-hide pointer-events-none absolute top-0 left-0 z-10 h-full w-2", children: visibleLogData.map((item, index) => /* @__PURE__ */ jsx(
167
+ LeftWedge,
168
+ {
169
+ item,
170
+ classes: rightWedgeClasses,
171
+ viewStart,
172
+ index
173
+ },
174
+ `left-wedge-${item.id}`
175
+ )) }),
176
+ /* @__PURE__ */ jsx(SyncScrollSlave, { className: "scrollbar-hide pointer-events-none absolute top-0 right-0 z-10 h-full w-2", children: visibleLogData.map((item, index) => /* @__PURE__ */ jsx(
177
+ RightWedge,
178
+ {
179
+ item,
180
+ classes: leftWedgeClasses,
181
+ viewEnd: viewStart + viewDuration,
182
+ index
183
+ },
184
+ `right-wedge-${item.id}`
185
+ )) }),
186
+ children,
187
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-1 left-1/2 -translate-x-1/2 justify-center pb-4", children: /* @__PURE__ */ jsx(
188
+ NavigationControls,
189
+ {
190
+ viewDuration,
191
+ handlePan,
192
+ handleZoomDragStart
193
+ }
194
+ ) })
195
+ ]
196
+ }
197
+ ),
198
+ temporalMarkers.map((time, index) => /* @__PURE__ */ jsxs(
199
+ "div",
200
+ {
201
+ className: "pointer-events-none absolute top-0 h-8 w-20 cursor-pointer",
202
+ style: {
203
+ zIndex: 110,
204
+ left: `calc(${timeToPercent(time)}% - 2.5rem)`
205
+ },
206
+ onClick: () => {
207
+ setTemporalMarkers((prev) => prev.filter((_, i) => i !== index));
208
+ },
209
+ title: "Click to remove marker",
210
+ children: [
211
+ /* @__PURE__ */ jsx("div", { className: "pointer-events-auto relative h-full w-full" }),
212
+ /* @__PURE__ */ jsx(
213
+ CursorOverlay,
214
+ {
215
+ left: 50,
216
+ label: `T${index + 1}`,
217
+ color: "#3b82f6",
218
+ showReadout: true,
219
+ variant: "static",
220
+ zIndex: 110
221
+ }
222
+ )
223
+ ]
224
+ },
225
+ `marker-${time}-${index}`
226
+ )),
227
+ cursorVisible && /* @__PURE__ */ jsx(
228
+ CursorOverlay,
229
+ {
230
+ left: cursorPosition,
231
+ label: cursorLabel,
232
+ color: "#ef4444",
233
+ showReadout: true,
234
+ showMagnet,
235
+ className: "transition-opacity duration-150",
236
+ zIndex: 100
237
+ }
238
+ )
239
+ ]
240
+ }
241
+ )
242
+ ] })
243
+ }
244
+ ) }) });
245
+ }
246
+
247
+ export { Waterfall };
@@ -0,0 +1,142 @@
1
+ import { createClientOnlyComponent } from './chunk-4F2GSF2T.mjs';
2
+ import { cn } from './chunk-HMN4IKTG.mjs';
3
+ import { useTabsCursor, TabsCursorProvider } from './chunk-XMG3IVGZ.mjs';
4
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
5
+ import { cva } from 'class-variance-authority';
6
+ import { createContext, useContext } from 'react';
7
+ import { jsx } from 'react/jsx-runtime';
8
+
9
+ var TabsContext = createContext(void 0);
10
+ var useTabsContext = () => {
11
+ const context = useContext(TabsContext);
12
+ if (!context) {
13
+ throw new Error("Tabs components must be used within a Tabs component");
14
+ }
15
+ return context;
16
+ };
17
+ function TabsRoot({ className, size = "base", ...props }) {
18
+ return /* @__PURE__ */ jsx(TabsContext.Provider, { value: { size }, children: /* @__PURE__ */ jsx(
19
+ TabsPrimitive.Root,
20
+ {
21
+ "data-slot": "tabs",
22
+ className: cn("flex w-full flex-col", className),
23
+ ...props
24
+ }
25
+ ) });
26
+ }
27
+ function TabsFallback({ className, size = "base", ...props }) {
28
+ return /* @__PURE__ */ jsx(TabsContext.Provider, { value: { size }, children: /* @__PURE__ */ jsx("div", { "data-slot": "tabs", className: cn("flex w-full flex-col", className), ...props }) });
29
+ }
30
+ var Tabs = createClientOnlyComponent(TabsRoot, TabsFallback);
31
+ var tabsListVariants = cva(["inline-flex", "items-center", "justify-center"], {
32
+ variants: {
33
+ size: {
34
+ sm: "gap-xs",
35
+ base: "gap-sm",
36
+ lg: "gap-md"
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ size: "base"
41
+ }
42
+ });
43
+ function TabsListRoot({ className, ...props }) {
44
+ const { setCursorTarget } = useTabsCursor();
45
+ const { size } = useTabsContext();
46
+ return /* @__PURE__ */ jsx(TabsCursorProvider, { children: /* @__PURE__ */ jsx(
47
+ TabsPrimitive.List,
48
+ {
49
+ onMouseLeave: () => setCursorTarget(null),
50
+ "data-slot": "tabs-list",
51
+ className: cn(tabsListVariants({ size }), "justify-start", className),
52
+ ...props
53
+ }
54
+ ) });
55
+ }
56
+ function TabsListFallback({ className, ...props }) {
57
+ const { size } = useTabsContext();
58
+ return /* @__PURE__ */ jsx(TabsCursorProvider, { children: /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ "data-slot": "tabs-list",
62
+ className: cn(tabsListVariants({ size }), "justify-start", className),
63
+ ...props
64
+ }
65
+ ) });
66
+ }
67
+ var TabsList = createClientOnlyComponent(TabsListRoot, TabsListFallback);
68
+ var tabsTriggerVariants = cva(
69
+ [
70
+ "inline-flex",
71
+ "items-center",
72
+ "justify-center",
73
+ "font-normal",
74
+ "whitespace-nowrap",
75
+ "transition-all",
76
+ "disabled:pointer-events-none",
77
+ "disabled:bg-bg-tertiary",
78
+ "[&_svg]:pointer-events-none",
79
+ "[&_svg:not([class*='size-'])]:size-xl",
80
+ "shrink-0",
81
+ "[&_svg]:shrink-0",
82
+ "outline-none",
83
+ "text-text-primary",
84
+ "data-[state=active]:bg-bg-secondary",
85
+ "data-[state=active]:font-medium"
86
+ ],
87
+ {
88
+ variants: {
89
+ size: {
90
+ sm: "text-uk-sm leading-uk-sm px-md py-xs rounded-uk-sm",
91
+ base: "text-uk-md leading-uk-md px-lg py-sm rounded-uk-md",
92
+ lg: "text-uk-lg leading-uk-lg px-xl py-sm rounded-uk-md"
93
+ }
94
+ },
95
+ defaultVariants: {
96
+ size: "base"
97
+ }
98
+ }
99
+ );
100
+ function TabsTriggerRoot({ className, ...props }) {
101
+ const { setCursorTarget } = useTabsCursor();
102
+ const { size } = useTabsContext();
103
+ return /* @__PURE__ */ jsx(
104
+ TabsPrimitive.Trigger,
105
+ {
106
+ onMouseEnter: (e) => setCursorTarget(e.currentTarget),
107
+ "data-slot": "tabs-trigger",
108
+ className: cn(tabsTriggerVariants({ size }), className),
109
+ ...props
110
+ }
111
+ );
112
+ }
113
+ function TabsTriggerFallback({ className, ...props }) {
114
+ const { setCursorTarget } = useTabsCursor();
115
+ const { size } = useTabsContext();
116
+ return /* @__PURE__ */ jsx(
117
+ "button",
118
+ {
119
+ onMouseEnter: (e) => setCursorTarget(e.currentTarget),
120
+ "data-slot": "tabs-trigger",
121
+ className: cn(tabsTriggerVariants({ size }), className),
122
+ ...props
123
+ }
124
+ );
125
+ }
126
+ var TabsTrigger = createClientOnlyComponent(TabsTriggerRoot, TabsTriggerFallback);
127
+ function TabsContentRoot({ className, ...props }) {
128
+ return /* @__PURE__ */ jsx(
129
+ TabsPrimitive.Content,
130
+ {
131
+ "data-slot": "tabs-content",
132
+ className: cn("flex-1 outline-none", className),
133
+ ...props
134
+ }
135
+ );
136
+ }
137
+ function TabsContentFallback({ className, ...props }) {
138
+ return /* @__PURE__ */ jsx("div", { "data-slot": "tabs-content", className: cn("flex-1 outline-none", className), ...props });
139
+ }
140
+ var TabsContent = createClientOnlyComponent(TabsContentRoot, TabsContentFallback);
141
+
142
+ export { Tabs, TabsContent, TabsList, TabsTrigger };
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ var chunkNSQOQD43_cjs = require('./chunk-NSQOQD43.cjs');
4
+ var chunkOHIB3TEN_cjs = require('./chunk-OHIB3TEN.cjs');
5
+ var chunkT3G35JSP_cjs = require('./chunk-T3G35JSP.cjs');
6
+ var lucideReact = require('lucide-react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function Pagination({ className, ...props }) {
10
+ return /* @__PURE__ */ jsxRuntime.jsx(
11
+ "nav",
12
+ {
13
+ role: "navigation",
14
+ "aria-label": "pagination",
15
+ "data-slot": "pagination",
16
+ className: chunkOHIB3TEN_cjs.cn("mx-auto flex w-full justify-center", className),
17
+ ...props
18
+ }
19
+ );
20
+ }
21
+ function PaginationContent({ className, ...props }) {
22
+ const { setCursorTarget } = chunkT3G35JSP_cjs.useTabsCursor();
23
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkT3G35JSP_cjs.TabsCursorProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
24
+ "ul",
25
+ {
26
+ onMouseLeave: () => setCursorTarget(null),
27
+ "data-slot": "pagination-content",
28
+ className: chunkOHIB3TEN_cjs.cn("gap-xs flex flex-row items-center", className),
29
+ style: {
30
+ marginBottom: "0px"
31
+ },
32
+ ...props
33
+ }
34
+ ) });
35
+ }
36
+ function PaginationItem({ ...props }) {
37
+ const { setCursorTarget } = chunkT3G35JSP_cjs.useTabsCursor();
38
+ return /* @__PURE__ */ jsxRuntime.jsx(
39
+ "li",
40
+ {
41
+ onMouseEnter: (e) => setCursorTarget(e.currentTarget),
42
+ "data-slot": "pagination-item",
43
+ className: "rounded-uk-sm",
44
+ style: {
45
+ marginBottom: "0px"
46
+ },
47
+ ...props
48
+ }
49
+ );
50
+ }
51
+ function PaginationLink({ className, isActive, size = "md", ...props }) {
52
+ return /* @__PURE__ */ jsxRuntime.jsx(
53
+ "a",
54
+ {
55
+ "aria-current": isActive ? "page" : void 0,
56
+ "data-slot": "pagination-link",
57
+ "data-active": isActive,
58
+ className: chunkOHIB3TEN_cjs.cn(
59
+ chunkNSQOQD43_cjs.buttonVariants({
60
+ variant: isActive ? "secondary" : "ghost",
61
+ size
62
+ }),
63
+ "hover:bg-transparent",
64
+ "hover:text-text-primary",
65
+ "min-w-[32px]",
66
+ className
67
+ ),
68
+ ...props
69
+ }
70
+ );
71
+ }
72
+ function PaginationPrevious({ className, ...props }) {
73
+ return /* @__PURE__ */ jsxRuntime.jsxs(
74
+ PaginationLink,
75
+ {
76
+ "aria-label": "Go to previous page",
77
+ className: chunkOHIB3TEN_cjs.cn("gap-xs px-lg sm:pl-lg", className),
78
+ ...props,
79
+ children: [
80
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, {}),
81
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:block", children: "Previous" })
82
+ ]
83
+ }
84
+ );
85
+ }
86
+ function PaginationNext({ className, ...props }) {
87
+ return /* @__PURE__ */ jsxRuntime.jsxs(
88
+ PaginationLink,
89
+ {
90
+ "aria-label": "Go to next page",
91
+ className: chunkOHIB3TEN_cjs.cn("gap-xs px-lg sm:pr-lg", className),
92
+ ...props,
93
+ children: [
94
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:block", children: "Next" }),
95
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, {})
96
+ ]
97
+ }
98
+ );
99
+ }
100
+ function PaginationEllipsis({ className, ...props }) {
101
+ return /* @__PURE__ */ jsxRuntime.jsxs(
102
+ "span",
103
+ {
104
+ "aria-hidden": true,
105
+ "data-slot": "pagination-ellipsis",
106
+ className: chunkOHIB3TEN_cjs.cn(
107
+ "text-text-primary flex size-9 size-[32px] items-center justify-center",
108
+ className
109
+ ),
110
+ ...props,
111
+ children: [
112
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, { className: "size-4" }),
113
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More pages" })
114
+ ]
115
+ }
116
+ );
117
+ }
118
+
119
+ exports.Pagination = Pagination;
120
+ exports.PaginationContent = PaginationContent;
121
+ exports.PaginationEllipsis = PaginationEllipsis;
122
+ exports.PaginationItem = PaginationItem;
123
+ exports.PaginationLink = PaginationLink;
124
+ exports.PaginationNext = PaginationNext;
125
+ exports.PaginationPrevious = PaginationPrevious;
@@ -0,0 +1,15 @@
1
+ import { Tabs } from './chunk-HOJOWLJT.mjs';
2
+ import { Textarea } from './chunk-25RDJXX7.mjs';
3
+ import { SelectTrigger } from './chunk-KY4I766B.mjs';
4
+ import { InputRoot } from './chunk-JXALL32A.mjs';
5
+ import { Button } from './chunk-INHZ5D7P.mjs';
6
+ import { withCursor } from './chunk-RAHKRYQJ.mjs';
7
+
8
+ // src/highlight-cursor/enhanced-components.tsx
9
+ var CursorButton = withCursor(Button);
10
+ var CursorTabs = withCursor(Tabs);
11
+ var CursorInputRoot = withCursor(InputRoot);
12
+ var CursorSelectTrigger = withCursor(SelectTrigger);
13
+ var CursorTextarea = withCursor(Textarea);
14
+
15
+ export { CursorButton, CursorInputRoot, CursorSelectTrigger, CursorTabs, CursorTextarea };