@typlog/ui 0.10.1 → 0.11.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.
Files changed (37) hide show
  1. package/README.md +5 -75
  2. package/dist/addons.css +113 -0
  3. package/dist/addons.d.ts +48 -0
  4. package/dist/addons.js +442 -0
  5. package/dist/base.css +726 -832
  6. package/dist/components/accordion.css +149 -0
  7. package/dist/components/avatar.css +131 -0
  8. package/dist/components/badge.css +75 -0
  9. package/dist/components/button.css +317 -0
  10. package/dist/components/card.css +86 -0
  11. package/dist/components/checkbox.css +90 -0
  12. package/dist/components/collapsible.css +27 -0
  13. package/dist/components/combobox.css +388 -0
  14. package/dist/components/dialog.css +488 -0
  15. package/dist/components/dropdown.css +204 -0
  16. package/dist/components/editable.css +34 -0
  17. package/dist/components/icon.css +109 -0
  18. package/dist/components/inputs.css +570 -0
  19. package/dist/components/inset.css +73 -0
  20. package/dist/components/pagination.css +299 -0
  21. package/dist/components/popover.css +69 -0
  22. package/dist/components/quota.css +14 -0
  23. package/dist/components/radio.css +211 -0
  24. package/dist/components/scrollarea.css +107 -0
  25. package/dist/components/select.css +308 -0
  26. package/dist/components/separator.css +26 -0
  27. package/dist/components/spinner.css +36 -0
  28. package/dist/components/switch.css +176 -0
  29. package/dist/components/table.css +198 -0
  30. package/dist/components/tabs.css +122 -0
  31. package/dist/components/toggle.css +188 -0
  32. package/dist/components/tooltip.css +37 -0
  33. package/dist/components.css +3548 -0
  34. package/dist/{index.d.ts → components.d.ts} +131 -107
  35. package/dist/{index.js → components.js} +323 -681
  36. package/package.json +28 -14
  37. package/dist/style.css +0 -10467
@@ -1,5 +1,5 @@
1
- import { computed, defineComponent, createBlock, openBlock, unref, normalizeClass, withCtx, createVNode, createTextVNode, toDisplayString, renderSlot, createElementBlock, mergeProps, createCommentVNode, createElementVNode, toRefs, mergeModels, ref, useModel, onMounted, onBeforeUnmount, withDirectives, isRef, vModelDynamic, vModelText, normalizeStyle, normalizeProps, guardReactiveProps, Fragment, watch, renderList, withModifiers, vModelRadio, withKeys, vShow } from "vue";
2
- import { useForwardProps, useEmitAsProps, AvatarRoot, AvatarImage, AvatarFallback, Primitive, ScrollAreaRoot, ScrollAreaViewport, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaCorner, AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogClose, useForwardExpose, createContext, 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, AccordionRoot, AccordionItem, AccordionContent, AccordionTrigger, CollapsibleContent, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, ProgressRoot, ProgressIndicator } from "reka-ui";
1
+ import { computed, defineComponent, createBlock, openBlock, unref, normalizeClass, withCtx, createVNode, createTextVNode, toDisplayString, renderSlot, createElementBlock, mergeProps, createCommentVNode, createElementVNode, toRefs, mergeModels, ref, useModel, onMounted, onBeforeUnmount, useTemplateRef, withDirectives, isRef, vModelDynamic, vModelText, normalizeStyle, normalizeProps, guardReactiveProps, Fragment, watch, renderList, withModifiers, vModelRadio } from "vue";
2
+ import { useForwardProps, useEmitAsProps, AvatarRoot, AvatarImage, AvatarFallback, Primitive, ScrollAreaRoot, ScrollAreaViewport, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaCorner, AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogClose, useForwardExpose, createContext, 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, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, ProgressRoot, ProgressIndicator } from "reka-ui";
3
3
  import { AlertDialogAction, AlertDialogCancel, AlertDialogDescription, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, CollapsibleRoot, CollapsibleTrigger, ComboboxEmpty, ComboboxGroup, DialogClose as DialogClose2, DialogDescription, DialogRoot, DialogTitle as DialogTitle2, DialogTrigger, DropdownMenuRoot, DropdownMenuTrigger, PopoverClose, PopoverRoot, PopoverTrigger, RadioGroupItem as RadioGroupItem2, SelectGroup, TabsContent, TabsRoot } from "reka-ui";
4
4
  import { Icon } from "@iconify/vue";
5
5
  import { Icon as Icon2 } from "@iconify/vue";
@@ -60,11 +60,11 @@ function kebabize(str) {
60
60
  function _kebabReplace(str, ofs) {
61
61
  return (ofs ? "-" : "") + str.toLowerCase();
62
62
  }
63
- const _sfc_main$Z = /* @__PURE__ */ defineComponent({
63
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
64
64
  __name: "Avatar",
65
65
  props: {
66
- src: {},
67
66
  alt: {},
67
+ src: {},
68
68
  fallback: {},
69
69
  radius: { default: "small" },
70
70
  variant: { default: "solid" },
@@ -112,7 +112,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
112
112
  };
113
113
  }
114
114
  });
115
- const _sfc_main$Y = /* @__PURE__ */ defineComponent({
115
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
116
116
  __name: "Badge",
117
117
  props: {
118
118
  variant: { default: "soft" },
@@ -120,8 +120,8 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
120
120
  radius: { default: "small" },
121
121
  size: { default: "1" },
122
122
  highContrast: { type: Boolean, default: void 0 },
123
- asChild: { type: Boolean },
124
- as: { default: "span" }
123
+ as: { default: "span" },
124
+ asChild: { type: Boolean }
125
125
  },
126
126
  setup(__props) {
127
127
  const props = __props;
@@ -144,27 +144,47 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
144
144
  };
145
145
  }
146
146
  });
147
- const _hoisted_1$m = ["data-side", "data-clip"];
148
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
147
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
149
148
  __name: "Inset",
150
149
  props: {
151
150
  side: { default: "all" },
151
+ top: { type: Boolean },
152
+ bottom: { type: Boolean },
153
+ left: { type: Boolean },
154
+ right: { type: Boolean },
152
155
  clip: { default: "border-box" }
153
156
  },
154
157
  setup(__props) {
155
158
  const props = __props;
159
+ const resetClass = computed(() => {
160
+ const rv = [];
161
+ if (props.top || ["all", "y", "top"].includes(props.side)) {
162
+ rv.push("inset-top");
163
+ }
164
+ if (props.bottom || ["all", "y", "bottom"].includes(props.side)) {
165
+ rv.push("inset-bottom");
166
+ }
167
+ if (props.left || ["all", "x", "left"].includes(props.side)) {
168
+ rv.push("inset-left");
169
+ }
170
+ if (props.right || ["all", "x", "right"].includes(props.side)) {
171
+ rv.push("inset-right");
172
+ }
173
+ if (props.clip) {
174
+ rv.push(`r-clip-${props.clip}`);
175
+ }
176
+ return rv;
177
+ });
156
178
  return (_ctx, _cache) => {
157
179
  return openBlock(), createElementBlock("div", {
158
- class: "ui-Inset",
159
- "data-side": props.side,
160
- "data-clip": props.clip
180
+ class: normalizeClass(["ui-Inset", resetClass.value])
161
181
  }, [
162
182
  renderSlot(_ctx.$slots, "default")
163
- ], 8, _hoisted_1$m);
183
+ ], 2);
164
184
  };
165
185
  }
166
186
  });
167
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
187
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
168
188
  __name: "Card",
169
189
  props: {
170
190
  variant: { default: "surface" },
@@ -193,7 +213,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
193
213
  };
194
214
  }
195
215
  });
196
- const _sfc_main$V = /* @__PURE__ */ defineComponent({
216
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
197
217
  __name: "CardHead",
198
218
  props: {
199
219
  color: {},
@@ -216,17 +236,17 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
216
236
  };
217
237
  }
218
238
  });
219
- const _sfc_main$U = /* @__PURE__ */ defineComponent({
239
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
220
240
  __name: "Button",
221
241
  props: {
242
+ variant: { default: "solid" },
222
243
  color: {},
223
244
  radius: {},
224
- variant: { default: "solid" },
225
245
  size: { default: "2" },
226
246
  highContrast: { type: Boolean, default: false },
227
247
  disabled: { type: Boolean },
228
- asChild: { type: Boolean },
229
- as: { default: "button" }
248
+ as: { default: "button" },
249
+ asChild: { type: Boolean }
230
250
  },
231
251
  setup(__props) {
232
252
  const props = __props;
@@ -250,23 +270,23 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
250
270
  };
251
271
  }
252
272
  });
253
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
273
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
254
274
  __name: "IconButton",
255
275
  props: {
276
+ variant: {},
256
277
  color: {},
257
278
  radius: {},
258
- variant: {},
259
279
  size: {},
260
280
  highContrast: { type: Boolean },
261
281
  disabled: { type: Boolean },
262
- asChild: { type: Boolean },
263
- as: {}
282
+ as: {},
283
+ asChild: { type: Boolean }
264
284
  },
265
285
  setup(__props) {
266
286
  const props = __props;
267
287
  const forwarded = useForwardProps(props);
268
288
  return (_ctx, _cache) => {
269
- return openBlock(), createBlock(_sfc_main$U, mergeProps({ class: "ui-IconButton" }, unref(forwarded)), {
289
+ return openBlock(), createBlock(_sfc_main$S, mergeProps({ class: "ui-IconButton" }, unref(forwarded)), {
270
290
  default: withCtx(() => [
271
291
  renderSlot(_ctx.$slots, "default")
272
292
  ]),
@@ -284,7 +304,7 @@ const BRAND_ICONS = {
284
304
  slack: "logos:slack-icon",
285
305
  figma: "logos:figma"
286
306
  };
287
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
307
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
288
308
  __name: "SocialButton",
289
309
  props: {
290
310
  brand: {},
@@ -322,7 +342,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
322
342
  };
323
343
  }
324
344
  });
325
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
345
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
326
346
  __name: "ScrollArea",
327
347
  props: {
328
348
  size: { default: "1" },
@@ -386,9 +406,9 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
386
406
  };
387
407
  }
388
408
  });
