@typlog/ui 0.11.8 → 0.12.1

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/components.js CHANGED
@@ -1,28 +1,29 @@
1
- import { defineComponent, toRefs, createBlock, openBlock, unref, withCtx, createVNode, renderSlot, computed, normalizeClass, createTextVNode, toDisplayString, createElementBlock, mergeProps, createCommentVNode, createElementVNode, mergeModels, ref, useModel, onMounted, onBeforeUnmount, useTemplateRef, withDirectives, isRef, vModelDynamic, vModelText, normalizeStyle, normalizeProps, guardReactiveProps, Fragment, watch, renderList, withModifiers, vModelRadio } from "vue";
2
- import { createContext, TooltipProvider, Primitive, useForwardProps, useEmitAsProps, AvatarRoot, AvatarImage, AvatarFallback, ScrollAreaRoot, ScrollAreaViewport, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaCorner, injectDialogRootContext, useForwardExpose, DialogPortal, DialogOverlay, DialogContent, DialogClose, AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, DropdownMenuPortal, DropdownMenuContent, DropdownMenuItem, PopoverPortal, PopoverContent, SwitchRoot, SwitchThumb, CheckboxRoot, CheckboxIndicator, Toggle, ToggleGroupRoot, ToggleGroupItem, SelectRoot, SelectPortal, SelectContent, SelectViewport, SelectTrigger, SelectValue, SelectIcon, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, ComboboxRoot, injectComboboxRootContext as injectComboboxRootContext$1, useForwardPropsEmits as useForwardPropsEmits$1, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxPortal, ComboboxContent, ComboboxViewport, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, RadioGroupRoot, RadioGroupItem, TabsList, TabsIndicator, TabsTrigger, EditableRoot, EditableArea, EditablePreview, EditableInput, AccordionRoot, AccordionItem, AccordionContent, AccordionTrigger, CollapsibleContent, TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, ProgressRoot, ProgressIndicator } from "reka-ui";
3
- import { AlertDialogAction, AlertDialogCancel, AlertDialogRoot, AlertDialogTrigger, CollapsibleRoot, CollapsibleTrigger, ComboboxEmpty, ComboboxGroup, DialogClose as DialogClose2, DialogRoot, DialogTrigger, DropdownMenuRoot, DropdownMenuTrigger, PopoverClose, PopoverRoot, PopoverTrigger, RadioGroupItem as RadioGroupItem2, SelectGroup, TabsContent, TabsRoot } from "reka-ui";
1
+ import { defineComponent, toRefs, createBlock, openBlock, unref, withCtx, createVNode, renderSlot, markRaw, createElementBlock, createElementVNode, computed, normalizeClass, createTextVNode, toDisplayString, createCommentVNode, mergeProps, mergeModels, useTemplateRef, useModel, withDirectives, isRef, vModelDynamic, vModelText, onMounted, normalizeStyle, normalizeProps, guardReactiveProps, Fragment, ref, watch, renderList, withModifiers, vModelRadio, effectScope, createStaticVNode, resolveDynamicComponent } from "vue";
2
+ import { createContext, TooltipProvider, Primitive, useForwardProps, useEmitAsProps, AvatarRoot, AvatarImage, AvatarFallback, ScrollAreaRoot, ScrollAreaViewport, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaCorner, injectDialogRootContext, useForwardExpose, DialogPortal, DialogOverlay, DialogContent, useForwardPropsEmits, AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, DropdownMenuPortal, DropdownMenuContent, DropdownMenuItem, PopoverPortal, PopoverContent, SwitchRoot, SwitchThumb, CheckboxRoot, CheckboxIndicator, Toggle, ToggleGroupRoot, ToggleGroupItem, SelectRoot, SelectPortal, SelectContent, SelectViewport, SelectTrigger, SelectValue, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, ComboboxRoot, injectComboboxRootContext as injectComboboxRootContext$1, ComboboxAnchor, ComboboxInput, ComboboxTrigger, ComboboxPortal, ComboboxContent, ComboboxViewport, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxEmpty, RadioGroupRoot, RadioGroupItem, TabsList, TabsIndicator, TabsTrigger, EditableRoot, EditableArea, EditablePreview, EditableInput, AccordionRoot, useId, AccordionItem, AccordionContent, AccordionTrigger, CollapsibleRoot, CollapsibleTrigger, CollapsibleContent, ToastRoot, ToastTitle, ToastDescription, ToastAction, ToastProvider, ToastPortal, ToastViewport, TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, ProgressRoot, ProgressIndicator } from "reka-ui";
3
+ import { AlertDialogAction, AlertDialogCancel, AlertDialogRoot, AlertDialogTrigger, CheckboxGroupRoot, ComboboxGroup, DialogClose, DialogRoot, DialogTrigger, DropdownMenuRoot, DropdownMenuTrigger, PopoverClose, PopoverRoot, PopoverTrigger, SelectGroup, TabsContent, TabsRoot } from "reka-ui";
4
4
  import { Icon } from "@iconify/vue";
5
- import { Icon as Icon2 } from "@iconify/vue";
6
5
  const [injectThemeContext, provideThemeContext] = createContext("ThemeProvider");
7
- const _sfc_main$_ = /* @__PURE__ */ defineComponent({
6
+ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
8
7
  __name: "ThemeProvider",
9
8
  props: {
10
9
  accentColor: { default: "indigo" },
11
10
  radius: { default: "medium" },
12
11
  grayColor: { default: "auto" },
13
12
  scaling: { default: "100%" },
13
+ panelBackground: { default: "translucent" },
14
14
  hasBackground: { type: Boolean, default: true },
15
15
  asChild: { type: Boolean },
16
16
  as: { default: "div" }
17
17
  },
18
18
  setup(__props) {
19
19
  const props = __props;
20
- const { accentColor, radius, grayColor, scaling, hasBackground } = toRefs(props);
20
+ const { accentColor, radius, grayColor, scaling, panelBackground, hasBackground } = toRefs(props);
21
21
  provideThemeContext({
22
22
  accentColor,
23
23
  radius,
24
24
  grayColor,
25
25
  scaling,
26
+ panelBackground,
26
27
  hasBackground
27
28
  });
28
29
  return (_ctx, _cache) => {
@@ -34,6 +35,7 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
34
35
  "data-gray-color": unref(grayColor),
35
36
  "data-radius": unref(radius),
36
37
  "data-scaling": unref(scaling),
38
+ "data-panel-background": unref(panelBackground),
37
39
  "data-has-background": unref(hasBackground),
38
40
  as: props.as,
39
41
  "as-child": props.asChild
@@ -42,71 +44,74 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
42
44
  renderSlot(_ctx.$slots, "default")
43
45
  ]),
44
46
  _: 3
45
- }, 8, ["data-accent-color", "data-gray-color", "data-radius", "data-scaling", "data-has-background", "as", "as-child"])
47
+ }, 8, ["data-accent-color", "data-gray-color", "data-radius", "data-scaling", "data-panel-background", "data-has-background", "as", "as-child"])
46
48
  ]),
47
49
  _: 3
48
50
  });
49
51
  };
50
52
  }
51
53
  });
52
- function useForwardPropsEmits(props, emit, exclude) {
54
+ const _hoisted_1$v = {
55
+ viewBox: "0 0 24 24",
56
+ width: "1em",
57
+ height: "1em"
58
+ };
59
+ function render$9(_ctx, _cache) {
60
+ return openBlock(), createElementBlock("svg", _hoisted_1$v, _cache[0] || (_cache[0] = [
61
+ createElementVNode("path", {
62
+ fill: "currentColor",
63
+ d: "M4 22a8 8 0 1 1 16 0h-2a6 6 0 0 0-12 0zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6s6 2.685 6 6s-2.685 6-6 6m0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4"
64
+ }, null, -1)
65
+ ]));
66
+ }
67
+ const UserIcon = markRaw({ name: "ri-user-line", render: render$9 });
68
+ function useForwardPropsWithout(props, exclude) {
53
69
  const parsedProps = useForwardProps(props);
54
- const emitsAsProps = useEmitAsProps(emit);
55
70
  return computed(() => ({
56
- ..._excludeProps(parsedProps.value, exclude),
57
- ...emitsAsProps
71
+ ..._excludeProps(parsedProps.value, exclude)
58
72
  }));
59
73
  }
60
- function extractForwardProps(props, keys) {
61
- const parsedProps = useForwardProps(props);
62
- const fowarded = computed(() => _excludeProps(parsedProps.value, keys));
63
- const classes = computed(() => {
64
- return extractClass(parsedProps.value, keys);
65
- });
66
- return [fowarded, classes];
67
- }
68
- function extractForwardPropsEmits(props, emit, keys) {
74
+ function useForwardPropsEmitsWithout(props, emit, exclude) {
69
75
  const parsedProps = useForwardProps(props);
70
76
  const emitsAsProps = useEmitAsProps(emit);
71
- const fowarded = computed(() => ({
72
- ..._excludeProps(parsedProps.value, keys),
77
+ return computed(() => ({
78
+ ..._excludeProps(parsedProps.value, exclude),
73
79
  ...emitsAsProps
74
80
  }));
75
- const classes = computed(() => {
76
- return extractClass(parsedProps.value, keys);
77
- });
78
- return [fowarded, classes];
79
- }
80
- function _excludeProps(props, exclude) {
81
- const rv = {};
82
- Object.keys(props).forEach((k) => {
83
- if (exclude.indexOf(k) === -1) {
84
- rv[k] = props[k];
85
- }
86
- });
87
- return rv;
88
81
  }
89
- const extractClass = (props, keys) => {
90
- const rv = [];
91
- keys.forEach((key) => {
92
- if (key !== "color" && key !== "radius") {
82
+ const buildPropsClass = (props, keys) => {
83
+ return computed(() => {
84
+ const rv = [];
85
+ keys.forEach((key) => {
93
86
  const value = props[key];
87
+ if (key === "class") {
88
+ rv.push(value);
89
+ }
94
90
  if (value === true) {
95
91
  rv.push(`r-${kebabize(key)}`);
96
92
  } else if (value) {
97
93
  rv.push(`r-${kebabize(key)}-${value}`);
98
94
  }
95
+ });
96
+ return rv;
97
+ });
98
+ };
99
+ function _excludeProps(props, exclude) {
100
+ const rv = {};
101
+ Object.keys(props).forEach((k) => {
102
+ if (exclude.indexOf(k) === -1) {
103
+ rv[k] = props[k];
99
104
  }
100
105
  });
101
106
  return rv;
102
- };
107
+ }
103
108
  function kebabize(str) {
104
109
  return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, _kebabReplace);
105
110
  }
106
111
  function _kebabReplace(str, ofs) {
107
112
  return (ofs ? "-" : "") + str.toLowerCase();
108
113
  }
109
- const _sfc_main$Z = /* @__PURE__ */ defineComponent({
114
+ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
110
115
  __name: "Avatar",
111
116
  props: {
112
117
  alt: {},
@@ -119,23 +124,25 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
119
124
  },
120
125
  setup(__props) {
121
126
  const props = __props;
122
- const resetClass = computed(() => {
123
- return extractClass(props, ["size", "variant"]);
124
- });
127
+ const resetClass = buildPropsClass(props, ["size", "variant"]);
125
128
  const fallback = computed(() => {
126
129
  if (props.fallback) {
127
130
  return props.fallback;
128
131
  }
129
- const symbols = props.alt.split(/\s+/).map((p) => p[0]);
130
- if (props.size === "1") {
131
- return symbols[0];
132
+ if (props.alt) {
133
+ const symbols = props.alt.split(/\s+/).map((p) => p[0]);
134
+ if (props.size === "1") {
135
+ return symbols[0];
136
+ } else {
137
+ return symbols.slice(0, 2).join("");
138
+ }
132
139
  } else {
133
- return symbols.slice(0, 2).join("");
140
+ return "";
134
141
  }
135
142
  });
136
143
  return (_ctx, _cache) => {
137
144
  return openBlock(), createBlock(unref(AvatarRoot), {
138
- class: normalizeClass(["ui-Avatar", resetClass.value]),
145
+ class: normalizeClass(["ui-Avatar", unref(resetClass)]),
139
146
  "data-accent-color": props.color,
140
147
  "data-radius": props.radius
141
148
  }, {
@@ -144,21 +151,27 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
144
151
  alt: props.alt,
145
152
  src: props.src || ""
146
153
  }, null, 8, ["alt", "src"]),
147
- createVNode(unref(AvatarFallback), {
154
+ fallback.value ? (openBlock(), createBlock(unref(AvatarFallback), {
155
+ key: 0,
148
156
  class: normalizeClass(`r-count-${fallback.value.length}`)
149
157
  }, {
150
158
  default: withCtx(() => [
151
159
  createTextVNode(toDisplayString(fallback.value), 1)
152
160
  ]),
153
161
  _: 1
154
- }, 8, ["class"])
162
+ }, 8, ["class"])) : (openBlock(), createBlock(unref(AvatarFallback), { key: 1 }, {
163
+ default: withCtx(() => [
164
+ createVNode(unref(UserIcon))
165
+ ]),
166
+ _: 1
167
+ }))
155
168
  ]),
156
169
  _: 1
157
170
  }, 8, ["class", "data-accent-color", "data-radius"]);
158
171
  };
159
172
  }
160
173
  });
161
- const _sfc_main$Y = /* @__PURE__ */ defineComponent({
174
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
162
175
  __name: "Badge",
163
176
  props: {
164
177
  variant: { default: "soft" },
@@ -171,12 +184,10 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
171
184
  },
172
185
  setup(__props) {
173
186
  const props = __props;
174
- const resetClass = computed(() => {
175
- return extractClass(props, ["size", "variant", "highContrast"]);
176
- });
187
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
177
188
  return (_ctx, _cache) => {
178
189
  return openBlock(), createBlock(unref(Primitive), {
179
- class: normalizeClass(["ui-Badge", resetClass.value]),
190
+ class: normalizeClass(["ui-Badge", unref(resetClass)]),
180
191
  as: props.as,
181
192
  "as-child": props.asChild,
182
193
  "data-accent-color": props.color,
@@ -190,31 +201,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
190
201
  };
191
202
  }
192
203
  });
193
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
194
- __name: "Inset",
195
- props: {
196
- side: { default: "all" },
197
- clip: { default: "border-box" }
198
- },
199
- setup(__props) {
200
- const props = __props;
201
- const resetClass = computed(() => {
202
- const rv = [`r-side-${props.side}`];
203
- if (props.clip) {
204
- rv.push(`r-clip-${props.clip}`);
205
- }
206
- return rv;
207
- });
208
- return (_ctx, _cache) => {
209
- return openBlock(), createElementBlock("div", {
210
- class: normalizeClass(["ui-Inset", resetClass.value])
211
- }, [
212
- renderSlot(_ctx.$slots, "default")
213
- ], 2);
214
- };
215
- }
216
- });
217
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
204
+ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
218
205
  __name: "Card",
219
206
  props: {
220
207
  variant: { default: "surface" },
@@ -225,12 +212,10 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
225
212
  },
226
213
  setup(__props) {
227
214
  const props = __props;
228
- const resetClass = computed(() => {
229
- return extractClass(props, ["size", "variant"]);
230
- });
215
+ const resetClass = buildPropsClass(props, ["size", "variant"]);
231
216
  return (_ctx, _cache) => {
232
217
  return openBlock(), createBlock(unref(Primitive), {
233
- class: normalizeClass(["ui-Card", resetClass.value]),
218
+ class: normalizeClass(["ui-Card ui-BaseCard", unref(resetClass)]),
234
219
  "as-child": props.asChild,
235
220
  as: props.as,
236
221
  "data-radius": props.radius
@@ -243,30 +228,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
243
228
  };
244
229
  }
245
230
  });
246
- const _sfc_main$V = /* @__PURE__ */ defineComponent({
247
- __name: "CardHead",
248
- props: {
249
- color: {},
250
- asChild: { type: Boolean },
251
- as: { default: "div" }
252
- },
253
- setup(__props) {
254
- const props = __props;
255
- return (_ctx, _cache) => {
256
- return openBlock(), createBlock(unref(Primitive), {
257
- as: props.as,
258
- class: "ui-CardHead",
259
- "data-accent-color": props.color
260
- }, {
261
- default: withCtx(() => [
262
- renderSlot(_ctx.$slots, "default")
263
- ]),
264
- _: 3
265
- }, 8, ["as", "data-accent-color"]);
266
- };
267
- }
268
- });
269
- const _sfc_main$U = /* @__PURE__ */ defineComponent({
231
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
270
232
  __name: "Button",
271
233
  props: {
272
234
  variant: { default: "solid" },
@@ -280,12 +242,10 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
280
242
  },
281
243
  setup(__props) {
282
244
  const props = __props;
283
- const resetClass = computed(() => {
284
- return extractClass(props, ["size", "variant", "highContrast"]);
285
- });
245
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
286
246
  return (_ctx, _cache) => {
287
247
  return openBlock(), createBlock(unref(Primitive), {
288
- class: normalizeClass(["ui-Button", resetClass.value]),
248
+ class: normalizeClass(["ui-Button", unref(resetClass)]),
289
249
  "as-child": props.asChild,
290
250
  as: props.as,
291
251
  "data-accent-color": props.color,
@@ -301,85 +261,46 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
301
261
  };
302
262
  }
303
263
  });
304
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
264
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
305
265
  __name: "IconButton",
306
266
  props: {
307
- variant: {},
267
+ variant: { default: "solid" },
308
268
  color: {},
309
269
  radius: {},
310
- size: {},
311
- highContrast: { type: Boolean },
312
- disabled: { type: Boolean },
313
- as: {},
314
- asChild: { type: Boolean }
315
- },
316
- setup(__props) {
317
- const props = __props;
318
- const forwarded = useForwardProps(props);
319
- return (_ctx, _cache) => {
320
- return openBlock(), createBlock(_sfc_main$U, mergeProps({ class: "ui-IconButton" }, unref(forwarded)), {
321
- default: withCtx(() => [
322
- renderSlot(_ctx.$slots, "default")
323
- ]),
324
- _: 3
325
- }, 16);
326
- };
327
- }
328
- });
329
- const BRAND_ICONS = {
330
- google: "logos:google-icon",
331
- facebook: "simple-icons:facebook",
332
- x: "simple-icons:x",
333
- github: "simple-icons:github",
334
- apple: "simple-icons:apple",
335
- slack: "logos:slack-icon",
336
- figma: "logos:figma"
337
- };
338
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
339
- __name: "SocialButton",
340
- props: {
341
- brand: {},
342
- radius: {},
343
270
  size: { default: "2" },
271
+ highContrast: { type: Boolean, default: false },
344
272
  disabled: { type: Boolean },
345
- asChild: { type: Boolean },
346
- as: { default: "button" }
273
+ as: { default: "button" },
274
+ asChild: { type: Boolean }
347
275
  },
348
276
  setup(__props) {
349
277
  const props = __props;
350
- const resetClass = computed(() => {
351
- return extractClass(props, ["size", "brand"]);
352
- });
353
- const brandIcon = computed(() => {
354
- return BRAND_ICONS[props.brand];
355
- });
278
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
356
279
  return (_ctx, _cache) => {
357
280
  return openBlock(), createBlock(unref(Primitive), {
358
- class: normalizeClass(["ui-Button ui-SocialButton", resetClass.value]),
281
+ class: normalizeClass(["ui-Button ui-IconButton", unref(resetClass)]),
359
282
  "as-child": props.asChild,
360
283
  as: props.as,
284
+ "data-accent-color": props.color,
361
285
  "data-radius": props.radius,
362
- "data-disabled": props.disabled ? true : void 0
286
+ "data-disabled": props.disabled ? true : void 0,
287
+ disabled: props.disabled && props.as === "button" ? true : void 0
363
288
  }, {
364
289
  default: withCtx(() => [
365
- brandIcon.value ? (openBlock(), createBlock(unref(Icon), {
366
- key: 0,
367
- icon: brandIcon.value
368
- }, null, 8, ["icon"])) : createCommentVNode("", true),
369
290
  renderSlot(_ctx.$slots, "default")
370
291
  ]),
371
292
  _: 3
372
- }, 8, ["class", "as-child", "as", "data-radius", "data-disabled"]);
293
+ }, 8, ["class", "as-child", "as", "data-accent-color", "data-radius", "data-disabled", "disabled"]);
373
294
  };
374
295
  }
375
296
  });
