@vuer-ai/vuer-uikit 0.0.52 → 0.0.54

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 (54) hide show
  1. package/dist/{chunk-L3SCK2WT.js → chunk-5EUKKR3Z.js} +2 -2
  2. package/dist/{chunk-VSGVRZLH.mjs → chunk-5NWUT5QH.mjs} +1 -1
  3. package/dist/chunk-6M5BGKUO.mjs +200 -0
  4. package/dist/{chunk-HJMRCBDG.mjs → chunk-6Y3BHHH7.mjs} +3 -2
  5. package/dist/chunk-BX7MGCJP.mjs +241 -0
  6. package/dist/{chunk-2HAD7VLJ.js → chunk-CWODYOQX.js} +1 -1
  7. package/dist/{chunk-FSFUZ7Y6.js → chunk-GDW2K5OF.js} +85 -21
  8. package/dist/{chunk-HKWVLJ7G.js → chunk-GJW5EH5E.js} +25 -9
  9. package/dist/chunk-JQ332WTL.js +267 -0
  10. package/dist/{chunk-VWYDSID4.js → chunk-PONCZ3TF.js} +3 -2
  11. package/dist/{chunk-ECWK3POQ.mjs → chunk-VWZFOSYU.mjs} +1 -1
  12. package/dist/{chunk-5ZAPRYIX.mjs → chunk-ZDZM3RJ3.mjs} +25 -9
  13. package/dist/index.d.mts +3 -2
  14. package/dist/index.d.ts +3 -2
  15. package/dist/index.js +49 -24
  16. package/dist/index.mjs +10 -9
  17. package/dist/ui/form/index.js +5 -5
  18. package/dist/ui/form/index.mjs +1 -1
  19. package/dist/ui/index.d.mts +3 -2
  20. package/dist/ui/index.d.ts +3 -2
  21. package/dist/ui/index.js +49 -24
  22. package/dist/ui/index.mjs +10 -9
  23. package/dist/ui/theme/ThemeToggles.d.mts +8 -3
  24. package/dist/ui/theme/ThemeToggles.d.ts +8 -3
  25. package/dist/ui/theme/ThemeToggles.js +3 -3
  26. package/dist/ui/theme/ThemeToggles.mjs +1 -1
  27. package/dist/ui/theme/index.d.mts +3 -0
  28. package/dist/ui/theme/index.d.ts +3 -0
  29. package/dist/ui/theme/index.js +3 -3
  30. package/dist/ui/theme/index.mjs +1 -1
  31. package/dist/ui/timeline.js +3 -3
  32. package/dist/ui/timeline.mjs +2 -2
  33. package/dist/ui/toggle-buttons.d.mts +32 -0
  34. package/dist/ui/toggle-buttons.d.ts +32 -0
  35. package/dist/ui/toggle-buttons.js +33 -0
  36. package/dist/ui/toggle-buttons.mjs +8 -0
  37. package/dist/ui/toggle-group.d.mts +16 -8
  38. package/dist/ui/toggle-group.d.ts +16 -8
  39. package/dist/ui/toggle-group.js +7 -4
  40. package/dist/ui/toggle-group.mjs +1 -2
  41. package/dist/ui/tree-view-v2.js +2 -2
  42. package/dist/ui/tree-view-v2.mjs +1 -1
  43. package/dist/ui/version-badge.js +2 -2
  44. package/dist/ui/version-badge.mjs +1 -1
  45. package/package.json +1 -1
  46. package/src/ui/button.tsx +6 -4
  47. package/src/ui/index.ts +1 -0
  48. package/src/ui/theme/ThemeToggles.tsx +37 -20
  49. package/src/ui/toggle-buttons.tsx +288 -0
  50. package/src/ui/toggle-group.tsx +101 -28
  51. package/src/ui/tree-view-v2.tsx +3 -2
  52. package/dist/chunk-G6CSH3FC.mjs +0 -137
  53. /package/dist/{chunk-ZFWQLAQA.mjs → chunk-BF5C2QUL.mjs} +0 -0
  54. /package/dist/{chunk-GLGYNU3Q.js → chunk-C6R5HMUP.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVWYDSID4_js = require('./chunk-VWYDSID4.js');
3
+ var chunkPONCZ3TF_js = require('./chunk-PONCZ3TF.js');
4
4
  var chunkER6XHUS7_js = require('./chunk-ER6XHUS7.js');
5
5
  var chunk7KYAICHB_js = require('./chunk-7KYAICHB.js');
6
6
  var lucideReact = require('lucide-react');
@@ -510,7 +510,7 @@ function Timeline({
510
510
  }, [viewStart, viewDuration, updateCursor]);
511
511
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-bg-primary text-text-primary border-line-secondary/20 rounded-uk-md mx-auto w-full max-w-7xl overflow-hidden border font-sans shadow-[0_4px_16px_0_var(--color-shadow-secondary)]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[minmax(300px,30%)_1fr]", children: [
512
512
  /* @__PURE__ */ jsxRuntime.jsx(
513
- chunkVWYDSID4_js.TreeView,
513
+ chunkPONCZ3TF_js.TreeView,
514
514
  {
515
515
  data,
516
516
  getIcon,
@@ -1,7 +1,7 @@
1
1
  import { Badge } from './chunk-IZCHLZ4H.mjs';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
- var PACKAGE_VERSION = "0.0.52" ;
4
+ var PACKAGE_VERSION = "0.0.54" ;
5
5
  var PACKAGE_NAME = "@vuer-ai/vuer-uikit" ;
6
6
  function VersionBadge({
7
7
  className,
@@ -0,0 +1,200 @@
1
+ import { createClientOnlyComponent } from './chunk-4F2GSF2T.mjs';
2
+ import { cn } from './chunk-WM2VP7MI.mjs';
3
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
4
+ import { cva } from 'class-variance-authority';
5
+ import { createContext, useContext } from 'react';
6
+ import { jsx } from 'react/jsx-runtime';
7
+
8
+ var toggleGroupVariants = cva(
9
+ [
10
+ // Base button styling
11
+ "inline-flex",
12
+ "cursor-pointer",
13
+ "items-center",
14
+ "justify-center",
15
+ "shrink-0",
16
+ "whitespace-nowrap",
17
+ "font-normal",
18
+ "transition-all",
19
+ "[&_svg]:shrink-0",
20
+ "[&_svg]:pointer-events-none",
21
+ "outline-none",
22
+ "focus-visible:border-ring",
23
+ "focus-visible:ring-ring/50",
24
+ "focus-visible:ring-[3px]",
25
+ "focus-visible:bg-accent",
26
+ "aria-invalid:ring-destructive/20",
27
+ "aria-invalid:border-destructive",
28
+ // Toggle group specific styling
29
+ "min-w-0",
30
+ "flex-1",
31
+ "rounded-none",
32
+ "first:rounded-l-uk-sm",
33
+ "first:rounded-r-none",
34
+ "last:rounded-r-uk-sm",
35
+ "last:rounded-l-none",
36
+ "[&:not(:first-child):not(:last-child)]:rounded-none",
37
+ "focus:z-10",
38
+ "focus-visible:z-10",
39
+ // Disabled state
40
+ "disabled:pointer-events-none",
41
+ "disabled:text-text-secondary/30"
42
+ ],
43
+ {
44
+ variants: {
45
+ variant: {
46
+ primary: [
47
+ "text-text-secondary",
48
+ "bg-bg-tertiary",
49
+ "hover:bg-secondary",
50
+ "data-[state=on]:text-text-withbg",
51
+ "data-[state=on]:bg-brand-primary",
52
+ "data-[state=on]:shadow-[inset_0.5px_0_0_var(--secondary),inset_-0.5px_0_0_var(--secondary)]",
53
+ "data-[state=on]:first:shadow-[inset_-0.5px_0_0_var(--secondary)]",
54
+ "data-[state=on]:last:shadow-[inset_0.5px_0_0_var(--secondary)]"
55
+ ],
56
+ secondary: [
57
+ "text-text-secondary",
58
+ "bg-bg-secondary",
59
+ "hover:bg-tertiary",
60
+ "border-solid border border-transparent -mr-[1px]",
61
+ "data-[state=on]:text-secondary-foreground",
62
+ "data-[state=on]:bg-bg-primary",
63
+ "data-[state=on]:border-line-primary",
64
+ "data-[state=on]:shadow-[inset_0.5px_0_0_var(--muted),inset_-0.5px_0_0_var(--muted)]"
65
+ ],
66
+ ghost: [
67
+ "bg-bg-primary",
68
+ "hover:bg-tertiary",
69
+ "text-text-secondary",
70
+ "data-[state=on]:text-text-withbg",
71
+ "data-[state=on]:bg-text-primary",
72
+ "data-[state=on]:shadow-[inset_0.5px_0_0_var(--muted),inset_-0.5px_0_0_var(--muted)]",
73
+ "data-[state=on]:first:shadow-[inset_-0.5px_0_0_var(--muted)]",
74
+ "data-[state=on]:last:shadow-[inset_0.5px_0_0_var(--muted)]"
75
+ ]
76
+ },
77
+ size: {
78
+ sm: ["text-uk-sm", "h-6", "gap-xxs", "px-md", "[&_svg:not([class*='size-'])]:size-3"],
79
+ base: ["text-uk-md", "h-8", "gap-xs", "px-lg", "[&_svg:not([class*='size-'])]:size-4"],
80
+ lg: ["text-uk-lg", "h-9", "gap-xs", "px-xl", "[&_svg:not([class*='size-'])]:size-5"]
81
+ }
82
+ },
83
+ defaultVariants: {
84
+ variant: "primary",
85
+ size: "base"
86
+ }
87
+ }
88
+ );
89
+ var ToggleGroupContext = createContext({
90
+ size: "base",
91
+ variant: "primary"
92
+ });
93
+ function ToggleGroupRoot({
94
+ className,
95
+ variant,
96
+ size,
97
+ children,
98
+ ...props
99
+ }) {
100
+ return /* @__PURE__ */ jsx(
101
+ ToggleGroupPrimitive.Root,
102
+ {
103
+ "data-slot": "toggle-group",
104
+ "data-variant": variant,
105
+ "data-size": size,
106
+ className: cn(
107
+ "group/toggle-group",
108
+ "flex",
109
+ "w-fit",
110
+ "items-center",
111
+ "rounded-uk-md",
112
+ className
113
+ ),
114
+ ...props,
115
+ children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
116
+ }
117
+ );
118
+ }
119
+ function ToggleGroupFallback({
120
+ className,
121
+ variant,
122
+ size,
123
+ children,
124
+ ...props
125
+ }) {
126
+ return /* @__PURE__ */ jsx(
127
+ "div",
128
+ {
129
+ "data-slot": "toggle-group",
130
+ "data-variant": variant,
131
+ "data-size": size,
132
+ className: cn(
133
+ "group/toggle-group",
134
+ "flex",
135
+ "w-fit",
136
+ "items-center",
137
+ "rounded-uk-md",
138
+ className
139
+ ),
140
+ ...props,
141
+ children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
142
+ }
143
+ );
144
+ }
145
+ var ToggleGroup = createClientOnlyComponent(ToggleGroupRoot, ToggleGroupFallback);
146
+ function ToggleGroupItemRoot({
147
+ className,
148
+ children,
149
+ variant,
150
+ size,
151
+ ...props
152
+ }) {
153
+ const context = useContext(ToggleGroupContext);
154
+ return /* @__PURE__ */ jsx(
155
+ ToggleGroupPrimitive.Item,
156
+ {
157
+ "data-slot": "toggle-group-item",
158
+ "data-variant": context.variant || variant,
159
+ "data-size": context.size || size,
160
+ className: cn(
161
+ toggleGroupVariants({
162
+ variant: context.variant || variant,
163
+ size: context.size || size
164
+ }),
165
+ className
166
+ ),
167
+ ...props,
168
+ children
169
+ }
170
+ );
171
+ }
172
+ function ToggleGroupItemFallback({
173
+ className,
174
+ children,
175
+ variant,
176
+ size,
177
+ ...props
178
+ }) {
179
+ const context = useContext(ToggleGroupContext);
180
+ return /* @__PURE__ */ jsx(
181
+ "button",
182
+ {
183
+ "data-slot": "toggle-group-item",
184
+ "data-variant": context.variant || variant,
185
+ "data-size": context.size || size,
186
+ className: cn(
187
+ toggleGroupVariants({
188
+ variant: context.variant || variant,
189
+ size: context.size || size
190
+ }),
191
+ className
192
+ ),
193
+ ...props,
194
+ children
195
+ }
196
+ );
197
+ }
198
+ var ToggleGroupItem = createClientOnlyComponent(ToggleGroupItemRoot, ToggleGroupItemFallback);
199
+
200
+ export { ToggleGroup, ToggleGroupItem, toggleGroupVariants };
@@ -185,12 +185,13 @@ function TreeView({
185
185
  {
186
186
  className: cn(
187
187
  "group relative flex h-[32px] items-center",
188
+ isSelectable && "rounded-uk-md",
188
189
  !item.disable && "cursor-pointer",
189
190
  hoveredId === item.id && !item.disable && "bg-bg-secondary",
190
191
  isSelectable && selectedItemId === item.id && "bg-brand-primary text-text-withbg"
191
192
  ),
192
- onMouseEnter: () => !item.disable && (onItemHover == null ? void 0 : onItemHover(item.id)),
193
- onMouseLeave: () => !item.disable && (onItemHover == null ? void 0 : onItemHover(null)),
193
+ onMouseEnter: () => onItemHover == null ? void 0 : onItemHover(item.id),
194
+ onMouseLeave: () => onItemHover == null ? void 0 : onItemHover(null),
194
195
  onClick: () => !item.disable && handleItemSelect(item.id),
195
196
  children: [
196
197
  /* @__PURE__ */ jsxs("div", { className: "absolute top-0 left-[-0.28rem] z-0 flex h-full items-center", children: [
@@ -0,0 +1,241 @@
1
+ import { cn } from './chunk-WM2VP7MI.mjs';
2
+ import { Slot } from '@radix-ui/react-slot';
3
+ import { cva } from 'class-variance-authority';
4
+ import * as React from 'react';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var toggleButtonsVariants = cva(
8
+ ["rounded-uk-md", "relative", "inline-flex", "items-center"],
9
+ {
10
+ variants: {
11
+ variant: {
12
+ primary: "bg-bg-secondary",
13
+ secondary: "bg-bg-secondary",
14
+ ghost: "bg-transparent"
15
+ },
16
+ padding: {
17
+ true: "p-xs",
18
+ false: "p-0"
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ variant: "primary",
23
+ padding: true
24
+ }
25
+ }
26
+ );
27
+ var toggleButtonHighlightVariants = cva(
28
+ ["pointer-events-none", "absolute", "transition-all", "duration-200", "ease-out"],
29
+ {
30
+ variants: {
31
+ variant: {
32
+ primary: ["bg-brand-primary", "shadow-sm", "rounded-uk-sm"],
33
+ secondary: ["bg-bg-primary", "shadow-sm", "rounded-uk-sm"],
34
+ ghost: ["bg-bg-primary", "shadow-sm", "rounded-uk-md"]
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ variant: "primary"
39
+ }
40
+ }
41
+ );
42
+ var toggleButtonVariants = cva(
43
+ [
44
+ "focus-visible:ring-ring",
45
+ "relative",
46
+ "z-10",
47
+ "inline-flex",
48
+ "items-center",
49
+ "justify-center",
50
+ "font-normal",
51
+ "whitespace-nowrap",
52
+ "transition-colors",
53
+ "focus-visible:ring-2",
54
+ "focus-visible:outline-none",
55
+ "disabled:pointer-events-none",
56
+ "disabled:opacity-50",
57
+ "cursor-pointer"
58
+ ],
59
+ {
60
+ variants: {
61
+ variant: {
62
+ primary: [
63
+ "text-text-primary",
64
+ "hover:text-text-primary",
65
+ "active:text-brand-primary",
66
+ "data-[selected=true]:text-text-withbg"
67
+ ],
68
+ secondary: [
69
+ "text-text-tertiary",
70
+ "hover:text-text-secondary",
71
+ "active:text-brand-primary",
72
+ "data-[selected=true]:text-text-primary"
73
+ ],
74
+ ghost: [
75
+ "text-text-tertiary",
76
+ "hover:text-text-secondary",
77
+ "active:text-brand-primary",
78
+ "data-[selected=true]:text-text-primary"
79
+ ]
80
+ },
81
+ size: {
82
+ sm: "text-uk-sm gap-xxs",
83
+ base: "text-uk-md gap-xs",
84
+ lg: "text-uk-lg gap-xs"
85
+ },
86
+ icon: {
87
+ false: "",
88
+ true: "shrink-0 [&_svg]:shrink-0 [&_svg]:pointer-events-none"
89
+ },
90
+ corner: {
91
+ sm: "rounded-uk-sm",
92
+ md: "rounded-uk-md"
93
+ }
94
+ },
95
+ compoundVariants: [
96
+ // Icon button sizes
97
+ { size: "sm", icon: false, class: "h-6 px-md" },
98
+ { size: "base", icon: false, class: "h-7 px-lg" },
99
+ { size: "lg", icon: false, class: "h-8 px-xl" },
100
+ { size: "sm", icon: true, class: "size-6 p-xs" },
101
+ { size: "base", icon: true, class: "size-8 p-sm" },
102
+ { size: "lg", icon: true, class: "size-9 p-md" }
103
+ ],
104
+ defaultVariants: {
105
+ variant: "primary",
106
+ size: "base",
107
+ icon: false,
108
+ corner: "sm"
109
+ }
110
+ }
111
+ );
112
+ var ToggleButtonsContext = React.createContext(null);
113
+ var ToggleButtons = React.forwardRef(
114
+ ({
115
+ value,
116
+ onValueChange,
117
+ children,
118
+ className,
119
+ size = "base",
120
+ padding = true,
121
+ variant = "primary",
122
+ ...props
123
+ }, ref) => {
124
+ const containerRef = React.useRef(null);
125
+ const [items, setItems] = React.useState(/* @__PURE__ */ new Map());
126
+ const [highlightStyle, setHighlightStyle] = React.useState({
127
+ opacity: 0
128
+ });
129
+ const registerItem = React.useCallback((itemValue, element) => {
130
+ setItems((prev) => new Map(prev).set(itemValue, element));
131
+ }, []);
132
+ const unregisterItem = React.useCallback((itemValue) => {
133
+ setItems((prev) => {
134
+ const newMap = new Map(prev);
135
+ newMap.delete(itemValue);
136
+ return newMap;
137
+ });
138
+ }, []);
139
+ React.useEffect(() => {
140
+ const selectedElement = items.get(value);
141
+ const container = containerRef.current;
142
+ if (selectedElement && container) {
143
+ const rafId = requestAnimationFrame(() => {
144
+ const containerRect = container.getBoundingClientRect();
145
+ const selectedRect = selectedElement.getBoundingClientRect();
146
+ const paddingOffset = padding ? 4 : 0;
147
+ const left = selectedRect.left - containerRect.left - paddingOffset;
148
+ const top = selectedRect.top - containerRect.top - paddingOffset;
149
+ setHighlightStyle({
150
+ width: selectedRect.width,
151
+ height: selectedRect.height,
152
+ transform: `translate(${left}px, ${top}px)`,
153
+ opacity: 1
154
+ });
155
+ });
156
+ return () => cancelAnimationFrame(rafId);
157
+ } else {
158
+ setHighlightStyle((prev) => ({ ...prev, opacity: 0 }));
159
+ }
160
+ }, [value, items, padding]);
161
+ return /* @__PURE__ */ jsx(
162
+ ToggleButtonsContext.Provider,
163
+ {
164
+ value: { value, onValueChange, size, variant, registerItem, unregisterItem },
165
+ children: /* @__PURE__ */ jsxs(
166
+ "div",
167
+ {
168
+ ref: (node) => {
169
+ containerRef.current = node;
170
+ if (typeof ref === "function") ref(node);
171
+ else if (ref) ref.current = node;
172
+ },
173
+ className: cn(toggleButtonsVariants({ variant, padding }), className),
174
+ ...props,
175
+ children: [
176
+ /* @__PURE__ */ jsx("div", { className: cn(toggleButtonHighlightVariants({ variant })), style: highlightStyle }),
177
+ children
178
+ ]
179
+ }
180
+ )
181
+ }
182
+ );
183
+ }
184
+ );
185
+ ToggleButtons.displayName = "ToggleButtons";
186
+ var ToggleButton = React.forwardRef(
187
+ ({ value, children, className, asChild = false, icon = false, size, variant, corner, ...props }, ref) => {
188
+ const context = React.useContext(ToggleButtonsContext);
189
+ const itemRef = React.useRef(null);
190
+ if (!context) {
191
+ throw new Error("ToggleButton must be used within ToggleButtons");
192
+ }
193
+ const {
194
+ value: selectedValue,
195
+ onValueChange,
196
+ size: contextSize,
197
+ variant: contextVariant,
198
+ registerItem,
199
+ unregisterItem
200
+ } = context;
201
+ const isSelected = selectedValue === value;
202
+ const finalSize = size ?? contextSize;
203
+ const finalVariant = variant ?? contextVariant;
204
+ const finalCorner = corner ?? (finalVariant === "ghost" ? "md" : "sm");
205
+ const Comp = asChild ? Slot : "button";
206
+ React.useEffect(() => {
207
+ const element = itemRef.current;
208
+ if (element) {
209
+ registerItem(value, element);
210
+ return () => unregisterItem(value);
211
+ }
212
+ }, [value, registerItem, unregisterItem]);
213
+ return /* @__PURE__ */ jsx(
214
+ Comp,
215
+ {
216
+ ref: (node) => {
217
+ itemRef.current = node;
218
+ if (typeof ref === "function") ref(node);
219
+ else if (ref) ref.current = node;
220
+ },
221
+ ...props,
222
+ "data-selected": isSelected,
223
+ className: cn(
224
+ toggleButtonVariants({
225
+ variant: finalVariant,
226
+ size: finalSize,
227
+ icon,
228
+ corner: finalCorner
229
+ }),
230
+ className
231
+ ),
232
+ onClick: () => onValueChange(value),
233
+ type: asChild ? void 0 : "button",
234
+ children
235
+ }
236
+ );
237
+ }
238
+ );
239
+ ToggleButton.displayName = "ToggleButton";
240
+
241
+ export { ToggleButton, ToggleButtons, toggleButtonHighlightVariants, toggleButtonVariants, toggleButtonsVariants };
@@ -3,7 +3,7 @@
3
3
  var chunkILJK43VJ_js = require('./chunk-ILJK43VJ.js');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
 
6
- var PACKAGE_VERSION = "0.0.52" ;
6
+ var PACKAGE_VERSION = "0.0.54" ;
7
7
  var PACKAGE_NAME = "@vuer-ai/vuer-uikit" ;
8
8
  function VersionBadge({
9
9
  className,
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkEAN5SZYQ_js = require('./chunk-EAN5SZYQ.js');
4
3
  var chunkQG7ZF6TO_js = require('./chunk-QG7ZF6TO.js');
5
4
  var chunk7KYAICHB_js = require('./chunk-7KYAICHB.js');
6
5
  var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
7
  var react = require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
@@ -27,6 +27,87 @@ function _interopNamespace(e) {
27
27
 
28
28
  var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroupPrimitive);
29
29
 
30
+ var toggleGroupVariants = classVarianceAuthority.cva(
31
+ [
32
+ // Base button styling
33
+ "inline-flex",
34
+ "cursor-pointer",
35
+ "items-center",
36
+ "justify-center",
37
+ "shrink-0",
38
+ "whitespace-nowrap",
39
+ "font-normal",
40
+ "transition-all",
41
+ "[&_svg]:shrink-0",
42
+ "[&_svg]:pointer-events-none",
43
+ "outline-none",
44
+ "focus-visible:border-ring",
45
+ "focus-visible:ring-ring/50",
46
+ "focus-visible:ring-[3px]",
47
+ "focus-visible:bg-accent",
48
+ "aria-invalid:ring-destructive/20",
49
+ "aria-invalid:border-destructive",
50
+ // Toggle group specific styling
51
+ "min-w-0",
52
+ "flex-1",
53
+ "rounded-none",
54
+ "first:rounded-l-uk-sm",
55
+ "first:rounded-r-none",
56
+ "last:rounded-r-uk-sm",
57
+ "last:rounded-l-none",
58
+ "[&:not(:first-child):not(:last-child)]:rounded-none",
59
+ "focus:z-10",
60
+ "focus-visible:z-10",
61
+ // Disabled state
62
+ "disabled:pointer-events-none",
63
+ "disabled:text-text-secondary/30"
64
+ ],
65
+ {
66
+ variants: {
67
+ variant: {
68
+ primary: [
69
+ "text-text-secondary",
70
+ "bg-bg-tertiary",
71
+ "hover:bg-secondary",
72
+ "data-[state=on]:text-text-withbg",
73
+ "data-[state=on]:bg-brand-primary",
74
+ "data-[state=on]:shadow-[inset_0.5px_0_0_var(--secondary),inset_-0.5px_0_0_var(--secondary)]",
75
+ "data-[state=on]:first:shadow-[inset_-0.5px_0_0_var(--secondary)]",
76
+ "data-[state=on]:last:shadow-[inset_0.5px_0_0_var(--secondary)]"
77
+ ],
78
+ secondary: [
79
+ "text-text-secondary",
80
+ "bg-bg-secondary",
81
+ "hover:bg-tertiary",
82
+ "border-solid border border-transparent -mr-[1px]",
83
+ "data-[state=on]:text-secondary-foreground",
84
+ "data-[state=on]:bg-bg-primary",
85
+ "data-[state=on]:border-line-primary",
86
+ "data-[state=on]:shadow-[inset_0.5px_0_0_var(--muted),inset_-0.5px_0_0_var(--muted)]"
87
+ ],
88
+ ghost: [
89
+ "bg-bg-primary",
90
+ "hover:bg-tertiary",
91
+ "text-text-secondary",
92
+ "data-[state=on]:text-text-withbg",
93
+ "data-[state=on]:bg-text-primary",
94
+ "data-[state=on]:shadow-[inset_0.5px_0_0_var(--muted),inset_-0.5px_0_0_var(--muted)]",
95
+ "data-[state=on]:first:shadow-[inset_-0.5px_0_0_var(--muted)]",
96
+ "data-[state=on]:last:shadow-[inset_0.5px_0_0_var(--muted)]"
97
+ ]
98
+ },
99
+ size: {
100
+ sm: ["text-uk-sm", "h-6", "gap-xxs", "px-md", "[&_svg:not([class*='size-'])]:size-3"],
101
+ base: ["text-uk-md", "h-8", "gap-xs", "px-lg", "[&_svg:not([class*='size-'])]:size-4"],
102
+ lg: ["text-uk-lg", "h-9", "gap-xs", "px-xl", "[&_svg:not([class*='size-'])]:size-5"]
103
+ }
104
+ },
105
+ defaultVariants: {
106
+ variant: "primary",
107
+ size: "base"
108
+ }
109
+ }
110
+ );
30
111
  var ToggleGroupContext = react.createContext({
31
112
  size: "base",
32
113
  variant: "primary"
@@ -99,20 +180,10 @@ function ToggleGroupItemRoot({
99
180
  "data-variant": context.variant || variant,
100
181
  "data-size": context.size || size,
101
182
  className: chunk7KYAICHB_js.cn(
102
- chunkEAN5SZYQ_js.toggleVariants({
183
+ toggleGroupVariants({
103
184
  variant: context.variant || variant,
104
185
  size: context.size || size
105
186
  }),
106
- "min-w-0",
107
- "flex-1",
108
- "shrink-0",
109
- "rounded-none",
110
- "first:rounded-l-md",
111
- "last:rounded-r-md",
112
- "focus:z-10",
113
- "focus-visible:z-10",
114
- "data-[variant=outline]:border-l-0",
115
- "data-[variant=outline]:first:border-l",
116
187
  className
117
188
  ),
118
189
  ...props,
@@ -135,18 +206,10 @@ function ToggleGroupItemFallback({
135
206
  "data-variant": context.variant || variant,
136
207
  "data-size": context.size || size,
137
208
  className: chunk7KYAICHB_js.cn(
138
- chunkEAN5SZYQ_js.toggleVariants({
209
+ toggleGroupVariants({
139
210
  variant: context.variant || variant,
140
211
  size: context.size || size
141
212
  }),
142
- "min-w-0",
143
- "flex-1",
144
- "shrink-0",
145
- "rounded-none",
146
- "first:rounded-l-md",
147
- "last:rounded-r-md",
148
- "focus:z-10",
149
- "focus-visible:z-10",
150
213
  className
151
214
  ),
152
215
  ...props,
@@ -158,3 +221,4 @@ var ToggleGroupItem = chunkQG7ZF6TO_js.createClientOnlyComponent(ToggleGroupItem
158
221
 
159
222
  exports.ToggleGroup = ToggleGroup;
160
223
  exports.ToggleGroupItem = ToggleGroupItem;
224
+ exports.toggleGroupVariants = toggleGroupVariants;