389
- const _hoisted_1$l = { class: "ui-DialogScroll" };
390
- const _hoisted_2$9 = ["data-align"];
391
- const _sfc_main$Q = /* @__PURE__ */ defineComponent({
409
+ const _hoisted_1$j = { class: "ui-DialogScroll" };
410
+ const _hoisted_2$7 = ["data-align"];
411
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
392
412
  ...{
393
413
  inheritAttrs: false
394
414
  },
@@ -433,7 +453,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
433
453
  default: withCtx(() => [
434
454
  createVNode(unref(AlertDialogOverlay), { class: "ui-DialogOverlay" }, {
435
455
  default: withCtx(() => [
436
- createElementVNode("div", _hoisted_1$l, [
456
+ createElementVNode("div", _hoisted_1$j, [
437
457
  createElementVNode("div", {
438
458
  class: "ui-DialogScrollPadding",
439
459
  "data-align": props.align
@@ -459,7 +479,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
459
479
  ]),
460
480
  _: 3
461
481
  }, 16, ["class", "data-size", "style"])
462
- ], 8, _hoisted_2$9)
482
+ ], 8, _hoisted_2$7)
463
483
  ])
464
484
  ]),
465
485
  _: 3
@@ -470,9 +490,9 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
470
490
  };
471
491
  }
472
492
  });
473
- const _hoisted_1$k = { class: "ui-DialogScroll" };
474
- const _hoisted_2$8 = ["data-align"];
475
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
493
+ const _hoisted_1$i = { class: "ui-DialogScroll" };
494
+ const _hoisted_2$6 = ["data-align"];
495
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
476
496
  ...{
477
497
  inheritAttrs: false
478
498
  },
@@ -517,7 +537,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
517
537
  default: withCtx(() => [
518
538
  createVNode(unref(DialogOverlay), { class: "ui-DialogOverlay" }, {
519
539
  default: withCtx(() => [
520
- createElementVNode("div", _hoisted_1$k, [
540
+ createElementVNode("div", _hoisted_1$i, [
521
541
  createElementVNode("div", {
522
542
  class: "ui-DialogScrollPadding",
523
543
  "data-align": props.align
@@ -543,7 +563,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
543
563
  ]),
544
564
  _: 3
545
565
  }, 16, ["class", "data-size", "style"])
546
- ], 8, _hoisted_2$8)
566
+ ], 8, _hoisted_2$6)
547
567
  ])
548
568
  ]),
549
569
  _: 3
@@ -554,7 +574,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
554
574
  };
555
575
  }
556
576
  });
557
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
577
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
558
578
  __name: "DialogHead",
559
579
  props: {
560
580
  title: {}
@@ -562,7 +582,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
562
582
  setup(__props) {
563
583
  const props = __props;
564
584
  return (_ctx, _cache) => {
565
- return openBlock(), createBlock(_sfc_main$X, {
585
+ return openBlock(), createBlock(_sfc_main$V, {
566
586
  class: "ui-DialogHead",
567
587
  side: "x"
568
588
  }, {
@@ -573,7 +593,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
573
593
  ]),
574
594
  _: 1
575
595
  }),
576
- createVNode(_sfc_main$T, {
596
+ createVNode(_sfc_main$R, {
577
597
  as: unref(DialogClose),
578
598
  type: "button",
579
599
  variant: "ghost",
@@ -592,9 +612,9 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
592
612
  };
593
613
  }
594
614
  });
595
- const _hoisted_1$j = { class: "ui-MenuViewport" };
615
+ const _hoisted_1$h = { class: "ui-MenuViewport" };
596
616
  const [injectDropdownMenuContentContext, provideDropdownMenuContentContext] = createContext("ui_DropdownMenuContent");
597
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
617
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
598
618
  ...{
599
619
  inheritAttrs: false
600
620
  },
@@ -654,9 +674,9 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
654
674
  "data-size": props.size
655
675
  }), {
656
676
  default: withCtx(() => [
657
- createVNode(_sfc_main$R, { type: "auto" }, {
677
+ createVNode(_sfc_main$P, { type: "auto" }, {
658
678
  default: withCtx(() => [
659
- createElementVNode("div", _hoisted_1$j, [
679
+ createElementVNode("div", _hoisted_1$h, [
660
680
  renderSlot(_ctx.$slots, "default")
661
681
  ])
662
682
  ]),
@@ -671,8 +691,8 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
671
691
  };
672
692
  }
673
693
  });
674
- const _hoisted_1$i = ["textContent"];
675
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
694
+ const _hoisted_1$g = ["textContent"];
695
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
676
696
  __name: "DropdownMenuItem",
677
697
  props: {
678
698
  color: {},
@@ -690,13 +710,12 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
690
710
  useForwardExpose();
691
711
  const rootContext = injectDropdownMenuContentContext();
692
712
  return (_ctx, _cache) => {
693
- var _a;
694
713
  return openBlock(), createBlock(unref(DropdownMenuItem), mergeProps({
695
714
  class: "ui-MenuItem",
696
715
  "data-accent-color": props.color,
697
716
  "data-size": unref(rootContext).size.value,
698
717
  "data-variant": unref(rootContext).variant.value,
699
- "data-high-contrast": ((_a = unref(rootContext).highContrast) == null ? void 0 : _a.value) || void 0
718
+ "data-high-contrast": unref(rootContext).highContrast?.value || void 0
700
719
  }, unref(forwarded)), {
701
720
  default: withCtx(() => [
702
721
  renderSlot(_ctx.$slots, "default"),
@@ -704,14 +723,14 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
704
723
  key: 0,
705
724
  class: "ui-MenuShortcut",
706
725
  textContent: toDisplayString(props.shortcut)
707
- }, null, 8, _hoisted_1$i)) : createCommentVNode("", true)
726
+ }, null, 8, _hoisted_1$g)) : createCommentVNode("", true)
708
727
  ]),
709
728
  _: 3
710
729
  }, 16, ["data-accent-color", "data-size", "data-variant", "data-high-contrast"]);
711
730
  };
712
731
  }
713
732
  });
714
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
733
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
715
734
  ...{
716
735
  inheritAttrs: false
717
736
  },
@@ -764,7 +783,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
764
783
  };
765
784
  }
766
785
  });
767
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
786
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
768
787
  __name: "Switch",
769
788
  props: {
770
789
  color: {},
@@ -807,7 +826,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
807
826
  };
808
827
  }
809
828
  });