376
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
297
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
377
298
  __name: "ScrollArea",
378
299
  props: {
379
300
  size: { default: "1" },
380
301
  radius: {},
381
302
  scrollbars: { default: "both" },
382
- type: {},
303
+ type: { default: "scroll" },
383
304
  dir: {},
384
305
  scrollHideDelay: {},
385
306
  asChild: { type: Boolean },
@@ -437,7 +358,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
437
358
  };
438
359
  }
439
360
  });
440
- const _sfc_main$Q = /* @__PURE__ */ defineComponent({
361
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
441
362
  __name: "DialogTitle",
442
363
  props: {
443
364
  asChild: { type: Boolean },
@@ -460,7 +381,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
460
381
  };
461
382
  }
462
383
  });
463
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
384
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
464
385
  __name: "DialogDescription",
465
386
  props: {
466
387
  asChild: { type: Boolean },
@@ -483,7 +404,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
483
404
  };
484
405
  }
485
406
  });
486
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
407
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
487
408
  __name: "ThemeWrapper",
488
409
  props: {
489
410
  accentColor: {},
@@ -509,23 +430,15 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
509
430
  };
510
431
  }
511
432
  });
512
- const _hoisted_1$j = { class: "ui-DialogWrapper" };
513
- const _hoisted_2$7 = { class: "ui-DialogContainer" };
514
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
433
+ const _hoisted_1$u = { class: "ui-DialogWrapper" };
434
+ const _hoisted_2$8 = { class: "ui-DialogContainer" };
435
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
515
436
  ...{
516
437
  inheritAttrs: false
517
438
  },