810
- const _hoisted_1$h = {
829
+ const _hoisted_1$f = {
811
830
  key: 0,
812
831
  xmlns: "http://www.w3.org/2000/svg",
813
832
  viewBox: "0 0 24 24",
@@ -817,15 +836,15 @@ const _hoisted_1$h = {
817
836
  "stroke-linecap": "round",
818
837
  "stroke-linejoin": "round"
819
838
  };
820
- const _hoisted_2$7 = {
839
+ const _hoisted_2$5 = {
821
840
  key: 0,
822
841
  d: "M5 12h14"
823
842
  };
824
- const _hoisted_3$4 = {
843
+ const _hoisted_3$2 = {
825
844
  key: 1,
826
845
  d: "M20 6 9 17l-5-5"
827
846
  };
828
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
847
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
829
848
  __name: "Checkbox",
830
849
  props: {
831
850
  color: {},
@@ -858,8 +877,8 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
858
877
  "as-child": ""
859
878
  }, {
860
879
  default: withCtx(() => [
861
- props.modelValue !== false ? (openBlock(), createElementBlock("svg", _hoisted_1$h, [
862
- props.modelValue === "indeterminate" ? (openBlock(), createElementBlock("path", _hoisted_2$7)) : (openBlock(), createElementBlock("path", _hoisted_3$4))
880
+ props.modelValue !== false ? (openBlock(), createElementBlock("svg", _hoisted_1$f, [
881
+ props.modelValue === "indeterminate" ? (openBlock(), createElementBlock("path", _hoisted_2$5)) : (openBlock(), createElementBlock("path", _hoisted_3$2))
863
882
  ])) : createCommentVNode("", true)
864
883
  ]),
865
884
  _: 1
@@ -871,7 +890,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
871
890
  }
872
891
  });
873
892
  const [injectCheckboxGroupRootContext, provideCheckboxGroupRootContext] = createContext("ui_CheckboxGroupRoot");
874
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
893
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
875
894
  __name: "CheckboxGroupRoot",
876
895
  props: /* @__PURE__ */ mergeModels({
877
896
  disabled: { type: Boolean },
@@ -903,32 +922,29 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
903
922
  return modelValue.value || [];
904
923
  });
905
924
  const checked = computed(() => {
906
- var _a, _b;
907
925
  if (!allValues.value.length) {
908
926
  return false;
909
927
  }
910
- if (((_a = modelValue.value) == null ? void 0 : _a.length) === allValues.value.length) {
928
+ if (modelValue.value?.length === allValues.value.length) {
911
929
  return true;
912
- } else if ((_b = modelValue.value) == null ? void 0 : _b.length) {
930
+ } else if (modelValue.value?.length) {
913
931
  return "indeterminate";
914
932
  } else {
915
933
  return false;
916
934
  }
917
935
  });
918
936
  const removeModelValue = (value) => {
919
- var _a, _b;
920
- const index = (_a = modelValue.value) == null ? void 0 : _a.indexOf(value);
937
+ const index = modelValue.value?.indexOf(value);
921
938
  if (index !== -1 && index !== void 0) {
922
- (_b = modelValue.value) == null ? void 0 : _b.splice(index, 1);
939
+ modelValue.value?.splice(index, 1);
923
940
  }
924
941
  };
925
942
  provideCheckboxGroupRootContext({
926
943
  selected,
927
944
  checked,
928
945
  addModelValue: (value) => {
929
- var _a, _b;
930
- if (((_a = modelValue.value) == null ? void 0 : _a.indexOf(value)) === -1) {
931
- (_b = modelValue.value) == null ? void 0 : _b.push(value);
946
+ if (modelValue.value?.indexOf(value) === -1) {
947
+ modelValue.value?.push(value);
932
948
  }
933
949
  },
934
950
  removeModelValue,
@@ -947,7 +963,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
947
963
  removeModelValue(value);
948
964
  },
949
965
  disabled,
950
- name: name == null ? void 0 : name.value
966
+ name: name?.value
951
967
  });
952
968
  return (_ctx, _cache) => {
953
969
  return openBlock(), createBlock(unref(Primitive), {
@@ -962,7 +978,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
962
978
  };
963
979
  }
964
980
  });
965
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
981
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
966
982
  __name: "CheckboxGroupItem",
967
983
  props: {
968
984
  value: {},
@@ -985,8 +1001,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
985
1001
  useForwardExpose();
986
1002
  const rootContext = injectCheckboxGroupRootContext();
987
1003
  const disabled = computed(() => {
988
- var _a;
989
- return ((_a = rootContext.disabled) == null ? void 0 : _a.value) || props.disabled;
1004
+ return rootContext.disabled?.value || props.disabled;
990
1005
  });
991
1006
  const checked = computed(() => {
992
1007
  return rootContext.selected.value.indexOf(props.value) !== -1;
@@ -1005,7 +1020,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1005
1020
  rootContext.removeAllValue(props.value);
1006
1021
  });
1007
1022
  return (_ctx, _cache) => {
1008
- return openBlock(), createBlock(_sfc_main$J, mergeProps({
1023
+ return openBlock(), createBlock(_sfc_main$H, mergeProps({
1009
1024
  ...unref(forwarded),
1010
1025
  name: props.name || unref(rootContext).name,
1011
1026
  modelValue: checked.value,
@@ -1014,7 +1029,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1014
1029
  };
1015
1030
  }
1016
1031
  });
1017
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
1032
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1018
1033
  __name: "CheckboxGroupControl",
1019
1034
  props: {
1020
1035
  color: {},
@@ -1037,14 +1052,13 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1037
1052
  useForwardExpose();
1038
1053
  const rootContext = injectCheckboxGroupRootContext();
1039
1054
  const disabled = computed(() => {
1040
- var _a;
1041
- return ((_a = rootContext.disabled) == null ? void 0 : _a.value) || props.disabled;
1055
+ return rootContext.disabled?.value || props.disabled;
1042
1056
  });
1043
1057
  const toggleModelValue = (checked) => {
1044
1058
  rootContext.toggleModelValue(checked);
1045
1059
  };
1046
1060
  return (_ctx, _cache) => {
1047
- return openBlock(), createBlock(_sfc_main$J, mergeProps({
1061
+ return openBlock(), createBlock(_sfc_main$H, mergeProps({
1048
1062
  ...unref(forwarded),
1049
1063
  name: props.name || unref(rootContext).name,
1050
1064
  modelValue: unref(rootContext).checked.value,
@@ -1053,7 +1067,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1053
1067
  };
1054
1068
  }
1055
1069
  });
1056
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
1070
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1057
1071
  __name: "Toggle",
1058
1072
  props: {
1059
1073
  color: {},
@@ -1094,7 +1108,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1094
1108
  };
1095
1109
  }
1096
1110
  });
1097
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
1111
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1098
1112
  __name: "ToggleGroupRoot",
1099
1113
  props: {
1100
1114
  color: {},
@@ -1140,7 +1154,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1140
1154
  };
1141
1155
  }
1142
1156
  });
1143
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
1157
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1144
1158
  __name: "ToggleGroupItem",
1145
1159
  props: {
1146
1160
  value: {},
@@ -1161,19 +1175,20 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1161
1175
  };
1162
1176
  }
1163
1177
  });
1164
- const _hoisted_1$g = ["data-radius", "data-accent-color"];
1165
- const _hoisted_2$6 = ["id", "type"];
1166
- const _hoisted_3$3 = {
1167
- key: 0,
1178
+ const _hoisted_1$e = ["data-radius", "data-accent-color"];
1179
+ const _hoisted_2$4 = ["id", "type"];
1180
+ const _hoisted_3$1 = ["id", "type"];
1181
+ const _hoisted_4 = {
1182
+ key: 2,
1168
1183
  class: "ui-TextFieldSlot",
1169
1184
  "data-side": "left"
1170
1185
  };
1171
- const _hoisted_4$1 = {
1172
- key: 1,
1186
+ const _hoisted_5 = {
1187
+ key: 3,
1173
1188
  class: "ui-TextFieldSlot",
1174
1189
  "data-side": "right"
1175
1190
  };
1176
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
1191
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1177
1192
  ...{
1178
1193
  inheritAttrs: false
1179
1194
  },
@@ -1195,7 +1210,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1195
1210
  emits: ["update:modelValue"],
1196
1211
  setup(__props) {
1197
1212
  const props = __props;
1198
- const inputRef = ref();
1213
+ const inputRef = useTemplateRef("input");
1199
1214
  const onPointerDown = (event) => {
1200
1215
  const target = event.target;
1201
1216
  if (target.closest("input, button, a")) return;
@@ -1226,6 +1241,9 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1226
1241
  }
1227
1242
  return rv;
1228
1243
  });
1244
+ const onFileChange = () => {
1245
+ modelValue.value = inputRef.value?.files;
1246
+ };
1229
1247
  return (_ctx, _cache) => {
1230
1248
  return openBlock(), createElementBlock("div", {
1231
1249
  class: normalizeClass(["ui-TextField", resetClass.value]),
@@ -1233,27 +1251,35 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1233
1251
  "data-accent-color": props.color,
1234
1252
  onPointerdown: onPointerDown
1235
1253
  }, [
1236
- withDirectives(createElementVNode("input", mergeProps({
1254
+ props.type === "file" ? (openBlock(), createElementBlock("input", mergeProps({
1255
+ key: 0,
1256
+ id: props.id,
1257
+ ref: "input",
1258
+ type: props.type
1259
+ }, _ctx.$attrs, {
1260
+ class: "ui-TextFieldInput",
1261
+ onChange: onFileChange
1262
+ }), null, 16, _hoisted_2$4)) : withDirectives((openBlock(), createElementBlock("input", mergeProps({
1263
+ key: 1,
1237
1264
  id: props.id,
1238
- ref_key: "inputRef",
1239
- ref: inputRef,
1265
+ ref: "input",
1240
1266
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
1241
1267
  type: props.type
1242
- }, _ctx.$attrs, { class: "ui-TextFieldInput" }), null, 16, _hoisted_2$6), [
1268
+ }, _ctx.$attrs, { class: "ui-TextFieldInput" }), null, 16, _hoisted_3$1)), [
1243
1269
  [vModelDynamic, unref(modelValue)]
1244
1270
  ]),
1245
- _ctx.$slots.left ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
1271
+ _ctx.$slots.left ? (openBlock(), createElementBlock("div", _hoisted_4, [
1246
1272
  renderSlot(_ctx.$slots, "left")
1247
1273
  ])) : createCommentVNode("", true),
1248
- _ctx.$slots.right ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
1274
+ _ctx.$slots.right ? (openBlock(), createElementBlock("div", _hoisted_5, [
1249
1275
  renderSlot(_ctx.$slots, "right")
1250
1276
  ])) : createCommentVNode("", true)
1251
- ], 42, _hoisted_1$g);
1277
+ ], 42, _hoisted_1$e);
1252
1278
  };
1253
1279
  }
1254
1280
  });
1255
- const _hoisted_1$f = ["data-accent-color"];
1256
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
1281
+ const _hoisted_1$d = ["data-accent-color"];
1282
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1257
1283
  ...{
1258
1284
  inheritAttrs: false
1259
1285
  },
@@ -1292,13 +1318,13 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1292
1318
  }, _ctx.$attrs, { class: "ui-TextAreaInput" }), null, 16), [
1293
1319
  [vModelText, modelValue.value]
1294
1320
  ])
1295
- ], 10, _hoisted_1$f);
1321
+ ], 10, _hoisted_1$d);
1296
1322
  };
1297
1323
  }
1298
1324
  });
1299
- const _hoisted_1$e = ["data-radius"];
1300
- const _hoisted_2$5 = ["id"];
1301
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
1325
+ const _hoisted_1$c = ["data-radius"];
1326
+ const _hoisted_2$3 = ["id"];
1327
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1302
1328
  __name: "ColorField",
1303
1329
  props: /* @__PURE__ */ mergeModels({
1304
1330
  id: {},
@@ -1329,15 +1355,15 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1329
1355
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
1330
1356
  class: "ui-ColorFieldInput",
1331
1357
  type: "color"
1332
- }, null, 8, _hoisted_2$5), [
1358
+ }, null, 8, _hoisted_2$3), [
1333
1359
  [vModelText, modelValue.value]
1334
1360
  ])
1335
- ], 14, _hoisted_1$e);
1361
+ ], 14, _hoisted_1$c);
1336
1362
  };
1337
1363
  }
1338
1364
  });
1339
1365
  const [injectSelectRootContext, provideSelectRootContext] = createContext("ui_SelectRoot");
1340
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
1366
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1341
1367
  __name: "SelectRoot",
1342
1368
  props: {
1343
1369
  size: { default: "2" },
@@ -1376,7 +1402,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1376
1402
  };
1377
1403
  }
1378
1404
  });
1379
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
1405
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1380
1406
  ...{
1381
1407
  inheritAttrs: false
1382
1408
  },
@@ -1478,8 +1504,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1478
1504
  };
1479
1505
  }
1480
1506
  });
1481
- const _hoisted_1$d = { class: "ui-SelectTriggerInner" };
1482
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
1507
+ const _hoisted_1$b = { class: "ui-SelectTriggerInner" };
1508
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1483
1509
  __name: "SelectTrigger",
1484
1510
  props: {
1485
1511
  variant: { default: "surface" },
@@ -1504,7 +1530,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1504
1530
  "data-radius": props.radius
1505
1531
  }, {
1506
1532
  default: withCtx(() => [
1507
- createElementVNode("span", _hoisted_1$d, [
1533
+ createElementVNode("span", _hoisted_1$b, [
1508
1534
  createVNode(unref(SelectValue), {
1509
1535
  placeholder: props.placeholder
1510
1536
  }, {
@@ -1537,7 +1563,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1537
1563
  };
1538
1564
  }
1539
1565
  });
1540
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
1566
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1541
1567
  __name: "SelectItem",
1542
1568
  props: {
1543
1569
  value: {},
@@ -1571,7 +1597,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1571
1597
  };
1572
1598
  }
1573
1599
  });
1574
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
1600
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1575
1601
  __name: "SelectLabel",
1576
1602
  props: {
1577
1603
  for: {},
@@ -1599,17 +1625,17 @@ const _export_sfc = (sfc, props) => {
1599
1625
  }
1600
1626
  return target;
1601
1627
  };
1602
- const _sfc_main$u = {};
1603
- const _hoisted_1$c = {
1628
+ const _sfc_main$s = {};
1629
+ const _hoisted_1$a = {
1604
1630
  class: "ui-SelectSeparator",
1605
1631
  "aria-hidden": "true"
1606
1632
  };
1607
1633
  function _sfc_render(_ctx, _cache) {
1608
- return openBlock(), createElementBlock("div", _hoisted_1$c);
1634
+ return openBlock(), createElementBlock("div", _hoisted_1$a);
1609
1635
  }
1610
- const SelectSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["render", _sfc_render]]);
1636
+ const SelectSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render]]);
1611
1637
  const [injectComboboxRootContext, provideComboboxRootContext] = createContext("ui_ComboboxRoot");
1612
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
1638
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1613
1639
  __name: "ComboboxRoot",
1614
1640
  props: {
1615
1641
  size: { default: "2" },
@@ -1655,13 +1681,13 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1655
1681
  };
1656
1682
  }
1657
1683
  });
1658
- const _hoisted_1$b = {
1684
+ const _hoisted_1$9 = {
1659
1685
  key: 0,
1660
1686
  class: "ui-ComboboxValues"
1661
1687
  };
1662
- const _hoisted_2$4 = ["aria-current", "value"];
1663
- const _hoisted_3$2 = ["onClick"];
1664
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
1688
+ const _hoisted_2$2 = ["aria-current", "value"];
1689
+ const _hoisted_3 = ["onClick"];
1690
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1665
1691
  ...{
1666
1692
  inheritAttrs: false
1667
1693
  },
@@ -1722,7 +1748,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1722
1748
  "data-multiple": unref(context).multiple.value || void 0
1723
1749
  }, {
1724
1750
  default: withCtx(() => [
1725
- unref(context).multiple.value ? (openBlock(), createElementBlock("div", _hoisted_1$b, [
1751
+ unref(context).multiple.value ? (openBlock(), createElementBlock("div", _hoisted_1$9, [
1726
1752
  (openBlock(true), createElementBlock(Fragment, null, renderList(values.value, (item, index) => {
1727
1753
  return openBlock(), createElementBlock("div", {
1728
1754
  key: displayValue(item),
@@ -1739,8 +1765,8 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1739
1765
  onClick: withModifiers(($event) => onDeleteIndex(index), ["prevent"])
1740
1766
  }, [
1741
1767
  createVNode(unref(Icon), { icon: "lucide:x" })
1742
- ], 8, _hoisted_3$2)
1743
- ], 8, _hoisted_2$4);
1768
+ ], 8, _hoisted_3)
1769
+ ], 8, _hoisted_2$2);
1744
1770
  }), 128)),
1745
1771
  createVNode(unref(ComboboxInput), mergeProps({
1746
1772
  ..._ctx.$attrs,
@@ -1772,7 +1798,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1772
1798
  };
1773
1799
  }
1774
1800
  });
1775
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
1801
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1776
1802
  ...{
1777
1803
  inheritAttrs: false
1778
1804
  },
@@ -1875,7 +1901,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1875
1901
  };
1876
1902
  }
1877
1903
  });
1878
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1904
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1879
1905
  __name: "ComboboxItem",
1880
1906
  props: {
1881
1907
  textValue: {},
@@ -1903,7 +1929,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1903
1929
  };
1904
1930
  }
1905
1931
  });
1906
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
1932
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1907
1933
  __name: "ComboboxLabel",
1908
1934
  props: {
1909
1935
  for: {},
@@ -1924,8 +1950,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1924
1950
  };
1925
1951
  }
1926
1952
  });
1927
- const _hoisted_1$a = ["data-accent-color"];
1928
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
1953
+ const _hoisted_1$8 = ["data-accent-color"];
1954
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
1929
1955
  __name: "Radio",
1930
1956
  props: /* @__PURE__ */ mergeModels({
1931
1957
  color: {},
@@ -1961,14 +1987,14 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1961
1987
  class: normalizeClass(["ui-Radio", resetClass.value]),
1962
1988
  type: "radio",
1963
1989
  "data-accent-color": props.color
1964
- }, null, 10, _hoisted_1$a)), [
1990
+ }, null, 10, _hoisted_1$8)), [
1965
1991
  [vModelRadio, unref(modelValue)]
1966
1992
  ]);
1967
1993
  };
1968
1994
  }
1969
1995
  });
1970
1996
  const [injectRadioGroupRootContext, provideRadioGroupRootContext] = createContext("ui_RadioGroupRoot");
1971
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
1997
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
1972
1998
  __name: "RadioGroupRoot",
1973
1999
  props: {
1974
2000
  color: {},
@@ -2003,8 +2029,8 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2003
2029
  };
2004
2030
  }
2005
2031
  });
2006
- const _hoisted_1$9 = { class: "ui-RadioGroupItem" };
2007
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
2032
+ const _hoisted_1$7 = { class: "ui-RadioGroupItem" };
2033
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2008
2034
  __name: "RadioGroupItem",
2009
2035
  props: {
2010
2036
  id: {},
@@ -2020,29 +2046,27 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2020
2046
  const forwarded = useForwardProps(props);
2021
2047
  const rootContext = injectRadioGroupRootContext();
2022
2048
  const resetClass = computed(() => {
2023
- var _a;
2024
2049
  const rv = [
2025
2050
  `r-size-${rootContext.size.value}`,
2026
2051
  `r-variant-${rootContext.variant.value}`
2027
2052
  ];
2028
- if ((_a = rootContext.highContrast) == null ? void 0 : _a.value) {
2053
+ if (rootContext.highContrast?.value) {
2029
2054
  rv.push("r-high-contrast");
2030
2055
  }
2031
2056
  return rv;
2032
2057
  });
2033
2058
  return (_ctx, _cache) => {
2034
- var _a;
2035
- return openBlock(), createElementBlock("label", _hoisted_1$9, [
2059
+ return openBlock(), createElementBlock("label", _hoisted_1$7, [
2036
2060
  createVNode(unref(RadioGroupItem), mergeProps({
2037
2061
  class: ["ui-Radio", resetClass.value],
2038
- "data-accent-color": (_a = unref(rootContext).color) == null ? void 0 : _a.value
2062
+ "data-accent-color": unref(rootContext).color?.value
2039
2063
  }, unref(forwarded)), null, 16, ["class", "data-accent-color"]),
2040
2064
  renderSlot(_ctx.$slots, "default")
2041
2065
  ]);
2042
2066
  };
2043
2067
  }
2044
2068
  });
2045
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
2069
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2046
2070
  __name: "RadioCardsItem",
2047
2071
  props: {
2048
2072
  id: {},
@@ -2059,16 +2083,15 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2059
2083
  useForwardExpose();
2060
2084
  const rootContext = injectRadioGroupRootContext();
2061
2085
  return (_ctx, _cache) => {
2062
- var _a, _b;
2063
2086
  return openBlock(), createBlock(unref(RadioGroupItem), mergeProps({
2064
2087
  class: "ui-RadioCardsItem",
2065
- "data-accent-color": (_a = unref(rootContext).color) == null ? void 0 : _a.value,
2088
+ "data-accent-color": unref(rootContext).color?.value,
2066
2089
  "data-size": unref(rootContext).size.value,
2067
2090
  "data-variant": unref(rootContext).variant.value,
2068
- "data-high-contrast": (_b = unref(rootContext).highContrast) == null ? void 0 : _b.value
2091
+ "data-high-contrast": unref(rootContext).highContrast?.value
2069
2092
  }, { ...unref(forwarded), asChild: false }), {
2070
2093
  default: withCtx(() => [
2071
- createVNode(_sfc_main$W, {
2094
+ createVNode(_sfc_main$U, {
2072
2095
  "as-child": unref(forwarded).asChild
2073
2096
  }, {
2074
2097
  default: withCtx(() => [
@@ -2082,7 +2105,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2082
2105
  };
2083
2106
  }
2084
2107
  });
2085
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
2108
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2086
2109
  __name: "RadioTabsList",
2087
2110
  props: {
2088
2111
  size: { default: "2" },
@@ -2114,7 +2137,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2114
2137
  };
2115
2138
  }
2116
2139
  });
2117
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
2140
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2118
2141
  __name: "TabsList",
2119
2142
  props: {
2120
2143
  size: { default: "2" },
@@ -2140,9 +2163,9 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2140
2163
  };
2141
2164
  }
2142
2165
  });
2143
- const _hoisted_1$8 = { class: "ui-TabTriggerInner" };
2144
- const _hoisted_2$3 = { class: "ui-TabTriggerInnerHidden" };
2145
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
2166
+ const _hoisted_1$6 = { class: "ui-TabTriggerInner" };
2167
+ const _hoisted_2$1 = { class: "ui-TabTriggerInnerHidden" };
2168
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2146
2169
  __name: "TabsTrigger",
2147
2170
  props: {
2148
2171
  value: {},
@@ -2156,10 +2179,10 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2156
2179
  return (_ctx, _cache) => {
2157
2180
  return openBlock(), createBlock(unref(TabsTrigger), mergeProps(unref(forwarded), { class: "ui-TabTrigger" }), {
2158
2181
  default: withCtx(() => [
2159
- createElementVNode("span", _hoisted_1$8, [
2182
+ createElementVNode("span", _hoisted_1$6, [
2160
2183
  renderSlot(_ctx.$slots, "default")
2161
2184
  ]),
2162
- createElementVNode("span", _hoisted_2$3, [
2185
+ createElementVNode("span", _hoisted_2$1, [
2163
2186
  renderSlot(_ctx.$slots, "default")
2164
2187
  ])
2165
2188
  ]),
@@ -2168,7 +2191,58 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2168
2191
  };
2169
2192
  }
2170
2193
  });
2171
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
2194
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2195
+ ...{
2196
+ inheritAttrs: false
2197
+ },
2198
+ __name: "Editable",
2199
+ props: {
2200
+ radius: { default: "small" },
2201
+ color: {},
2202
+ size: { default: "1" },
2203
+ defaultValue: {},
2204
+ modelValue: {},
2205
+ placeholder: {},
2206
+ dir: {},
2207
+ disabled: { type: Boolean },
2208
+ readonly: { type: Boolean },
2209
+ activationMode: {},
2210
+ selectOnFocus: { type: Boolean },
2211
+ submitMode: {},
2212
+ startWithEditMode: { type: Boolean },
2213
+ maxLength: {},
2214
+ autoResize: { type: Boolean },
2215
+ id: {},
2216
+ asChild: { type: Boolean },
2217
+ as: {},
2218
+ name: {},
2219
+ required: { type: Boolean }
2220
+ },
2221
+ emits: ["update:modelValue", "submit", "update:state"],
2222
+ setup(__props, { emit: __emit }) {
2223
+ const props = __props;
2224
+ const emits = __emit;
2225
+ const [forwarded, resetClass] = extractForwardPropsEmits(props, emits, ["radius", "color", "size"]);
2226
+ return (_ctx, _cache) => {
2227
+ return openBlock(), createBlock(unref(EditableRoot), mergeProps({
2228
+ class: ["ui-Editable", unref(resetClass)],
2229
+ "data-accent-color": props.color
2230
+ }, unref(forwarded)), {
2231
+ default: withCtx(() => [
2232
+ createVNode(unref(EditableArea), mergeProps({ class: "ui-EditableArea" }, _ctx.$attrs), {
2233
+ default: withCtx(() => [
2234
+ createVNode(unref(EditablePreview), { class: "ui-EditablePreview" }),
2235
+ createVNode(unref(EditableInput), { class: "ui-EditableInput" })
2236
+ ]),
2237
+ _: 1
2238
+ }, 16)
2239
+ ]),
2240
+ _: 1
2241
+ }, 16, ["class", "data-accent-color"]);
2242
+ };
2243
+ }
2244
+ });
2245
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2172
2246
  __name: "AccordionRoot",
2173
2247
  props: {
2174
2248
  size: { default: "1" },
@@ -2200,7 +2274,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2200
2274
  };
2201
2275
  }
2202
2276
  });
2203
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
2277
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2204
2278
  __name: "AccordionItem",
2205
2279
  props: {
2206
2280
  disabled: { type: Boolean },
@@ -2222,7 +2296,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2222
2296
  };
2223
2297
  }
2224
2298
  });