518
- __name: "DialogContent",
439
+ __name: "DialogPopup",
519
440
  props: {
520
- to: {},
521
- size: { default: "3" },
522
- width: {},
523
- minWidth: {},
524
- maxWidth: { default: "600px" },
525
- height: {},
526
- minHeight: {},
527
- maxHeight: {},
528
- closeIcon: { type: Boolean },
441
+ size: { default: "1" },
529
442
  forceMount: { type: Boolean },
530
443
  disableOutsidePointerEvents: { type: Boolean },
531
444
  asChild: { type: Boolean },
@@ -535,64 +448,27 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
535
448
  setup(__props, { emit: __emit }) {
536
449
  const props = __props;
537
450
  const emits = __emit;
538
- const forwarded = useForwardPropsEmits(props, emits, [
539
- "to",
540
- "align",
541
- "class",
542
- "size",
543
- "width",
544
- "minWidth",
545
- "maxWidth",
546
- "height",
547
- "minHeight",
548
- "maxHeight",
549
- "closeIcon"
550
- ]);
451
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["align", "class", "size"]);
551
452
  return (_ctx, _cache) => {
552
- return openBlock(), createBlock(unref(DialogPortal), {
553
- to: props.to
554
- }, {
453
+ return openBlock(), createBlock(unref(DialogPortal), null, {
555
454
  default: withCtx(() => [
556
- createVNode(_sfc_main$O, null, {
455
+ createVNode(_sfc_main$S, null, {
557
456
  default: withCtx(() => [
558
457
  createVNode(unref(DialogOverlay), { class: "ui-DialogOverlay" }, {
559
458
  default: withCtx(() => [
560
- createElementVNode("div", _hoisted_1$j, [
561
- createElementVNode("div", _hoisted_2$7, [
459
+ createElementVNode("div", _hoisted_1$u, [
460
+ createElementVNode("div", _hoisted_2$8, [
562
461
  createVNode(unref(DialogContent), mergeProps({
563
- class: ["ui-DialogContent", `r-size-${props.size}`]
462
+ class: ["ui-DialogPopup", `r-size-${props.size}`]
564
463
  }, {
565
464
  ..._ctx.$attrs,
566
465
  ...unref(forwarded)
567
- }, {
568
- style: {
569
- width: props.width,
570
- height: props.height,
571
- minWidth: props.minWidth,
572
- maxWidth: props.maxWidth,
573
- minHeight: props.minHeight,
574
- maxHeight: props.maxHeight
575
- }
576
466
  }), {
577
467
  default: withCtx(() => [
578
- props.closeIcon ? (openBlock(), createBlock(_sfc_main$T, {
579
- key: 0,
580
- class: "ui-DialogContentClose",
581
- as: unref(DialogClose),
582
- type: "button",
583
- variant: "ghost",
584
- color: "gray",
585
- "aria-label": "Close"
586
- }, {
587
- default: withCtx(() => [
588
- createVNode(unref(Icon), { icon: "lucide:x" })
589
- ]),
590
- _: 1
591
- }, 8, ["as"])) : createCommentVNode("", true),
592
468
  renderSlot(_ctx.$slots, "default")
593
469
  ]),
594
470
  _: 3
595
- }, 16, ["class", "style"])
471
+ }, 16, ["class"])
596
472
  ])
597
473
  ])
598
474
  ]),
@@ -603,26 +479,18 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
603
479
  })
604
480
  ]),
605
481
  _: 3
606
- }, 8, ["to"]);
482
+ });
607
483
  };
608
484
  }
609
485
  });
610
- const _hoisted_1$i = { class: "ui-DialogWrapper" };
611
- const _hoisted_2$6 = { class: "ui-DialogContainer" };
612
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
486
+ const _hoisted_1$t = { class: "ui-DialogWrapper" };
487
+ const _hoisted_2$7 = { class: "ui-DialogContainer" };
488
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
613
489
  ...{
614
490
  inheritAttrs: false
615
491
  },
616
- __name: "AlertDialogContent",
492
+ __name: "AlertDialogPopup",
617
493
  props: {
618
- to: {},
619
- size: { default: "3" },
620
- width: {},
621
- minWidth: {},
622
- maxWidth: { default: "450px" },
623
- height: {},
624
- minHeight: {},
625
- maxHeight: {},
626
494
  forceMount: { type: Boolean },
627
495
  disableOutsidePointerEvents: { type: Boolean },
628
496
  asChild: { type: Boolean },
@@ -632,49 +500,25 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
632
500
  setup(__props, { emit: __emit }) {
633
501
  const props = __props;
634
502
  const emits = __emit;
635
- const forwarded = useForwardPropsEmits(props, emits, [
636
- "to",
637
- "align",
638
- "class",
639
- "size",
640
- "width",
641
- "minWidth",
642
- "maxWidth",
643
- "height",
644
- "minHeight",
645
- "maxHeight"
646
- ]);
503
+ const forwarded = useForwardPropsEmits(props, emits);
647
504
  return (_ctx, _cache) => {
648
- return openBlock(), createBlock(unref(AlertDialogPortal), {
649
- to: props.to
650
- }, {
505
+ return openBlock(), createBlock(unref(AlertDialogPortal), null, {
651
506
  default: withCtx(() => [
652
- createVNode(_sfc_main$O, null, {
507
+ createVNode(_sfc_main$S, null, {
653
508
  default: withCtx(() => [
654
509
  createVNode(unref(AlertDialogOverlay), { class: "ui-DialogOverlay" }, {
655
510
  default: withCtx(() => [
656
- createElementVNode("div", _hoisted_1$i, [
657
- createElementVNode("div", _hoisted_2$6, [
658
- createVNode(unref(AlertDialogContent), mergeProps({
659
- class: ["ui-DialogContent", `r-size-${props.size}`]
660
- }, {
511
+ createElementVNode("div", _hoisted_1$t, [
512
+ createElementVNode("div", _hoisted_2$7, [
513
+ createVNode(unref(AlertDialogContent), mergeProps({ class: "ui-DialogPopup ui-AlertPopup r-size-3" }, {
661
514
  ..._ctx.$attrs,
662
515
  ...unref(forwarded)
663
- }, {
664
- style: {
665
- width: props.width,
666
- height: props.height,
667
- minWidth: props.minWidth,
668
- maxWidth: props.maxWidth,
669
- minHeight: props.minHeight,
670
- maxHeight: props.maxHeight
671
- }
672
516
  }), {
673
517
  default: withCtx(() => [
674
518
  renderSlot(_ctx.$slots, "default")
675
519
  ]),
676
520
  _: 3
677
- }, 16, ["class", "style"])
521
+ }, 16)
678
522
  ])
679
523
  ])
680
524
  ]),
@@ -685,19 +529,18 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
685
529
  })
686
530
  ]),
687
531
  _: 3
688
- }, 8, ["to"]);
532
+ });
689
533
  };
690
534
  }
691
535
  });
692
- const _hoisted_1$h = { class: "ui-MenuViewport" };
693
- const [injectDropdownMenuContentContext, provideDropdownMenuContentContext] = createContext("ui_DropdownMenuContent");
694
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
536
+ const _hoisted_1$s = { class: "ui-MenuViewport" };
537
+ const [injectDropdownMenuContentContext, provideDropdownMenuContentContext] = createContext("ui:DropdownMenuContent");
538
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
695
539
  ...{
696
540
  inheritAttrs: false
697
541
  },
698
542
  __name: "DropdownMenuContent",
699
543
  props: {
700
- to: {},
701
544
  size: { default: "2" },
702
545
  variant: { default: "solid" },
703
546
  color: {},
@@ -706,8 +549,10 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
706
549
  loop: { type: Boolean },
707
550
  side: {},
708
551
  sideOffset: { default: 4 },
552
+ sideFlip: { type: Boolean },
709
553
  align: { default: "start" },
710
554
  alignOffset: {},
555
+ alignFlip: { type: Boolean },
711
556
  avoidCollisions: { type: Boolean },
712
557
  collisionBoundary: {},
713
558
  collisionPadding: { default: 10 },
@@ -726,7 +571,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
726
571
  setup(__props, { emit: __emit }) {
727
572
  const props = __props;
728
573
  const emits = __emit;
729
- const forwarded = useForwardPropsEmits(props, emits, [
574
+ const forwarded = useForwardPropsEmitsWithout(props, emits, [
730
575
  "to",
731
576
  "size",
732
577
  "variant",
@@ -735,13 +580,12 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
735
580
  ]);
736
581
  const { forwardRef } = useForwardExpose();
737
582
  const { size, variant, color, highContrast } = toRefs(props);
583
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
738
584
  provideDropdownMenuContentContext({ size, variant, color, highContrast });
739
585
  return (_ctx, _cache) => {
740
- return openBlock(), createBlock(unref(DropdownMenuPortal), {
741
- to: props.to
742
- }, {
586
+ return openBlock(), createBlock(unref(DropdownMenuPortal), null, {
743
587
  default: withCtx(() => [
744
- createVNode(_sfc_main$O, {
588
+ createVNode(_sfc_main$S, {
745
589
  "accent-color": props.color
746
590
  }, {
747
591
  default: withCtx(() => [
@@ -750,12 +594,12 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
750
594
  ...unref(forwarded)
751
595
  }, {
752
596
  ref: unref(forwardRef),
753
- class: ["ui-PopperContent ui-MenuContent", `r-size-${props.size}`]
597
+ class: ["ui-PopperContent ui-MenuContent", unref(resetClass)]
754
598
  }), {
755
599
  default: withCtx(() => [
756
- createVNode(_sfc_main$R, { type: "auto" }, {
600
+ createVNode(_sfc_main$V, { type: "auto" }, {
757
601
  default: withCtx(() => [
758
- createElementVNode("div", _hoisted_1$h, [
602
+ createElementVNode("div", _hoisted_1$s, [
759
603
  renderSlot(_ctx.$slots, "default")
760
604
  ])
761
605
  ]),
@@ -769,12 +613,12 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
769
613
  }, 8, ["accent-color"])
770
614
  ]),
771
615
  _: 3
772
- }, 8, ["to"]);
616
+ });
773
617
  };
774
618
  }
775
619
  });
776
- const _hoisted_1$g = ["textContent"];
777
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
620
+ const _hoisted_1$r = ["textContent"];
621
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
778
622
  __name: "DropdownMenuItem",
779
623
  props: {
780
624
  color: {},
@@ -788,14 +632,13 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
788
632
  setup(__props, { emit: __emit }) {
789
633
  const props = __props;
790
634
  const emits = __emit;
791
- const forwarded = useForwardPropsEmits(props, emits, ["color", "shortcut"]);
635
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "shortcut"]);
792
636
  useForwardExpose();
793
637
  const rootContext = injectDropdownMenuContentContext();
794
638
  return (_ctx, _cache) => {
795
639
  return openBlock(), createBlock(unref(DropdownMenuItem), mergeProps({
796
640
  class: "ui-MenuItem",
797
641
  "data-accent-color": props.color,
798
- "data-size": unref(rootContext).size.value,
799
642
  "data-variant": unref(rootContext).variant.value,
800
643
  "data-high-contrast": unref(rootContext).highContrast?.value || void 0
801
644
  }, unref(forwarded)), {
@@ -805,26 +648,43 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
805
648
  key: 0,
806
649
  class: "ui-MenuShortcut",
807
650
  textContent: toDisplayString(props.shortcut)
808
- }, null, 8, _hoisted_1$g)) : createCommentVNode("", true)
651
+ }, null, 8, _hoisted_1$r)) : createCommentVNode("", true)
809
652
  ]),
810
653
  _: 3
811
- }, 16, ["data-accent-color", "data-size", "data-variant", "data-high-contrast"]);
654
+ }, 16, ["data-accent-color", "data-variant", "data-high-contrast"]);
812
655
  };
813
656
  }
814
657
  });
815
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
658
+ const _export_sfc = (sfc, props) => {
659
+ const target = sfc.__vccOpts || sfc;
660
+ for (const [key, val] of props) {
661
+ target[key] = val;
662
+ }
663
+ return target;
664
+ };
665
+ const _sfc_main$N = {};
666
+ const _hoisted_1$q = {
667
+ class: "ui-DropdownMenuSeparator",
668
+ "aria-hidden": "true"
669
+ };
670
+ function _sfc_render$2(_ctx, _cache) {
671
+ return openBlock(), createElementBlock("div", _hoisted_1$q);
672
+ }
673
+ const DropdownMenuSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$2]]);
674
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
816
675
  ...{
817
676
  inheritAttrs: false
818
677
  },
819
- __name: "PopoverContent",
678
+ __name: "PopoverPopup",
820
679
  props: {
821
- to: {},
822
- size: { default: "2" },
680
+ size: { default: "1" },
823
681
  forceMount: { type: Boolean },
824
- side: {},
825
- sideOffset: {},
826
- align: {},
682
+ side: { default: "bottom" },
683
+ sideOffset: { default: 4 },
684
+ sideFlip: { type: Boolean },
685
+ align: { default: "start" },
827
686
  alignOffset: {},
687
+ alignFlip: { type: Boolean },
828
688
  avoidCollisions: { type: Boolean },
829
689
  collisionBoundary: {},
830
690
  collisionPadding: {},
@@ -844,16 +704,14 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
844
704
  setup(__props, { emit: __emit }) {
845
705
  const props = __props;
846
706
  const emits = __emit;
847
- const forwarded = useForwardPropsEmits(props, emits, ["to", "size"]);
707
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["to", "size"]);
848
708
  return (_ctx, _cache) => {
849
- return openBlock(), createBlock(unref(PopoverPortal), {
850
- to: props.to
851
- }, {
709
+ return openBlock(), createBlock(unref(PopoverPortal), null, {
852
710
  default: withCtx(() => [
853
- createVNode(_sfc_main$O, null, {
711
+ createVNode(_sfc_main$S, null, {
854
712
  default: withCtx(() => [
855
713
  createVNode(unref(PopoverContent), mergeProps({ ..._ctx.$attrs, ...unref(forwarded) }, {
856
- class: ["ui-PopoverContent", `r-size-${props.size}`]
714
+ class: ["ui-PopoverPopup ui-PopperContent", `r-size-${props.size}`]
857
715
  }), {
858
716
  default: withCtx(() => [
859
717
  renderSlot(_ctx.$slots, "default")
@@ -865,11 +723,11 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
865
723
  })
866
724
  ]),
867
725
  _: 3
868
- }, 8, ["to"]);
726
+ });
869
727
  };
870
728
  }
871
729
  });
872
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
730
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
873
731
  __name: "Switch",
874
732
  props: {
875
733
  color: {},
@@ -891,13 +749,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
891
749
  setup(__props, { emit: __emit }) {
892
750
  const emits = __emit;
893
751
  const props = __props;
894
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, [
895
- "color",
896
- "size",
897
- "variant",
898
- "highContrast",
899
- "radius"
900
- ]);
752
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "size", "variant", "highContrast", "radius"]);
753
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
901
754
  return (_ctx, _cache) => {
902
755
  return openBlock(), createBlock(unref(SwitchRoot), mergeProps(unref(forwarded), {
903
756
  class: ["ui-Switch", unref(resetClass)],
@@ -912,25 +765,26 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
912
765
  };
913
766
  }
914
767
  });
915
- const _hoisted_1$f = {
916
- key: 0,
917
- xmlns: "http://www.w3.org/2000/svg",
918
- viewBox: "0 0 24 24",
919
- fill: "none",
920
- stroke: "currentColor",
921
- "stroke-width": "4",
922
- "stroke-linecap": "round",
923
- "stroke-linejoin": "round"
768
+ const _hoisted_1$p = {
769
+ width: "9",
770
+ height: "9",
771
+ viewBox: "0 0 9 9",
772
+ fill: "currentcolor",
773
+ xmlns: "http://www.w3.org/2000/svg"
924
774
  };
925
- const _hoisted_2$5 = {
775
+ const _hoisted_2$6 = {
926
776
  key: 0,
927
- d: "M5 12h14"
777
+ fillRule: "evenodd",
778
+ clipRule: "evenodd",
779
+ d: "M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z"
928
780
  };
929
781
  const _hoisted_3$2 = {
930
782
  key: 1,
931
- d: "M20 6 9 17l-5-5"
783
+ fillRule: "evenodd",
784
+ clipRule: "evenodd",
785
+ d: "M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z"
932
786
  };
933
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
787
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
934
788
  __name: "Checkbox",
935
789
  props: {
936
790
  color: {},
@@ -951,235 +805,53 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
951
805
  setup(__props, { emit: __emit }) {
952
806
  const emits = __emit;
953
807
  const props = __props;
954
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, ["color", "size", "variant", "highContrast"]);
808
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "size", "variant", "highContrast"]);
809
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
955
810
  return (_ctx, _cache) => {
956
811
  return openBlock(), createBlock(unref(CheckboxRoot), mergeProps(unref(forwarded), {
957
812
  class: ["ui-Checkbox", unref(resetClass)],
958
813
  "data-accent-color": props.color
959
814
  }), {
960
- default: withCtx(() => [
815
+ default: withCtx(({ state }) => [
961
816
  createVNode(unref(CheckboxIndicator), {
962
817
  class: "ui-CheckboxIndicator",
963
818
  "as-child": ""
964
819
  }, {
965
820
  default: withCtx(() => [
966
- props.modelValue !== false ? (openBlock(), createElementBlock("svg", _hoisted_1$f, [
967
- props.modelValue === "indeterminate" ? (openBlock(), createElementBlock("path", _hoisted_2$5)) : (openBlock(), createElementBlock("path", _hoisted_3$2))
968
- ])) : createCommentVNode("", true)
821
+ (openBlock(), createElementBlock("svg", _hoisted_1$p, [
822
+ state === "indeterminate" ? (openBlock(), createElementBlock("path", _hoisted_2$6)) : (openBlock(), createElementBlock("path", _hoisted_3$2))
823
+ ]))
969
824
  ]),
970
- _: 1
971
- })
825
+ _: 2
826
+ }, 1024)
972
827
  ]),
973
828
  _: 1
974
829
  }, 16, ["class", "data-accent-color"]);
975
830
  };
976
831
  }
977
832
  });
978
- const [injectCheckboxGroupRootContext, provideCheckboxGroupRootContext] = createContext("ui_CheckboxGroupRoot");
979
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
980
- __name: "CheckboxGroupRoot",
981
- props: /* @__PURE__ */ mergeModels({
833
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
834
+ __name: "Toggle",
835
+ props: {
836
+ variant: { default: "soft" },
837
+ color: {},
838
+ radius: {},
839
+ size: { default: "2" },
840
+ highContrast: { type: Boolean },
841
+ defaultValue: { type: Boolean },
842
+ modelValue: { type: [Boolean, null] },
982
843
  disabled: { type: Boolean },
983
- name: {},
984
844
  asChild: { type: Boolean },
985
- as: {}
986
- }, {
987
- "modelValue": {
988
- default: []
989
- },
990
- "modelModifiers": {}
991
- }),
845
+ as: {},
846
+ name: {},
847
+ required: { type: Boolean }
848
+ },
992
849
  emits: ["update:modelValue"],
993
- setup(__props) {
850
+ setup(__props, { emit: __emit }) {
851
+ const emits = __emit;
994
852
  const props = __props;
995
- const { disabled, name } = toRefs(props);
996
- const allValues = ref([]);
997
- const [modelValue, modifiers] = useModel(__props, "modelValue", {
998
- set(value) {
999
- if (modifiers.number) {
1000
- value = value.map((v) => Number(v));
1001
- } else if (modifiers.trim) {
1002
- value = value.map((v) => v.trim());
1003
- }
1004
- return value;
1005
- }
1006
- });
1007
- const selected = computed(() => {
1008
- return modelValue.value || [];
1009
- });
1010
- const checked = computed(() => {
1011
- if (!allValues.value.length) {
1012
- return false;
1013
- }
1014
- if (modelValue.value?.length === allValues.value.length) {
1015
- return true;
1016
- } else if (modelValue.value?.length) {
1017
- return "indeterminate";
1018
- } else {
1019
- return false;
1020
- }
1021
- });
1022
- const removeModelValue = (value) => {
1023
- const index = modelValue.value?.indexOf(value);
1024
- if (index !== -1 && index !== void 0) {
1025
- modelValue.value?.splice(index, 1);
1026
- }
1027
- };
1028
- provideCheckboxGroupRootContext({
1029
- selected,
1030
- checked,
1031
- addModelValue: (value) => {
1032
- if (modelValue.value?.indexOf(value) === -1) {
1033
- modelValue.value?.push(value);
1034
- }
1035
- },
1036
- removeModelValue,
1037
- toggleModelValue: (checked2) => {
1038
- if (checked2) {
1039
- modelValue.value = [...allValues.value];
1040
- } else {
1041
- modelValue.value = [];
1042
- }
1043
- },
1044
- initAllValue: (value) => {
1045
- allValues.value.push(value);
1046
- },
1047
- removeAllValue: (value) => {
1048
- allValues.value.splice(allValues.value.indexOf(value), 1);
1049
- removeModelValue(value);
1050
- },
1051
- disabled,
1052
- name: name?.value
1053
- });
1054
- return (_ctx, _cache) => {
1055
- return openBlock(), createBlock(unref(Primitive), {
1056
- as: props.as,
1057
- "as-child": props.asChild
1058
- }, {
1059
- default: withCtx(() => [
1060
- renderSlot(_ctx.$slots, "default")
1061
- ]),
1062
- _: 3
1063
- }, 8, ["as", "as-child"]);
1064
- };
1065
- }
1066
- });
1067
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
1068
- __name: "CheckboxGroupItem",
1069
- props: {
1070
- value: {},
1071
- color: {},
1072
- variant: {},
1073
- size: {},
1074
- highContrast: { type: Boolean },
1075
- defaultValue: { type: [Boolean, String] },
1076
- modelValue: { type: [Boolean, String, null] },
1077
- disabled: { type: Boolean },
1078
- id: {},
1079
- asChild: { type: Boolean },
1080
- as: {},
1081
- name: {},
1082
- required: { type: Boolean }
1083
- },
1084
- setup(__props) {
1085
- const props = __props;
1086
- const forwarded = useForwardProps(props);
1087
- useForwardExpose();
1088
- const rootContext = injectCheckboxGroupRootContext();
1089
- const disabled = computed(() => {
1090
- return rootContext.disabled?.value || props.disabled;
1091
- });
1092
- const checked = computed(() => {
1093
- return rootContext.selected.value.indexOf(props.value) !== -1;
1094
- });
1095
- const onUpdate = (checked2) => {
1096
- if (checked2) {
1097
- rootContext.addModelValue(props.value);
1098
- } else {
1099
- rootContext.removeModelValue(props.value);
1100
- }
1101
- };
1102
- onMounted(() => {
1103
- rootContext.initAllValue(props.value);
1104
- });
1105
- onBeforeUnmount(() => {
1106
- rootContext.removeAllValue(props.value);
1107
- });
1108
- return (_ctx, _cache) => {
1109
- return openBlock(), createBlock(_sfc_main$H, mergeProps({
1110
- ...unref(forwarded),
1111
- name: props.name || unref(rootContext).name,
1112
- modelValue: checked.value,
1113
- disabled: disabled.value
1114
- }, { "onUpdate:modelValue": onUpdate }), null, 16);
1115
- };
1116
- }
1117
- });
1118
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
1119
- __name: "CheckboxGroupControl",
1120
- props: {
1121
- color: {},
1122
- variant: {},
1123
- size: {},
1124
- highContrast: { type: Boolean },
1125
- defaultValue: { type: [Boolean, String] },
1126
- modelValue: { type: [Boolean, String, null] },
1127
- disabled: { type: Boolean },
1128
- value: {},
1129
- id: {},
1130
- asChild: { type: Boolean },
1131
- as: {},
1132
- name: {},
1133
- required: { type: Boolean }
1134
- },
1135
- setup(__props) {
1136
- const props = __props;
1137
- const forwarded = useForwardProps(props);
1138
- useForwardExpose();
1139
- const rootContext = injectCheckboxGroupRootContext();
1140
- const disabled = computed(() => {
1141
- return rootContext.disabled?.value || props.disabled;
1142
- });
1143
- const toggleModelValue = (checked) => {
1144
- rootContext.toggleModelValue(checked);
1145
- };
1146
- return (_ctx, _cache) => {
1147
- return openBlock(), createBlock(_sfc_main$H, mergeProps({
1148
- ...unref(forwarded),
1149
- name: props.name || unref(rootContext).name,
1150
- modelValue: unref(rootContext).checked.value,
1151
- disabled: disabled.value
1152
- }, { "onUpdate:modelValue": toggleModelValue }), null, 16);
1153
- };
1154
- }
1155
- });
1156
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
1157
- __name: "Toggle",
1158
- props: {
1159
- color: {},
1160
- variant: { default: "soft" },
1161
- size: { default: "2" },
1162
- highContrast: { type: Boolean },
1163
- radius: {},
1164
- defaultValue: { type: Boolean },
1165
- modelValue: { type: [Boolean, null] },
1166
- disabled: { type: Boolean },
1167
- asChild: { type: Boolean },
1168
- as: {},
1169
- name: {},
1170
- required: { type: Boolean }
1171
- },
1172
- emits: ["update:modelValue"],
1173
- setup(__props, { emit: __emit }) {
1174
- const emits = __emit;
1175
- const props = __props;
1176
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, [
1177
- "color",
1178
- "size",
1179
- "variant",
1180
- "highContrast",
1181
- "radius"
1182
- ]);
853
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "size", "variant", "highContrast", "radius"]);
854
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
1183
855
  return (_ctx, _cache) => {
1184
856
  return openBlock(), createBlock(unref(Toggle), mergeProps(unref(forwarded), {
1185
857
  class: ["ui-Toggle", unref(resetClass)],
@@ -1194,11 +866,11 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1194
866
  };
1195
867
  }
1196
868
  });
1197
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
869
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
1198
870
  __name: "ToggleGroupRoot",
1199
871
  props: {
872
+ variant: { default: "solid" },
1200
873
  color: {},
1201
- variant: { default: "soft" },
1202
874
  size: { default: "2" },
1203
875
  highContrast: { type: Boolean },
1204
876
  radius: {},
@@ -1219,13 +891,8 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1219
891
  setup(__props, { emit: __emit }) {
1220
892
  const emits = __emit;
1221
893
  const props = __props;
1222
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, [
1223
- "color",
1224
- "size",
1225
- "variant",
1226
- "highContrast",
1227
- "radius"
1228
- ]);
894
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "size", "variant", "highContrast", "radius"]);
895
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
1229
896
  return (_ctx, _cache) => {
1230
897
  return openBlock(), createBlock(unref(ToggleGroupRoot), mergeProps(unref(forwarded), {
1231
898
  class: ["ui-ToggleGroupRoot", unref(resetClass)],
@@ -1240,7 +907,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1240
907
  };
1241
908
  }
1242
909
  });
1243
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
910
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1244
911
  __name: "ToggleGroupItem",
1245
912
  props: {
1246
913
  value: {},
@@ -1261,8 +928,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1261
928
  };
1262
929
  }
1263
930
  });
1264
- const _hoisted_1$e = ["data-radius", "data-accent-color"];
1265
- const _hoisted_2$4 = ["id", "type"];
931
+ const _hoisted_1$o = ["data-radius", "data-accent-color"];
932
+ const _hoisted_2$5 = ["id", "type"];
1266
933
  const _hoisted_3$1 = ["id", "type"];
1267
934
  const _hoisted_4 = {
1268
935
  key: 2,
@@ -1274,7 +941,7 @@ const _hoisted_5 = {
1274
941
  class: "ui-TextFieldSlot",
1275
942
  "data-side": "right"
1276
943
  };
1277
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
944
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1278
945
  ...{
1279
946
  inheritAttrs: false
1280
947
  },
@@ -1320,19 +987,13 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1320
987
  return value;
1321
988
  }
1322
989
  });
1323
- const resetClass = computed(() => {
1324
- const rv = extractClass(props, ["size", "variant"]);
1325
- if (props.class) {
1326
- rv.push(props.class);
1327
- }
1328
- return rv;
1329
- });
990
+ const resetClass = buildPropsClass(props, ["size", "variant", "class"]);
1330
991
  const onFileChange = () => {
1331
992
  modelValue.value = inputRef.value?.files;
1332
993
  };
1333
994
  return (_ctx, _cache) => {
1334
995
  return openBlock(), createElementBlock("div", {
1335
- class: normalizeClass(["ui-TextField", resetClass.value]),
996
+ class: normalizeClass(["ui-TextField", unref(resetClass)]),
1336
997
  "data-radius": props.radius,
1337
998
  "data-accent-color": props.color,
1338
999
  onPointerdown: onPointerDown
@@ -1345,7 +1006,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1345
1006
  }, _ctx.$attrs, {
1346
1007
  class: "ui-TextFieldInput",
1347
1008
  onChange: onFileChange
1348
- }), null, 16, _hoisted_2$4)) : withDirectives((openBlock(), createElementBlock("input", mergeProps({
1009
+ }), null, 16, _hoisted_2$5)) : withDirectives((openBlock(), createElementBlock("input", mergeProps({
1349
1010
  key: 1,
1350
1011
  id: props.id,
1351
1012
  ref: "input",
@@ -1360,12 +1021,12 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1360
1021
  _ctx.$slots.right ? (openBlock(), createElementBlock("div", _hoisted_5, [
1361
1022
  renderSlot(_ctx.$slots, "right")
1362
1023
  ])) : createCommentVNode("", true)
1363
- ], 42, _hoisted_1$e);
1024
+ ], 42, _hoisted_1$o);
1364
1025
  };
1365
1026
  }
1366
1027
  });
1367
- const _hoisted_1$d = ["data-accent-color"];
1368
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
1028
+ const _hoisted_1$n = ["data-accent-color", "data-radius"];
1029
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1369
1030
  ...{
1370
1031
  inheritAttrs: false
1371
1032
  },
@@ -1387,69 +1048,70 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1387
1048
  setup(__props) {
1388
1049
  const props = __props;
1389
1050
  const modelValue = useModel(__props, "modelValue");
1390
- const resetClass = computed(() => {
1391
- const rv = extractClass(props, ["size", "variant", "resize"]);
1392
- if (props.class) {
1393
- rv.push(props.class);
1394
- }
1395
- return rv;
1396
- });
1051
+ const resetClass = buildPropsClass(props, ["size", "variant", "resize", "class"]);
1397
1052
  return (_ctx, _cache) => {
1398
1053
  return openBlock(), createElementBlock("div", {
1399
- class: normalizeClass(["ui-TextArea", resetClass.value]),
1400
- "data-accent-color": props.color
1054
+ class: normalizeClass(["ui-TextArea", unref(resetClass)]),
1055
+ "data-accent-color": props.color,
1056
+ "data-radius": props.radius
1401
1057
  }, [
1402
1058
  withDirectives(createElementVNode("textarea", mergeProps({
1403
1059
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event)
1404
1060
  }, _ctx.$attrs, { class: "ui-TextAreaInput" }), null, 16), [
1405
1061
  [vModelText, modelValue.value]
1406
1062
  ])
1407
- ], 10, _hoisted_1$d);
1063
+ ], 10, _hoisted_1$n);
1408
1064
  };
1409
1065
  }
1410
1066
  });
1411
- const _hoisted_1$c = ["data-radius"];
1412
- const _hoisted_2$3 = ["id"];
1413
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
1067
+ const _hoisted_1$m = ["id"];
1068
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1414
1069
  __name: "ColorField",
1415
1070
  props: /* @__PURE__ */ mergeModels({
1416
1071
  id: {},
1417
1072
  variant: { default: "solid" },
1418
1073
  size: { default: "2" },
1419
- radius: {}
1074
+ radius: {},
1075
+ defaultValue: {},
1076
+ as: { default: "div" }
1420
1077
  }, {
1421
- "modelValue": {
1422
- default: "#000000"
1423
- },
1078
+ "modelValue": { required: false },
1424
1079
  "modelModifiers": {}
1425
1080
  }),
1426
1081
  emits: ["update:modelValue"],
1427
1082
  setup(__props) {
1428
1083
  const props = __props;
1429
1084
  const modelValue = useModel(__props, "modelValue");
1430
- const resetClass = computed(() => {
1431
- return extractClass(props, ["size", "variant"]);
1085
+ const resetClass = buildPropsClass(props, ["size", "variant"]);
1086
+ onMounted(() => {
1087
+ if (props.defaultValue && !modelValue.value) {
1088
+ modelValue.value = props.defaultValue;
1089
+ }
1432
1090
  });
1433
1091
  return (_ctx, _cache) => {
1434
- return openBlock(), createElementBlock("div", {
1435
- class: normalizeClass(["ui-ColorField", resetClass.value]),
1092
+ return openBlock(), createBlock(unref(Primitive), {
1093
+ class: normalizeClass(["ui-ColorField", unref(resetClass)]),
1094
+ as: props.as,
1436
1095
  "data-radius": props.radius,
1437
- style: normalizeStyle({ "--color-field-border-color": modelValue.value })
1438
- }, [
1439
- withDirectives(createElementVNode("input", {
1440
- id: props.id,
1441
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
1442
- class: "ui-ColorFieldInput",
1443
- type: "color"
1444
- }, null, 8, _hoisted_2$3), [
1445
- [vModelText, modelValue.value]
1446
- ])
1447
- ], 14, _hoisted_1$c);
1096
+ style: normalizeStyle({ "--color-field-color": modelValue.value })
1097
+ }, {
1098
+ default: withCtx(() => [
1099
+ withDirectives(createElementVNode("input", {
1100
+ id: props.id,
1101
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
1102
+ class: "ui-ColorFieldInput",
1103
+ type: "color"
1104
+ }, null, 8, _hoisted_1$m), [
1105
+ [vModelText, modelValue.value]
1106
+ ])
1107
+ ]),
1108
+ _: 1
1109
+ }, 8, ["as", "class", "data-radius", "style"]);
1448
1110
  };
1449
1111
  }
1450
1112
  });
1451
- const [injectSelectRootContext, provideSelectRootContext] = createContext("ui_SelectRoot");
1452
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
1113
+ const [injectSelectRootContext, provideSelectRootContext] = createContext("ui:SelectRoot");
1114
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1453
1115
  __name: "SelectRoot",
1454
1116
  props: {
1455
1117
  size: { default: "2" },
@@ -1472,7 +1134,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1472
1134
  const props = __props;
1473
1135
  const emits = __emit;
1474
1136
  const { size, color, highContrast } = toRefs(props);
1475
- const forwarded = useForwardPropsEmits(props, emits, ["size", "color", "highContrast"]);
1137
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["size", "color", "highContrast"]);
1476
1138
  provideSelectRootContext({
1477
1139
  size,
1478
1140
  color,
@@ -1488,21 +1150,22 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1488
1150
  };
1489
1151
  }
1490
1152
  });
1491
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
1153
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1492
1154
  ...{
1493
1155
  inheritAttrs: false
1494
1156
  },
1495
1157
  __name: "SelectContent",
1496
1158
  props: {
1497
- to: {},
1498
1159
  variant: { default: "solid" },
1499
1160
  forceMount: { type: Boolean },
1500
1161
  position: {},
1501
1162
  bodyLock: { type: Boolean },
1502
1163
  side: {},
1503
1164
  sideOffset: {},
1165
+ sideFlip: { type: Boolean },
1504
1166
  align: {},
1505
1167
  alignOffset: {},
1168
+ alignFlip: { type: Boolean },
1506
1169
  avoidCollisions: { type: Boolean },
1507
1170
  collisionBoundary: {},
1508
1171
  collisionPadding: {},
@@ -1533,18 +1196,15 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1533
1196
  return rv;
1534
1197
  });
1535
1198
  return (_ctx, _cache) => {
1536
- return openBlock(), createBlock(unref(SelectPortal), {
1537
- to: props.to
1538
- }, {
1199
+ return openBlock(), createBlock(unref(SelectPortal), null, {
1539
1200
  default: withCtx(() => [
1540
- createVNode(_sfc_main$O, {
1201
+ createVNode(_sfc_main$S, {
1541
1202
  "accent-color": unref(context).color.value
1542
1203
  }, {
1543
1204
  default: withCtx(() => [
1544
1205
  createVNode(unref(SelectContent), mergeProps({ ref: unref(forwardRef) }, {
1545
1206
  ..._ctx.$attrs,
1546
1207
  ...unref(forwarded),
1547
- to: void 0,
1548
1208
  variant: void 0
1549
1209
  }, {
1550
1210
  class: ["ui-SelectContent", contentClass.value]
@@ -1592,12 +1252,28 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1592
1252
  }, 8, ["accent-color"])
1593
1253
  ]),
1594
1254
  _: 3
1595
- }, 8, ["to"]);
1255
+ });
1596
1256
  };
1597
1257
  }
1598
1258
  });
1599
- const _hoisted_1$b = { class: "ui-SelectTriggerInner" };
1600
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
1259
+ const _hoisted_1$l = {
1260
+ viewBox: "0 0 15 15",
1261
+ width: "1em",
1262
+ height: "1em"
1263
+ };
1264
+ function render$8(_ctx, _cache) {
1265
+ return openBlock(), createElementBlock("svg", _hoisted_1$l, _cache[0] || (_cache[0] = [
1266
+ createElementVNode("path", {
1267
+ fill: "currentColor",
1268
+ "fill-rule": "evenodd",
1269
+ d: "M3.135 6.158a.5.5 0 0 1 .707-.023L7.5 9.565l3.658-3.43a.5.5 0 0 1 .684.73l-4 3.75a.5.5 0 0 1-.684 0l-4-3.75a.5.5 0 0 1-.023-.707",
1270
+ "clip-rule": "evenodd"
1271
+ }, null, -1)
1272
+ ]));
1273
+ }
1274
+ const ChevronDownIcon = markRaw({ name: "radix-icons-chevron-down", render: render$8 });
1275
+ const _hoisted_1$k = { class: "ui-SelectTriggerInner" };
1276
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1601
1277
  __name: "SelectTrigger",
1602
1278
  props: {
1603
1279
  variant: { default: "surface" },
@@ -1622,7 +1298,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1622
1298
  "data-radius": props.radius
1623
1299
  }, {
1624
1300
  default: withCtx(() => [
1625
- createElementVNode("span", _hoisted_1$b, [
1301
+ createElementVNode("span", _hoisted_1$k, [
1626
1302
  createVNode(unref(SelectValue), {
1627
1303
  placeholder: props.placeholder
1628
1304
  }, {
@@ -1640,22 +1316,30 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1640
1316
  _: 3
1641
1317
  }, 8, ["placeholder"])
1642
1318
  ]),
1643
- createVNode(unref(SelectIcon), { "as-child": "" }, {
1644
- default: withCtx(() => [
1645
- createVNode(unref(Icon), {
1646
- class: "ui-SelectIcon",
1647
- icon: "radix-icons:chevron-down"
1648
- })
1649
- ]),
1650
- _: 1
1651
- })
1319
+ createVNode(unref(ChevronDownIcon), { class: "ui-SelectIcon" })
1652
1320
  ]),
1653
1321
  _: 3
1654
1322
  }, 8, ["class", "disabled", "data-accent-color", "data-radius"]);
1655
1323
  };
1656
1324
  }
1657
1325
  });
1658
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
1326
+ const _hoisted_1$j = {
1327
+ viewBox: "0 0 15 15",
1328
+ width: "1em",
1329
+ height: "1em"
1330
+ };
1331
+ function render$7(_ctx, _cache) {
1332
+ return openBlock(), createElementBlock("svg", _hoisted_1$j, _cache[0] || (_cache[0] = [
1333
+ createElementVNode("path", {
1334
+ fill: "currentColor",
1335
+ "fill-rule": "evenodd",
1336
+ d: "M11.467 3.727c.289.189.37.576.181.865l-4.25 6.5a.625.625 0 0 1-.944.12l-2.75-2.5a.625.625 0 0 1 .841-.925l2.208 2.007l3.849-5.886a.625.625 0 0 1 .865-.181",
1337
+ "clip-rule": "evenodd"
1338
+ }, null, -1)
1339
+ ]));
1340
+ }
1341
+ const CheckIcon$1 = markRaw({ name: "radix-icons-check", render: render$7 });
1342
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1659
1343
  __name: "SelectItem",
1660
1344
  props: {
1661
1345
  value: {},
@@ -1673,7 +1357,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1673
1357
  default: withCtx(() => [
1674
1358
  createVNode(unref(SelectItemIndicator), { class: "ui-SelectItemIndicator" }, {
1675
1359
  default: withCtx(() => [
1676
- createVNode(unref(Icon), { icon: "radix-icons:check" })
1360
+ createVNode(unref(CheckIcon$1))
1677
1361
  ]),
1678
1362
  _: 1
1679
1363
  }),
@@ -1689,7 +1373,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1689
1373
  };
1690
1374
  }
1691
1375
  });
1692
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
1376
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1693
1377
  __name: "SelectLabel",
1694
1378
  props: {
1695
1379
  for: {},
@@ -1710,24 +1394,17 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1710
1394
  };
1711
1395
  }
1712
1396
  });
1713
- const _export_sfc = (sfc, props) => {
1714
- const target = sfc.__vccOpts || sfc;
1715
- for (const [key, val] of props) {
1716
- target[key] = val;
1717
- }
1718
- return target;
1719
- };
1720
- const _sfc_main$s = {};
1721
- const _hoisted_1$a = {
1397
+ const _sfc_main$y = {};
1398
+ const _hoisted_1$i = {
1722
1399
  class: "ui-SelectSeparator",
1723
1400
  "aria-hidden": "true"
1724
1401
  };
1725
- function _sfc_render(_ctx, _cache) {
1726
- return openBlock(), createElementBlock("div", _hoisted_1$a);
1402
+ function _sfc_render$1(_ctx, _cache) {
1403
+ return openBlock(), createElementBlock("div", _hoisted_1$i);
1727
1404
  }
1728
- const SelectSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render]]);
1729
- const [injectComboboxRootContext, provideComboboxRootContext] = createContext("ui_ComboboxRoot");
1730
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
1405
+ const SelectSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", _sfc_render$1]]);
1406
+ const [injectComboboxRootContext, provideComboboxRootContext] = createContext("ui:ComboboxRoot");
1407
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1731
1408
  __name: "ComboboxRoot",
1732
1409
  props: {
1733
1410
  size: { default: "2" },
@@ -1737,6 +1414,8 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1737
1414
  defaultOpen: { type: Boolean },
1738
1415
  resetSearchTermOnBlur: { type: Boolean },
1739
1416
  resetSearchTermOnSelect: { type: Boolean },
1417
+ openOnFocus: { type: Boolean },
1418
+ openOnClick: { type: Boolean },
1740
1419
  ignoreFilter: { type: Boolean },
1741
1420
  modelValue: {},
1742
1421
  defaultValue: {},
@@ -1755,7 +1434,8 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1755
1434
  const props = __props;
1756
1435
  const emits = __emit;
1757
1436
  const { size, color, highContrast } = toRefs(props);
1758
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, ["size", "color", "highContrast"]);
1437
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["size", "color", "highContrast"]);
1438
+ const resetClass = buildPropsClass(props, ["size", "highContrast", "multiple"]);
1759
1439
  provideComboboxRootContext({
1760
1440
  size,
1761
1441
  color,
@@ -1773,13 +1453,29 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1773
1453
  };
1774
1454
  }
1775
1455
  });