2225
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
2299
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2226
2300
  ...{
2227
2301
  inheritAttrs: false
2228
2302
  },
@@ -2247,8 +2321,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2247
2321
  };
2248
2322
  }
2249
2323
  });
2250
- const _hoisted_1$7 = ["data-accent-color"];
2251
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
2324
+ const _hoisted_1$5 = ["data-accent-color"];
2325
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2252
2326
  __name: "PlusMinusIcon",
2253
2327
  props: {
2254
2328
  color: { default: void 0 },
@@ -2263,11 +2337,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2263
2337
  }, _cache[0] || (_cache[0] = [
2264
2338
  createElementVNode("div", { class: "ui-PlusMinusIcon-1" }, null, -1),
2265
2339
  createElementVNode("div", { class: "ui-PlusMinusIcon-2" }, null, -1)
2266
- ]), 10, _hoisted_1$7);
2340
+ ]), 10, _hoisted_1$5);
2267
2341
  };
2268
2342
  }
2269
2343
  });
2270
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
2344
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2271
2345
  __name: "ChevronIcon",
2272
2346
  props: {
2273
2347
  arrowTransform: { default: "right-down" }
@@ -2282,8 +2356,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2282
2356
  };
2283
2357
  }
2284
2358
  });
2285
- const _hoisted_1$6 = { class: "ui-AccordionTriggerText" };
2286
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
2359
+ const _hoisted_1$4 = { class: "ui-AccordionTriggerText" };
2360
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2287
2361
  __name: "AccordionTrigger",
2288
2362
  props: {
2289
2363
  indicator: { default: "chevron" },
@@ -2298,13 +2372,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2298
2372
  class: ["ui-AccordionTrigger", unref(resetClass)]
2299
2373
  }, unref(forwarded)), {
2300
2374
  default: withCtx(() => [
2301
- createElementVNode("div", _hoisted_1$6, [
2375
+ createElementVNode("div", _hoisted_1$4, [
2302
2376
  renderSlot(_ctx.$slots, "default")
2303
2377
  ]),
2304
- props.indicator === "plus-minus" ? (openBlock(), createBlock(_sfc_main$e, {
2378
+ props.indicator === "plus-minus" ? (openBlock(), createBlock(_sfc_main$b, {
2305
2379
  key: 0,
2306
2380
  class: "ui-AccordionTriggerIcon"
2307
- })) : props.indicator === "chevron" ? (openBlock(), createBlock(_sfc_main$d, {
2381
+ })) : props.indicator === "chevron" ? (openBlock(), createBlock(_sfc_main$a, {
2308
2382
  key: 1,
2309
2383
  "arrow-transform": "down-up"
2310
2384
  })) : createCommentVNode("", true)
@@ -2314,7 +2388,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2314
2388
  };
2315
2389
  }
2316
2390
  });
2317
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
2391
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2318
2392
  ...{
2319
2393
  inheritAttrs: false
2320
2394
  },
@@ -2339,20 +2413,20 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2339
2413
  };
2340
2414
  }
2341
2415
  });
2342
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
2416
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2343
2417
  __name: "Pagination",
2344
2418
  props: /* @__PURE__ */ mergeModels({
2345
2419
  total: {},
2346
2420
  perpage: { default: 10 },
2347
2421
  edge: { default: 2 },
2422
+ variant: { default: "ghost" },
2348
2423
  color: {},
2349
2424
  radius: {},
2350
- variant: { default: "ghost" },
2351
2425
  size: { default: "1" },
2352
2426
  highContrast: { type: Boolean },
2353
2427
  disabled: { type: Boolean },
2354
- asChild: { type: Boolean },
2355
- as: {}
2428
+ as: {},
2429
+ asChild: { type: Boolean }
2356
2430
  }, {
2357
2431
  "page": { required: true },
2358
2432
  "pageModifiers": {}
@@ -2416,7 +2490,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2416
2490
  return openBlock(), createElementBlock("div", {
2417
2491
  class: normalizeClass(["ui-Pagination", resetClass.value])
2418
2492
  }, [
2419
- pagination.value.prev ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 0 }, buttonProps.value, {
2493
+ pagination.value.prev ? (openBlock(), createBlock(_sfc_main$R, mergeProps({ key: 0 }, buttonProps.value, {
2420
2494
  "aria-label": "Previous",
2421
2495
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => selectPage(pagination.value.prev), ["prevent"]))
2422
2496
  }), {
@@ -2429,7 +2503,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2429
2503
  ]),
2430
2504
  _: 3
2431
2505
  }, 16)) : createCommentVNode("", true),
2432
- createVNode(_sfc_main$U, mergeProps(buttonProps.value, {
2506
+ createVNode(_sfc_main$S, mergeProps(buttonProps.value, {
2433
2507
  disabled: page.value === 1,
2434
2508
  "aria-current": "page",
2435
2509
  onClick: _cache[1] || (_cache[1] = withModifiers(($event) => selectPage(1), ["prevent"]))
@@ -2441,7 +2515,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2441
2515
  ]),
2442
2516
  _: 3
2443
2517
  }, 16, ["disabled"]),
2444
- pagination.value.hasLeftEdge ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 1 }, buttonProps.value, {
2518
+ pagination.value.hasLeftEdge ? (openBlock(), createBlock(_sfc_main$R, mergeProps({ key: 1 }, buttonProps.value, {
2445
2519
  onClick: withModifiers(selectLeft, ["prevent"])
2446
2520
  }), {
2447
2521
  default: withCtx(() => [
@@ -2454,7 +2528,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2454
2528
  _: 3
2455
2529
  }, 16)) : createCommentVNode("", true),
2456
2530
  (openBlock(true), createElementBlock(Fragment, null, renderList(pagination.value.pageList, (p) => {
2457
- return openBlock(), createBlock(_sfc_main$U, mergeProps({ key: p }, { ref_for: true }, buttonProps.value, {
2531
+ return openBlock(), createBlock(_sfc_main$S, mergeProps({ key: p }, { ref_for: true }, buttonProps.value, {
2458
2532
  disabled: p === page.value,
2459
2533
  "aria-current": "page",
2460
2534
  onClick: withModifiers(($event) => selectPage(p), ["prevent"])
@@ -2467,7 +2541,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2467
2541
  _: 2
2468
2542
  }, 1040, ["disabled", "onClick"]);
2469
2543
  }), 128)),
2470
- pagination.value.hasRightEdge ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 2 }, buttonProps.value, {
2544
+ pagination.value.hasRightEdge ? (openBlock(), createBlock(_sfc_main$R, mergeProps({ key: 2 }, buttonProps.value, {
2471
2545
  onClick: withModifiers(selectRight, ["prevent"])
2472
2546
  }), {
2473
2547
  default: withCtx(() => [
@@ -2479,7 +2553,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2479
2553
  ]),
2480
2554
  _: 3
2481
2555
  }, 16)) : createCommentVNode("", true),
2482
- pagination.value.totalPages > 1 ? (openBlock(), createBlock(_sfc_main$U, mergeProps({ key: 3 }, buttonProps.value, {
2556
+ pagination.value.totalPages > 1 ? (openBlock(), createBlock(_sfc_main$S, mergeProps({ key: 3 }, buttonProps.value, {
2483
2557
  disabled: pagination.value.totalPages === page.value,
2484
2558
  "aria-current": "page",
2485
2559
  onClick: _cache[2] || (_cache[2] = withModifiers(($event) => selectPage(pagination.value.totalPages), ["prevent"]))
@@ -2493,7 +2567,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2493
2567
  ]),
2494
2568
  _: 3
2495
2569
  }, 16, ["disabled"])) : createCommentVNode("", true),
2496
- pagination.value.next ? (openBlock(), createBlock(_sfc_main$T, mergeProps({ key: 4 }, buttonProps.value, {
2570
+ pagination.value.next ? (openBlock(), createBlock(_sfc_main$R, mergeProps({ key: 4 }, buttonProps.value, {
2497
2571
  "aria-label": "Next",
2498
2572
  onClick: _cache[3] || (_cache[3] = withModifiers(($event) => selectPage(pagination.value.next), ["prevent"]))
2499
2573
  }), {
@@ -2510,9 +2584,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2510
2584
  };
2511
2585
  }
2512
2586
  });
2513
- const _hoisted_1$5 = ["data-size", "data-variant"];
2514
- const _hoisted_2$2 = ["data-layout"];
2515
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2587
+ const _hoisted_1$3 = ["data-size", "data-variant"];
2588
+ const _hoisted_2 = ["data-layout"];
2589
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2516
2590
  __name: "Table",
2517
2591
  props: {
2518
2592
  size: { default: "2" },
@@ -2527,22 +2601,22 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2527
2601
  "data-size": props.size,
2528
2602
  "data-variant": props.variant
2529
2603
  }, [
2530
- createVNode(_sfc_main$R, null, {
2604
+ createVNode(_sfc_main$P, null, {
2531
2605
  default: withCtx(() => [
2532
2606
  createElementVNode("table", {
2533
2607
  class: "ui-TableContent",
2534
2608
  "data-layout": props.layout
2535
2609
  }, [
2536
2610
  renderSlot(_ctx.$slots, "default")
2537
- ], 8, _hoisted_2$2)
2611
+ ], 8, _hoisted_2)
2538
2612
  ]),
2539
2613
  _: 3
2540
2614
  })
2541
- ], 8, _hoisted_1$5);
2615
+ ], 8, _hoisted_1$3);
2542
2616
  };
2543
2617
  }
2544
2618
  });
2545
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2619
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2546
2620
  __name: "Separator",
2547
2621
  props: {
2548
2622
  as: { default: "span" },
@@ -2563,8 +2637,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2563
2637
  };
2564
2638
  }
2565
2639
  });
2566
- const _hoisted_1$4 = ["textContent"];
2567
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2640
+ const _hoisted_1$2 = ["textContent"];
2641
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2568
2642
  ...{
2569
2643
  inheritAttrs: false
2570
2644
  },
@@ -2586,7 +2660,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2586
2660
  sideOffset: { default: 4 },
2587
2661
  align: {},
2588
2662
  alignOffset: {},
2589
- avoidCollisions: { type: Boolean },
2663
+ avoidCollisions: { type: Boolean, default: true },
2590
2664
  collisionBoundary: {},
2591
2665
  collisionPadding: { default: 10 },
2592
2666
  arrowPadding: {},
@@ -2641,7 +2715,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2641
2715
  createElementVNode("p", {
2642
2716
  class: "ui-TooltipText",
2643
2717
  textContent: toDisplayString(props.content)
2644
- }, null, 8, _hoisted_1$4)
2718
+ }, null, 8, _hoisted_1$2)
2645
2719
  ]),
2646
2720
  createVNode(unref(TooltipArrow), { class: "ui-TooltipArrow" })
2647
2721
  ]),
@@ -2659,7 +2733,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2659
2733
  };
2660
2734
  }
2661
2735
  });
2662
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2736
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2663
2737
  __name: "Quota",
2664
2738
  props: {
2665
2739
  percent: {},
@@ -2707,7 +2781,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2707
2781
  };
2708
2782
  }
2709
2783
  });
2710
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2784
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2711
2785
  __name: "Spinner",
2712
2786
  props: {
2713
2787
  icon: { default: "180-ring" },
@@ -2726,8 +2800,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2726
2800
  };
2727
2801
  }
2728
2802
  });
2729
- const _hoisted_1$3 = ["data-status"];
2730
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2803
+ const _hoisted_1$1 = ["data-status"];
2804
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2731
2805
  __name: "SavingIndicator",
2732
2806
  props: {
2733
2807
  status: {},
@@ -2747,12 +2821,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2747
2821
  key: 1,
2748
2822
  icon: "lucide:check-circle-2"
2749
2823
  })) : createCommentVNode("", true)
2750
- ], 10, _hoisted_1$3);
2824
+ ], 10, _hoisted_1$1);
2751
2825
  };
2752
2826
  }
2753
2827
  });