1776
- const _hoisted_1$9 = {
1456
+ const _hoisted_1$h = {
1457
+ viewBox: "0 0 15 15",
1458
+ width: "1em",
1459
+ height: "1em"
1460
+ };
1461
+ function render$6(_ctx, _cache) {
1462
+ return openBlock(), createElementBlock("svg", _hoisted_1$h, _cache[0] || (_cache[0] = [
1463
+ createElementVNode("path", {
1464
+ fill: "currentColor",
1465
+ "fill-rule": "evenodd",
1466
+ d: "M11.782 4.032a.575.575 0 1 0-.813-.814L7.5 6.687L4.032 3.218a.575.575 0 0 0-.814.814L6.687 7.5l-3.469 3.468a.575.575 0 0 0 .814.814L7.5 8.313l3.469 3.469a.575.575 0 0 0 .813-.814L8.313 7.5z",
1467
+ "clip-rule": "evenodd"
1468
+ }, null, -1)
1469
+ ]));
1470
+ }
1471
+ const CrossIcon = markRaw({ name: "radix-icons-cross-2", render: render$6 });
1472
+ const _hoisted_1$g = {
1777
1473
  key: 0,
1778
1474
  class: "ui-ComboboxValues"
1779
1475
  };
1780
- const _hoisted_2$2 = ["aria-current", "value"];
1476
+ const _hoisted_2$4 = ["aria-current", "value"];
1781
1477
  const _hoisted_3 = ["onClick"];
1782
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1478
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1783
1479
  ...{
1784
1480
  inheritAttrs: false
1785
1481
  },
@@ -1800,7 +1496,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1800
1496
  const context = injectComboboxRootContext$1();
1801
1497
  const props = __props;
1802
1498
  const emits = __emit;
1803
- const forwarded = useForwardPropsEmits$1(props, emits);
1499
+ const forwarded = useForwardPropsEmits(props, emits);
1804
1500
  const activeIndex = ref(-1);
1805
1501
  const values = computed(() => {
1806
1502
  return context.modelValue.value;
@@ -1818,8 +1514,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1818
1514
  activeIndex.value = -1;
1819
1515
  };
1820
1516
  const onInputKeydown = (event) => {
1821
- const value = event.target.value;
1822
- if (!value && (event.key === "Delete" || event.key === "Backspace")) {
1517
+ const input = event.target;
1518
+ if (!input.value && (event.key === "Delete" || event.key === "Backspace")) {
1823
1519
  if (activeIndex.value !== -1) {
1824
1520
  onDeleteIndex(activeIndex.value);
1825
1521
  } else {
@@ -1828,6 +1524,10 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1828
1524
  activeIndex.value = -1;
1829
1525
  }, 800);
1830
1526
  }
1527
+ } else if (input.value && event.key === "Enter") {
1528
+ setTimeout(() => {
1529
+ input.value = "";
1530
+ });
1831
1531
  }
1832
1532
  };
1833
1533
  watch(values, () => {
@@ -1841,7 +1541,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1841
1541
  "data-multiple": unref(context).multiple.value || void 0
1842
1542
  }, {
1843
1543
  default: withCtx(() => [
1844
- unref(context).multiple.value ? (openBlock(), createElementBlock("div", _hoisted_1$9, [
1544
+ unref(context).multiple.value ? (openBlock(), createElementBlock("div", _hoisted_1$g, [
1845
1545
  (openBlock(true), createElementBlock(Fragment, null, renderList(values.value, (item, index) => {
1846
1546
  return openBlock(), createElementBlock("div", {
1847
1547
  key: displayValue(item),
@@ -1857,9 +1557,9 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1857
1557
  tabindex: "-1",
1858
1558
  onClick: withModifiers(($event) => onDeleteIndex(index), ["prevent"])
1859
1559
  }, [
1860
- createVNode(unref(Icon), { icon: "lucide:x" })
1560
+ createVNode(unref(CrossIcon))
1861
1561
  ], 8, _hoisted_3)
1862
- ], 8, _hoisted_2$2);
1562
+ ], 8, _hoisted_2$4);
1863
1563
  }), 128)),
1864
1564
  createVNode(unref(ComboboxInput), mergeProps({
1865
1565
  ..._ctx.$attrs,
@@ -1881,7 +1581,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1881
1581
  }), null, 16)),
1882
1582
  createVNode(unref(ComboboxTrigger), { class: "ui-ComboboxTrigger" }, {
1883
1583
  default: withCtx(() => [
1884
- createVNode(unref(Icon), { icon: "radix-icons:chevron-down" })
1584
+ createVNode(unref(ChevronDownIcon))
1885
1585
  ]),
1886
1586
  _: 1
1887
1587
  })
@@ -1891,21 +1591,22 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1891
1591
  };
1892
1592
  }
1893
1593
  });
1894
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
1594
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1895
1595
  ...{
1896
1596
  inheritAttrs: false
1897
1597
  },
1898
1598
  __name: "ComboboxContent",
1899
1599
  props: {
1900
- to: {},
1901
1600
  variant: { default: "solid" },
1902
1601
  forceMount: { type: Boolean },
1903
1602
  position: { default: "popper" },
1904
1603
  bodyLock: { type: Boolean },
1905
1604
  side: {},
1906
- sideOffset: {},
1605
+ sideOffset: { default: 5 },
1606
+ sideFlip: { type: Boolean },
1907
1607
  align: {},
1908
1608
  alignOffset: {},
1609
+ alignFlip: { type: Boolean },
1909
1610
  avoidCollisions: { type: Boolean },
1910
1611
  collisionBoundary: {},
1911
1612
  collisionPadding: {},
@@ -1926,7 +1627,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1926
1627
  const { forwardRef } = useForwardExpose();
1927
1628
  const props = __props;
1928
1629
  const emits = __emit;
1929
- const forwarded = useForwardPropsEmits$1(props, emits);
1630
+ const forwarded = useForwardPropsEmits(props, emits);
1930
1631
  const context = injectComboboxRootContext();
1931
1632
  const contentClass = computed(() => {
1932
1633
  const rv = ["r-size-" + context.size.value, "r-variant-" + props.variant];
@@ -1936,11 +1637,9 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1936
1637
  return rv;
1937
1638
  });
1938
1639
  return (_ctx, _cache) => {
1939
- return openBlock(), createBlock(unref(ComboboxPortal), {
1940
- to: props.to
1941
- }, {
1640
+ return openBlock(), createBlock(unref(ComboboxPortal), null, {
1942
1641
  default: withCtx(() => [
1943
- createVNode(_sfc_main$O, {
1642
+ createVNode(_sfc_main$S, {
1944
1643
  "accent-color": unref(context).color.value
1945
1644
  }, {
1946
1645
  default: withCtx(() => [
@@ -1996,11 +1695,11 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1996
1695
  }, 8, ["accent-color"])
1997
1696
  ]),
1998
1697
  _: 3
1999
- }, 8, ["to"]);
1698
+ });
2000
1699
  };
2001
1700
  }
2002
1701
  });
2003
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
1702
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
2004
1703
  __name: "ComboboxItem",
2005
1704
  props: {
2006
1705
  textValue: {},
@@ -2017,7 +1716,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2017
1716
  default: withCtx(() => [
2018
1717
  createVNode(unref(ComboboxItemIndicator), { class: "ui-ComboboxItemIndicator" }, {
2019
1718
  default: withCtx(() => [
2020
- createVNode(unref(Icon), { icon: "radix-icons:check" })
1719
+ createVNode(unref(CheckIcon$1))
2021
1720
  ]),
2022
1721
  _: 1
2023
1722
  }),
@@ -2028,7 +1727,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2028
1727
  };
2029
1728
  }
2030
1729
  });
2031
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
1730
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
2032
1731
  __name: "ComboboxLabel",
2033
1732
  props: {
2034
1733
  for: {},
@@ -2049,13 +1748,26 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2049
1748
  };
2050
1749
  }
2051
1750
  });
2052
- const _hoisted_1$8 = ["data-accent-color"];
2053
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
1751
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1752
+ __name: "ComboboxEmpty",
1753
+ setup(__props) {
1754
+ return (_ctx, _cache) => {
1755
+ return openBlock(), createBlock(unref(ComboboxEmpty), { class: "ui-ComboboxEmpty" }, {
1756
+ default: withCtx(() => [
1757
+ renderSlot(_ctx.$slots, "default")
1758
+ ]),
1759
+ _: 3
1760
+ });
1761
+ };
1762
+ }
1763
+ });
1764
+ const _hoisted_1$f = ["data-accent-color"];
1765
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2054
1766
  __name: "Radio",
2055
1767
  props: /* @__PURE__ */ mergeModels({
1768
+ variant: { default: "surface" },
2056
1769
  color: {},
2057
1770
  size: { default: "2" },
2058
- variant: { default: "surface" },
2059
1771
  highContrast: { type: Boolean }
2060
1772
  }, {
2061
1773
  "modelValue": {
@@ -2077,28 +1789,25 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2077
1789
  return value;
2078
1790
  }
2079
1791
  });
2080
- const resetClass = computed(() => {
2081
- return extractClass(props, ["size", "variant", "highContrast"]);
2082
- });
1792
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
2083
1793
  return (_ctx, _cache) => {
2084
1794
  return withDirectives((openBlock(), createElementBlock("input", {
2085
1795
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
2086
- class: normalizeClass(["ui-Radio", resetClass.value]),
1796
+ class: normalizeClass(["ui-RadioBase ui-Radio", unref(resetClass)]),
2087
1797
  type: "radio",
2088
1798
  "data-accent-color": props.color
2089
- }, null, 10, _hoisted_1$8)), [
1799
+ }, null, 10, _hoisted_1$f)), [
2090
1800
  [vModelRadio, unref(modelValue)]
2091
1801
  ]);
2092
1802
  };
2093
1803
  }
2094
1804
  });
2095
- const [injectRadioGroupRootContext, provideRadioGroupRootContext] = createContext("ui_RadioGroupRoot");
2096
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
1805
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2097
1806
  __name: "RadioGroupRoot",
2098
1807
  props: {
2099
- color: {},
2100
- size: { default: "2" },
2101
1808
  variant: { default: "surface" },
1809
+ size: { default: "2" },
1810
+ color: {},
2102
1811
  highContrast: { type: Boolean },
2103
1812
  modelValue: {},
2104
1813
  defaultValue: {},
@@ -2115,23 +1824,29 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2115
1824
  setup(__props, { emit: __emit }) {
2116
1825
  const emits = __emit;
2117
1826
  const props = __props;
2118
- const forwarded = useForwardPropsEmits(props, emits, ["color", "size", "variant", "highContrast"]);
2119
- const { size, variant, color, highContrast } = toRefs(props);
2120
- provideRadioGroupRootContext({ size, variant, color, highContrast });
1827
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "size", "variant", "highContrast"]);
1828
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
2121
1829
  return (_ctx, _cache) => {
2122
- return openBlock(), createBlock(unref(RadioGroupRoot), mergeProps({ class: "ui-RadioGroupRoot" }, unref(forwarded)), {
1830
+ return openBlock(), createBlock(unref(RadioGroupRoot), mergeProps({
1831
+ class: ["ui-RadioGroupRoot", unref(resetClass)],
1832
+ "data-accent-color": props.color
1833
+ }, unref(forwarded)), {
2123
1834
  default: withCtx(() => [
2124
1835
  renderSlot(_ctx.$slots, "default")
2125
1836
  ]),
2126
1837
  _: 3
2127
- }, 16);
1838
+ }, 16, ["class", "data-accent-color"]);
2128
1839
  };
2129
1840
  }
2130
1841
  });
2131
- const _hoisted_1$7 = { class: "ui-RadioGroupItem" };
2132
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
1842
+ const _hoisted_1$e = { class: "ui-RadioGroupItem" };
1843
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
2133
1844
  __name: "RadioGroupItem",
2134
1845
  props: {
1846
+ color: {},
1847
+ size: {},
1848
+ variant: {},
1849
+ highContrast: { type: Boolean },
2135
1850
  id: {},
2136
1851
  value: {},
2137
1852
  disabled: { type: Boolean },
@@ -2142,72 +1857,26 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2142
1857
  },
2143
1858
  setup(__props) {
2144
1859
  const props = __props;
2145
- const forwarded = useForwardProps(props);
2146
- const rootContext = injectRadioGroupRootContext();
2147
- const resetClass = computed(() => {
2148
- const rv = [
2149
- `r-size-${rootContext.size.value}`,
2150
- `r-variant-${rootContext.variant.value}`
2151
- ];
2152
- if (rootContext.highContrast?.value) {
2153
- rv.push("r-high-contrast");
2154
- }
2155
- return rv;
2156
- });
1860
+ const forwarded = useForwardPropsWithout(props, ["color", "size", "variant", "highContrast"]);
1861
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
2157
1862
  return (_ctx, _cache) => {
2158
- return openBlock(), createElementBlock("label", _hoisted_1$7, [
1863
+ return openBlock(), createElementBlock("label", _hoisted_1$e, [
2159
1864
  createVNode(unref(RadioGroupItem), mergeProps({
2160
- class: ["ui-Radio", resetClass.value],
2161
- "data-accent-color": unref(rootContext).color?.value
1865
+ class: ["ui-RadioBase ui-RadioGroupItemIndicator", unref(resetClass)],
1866
+ "data-accent-color": props.color
2162
1867
  }, unref(forwarded)), null, 16, ["class", "data-accent-color"]),
2163
1868
  renderSlot(_ctx.$slots, "default")
2164
1869
  ]);
2165
1870
  };
2166
1871
  }
2167
1872
  });
2168
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
2169
- __name: "RadioCardsItem",
2170
- props: {
2171
- id: {},
2172
- value: {},
2173
- disabled: { type: Boolean },
2174
- asChild: { type: Boolean },
2175
- as: {},
2176
- name: {},
2177
- required: { type: Boolean }
2178
- },
2179
- setup(__props) {
2180
- const props = __props;
2181
- const forwarded = useForwardProps(props);
2182
- useForwardExpose();
2183
- const rootContext = injectRadioGroupRootContext();
2184
- return (_ctx, _cache) => {
2185
- return openBlock(), createBlock(unref(RadioGroupItem), mergeProps({
2186
- class: "ui-RadioCardsItem",
2187
- "data-accent-color": unref(rootContext).color?.value,
2188
- "data-size": unref(rootContext).size.value,
2189
- "data-variant": unref(rootContext).variant.value,
2190
- "data-high-contrast": unref(rootContext).highContrast?.value
2191
- }, { ...unref(forwarded), asChild: false }), {
2192
- default: withCtx(() => [
2193
- createVNode(_sfc_main$W, {
2194
- "as-child": unref(forwarded).asChild
2195
- }, {
2196
- default: withCtx(() => [
2197
- renderSlot(_ctx.$slots, "default")
2198
- ]),
2199
- _: 3
2200
- }, 8, ["as-child"])
2201
- ]),
2202
- _: 3
2203
- }, 16, ["data-accent-color", "data-size", "data-variant", "data-high-contrast"]);
2204
- };
2205
- }
2206
- });
2207
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
2208
- __name: "RadioTabsList",
1873
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1874
+ __name: "RadioCardsRoot",
2209
1875
  props: {
1876
+ variant: { default: "surface" },
2210
1877
  size: { default: "2" },
1878
+ color: {},
1879
+ highContrast: { type: Boolean },
2211
1880
  modelValue: {},
2212
1881
  defaultValue: {},
2213
1882
  disabled: { type: Boolean },
@@ -2223,34 +1892,124 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2223
1892
  setup(__props, { emit: __emit }) {
2224
1893
  const emits = __emit;
2225
1894
  const props = __props;
2226
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, ["size"]);
1895
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "size", "variant", "highContrast"]);
1896
+ const resetClass = buildPropsClass(props, ["size", "variant", "highContrast"]);
2227
1897
  return (_ctx, _cache) => {
2228
- return openBlock(), createBlock(unref(RadioGroupRoot), mergeProps(unref(forwarded), {
2229
- class: ["ui-RadioTabsList", unref(resetClass)]
2230
- }), {
1898
+ return openBlock(), createBlock(unref(RadioGroupRoot), mergeProps({
1899
+ class: ["ui-RadioCardsRoot", unref(resetClass)],
1900
+ "data-accent-color": props.color
1901
+ }, unref(forwarded)), {
2231
1902
  default: withCtx(() => [
2232
1903
  renderSlot(_ctx.$slots, "default")
2233
1904
  ]),
2234
1905
  _: 3
2235
- }, 16, ["class"]);
1906
+ }, 16, ["class", "data-accent-color"]);
2236
1907
  };
2237
1908
  }
2238
1909
  });
2239
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
1910
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1911
+ __name: "RadioCardsItem",
1912
+ props: {
1913
+ id: {},
1914
+ value: {},
1915
+ disabled: { type: Boolean },
1916
+ asChild: { type: Boolean },
1917
+ as: {},
1918
+ name: {},
1919
+ required: { type: Boolean }
1920
+ },
1921
+ setup(__props) {
1922
+ const props = __props;
1923
+ const forwarded = useForwardProps(props);
1924
+ useForwardExpose();
1925
+ return (_ctx, _cache) => {
1926
+ return openBlock(), createBlock(unref(RadioGroupItem), mergeProps({ class: "ui-RadioCardsItem ui-BaseCard" }, { ...unref(forwarded), asChild: false }), {
1927
+ default: withCtx(() => [
1928
+ renderSlot(_ctx.$slots, "default")
1929
+ ]),
1930
+ _: 3
1931
+ }, 16);
1932
+ };
1933
+ }
1934
+ });
1935
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1936
+ __name: "RadioTabsRoot",
1937
+ props: {
1938
+ variant: { default: "classic" },
1939
+ size: { default: "2" },
1940
+ color: {},
1941
+ radius: {},
1942
+ modelValue: {},
1943
+ defaultValue: {},
1944
+ disabled: { type: Boolean },
1945
+ orientation: {},
1946
+ dir: {},
1947
+ loop: { type: Boolean },
1948
+ asChild: { type: Boolean },
1949
+ as: {},
1950
+ name: {},
1951
+ required: { type: Boolean }
1952
+ },
1953
+ emits: ["update:modelValue"],
1954
+ setup(__props, { emit: __emit }) {
1955
+ const emits = __emit;
1956
+ const props = __props;
1957
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["size", "color", "radius", "variant"]);
1958
+ const resetClass = buildPropsClass(props, ["size", "variant"]);
1959
+ return (_ctx, _cache) => {
1960
+ return openBlock(), createBlock(unref(RadioGroupRoot), mergeProps(unref(forwarded), {
1961
+ class: ["ui-RadioTabsRoot", unref(resetClass)],
1962
+ "data-accent-color": props.color,
1963
+ "data-radius": props.radius
1964
+ }), {
1965
+ default: withCtx(() => [
1966
+ renderSlot(_ctx.$slots, "default")
1967
+ ]),
1968
+ _: 3
1969
+ }, 16, ["data-accent-color", "data-radius", "class"]);
1970
+ };
1971
+ }
1972
+ });
1973
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1974
+ __name: "RadioTabsItem",
1975
+ props: {
1976
+ id: {},
1977
+ value: {},
1978
+ disabled: { type: Boolean },
1979
+ asChild: { type: Boolean },
1980
+ as: {},
1981
+ name: {},
1982
+ required: { type: Boolean }
1983
+ },
1984
+ setup(__props) {
1985
+ const props = __props;
1986
+ const forwarded = useForwardProps(props);
1987
+ return (_ctx, _cache) => {
1988
+ return openBlock(), createBlock(unref(RadioGroupItem), mergeProps({ class: "ui-RadioTabsItem" }, unref(forwarded)), {
1989
+ default: withCtx(() => [
1990
+ renderSlot(_ctx.$slots, "default")
1991
+ ]),
1992
+ _: 3
1993
+ }, 16);
1994
+ };
1995
+ }
1996
+ });
1997
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2240
1998
  __name: "TabsList",
2241
1999
  props: {
2242
2000
  size: { default: "2" },
2001
+ radius: {},
2243
2002
  color: {},
2003
+ variant: { default: "outline" },
2244
2004
  highContrast: { type: Boolean }
2245
2005
  },
2246
2006
  setup(__props) {
2247
2007
  const props = __props;
2248
- const resetClass = computed(() => {
2249
- return extractClass(props, ["size", "highContrast"]);
2250
- });
2008
+ const resetClass = buildPropsClass(props, ["variant", "size", "highContrast"]);
2251
2009
  return (_ctx, _cache) => {
2252
2010
  return openBlock(), createBlock(unref(TabsList), {
2253
- class: normalizeClass(["ui-TabList", resetClass.value]),
2011
+ class: normalizeClass(["ui-TabList", unref(resetClass)]),
2012
+ "data-radius": props.radius,
2254
2013
  "data-accent-color": props.color
2255
2014
  }, {
2256
2015
  default: withCtx(() => [
@@ -2258,13 +2017,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2258
2017
  renderSlot(_ctx.$slots, "default")
2259
2018
  ]),
2260
2019
  _: 3
2261
- }, 8, ["class", "data-accent-color"]);
2020
+ }, 8, ["class", "data-radius", "data-accent-color"]);
2262
2021
  };