2754
- const _hoisted_1$2 = ["data-accent-color"];
2755
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2828
+ const _hoisted_1 = ["data-accent-color"];
2829
+ const _sfc_main = /* @__PURE__ */ defineComponent({
2756
2830
  __name: "IconCircle",
2757
2831
  props: {
2758
2832
  color: {},
@@ -2774,527 +2848,95 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2774
2848
  createVNode(unref(Icon), {
2775
2849
  icon: props.icon
2776
2850
  }, null, 8, ["icon"])
2777
- ], 10, _hoisted_1$2);
2778
- };
2779
- }
2780
- });
2781
- const turnstileSrc = "https://challenges.cloudflare.com/turnstile/v0/api.js";
2782
- const turnstileLoadFunction = "cfTurnstileOnLoad";
2783
- let turnstileState = typeof window !== "undefined" ? window.turnstile !== void 0 ? "ready" : "unloaded" : "unloaded";
2784
- let turnstileLoad;
2785
- let widgetId;
2786
- let resetTimeout;
2787
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
2788
- __name: "Turnstile",
2789
- props: {
2790
- sitekey: {},
2791
- modelValue: {},
2792
- resetInterval: { default: 295 * 1e3 },
2793
- size: { default: "normal" },
2794
- theme: { default: "auto" },
2795
- action: { default: "" },
2796
- appearance: { default: "always" },
2797
- renderOnMount: { type: Boolean, default: true }
2798
- },
2799
- emits: ["update:modelValue"],
2800
- setup(__props, { emit: __emit }) {
2801
- const props = __props;
2802
- const emit = __emit;
2803
- const element = ref();
2804
- const resetTurnstile = () => {
2805
- if (window.turnstile) {
2806
- emit("update:modelValue", "");
2807
- window.turnstile.reset();
2808
- }
2809
- };
2810
- const removeTurnstile = () => {
2811
- if (widgetId) {
2812
- window.turnstile.remove(widgetId);
2813
- widgetId = void 0;
2814
- }
2815
- };
2816
- const callbackTurnstile = (token) => {
2817
- emit("update:modelValue", token);
2818
- resetTimeout = setTimeout(() => {
2819
- resetTurnstile();
2820
- }, props.resetInterval);
2821
- };
2822
- const renderTurnstile = () => {
2823
- widgetId = window.turnstile.render(element.value, {
2824
- sitekey: props.sitekey,
2825
- theme: props.theme,
2826
- size: props.size,
2827
- callback: callbackTurnstile,
2828
- action: props.action,
2829
- appearance: props.appearance
2830
- });
2831
- };
2832
- onMounted(async () => {
2833
- const turnstileLoadPromise = new Promise((resolve, reject) => {
2834
- turnstileLoad = { resolve, reject };
2835
- if (turnstileState === "ready") resolve(void 0);
2836
- });
2837
- window[turnstileLoadFunction] = () => {
2838
- turnstileLoad.resolve();
2839
- turnstileState = "ready";
2840
- };
2841
- const ensureTurnstile = () => {
2842
- if (turnstileState === "unloaded") {
2843
- turnstileState = "loading";
2844
- const url = `${turnstileSrc}?onload=${turnstileLoadFunction}&render=explicit`;
2845
- const script = document.createElement("script");
2846
- script.src = url;
2847
- script.async = true;
2848
- script.addEventListener("error", () => {
2849
- turnstileLoad.reject("Failed to load Turnstile.");
2850
- });
2851
- document.head.appendChild(script);
2852
- }
2853
- return turnstileLoadPromise;
2854
- };
2855
- await ensureTurnstile();
2856
- if (props.renderOnMount) {
2857
- renderTurnstile();
2858
- }
2859
- });
2860
- onBeforeUnmount(() => {
2861
- removeTurnstile();
2862
- clearTimeout(resetTimeout);
2863
- });
2864
- return (_ctx, _cache) => {
2865
- return openBlock(), createElementBlock("div", {
2866
- ref_key: "element",
2867
- ref: element
2868
- }, null, 512);
2869
- };
2870
- }
2871
- });
2872
- const _hoisted_1$1 = {
2873
- type: "button",
2874
- class: "ui-IconifySample"
2875
- };
2876
- const _hoisted_2$1 = { class: "ui-IconifySampleInfo" };
2877
- const _hoisted_3$1 = { class: "ui-IconifySampleIcons" };
2878
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2879
- __name: "IconifySample",
2880
- props: {
2881
- prefix: {},
2882
- category: {},
2883
- name: {},
2884
- samples: {},
2885
- total: {},
2886
- license: {}
2887
- },
2888
- setup(__props) {
2889
- const props = __props;
2890
- return (_ctx, _cache) => {
2891
- return openBlock(), createElementBlock("button", _hoisted_1$1, [
2892
- createElementVNode("div", _hoisted_2$1, [
2893
- createElementVNode("strong", null, toDisplayString(props.name), 1),
2894
- createElementVNode("span", null, toDisplayString(props.license.title), 1),
2895
- createElementVNode("span", null, toDisplayString(props.total) + " icons", 1)
2896
- ]),
2897
- createElementVNode("div", _hoisted_3$1, [
2898
- (openBlock(true), createElementBlock(Fragment, null, renderList(props.samples, (icon) => {
2899
- return openBlock(), createElementBlock("span", { key: icon }, [
2900
- createVNode(unref(Icon), {
2901
- icon: props.prefix + ":" + icon
2902
- }, null, 8, ["icon"])
2903
- ]);
2904
- }), 128))
2905
- ])
2906
- ]);
2907
- };
2908
- }
2909
- });
2910
- const _hoisted_1 = { class: "ui-IconifyCollection" };
2911
- const _hoisted_2 = { class: "ui-IconifyCollectionGroups" };
2912
- const _hoisted_3 = { class: "ui-IconifyCollectionGroupsHead" };
2913
- const _hoisted_4 = { class: "ui-IconifyCollectionForm" };
2914
- const _hoisted_5 = { class: "mb-2" };
2915
- const _hoisted_6 = { class: "font-medium" };
2916
- const _hoisted_7 = { class: "text-sm ml-1" };
2917
- const _hoisted_8 = { class: "ui-IconifyCollectionSampleGrid" };
2918
- const _hoisted_9 = {
2919
- key: 0,
2920
- class: "ui-IconifyCollectionIcons"
2921
- };
2922
- const _hoisted_10 = { class: "ui-IconifyCollectionForm" };
2923
- const _hoisted_11 = {
2924
- key: 0,
2925
- class: "ui-IconifyCollectionSuffixes"
2926
- };
2927
- const _hoisted_12 = { class: "ui-IconifyCollectionIconGrid" };
2928
- const fetchCollections = async () => {
2929
- const apiLink = "https://api.iconify.design/collections";
2930
- const resp = await fetch(apiLink);
2931
- const data = await resp.json();
2932
- const cache = {};
2933
- Object.keys(data).forEach((prefix) => {
2934
- const item = data[prefix];
2935
- if (item.hidden) {
2936
- return;
2937
- }
2938
- if (!cache[item.category]) {
2939
- cache[item.category] = [];
2940
- }
2941
- cache[item.category].push({ ...item, prefix });
2942
- });
2943
- const collections = [];
2944
- Object.keys(cache).forEach((category) => {
2945
- collections.push({
2946
- category,
2947
- items: cache[category]
2948
- });
2949
- });
2950
- return collections;
2951
- };
2952
- const searchIcons = async (query) => {
2953
- const apiLink = `https://api.iconify.design/search?query=${encodeURIComponent(query)}&limit=999`;
2954
- const resp = await fetch(apiLink);
2955
- const data = await resp.json();
2956
- return data.icons;
2957
- };
2958
- const fetchCollectionIcons = async (prefix) => {
2959
- const apiLink = `https://api.iconify.design/collection?prefix=${encodeURIComponent(prefix)}&chars=true&aliases=true`;
2960
- const resp = await fetch(apiLink);
2961
- const data = await resp.json();
2962
- return data;
2963
- };
2964
- const filterIcons = (names, query, suffix) => {
2965
- return names.filter((key) => {
2966
- let match = true;
2967
- if (query && key.indexOf(query) === -1) {
2968
- match = false;
2969
- }
2970
- if (suffix && key.indexOf(`-${suffix}`) === -1) {
2971
- match = false;
2972
- }
2973
- return match;
2974
- });
2975
- };
2976
- const _sfc_main = /* @__PURE__ */ defineComponent({
2977
- __name: "IconifyCollection",
2978
- props: {
2979
- prefix: {},
2980
- search: {},
2981
- perpage: { default: 200 }
2982
- },
2983
- emits: ["select"],
2984
- setup(__props, { emit: __emit }) {
2985
- const props = __props;
2986
- const emits = __emit;
2987
- const shouldDisplay = ref("all");
2988
- const groupCollections = ref([]);
2989
- const collectionFilter = ref("");
2990
- const page = ref(1);
2991
- const searchQuery = ref("");
2992
- const searchResultIcons = ref([]);
2993
- const collectionData = ref();
2994
- const collectionQuery = ref("");
2995
- const collectionSuffix = ref("");
2996
- const reset = () => {
2997
- page.value = 1;
2998
- searchQuery.value = "";
2999
- searchResultIcons.value = [];
3000
- collectionData.value = void 0;
3001
- collectionQuery.value = "";
3002
- collectionSuffix.value = "";
3003
- shouldDisplay.value = "all";
3004
- };
3005
- const onSelectIcon = (icon) => {
3006
- emits("select", icon);
3007
- };
3008
- const onSearch = async () => {
3009
- if (searchQuery.value) {
3010
- shouldDisplay.value = "search";
3011
- searchResultIcons.value = await searchIcons(searchQuery.value);
3012
- } else {
3013
- shouldDisplay.value = "all";
3014
- }
3015
- };
3016
- const onSelectPrefix = async (prefix) => {
3017
- collectionData.value = void 0;
3018
- collectionQuery.value = "";
3019
- collectionSuffix.value = "";
3020
- shouldDisplay.value = "collection";
3021
- collectionData.value = await fetchCollectionIcons(prefix);
3022
- };
3023
- const collectionCount = computed(() => {
3024
- let count = 0;
3025
- groupCollections.value.forEach((item) => {
3026
- count += item.items.length;
3027
- });
3028
- return count;
3029
- });
3030
- const visibleCollections = computed(() => {
3031
- if (!collectionFilter.value) {
3032
- return groupCollections.value;
3033
- }
3034
- return groupCollections.value.map((collection) => {
3035
- const items = collection.items.filter((item) => {
3036
- const key = [item.category, item.name, item.prefix].join(" ");
3037
- return key.toLowerCase().indexOf(collectionFilter.value) !== -1;
3038
- });
3039
- return { ...collection, items };
3040
- }).filter((collection) => collection.items.length !== 0);
3041
- });
3042
- const collectionIcons = computed(() => {
3043
- let rv = [];
3044
- if (!collectionData.value) {
3045
- return rv;
3046
- }
3047
- if (collectionData.value.uncategorized) {
3048
- rv = filterIcons(collectionData.value.uncategorized, collectionQuery.value, collectionSuffix.value);
3049
- } else if (collectionData.value.categories) {
3050
- Object.keys(collectionData.value.categories).forEach((category) => {
3051
- const icons = collectionData.value.categories[category];
3052
- filterIcons(icons, collectionQuery.value, collectionSuffix.value).forEach((k) => {
3053
- rv.push(k);
3054
- });
3055
- });
3056
- }
3057
- if (collectionQuery.value && !rv.length && collectionData.value.hidden) {
3058
- rv = filterIcons(collectionData.value.hidden, collectionQuery.value, collectionSuffix.value);
3059
- }
3060
- return rv.map((name) => {
3061
- var _a;
3062
- return `${(_a = collectionData.value) == null ? void 0 : _a.prefix}:${name}`;
3063
- });
3064
- });
3065
- const allIcons = computed(() => {
3066
- if (shouldDisplay.value === "search") {
3067
- return searchResultIcons.value;
3068
- } else if (shouldDisplay.value === "collection") {
3069
- return collectionIcons.value;
3070
- } else {
3071
- return [];
3072
- }
3073
- });
3074
- const visibleIcons = computed(() => {
3075
- const start = (page.value - 1) * props.perpage;
3076
- const end = page.value * props.perpage;
3077
- return allIcons.value.slice(start, end);
3078
- });
3079
- onMounted(async () => {
3080
- if (props.prefix) {
3081
- onSelectPrefix(props.prefix);
3082
- } else if (props.search) {
3083
- searchQuery.value = props.search;
3084
- onSearch();
3085
- }
3086
- groupCollections.value = await fetchCollections();
3087
- });
3088
- return (_ctx, _cache) => {
3089
- var _a;
3090
- return openBlock(), createElementBlock("div", _hoisted_1, [
3091
- withDirectives(createElementVNode("div", _hoisted_2, [
3092
- createElementVNode("section", _hoisted_3, [
3093
- createElementVNode("h1", null, toDisplayString(collectionCount.value) + " icon sets", 1),
3094
- createElementVNode("div", _hoisted_4, [
3095
- createVNode(_sfc_main$C, {
3096
- modelValue: collectionFilter.value,
3097
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => collectionFilter.value = $event),
3098
- placeholder: "Filter icon sets..."
3099
- }, null, 8, ["modelValue"]),
3100
- createVNode(_sfc_main$C, {
3101
- modelValue: searchQuery.value,
3102
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchQuery.value = $event),
3103
- placeholder: "Search icons...",
3104
- onKeydown: withKeys(onSearch, ["enter"])
3105
- }, null, 8, ["modelValue"])
3106
- ])
3107
- ]),
3108
- (openBlock(true), createElementBlock(Fragment, null, renderList(visibleCollections.value, (collection) => {
3109
- return openBlock(), createElementBlock("section", {
3110
- key: collection.category,
3111
- class: "ui-IconifyCollectionSample"
3112
- }, [
3113
- createElementVNode("h1", _hoisted_5, [
3114
- createElementVNode("span", _hoisted_6, toDisplayString(collection.category), 1),
3115
- createElementVNode("span", _hoisted_7, "(" + toDisplayString(collection.items.length) + " icon sets)", 1)
3116
- ]),
3117
- createElementVNode("div", _hoisted_8, [
3118
- (openBlock(true), createElementBlock(Fragment, null, renderList(collection.items, (item) => {
3119
- return openBlock(), createBlock(_sfc_main$1, mergeProps({
3120
- key: item.prefix
3121
- }, { ref_for: true }, item, {
3122
- onClick: withModifiers(($event) => onSelectPrefix(item.prefix), ["prevent"])
3123
- }), null, 16, ["onClick"]);
3124
- }), 128))
3125
- ])
3126
- ]);
3127
- }), 128))
3128
- ], 512), [
3129
- [vShow, shouldDisplay.value === "all"]
3130
- ]),
3131
- shouldDisplay.value !== "all" ? (openBlock(), createElementBlock("div", _hoisted_9, [
3132
- createElementVNode("div", _hoisted_10, [
3133
- createVNode(_sfc_main$U, {
3134
- type: "button",
3135
- variant: "surface",
3136
- color: "gray",
3137
- onClick: withModifiers(reset, ["prevent"])
3138
- }, {
3139
- default: withCtx(() => _cache[5] || (_cache[5] = [
3140
- createTextVNode(" Back ")
3141
- ])),
3142
- _: 1,
3143
- __: [5]
3144
- }),
3145
- shouldDisplay.value === "search" ? (openBlock(), createBlock(_sfc_main$C, {
3146
- key: 0,
3147
- modelValue: searchQuery.value,
3148
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => searchQuery.value = $event),
3149
- placeholder: "Search icons...",
3150
- onKeydown: withKeys(onSearch, ["enter"])
3151
- }, null, 8, ["modelValue"])) : createCommentVNode("", true),
3152
- shouldDisplay.value === "collection" ? (openBlock(), createBlock(_sfc_main$C, {
3153
- key: 1,
3154
- modelValue: collectionQuery.value,
3155
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => collectionQuery.value = $event),
3156
- placeholder: "Search icons..."
3157
- }, null, 8, ["modelValue"])) : createCommentVNode("", true)
3158
- ]),
3159
- shouldDisplay.value === "collection" && ((_a = collectionData.value) == null ? void 0 : _a.suffixes) ? (openBlock(), createElementBlock("div", _hoisted_11, [
3160
- (openBlock(true), createElementBlock(Fragment, null, renderList(collectionData.value.suffixes, (k, v) => {
3161
- return openBlock(), createBlock(_sfc_main$U, {
3162
- key: v,
3163
- variant: collectionSuffix.value === v ? "solid" : "outline",
3164
- color: "gray",
3165
- "high-contrast": "",
3166
- radius: "full",
3167
- onClick: withModifiers(($event) => collectionSuffix.value = v, ["prevent"])
3168
- }, {
3169
- default: withCtx(() => [
3170
- createTextVNode(toDisplayString(k), 1)
3171
- ]),
3172
- _: 2
3173
- }, 1032, ["variant", "onClick"]);
3174
- }), 128))
3175
- ])) : createCommentVNode("", true),
3176
- createElementVNode("div", _hoisted_12, [
3177
- (openBlock(true), createElementBlock(Fragment, null, renderList(visibleIcons.value, (icon) => {
3178
- return openBlock(), createBlock(_sfc_main$7, {
3179
- key: icon,
3180
- as: "div",
3181
- content: icon
3182
- }, {
3183
- default: withCtx(() => [
3184
- createVNode(_sfc_main$T, {
3185
- type: "button",
3186
- color: "gray",
3187
- variant: "ghost",
3188
- size: "4",
3189
- onClick: withModifiers(($event) => onSelectIcon(icon), ["prevent"])
3190
- }, {
3191
- default: withCtx(() => [
3192
- createVNode(unref(Icon), { icon }, null, 8, ["icon"])
3193
- ]),
3194
- _: 2
3195
- }, 1032, ["onClick"])
3196
- ]),
3197
- _: 2
3198
- }, 1032, ["content"]);
3199
- }), 128))
3200
- ]),
3201
- createVNode(_sfc_main$a, {
3202
- page: page.value,
3203
- "onUpdate:page": _cache[4] || (_cache[4] = ($event) => page.value = $event),
3204
- total: allIcons.value.length,
3205
- perpage: _ctx.perpage
3206
- }, null, 8, ["page", "total", "perpage"])
3207
- ])) : createCommentVNode("", true)
3208
- ]);
2851
+ ], 10, _hoisted_1);
3209
2852
  };
3210
2853
  }
3211
2854
  });
3212
2855
  export {
3213
- _sfc_main$f as AccordionContent,
3214
- _sfc_main$g as AccordionItem,
3215
- _sfc_main$h as AccordionRoot,
3216
- _sfc_main$c as AccordionTrigger,
2856
+ _sfc_main$c as AccordionContent,
2857
+ _sfc_main$d as AccordionItem,
2858
+ _sfc_main$e as AccordionRoot,
2859
+ _sfc_main$9 as AccordionTrigger,
3217
2860
  AlertDialogAction,
3218
2861
  AlertDialogCancel,
3219
- _sfc_main$Q as AlertDialogContent,
2862
+ _sfc_main$O as AlertDialogContent,
3220
2863
  AlertDialogDescription,
3221
2864
  AlertDialogRoot,
3222
2865
  AlertDialogTitle,
3223
2866
  AlertDialogTrigger,
3224
- _sfc_main$Z as Avatar,
3225
- _sfc_main$Y as Badge,
3226
- _sfc_main$U as Button,
3227
- _sfc_main$W as Card,
3228
- _sfc_main$V as CardHead,
3229
- _sfc_main$J as Checkbox,
3230
- _sfc_main$G as CheckboxGroupControl,
3231
- _sfc_main$H as CheckboxGroupItem,
3232
- _sfc_main$I as CheckboxGroupRoot,
3233
- _sfc_main$d as ChevronIcon,
3234
- _sfc_main$b as CollapsibleContent,
2867
+ _sfc_main$X as Avatar,
2868
+ _sfc_main$W as Badge,
2869
+ _sfc_main$S as Button,
2870
+ _sfc_main$U as Card,
2871
+ _sfc_main$T as CardHead,
2872
+ _sfc_main$H as Checkbox,
2873
+ _sfc_main$E as CheckboxGroupControl,
2874
+ _sfc_main$F as CheckboxGroupItem,
2875
+ _sfc_main$G as CheckboxGroupRoot,
2876
+ _sfc_main$a as ChevronIcon,
2877
+ _sfc_main$8 as CollapsibleContent,
3235
2878
  CollapsibleRoot,
3236
2879
  CollapsibleTrigger,
3237
- _sfc_main$A as ColorField,
3238
- _sfc_main$r as ComboboxContent,
2880
+ _sfc_main$y as ColorField,
2881
+ _sfc_main$p as ComboboxContent,
3239
2882
  ComboboxEmpty,
3240
2883
  ComboboxGroup,
3241
- _sfc_main$s as ComboboxInput,
3242
- _sfc_main$q as ComboboxItem,
3243
- _sfc_main$p as ComboboxLabel,
3244
- _sfc_main$t as ComboboxRoot,
2884
+ _sfc_main$q as ComboboxInput,
2885
+ _sfc_main$o as ComboboxItem,
2886
+ _sfc_main$n as ComboboxLabel,
2887
+ _sfc_main$r as ComboboxRoot,
3245
2888
  DialogClose2 as DialogClose,
3246
- _sfc_main$P as DialogContent,
2889
+ _sfc_main$N as DialogContent,
3247
2890
  DialogDescription,
3248
- _sfc_main$O as DialogHead,
2891
+ _sfc_main$M as DialogHead,
3249
2892
  DialogRoot,
3250
2893
  DialogTitle2 as DialogTitle,
3251
2894
  DialogTrigger,
3252
- _sfc_main$N as DropdownMenuContent,
3253
- _sfc_main$M as DropdownMenuItem,
2895
+ _sfc_main$L as DropdownMenuContent,
2896
+ _sfc_main$K as DropdownMenuItem,
3254
2897
  DropdownMenuRoot,
3255
2898
  DropdownMenuTrigger,
2899
+ _sfc_main$f as Editable,
3256
2900
  Icon2 as Icon,
3257
- _sfc_main$T as IconButton,
3258
- _sfc_main$3 as IconCircle,
3259
- _sfc_main as IconifyCollection,
3260
- _sfc_main$X as Inset,
3261
- _sfc_main$a as Pagination,
3262
- _sfc_main$e as PlusMinusIcon,
2901
+ _sfc_main$R as IconButton,
2902
+ _sfc_main as IconCircle,
2903
+ _sfc_main$V as Inset,
2904
+ _sfc_main$7 as Pagination,
2905
+ _sfc_main$b as PlusMinusIcon,
3263
2906
  PopoverClose,
3264
- _sfc_main$L as PopoverContent,
2907
+ _sfc_main$J as PopoverContent,
3265
2908
  PopoverRoot,
3266
2909
  PopoverTrigger,
3267
- _sfc_main$6 as Quota,
3268
- _sfc_main$o as Radio,
3269
- _sfc_main$l as RadioCardsItem,
3270
- _sfc_main$n as RadioCardsRoot,
3271
- _sfc_main$m as RadioGroupItem,
3272
- _sfc_main$n as RadioGroupRoot,
2910
+ _sfc_main$3 as Quota,
2911
+ _sfc_main$m as Radio,
2912
+ _sfc_main$j as RadioCardsItem,
2913
+ _sfc_main$l as RadioCardsRoot,
2914
+ _sfc_main$k as RadioGroupItem,
2915
+ _sfc_main$l as RadioGroupRoot,
3273
2916
  RadioGroupItem2 as RadioTabsItem,
3274
- _sfc_main$k as RadioTabsList,
3275
- _sfc_main$4 as SavingIndicator,
3276
- _sfc_main$R as ScrollArea,
3277
- _sfc_main$y as SelectContent,
2917
+ _sfc_main$i as RadioTabsList,
2918
+ _sfc_main$1 as SavingIndicator,
2919
+ _sfc_main$P as ScrollArea,
2920
+ _sfc_main$w as SelectContent,
3278
2921
  SelectGroup,
3279
- _sfc_main$w as SelectItem,
3280
- _sfc_main$v as SelectLabel,
3281
- _sfc_main$z as SelectRoot,
2922
+ _sfc_main$u as SelectItem,
2923
+ _sfc_main$t as SelectLabel,
2924
+ _sfc_main$x as SelectRoot,
3282
2925
  SelectSeparator,
3283
- _sfc_main$x as SelectTrigger,
3284
- _sfc_main$8 as Separator,
3285
- _sfc_main$S as SocialButton,
3286
- _sfc_main$5 as Spinner,
3287
- _sfc_main$K as Switch,
3288
- _sfc_main$9 as Table,
2926
+ _sfc_main$v as SelectTrigger,
2927
+ _sfc_main$5 as Separator,
2928
+ _sfc_main$Q as SocialButton,
2929
+ _sfc_main$2 as Spinner,
2930
+ _sfc_main$I as Switch,
2931
+ _sfc_main$6 as Table,
3289
2932
  TabsContent,
3290
- _sfc_main$j as TabsList,
2933
+ _sfc_main$h as TabsList,
3291
2934
  TabsRoot,
3292
- _sfc_main$i as TabsTrigger,
3293
- _sfc_main$B as TextArea,
3294
- _sfc_main$C as TextField,
3295
- _sfc_main$F as Toggle,
3296
- _sfc_main$D as ToggleGroupItem,
3297
- _sfc_main$E as ToggleGroupRoot,
3298
- _sfc_main$7 as Tooltip,
3299
- _sfc_main$2 as Turnstile
2935
+ _sfc_main$g as TabsTrigger,
2936
+ _sfc_main$z as TextArea,
2937
+ _sfc_main$A as TextField,
2938
+ _sfc_main$D as Toggle,
2939
+ _sfc_main$B as ToggleGroupItem,
2940
+ _sfc_main$C as ToggleGroupRoot,
2941
+ _sfc_main$4 as Tooltip
3300
2942
  };