2263
2022
  }
2264
2023
  });
2265
- const _hoisted_1$6 = { class: "ui-TabTriggerInner" };
2266
- const _hoisted_2$1 = { class: "ui-TabTriggerInnerHidden" };
2267
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
2024
+ const _hoisted_1$d = { class: "ui-TabTriggerInner" };
2025
+ const _hoisted_2$3 = { class: "ui-TabTriggerInnerHidden" };
2026
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2268
2027
  __name: "TabsTrigger",
2269
2028
  props: {
2270
2029
  value: {},
@@ -2278,10 +2037,10 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2278
2037
  return (_ctx, _cache) => {
2279
2038
  return openBlock(), createBlock(unref(TabsTrigger), mergeProps(unref(forwarded), { class: "ui-TabTrigger" }), {
2280
2039
  default: withCtx(() => [
2281
- createElementVNode("span", _hoisted_1$6, [
2040
+ createElementVNode("span", _hoisted_1$d, [
2282
2041
  renderSlot(_ctx.$slots, "default")
2283
2042
  ]),
2284
- createElementVNode("span", _hoisted_2$1, [
2043
+ createElementVNode("span", _hoisted_2$3, [
2285
2044
  renderSlot(_ctx.$slots, "default")
2286
2045
  ])
2287
2046
  ]),
@@ -2290,7 +2049,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2290
2049
  };
2291
2050
  }
2292
2051
  });
2293
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
2052
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2294
2053
  ...{
2295
2054
  inheritAttrs: false
2296
2055
  },
@@ -2321,7 +2080,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2321
2080
  setup(__props, { emit: __emit }) {
2322
2081
  const props = __props;
2323
2082
  const emits = __emit;
2324
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, ["radius", "color", "size"]);
2083
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["radius", "color", "size"]);
2084
+ const resetClass = buildPropsClass(props, ["radius", "size"]);
2325
2085
  return (_ctx, _cache) => {
2326
2086
  return openBlock(), createBlock(unref(EditableRoot), mergeProps({
2327
2087
  class: ["ui-Editable", unref(resetClass)],
@@ -2341,14 +2101,17 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2341
2101
  };
2342
2102
  }
2343
2103
  });
2344
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
2104
+ const [injectAccordionRootContext, provideAccordionRootContext] = createContext("ui:AccordionRoot");
2105
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2345
2106
  __name: "AccordionRoot",
2346
2107
  props: {
2347
2108
  size: { default: "1" },
2109
+ indicatorSide: { default: "right" },
2110
+ indicatorIcon: { default: "chevron" },
2111
+ orientation: {},
2348
2112
  collapsible: { type: Boolean },
2349
2113
  disabled: { type: Boolean },
2350
2114
  dir: {},
2351
- orientation: {},
2352
2115
  unmountOnHide: { type: Boolean },
2353
2116
  asChild: { type: Boolean },
2354
2117
  as: {},
@@ -2360,7 +2123,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2360
2123
  setup(__props, { emit: __emit }) {
2361
2124
  const props = __props;
2362
2125
  const emits = __emit;
2363
- const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, ["size"]);
2126
+ const { indicatorSide, indicatorIcon } = toRefs(props);
2127
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["size", "indicatorSide", "indicatorIcon"]);
2128
+ const resetClass = buildPropsClass(props, ["size"]);
2129
+ provideAccordionRootContext({
2130
+ indicatorSide,
2131
+ indicatorIcon
2132
+ });
2364
2133
  return (_ctx, _cache) => {
2365
2134
  return openBlock(), createBlock(unref(AccordionRoot), mergeProps(unref(forwarded), {
2366
2135
  class: ["ui-AccordionRoot", unref(resetClass)]
@@ -2373,20 +2142,28 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2373
2142
  };
2374
2143
  }
2375
2144
  });
2376
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
2145
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2377
2146
  __name: "AccordionItem",
2378
2147
  props: {
2379
- disabled: { type: Boolean },
2380
2148
  value: {},
2149
+ disabled: { type: Boolean },
2381
2150
  unmountOnHide: { type: Boolean },
2382
2151
  asChild: { type: Boolean },
2383
2152
  as: {}
2384
2153
  },
2385
2154
  setup(__props) {
2386
2155
  const props = __props;
2387
- const forwardedProps = useForwardProps(props);
2156
+ const id = useId(null, "accordion-item");
2157
+ const forwarded = computed(() => {
2158
+ const refProps = useForwardProps(props);
2159
+ if (!refProps.value.value) {
2160
+ return { ...refProps.value, value: id };
2161
+ } else {
2162
+ return refProps.value;
2163
+ }
2164
+ });
2388
2165
  return (_ctx, _cache) => {
2389
- return openBlock(), createBlock(unref(AccordionItem), mergeProps(unref(forwardedProps), { class: "ui-AccordionItem" }), {
2166
+ return openBlock(), createBlock(unref(AccordionItem), mergeProps(forwarded.value, { class: "ui-AccordionItem" }), {
2390
2167
  default: withCtx(() => [
2391
2168
  renderSlot(_ctx.$slots, "default")
2392
2169
  ]),
@@ -2395,7 +2172,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2395
2172
  };
2396
2173
  }
2397
2174
  });
2398
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
2175
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2399
2176
  ...{
2400
2177
  inheritAttrs: false
2401
2178
  },
@@ -2420,74 +2197,154 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2420
2197
  };
2421
2198
  }
2422
2199
  });
2423
- const _hoisted_1$5 = ["data-accent-color"];
2424
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
2425
- __name: "PlusMinusIcon",
2200
+ const _hoisted_1$c = {
2201
+ viewBox: "0 0 15 15",
2202
+ width: "1em",
2203
+ height: "1em"
2204
+ };
2205
+ function render$5(_ctx, _cache) {
2206
+ return openBlock(), createElementBlock("svg", _hoisted_1$c, _cache[0] || (_cache[0] = [
2207
+ createElementVNode("path", {
2208
+ fill: "currentColor",
2209
+ "fill-rule": "evenodd",
2210
+ d: "M6.158 3.135a.5.5 0 0 1 .707.023l3.75 4a.5.5 0 0 1 0 .684l-3.75 4a.5.5 0 1 1-.73-.684L9.566 7.5l-3.43-3.658a.5.5 0 0 1 .023-.707",
2211
+ "clip-rule": "evenodd"
2212
+ }, null, -1)
2213
+ ]));
2214
+ }
2215
+ const ChevronIcon = markRaw({ name: "radix-icons-chevron-right", render: render$5 });
2216
+ const _hoisted_1$b = { class: "ui-AccordionIndicator" };
2217
+ const _hoisted_2$2 = {
2218
+ key: 1,
2219
+ class: "ui-AccordionIndicator-plus"
2220
+ };
2221
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2222
+ __name: "AccordionIndicator",
2223
+ props: {
2224
+ variant: { default: "chevron" }
2225
+ },
2226
+ setup(__props) {
2227
+ return (_ctx, _cache) => {
2228
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
2229
+ _ctx.variant == "chevron" ? (openBlock(), createBlock(unref(ChevronIcon), {
2230
+ key: 0,
2231
+ class: "ui-AccordionIndicator-chevron"
2232
+ })) : createCommentVNode("", true),
2233
+ _ctx.variant == "plus" ? (openBlock(), createElementBlock("div", _hoisted_2$2, _cache[0] || (_cache[0] = [
2234
+ createElementVNode("span", { class: "ui-AccordionIndicator-plus-1" }, null, -1),
2235
+ createElementVNode("span", { class: "ui-AccordionIndicator-plus-2" }, null, -1)
2236
+ ]))) : createCommentVNode("", true)
2237
+ ]);
2238
+ };
2239
+ }
2240
+ });
2241
+ const _hoisted_1$a = { class: "ui-AccordionTriggerText" };
2242
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2243
+ __name: "AccordionTrigger",
2426
2244
  props: {
2427
- color: { default: void 0 },
2428
- size: { default: "1" }
2245
+ indicatorSide: {},
2246
+ indicatorIcon: {},
2247
+ asChild: { type: Boolean },
2248
+ as: {}
2429
2249
  },
2430
2250
  setup(__props) {
2431
2251
  const props = __props;
2252
+ const ctx = injectAccordionRootContext();
2253
+ const forwarded = useForwardPropsWithout(props, ["indicatorSide", "indicatorIcon"]);
2254
+ const indicatorIcon = computed(() => {
2255
+ return props.indicatorIcon || ctx.indicatorIcon.value;
2256
+ });
2257
+ const indicatorSide = computed(() => {
2258
+ return props.indicatorSide || ctx.indicatorSide.value;
2259
+ });
2432
2260
  return (_ctx, _cache) => {
2433
- return openBlock(), createElementBlock("div", {
2434
- class: normalizeClass(["ui-PlusMinusIcon", `r-size-${props.size}`]),
2435
- "data-accent-color": props.color
2436
- }, _cache[0] || (_cache[0] = [
2437
- createElementVNode("div", { class: "ui-PlusMinusIcon-1" }, null, -1),
2438
- createElementVNode("div", { class: "ui-PlusMinusIcon-2" }, null, -1)
2439
- ]), 10, _hoisted_1$5);
2261
+ return openBlock(), createBlock(unref(AccordionTrigger), mergeProps({ class: "ui-AccordionTrigger" }, unref(forwarded)), {
2262
+ default: withCtx(() => [
2263
+ createElementVNode("div", _hoisted_1$a, [
2264
+ renderSlot(_ctx.$slots, "default")
2265
+ ]),
2266
+ indicatorIcon.value !== "none" ? (openBlock(), createBlock(_sfc_main$e, {
2267
+ key: 0,
2268
+ "data-side": indicatorSide.value,
2269
+ variant: indicatorIcon.value
2270
+ }, null, 8, ["data-side", "variant"])) : createCommentVNode("", true)
2271
+ ]),
2272
+ _: 3
2273
+ }, 16);
2440
2274
  };
2441
2275
  }
2442
2276
  });
2443
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
2444
- __name: "ChevronIcon",
2277
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2278
+ __name: "CollapsibleRoot",
2445
2279
  props: {
2446
- arrowTransform: { default: "right-down" }
2280
+ color: {},
2281
+ radius: {},
2282
+ variant: { default: "ghost" },
2283
+ size: { default: "2" },
2284
+ defaultOpen: { type: Boolean },
2285
+ open: { type: Boolean },
2286
+ disabled: { type: Boolean },
2287
+ unmountOnHide: { type: Boolean },
2288
+ asChild: { type: Boolean },
2289
+ as: {}
2447
2290
  },
2291
+ emits: ["update:open"],
2292
+ setup(__props, { emit: __emit }) {
2293
+ const props = __props;
2294
+ const emits = __emit;
2295
+ const forwarded = useForwardPropsEmitsWithout(props, emits, ["color", "radius", "variant", "size"]);
2296
+ const resetClass = buildPropsClass(props, ["variant", "size"]);
2297
+ return (_ctx, _cache) => {
2298
+ return openBlock(), createBlock(unref(CollapsibleRoot), mergeProps({
2299
+ class: ["ui-CollapsibleRoot", unref(resetClass)]
2300
+ }, unref(forwarded), {
2301
+ "data-accent-color": _ctx.color,
2302
+ "data-radius": _ctx.radius
2303
+ }), {
2304
+ default: withCtx(() => [
2305
+ renderSlot(_ctx.$slots, "default")
2306
+ ]),
2307
+ _: 3
2308
+ }, 16, ["class", "data-accent-color", "data-radius"]);
2309
+ };
2310
+ }
2311
+ });
2312
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2313
+ __name: "CollapsibleIndicator",
2448
2314
  setup(__props) {
2449
2315
  return (_ctx, _cache) => {
2450
- return openBlock(), createBlock(unref(Icon), {
2451
- class: "ui-ChevronIcon",
2452
- icon: "lucide:chevron-right",
2453
- "data-arrow-transform": _ctx.arrowTransform
2454
- }, null, 8, ["data-arrow-transform"]);
2316
+ return openBlock(), createBlock(unref(ChevronIcon), { class: "ui-CollapsibleIndicator" });
2455
2317
  };
2456
2318
  }
2457
2319
  });
2458
- const _hoisted_1$4 = { class: "ui-AccordionTriggerText" };
2459
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2460
- __name: "AccordionTrigger",
2320
+ const _hoisted_1$9 = { class: "ui-CollapsibleTriggerText" };
2321
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2322
+ __name: "CollapsibleTrigger",
2461
2323
  props: {
2462
- indicator: { default: "chevron" },
2324
+ indicator: { default: "right" },
2463
2325
  asChild: { type: Boolean },
2464
2326
  as: {}
2465
2327
  },
2466
2328
  setup(__props) {
2467
2329
  const props = __props;
2468
- const [forwarded, resetClass] = extractForwardProps(props, ["size"]);
2330
+ const forwarded = useForwardPropsWithout(props, ["indicator"]);
2469
2331
  return (_ctx, _cache) => {
2470
- return openBlock(), createBlock(unref(AccordionTrigger), mergeProps({
2471
- class: ["ui-AccordionTrigger", unref(resetClass)]
2472
- }, unref(forwarded)), {
2332
+ return openBlock(), createBlock(unref(CollapsibleTrigger), mergeProps({ class: "ui-CollapsibleTrigger" }, unref(forwarded)), {
2473
2333
  default: withCtx(() => [
2474
- createElementVNode("div", _hoisted_1$4, [
2334
+ createElementVNode("span", _hoisted_1$9, [
2475
2335
  renderSlot(_ctx.$slots, "default")
2476
2336
  ]),
2477
- props.indicator === "plus-minus" ? (openBlock(), createBlock(_sfc_main$b, {
2337
+ _ctx.indicator !== "none" ? (openBlock(), createBlock(_sfc_main$b, {
2478
2338
  key: 0,
2479
- class: "ui-AccordionTriggerIcon"
2480
- })) : props.indicator === "chevron" ? (openBlock(), createBlock(_sfc_main$a, {
2481
- key: 1,
2482
- "arrow-transform": "down-up"
2483
- })) : createCommentVNode("", true)
2339
+ "data-side": _ctx.indicator
2340
+ }, null, 8, ["data-side"])) : createCommentVNode("", true)
2484
2341
  ]),
2485
2342
  _: 3
2486
- }, 16, ["class"]);
2343
+ }, 16);
2487
2344
  };
2488
2345
  }
2489
2346
  });
2490
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2347
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2491
2348
  ...{
2492
2349
  inheritAttrs: false
2493
2350
  },
@@ -2512,7 +2369,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2512
2369
  };
2513
2370
  }
2514
2371
  });
2515
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2372
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2516
2373
  __name: "Pagination",
2517
2374
  props: /* @__PURE__ */ mergeModels({
2518
2375
  total: {},
@@ -2534,9 +2391,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2534
2391
  setup(__props) {
2535
2392
  const props = __props;
2536
2393
  const page = useModel(__props, "page");
2537
- const resetClass = computed(() => {
2538
- return extractClass(props, ["size", "variant"]);
2539
- });
2394
+ const resetClass = buildPropsClass(props, ["size", "variant"]);
2540
2395
  const buttonProps = computed(() => {
2541
2396
  return {
2542
2397
  color: props.color,
@@ -2587,9 +2442,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2587
2442
  };
2588
2443
  return (_ctx, _cache) => {
2589
2444
  return openBlock(), createElementBlock("div", {
2590
- class: normalizeClass(["ui-Pagination", resetClass.value])
2445
+ class: normalizeClass(["ui-Pagination", unref(resetClass)])
2591
2446
  }, [
2592
- pagination.value.prev ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 0 }, buttonProps.value, {
2447
+ pagination.value.prev ? (openBlock(), createBlock(_sfc_main$W, mergeProps({ key: 0 }, buttonProps.value, {
2593
2448
  "aria-label": "Previous",
2594
2449
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => selectPage(pagination.value.prev), ["prevent"]))
2595
2450
  }), {
@@ -2602,19 +2457,19 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2602
2457
  ]),
2603
2458
  _: 3
2604
2459
  }, 16)) : createCommentVNode("", true),
2605
- createVNode(_sfc_main$U, mergeProps(buttonProps.value, {
2460
+ createVNode(_sfc_main$X, mergeProps(buttonProps.value, {
2606
2461
  disabled: page.value === 1,
2607
2462
  "aria-current": "page",
2608
2463
  onClick: _cache[1] || (_cache[1] = withModifiers(($event) => selectPage(1), ["prevent"]))
2609
2464
  }), {
2610
2465
  default: withCtx(() => [
2611
2466
  renderSlot(_ctx.$slots, "page", { page: 1 }, () => [
2612
- _cache[4] || (_cache[4] = createTextVNode("1"))
2467
+ _cache[4] || (_cache[4] = createTextVNode("1", -1))
2613
2468
  ])
2614
2469
  ]),
2615
2470
  _: 3
2616
2471
  }, 16, ["disabled"]),
2617
- pagination.value.hasLeftEdge ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 1 }, buttonProps.value, {
2472
+ pagination.value.hasLeftEdge ? (openBlock(), createBlock(_sfc_main$W, mergeProps({ key: 1 }, buttonProps.value, {
2618
2473
  onClick: withModifiers(selectLeft, ["prevent"])
2619
2474
  }), {
2620
2475
  default: withCtx(() => [
@@ -2627,7 +2482,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2627
2482
  _: 3
2628
2483
  }, 16)) : createCommentVNode("", true),
2629
2484
  (openBlock(true), createElementBlock(Fragment, null, renderList(pagination.value.pageList, (p) => {
2630
- return openBlock(), createBlock(_sfc_main$U, mergeProps({ key: p }, { ref_for: true }, buttonProps.value, {
2485
+ return openBlock(), createBlock(_sfc_main$X, mergeProps({ key: p }, { ref_for: true }, buttonProps.value, {
2631
2486
  disabled: p === page.value,
2632
2487
  "aria-current": "page",
2633
2488
  onClick: withModifiers(($event) => selectPage(p), ["prevent"])
@@ -2640,7 +2495,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2640
2495
  _: 2
2641
2496
  }, 1040, ["disabled", "onClick"]);
2642
2497
  }), 128)),
2643
- pagination.value.hasRightEdge ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 2 }, buttonProps.value, {
2498
+ pagination.value.hasRightEdge ? (openBlock(), createBlock(_sfc_main$W, mergeProps({ key: 2 }, buttonProps.value, {
2644
2499
  onClick: withModifiers(selectRight, ["prevent"])
2645
2500
  }), {
2646
2501
  default: withCtx(() => [
@@ -2652,7 +2507,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2652
2507
  ]),
2653
2508
  _: 3
2654
2509
  }, 16)) : createCommentVNode("", true),
2655
- pagination.value.totalPages > 1 ? (openBlock(), createBlock(_sfc_main$U, mergeProps({ key: 3 }, buttonProps.value, {
2510
+ pagination.value.totalPages > 1 ? (openBlock(), createBlock(_sfc_main$X, mergeProps({ key: 3 }, buttonProps.value, {
2656
2511
  disabled: pagination.value.totalPages === page.value,
2657
2512
  "aria-current": "page",
2658
2513
  onClick: _cache[2] || (_cache[2] = withModifiers(($event) => selectPage(pagination.value.totalPages), ["prevent"]))
@@ -2666,7 +2521,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2666
2521
  ]),
2667
2522
  _: 3
2668
2523
  }, 16, ["disabled"])) : createCommentVNode("", true),
2669
- pagination.value.next ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 4 }, buttonProps.value, {
2524
+ pagination.value.next ? (openBlock(), createBlock(_sfc_main$W, mergeProps({ key: 4 }, buttonProps.value, {
2670
2525
  "aria-label": "Next",
2671
2526
  onClick: _cache[3] || (_cache[3] = withModifiers(($event) => selectPage(pagination.value.next), ["prevent"]))
2672
2527
  }), {
@@ -2683,9 +2538,374 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2683
2538
  };
2684
2539
  }
2685
2540
  });
2686
- const _hoisted_1$3 = ["data-size", "data-variant"];
2687
- const _hoisted_2 = ["data-layout"];
2541
+ function createGlobalState(stateFactory) {
2542
+ let initialized = false;
2543
+ let state;
2544
+ const scope = effectScope(true);
2545
+ return (...args) => {
2546
+ if (!initialized) {
2547
+ state = scope.run(() => stateFactory(...args));
2548
+ initialized = true;
2549
+ }
2550
+ return state;
2551
+ };
2552
+ }
2553
+ typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
2554
+ let count = 0;
2555
+ const useToastManager = createGlobalState(() => {
2556
+ const messages = ref([]);
2557
+ const add = (msg, category) => {
2558
+ const id = count++;
2559
+ if (typeof msg === "string") {
2560
+ messages.value.unshift({ title: msg, category, id });
2561
+ } else {
2562
+ messages.value.unshift({ ...msg, category, id });
2563
+ }
2564
+ return id;
2565
+ };
2566
+ const update = (id, msg) => {
2567
+ const messageArray = [...messages.value];
2568
+ const index = messageArray.findIndex((item) => item.id === id);
2569
+ if (index !== -1) {
2570
+ const found = messageArray[index];
2571
+ if (found) {
2572
+ messageArray[index] = { ...found, ...msg };
2573
+ messages.value = messageArray;
2574
+ }
2575
+ }
2576
+ };
2577
+ const remove = (id) => {
2578
+ const index = messages.value.findIndex((item) => item.id === id);
2579
+ if (index !== -1) {
2580
+ messages.value.splice(index, 1);
2581
+ }
2582
+ };
2583
+ const info = (msg) => {
2584
+ return add(msg, "info");
2585
+ };
2586
+ const success = (msg) => {
2587
+ return add(msg, "success");
2588
+ };
2589
+ const warning = (msg) => {
2590
+ return add(msg, "warning");
2591
+ };
2592
+ const error = (msg) => {
2593
+ return add(msg, "error");
2594
+ };
2595
+ const promise = (fn, options) => {
2596
+ const id = add({ title: options.loading, duration: 6e6 }, "loading");
2597
+ fn().then((value) => {
2598
+ const msg = options.success(value);
2599
+ if (typeof msg === "string") {
2600
+ update(id, { duration: void 0, title: msg, category: "success" });
2601
+ } else {
2602
+ update(id, { duration: void 0, ...msg, category: "success" });
2603
+ }
2604
+ }).catch((e) => {
2605
+ if (options.error) {
2606
+ const msg = options.error(e);
2607
+ if (typeof msg === "string") {
2608
+ update(id, { title: msg, category: "error" });
2609
+ } else {
2610
+ update(id, { ...msg, category: "error" });
2611
+ }
2612
+ }
2613
+ });
2614
+ return id;
2615
+ };
2616
+ return {
2617
+ messages,
2618
+ add,
2619
+ update,
2620
+ remove,
2621
+ info,
2622
+ success,
2623
+ warning,
2624
+ error,
2625
+ promise
2626
+ };
2627
+ });
2628
+ const _sfc_main$7 = {};
2629
+ const _hoisted_1$8 = { class: "ui-SpinnerIcon" };
2630
+ function _sfc_render(_ctx, _cache) {
2631
+ return openBlock(), createElementBlock("span", _hoisted_1$8, _cache[0] || (_cache[0] = [
2632
+ createStaticVNode('<span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span><span class="ui-SpinnerLeaf"></span>', 8)
2633
+ ]));
2634
+ }
2635
+ const SpinnerIcon = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render]]);
2636
+ const _hoisted_1$7 = {
2637
+ viewBox: "0 0 24 24",
2638
+ width: "1em",
2639
+ height: "1em"
2640
+ };
2641
+ function render$4(_ctx, _cache) {
2642
+ return openBlock(), createElementBlock("svg", _hoisted_1$7, _cache[0] || (_cache[0] = [
2643
+ createElementVNode("path", {
2644
+ fill: "currentColor",
2645
+ d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-12.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m2 5.5h-1v-4.5h-3v2h1V15h-1v2h4z"
2646
+ }, null, -1)
2647
+ ]));
2648
+ }
2649
+ const InfoIcon = markRaw({ name: "ri-information-2-fill", render: render$4 });
2650
+ const _hoisted_1$6 = {
2651
+ viewBox: "0 0 24 24",
2652
+ width: "1em",
2653
+ height: "1em"
2654
+ };
2655
+ function render$3(_ctx, _cache) {
2656
+ return openBlock(), createElementBlock("svg", _hoisted_1$6, _cache[0] || (_cache[0] = [
2657
+ createElementVNode("path", {
2658
+ fill: "currentColor",
2659
+ d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2S2 6.477 2 12s4.477 10 10 10m5.457-12.543L11 15.914l-4.207-4.207l1.414-1.414L11 13.086l5.043-5.043z"
2660
+ }, null, -1)
2661
+ ]));
2662
+ }
2663
+ const SuccessIcon = markRaw({ name: "ri-checkbox-circle-fill", render: render$3 });
2664
+ const _hoisted_1$5 = {
2665
+ viewBox: "0 0 24 24",
2666
+ width: "1em",
2667
+ height: "1em"
2668
+ };
2669
+ function render$2(_ctx, _cache) {
2670
+ return openBlock(), createElementBlock("svg", _hoisted_1$5, _cache[0] || (_cache[0] = [
2671
+ createElementVNode("path", {
2672
+ fill: "currentColor",
2673
+ d: "m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0M11 16v2h2v-2zm0-7v5h2V9z"
2674
+ }, null, -1)
2675
+ ]));
2676
+ }
2677
+ const WarningIcon = markRaw({ name: "ri-alert-fill", render: render$2 });
2678
+ const _hoisted_1$4 = {
2679
+ viewBox: "0 0 24 24",
2680
+ width: "1em",
2681
+ height: "1em"
2682
+ };
2683
+ function render$1(_ctx, _cache) {
2684
+ return openBlock(), createElementBlock("svg", _hoisted_1$4, _cache[0] || (_cache[0] = [
2685
+ createElementVNode("path", {
2686
+ fill: "currentColor",
2687
+ d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m-1-7v2h2v-2zm0-8v6h2V7z"
2688
+ }, null, -1)
2689
+ ]));
2690
+ }
2691
+ const ErrorIcon = markRaw({ name: "ri-error-warning-fill", render: render$1 });
2692
+ const _hoisted_1$3 = ["data-accent-color"];
2693
+ const _hoisted_2$1 = { class: "ui-ToastContent" };
2694
+ const CATEGORY_ICONS = {
2695
+ loading: SpinnerIcon,
2696
+ info: InfoIcon,
2697
+ success: SuccessIcon,
2698
+ warning: WarningIcon,
2699
+ error: ErrorIcon
2700
+ };
2701
+ const CATEGORY_COLORS = {
2702
+ loading: "gray",
2703
+ info: "indigo",
2704
+ success: "green",
2705
+ warning: "orange",
2706
+ error: "red"
2707
+ };
2688
2708
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2709
+ __name: "ToastItem",
2710
+ props: {
2711
+ yPosition: {},
2712
+ xPosition: {},
2713
+ message: {},
2714
+ index: {}
2715
+ },
2716
+ setup(__props) {
2717
+ const props = __props;
2718
+ const toastRef = useTemplateRef("toastRef");
2719
+ const paused = ref(false);
2720
+ const manager = useToastManager();
2721
+ const styleVars = computed(() => {
2722
+ const heights = manager.messages.value.slice(0, props.index).map((item) => item.height || 60);
2723
+ const offsetY = heights.reduce((sum, num) => sum + num, 0);
2724
+ return { "--toast-index": props.index, "--toast-offset-y": offsetY + "px" };
2725
+ });
2726
+ const categoryIcon = computed(() => {
2727
+ if (props.message.category) {
2728
+ return CATEGORY_ICONS[props.message.category];
2729
+ } else {
2730
+ return "";
2731
+ }
2732
+ });
2733
+ const categoryColor = computed(() => {
2734
+ if (props.message.category) {
2735
+ return CATEGORY_COLORS[props.message.category];
2736
+ } else {
2737
+ return void 0;
2738
+ }
2739
+ });
2740
+ const onOpenChange = (open) => {
2741
+ if (open === false) {
2742
+ setTimeout(() => {
2743
+ manager.remove(props.message.id);
2744
+ }, 500);
2745
+ }
2746
+ };
2747
+ const onPause = () => {
2748
+ paused.value = true;
2749
+ };
2750
+ const onResume = () => {
2751
+ paused.value = false;
2752
+ };
2753
+ onMounted(() => {
2754
+ const el = toastRef.value.$el;
2755
+ manager.update(props.message.id, { height: el.clientHeight });
2756
+ });
2757
+ return (_ctx, _cache) => {
2758
+ return openBlock(), createBlock(unref(ToastRoot), {
2759
+ ref_key: "toastRef",
2760
+ ref: toastRef,
2761
+ key: _ctx.message.id,
2762
+ class: "ui-ToastItem",
2763
+ duration: _ctx.message.duration,
2764
+ "data-expanded": paused.value,
2765
+ "data-visible": _ctx.index < 3,
2766
+ style: normalizeStyle(styleVars.value),
2767
+ "onUpdate:open": onOpenChange,
2768
+ onPause,
2769
+ onResume
2770
+ }, {
2771
+ default: withCtx(() => [
2772
+ _ctx.message.category ? (openBlock(), createElementBlock("div", {
2773
+ key: 0,
2774
+ class: "ui-ToastIcon",
2775
+ "data-accent-color": categoryColor.value
2776
+ }, [
2777
+ (openBlock(), createBlock(resolveDynamicComponent(categoryIcon.value)))
2778
+ ], 8, _hoisted_1$3)) : createCommentVNode("", true),
2779
+ createElementVNode("div", _hoisted_2$1, [
2780
+ createVNode(unref(ToastTitle), { class: "ui-ToastTitle" }, {
2781
+ default: withCtx(() => [
2782
+ createTextVNode(toDisplayString(_ctx.message.title), 1)
2783
+ ]),
2784
+ _: 1
2785
+ }),
2786
+ _ctx.message.description ? (openBlock(), createBlock(unref(ToastDescription), {
2787
+ key: 0,
2788
+ class: "ui-ToastDescription"
2789
+ }, {
2790
+ default: withCtx(() => [
2791
+ createTextVNode(toDisplayString(_ctx.message.description), 1)
2792
+ ]),
2793
+ _: 1
2794
+ })) : createCommentVNode("", true)
2795
+ ]),
2796
+ _ctx.message.action ? (openBlock(), createBlock(unref(ToastAction), {
2797
+ key: 1,
2798
+ class: "ui-ToastAction",
2799
+ "alt-text": _ctx.message.action.altText || _ctx.message.action.label,
2800
+ "as-child": "",
2801
+ onClick: _ctx.message.action.onClick
2802
+ }, {
2803
+ default: withCtx(() => [
2804
+ createVNode(_sfc_main$X, {
2805
+ variant: _ctx.message.action.variant || "soft",
2806
+ radius: _ctx.message.action.radius,
2807
+ size: _ctx.message.action.size || "1",
2808
+ color: _ctx.message.action.color
2809
+ }, {
2810
+ default: withCtx(() => [
2811
+ createTextVNode(toDisplayString(_ctx.message.action.label), 1)
2812
+ ]),
2813
+ _: 1
2814
+ }, 8, ["variant", "radius", "size", "color"])
2815
+ ]),
2816
+ _: 1
2817
+ }, 8, ["alt-text", "onClick"])) : createCommentVNode("", true)
2818
+ ]),
2819
+ _: 1
2820
+ }, 8, ["duration", "data-expanded", "data-visible", "style"]);
2821
+ };
2822
+ }
2823
+ });
2824
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2825
+ ...{
2826
+ inheritAttrs: false
2827
+ },
2828
+ __name: "ToastProvider",
2829
+ props: {
2830
+ size: { default: "1" },
2831
+ position: { default: "bottom-right" },
2832
+ label: {},
2833
+ duration: {},
2834
+ swipeDirection: {},
2835
+ swipeThreshold: {}
2836
+ },
2837
+ setup(__props) {
2838
+ const props = __props;
2839
+ const forwarded = useForwardPropsWithout(props, ["position", "size"]);
2840
+ const { messages } = useToastManager();
2841
+ const yPosition = computed(() => {
2842
+ return props.position.split("-")[0];
2843
+ });
2844
+ const xPosition = computed(() => {
2845
+ return props.position.split("-")[1];
2846
+ });
2847
+ const swipeDirection = computed(() => {
2848
+ if (props.swipeDirection) {
2849
+ return props.swipeDirection;
2850
+ }
2851
+ return xPosition.value;
2852
+ });
2853
+ return (_ctx, _cache) => {
2854
+ return openBlock(), createBlock(unref(ToastProvider), normalizeProps(guardReactiveProps({ ...unref(forwarded), swipeDirection: swipeDirection.value })), {
2855
+ default: withCtx(() => [
2856
+ renderSlot(_ctx.$slots, "default"),
2857
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(messages), (msg, index) => {
2858
+ return renderSlot(_ctx.$slots, "item", {
2859
+ key: msg.id,
2860
+ message: msg,
2861
+ index
2862
+ }, () => [
2863
+ (openBlock(), createBlock(_sfc_main$6, {
2864
+ key: msg.id,
2865
+ message: msg,
2866
+ index,
2867
+ "x-position": xPosition.value,
2868
+ "y-position": yPosition.value
2869
+ }, null, 8, ["message", "index", "x-position", "y-position"]))
2870
+ ]);
2871
+ }), 128)),
2872
+ createVNode(unref(ToastPortal), null, {
2873
+ default: withCtx(() => [
2874
+ createVNode(_sfc_main$S, null, {
2875
+ default: withCtx(() => [
2876
+ createVNode(unref(ToastViewport), mergeProps({ class: "ui-ToastViewport" }, _ctx.$attrs, {
2877
+ class: `r-size-${_ctx.size}`,
2878
+ "data-x-position": xPosition.value,
2879
+ "data-y-position": yPosition.value
2880
+ }), null, 16, ["class", "data-x-position", "data-y-position"])
2881
+ ]),
2882
+ _: 1
2883
+ })
2884
+ ]),
2885
+ _: 1
2886
+ })
2887
+ ]),
2888
+ _: 3
2889
+ }, 16);
2890
+ };
2891
+ }
2892
+ });
2893
+ const toastManager = useToastManager();
2894
+ const toast = Object.assign(
2895
+ (msg) => {
2896
+ return toastManager.add(msg);
2897
+ },
2898
+ {
2899
+ info: toastManager.info,
2900
+ success: toastManager.success,
2901
+ warning: toastManager.warning,
2902
+ error: toastManager.error,
2903
+ promise: toastManager.promise
2904
+ }
2905
+ );
2906
+ const _hoisted_1$2 = ["data-size", "data-variant"];
2907
+ const _hoisted_2 = ["data-layout"];
2908
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2689
2909
  __name: "Table",
2690
2910
  props: {
2691
2911
  size: { default: "2" },
@@ -2700,7 +2920,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2700
2920
  "data-size": props.size,
2701
2921
  "data-variant": props.variant
2702
2922
  }, [
2703
- createVNode(_sfc_main$R, null, {
2923
+ createVNode(_sfc_main$V, null, {
2704
2924
  default: withCtx(() => [
2705
2925
  createElementVNode("table", {
2706
2926
  class: "ui-TableContent",
@@ -2711,16 +2931,16 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2711
2931
  ]),
2712
2932
  _: 3
2713
2933
  })
2714
- ], 8, _hoisted_1$3);
2934
+ ], 8, _hoisted_1$2);
2715
2935
  };
2716
2936
  }
2717
2937
  });
2718
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2938
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2719
2939
  __name: "Separator",
2720
2940
  props: {
2721
2941
  as: { default: "span" },
2722
2942
  orientation: { default: "horizontal" },
2723
- size: {},
2943
+ size: { default: "1" },
2724
2944
  color: { default: "gray" }
2725
2945
  },
2726
2946
  setup(__props) {
@@ -2736,15 +2956,16 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2736
2956
  };
2737
2957
  }
2738
2958
  });
2739
- const _hoisted_1$2 = ["textContent"];
2740
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2959
+ const _hoisted_1$1 = ["textContent"];
2960
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2741
2961
  ...{
2742
2962
  inheritAttrs: false
2743
2963
  },
2744
2964
  __name: "Tooltip",
2745
2965
  props: {
2746
- to: {},
2747
2966
  content: {},
2967
+ maxWidth: { default: "360px" },
2968
+ color: { default: "gray" },
2748
2969
  forceMount: { type: Boolean },
2749
2970
  ariaLabel: {},
2750
2971
  asChild: { type: Boolean },
@@ -2776,11 +2997,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2776
2997
  ]),
2777
2998
  _: 3
2778
2999
  }, 16, ["as", "as-child"]),
2779
- createVNode(unref(TooltipPortal), {
2780
- to: props.to
2781
- }, {
3000
+ createVNode(unref(TooltipPortal), null, {
2782
3001
  default: withCtx(() => [
2783
- createVNode(_sfc_main$O, null, {
3002
+ createVNode(_sfc_main$S, null, {
2784
3003
  default: withCtx(() => [
2785
3004
  createVNode(unref(TooltipContent), {
2786
3005
  class: "ui-Tooltip",
@@ -2794,32 +3013,34 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2794
3013
  "hide-when-detached": props.hideWhenDetached,
2795
3014
  side: props.side,
2796
3015
  "side-offset": props.sideOffset,
2797
- sticky: props.sticky
3016
+ sticky: props.sticky,
3017
+ "data-accent-color": props.color,
3018
+ style: normalizeStyle({ maxWidth: props.maxWidth })
2798
3019
  }, {
2799
3020
  default: withCtx(() => [
2800
3021
  renderSlot(_ctx.$slots, "content", {}, () => [
2801
3022
  createElementVNode("p", {
2802
3023
  class: "ui-TooltipText",
2803
3024
  textContent: toDisplayString(props.content)
2804
- }, null, 8, _hoisted_1$2)
3025
+ }, null, 8, _hoisted_1$1)
2805
3026
  ]),
2806
3027
  createVNode(unref(TooltipArrow), { class: "ui-TooltipArrow" })
2807
3028
  ]),
2808
3029
  _: 3
2809
- }, 8, ["align", "align-offset", "aria-label", "arrow-padding", "avoid-collisions", "collision-boundary", "collision-padding", "hide-when-detached", "side", "side-offset", "sticky"])
3030
+ }, 8, ["align", "align-offset", "aria-label", "arrow-padding", "avoid-collisions", "collision-boundary", "collision-padding", "hide-when-detached", "side", "side-offset", "sticky", "data-accent-color", "style"])
2810
3031
  ]),
2811
3032
  _: 3
2812
3033
  })
2813
3034
  ]),
2814
3035
  _: 3
2815
- }, 8, ["to"])
3036
+ })
2816
3037
  ]),
2817
3038
  _: 3
2818
3039
  });
2819
3040
  };
2820
3041
  }
2821
3042
  });
2822
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3043
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2823
3044
  __name: "Quota",
2824
3045
  props: {
2825
3046
  percent: {},
@@ -2867,164 +3088,130 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2867
3088
  };
2868
3089
  }
2869
3090
  });
2870
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2871
- __name: "Spinner",
2872
- props: {
2873
- icon: { default: "180-ring" },
2874
- size: { default: "2" }
2875
- },
2876
- setup(__props) {
2877
- const props = __props;
2878
- const iconName = computed(() => {
2879
- return `svg-spinners:${props.icon}`;
2880
- });
2881
- return (_ctx, _cache) => {
2882
- return openBlock(), createBlock(unref(Icon), {
2883
- class: normalizeClass(["ui-Spinner", `r-size-${_ctx.size}`]),
2884
- icon: iconName.value
2885
- }, null, 8, ["class", "icon"]);
2886
- };
2887
- }
2888
- });
2889
- const _hoisted_1$1 = ["data-status"];
2890
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3091
+ const _hoisted_1 = {
3092
+ viewBox: "0 0 24 24",
3093
+ width: "1em",
3094
+ height: "1em"
3095
+ };
3096
+ function render(_ctx, _cache) {
3097
+ return openBlock(), createElementBlock("svg", _hoisted_1, _cache[0] || (_cache[0] = [
3098
+ createElementVNode("path", {
3099
+ fill: "currentColor",
3100
+ d: "M4 12a8 8 0 1 1 16 0a8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10s10-4.477 10-10S17.523 2 12 2m5.457 7.457l-1.414-1.414L11 13.086l-2.793-2.793l-1.414 1.414L11 15.914z"
3101
+ }, null, -1)
3102
+ ]));
3103
+ }
3104
+ const CheckIcon = markRaw({ name: "ri-checkbox-circle-line", render });
3105
+ const _sfc_main = /* @__PURE__ */ defineComponent({
2891
3106
  __name: "SavingIndicator",
2892
3107
  props: {
2893
3108
  status: {},
2894
- size: { default: "2" }
3109
+ size: { default: "2" },
3110
+ as: { default: "span" }
2895
3111
  },
2896
3112
  setup(__props) {
2897
3113
  const props = __props;
2898
3114
  return (_ctx, _cache) => {
2899
- return openBlock(), createElementBlock("div", {
3115
+ return openBlock(), createBlock(unref(Primitive), {
2900
3116
  class: normalizeClass(["ui-SavingIndicator", `r-size-${_ctx.size}`]),
2901
3117
  "data-status": props.status
2902
- }, [
2903
- props.status === "saving" ? (openBlock(), createBlock(unref(Icon), {
2904
- key: 0,
2905
- icon: "svg-spinners:180-ring"
2906
- })) : props.status === "saved" ? (openBlock(), createBlock(unref(Icon), {
2907
- key: 1,
2908
- icon: "lucide:check-circle-2"
2909
- })) : createCommentVNode("", true)
2910
- ], 10, _hoisted_1$1);
2911
- };
2912
- }
2913
- });
2914
- const _hoisted_1 = ["data-accent-color"];
2915
- const _sfc_main = /* @__PURE__ */ defineComponent({
2916
- __name: "IconCircle",
2917
- props: {
2918
- color: {},
2919
- size: { default: 1 },
2920
- variant: { default: "soft" },
2921
- icon: {}
2922
- },
2923
- setup(__props) {
2924
- const props = __props;
2925
- const resetClass = computed(() => {
2926
- return extractClass(props, ["size", "variant"]);
2927
- });
2928
- return (_ctx, _cache) => {
2929
- return openBlock(), createElementBlock("span", {
2930
- class: normalizeClass(["ui-IconCircle", resetClass.value]),
2931
- "data-radius": "full",
2932
- "data-accent-color": props.color
2933
- }, [
2934
- createVNode(unref(Icon), {
2935
- icon: props.icon
2936
- }, null, 8, ["icon"])
2937
- ], 10, _hoisted_1);
3118
+ }, {
3119
+ default: withCtx(() => [
3120
+ renderSlot(_ctx.$slots, "default", { status: _ctx.status }, () => [
3121
+ props.status === "saving" ? (openBlock(), createBlock(SpinnerIcon, { key: 0 })) : props.status === "saved" ? (openBlock(), createBlock(unref(CheckIcon), { key: 1 })) : createCommentVNode("", true)
3122
+ ])
3123
+ ]),
3124
+ _: 3
3125
+ }, 8, ["class", "data-status"]);
2938
3126
  };
2939
3127
  }
2940
3128
  });
2941
3129
  export {
2942
- _sfc_main$c as AccordionContent,
2943
- _sfc_main$d as AccordionItem,
2944
- _sfc_main$e as AccordionRoot,
2945
- _sfc_main$9 as AccordionTrigger,
3130
+ _sfc_main$f as AccordionContent,
3131
+ _sfc_main$e as AccordionIndicator,
3132
+ _sfc_main$g as AccordionItem,
3133
+ _sfc_main$h as AccordionRoot,
3134
+ _sfc_main$d as AccordionTrigger,
2946
3135
  AlertDialogAction,
2947
3136
  AlertDialogCancel,
2948
- _sfc_main$M as AlertDialogContent,
2949
- _sfc_main$P as AlertDialogDescription,
3137
+ _sfc_main$T as AlertDialogDescription,
3138
+ _sfc_main$Q as AlertDialogPopup,
2950
3139
  AlertDialogRoot,
2951
- _sfc_main$Q as AlertDialogTitle,
3140
+ _sfc_main$U as AlertDialogTitle,
2952
3141
  AlertDialogTrigger,
2953
- _sfc_main$Z as Avatar,
2954
- _sfc_main$Y as Badge,
2955
- _sfc_main$U as Button,
2956
- _sfc_main$W as Card,
2957
- _sfc_main$V as CardHead,
2958
- _sfc_main$H as Checkbox,
2959
- _sfc_main$E as CheckboxGroupControl,
2960
- _sfc_main$F as CheckboxGroupItem,
2961
- _sfc_main$G as CheckboxGroupRoot,
2962
- _sfc_main$a as ChevronIcon,
2963
- _sfc_main$8 as CollapsibleContent,
2964
- CollapsibleRoot,
2965
- CollapsibleTrigger,
2966
- _sfc_main$y as ColorField,
2967
- _sfc_main$p as ComboboxContent,
2968
- ComboboxEmpty,
3142
+ _sfc_main$_ as Avatar,
3143
+ _sfc_main$Z as Badge,
3144
+ _sfc_main$X as Button,
3145
+ _sfc_main$Y as Card,
3146
+ _sfc_main$K as Checkbox,
3147
+ CheckboxGroupRoot as CheckboxGroup,
3148
+ _sfc_main$9 as CollapsibleContent,
3149
+ _sfc_main$b as CollapsibleIndicator,
3150
+ _sfc_main$c as CollapsibleRoot,
3151
+ _sfc_main$a as CollapsibleTrigger,
3152
+ _sfc_main$E as ColorField,
3153
+ _sfc_main$v as ComboboxContent,
3154
+ _sfc_main$s as ComboboxEmpty,
2969
3155
  ComboboxGroup,
2970
- _sfc_main$q as ComboboxInput,
2971
- _sfc_main$o as ComboboxItem,
2972
- _sfc_main$n as ComboboxLabel,
2973
- _sfc_main$r as ComboboxRoot,
2974
- DialogClose2 as DialogClose,
2975
- _sfc_main$N as DialogContent,
2976
- _sfc_main$P as DialogDescription,
3156
+ _sfc_main$w as ComboboxInput,
3157
+ _sfc_main$u as ComboboxItem,
3158
+ _sfc_main$t as ComboboxLabel,
3159
+ _sfc_main$x as ComboboxRoot,
3160
+ DialogClose,
3161
+ _sfc_main$T as DialogDescription,
3162
+ _sfc_main$R as DialogPopup,
2977
3163
  DialogRoot,
2978
- _sfc_main$Q as DialogTitle,
3164
+ _sfc_main$U as DialogTitle,
2979
3165
  DialogTrigger,
2980
- _sfc_main$L as DropdownMenuContent,
2981
- _sfc_main$K as DropdownMenuItem,
3166
+ _sfc_main$P as DropdownMenuContent,
3167
+ _sfc_main$O as DropdownMenuItem,
2982
3168
  DropdownMenuRoot,
3169
+ DropdownMenuSeparator,
2983
3170
  DropdownMenuTrigger,
2984
- _sfc_main$f as Editable,
2985
- Icon2 as Icon,
2986
- _sfc_main$T as IconButton,
2987
- _sfc_main as IconCircle,
2988
- _sfc_main$X as Inset,
2989
- _sfc_main$7 as Pagination,
2990
- _sfc_main$b as PlusMinusIcon,
3171
+ _sfc_main$i as Editable,
3172
+ _sfc_main$W as IconButton,
3173
+ _sfc_main$8 as Pagination,
2991
3174
  PopoverClose,
2992
- _sfc_main$J as PopoverContent,
3175
+ _sfc_main$M as PopoverPopup,
2993
3176
  PopoverRoot,
2994
3177
  PopoverTrigger,
2995
- _sfc_main$3 as Quota,
2996
- _sfc_main$m as Radio,
2997
- _sfc_main$j as RadioCardsItem,
2998
- _sfc_main$l as RadioCardsRoot,
2999
- _sfc_main$k as RadioGroupItem,
3000
- _sfc_main$l as RadioGroupRoot,
3001
- RadioGroupItem2 as RadioTabsItem,
3002
- _sfc_main$i as RadioTabsList,
3003
- _sfc_main$1 as SavingIndicator,
3004
- _sfc_main$R as ScrollArea,
3005
- _sfc_main$w as SelectContent,
3178
+ _sfc_main$1 as Quota,
3179
+ _sfc_main$r as Radio,
3180
+ _sfc_main$n as RadioCardsItem,
3181
+ _sfc_main$o as RadioCardsRoot,
3182
+ _sfc_main$p as RadioGroupItem,
3183
+ _sfc_main$q as RadioGroupRoot,
3184
+ _sfc_main$l as RadioTabsItem,
3185
+ _sfc_main$m as RadioTabsRoot,
3186
+ _sfc_main as SavingIndicator,
3187
+ _sfc_main$V as ScrollArea,
3188
+ _sfc_main$C as SelectContent,
3006
3189
  SelectGroup,
3007
- _sfc_main$u as SelectItem,
3008
- _sfc_main$t as SelectLabel,
3009
- _sfc_main$x as SelectRoot,
3190
+ _sfc_main$A as SelectItem,
3191
+ _sfc_main$z as SelectLabel,
3192
+ _sfc_main$D as SelectRoot,
3010
3193
  SelectSeparator,
3011
- _sfc_main$v as SelectTrigger,
3012
- _sfc_main$5 as Separator,
3013
- _sfc_main$S as SocialButton,
3014
- _sfc_main$2 as Spinner,
3015
- _sfc_main$I as Switch,
3016
- _sfc_main$6 as Table,
3194
+ _sfc_main$B as SelectTrigger,
3195
+ _sfc_main$3 as Separator,
3196
+ SpinnerIcon,
3197
+ _sfc_main$L as Switch,
3198
+ _sfc_main$4 as Table,
3017
3199
  TabsContent,
3018
- _sfc_main$h as TabsList,
3200
+ _sfc_main$k as TabsList,
3019
3201
  TabsRoot,
3020
- _sfc_main$g as TabsTrigger,
3021
- _sfc_main$z as TextArea,
3022
- _sfc_main$A as TextField,
3023
- _sfc_main$_ as ThemeProvider,
3024
- _sfc_main$D as Toggle,
3025
- _sfc_main$B as ToggleGroupItem,
3026
- _sfc_main$C as ToggleGroupRoot,
3027
- _sfc_main$4 as Tooltip,
3202
+ _sfc_main$j as TabsTrigger,
3203
+ _sfc_main$F as TextArea,
3204
+ _sfc_main$G as TextField,
3205
+ _sfc_main$$ as ThemeProvider,
3206
+ _sfc_main$5 as ToastProvider,
3207
+ _sfc_main$J as Toggle,
3208
+ _sfc_main$H as ToggleGroupItem,
3209
+ _sfc_main$I as ToggleGroupRoot,
3210
+ _sfc_main$2 as Tooltip,
3211
+ buildPropsClass,
3028
3212
  injectThemeContext,
3029
- provideThemeContext
3213
+ provideThemeContext,
3214
+ toast,
3215
+ useForwardPropsEmitsWithout,
3216
+ useForwardPropsWithout
3030
3217
  };