@auronui/vue 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/cjs/index.cjs +1198 -229
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/components/autocomplete/Autocomplete.context.js.map +1 -1
  4. package/dist/components/autocomplete/Autocomplete.js.map +1 -1
  5. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +31 -3
  6. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  7. package/dist/components/autocomplete/AutocompleteContent.js.map +1 -1
  8. package/dist/components/autocomplete/AutocompleteContent.vue_vue_type_script_setup_true_lang.js +49 -5
  9. package/dist/components/autocomplete/AutocompleteContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/components/autocomplete/AutocompleteInput.js.map +1 -1
  11. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js +2 -1
  12. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  13. package/dist/components/autocomplete/AutocompleteItem.js.map +1 -1
  14. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js +29 -5
  15. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  16. package/dist/components/combo-box/ComboBox.context.js.map +1 -1
  17. package/dist/components/combo-box/ComboBox.js.map +1 -1
  18. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js +46 -11
  19. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  20. package/dist/components/combo-box/ComboBoxContent.js.map +1 -1
  21. package/dist/components/combo-box/ComboBoxContent.vue_vue_type_script_setup_true_lang.js +35 -1
  22. package/dist/components/combo-box/ComboBoxContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  23. package/dist/components/combo-box/ComboBoxItem.js.map +1 -1
  24. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js +27 -5
  25. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/components/date-picker/DatePicker.js.map +1 -1
  27. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js +6 -1
  28. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  29. package/dist/components/date-time-picker/DateTimePicker.js +7 -0
  30. package/dist/components/date-time-picker/DateTimePicker.js.map +1 -0
  31. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +398 -0
  32. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  33. package/dist/components/date-time-picker/DateTimePickerTimeScroller.js +7 -0
  34. package/dist/components/date-time-picker/DateTimePickerTimeScroller.js.map +1 -0
  35. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js +157 -0
  36. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js.map +1 -0
  37. package/dist/components/form/Form.js +7 -0
  38. package/dist/components/form/Form.js.map +1 -0
  39. package/dist/components/form/Form.vue_vue_type_script_setup_true_lang.js +97 -0
  40. package/dist/components/form/Form.vue_vue_type_script_setup_true_lang.js.map +1 -0
  41. package/dist/components/form/FormField.js +7 -0
  42. package/dist/components/form/FormField.js.map +1 -0
  43. package/dist/components/form/FormField.vue_vue_type_script_setup_true_lang.js +75 -0
  44. package/dist/components/form/FormField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  45. package/dist/components/form/form.context.js +15 -0
  46. package/dist/components/form/form.context.js.map +1 -0
  47. package/dist/components/form/validation.js +71 -0
  48. package/dist/components/form/validation.js.map +1 -0
  49. package/dist/components/select/SelectContent.js.map +1 -1
  50. package/dist/components/select/SelectContent.vue_vue_type_script_setup_true_lang.js +7 -14
  51. package/dist/components/select/SelectContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  52. package/dist/components/select/SelectItem.js.map +1 -1
  53. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js +3 -1
  54. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/components/select/SelectValue.js.map +1 -1
  56. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js +1 -1
  57. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js.map +1 -1
  58. package/dist/index.js +4 -1
  59. package/package.json +2 -2
@@ -373,15 +373,15 @@ function createContext(contextName) {
373
373
  }
374
374
  //#endregion
375
375
  //#region src/components/spinner/Spinner.vue?vue&type=script&setup=true&lang.ts
376
- var _hoisted_1$55 = ["aria-label"];
377
- var _hoisted_2$30 = {
376
+ var _hoisted_1$58 = ["aria-label"];
377
+ var _hoisted_2$32 = {
378
378
  "data-slot": "spinner-icon",
379
379
  viewBox: "0 0 24 24",
380
380
  "aria-hidden": "true",
381
381
  width: "100%",
382
382
  height: "100%"
383
383
  };
384
- var _hoisted_3$20 = { fill: "none" };
384
+ var _hoisted_3$21 = { fill: "none" };
385
385
  var _hoisted_4$14 = ["fill"];
386
386
  var _hoisted_5$10 = ["fill"];
387
387
  //#endregion
@@ -408,7 +408,7 @@ var Spinner_default = /* @__PURE__ */ (0, vue.defineComponent)({
408
408
  class: (0, vue.normalizeClass)(classes.value),
409
409
  role: "status",
410
410
  "aria-label": __props.label
411
- }, [((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$30, [(0, vue.createElementVNode)("defs", null, [(0, vue.createElementVNode)("linearGradient", {
411
+ }, [((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$32, [(0, vue.createElementVNode)("defs", null, [(0, vue.createElementVNode)("linearGradient", {
412
412
  id: gradId1,
413
413
  x1: "50%",
414
414
  x2: "50%",
@@ -435,7 +435,7 @@ var Spinner_default = /* @__PURE__ */ (0, vue.defineComponent)({
435
435
  offset: "100%",
436
436
  "stop-color": "currentColor",
437
437
  "stop-opacity": "0.55"
438
- }, null, -1)])])]), (0, vue.createElementVNode)("g", _hoisted_3$20, [
438
+ }, null, -1)])])]), (0, vue.createElementVNode)("g", _hoisted_3$21, [
439
439
  _cache[2] || (_cache[2] = (0, vue.createElementVNode)("path", { d: "m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z" }, null, -1)),
440
440
  (0, vue.createElementVNode)("path", {
441
441
  d: "M8.749.021a1.5 1.5 0 0 1 .497 2.958A7.5 7.5 0 0 0 3 10.375a7.5 7.5 0 0 0 7.5 7.5v3c-5.799 0-10.5-4.7-10.5-10.5C0 5.23 3.726.865 8.749.021",
@@ -447,13 +447,13 @@ var Spinner_default = /* @__PURE__ */ (0, vue.defineComponent)({
447
447
  fill: `url(#${gradId2})`,
448
448
  transform: "translate(1.5 1.625)"
449
449
  }, null, 8, _hoisted_5$10)
450
- ])]))], 10, _hoisted_1$55);
450
+ ])]))], 10, _hoisted_1$58);
451
451
  };
452
452
  }
453
453
  });
454
454
  //#endregion
455
455
  //#region src/components/separator/Separator.vue?vue&type=script&setup=true&lang.ts
456
- var _hoisted_1$54 = { class: "separator__content" };
456
+ var _hoisted_1$57 = { class: "separator__content" };
457
457
  //#endregion
458
458
  //#region src/components/separator/Separator.vue
459
459
  var Separator_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -487,7 +487,7 @@ var Separator_default = /* @__PURE__ */ (0, vue.defineComponent)({
487
487
  "aria-orientation": "horizontal"
488
488
  }, [
489
489
  _cache[0] || (_cache[0] = (0, vue.createElementVNode)("div", { class: "separator__line" }, null, -1)),
490
- (0, vue.createElementVNode)("div", _hoisted_1$54, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
490
+ (0, vue.createElementVNode)("div", _hoisted_1$57, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
491
491
  _cache[1] || (_cache[1] = (0, vue.createElementVNode)("div", { class: "separator__line" }, null, -1))
492
492
  ], 2));
493
493
  };
@@ -539,7 +539,7 @@ var Text_default = /* @__PURE__ */ (0, vue.defineComponent)({
539
539
  });
540
540
  //#endregion
541
541
  //#region src/components/label/Label.vue?vue&type=script&setup=true&lang.ts
542
- var _hoisted_1$53 = ["for"];
542
+ var _hoisted_1$56 = ["for"];
543
543
  //#endregion
544
544
  //#region src/components/label/Label.vue
545
545
  var Label_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -571,13 +571,13 @@ var Label_default = /* @__PURE__ */ (0, vue.defineComponent)({
571
571
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("label", {
572
572
  class: (0, vue.normalizeClass)(classes.value),
573
573
  for: props.for
574
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$53);
574
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$56);
575
575
  };
576
576
  }
577
577
  });
578
578
  //#endregion
579
579
  //#region src/components/description/Description.vue?vue&type=script&setup=true&lang.ts
580
- var _hoisted_1$52 = ["id"];
580
+ var _hoisted_1$55 = ["id"];
581
581
  //#endregion
582
582
  //#region src/components/description/Description.vue
583
583
  var Description_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -593,7 +593,7 @@ var Description_default = /* @__PURE__ */ (0, vue.defineComponent)({
593
593
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("p", {
594
594
  id: props.id,
595
595
  class: (0, vue.normalizeClass)(classes.value)
596
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$52);
596
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$55);
597
597
  };
598
598
  }
599
599
  });
@@ -661,7 +661,7 @@ var Badge_default = /* @__PURE__ */ (0, vue.defineComponent)({
661
661
  });
662
662
  //#endregion
663
663
  //#region src/components/chip/Chip.vue?vue&type=script&setup=true&lang.ts
664
- var _hoisted_1$51 = ["aria-label"];
664
+ var _hoisted_1$54 = ["aria-label"];
665
665
  //#endregion
666
666
  //#region src/components/chip/Chip.vue
667
667
  var Chip_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -734,7 +734,7 @@ var Chip_default = /* @__PURE__ */ (0, vue.defineComponent)({
734
734
  y1: "6",
735
735
  x2: "18",
736
736
  y2: "18"
737
- })], -1)])], 10, _hoisted_1$51)) : (0, vue.createCommentVNode)("", true)
737
+ })], -1)])], 10, _hoisted_1$54)) : (0, vue.createCommentVNode)("", true)
738
738
  ], 2);
739
739
  };
740
740
  }
@@ -767,7 +767,7 @@ var Surface_default = /* @__PURE__ */ (0, vue.defineComponent)({
767
767
  var { useProvide: useCardProvide, useInject: useCardInject, key: cardContextKey } = createContext("Card");
768
768
  //#endregion
769
769
  //#region src/components/card/Card.vue?vue&type=script&setup=true&lang.ts
770
- var _hoisted_1$50 = [
770
+ var _hoisted_1$53 = [
771
771
  "role",
772
772
  "tabindex",
773
773
  "aria-disabled",
@@ -843,7 +843,7 @@ var Card_default = /* @__PURE__ */ (0, vue.defineComponent)({
843
843
  "data-disabled": __props.isDisabled || void 0,
844
844
  onClick,
845
845
  onKeydown
846
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 42, _hoisted_1$50);
846
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 42, _hoisted_1$53);
847
847
  };
848
848
  }
849
849
  });
@@ -1068,7 +1068,7 @@ var Button_default = /* @__PURE__ */ (0, vue.defineComponent)({
1068
1068
  });
1069
1069
  //#endregion
1070
1070
  //#region src/components/button/ButtonGroup.vue?vue&type=script&setup=true&lang.ts
1071
- var _hoisted_1$49 = ["data-orientation"];
1071
+ var _hoisted_1$52 = ["data-orientation"];
1072
1072
  //#endregion
1073
1073
  //#region src/components/button/ButtonGroup.vue
1074
1074
  var ButtonGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -1133,7 +1133,7 @@ var ButtonGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
1133
1133
  class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)(slotFns.value.base(), props.class)),
1134
1134
  "data-orientation": props.orientation,
1135
1135
  role: "group"
1136
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$49);
1136
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$52);
1137
1137
  };
1138
1138
  }
1139
1139
  });
@@ -1205,7 +1205,7 @@ var CloseButton_default = /* @__PURE__ */ (0, vue.defineComponent)({
1205
1205
  var { useProvide: useToggleButtonGroupProvide, useInject: useToggleButtonGroupInject, key: toggleButtonGroupContextKey } = createContext("ToggleButtonGroup");
1206
1206
  //#endregion
1207
1207
  //#region src/components/button/ToggleButton.vue?vue&type=script&setup=true&lang.ts
1208
- var _hoisted_1$48 = ["disabled", "data-orientation"];
1208
+ var _hoisted_1$51 = ["disabled", "data-orientation"];
1209
1209
  //#endregion
1210
1210
  //#region src/components/button/ToggleButton.vue
1211
1211
  var ToggleButton_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -1276,7 +1276,7 @@ var ToggleButton_default = /* @__PURE__ */ (0, vue.defineComponent)({
1276
1276
  disabled: isDisabled.value || void 0,
1277
1277
  "data-orientation": (0, vue.unref)(groupCtx).orientation.value,
1278
1278
  type: "button"
1279
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$48)]),
1279
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$51)]),
1280
1280
  _: 3
1281
1281
  }, 8, [
1282
1282
  "disabled",
@@ -1288,7 +1288,7 @@ var ToggleButton_default = /* @__PURE__ */ (0, vue.defineComponent)({
1288
1288
  });
1289
1289
  //#endregion
1290
1290
  //#region src/components/button/ToggleButtonGroup.vue?vue&type=script&setup=true&lang.ts
1291
- var _hoisted_1$47 = ["data-orientation"];
1291
+ var _hoisted_1$50 = ["data-orientation"];
1292
1292
  //#endregion
1293
1293
  //#region src/components/button/ToggleButtonGroup.vue
1294
1294
  var ToggleButtonGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -1355,7 +1355,7 @@ var ToggleButtonGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
1355
1355
  class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)(slotFns.value.base(), props.class)),
1356
1356
  "data-orientation": props.orientation,
1357
1357
  role: "group"
1358
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$47);
1358
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$50);
1359
1359
  };
1360
1360
  }
1361
1361
  });
@@ -1442,8 +1442,246 @@ var Link_default = /* @__PURE__ */ (0, vue.defineComponent)({
1442
1442
  }
1443
1443
  });
1444
1444
  //#endregion
1445
+ //#region src/components/form/form.context.ts
1446
+ var { useProvide: useFormProvide, useInject: _useFormInjectStrict, key: formContextKey } = createContext("Form");
1447
+ /**
1448
+ * Inject Form context. Returns null when called outside a <Form> — callers
1449
+ * handle standalone mode themselves.
1450
+ */
1451
+ function useFormInject() {
1452
+ return (0, vue.inject)(formContextKey, null);
1453
+ }
1454
+ //#endregion
1455
+ //#region src/components/form/validation.ts
1456
+ var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
1457
+ function isEmpty(value) {
1458
+ if (value === void 0 || value === null || value === "" || value === false) return true;
1459
+ if (Array.isArray(value) && value.length === 0) return true;
1460
+ return false;
1461
+ }
1462
+ function resolveSimpleRule(rule) {
1463
+ if (typeof rule === "string") return {
1464
+ enabled: true,
1465
+ message: rule
1466
+ };
1467
+ return {
1468
+ enabled: rule,
1469
+ message: void 0
1470
+ };
1471
+ }
1472
+ function resolveNumericRule(rule) {
1473
+ if (typeof rule === "number") return {
1474
+ value: rule,
1475
+ message: void 0
1476
+ };
1477
+ return rule;
1478
+ }
1479
+ function resolvePatternRule(rule) {
1480
+ if (rule instanceof RegExp) return {
1481
+ value: rule,
1482
+ message: void 0
1483
+ };
1484
+ return rule;
1485
+ }
1486
+ async function runValidation(value, rules, validate) {
1487
+ if (!rules && !validate) return void 0;
1488
+ if (rules?.required !== void 0) {
1489
+ const { enabled, message } = resolveSimpleRule(rules.required);
1490
+ if (enabled && isEmpty(value)) return message ?? "This field is required";
1491
+ }
1492
+ if (isEmpty(value)) {
1493
+ if (validate) return await validate(value);
1494
+ return;
1495
+ }
1496
+ if (rules?.email !== void 0) {
1497
+ const { enabled, message } = resolveSimpleRule(rules.email);
1498
+ if (enabled && !EMAIL_REGEX.test(String(value))) return message ?? "Enter a valid email address";
1499
+ }
1500
+ if (rules?.pattern !== void 0) {
1501
+ const { value: regex, message } = resolvePatternRule(rules.pattern);
1502
+ if (!regex.test(String(value))) return message ?? "Invalid format";
1503
+ }
1504
+ if (rules?.minLength !== void 0) {
1505
+ const { value: min, message } = resolveNumericRule(rules.minLength);
1506
+ if ((Array.isArray(value) ? value.length : String(value).length) < min) return message ?? `Must be at least ${min} characters`;
1507
+ }
1508
+ if (rules?.maxLength !== void 0) {
1509
+ const { value: max, message } = resolveNumericRule(rules.maxLength);
1510
+ if ((Array.isArray(value) ? value.length : String(value).length) > max) return message ?? `Must be at most ${max} characters`;
1511
+ }
1512
+ if (rules?.min !== void 0) {
1513
+ const { value: minVal, message } = resolveNumericRule(rules.min);
1514
+ if (Number(value) < minVal) return message ?? `Must be at least ${minVal}`;
1515
+ }
1516
+ if (rules?.max !== void 0) {
1517
+ const { value: maxVal, message } = resolveNumericRule(rules.max);
1518
+ if (Number(value) > maxVal) return message ?? `Must be at most ${maxVal}`;
1519
+ }
1520
+ if (validate) return await validate(value);
1521
+ }
1522
+ //#endregion
1523
+ //#region src/components/form/Form.vue
1524
+ var Form_default = /* @__PURE__ */ (0, vue.defineComponent)({
1525
+ __name: "Form",
1526
+ props: {
1527
+ validationMode: { default: "on-submit" },
1528
+ isDisabled: {
1529
+ type: Boolean,
1530
+ default: false
1531
+ },
1532
+ class: { default: void 0 }
1533
+ },
1534
+ emits: ["submit", "invalid"],
1535
+ setup(__props, { emit: __emit }) {
1536
+ const props = __props;
1537
+ const emit = __emit;
1538
+ const errors = (0, vue.ref)({});
1539
+ const isSubmitting = (0, vue.ref)(false);
1540
+ const fields = /* @__PURE__ */ new Map();
1541
+ function registerField(reg) {
1542
+ fields.set(reg.name, reg);
1543
+ }
1544
+ function unregisterField(name) {
1545
+ fields.delete(name);
1546
+ const next = { ...errors.value };
1547
+ delete next[name];
1548
+ errors.value = next;
1549
+ }
1550
+ async function triggerFieldValidation(name) {
1551
+ const field = fields.get(name);
1552
+ if (!field) return;
1553
+ const error = await runValidation(field.getValue(), field.rules, field.validate);
1554
+ const next = { ...errors.value };
1555
+ if (error) next[name] = error;
1556
+ else delete next[name];
1557
+ errors.value = next;
1558
+ }
1559
+ function setErrors(newErrors) {
1560
+ errors.value = {
1561
+ ...errors.value,
1562
+ ...newErrors
1563
+ };
1564
+ isSubmitting.value = false;
1565
+ }
1566
+ async function handleSubmit() {
1567
+ isSubmitting.value = true;
1568
+ const results = await Promise.all([...fields.entries()].map(async ([name, field]) => {
1569
+ return {
1570
+ name,
1571
+ error: await runValidation(field.getValue(), field.rules, field.validate)
1572
+ };
1573
+ }));
1574
+ const nextErrors = {};
1575
+ for (const { name, error } of results) if (error) nextErrors[name] = error;
1576
+ if (Object.keys(nextErrors).length > 0) {
1577
+ errors.value = nextErrors;
1578
+ isSubmitting.value = false;
1579
+ emit("invalid", nextErrors);
1580
+ return;
1581
+ }
1582
+ errors.value = {};
1583
+ const values = {};
1584
+ for (const [name, field] of fields.entries()) values[name] = field.getValue();
1585
+ emit("submit", {
1586
+ values,
1587
+ setErrors
1588
+ });
1589
+ }
1590
+ (0, vue.provide)(formContextKey, {
1591
+ errors,
1592
+ isSubmitting,
1593
+ isDisabled: (0, vue.computed)(() => props.isDisabled),
1594
+ validationMode: (0, vue.computed)(() => props.validationMode),
1595
+ registerField,
1596
+ unregisterField,
1597
+ triggerFieldValidation,
1598
+ setErrors
1599
+ });
1600
+ return (_ctx, _cache) => {
1601
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("form", {
1602
+ class: (0, vue.normalizeClass)(props.class),
1603
+ novalidate: "",
1604
+ onSubmit: (0, vue.withModifiers)(handleSubmit, ["prevent"])
1605
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default", {
1606
+ isSubmitting: isSubmitting.value,
1607
+ isDisabled: props.isDisabled,
1608
+ errors: errors.value
1609
+ })], 34);
1610
+ };
1611
+ }
1612
+ });
1613
+ //#endregion
1614
+ //#region src/components/form/FormField.vue
1615
+ var FormField_default = /* @__PURE__ */ (0, vue.defineComponent)({
1616
+ inheritAttrs: false,
1617
+ __name: "FormField",
1618
+ props: /* @__PURE__ */ (0, vue.mergeModels)({
1619
+ name: {},
1620
+ rules: {},
1621
+ validate: { type: Function },
1622
+ validationMode: {}
1623
+ }, {
1624
+ "modelValue": { default: void 0 },
1625
+ "modelModifiers": {}
1626
+ }),
1627
+ emits: ["update:modelValue"],
1628
+ setup(__props) {
1629
+ const props = __props;
1630
+ const modelValue = (0, vue.useModel)(__props, "modelValue");
1631
+ const ctx = useFormInject();
1632
+ const localError = (0, vue.ref)(void 0);
1633
+ const fieldError = (0, vue.computed)(() => ctx ? ctx.errors.value[props.name] : localError.value);
1634
+ const hasBeenInvalid = (0, vue.ref)(false);
1635
+ (0, vue.watch)(fieldError, (error) => {
1636
+ if (error) hasBeenInvalid.value = true;
1637
+ });
1638
+ const isInvalid = (0, vue.computed)(() => !!fieldError.value);
1639
+ const isDisabled = (0, vue.computed)(() => ctx?.isDisabled.value ?? false);
1640
+ const validationMode = (0, vue.computed)(() => props.validationMode ?? ctx?.validationMode.value ?? "on-submit");
1641
+ (0, vue.onMounted)(() => {
1642
+ ctx?.registerField({
1643
+ name: props.name,
1644
+ getValue: () => modelValue.value,
1645
+ rules: props.rules,
1646
+ validate: props.validate
1647
+ });
1648
+ });
1649
+ (0, vue.onUnmounted)(() => {
1650
+ ctx?.unregisterField(props.name);
1651
+ });
1652
+ async function triggerValidation(val) {
1653
+ const error = await runValidation(val, props.rules, props.validate);
1654
+ if (ctx) {
1655
+ const next = { ...ctx.errors.value };
1656
+ if (error) next[props.name] = error;
1657
+ else delete next[props.name];
1658
+ ctx.errors.value = next;
1659
+ } else localError.value = error;
1660
+ }
1661
+ async function handleUpdate(val) {
1662
+ modelValue.value = val;
1663
+ if (validationMode.value === "on-change" || hasBeenInvalid.value) await triggerValidation(val);
1664
+ }
1665
+ async function handleBlur() {
1666
+ if (validationMode.value === "on-blur") await triggerValidation(modelValue.value);
1667
+ }
1668
+ const fieldProps = (0, vue.computed)(() => ({
1669
+ name: props.name,
1670
+ modelValue: modelValue.value,
1671
+ "onUpdate:modelValue": handleUpdate,
1672
+ isInvalid: isInvalid.value,
1673
+ errorMessage: fieldError.value,
1674
+ isDisabled: isDisabled.value,
1675
+ onBlur: handleBlur
1676
+ }));
1677
+ return (_ctx, _cache) => {
1678
+ return (0, vue.renderSlot)(_ctx.$slots, "default", { fieldProps: fieldProps.value });
1679
+ };
1680
+ }
1681
+ });
1682
+ //#endregion
1445
1683
  //#region src/components/input/Input.vue?vue&type=script&setup=true&lang.ts
1446
- var _hoisted_1$46 = [
1684
+ var _hoisted_1$49 = [
1447
1685
  "data-invalid",
1448
1686
  "data-disabled",
1449
1687
  "data-readonly",
@@ -1451,8 +1689,8 @@ var _hoisted_1$46 = [
1451
1689
  "data-has-label",
1452
1690
  "data-has-helper"
1453
1691
  ];
1454
- var _hoisted_2$29 = ["for"];
1455
- var _hoisted_3$19 = {
1692
+ var _hoisted_2$31 = ["for"];
1693
+ var _hoisted_3$20 = {
1456
1694
  key: 0,
1457
1695
  "aria-hidden": "true"
1458
1696
  };
@@ -1613,7 +1851,7 @@ var Input_default = /* @__PURE__ */ (0, vue.defineComponent)({
1613
1851
  key: 0,
1614
1852
  for: inputId.value,
1615
1853
  class: (0, vue.normalizeClass)(slotFns.value.label())
1616
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$19, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$29)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createElementVNode)("div", {
1854
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$20, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$31)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createElementVNode)("div", {
1617
1855
  class: (0, vue.normalizeClass)(slotFns.value.inputWrapper()),
1618
1856
  "data-filled": hasLabel.value ? isFilled.value || void 0 : void 0
1619
1857
  }, [
@@ -1708,13 +1946,13 @@ var Input_default = /* @__PURE__ */ (0, vue.defineComponent)({
1708
1946
  key: 1,
1709
1947
  id: descriptionId.value,
1710
1948
  class: (0, vue.normalizeClass)(slotFns.value.description())
1711
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_12)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$46);
1949
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_12)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$49);
1712
1950
  };
1713
1951
  }
1714
1952
  });
1715
1953
  //#endregion
1716
1954
  //#region src/components/textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
1717
- var _hoisted_1$45 = [
1955
+ var _hoisted_1$48 = [
1718
1956
  "data-invalid",
1719
1957
  "data-disabled",
1720
1958
  "data-readonly",
@@ -1722,8 +1960,8 @@ var _hoisted_1$45 = [
1722
1960
  "data-has-label",
1723
1961
  "data-has-helper"
1724
1962
  ];
1725
- var _hoisted_2$28 = ["for"];
1726
- var _hoisted_3$18 = {
1963
+ var _hoisted_2$30 = ["for"];
1964
+ var _hoisted_3$19 = {
1727
1965
  key: 0,
1728
1966
  "aria-hidden": "true"
1729
1967
  };
@@ -1853,7 +2091,7 @@ var Textarea_default = /* @__PURE__ */ (0, vue.defineComponent)({
1853
2091
  key: 0,
1854
2092
  for: inputId.value,
1855
2093
  class: (0, vue.normalizeClass)(slotFns.value.label())
1856
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$18, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$28)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createElementVNode)("div", {
2094
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$19, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$30)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createElementVNode)("div", {
1857
2095
  class: (0, vue.normalizeClass)(slotFns.value.inputWrapper()),
1858
2096
  "data-filled": hasLabel.value ? isFilled.value || void 0 : void 0
1859
2097
  }, [
@@ -1931,13 +2169,13 @@ var Textarea_default = /* @__PURE__ */ (0, vue.defineComponent)({
1931
2169
  key: 1,
1932
2170
  id: descriptionId.value,
1933
2171
  class: (0, vue.normalizeClass)(slotFns.value.description())
1934
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_9)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$45);
2172
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_9)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$48);
1935
2173
  };
1936
2174
  }
1937
2175
  });
1938
2176
  //#endregion
1939
2177
  //#region src/components/number-field/NumberField.vue?vue&type=script&setup=true&lang.ts
1940
- var _hoisted_1$44 = ["for"];
2178
+ var _hoisted_1$47 = ["for"];
1941
2179
  //#endregion
1942
2180
  //#region src/components/number-field/NumberField.vue
1943
2181
  var NumberField_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -2017,7 +2255,7 @@ var NumberField_default = /* @__PURE__ */ (0, vue.defineComponent)({
2017
2255
  for: resolvedInputId.value,
2018
2256
  class: (0, vue.normalizeClass)(isLabelVisible.value ? void 0 : "sr-only"),
2019
2257
  "data-slot": "label"
2020
- }, (0, vue.toDisplayString)(props.label || props.ariaLabel), 11, _hoisted_1$44)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", {
2258
+ }, (0, vue.toDisplayString)(props.label || props.ariaLabel), 11, _hoisted_1$47)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", {
2021
2259
  class: (0, vue.normalizeClass)(slotFns.value.group()),
2022
2260
  "data-slot": "group"
2023
2261
  }, [
@@ -2080,7 +2318,7 @@ var NumberField_default = /* @__PURE__ */ (0, vue.defineComponent)({
2080
2318
  });
2081
2319
  //#endregion
2082
2320
  //#region src/components/fieldset/Fieldset.vue?vue&type=script&setup=true&lang.ts
2083
- var _hoisted_1$43 = ["disabled"];
2321
+ var _hoisted_1$46 = ["disabled"];
2084
2322
  //#endregion
2085
2323
  //#region src/components/fieldset/Fieldset.vue
2086
2324
  var Fieldset_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -2108,7 +2346,7 @@ var Fieldset_default = /* @__PURE__ */ (0, vue.defineComponent)({
2108
2346
  }, [props.legend ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("legend", {
2109
2347
  key: 0,
2110
2348
  class: (0, vue.normalizeClass)((0, vue.unref)(styles).legend())
2111
- }, (0, vue.toDisplayString)(props.legend), 3)) : (0, vue.createCommentVNode)("", true), (0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$43);
2349
+ }, (0, vue.toDisplayString)(props.legend), 3)) : (0, vue.createCommentVNode)("", true), (0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$46);
2112
2350
  };
2113
2351
  }
2114
2352
  });
@@ -2117,7 +2355,7 @@ var Fieldset_default = /* @__PURE__ */ (0, vue.defineComponent)({
2117
2355
  var { useProvide: useCheckboxGroupProvide, useInject: useCheckboxGroupInject, key: checkboxGroupContextKey } = createContext("CheckboxGroup");
2118
2356
  //#endregion
2119
2357
  //#region src/components/checkbox/Checkbox.vue?vue&type=script&setup=true&lang.ts
2120
- var _hoisted_1$42 = {
2358
+ var _hoisted_1$45 = {
2121
2359
  key: 0,
2122
2360
  xmlns: "http://www.w3.org/2000/svg",
2123
2361
  width: "12",
@@ -2129,7 +2367,7 @@ var _hoisted_1$42 = {
2129
2367
  "stroke-linecap": "round",
2130
2368
  "aria-hidden": "true"
2131
2369
  };
2132
- var _hoisted_2$27 = {
2370
+ var _hoisted_2$29 = {
2133
2371
  key: 1,
2134
2372
  xmlns: "http://www.w3.org/2000/svg",
2135
2373
  width: "12",
@@ -2204,12 +2442,12 @@ var Checkbox_default = /* @__PURE__ */ (0, vue.defineComponent)({
2204
2442
  "onUpdate:modelValue": handleUpdate
2205
2443
  }), {
2206
2444
  default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(slotFns.value.control()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.CheckboxIndicator), { class: (0, vue.normalizeClass)(slotFns.value.indicator()) }, {
2207
- default: (0, vue.withCtx)(() => [props.isIndeterminate ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$42, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("line", {
2445
+ default: (0, vue.withCtx)(() => [props.isIndeterminate ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$45, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("line", {
2208
2446
  x1: "5",
2209
2447
  y1: "12",
2210
2448
  x2: "19",
2211
2449
  y2: "12"
2212
- }, null, -1)])])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$27, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("polyline", { points: "20 6 9 17 4 12" }, null, -1)])]))]),
2450
+ }, null, -1)])])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$29, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("polyline", { points: "20 6 9 17 4 12" }, null, -1)])]))]),
2213
2451
  _: 1
2214
2452
  }, 8, ["class"])], 2), (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(slotFns.value.content()) }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 2)]),
2215
2453
  _: 3
@@ -2225,9 +2463,9 @@ var Checkbox_default = /* @__PURE__ */ (0, vue.defineComponent)({
2225
2463
  });
2226
2464
  //#endregion
2227
2465
  //#region src/components/checkbox/CheckboxGroup.vue?vue&type=script&setup=true&lang.ts
2228
- var _hoisted_1$41 = ["aria-labelledby", "data-orientation"];
2229
- var _hoisted_2$26 = { class: "checkbox-group__wrapper" };
2230
- var _hoisted_3$17 = {
2466
+ var _hoisted_1$44 = ["aria-labelledby", "data-orientation"];
2467
+ var _hoisted_2$28 = { class: "checkbox-group__wrapper" };
2468
+ var _hoisted_3$18 = {
2231
2469
  key: 1,
2232
2470
  class: "checkbox-group__description"
2233
2471
  };
@@ -2281,9 +2519,9 @@ var CheckboxGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
2281
2519
  id: labelId,
2282
2520
  class: "checkbox-group__label"
2283
2521
  }, (0, vue.toDisplayString)(props.label), 1)) : (0, vue.createCommentVNode)("", true),
2284
- (0, vue.createElementVNode)("div", _hoisted_2$26, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
2285
- props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$17, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
2286
- ], 10, _hoisted_1$41);
2522
+ (0, vue.createElementVNode)("div", _hoisted_2$28, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
2523
+ props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$18, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
2524
+ ], 10, _hoisted_1$44);
2287
2525
  };
2288
2526
  }
2289
2527
  });
@@ -2334,8 +2572,8 @@ var Radio_default = /* @__PURE__ */ (0, vue.defineComponent)({
2334
2572
  });
2335
2573
  //#endregion
2336
2574
  //#region src/components/radio/RadioGroup.vue?vue&type=script&setup=true&lang.ts
2337
- var _hoisted_1$40 = { class: "radio-group__wrapper" };
2338
- var _hoisted_2$25 = {
2575
+ var _hoisted_1$43 = { class: "radio-group__wrapper" };
2576
+ var _hoisted_2$27 = {
2339
2577
  key: 1,
2340
2578
  class: "radio-group__description"
2341
2579
  };
@@ -2384,8 +2622,8 @@ var RadioGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
2384
2622
  id: labelId,
2385
2623
  class: "radio-group__label"
2386
2624
  }, (0, vue.toDisplayString)(props.label), 1)) : (0, vue.createCommentVNode)("", true),
2387
- (0, vue.createElementVNode)("div", _hoisted_1$40, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
2388
- props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$25, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
2625
+ (0, vue.createElementVNode)("div", _hoisted_1$43, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
2626
+ props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$27, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
2389
2627
  ]),
2390
2628
  _: 3
2391
2629
  }, 8, [
@@ -2476,8 +2714,8 @@ var Switch_default = /* @__PURE__ */ (0, vue.defineComponent)({
2476
2714
  });
2477
2715
  //#endregion
2478
2716
  //#region src/components/switch/SwitchGroup.vue?vue&type=script&setup=true&lang.ts
2479
- var _hoisted_1$39 = ["aria-labelledby", "data-orientation"];
2480
- var _hoisted_2$24 = {
2717
+ var _hoisted_1$42 = ["aria-labelledby", "data-orientation"];
2718
+ var _hoisted_2$26 = {
2481
2719
  key: 1,
2482
2720
  class: "switch-group__description"
2483
2721
  };
@@ -2532,8 +2770,8 @@ var SwitchGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
2532
2770
  class: "switch-group__label"
2533
2771
  }, (0, vue.toDisplayString)(props.label), 1)) : (0, vue.createCommentVNode)("", true),
2534
2772
  (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(groupSlots.value.items()) }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 2),
2535
- props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$24, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
2536
- ], 10, _hoisted_1$39);
2773
+ props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$26, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)
2774
+ ], 10, _hoisted_1$42);
2537
2775
  };
2538
2776
  }
2539
2777
  });
@@ -12345,7 +12583,7 @@ var AlertDialogOverlay_default = /* @__PURE__ */ (0, vue.defineComponent)({
12345
12583
  });
12346
12584
  //#endregion
12347
12585
  //#region src/components/alert-dialog/AlertDialogContent.vue?vue&type=script&setup=true&lang.ts
12348
- var _hoisted_1$38 = ["data-placement"];
12586
+ var _hoisted_1$41 = ["data-placement"];
12349
12587
  //#endregion
12350
12588
  //#region src/components/alert-dialog/AlertDialogContent.vue
12351
12589
  var AlertDialogContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -12380,7 +12618,7 @@ var AlertDialogContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
12380
12618
  }, {
12381
12619
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
12382
12620
  _: 3
12383
- }, 8, ["class", "data-placement"])], 10, _hoisted_1$38)]),
12621
+ }, 8, ["class", "data-placement"])], 10, _hoisted_1$41)]),
12384
12622
  _: 3
12385
12623
  });
12386
12624
  };
@@ -12530,7 +12768,7 @@ var AlertDialogDescription_default = /* @__PURE__ */ (0, vue.defineComponent)({
12530
12768
  });
12531
12769
  //#endregion
12532
12770
  //#region src/components/alert-dialog/AlertDialogIcon.vue?vue&type=script&setup=true&lang.ts
12533
- var _hoisted_1$37 = {
12771
+ var _hoisted_1$40 = {
12534
12772
  key: 0,
12535
12773
  "data-slot": "alert-dialog-default-icon",
12536
12774
  viewBox: "0 0 24 24",
@@ -12540,7 +12778,7 @@ var _hoisted_1$37 = {
12540
12778
  "stroke-linecap": "round",
12541
12779
  "stroke-linejoin": "round"
12542
12780
  };
12543
- var _hoisted_2$23 = {
12781
+ var _hoisted_2$25 = {
12544
12782
  key: 1,
12545
12783
  "data-slot": "alert-dialog-default-icon",
12546
12784
  viewBox: "0 0 24 24",
@@ -12550,7 +12788,7 @@ var _hoisted_2$23 = {
12550
12788
  "stroke-linecap": "round",
12551
12789
  "stroke-linejoin": "round"
12552
12790
  };
12553
- var _hoisted_3$16 = {
12791
+ var _hoisted_3$17 = {
12554
12792
  key: 2,
12555
12793
  "data-slot": "alert-dialog-default-icon",
12556
12794
  viewBox: "0 0 24 24",
@@ -12592,7 +12830,7 @@ var AlertDialogIcon_default = /* @__PURE__ */ (0, vue.defineComponent)({
12592
12830
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
12593
12831
  class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)((0, vue.unref)(styles).icon({ status: resolvedStatus() }), props.class)),
12594
12832
  "aria-hidden": "true"
12595
- }, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [resolvedStatus() === "danger" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$37, [..._cache[0] || (_cache[0] = [
12833
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [resolvedStatus() === "danger" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$40, [..._cache[0] || (_cache[0] = [
12596
12834
  (0, vue.createElementVNode)("circle", {
12597
12835
  cx: "12",
12598
12836
  cy: "12",
@@ -12600,11 +12838,11 @@ var AlertDialogIcon_default = /* @__PURE__ */ (0, vue.defineComponent)({
12600
12838
  }, null, -1),
12601
12839
  (0, vue.createElementVNode)("path", { d: "m9 9 6 6" }, null, -1),
12602
12840
  (0, vue.createElementVNode)("path", { d: "m15 9-6 6" }, null, -1)
12603
- ])])) : resolvedStatus() === "warning" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$23, [..._cache[1] || (_cache[1] = [
12841
+ ])])) : resolvedStatus() === "warning" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$25, [..._cache[1] || (_cache[1] = [
12604
12842
  (0, vue.createElementVNode)("path", { d: "M12 3.5 2.8 19.5a1.2 1.2 0 0 0 1 1.8h16.4a1.2 1.2 0 0 0 1-1.8L12 3.5Z" }, null, -1),
12605
12843
  (0, vue.createElementVNode)("path", { d: "M12 10v4" }, null, -1),
12606
12844
  (0, vue.createElementVNode)("path", { d: "M12 17.5h.01" }, null, -1)
12607
- ])])) : resolvedStatus() === "success" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$16, [..._cache[2] || (_cache[2] = [(0, vue.createElementVNode)("circle", {
12845
+ ])])) : resolvedStatus() === "success" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$17, [..._cache[2] || (_cache[2] = [(0, vue.createElementVNode)("circle", {
12608
12846
  cx: "12",
12609
12847
  cy: "12",
12610
12848
  r: "9"
@@ -13324,7 +13562,7 @@ var Collapsible_default = /* @__PURE__ */ (0, vue.defineComponent)({
13324
13562
  });
13325
13563
  //#endregion
13326
13564
  //#region src/components/collapsible/CollapsibleTrigger.vue?vue&type=script&setup=true&lang.ts
13327
- var _hoisted_1$36 = ["data-state"];
13565
+ var _hoisted_1$39 = ["data-state"];
13328
13566
  //#endregion
13329
13567
  //#region src/components/collapsible/CollapsibleTrigger.vue
13330
13568
  var CollapsibleTrigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -13351,7 +13589,7 @@ var CollapsibleTrigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
13351
13589
  "stroke-linejoin": "round",
13352
13590
  "aria-hidden": "true",
13353
13591
  focusable: "false"
13354
- }, [(0, vue.createElementVNode)("polyline", { points: "6 9 12 15 18 9" })], -1)])], 10, _hoisted_1$36)]),
13592
+ }, [(0, vue.createElementVNode)("polyline", { points: "6 9 12 15 18 9" })], -1)])], 10, _hoisted_1$39)]),
13355
13593
  _: 3
13356
13594
  }, 8, ["class"]);
13357
13595
  };
@@ -13497,9 +13735,9 @@ var Breadcrumbs_default = /* @__PURE__ */ (0, vue.defineComponent)({
13497
13735
  });
13498
13736
  //#endregion
13499
13737
  //#region src/components/breadcrumbs/BreadcrumbItem.vue?vue&type=script&setup=true&lang.ts
13500
- var _hoisted_1$35 = ["aria-current"];
13501
- var _hoisted_2$22 = ["href"];
13502
- var _hoisted_3$15 = {
13738
+ var _hoisted_1$38 = ["aria-current"];
13739
+ var _hoisted_2$24 = ["href"];
13740
+ var _hoisted_3$16 = {
13503
13741
  key: 1,
13504
13742
  xmlns: "http://www.w3.org/2000/svg",
13505
13743
  viewBox: "0 0 24 24",
@@ -13534,14 +13772,14 @@ var BreadcrumbItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
13534
13772
  key: 0,
13535
13773
  href: props.href,
13536
13774
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slotFns.value.link())
13537
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_2$22)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
13775
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_2$24)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
13538
13776
  key: 1,
13539
13777
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slotFns.value.link())
13540
13778
  }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 2)), !props.isLast ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
13541
13779
  key: 2,
13542
13780
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slotFns.value.separator()),
13543
13781
  "aria-hidden": "true"
13544
- }, [SeparatorRenderer.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(SeparatorRenderer.value), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$15, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("polyline", { points: "9 6 15 12 9 18" }, null, -1)])]))], 2)) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_1$35);
13782
+ }, [SeparatorRenderer.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(SeparatorRenderer.value), { key: 0 })) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$16, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("polyline", { points: "9 6 15 12 9 18" }, null, -1)])]))], 2)) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_1$38);
13545
13783
  };
13546
13784
  }
13547
13785
  });
@@ -13734,7 +13972,7 @@ var ToolbarToggleItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
13734
13972
  });
13735
13973
  //#endregion
13736
13974
  //#region src/components/alert/Alert.vue?vue&type=script&setup=true&lang.ts
13737
- var _hoisted_1$34 = {
13975
+ var _hoisted_1$37 = {
13738
13976
  key: 0,
13739
13977
  "data-slot": "alert-default-icon",
13740
13978
  viewBox: "0 0 24 24",
@@ -13744,7 +13982,7 @@ var _hoisted_1$34 = {
13744
13982
  "stroke-linecap": "round",
13745
13983
  "stroke-linejoin": "round"
13746
13984
  };
13747
- var _hoisted_2$21 = {
13985
+ var _hoisted_2$23 = {
13748
13986
  key: 1,
13749
13987
  "data-slot": "alert-default-icon",
13750
13988
  viewBox: "0 0 24 24",
@@ -13754,7 +13992,7 @@ var _hoisted_2$21 = {
13754
13992
  "stroke-linecap": "round",
13755
13993
  "stroke-linejoin": "round"
13756
13994
  };
13757
- var _hoisted_3$14 = {
13995
+ var _hoisted_3$15 = {
13758
13996
  key: 2,
13759
13997
  "data-slot": "alert-default-icon",
13760
13998
  viewBox: "0 0 24 24",
@@ -13829,7 +14067,7 @@ var Alert_default = /* @__PURE__ */ (0, vue.defineComponent)({
13829
14067
  (0, vue.renderSlot)(_ctx.$slots, "icon", {}, () => [(0, vue.createElementVNode)("span", {
13830
14068
  class: (0, vue.normalizeClass)(styles.value.indicator()),
13831
14069
  "aria-hidden": "true"
13832
- }, [__props.severity === "default" || __props.severity === "primary" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$34, [..._cache[0] || (_cache[0] = [
14070
+ }, [__props.severity === "default" || __props.severity === "primary" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$37, [..._cache[0] || (_cache[0] = [
13833
14071
  (0, vue.createElementVNode)("circle", {
13834
14072
  cx: "12",
13835
14073
  cy: "12",
@@ -13837,11 +14075,11 @@ var Alert_default = /* @__PURE__ */ (0, vue.defineComponent)({
13837
14075
  }, null, -1),
13838
14076
  (0, vue.createElementVNode)("path", { d: "M12 8h.01" }, null, -1),
13839
14077
  (0, vue.createElementVNode)("path", { d: "M11 12h1v4h1" }, null, -1)
13840
- ])])) : __props.severity === "success" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$21, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("circle", {
14078
+ ])])) : __props.severity === "success" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$23, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("circle", {
13841
14079
  cx: "12",
13842
14080
  cy: "12",
13843
14081
  r: "9"
13844
- }, null, -1), (0, vue.createElementVNode)("path", { d: "m8.5 12.5 2.5 2.5 4.5-5" }, null, -1)])])) : __props.severity === "warning" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$14, [..._cache[2] || (_cache[2] = [
14082
+ }, null, -1), (0, vue.createElementVNode)("path", { d: "m8.5 12.5 2.5 2.5 4.5-5" }, null, -1)])])) : __props.severity === "warning" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$15, [..._cache[2] || (_cache[2] = [
13845
14083
  (0, vue.createElementVNode)("path", { d: "M12 3.5 2.8 19.5a1.2 1.2 0 0 0 1 1.8h16.4a1.2 1.2 0 0 0 1-1.8L12 3.5Z" }, null, -1),
13846
14084
  (0, vue.createElementVNode)("path", { d: "M12 10v4" }, null, -1),
13847
14085
  (0, vue.createElementVNode)("path", { d: "M12 17.5h.01" }, null, -1)
@@ -14203,7 +14441,7 @@ function useToast() {
14203
14441
  }
14204
14442
  //#endregion
14205
14443
  //#region src/components/toast/ToastViewport.vue?vue&type=script&setup=true&lang.ts
14206
- var _hoisted_1$33 = { class: "flex shrink-0 items-center gap-1 ml-auto" };
14444
+ var _hoisted_1$36 = { class: "flex shrink-0 items-center gap-1 ml-auto" };
14207
14445
  //#endregion
14208
14446
  //#region src/components/toast/ToastViewport.vue
14209
14447
  var ToastViewport_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -14273,7 +14511,7 @@ var ToastViewport_default = /* @__PURE__ */ (0, vue.defineComponent)({
14273
14511
  }, 1024), toast.description ? ((0, vue.openBlock)(), (0, vue.createBlock)(ToastDescription_default, { key: 0 }, {
14274
14512
  default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(toast.description), 1)]),
14275
14513
  _: 2
14276
- }, 1024)) : (0, vue.createCommentVNode)("", true)], 2), (0, vue.createElementVNode)("div", _hoisted_1$33, [toast.action ? ((0, vue.openBlock)(), (0, vue.createBlock)(ToastAction_default, {
14514
+ }, 1024)) : (0, vue.createCommentVNode)("", true)], 2), (0, vue.createElementVNode)("div", _hoisted_1$36, [toast.action ? ((0, vue.openBlock)(), (0, vue.createBlock)(ToastAction_default, {
14277
14515
  key: 0,
14278
14516
  "alt-text": toast.action.label,
14279
14517
  onClick: toast.action.onClick
@@ -14462,7 +14700,7 @@ var ListBoxSection_default = /* @__PURE__ */ (0, vue.defineComponent)({
14462
14700
  var { useProvide: useSelectProvide, useInject: useSelectInject, key: selectContextKey } = createContext("Select");
14463
14701
  //#endregion
14464
14702
  //#region src/components/select/Select.vue?vue&type=script&setup=true&lang.ts
14465
- var _hoisted_1$32 = [
14703
+ var _hoisted_1$35 = [
14466
14704
  "data-invalid",
14467
14705
  "data-disabled",
14468
14706
  "data-readonly",
@@ -14470,8 +14708,8 @@ var _hoisted_1$32 = [
14470
14708
  "data-has-label",
14471
14709
  "data-has-helper"
14472
14710
  ];
14473
- var _hoisted_2$20 = ["for"];
14474
- var _hoisted_3$13 = {
14711
+ var _hoisted_2$22 = ["for"];
14712
+ var _hoisted_3$14 = {
14475
14713
  key: 0,
14476
14714
  "aria-hidden": "true"
14477
14715
  };
@@ -14590,7 +14828,7 @@ var Select_default = /* @__PURE__ */ (0, vue.defineComponent)({
14590
14828
  key: 0,
14591
14829
  for: triggerId.value,
14592
14830
  class: (0, vue.normalizeClass)(slotFns.value.label())
14593
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$13, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$20)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.SelectRoot), {
14831
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$14, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$22)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.SelectRoot), {
14594
14832
  "model-value": props.modelValue,
14595
14833
  "default-value": props.defaultValue,
14596
14834
  open: props.open,
@@ -14622,14 +14860,14 @@ var Select_default = /* @__PURE__ */ (0, vue.defineComponent)({
14622
14860
  key: 1,
14623
14861
  id: descriptionId.value,
14624
14862
  class: (0, vue.normalizeClass)(slotFns.value.description())
14625
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_5$7)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$32);
14863
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_5$7)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$35);
14626
14864
  };
14627
14865
  }
14628
14866
  });
14629
14867
  //#endregion
14630
14868
  //#region src/components/select/SelectTrigger.vue?vue&type=script&setup=true&lang.ts
14631
- var _hoisted_1$31 = ["for"];
14632
- var _hoisted_2$19 = {
14869
+ var _hoisted_1$34 = ["for"];
14870
+ var _hoisted_2$21 = {
14633
14871
  key: 0,
14634
14872
  "aria-hidden": "true"
14635
14873
  };
@@ -14664,7 +14902,7 @@ var SelectTrigger_default = /* @__PURE__ */ (0, vue.defineComponent)({
14664
14902
  key: 0,
14665
14903
  for: (0, vue.unref)(ctx).triggerId.value,
14666
14904
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.label())
14667
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(ctx).label.value), 1), (0, vue.unref)(ctx).isRequired.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$19, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_1$31)) : (0, vue.createCommentVNode)("", true),
14905
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(ctx).label.value), 1), (0, vue.unref)(ctx).isRequired.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$21, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_1$34)) : (0, vue.createCommentVNode)("", true),
14668
14906
  _ctx.$slots.startContent ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
14669
14907
  key: 1,
14670
14908
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.startContent()),
@@ -14720,7 +14958,7 @@ var SelectValue_default = /* @__PURE__ */ (0, vue.defineComponent)({
14720
14958
  placeholder: props.placeholder,
14721
14959
  "data-slot": "value"
14722
14960
  }, {
14723
- default: (0, vue.withCtx)(({ modelValue }) => [modelValue != null && (Array.isArray(modelValue) ? modelValue.length > 0 : modelValue !== "") ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(ctx).itemLabel(modelValue.toString())), 1)], 64)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(props.placeholder), 1)], 64))]),
14961
+ default: (0, vue.withCtx)(({ selectedLabel, modelValue }) => [selectedLabel && selectedLabel.length > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(selectedLabel.join(", ")), 1)], 64)) : modelValue != null && (Array.isArray(modelValue) ? modelValue.length > 0 : modelValue !== "") ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(ctx).itemLabel(Array.isArray(modelValue) ? modelValue : modelValue.toString())), 1)], 64)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(props.placeholder), 1)], 64))]),
14724
14962
  _: 1
14725
14963
  }, 8, ["class", "placeholder"]);
14726
14964
  };
@@ -14742,24 +14980,17 @@ var SelectContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
14742
14980
  return (_ctx, _cache) => {
14743
14981
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.SelectPortal), null, {
14744
14982
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(AnimatePresence_default), null, {
14745
- default: (0, vue.withCtx)(() => [(0, vue.unref)(rootContext).open.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.SelectContent), {
14746
- key: 0,
14983
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(reka_ui.SelectContent), {
14747
14984
  position: props.position,
14748
14985
  "side-offset": props.sideOffset,
14749
- "as-child": "",
14750
14986
  "data-slot": "popover"
14751
14987
  }, {
14752
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(motion).div, {
14988
+ default: (0, vue.withCtx)(() => [(0, vue.withDirectives)((0, vue.createVNode)((0, vue.unref)(motion).div, {
14753
14989
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.popover()),
14754
- initial: {
14755
- opacity: 0,
14756
- scale: .95
14757
- },
14758
- animate: {
14990
+ animate: (0, vue.unref)(rootContext).open.value ? {
14759
14991
  opacity: 1,
14760
14992
  scale: 1
14761
- },
14762
- exit: {
14993
+ } : {
14763
14994
  opacity: 0,
14764
14995
  scale: .95
14765
14996
  },
@@ -14770,9 +15001,9 @@ var SelectContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
14770
15001
  _: 3
14771
15002
  })]),
14772
15003
  _: 3
14773
- }, 8, ["class"])]),
15004
+ }, 8, ["class", "animate"]), [[vue.vShow, (0, vue.unref)(rootContext).open.value]])]),
14774
15005
  _: 3
14775
- }, 8, ["position", "side-offset"])) : (0, vue.createCommentVNode)("", true)]),
15006
+ }, 8, ["position", "side-offset"])]),
14776
15007
  _: 3
14777
15008
  })]),
14778
15009
  _: 3
@@ -14797,8 +15028,10 @@ var SelectItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
14797
15028
  const props = __props;
14798
15029
  const ctx = useSelectInject();
14799
15030
  const textRef = (0, vue.useTemplateRef)("textRef");
15031
+ if (props.textValue !== void 0) ctx.registerItem(props.value, props.textValue);
14800
15032
  (0, vue.onMounted)(() => {
14801
- const label = props.textValue ?? textRef.value?.textContent?.trim() ?? props.value;
15033
+ const el = textRef.value?.$el;
15034
+ const label = props.textValue ?? el?.textContent?.trim() ?? props.value;
14802
15035
  ctx.registerItem(props.value, label);
14803
15036
  });
14804
15037
  return (_ctx, _cache) => {
@@ -14964,9 +15197,9 @@ var DropdownMenu_default = /* @__PURE__ */ (0, vue.defineComponent)({
14964
15197
  });
14965
15198
  //#endregion
14966
15199
  //#region src/components/dropdown/DropdownItem.vue?vue&type=script&setup=true&lang.ts
14967
- var _hoisted_1$30 = { class: "flex flex-1 flex-col" };
14968
- var _hoisted_2$18 = { "data-slot": "label" };
14969
- var _hoisted_3$12 = {
15200
+ var _hoisted_1$33 = { class: "flex flex-1 flex-col" };
15201
+ var _hoisted_2$20 = { "data-slot": "label" };
15202
+ var _hoisted_3$13 = {
14970
15203
  key: 0,
14971
15204
  "data-slot": "description"
14972
15205
  };
@@ -15004,7 +15237,7 @@ var DropdownItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
15004
15237
  }, {
15005
15238
  default: (0, vue.withCtx)(() => [
15006
15239
  (0, vue.renderSlot)(_ctx.$slots, "startContent"),
15007
- (0, vue.createElementVNode)("div", _hoisted_1$30, [(0, vue.createElementVNode)("span", _hoisted_2$18, [(0, vue.renderSlot)(_ctx.$slots, "default")]), props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$12, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)]),
15240
+ (0, vue.createElementVNode)("div", _hoisted_1$33, [(0, vue.createElementVNode)("span", _hoisted_2$20, [(0, vue.renderSlot)(_ctx.$slots, "default")]), props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$13, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)]),
15008
15241
  props.shortcut ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("kbd", _hoisted_4$8, (0, vue.toDisplayString)(props.shortcut), 1)) : (0, vue.createCommentVNode)("", true),
15009
15242
  (0, vue.renderSlot)(_ctx.$slots, "endContent")
15010
15243
  ]),
@@ -15339,9 +15572,9 @@ var DropdownSubContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
15339
15572
  var { useProvide: useComboBoxProvide, useInject: useComboBoxInject, key: comboBoxContextKey } = createContext("ComboBox");
15340
15573
  //#endregion
15341
15574
  //#region src/components/combo-box/ComboBox.vue?vue&type=script&setup=true&lang.ts
15342
- var _hoisted_1$29 = ["aria-invalid"];
15343
- var _hoisted_2$17 = ["id"];
15344
- var _hoisted_3$11 = {
15575
+ var _hoisted_1$32 = ["aria-invalid"];
15576
+ var _hoisted_2$19 = ["id"];
15577
+ var _hoisted_3$12 = {
15345
15578
  key: 0,
15346
15579
  "aria-hidden": "true"
15347
15580
  };
@@ -15414,17 +15647,52 @@ var ComboBox_default = /* @__PURE__ */ (0, vue.defineComponent)({
15414
15647
  if (props.filterFunction) return props.filterFunction;
15415
15648
  return (itemText, searchTerm) => itemText.toLowerCase().includes(searchTerm.toLowerCase());
15416
15649
  });
15417
- const displayValue = (0, vue.computed)(() => (val) => {
15418
- if (!val) return "";
15419
- const item = props.items.find((i) => i.value === val);
15420
- return item?.label ?? item?.textValue ?? val;
15650
+ const slotItemRegistry = (0, vue.ref)(/* @__PURE__ */ new Map());
15651
+ function registerItem(value, label) {
15652
+ const next = new Map(slotItemRegistry.value);
15653
+ next.set(value, label);
15654
+ slotItemRegistry.value = next;
15655
+ }
15656
+ function unregisterItem(value) {
15657
+ const next = new Map(slotItemRegistry.value);
15658
+ next.delete(value);
15659
+ slotItemRegistry.value = next;
15660
+ }
15661
+ function labelFor(value) {
15662
+ if (!value) return "";
15663
+ const item = props.items.find((i) => i.value === value);
15664
+ if (item) return item.label ?? item.textValue ?? value;
15665
+ return slotItemRegistry.value.get(value) ?? value;
15666
+ }
15667
+ function valueFor(label) {
15668
+ if (!label) return "";
15669
+ const item = props.items.find((i) => (i.label ?? i.textValue ?? i.value) === label);
15670
+ if (item) return item.value;
15671
+ for (const [value, lbl] of slotItemRegistry.value) if (lbl === label) return value;
15672
+ return label;
15673
+ }
15674
+ const internalValue = (0, vue.ref)(labelFor(props.modelValue));
15675
+ const displayValue = (0, vue.computed)(() => (val) => val);
15676
+ (0, vue.watch)(() => props.modelValue, (val) => {
15677
+ const next = labelFor(val);
15678
+ if (internalValue.value !== next) internalValue.value = next;
15679
+ });
15680
+ function handleModelValueUpdate(emitted) {
15681
+ internalValue.value = emitted;
15682
+ emit("update:modelValue", valueFor(emitted));
15683
+ }
15684
+ (0, vue.watch)(slotItemRegistry, () => {
15685
+ const next = labelFor(props.modelValue);
15686
+ if (next !== internalValue.value && valueFor(internalValue.value) === (props.modelValue ?? "")) internalValue.value = next;
15421
15687
  });
15422
15688
  useComboBoxProvide({
15423
15689
  isDisabled: (0, vue.toRef)(props, "isDisabled"),
15424
15690
  isInvalid: (0, vue.toRef)(props, "isInvalid"),
15425
15691
  fullWidth: (0, vue.toRef)(props, "fullWidth"),
15426
15692
  slots: slotFns,
15427
- displayValue
15693
+ displayValue,
15694
+ registerItem,
15695
+ unregisterItem
15428
15696
  });
15429
15697
  return (_ctx, _cache) => {
15430
15698
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
@@ -15436,22 +15704,22 @@ var ComboBox_default = /* @__PURE__ */ (0, vue.defineComponent)({
15436
15704
  key: 0,
15437
15705
  id: (0, vue.unref)(labelId),
15438
15706
  "data-slot": "label"
15439
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(props.label) + " ", 1), props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$11, " *")) : (0, vue.createCommentVNode)("", true)], 8, _hoisted_2$17)) : (0, vue.createCommentVNode)("", true),
15707
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(props.label) + " ", 1), props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$12, " *")) : (0, vue.createCommentVNode)("", true)], 8, _hoisted_2$19)) : (0, vue.createCommentVNode)("", true),
15440
15708
  (0, vue.createVNode)((0, vue.unref)(reka_ui.ComboboxRoot), {
15441
- "model-value": props.modelValue,
15442
- "default-value": props.defaultValue,
15709
+ modelValue: internalValue.value,
15710
+ "onUpdate:modelValue": [_cache[0] || (_cache[0] = ($event) => internalValue.value = $event), _cache[1] || (_cache[1] = ($event) => handleModelValueUpdate($event))],
15711
+ "default-value": props.defaultValue ? labelFor(props.defaultValue) : void 0,
15443
15712
  open: props.open,
15444
15713
  "default-open": props.defaultOpen,
15445
15714
  disabled: props.isDisabled,
15446
15715
  required: props.isRequired,
15447
15716
  "filter-function": effectiveFilter.value,
15448
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event)),
15449
- "onUpdate:open": _cache[1] || (_cache[1] = ($event) => emit("update:open", $event))
15717
+ "onUpdate:open": _cache[2] || (_cache[2] = ($event) => emit("update:open", $event))
15450
15718
  }, {
15451
15719
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
15452
15720
  _: 3
15453
15721
  }, 8, [
15454
- "model-value",
15722
+ "modelValue",
15455
15723
  "default-value",
15456
15724
  "open",
15457
15725
  "default-open",
@@ -15460,7 +15728,7 @@ var ComboBox_default = /* @__PURE__ */ (0, vue.defineComponent)({
15460
15728
  "filter-function"
15461
15729
  ]),
15462
15730
  props.description || props.isInvalid && props.errorMessage ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$7, [props.isInvalid && props.errorMessage ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_5$6, (0, vue.toDisplayString)(props.errorMessage), 1)) : props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_6$5, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)])) : (0, vue.createCommentVNode)("", true)
15463
- ], 10, _hoisted_1$29);
15731
+ ], 10, _hoisted_1$32);
15464
15732
  };
15465
15733
  }
15466
15734
  });
@@ -15560,6 +15828,40 @@ var ComboBoxContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
15560
15828
  const props = __props;
15561
15829
  const ctx = useComboBoxInject();
15562
15830
  const comboboxRootContext = (0, reka_ui.injectComboboxRootContext)();
15831
+ const slots = (0, vue.useSlots)();
15832
+ function extractNodeText(nodes) {
15833
+ return nodes.map((n) => {
15834
+ if (typeof n.children === "string") return n.children;
15835
+ if (Array.isArray(n.children)) return extractNodeText(n.children);
15836
+ return "";
15837
+ }).join("");
15838
+ }
15839
+ function walkAndRegister(nodes) {
15840
+ for (const node of nodes) {
15841
+ if (node.props && typeof node.props.value === "string") {
15842
+ const value = node.props.value;
15843
+ const children = node.children;
15844
+ if (children && typeof children === "object" && "default" in children) {
15845
+ const slotFn = children.default;
15846
+ if (typeof slotFn === "function") {
15847
+ const text = extractNodeText(slotFn()).trim();
15848
+ if (text) ctx.registerItem(value, text);
15849
+ }
15850
+ } else if (typeof children === "string") {
15851
+ const text = children.trim();
15852
+ if (text) ctx.registerItem(value, text);
15853
+ } else if (Array.isArray(children)) {
15854
+ const text = extractNodeText(children).trim();
15855
+ if (text) ctx.registerItem(value, text);
15856
+ }
15857
+ }
15858
+ if (Array.isArray(node.children)) walkAndRegister(node.children);
15859
+ }
15860
+ }
15861
+ (0, vue.watchEffect)(() => {
15862
+ const vnodes = slots.default?.();
15863
+ if (vnodes) walkAndRegister(vnodes);
15864
+ });
15563
15865
  return (_ctx, _cache) => {
15564
15866
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.ComboboxPortal), null, {
15565
15867
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(AnimatePresence_default), null, {
@@ -15607,7 +15909,6 @@ var ComboBoxItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
15607
15909
  __name: "ComboBoxItem",
15608
15910
  props: {
15609
15911
  value: {},
15610
- textValue: { default: void 0 },
15611
15912
  isDisabled: {
15612
15913
  type: Boolean,
15613
15914
  default: false
@@ -15616,11 +15917,32 @@ var ComboBoxItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
15616
15917
  },
15617
15918
  setup(__props) {
15618
15919
  const props = __props;
15920
+ const slots = (0, vue.useSlots)();
15921
+ const ctx = useComboBoxInject();
15922
+ function extractText(nodes) {
15923
+ return nodes.map((n) => {
15924
+ if (typeof n.children === "string") return n.children;
15925
+ if (Array.isArray(n.children)) return extractText(n.children);
15926
+ return "";
15927
+ }).join("");
15928
+ }
15929
+ const displayText = (0, vue.computed)(() => {
15930
+ const vnodes = slots.default?.();
15931
+ if (!vnodes) return props.value;
15932
+ return extractText(vnodes).trim() || props.value;
15933
+ });
15934
+ (0, vue.onMounted)(() => {
15935
+ ctx.registerItem(props.value, displayText.value);
15936
+ });
15937
+ (0, vue.onUnmounted)(() => {
15938
+ ctx.unregisterItem(props.value);
15939
+ });
15619
15940
  return (_ctx, _cache) => {
15620
15941
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.ComboboxItem), {
15621
- value: props.value,
15622
- "text-value": props.textValue ?? props.value,
15942
+ value: displayText.value,
15943
+ "text-value": displayText.value,
15623
15944
  disabled: props.isDisabled,
15945
+ "data-item-value": props.value,
15624
15946
  class: "list-box-item list-box-item--default",
15625
15947
  "data-slot": "list-box-item"
15626
15948
  }, {
@@ -15652,7 +15974,8 @@ var ComboBoxItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
15652
15974
  }, 8, [
15653
15975
  "value",
15654
15976
  "text-value",
15655
- "disabled"
15977
+ "disabled",
15978
+ "data-item-value"
15656
15979
  ]);
15657
15980
  };
15658
15981
  }
@@ -15678,7 +16001,7 @@ var ComboBoxEmpty_default = /* @__PURE__ */ (0, vue.defineComponent)({
15678
16001
  var { useProvide: useAutocompleteProvide, useInject: useAutocompleteInject, key: autocompleteContextKey } = createContext("Autocomplete");
15679
16002
  //#endregion
15680
16003
  //#region src/components/autocomplete/Autocomplete.vue?vue&type=script&setup=true&lang.ts
15681
- var _hoisted_1$28 = [
16004
+ var _hoisted_1$31 = [
15682
16005
  "data-invalid",
15683
16006
  "data-disabled",
15684
16007
  "data-readonly",
@@ -15686,8 +16009,8 @@ var _hoisted_1$28 = [
15686
16009
  "data-has-label",
15687
16010
  "data-has-helper"
15688
16011
  ];
15689
- var _hoisted_2$16 = ["for"];
15690
- var _hoisted_3$10 = {
16012
+ var _hoisted_2$18 = ["for"];
16013
+ var _hoisted_3$11 = {
15691
16014
  key: 0,
15692
16015
  "aria-hidden": "true"
15693
16016
  };
@@ -15748,6 +16071,10 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15748
16071
  filterOnOpen: {
15749
16072
  type: Boolean,
15750
16073
  default: false
16074
+ },
16075
+ truncateItems: {
16076
+ type: Boolean,
16077
+ default: true
15751
16078
  }
15752
16079
  },
15753
16080
  emits: ["update:modelValue", "update:open"],
@@ -15758,6 +16085,17 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15758
16085
  const generatedId = (0, vue.useId)();
15759
16086
  const inputId = (0, vue.computed)(() => attrs.id ?? generatedId);
15760
16087
  const hasLabel = (0, vue.computed)(() => !!props.label);
16088
+ const slotItemRegistry = (0, vue.ref)(/* @__PURE__ */ new Map());
16089
+ function registerItem(value, label) {
16090
+ const next = new Map(slotItemRegistry.value);
16091
+ next.set(value, label);
16092
+ slotItemRegistry.value = next;
16093
+ }
16094
+ function unregisterItem(value) {
16095
+ const next = new Map(slotItemRegistry.value);
16096
+ next.delete(value);
16097
+ slotItemRegistry.value = next;
16098
+ }
15761
16099
  const isLoading = (0, vue.ref)(false);
15762
16100
  const internalItems = (0, vue.ref)([...props.items]);
15763
16101
  const isOpen = (0, vue.ref)(props.defaultOpen ?? false);
@@ -15771,14 +16109,19 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15771
16109
  function labelFor(value) {
15772
16110
  if (value == null || value === "") return "";
15773
16111
  const match = internalItems.value.find((i) => i.value === value);
15774
- return match?.label ?? match?.textValue ?? value;
16112
+ if (match) return match.label ?? match.textValue ?? value;
16113
+ return slotItemRegistry.value.get(value) ?? value;
15775
16114
  }
15776
16115
  function valueFor(displayed) {
15777
16116
  if (!displayed) return "";
15778
- return internalItems.value.find((i) => (i.label ?? i.textValue ?? i.value) === displayed)?.value ?? displayed;
16117
+ const match = internalItems.value.find((i) => (i.label ?? i.textValue ?? i.value) === displayed);
16118
+ if (match) return match.value;
16119
+ for (const [value, label] of slotItemRegistry.value) if (label === displayed) return value;
16120
+ return displayed;
15779
16121
  }
15780
16122
  const searchTerm = (0, vue.ref)(labelFor(props.modelValue));
15781
16123
  const isFilled = (0, vue.computed)(() => !!searchTerm.value);
16124
+ const hasItems = (0, vue.computed)(() => internalItems.value.length > 0);
15782
16125
  const descriptionId = (0, vue.computed)(() => `${inputId.value}-description`);
15783
16126
  const errorMessageId = (0, vue.computed)(() => `${inputId.value}-error`);
15784
16127
  const showError = (0, vue.computed)(() => props.isInvalid && !!props.errorMessage);
@@ -15834,6 +16177,10 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15834
16177
  const next = labelFor(props.modelValue);
15835
16178
  if (next && searchTerm.value !== next && valueFor(searchTerm.value) === (props.modelValue ?? "")) searchTerm.value = next;
15836
16179
  });
16180
+ (0, vue.watch)(slotItemRegistry, () => {
16181
+ const next = labelFor(props.modelValue);
16182
+ if (next && searchTerm.value !== next && valueFor(searchTerm.value) === (props.modelValue ?? "")) searchTerm.value = next;
16183
+ });
15837
16184
  const slotFns = (0, vue.computed)(() => (0, _auronui_styles.autocompleteVariants)({
15838
16185
  variant: props.variant,
15839
16186
  size: props.size,
@@ -15859,7 +16206,11 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15859
16206
  inputId,
15860
16207
  label: (0, vue.toRef)(props, "label"),
15861
16208
  ariaDescribedBy,
15862
- slots: slotFns
16209
+ truncateItems: (0, vue.toRef)(props, "truncateItems"),
16210
+ hasItems,
16211
+ slots: slotFns,
16212
+ registerItem,
16213
+ unregisterItem
15863
16214
  });
15864
16215
  return (_ctx, _cache) => {
15865
16216
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
@@ -15874,7 +16225,7 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15874
16225
  key: 0,
15875
16226
  for: inputId.value,
15876
16227
  class: (0, vue.normalizeClass)(slotFns.value.label())
15877
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$10, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$16)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.AutocompleteRoot), {
16228
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$11, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$18)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.AutocompleteRoot), {
15878
16229
  "model-value": searchTerm.value,
15879
16230
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchTerm.value = $event),
15880
16231
  open: props.open,
@@ -15908,14 +16259,14 @@ var Autocomplete_default = /* @__PURE__ */ (0, vue.defineComponent)({
15908
16259
  key: 1,
15909
16260
  id: descriptionId.value,
15910
16261
  class: (0, vue.normalizeClass)(slotFns.value.description())
15911
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_5$5)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$28);
16262
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_5$5)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$31);
15912
16263
  };
15913
16264
  }
15914
16265
  });
15915
16266
  //#endregion
15916
16267
  //#region src/components/autocomplete/AutocompleteInput.vue?vue&type=script&setup=true&lang.ts
15917
- var _hoisted_1$27 = ["for"];
15918
- var _hoisted_2$15 = {
16268
+ var _hoisted_1$30 = ["for"];
16269
+ var _hoisted_2$17 = {
15919
16270
  key: 0,
15920
16271
  "aria-hidden": "true"
15921
16272
  };
@@ -15948,7 +16299,7 @@ var AutocompleteInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
15948
16299
  key: 0,
15949
16300
  for: (0, vue.unref)(ctx).inputId.value,
15950
16301
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.label())
15951
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(ctx).label.value), 1), (0, vue.unref)(ctx).isRequired.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$15, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_1$27)) : (0, vue.createCommentVNode)("", true),
16302
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(ctx).label.value), 1), (0, vue.unref)(ctx).isRequired.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_2$17, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_1$30)) : (0, vue.createCommentVNode)("", true),
15952
16303
  _ctx.$slots.startContent ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
15953
16304
  key: 1,
15954
16305
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.startContent()),
@@ -15977,6 +16328,7 @@ var AutocompleteInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
15977
16328
  ]),
15978
16329
  (0, vue.createVNode)((0, vue.unref)(reka_ui.AutocompleteCancel), {
15979
16330
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.clearButton()),
16331
+ "data-empty": !(0, vue.unref)(ctx).isFilled.value || (0, vue.unref)(ctx).isReadonly.value || (0, vue.unref)(ctx).isDisabled.value ? "true" : void 0,
15980
16332
  "data-slot": "clear-button",
15981
16333
  "aria-label": "Clear"
15982
16334
  }, {
@@ -16004,7 +16356,7 @@ var AutocompleteInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
16004
16356
  y2: "18"
16005
16357
  })], -1))])]),
16006
16358
  _: 3
16007
- }, 8, ["class"]),
16359
+ }, 8, ["class", "data-empty"]),
16008
16360
  (0, vue.unref)(ctx).isLoading.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
16009
16361
  key: 2,
16010
16362
  class: (0, vue.normalizeClass)((0, vue.unref)(ctx).slots.value.indicator()),
@@ -16047,7 +16399,7 @@ var AutocompleteInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
16047
16399
  });
16048
16400
  //#endregion
16049
16401
  //#region src/components/autocomplete/AutocompleteContent.vue?vue&type=script&setup=true&lang.ts
16050
- var _hoisted_1$26 = [
16402
+ var _hoisted_1$29 = [
16051
16403
  "inert",
16052
16404
  "aria-disabled",
16053
16405
  "data-disabled"
@@ -16064,10 +16416,48 @@ var AutocompleteContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
16064
16416
  const props = __props;
16065
16417
  const ctx = useAutocompleteInject();
16066
16418
  const rootContext = (0, reka_ui.injectComboboxRootContext)();
16419
+ const slots = (0, vue.useSlots)();
16420
+ function extractNodeText(nodes) {
16421
+ return nodes.map((n) => {
16422
+ if (typeof n.children === "string") return n.children;
16423
+ if (Array.isArray(n.children)) return extractNodeText(n.children);
16424
+ return "";
16425
+ }).join("");
16426
+ }
16427
+ function walkAndRegister(nodes) {
16428
+ for (const node of nodes) {
16429
+ if (node.props && typeof node.props.value === "string") {
16430
+ const value = node.props.value;
16431
+ const label = node.props.label;
16432
+ if (label) ctx.registerItem(value, label);
16433
+ else {
16434
+ const children = node.children;
16435
+ if (children && typeof children === "object" && "default" in children) {
16436
+ const slotFn = children.default;
16437
+ if (typeof slotFn === "function") {
16438
+ const text = extractNodeText(slotFn()).trim();
16439
+ if (text) ctx.registerItem(value, text);
16440
+ }
16441
+ } else if (typeof children === "string") {
16442
+ const text = children.trim();
16443
+ if (text) ctx.registerItem(value, text);
16444
+ } else if (Array.isArray(children)) {
16445
+ const text = extractNodeText(children).trim();
16446
+ if (text) ctx.registerItem(value, text);
16447
+ }
16448
+ }
16449
+ }
16450
+ if (Array.isArray(node.children)) walkAndRegister(node.children);
16451
+ }
16452
+ }
16453
+ (0, vue.watchEffect)(() => {
16454
+ const vnodes = slots.default?.();
16455
+ if (vnodes) walkAndRegister(vnodes);
16456
+ });
16067
16457
  return (_ctx, _cache) => {
16068
16458
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AutocompletePortal), null, {
16069
16459
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(AnimatePresence_default), null, {
16070
- default: (0, vue.withCtx)(() => [(0, vue.unref)(rootContext).open.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AutocompleteContent), {
16460
+ default: (0, vue.withCtx)(() => [(0, vue.unref)(rootContext).open.value && ((0, vue.unref)(ctx).hasItems.value || (0, vue.unref)(ctx).isFilled.value && !(0, vue.unref)(ctx).isLoading.value) ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AutocompleteContent), {
16071
16461
  key: 0,
16072
16462
  position: "popper",
16073
16463
  "side-offset": props.sideOffset,
@@ -16077,6 +16467,7 @@ var AutocompleteContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
16077
16467
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(motion).div, {
16078
16468
  class: (0, vue.normalizeClass)(["autocomplete__popover", "relative"]),
16079
16469
  "data-loading": (0, vue.unref)(ctx).isLoading.value ? "" : void 0,
16470
+ "data-truncate-items": (0, vue.unref)(ctx).truncateItems.value ? void 0 : "false",
16080
16471
  "aria-busy": (0, vue.unref)(ctx).isLoading.value || void 0,
16081
16472
  initial: {
16082
16473
  opacity: 0,
@@ -16099,17 +16490,22 @@ var AutocompleteContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
16099
16490
  "data-disabled": (0, vue.unref)(ctx).isLoading.value ? "" : void 0,
16100
16491
  "data-slot": "list-wrapper"
16101
16492
  }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.AutocompleteViewport), { "data-slot": "list-box" }, {
16102
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default"), (0, vue.createVNode)((0, vue.unref)(reka_ui.AutocompleteEmpty), {
16493
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default"), (0, vue.unref)(ctx).isFilled.value && !(0, vue.unref)(ctx).isLoading.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AutocompleteEmpty), {
16494
+ key: 0,
16103
16495
  class: "py-3 text-center text-sm text-default-400",
16104
16496
  "data-slot": "empty-content"
16105
16497
  }, {
16106
16498
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "empty", {}, () => [_cache[0] || (_cache[0] = (0, vue.createTextVNode)(" No results found ", -1))])]),
16107
16499
  _: 3
16108
- })]),
16500
+ })) : (0, vue.createCommentVNode)("", true)]),
16109
16501
  _: 3
16110
- })], 10, _hoisted_1$26)]),
16502
+ })], 10, _hoisted_1$29)]),
16111
16503
  _: 3
16112
- }, 8, ["data-loading", "aria-busy"])]),
16504
+ }, 8, [
16505
+ "data-loading",
16506
+ "data-truncate-items",
16507
+ "aria-busy"
16508
+ ])]),
16113
16509
  _: 3
16114
16510
  }, 8, ["side-offset"])) : (0, vue.createCommentVNode)("", true)]),
16115
16511
  _: 3
@@ -16120,12 +16516,17 @@ var AutocompleteContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
16120
16516
  }
16121
16517
  });
16122
16518
  //#endregion
16519
+ //#region src/components/autocomplete/AutocompleteItem.vue?vue&type=script&setup=true&lang.ts
16520
+ var _hoisted_1$28 = {
16521
+ class: "autocomplete-item__text",
16522
+ "data-slot": "item-text"
16523
+ };
16524
+ //#endregion
16123
16525
  //#region src/components/autocomplete/AutocompleteItem.vue
16124
16526
  var AutocompleteItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
16125
16527
  __name: "AutocompleteItem",
16126
16528
  props: {
16127
16529
  value: {},
16128
- textValue: { default: void 0 },
16129
16530
  isDisabled: {
16130
16531
  type: Boolean,
16131
16532
  default: false
@@ -16134,10 +16535,30 @@ var AutocompleteItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
16134
16535
  },
16135
16536
  setup(__props) {
16136
16537
  const props = __props;
16538
+ const slots = (0, vue.useSlots)();
16539
+ const ctx = useAutocompleteInject();
16540
+ function extractText(nodes) {
16541
+ return nodes.map((n) => {
16542
+ if (typeof n.children === "string") return n.children;
16543
+ if (Array.isArray(n.children)) return extractText(n.children);
16544
+ return "";
16545
+ }).join("");
16546
+ }
16547
+ const displayText = (0, vue.computed)(() => {
16548
+ const vnodes = slots.default?.();
16549
+ if (!vnodes) return props.value;
16550
+ return extractText(vnodes).trim() || props.value;
16551
+ });
16552
+ (0, vue.onMounted)(() => {
16553
+ ctx.registerItem(props.value, displayText.value);
16554
+ });
16555
+ (0, vue.onUnmounted)(() => {
16556
+ ctx.unregisterItem(props.value);
16557
+ });
16137
16558
  return (_ctx, _cache) => {
16138
16559
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AutocompleteItem), {
16139
- value: props.textValue ?? props.value,
16140
- "text-value": props.textValue ?? props.value,
16560
+ value: displayText.value,
16561
+ "text-value": displayText.value,
16141
16562
  disabled: props.isDisabled,
16142
16563
  "data-item-value": props.value,
16143
16564
  class: "list-box-item list-box-item--default",
@@ -16145,7 +16566,7 @@ var AutocompleteItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
16145
16566
  }, {
16146
16567
  default: (0, vue.withCtx)(() => [
16147
16568
  (0, vue.renderSlot)(_ctx.$slots, "startContent"),
16148
- (0, vue.renderSlot)(_ctx.$slots, "default"),
16569
+ (0, vue.createElementVNode)("span", _hoisted_1$28, [(0, vue.renderSlot)(_ctx.$slots, "default")]),
16149
16570
  (0, vue.createVNode)((0, vue.unref)(reka_ui.ComboboxItemIndicator), {
16150
16571
  class: "list-box-item__indicator",
16151
16572
  "data-slot": "list-box-item-indicator"
@@ -16213,14 +16634,14 @@ var TagGroupInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
16213
16634
  });
16214
16635
  //#endregion
16215
16636
  //#region src/components/tag-group/TagGroup.vue?vue&type=script&setup=true&lang.ts
16216
- var _hoisted_1$25 = [
16637
+ var _hoisted_1$27 = [
16217
16638
  "data-invalid",
16218
16639
  "data-required",
16219
16640
  "data-disabled",
16220
16641
  "data-readonly"
16221
16642
  ];
16222
- var _hoisted_2$14 = ["id"];
16223
- var _hoisted_3$9 = {
16643
+ var _hoisted_2$16 = ["id"];
16644
+ var _hoisted_3$10 = {
16224
16645
  key: 0,
16225
16646
  "aria-hidden": "true"
16226
16647
  };
@@ -16311,7 +16732,7 @@ var TagGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
16311
16732
  id: (0, vue.unref)(labelId),
16312
16733
  class: "text-sm font-medium text-default-foreground w-fit",
16313
16734
  "data-slot": "label"
16314
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(props.label) + " ", 1), props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$9, " *")) : (0, vue.createCommentVNode)("", true)], 8, _hoisted_2$14)) : (0, vue.createCommentVNode)("", true),
16735
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(props.label) + " ", 1), props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$10, " *")) : (0, vue.createCommentVNode)("", true)], 8, _hoisted_2$16)) : (0, vue.createCommentVNode)("", true),
16315
16736
  (0, vue.createVNode)((0, vue.unref)(reka_ui.TagsInputRoot), {
16316
16737
  "model-value": props.modelValue,
16317
16738
  "default-value": props.defaultValue,
@@ -16343,7 +16764,7 @@ var TagGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
16343
16764
  "class"
16344
16765
  ]),
16345
16766
  props.description || props.isInvalid && props.errorMessage ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$5, [props.isInvalid && props.errorMessage ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_5$4, (0, vue.toDisplayString)(props.errorMessage), 1)) : props.description ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("p", _hoisted_6$4, (0, vue.toDisplayString)(props.description), 1)) : (0, vue.createCommentVNode)("", true)])) : (0, vue.createCommentVNode)("", true)
16346
- ], 10, _hoisted_1$25);
16767
+ ], 10, _hoisted_1$27);
16347
16768
  };
16348
16769
  }
16349
16770
  });
@@ -16564,8 +16985,8 @@ var Pagination_default = /* @__PURE__ */ (0, vue.defineComponent)({
16564
16985
  });
16565
16986
  //#endregion
16566
16987
  //#region src/components/pagination/PaginationContent.vue?vue&type=script&setup=true&lang.ts
16567
- var _hoisted_1$24 = ["disabled", "data-disabled"];
16568
- var _hoisted_2$13 = ["disabled", "data-disabled"];
16988
+ var _hoisted_1$26 = ["disabled", "data-disabled"];
16989
+ var _hoisted_2$15 = ["disabled", "data-disabled"];
16569
16990
  //#endregion
16570
16991
  //#region src/components/pagination/PaginationContent.vue
16571
16992
  var PaginationContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -16597,7 +17018,7 @@ var PaginationContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
16597
17018
  "data-disabled": !hasPreviousPage.value || (0, vue.unref)(ctx).disabled.value || void 0,
16598
17019
  "aria-label": "Before page",
16599
17020
  onClick: _cache[0] || (_cache[0] = ($event) => (0, vue.unref)(ctx).onCursorChange((0, vue.unref)(ctx).beforeCursor.value, null))
16600
- }, [(0, vue.renderSlot)(_ctx.$slots, "before", {}, () => [_cache[2] || (_cache[2] = (0, vue.createTextVNode)(" Before ", -1))])], 10, _hoisted_1$24),
17021
+ }, [(0, vue.renderSlot)(_ctx.$slots, "before", {}, () => [_cache[2] || (_cache[2] = (0, vue.createTextVNode)(" Before ", -1))])], 10, _hoisted_1$26),
16601
17022
  (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(styles.value.summary?.()) }, [(0, vue.renderSlot)(_ctx.$slots, "page-info", {}, () => [(0, vue.createTextVNode)("Page " + (0, vue.toDisplayString)((0, vue.unref)(ctx).page.value), 1)])], 2),
16602
17023
  (0, vue.createElementVNode)("button", {
16603
17024
  type: "button",
@@ -16606,7 +17027,7 @@ var PaginationContent_default = /* @__PURE__ */ (0, vue.defineComponent)({
16606
17027
  "data-disabled": !hasNextPage.value || (0, vue.unref)(ctx).disabled.value || void 0,
16607
17028
  "aria-label": "After page",
16608
17029
  onClick: _cache[1] || (_cache[1] = ($event) => (0, vue.unref)(ctx).onCursorChange(null, (0, vue.unref)(ctx).afterCursor.value))
16609
- }, [(0, vue.renderSlot)(_ctx.$slots, "after", {}, () => [_cache[3] || (_cache[3] = (0, vue.createTextVNode)(" After ", -1))])], 10, _hoisted_2$13)
17030
+ }, [(0, vue.renderSlot)(_ctx.$slots, "after", {}, () => [_cache[3] || (_cache[3] = (0, vue.createTextVNode)(" After ", -1))])], 10, _hoisted_2$15)
16610
17031
  ], 2));
16611
17032
  };
16612
17033
  }
@@ -19388,7 +19809,7 @@ function useTableKeyboardNav(options) {
19388
19809
  }
19389
19810
  //#endregion
19390
19811
  //#region src/components/table/TableHeader.vue?vue&type=script&setup=true&lang.ts
19391
- var _hoisted_1$23 = [
19812
+ var _hoisted_1$25 = [
19392
19813
  "data-col-index",
19393
19814
  "aria-sort",
19394
19815
  "data-allows-sorting",
@@ -19443,7 +19864,7 @@ var TableHeader_default = /* @__PURE__ */ (0, vue.defineComponent)({
19443
19864
  key: 0,
19444
19865
  render: header.column.columnDef.header,
19445
19866
  props: header.getContext()
19446
- }, null, 8, ["render", "props"])) : (0, vue.createCommentVNode)("", true)], 42, _hoisted_1$23);
19867
+ }, null, 8, ["render", "props"])) : (0, vue.createCommentVNode)("", true)], 42, _hoisted_1$25);
19447
19868
  }), 128))], 2);
19448
19869
  }), 128))], 2);
19449
19870
  };
@@ -19451,14 +19872,14 @@ var TableHeader_default = /* @__PURE__ */ (0, vue.defineComponent)({
19451
19872
  });
19452
19873
  //#endregion
19453
19874
  //#region src/components/table/TableBody.vue?vue&type=script&setup=true&lang.ts
19454
- var _hoisted_1$22 = [
19875
+ var _hoisted_1$24 = [
19455
19876
  "aria-rowindex",
19456
19877
  "aria-selected",
19457
19878
  "data-state",
19458
19879
  "onClick",
19459
19880
  "onKeydown"
19460
19881
  ];
19461
- var _hoisted_2$12 = [
19882
+ var _hoisted_2$14 = [
19462
19883
  "data-row-index",
19463
19884
  "data-col-index",
19464
19885
  "tabindex"
@@ -19506,8 +19927,8 @@ var TableBody_default = /* @__PURE__ */ (0, vue.defineComponent)({
19506
19927
  }, () => [(0, vue.createVNode)((0, vue.unref)(FlexRender), {
19507
19928
  render: cell.column.columnDef.cell,
19508
19929
  props: cell.getContext()
19509
- }, null, 8, ["render", "props"])])], 10, _hoisted_2$12);
19510
- }), 128))], 42, _hoisted_1$22);
19930
+ }, null, 8, ["render", "props"])])], 10, _hoisted_2$14);
19931
+ }), 128))], 42, _hoisted_1$24);
19511
19932
  }), 128))], 2);
19512
19933
  };
19513
19934
  }
@@ -20299,12 +20720,12 @@ function useVirtualizer(options) {
20299
20720
  }
20300
20721
  //#endregion
20301
20722
  //#region src/components/table/TableVirtualBody.vue?vue&type=script&setup=true&lang.ts
20302
- var _hoisted_1$21 = {
20723
+ var _hoisted_1$23 = {
20303
20724
  key: 0,
20304
20725
  "aria-hidden": "true"
20305
20726
  };
20306
- var _hoisted_2$11 = ["colspan"];
20307
- var _hoisted_3$8 = [
20727
+ var _hoisted_2$13 = ["colspan"];
20728
+ var _hoisted_3$9 = [
20308
20729
  "aria-rowindex",
20309
20730
  "aria-selected",
20310
20731
  "data-state",
@@ -20367,14 +20788,14 @@ var TableVirtualBody_default = /* @__PURE__ */ (0, vue.defineComponent)({
20367
20788
  __expose({ scrollToIndex: (index) => virtualizer.value.scrollToIndex(index, { align: "auto" }) });
20368
20789
  return (_ctx, _cache) => {
20369
20790
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("tbody", { class: (0, vue.normalizeClass)(slotFns.value.body()) }, [
20370
- paddingTop.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("tr", _hoisted_1$21, [(0, vue.createElementVNode)("td", {
20791
+ paddingTop.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("tr", _hoisted_1$23, [(0, vue.createElementVNode)("td", {
20371
20792
  colspan: columnCount.value,
20372
20793
  style: (0, vue.normalizeStyle)({
20373
20794
  height: `${paddingTop.value}px`,
20374
20795
  padding: 0,
20375
20796
  border: "none"
20376
20797
  })
20377
- }, null, 12, _hoisted_2$11)])) : (0, vue.createCommentVNode)("", true),
20798
+ }, null, 12, _hoisted_2$13)])) : (0, vue.createCommentVNode)("", true),
20378
20799
  ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(virtualItems.value, (vItem) => {
20379
20800
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("tr", {
20380
20801
  key: rows.value[vItem.index].id,
@@ -20397,7 +20818,7 @@ var TableVirtualBody_default = /* @__PURE__ */ (0, vue.defineComponent)({
20397
20818
  render: cell.column.columnDef.cell,
20398
20819
  props: cell.getContext()
20399
20820
  }, null, 8, ["render", "props"])], 10, _hoisted_4$4);
20400
- }), 128))], 42, _hoisted_3$8);
20821
+ }), 128))], 42, _hoisted_3$9);
20401
20822
  }), 128)),
20402
20823
  paddingBottom.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("tr", _hoisted_5$3, [(0, vue.createElementVNode)("td", {
20403
20824
  colspan: columnCount.value,
@@ -20470,7 +20891,7 @@ var TableCheckboxCell_default = /* @__PURE__ */ (0, vue.defineComponent)({
20470
20891
  });
20471
20892
  //#endregion
20472
20893
  //#region src/components/table/Table.vue?vue&type=script&setup=true&lang.ts
20473
- var _hoisted_1$20 = [
20894
+ var _hoisted_1$22 = [
20474
20895
  "aria-label",
20475
20896
  "aria-rowcount",
20476
20897
  "aria-colcount"
@@ -20643,7 +21064,7 @@ var Table_default = /* @__PURE__ */ (0, vue.defineComponent)({
20643
21064
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "footer")]),
20644
21065
  _: 3
20645
21066
  })) : (0, vue.createCommentVNode)("", true)
20646
- ], 40, _hoisted_1$20)], 6)], 2);
21067
+ ], 40, _hoisted_1$22)], 6)], 2);
20647
21068
  };
20648
21069
  }
20649
21070
  });
@@ -20664,7 +21085,7 @@ var TableRow_default = /* @__PURE__ */ (0, vue.defineComponent)({
20664
21085
  });
20665
21086
  //#endregion
20666
21087
  //#region src/components/table/TableCell.vue?vue&type=script&setup=true&lang.ts
20667
- var _hoisted_1$19 = ["data-row-index", "data-col-index"];
21088
+ var _hoisted_1$21 = ["data-row-index", "data-col-index"];
20668
21089
  //#endregion
20669
21090
  //#region src/components/table/TableCell.vue
20670
21091
  var TableCell_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -20682,13 +21103,13 @@ var TableCell_default = /* @__PURE__ */ (0, vue.defineComponent)({
20682
21103
  class: (0, vue.normalizeClass)(slotFns.value.cell()),
20683
21104
  "data-row-index": __props.rowIndex,
20684
21105
  "data-col-index": __props.columnIndex
20685
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$19);
21106
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$21);
20686
21107
  };
20687
21108
  }
20688
21109
  });
20689
21110
  //#endregion
20690
21111
  //#region src/components/table/TableHeaderCell.vue?vue&type=script&setup=true&lang.ts
20691
- var _hoisted_1$18 = ["data-col-index", "aria-sort"];
21112
+ var _hoisted_1$20 = ["data-col-index", "aria-sort"];
20692
21113
  //#endregion
20693
21114
  //#region src/components/table/TableHeaderCell.vue
20694
21115
  var TableHeaderCell_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -20706,7 +21127,7 @@ var TableHeaderCell_default = /* @__PURE__ */ (0, vue.defineComponent)({
20706
21127
  class: (0, vue.normalizeClass)(slotFns.value.column()),
20707
21128
  "data-col-index": __props.columnIndex,
20708
21129
  "aria-sort": __props.sortDirection
20709
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$18);
21130
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$20);
20710
21131
  };
20711
21132
  }
20712
21133
  });
@@ -20715,11 +21136,11 @@ var TableHeaderCell_default = /* @__PURE__ */ (0, vue.defineComponent)({
20715
21136
  var { useProvide: useAvatarGroupProvide, useInject: useAvatarGroupInject, key: avatarGroupContextKey } = createContext("AvatarGroup");
20716
21137
  //#endregion
20717
21138
  //#region src/components/avatar/Avatar.vue?vue&type=script&setup=true&lang.ts
20718
- var _hoisted_1$17 = {
21139
+ var _hoisted_1$19 = {
20719
21140
  key: 0,
20720
21141
  class: /* @__PURE__ */ (0, vue.normalizeClass)("avatar__name text-xs font-medium leading-none")
20721
21142
  };
20722
- var _hoisted_2$10 = {
21143
+ var _hoisted_2$12 = {
20723
21144
  key: 1,
20724
21145
  class: "avatar__icon size-4/5",
20725
21146
  "aria-hidden": "true",
@@ -20794,7 +21215,7 @@ var Avatar_default = /* @__PURE__ */ (0, vue.defineComponent)({
20794
21215
  "alt",
20795
21216
  "class"
20796
21217
  ])) : (0, vue.createCommentVNode)("", true), (0, vue.createVNode)((0, vue.unref)(reka_ui.AvatarFallback), (0, vue.mergeProps)({ class: slotFns.value.fallback() }, props.src && !props.showFallback ? { "delay-ms": 600 } : {}), {
20797
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "fallback", {}, () => [initials.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$17, (0, vue.toDisplayString)(initials.value), 1)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$10, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z" }, null, -1)])]))])]),
21218
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "fallback", {}, () => [initials.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$19, (0, vue.toDisplayString)(initials.value), 1)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_2$12, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z" }, null, -1)])]))])]),
20798
21219
  _: 3
20799
21220
  }, 16, ["class"])]),
20800
21221
  _: 3
@@ -21017,7 +21438,7 @@ var SplitterResizeHandle_default = /* @__PURE__ */ (0, vue.defineComponent)({
21017
21438
  var stepperContextKey = Symbol("Stepper");
21018
21439
  //#endregion
21019
21440
  //#region src/components/stepper/Stepper.vue?vue&type=script&setup=true&lang.ts
21020
- var _hoisted_1$16 = ["aria-label"];
21441
+ var _hoisted_1$18 = ["aria-label"];
21021
21442
  //#endregion
21022
21443
  //#region src/components/stepper/Stepper.vue
21023
21444
  var Stepper_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -21067,13 +21488,13 @@ var Stepper_default = /* @__PURE__ */ (0, vue.defineComponent)({
21067
21488
  class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)(slotFns.value.base(), props.class)),
21068
21489
  "aria-label": `Step ${currentStep.value} of ${__props.totalSteps}`,
21069
21490
  "data-slot": "stepper"
21070
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$16);
21491
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 10, _hoisted_1$18);
21071
21492
  };
21072
21493
  }
21073
21494
  });
21074
21495
  //#endregion
21075
21496
  //#region src/components/stepper/StepperItem.vue?vue&type=script&setup=true&lang.ts
21076
- var _hoisted_1$15 = ["data-status", "data-step"];
21497
+ var _hoisted_1$17 = ["data-status", "data-step"];
21077
21498
  //#endregion
21078
21499
  //#region src/components/stepper/StepperItem.vue
21079
21500
  var StepperItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -21103,7 +21524,7 @@ var StepperItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
21103
21524
  isCurrent: status.value === "current",
21104
21525
  isCompleted: status.value === "completed",
21105
21526
  isError: status.value === "error"
21106
- })], 10, _hoisted_1$15);
21527
+ })], 10, _hoisted_1$17);
21107
21528
  };
21108
21529
  }
21109
21530
  });
@@ -21271,7 +21692,7 @@ var Tree_default = /* @__PURE__ */ (0, vue.defineComponent)({
21271
21692
  });
21272
21693
  //#endregion
21273
21694
  //#region src/components/tree/TreeItem.vue?vue&type=script&setup=true&lang.ts
21274
- var _hoisted_1$14 = ["data-selected", "data-expanded"];
21695
+ var _hoisted_1$16 = ["data-selected", "data-expanded"];
21275
21696
  //#endregion
21276
21697
  //#region src/components/tree/TreeItem.vue
21277
21698
  var TreeItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -21314,7 +21735,7 @@ var TreeItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
21314
21735
  handleToggle: s.handleToggle,
21315
21736
  toggleClass: slotFns.value.itemToggle(),
21316
21737
  iconClass: slotFns.value.itemIcon()
21317
- })], 14, _hoisted_1$14)]),
21738
+ })], 14, _hoisted_1$16)]),
21318
21739
  _: 3
21319
21740
  }, 8, [
21320
21741
  "value",
@@ -21326,7 +21747,7 @@ var TreeItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
21326
21747
  });
21327
21748
  //#endregion
21328
21749
  //#region src/components/tree/TreeItemToggle.vue?vue&type=script&setup=true&lang.ts
21329
- var _hoisted_1$13 = ["data-expanded", "data-no-children"];
21750
+ var _hoisted_1$15 = ["data-expanded", "data-no-children"];
21330
21751
  //#endregion
21331
21752
  //#region src/components/tree/TreeItemToggle.vue
21332
21753
  var TreeItemToggle_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -21362,18 +21783,18 @@ var TreeItemToggle_default = /* @__PURE__ */ (0, vue.defineComponent)({
21362
21783
  "stroke-linecap": "round",
21363
21784
  "stroke-linejoin": "round",
21364
21785
  "aria-hidden": "true"
21365
- }, [(0, vue.createElementVNode)("path", { d: "m9 18 6-6-6-6" })], -1))])], 10, _hoisted_1$13);
21786
+ }, [(0, vue.createElementVNode)("path", { d: "m9 18 6-6-6-6" })], -1))])], 10, _hoisted_1$15);
21366
21787
  };
21367
21788
  }
21368
21789
  });
21369
21790
  //#endregion
21370
21791
  //#region src/components/slider/Slider.vue?vue&type=script&setup=true&lang.ts
21371
- var _hoisted_1$12 = ["data-orientation", "data-disabled"];
21372
- var _hoisted_2$9 = {
21792
+ var _hoisted_1$14 = ["data-orientation", "data-disabled"];
21793
+ var _hoisted_2$11 = {
21373
21794
  key: 0,
21374
21795
  "data-slot": "label"
21375
21796
  };
21376
- var _hoisted_3$7 = { class: "relative flex items-center gap-2" };
21797
+ var _hoisted_3$8 = { class: "relative flex items-center gap-2" };
21377
21798
  //#endregion
21378
21799
  //#region src/components/slider/Slider.vue
21379
21800
  var Slider_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -21463,10 +21884,10 @@ var Slider_default = /* @__PURE__ */ (0, vue.defineComponent)({
21463
21884
  class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)(slotFns.value.base(), props.class)),
21464
21885
  "data-orientation": __props.orientation,
21465
21886
  "data-disabled": __props.disabled || void 0
21466
- }, [showLabelWrapper.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [__props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("label", _hoisted_2$9, (0, vue.toDisplayString)(__props.label), 1)) : (0, vue.createCommentVNode)("", true), !__props.hideValue ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("output", {
21887
+ }, [showLabelWrapper.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [__props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("label", _hoisted_2$11, (0, vue.toDisplayString)(__props.label), 1)) : (0, vue.createCommentVNode)("", true), !__props.hideValue ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("output", {
21467
21888
  key: 1,
21468
21889
  class: (0, vue.normalizeClass)(slotFns.value.output())
21469
- }, (0, vue.toDisplayString)(formatted.value), 3)) : (0, vue.createCommentVNode)("", true)], 64)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", _hoisted_3$7, [
21890
+ }, (0, vue.toDisplayString)(formatted.value), 3)) : (0, vue.createCommentVNode)("", true)], 64)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", _hoisted_3$8, [
21470
21891
  (0, vue.renderSlot)(_ctx.$slots, "startContent"),
21471
21892
  (0, vue.createVNode)((0, vue.unref)(reka_ui.SliderRoot), {
21472
21893
  modelValue: internalValue.value,
@@ -21523,13 +21944,13 @@ var Slider_default = /* @__PURE__ */ (0, vue.defineComponent)({
21523
21944
  "data-orientation"
21524
21945
  ]),
21525
21946
  (0, vue.renderSlot)(_ctx.$slots, "endContent")
21526
- ])], 10, _hoisted_1$12);
21947
+ ])], 10, _hoisted_1$14);
21527
21948
  };
21528
21949
  }
21529
21950
  });
21530
21951
  //#endregion
21531
21952
  //#region src/components/progress-bar/ProgressBar.vue?vue&type=script&setup=true&lang.ts
21532
- var _hoisted_1$11 = ["data-disabled"];
21953
+ var _hoisted_1$13 = ["data-disabled"];
21533
21954
  //#endregion
21534
21955
  //#region src/components/progress-bar/ProgressBar.vue
21535
21956
  var ProgressBar_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -21612,14 +22033,14 @@ var ProgressBar_default = /* @__PURE__ */ (0, vue.defineComponent)({
21612
22033
  "max",
21613
22034
  "class",
21614
22035
  "aria-label"
21615
- ])], 10, _hoisted_1$11);
22036
+ ])], 10, _hoisted_1$13);
21616
22037
  };
21617
22038
  }
21618
22039
  });
21619
22040
  //#endregion
21620
22041
  //#region src/components/progress-circle/ProgressCircle.vue?vue&type=script&setup=true&lang.ts
21621
- var _hoisted_1$10 = ["r", "stroke-width"];
21622
- var _hoisted_2$8 = [
22042
+ var _hoisted_1$12 = ["r", "stroke-width"];
22043
+ var _hoisted_2$10 = [
21623
22044
  "r",
21624
22045
  "stroke-width",
21625
22046
  "stroke-dasharray",
@@ -21695,7 +22116,7 @@ var ProgressCircle_default = /* @__PURE__ */ (0, vue.defineComponent)({
21695
22116
  r: radius.value,
21696
22117
  "stroke-width": __props.strokeWidth,
21697
22118
  fill: "none"
21698
- }, null, 10, _hoisted_1$10), (0, vue.createElementVNode)("circle", {
22119
+ }, null, 10, _hoisted_1$12), (0, vue.createElementVNode)("circle", {
21699
22120
  class: (0, vue.normalizeClass)(slotFns.value.indicator()),
21700
22121
  cx: "16",
21701
22122
  cy: "16",
@@ -21707,7 +22128,7 @@ var ProgressCircle_default = /* @__PURE__ */ (0, vue.defineComponent)({
21707
22128
  "stroke-dashoffset": offset.value,
21708
22129
  transform: "rotate(-90 16 16)",
21709
22130
  style: { "transition": "stroke-dashoffset 300ms ease-out" }
21710
- }, null, 10, _hoisted_2$8)], 2)), __props.showValueLabel || __props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
22131
+ }, null, 10, _hoisted_2$10)], 2)), __props.showValueLabel || __props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
21711
22132
  key: 0,
21712
22133
  class: (0, vue.normalizeClass)(slotFns.value.value())
21713
22134
  }, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(formattedValue.value), 1)])], 2)) : (0, vue.createCommentVNode)("", true)]),
@@ -21724,11 +22145,11 @@ var ProgressCircle_default = /* @__PURE__ */ (0, vue.defineComponent)({
21724
22145
  });
21725
22146
  //#endregion
21726
22147
  //#region src/components/meter/Meter.vue?vue&type=script&setup=true&lang.ts
21727
- var _hoisted_1$9 = {
22148
+ var _hoisted_1$11 = {
21728
22149
  key: 0,
21729
22150
  "data-slot": "label"
21730
22151
  };
21731
- var _hoisted_2$7 = [
22152
+ var _hoisted_2$9 = [
21732
22153
  "aria-valuenow",
21733
22154
  "aria-valuemin",
21734
22155
  "aria-valuemax",
@@ -21771,7 +22192,7 @@ var Meter_default = /* @__PURE__ */ (0, vue.defineComponent)({
21771
22192
  }));
21772
22193
  return (_ctx, _cache) => {
21773
22194
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)(slotFns.value.base(), props.class)) }, [
21774
- __props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$9, (0, vue.toDisplayString)(__props.label), 1)) : (0, vue.createCommentVNode)("", true),
22195
+ __props.label ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$11, (0, vue.toDisplayString)(__props.label), 1)) : (0, vue.createCommentVNode)("", true),
21775
22196
  __props.showValueLabel ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("output", {
21776
22197
  key: 1,
21777
22198
  class: (0, vue.normalizeClass)(slotFns.value.output())
@@ -21787,14 +22208,14 @@ var Meter_default = /* @__PURE__ */ (0, vue.defineComponent)({
21787
22208
  }, [(0, vue.createElementVNode)("div", {
21788
22209
  class: (0, vue.normalizeClass)(slotFns.value.fill()),
21789
22210
  style: (0, vue.normalizeStyle)({ width: percentage.value + "%" })
21790
- }, null, 6)], 10, _hoisted_2$7)
22211
+ }, null, 6)], 10, _hoisted_2$9)
21791
22212
  ], 2);
21792
22213
  };
21793
22214
  }
21794
22215
  });
21795
22216
  //#endregion
21796
22217
  //#region src/components/scroll-shadow/ScrollShadow.vue?vue&type=script&setup=true&lang.ts
21797
- var _hoisted_1$8 = [
22218
+ var _hoisted_1$10 = [
21798
22219
  "data-orientation",
21799
22220
  "data-top-scroll",
21800
22221
  "data-bottom-scroll",
@@ -21839,7 +22260,7 @@ var ScrollShadow_default = /* @__PURE__ */ (0, vue.defineComponent)({
21839
22260
  "data-left-scroll": leftScroll.value ? "true" : void 0,
21840
22261
  "data-right-scroll": rightScroll.value ? "true" : void 0,
21841
22262
  style: (0, vue.normalizeStyle)({ "--scroll-shadow-size": __props.size + "px" })
21842
- }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 14, _hoisted_1$8);
22263
+ }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 14, _hoisted_1$10);
21843
22264
  };
21844
22265
  }
21845
22266
  });
@@ -22727,9 +23148,9 @@ var CalendarYearPicker_default = /* @__PURE__ */ (0, vue.defineComponent)({
22727
23148
  });
22728
23149
  //#endregion
22729
23150
  //#region src/components/calendar/Calendar.vue?vue&type=script&setup=true&lang.ts
22730
- var _hoisted_1$7 = ["aria-label"];
22731
- var _hoisted_2$6 = ["aria-label"];
22732
- var _hoisted_3$6 = ["aria-label"];
23151
+ var _hoisted_1$9 = ["aria-label"];
23152
+ var _hoisted_2$8 = ["aria-label"];
23153
+ var _hoisted_3$7 = ["aria-label"];
22733
23154
  //#endregion
22734
23155
  //#region src/components/calendar/Calendar.vue
22735
23156
  var Calendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -22848,7 +23269,7 @@ var Calendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
22848
23269
  class: (0, vue.normalizeClass)(slotFns.value.headingButton()),
22849
23270
  "aria-label": `Switch to ${nextViewLabel.value} view`,
22850
23271
  onClick: cycleView
22851
- }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_1$7)]),
23272
+ }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_1$9)]),
22852
23273
  _: 1
22853
23274
  }, 8, ["class"]),
22854
23275
  (0, vue.createVNode)((0, vue.unref)(reka_ui.CalendarNext), {
@@ -22986,7 +23407,7 @@ var Calendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
22986
23407
  class: (0, vue.normalizeClass)(slotFns.value.headingButton()),
22987
23408
  "aria-label": `Switch to ${nextViewLabel.value} view`,
22988
23409
  onClick: cycleView
22989
- }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_2$6)]),
23410
+ }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_2$8)]),
22990
23411
  _: 1
22991
23412
  }, 8, ["class"]),
22992
23413
  (0, vue.createVNode)((0, vue.unref)(reka_ui.MonthPickerNext), {
@@ -23064,7 +23485,7 @@ var Calendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
23064
23485
  class: (0, vue.normalizeClass)(slotFns.value.headingButton()),
23065
23486
  "aria-label": `Switch to ${nextViewLabel.value} view`,
23066
23487
  onClick: cycleView
23067
- }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_3$6)]),
23488
+ }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_3$7)]),
23068
23489
  _: 1
23069
23490
  }, 8, [
23070
23491
  "placeholder",
@@ -23081,9 +23502,9 @@ var Calendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
23081
23502
  });
23082
23503
  //#endregion
23083
23504
  //#region src/components/range-calendar/RangeCalendar.vue?vue&type=script&setup=true&lang.ts
23084
- var _hoisted_1$6 = ["aria-label"];
23085
- var _hoisted_2$5 = ["aria-label"];
23086
- var _hoisted_3$5 = ["aria-label"];
23505
+ var _hoisted_1$8 = ["aria-label"];
23506
+ var _hoisted_2$7 = ["aria-label"];
23507
+ var _hoisted_3$6 = ["aria-label"];
23087
23508
  //#endregion
23088
23509
  //#region src/components/range-calendar/RangeCalendar.vue
23089
23510
  var RangeCalendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -23207,7 +23628,7 @@ var RangeCalendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
23207
23628
  class: (0, vue.normalizeClass)(slotFns.value.headingButton()),
23208
23629
  "aria-label": `Switch to ${nextViewLabel.value} view`,
23209
23630
  onClick: cycleView
23210
- }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_1$6)]),
23631
+ }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_1$8)]),
23211
23632
  _: 1
23212
23633
  }, 8, ["class"]),
23213
23634
  (0, vue.createVNode)((0, vue.unref)(reka_ui.RangeCalendarNext), {
@@ -23346,7 +23767,7 @@ var RangeCalendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
23346
23767
  class: (0, vue.normalizeClass)(slotFns.value.headingButton()),
23347
23768
  "aria-label": `Switch to ${nextViewLabel.value} view`,
23348
23769
  onClick: cycleView
23349
- }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_2$5)]),
23770
+ }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_2$7)]),
23350
23771
  _: 1
23351
23772
  }, 8, ["class"]),
23352
23773
  (0, vue.createVNode)((0, vue.unref)(reka_ui.MonthPickerNext), {
@@ -23448,7 +23869,7 @@ var RangeCalendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
23448
23869
  class: (0, vue.normalizeClass)(slotFns.value.headingButton()),
23449
23870
  "aria-label": `Switch to ${nextViewLabel.value} view`,
23450
23871
  onClick: cycleView
23451
- }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_3$5)]),
23872
+ }, (0, vue.toDisplayString)(headingValue), 11, _hoisted_3$6)]),
23452
23873
  _: 1
23453
23874
  }, 8, ["class"]),
23454
23875
  (0, vue.createVNode)((0, vue.unref)(reka_ui.YearPickerNext), {
@@ -23515,7 +23936,7 @@ var RangeCalendar_default = /* @__PURE__ */ (0, vue.defineComponent)({
23515
23936
  });
23516
23937
  //#endregion
23517
23938
  //#region src/components/date-input/DateInput.vue?vue&type=script&setup=true&lang.ts
23518
- var _hoisted_1$5 = [
23939
+ var _hoisted_1$7 = [
23519
23940
  "data-invalid",
23520
23941
  "data-disabled",
23521
23942
  "data-readonly",
@@ -23523,8 +23944,8 @@ var _hoisted_1$5 = [
23523
23944
  "data-has-label",
23524
23945
  "data-has-helper"
23525
23946
  ];
23526
- var _hoisted_2$4 = ["id", "for"];
23527
- var _hoisted_3$4 = {
23947
+ var _hoisted_2$6 = ["id", "for"];
23948
+ var _hoisted_3$5 = {
23528
23949
  key: 0,
23529
23950
  "aria-hidden": "true"
23530
23951
  };
@@ -23722,7 +24143,7 @@ var DateInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
23722
24143
  id: labelId.value,
23723
24144
  for: fieldId.value,
23724
24145
  class: (0, vue.normalizeClass)(slotFns.value.label())
23725
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$4, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$4)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.DateFieldRoot), {
24146
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$5, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$6)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.DateFieldRoot), {
23726
24147
  id: fieldId.value,
23727
24148
  ref_key: "fieldRef",
23728
24149
  ref: fieldRef,
@@ -23819,13 +24240,13 @@ var DateInput_default = /* @__PURE__ */ (0, vue.defineComponent)({
23819
24240
  key: 1,
23820
24241
  id: descriptionId.value,
23821
24242
  class: (0, vue.normalizeClass)(slotFns.value.description())
23822
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_7$2)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$5);
24243
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_7$2)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$7);
23823
24244
  };
23824
24245
  }
23825
24246
  });
23826
24247
  //#endregion
23827
24248
  //#region src/components/date-range-field/DateRangeField.vue?vue&type=script&setup=true&lang.ts
23828
- var _hoisted_1$4 = [
24249
+ var _hoisted_1$6 = [
23829
24250
  "data-invalid",
23830
24251
  "data-disabled",
23831
24252
  "data-readonly",
@@ -23833,8 +24254,8 @@ var _hoisted_1$4 = [
23833
24254
  "data-has-label",
23834
24255
  "data-has-helper"
23835
24256
  ];
23836
- var _hoisted_2$3 = ["id", "for"];
23837
- var _hoisted_3$3 = {
24257
+ var _hoisted_2$5 = ["id", "for"];
24258
+ var _hoisted_3$4 = {
23838
24259
  key: 0,
23839
24260
  "aria-hidden": "true"
23840
24261
  };
@@ -24033,7 +24454,7 @@ var DateRangeField_default = /* @__PURE__ */ (0, vue.defineComponent)({
24033
24454
  id: labelId.value,
24034
24455
  for: fieldId.value,
24035
24456
  class: (0, vue.normalizeClass)(slotFns.value.label())
24036
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$3, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$3)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.DateRangeFieldRoot), {
24457
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$4, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$5)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.DateRangeFieldRoot), {
24037
24458
  id: fieldId.value,
24038
24459
  ref_key: "fieldRef",
24039
24460
  ref: fieldRef,
@@ -24152,13 +24573,13 @@ var DateRangeField_default = /* @__PURE__ */ (0, vue.defineComponent)({
24152
24573
  key: 1,
24153
24574
  id: descriptionId.value,
24154
24575
  class: (0, vue.normalizeClass)(slotFns.value.description())
24155
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_7$1)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$4);
24576
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_7$1)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$6);
24156
24577
  };
24157
24578
  }
24158
24579
  });
24159
24580
  //#endregion
24160
24581
  //#region src/components/time-field/TimeField.vue?vue&type=script&setup=true&lang.ts
24161
- var _hoisted_1$3 = [
24582
+ var _hoisted_1$5 = [
24162
24583
  "data-invalid",
24163
24584
  "data-disabled",
24164
24585
  "data-readonly",
@@ -24166,8 +24587,8 @@ var _hoisted_1$3 = [
24166
24587
  "data-has-label",
24167
24588
  "data-has-helper"
24168
24589
  ];
24169
- var _hoisted_2$2 = ["id", "for"];
24170
- var _hoisted_3$2 = {
24590
+ var _hoisted_2$4 = ["id", "for"];
24591
+ var _hoisted_3$3 = {
24171
24592
  key: 0,
24172
24593
  "aria-hidden": "true"
24173
24594
  };
@@ -24366,7 +24787,7 @@ var TimeField_default = /* @__PURE__ */ (0, vue.defineComponent)({
24366
24787
  id: labelId.value,
24367
24788
  for: fieldId.value,
24368
24789
  class: (0, vue.normalizeClass)(slotFns.value.label())
24369
- }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$2, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$2)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.TimeFieldRoot), {
24790
+ }, [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.label), 1), __props.isRequired ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$3, " *")) : (0, vue.createCommentVNode)("", true)], 10, _hoisted_2$4)) : (0, vue.createCommentVNode)("", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(slotFns.value.mainWrapper()) }, [(0, vue.createVNode)((0, vue.unref)(reka_ui.TimeFieldRoot), {
24370
24791
  id: fieldId.value,
24371
24792
  ref_key: "fieldRef",
24372
24793
  ref: fieldRef,
@@ -24463,7 +24884,7 @@ var TimeField_default = /* @__PURE__ */ (0, vue.defineComponent)({
24463
24884
  key: 1,
24464
24885
  id: descriptionId.value,
24465
24886
  class: (0, vue.normalizeClass)(slotFns.value.description())
24466
- }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_7)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$3);
24887
+ }, (0, vue.toDisplayString)(__props.description), 11, _hoisted_7)) : (0, vue.createCommentVNode)("", true)], 2)) : (0, vue.createCommentVNode)("", true)], 2)], 10, _hoisted_1$5);
24467
24888
  };
24468
24889
  }
24469
24890
  });
@@ -24543,7 +24964,12 @@ var DatePicker_default = /* @__PURE__ */ (0, vue.defineComponent)({
24543
24964
  const calendarValue = (0, vue.computed)({
24544
24965
  get: () => modelValue.value ?? void 0,
24545
24966
  set: (val) => {
24546
- modelValue.value = val ?? null;
24967
+ if (val != null && modelValue.value != null && "hour" in modelValue.value) modelValue.value = modelValue.value.set({
24968
+ year: val.year,
24969
+ month: val.month,
24970
+ day: val.day
24971
+ });
24972
+ else modelValue.value = val ?? null;
24547
24973
  if (props.closeOnSelect && val != null) openModel.value = false;
24548
24974
  }
24549
24975
  });
@@ -24986,6 +25412,546 @@ var DateRangePicker_default = /* @__PURE__ */ (0, vue.defineComponent)({
24986
25412
  }
24987
25413
  });
24988
25414
  //#endregion
25415
+ //#region src/components/date-time-picker/DateTimePickerTimeScroller.vue?vue&type=script&setup=true&lang.ts
25416
+ var _hoisted_1$4 = ["aria-label", "onScrollPassive"];
25417
+ var _hoisted_2$3 = [
25418
+ "data-selected",
25419
+ "aria-selected",
25420
+ "onClick"
25421
+ ];
25422
+ var ITEM_H = 40;
25423
+ //#endregion
25424
+ //#region src/components/date-time-picker/DateTimePickerTimeScroller.vue
25425
+ var DateTimePickerTimeScroller_default = /* @__PURE__ */ (0, vue.defineComponent)({
25426
+ __name: "DateTimePickerTimeScroller",
25427
+ props: {
25428
+ modelValue: {},
25429
+ granularity: { default: "minute" },
25430
+ hourCycle: { default: 24 },
25431
+ class: { default: void 0 }
25432
+ },
25433
+ emits: ["update:modelValue"],
25434
+ setup(__props, { expose: __expose, emit: __emit }) {
25435
+ const props = __props;
25436
+ const emit = __emit;
25437
+ const hours24 = Array.from({ length: 24 }, (_, i) => i);
25438
+ const hours12 = [12, ...Array.from({ length: 11 }, (_, i) => i + 1)];
25439
+ const minutes = Array.from({ length: 60 }, (_, i) => i);
25440
+ const seconds = Array.from({ length: 60 }, (_, i) => i);
25441
+ const ampm = ["AM", "PM"];
25442
+ const hourItems = (0, vue.computed)(() => props.hourCycle === 12 ? hours12 : hours24);
25443
+ const columns = (0, vue.computed)(() => {
25444
+ const cols = [{
25445
+ key: "hour",
25446
+ items: hourItems.value
25447
+ }, {
25448
+ key: "minute",
25449
+ items: minutes
25450
+ }];
25451
+ if (props.granularity === "second") cols.push({
25452
+ key: "second",
25453
+ items: seconds
25454
+ });
25455
+ if (props.hourCycle === 12) cols.push({
25456
+ key: "ampm",
25457
+ items: ampm
25458
+ });
25459
+ return cols;
25460
+ });
25461
+ function currentIndexFor(key) {
25462
+ const v = props.modelValue;
25463
+ if (key === "hour") {
25464
+ if (props.hourCycle === 12) {
25465
+ const h12 = v.hour % 12 === 0 ? 12 : v.hour % 12;
25466
+ return hours12.indexOf(h12);
25467
+ }
25468
+ return v.hour;
25469
+ }
25470
+ if (key === "minute") return v.minute;
25471
+ if (key === "second") return v.second ?? 0;
25472
+ if (key === "ampm") return v.hour >= 12 ? 1 : 0;
25473
+ return 0;
25474
+ }
25475
+ const columnRefs = (0, vue.ref)([]);
25476
+ function scrollColumnToIndex(colEl, index) {
25477
+ colEl.scrollTop = index * ITEM_H;
25478
+ }
25479
+ function syncScrollPositions() {
25480
+ columns.value.forEach((col, i) => {
25481
+ const el = columnRefs.value[i];
25482
+ if (el) scrollColumnToIndex(el, currentIndexFor(col.key));
25483
+ });
25484
+ }
25485
+ (0, vue.onMounted)(() => (0, vue.nextTick)(syncScrollPositions));
25486
+ (0, vue.watch)(() => props.modelValue, () => (0, vue.nextTick)(syncScrollPositions));
25487
+ function onColumnScroll(key, colEl) {
25488
+ const idx = Math.round(colEl.scrollTop / ITEM_H);
25489
+ const item = columns.value.find((c) => c.key === key).items[idx];
25490
+ if (item === void 0) return;
25491
+ const v = props.modelValue;
25492
+ if (key === "hour") {
25493
+ let newHour;
25494
+ if (props.hourCycle === 12) {
25495
+ const isPm = v.hour >= 12;
25496
+ const h12 = item;
25497
+ newHour = h12 === 12 ? isPm ? 12 : 0 : isPm ? h12 + 12 : h12;
25498
+ } else newHour = item;
25499
+ emit("update:modelValue", v.set({ hour: newHour }));
25500
+ } else if (key === "minute") emit("update:modelValue", v.set({ minute: item }));
25501
+ else if (key === "second") emit("update:modelValue", v.set({ second: item }));
25502
+ else if (key === "ampm") {
25503
+ const isPm = item === "PM";
25504
+ if (isPm !== v.hour >= 12) emit("update:modelValue", v.set({ hour: isPm ? v.hour + 12 : v.hour - 12 }));
25505
+ }
25506
+ }
25507
+ function onKeyDown(e, colEl) {
25508
+ if (e.key === "ArrowDown") {
25509
+ e.preventDefault();
25510
+ colEl.scrollTop += ITEM_H;
25511
+ } else if (e.key === "ArrowUp") {
25512
+ e.preventDefault();
25513
+ colEl.scrollTop -= ITEM_H;
25514
+ }
25515
+ }
25516
+ function onItemClick(colEl, idx) {
25517
+ colEl.scrollTo({
25518
+ top: idx * ITEM_H,
25519
+ behavior: "smooth"
25520
+ });
25521
+ }
25522
+ function columnLabel(key) {
25523
+ if (key === "hour") return "Hour";
25524
+ if (key === "minute") return "Minute";
25525
+ if (key === "second") return "Second";
25526
+ return "AM/PM";
25527
+ }
25528
+ function itemLabel(_key, item) {
25529
+ if (typeof item === "string") return item;
25530
+ return String(item).padStart(2, "0");
25531
+ }
25532
+ __expose({
25533
+ columnRefs,
25534
+ columns,
25535
+ currentIndexFor
25536
+ });
25537
+ return (_ctx, _cache) => {
25538
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
25539
+ class: (0, vue.normalizeClass)(["date-time-picker__scroller-wrap", props.class]),
25540
+ "data-slot": "time-scroller"
25541
+ }, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(columns.value, (col, i) => {
25542
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
25543
+ key: col.key,
25544
+ ref_for: true,
25545
+ ref: (el) => {
25546
+ if (el) columnRefs.value[i] = el;
25547
+ },
25548
+ class: "date-time-picker__scroller-column",
25549
+ "aria-label": columnLabel(col.key),
25550
+ "data-slot": "scroller-column",
25551
+ role: "listbox",
25552
+ tabindex: "0",
25553
+ onScrollPassive: ($event) => onColumnScroll(col.key, $event.currentTarget),
25554
+ onKeydown: _cache[0] || (_cache[0] = ($event) => onKeyDown($event, $event.currentTarget))
25555
+ }, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(col.items, (item, idx) => {
25556
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
25557
+ key: idx,
25558
+ class: "date-time-picker__scroller-item",
25559
+ "data-selected": idx === currentIndexFor(col.key) ? "true" : void 0,
25560
+ "aria-selected": idx === currentIndexFor(col.key),
25561
+ role: "option",
25562
+ onClick: ($event) => onItemClick(columnRefs.value[i], idx)
25563
+ }, (0, vue.toDisplayString)(itemLabel(col.key, item)), 9, _hoisted_2$3);
25564
+ }), 128))], 40, _hoisted_1$4);
25565
+ }), 128))], 2);
25566
+ };
25567
+ }
25568
+ });
25569
+ //#endregion
25570
+ //#region src/components/date-time-picker/DateTimePicker.vue?vue&type=script&setup=true&lang.ts
25571
+ var _hoisted_1$3 = ["data-hidden"];
25572
+ var _hoisted_2$2 = ["aria-label"];
25573
+ var _hoisted_3$2 = {
25574
+ key: 1,
25575
+ width: "14",
25576
+ height: "14",
25577
+ viewBox: "0 0 24 24",
25578
+ fill: "none",
25579
+ stroke: "currentColor",
25580
+ "stroke-width": "2.5",
25581
+ "stroke-linecap": "round",
25582
+ "stroke-linejoin": "round",
25583
+ "aria-hidden": "true"
25584
+ };
25585
+ //#endregion
25586
+ //#region src/components/date-time-picker/DateTimePicker.vue
25587
+ var DateTimePicker_default = /* @__PURE__ */ (0, vue.defineComponent)({
25588
+ inheritAttrs: false,
25589
+ __name: "DateTimePicker",
25590
+ props: /* @__PURE__ */ (0, vue.mergeModels)({
25591
+ variant: {},
25592
+ size: { default: "md" },
25593
+ color: { default: "default" },
25594
+ labelPlacement: { default: "inside" },
25595
+ fullWidth: {
25596
+ type: Boolean,
25597
+ default: false
25598
+ },
25599
+ label: {},
25600
+ description: {},
25601
+ errorMessage: {},
25602
+ isInvalid: {
25603
+ type: Boolean,
25604
+ default: false
25605
+ },
25606
+ isDisabled: {
25607
+ type: Boolean,
25608
+ default: false
25609
+ },
25610
+ isReadOnly: {
25611
+ type: Boolean,
25612
+ default: false
25613
+ },
25614
+ isRequired: {
25615
+ type: Boolean,
25616
+ default: false
25617
+ },
25618
+ name: {},
25619
+ class: {},
25620
+ granularity: { default: "minute" },
25621
+ hourCycle: {},
25622
+ hideTimeZone: {
25623
+ type: Boolean,
25624
+ default: false
25625
+ },
25626
+ defaultOpen: {
25627
+ type: Boolean,
25628
+ default: false
25629
+ },
25630
+ closeOnSelect: {
25631
+ type: Boolean,
25632
+ default: true
25633
+ },
25634
+ locale: {},
25635
+ defaultValue: {},
25636
+ minValue: {},
25637
+ maxValue: {},
25638
+ isDateUnavailable: {},
25639
+ isDateDisabled: {}
25640
+ }, {
25641
+ "modelValue": {},
25642
+ "modelModifiers": {},
25643
+ "open": {
25644
+ type: Boolean,
25645
+ default: void 0
25646
+ },
25647
+ "openModifiers": {}
25648
+ }),
25649
+ emits: ["update:modelValue", "update:open"],
25650
+ setup(__props) {
25651
+ const props = __props;
25652
+ const modelValue = (0, vue.useModel)(__props, "modelValue");
25653
+ const openModel = (0, vue.useModel)(__props, "open");
25654
+ const STEP_TITLES = {
25655
+ date: "Pick a date",
25656
+ time: "Pick a time"
25657
+ };
25658
+ const STEP_ORDER = ["date", "time"];
25659
+ if (props.defaultOpen && openModel.value === void 0) openModel.value = true;
25660
+ if (modelValue.value == null && props.defaultValue != null) modelValue.value = props.defaultValue;
25661
+ const _today = $ad063034c8620db8$export$d0bdf45af03a6ea3($ad063034c8620db8$export$aa8b41735afcabd2());
25662
+ const internalValue = (0, vue.shallowRef)(modelValue.value ?? props.defaultValue ?? new $2aaf608024c21ca1$export$ca871e8dbb80966f(_today.year, _today.month, _today.day, 0, 0));
25663
+ (0, vue.watch)(modelValue, (v) => {
25664
+ if (v instanceof $2aaf608024c21ca1$export$ca871e8dbb80966f) internalValue.value = v;
25665
+ });
25666
+ function onInputChange(v) {
25667
+ if (!(v instanceof $2aaf608024c21ca1$export$ca871e8dbb80966f)) return;
25668
+ internalValue.value = v;
25669
+ modelValue.value = v;
25670
+ }
25671
+ const activeStep = (0, vue.ref)("date");
25672
+ const direction = (0, vue.ref)(1);
25673
+ (0, vue.watch)(openModel, (open) => {
25674
+ if (open) activeStep.value = "date";
25675
+ });
25676
+ function goTo(step) {
25677
+ const from = STEP_ORDER.indexOf(activeStep.value);
25678
+ direction.value = STEP_ORDER.indexOf(step) > from ? 1 : -1;
25679
+ activeStep.value = step;
25680
+ }
25681
+ function goBack() {
25682
+ const idx = STEP_ORDER.indexOf(activeStep.value);
25683
+ if (idx > 0) goTo(STEP_ORDER[idx - 1]);
25684
+ }
25685
+ function goForward() {
25686
+ const idx = STEP_ORDER.indexOf(activeStep.value);
25687
+ if (idx < STEP_ORDER.length - 1) goTo(STEP_ORDER[idx + 1]);
25688
+ else if (props.closeOnSelect) openModel.value = false;
25689
+ }
25690
+ const panelInitial = (0, vue.computed)(() => ({
25691
+ x: direction.value > 0 ? "100%" : "-100%",
25692
+ opacity: 0
25693
+ }));
25694
+ const panelAnimate = {
25695
+ x: "0%",
25696
+ opacity: 1
25697
+ };
25698
+ const panelExit = (0, vue.computed)(() => ({
25699
+ x: direction.value > 0 ? "-100%" : "100%",
25700
+ opacity: 0
25701
+ }));
25702
+ const calendarValue = (0, vue.computed)({
25703
+ get: () => $d07e34cce18680fd$export$93522d1a439f3617(internalValue.value),
25704
+ set: (val) => {
25705
+ if (!val) return;
25706
+ internalValue.value = internalValue.value.set({
25707
+ year: val.year,
25708
+ month: val.month,
25709
+ day: val.day
25710
+ });
25711
+ modelValue.value = internalValue.value;
25712
+ goTo("time");
25713
+ }
25714
+ });
25715
+ function onTimeUpdate(val) {
25716
+ internalValue.value = val;
25717
+ modelValue.value = val;
25718
+ }
25719
+ const slotFns = (0, vue.computed)(() => (0, _auronui_styles.dateTimePickerVariants)({
25720
+ isInvalid: props.isInvalid,
25721
+ isDisabled: props.isDisabled,
25722
+ fullWidth: props.fullWidth
25723
+ }));
25724
+ return (_ctx, _cache) => {
25725
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.DatePickerRoot), {
25726
+ modelValue: modelValue.value,
25727
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => modelValue.value = $event),
25728
+ open: openModel.value,
25729
+ "onUpdate:open": _cache[3] || (_cache[3] = ($event) => openModel.value = $event),
25730
+ "default-value": __props.defaultValue,
25731
+ "default-open": __props.defaultOpen,
25732
+ "min-value": __props.minValue,
25733
+ "max-value": __props.maxValue,
25734
+ "is-date-unavailable": __props.isDateUnavailable,
25735
+ "is-date-disabled": __props.isDateDisabled,
25736
+ locale: __props.locale,
25737
+ granularity: __props.granularity,
25738
+ "hour-cycle": __props.hourCycle,
25739
+ disabled: __props.isDisabled,
25740
+ readonly: __props.isReadOnly,
25741
+ name: __props.name,
25742
+ class: (0, vue.normalizeClass)((0, vue.unref)(composeClassName)(slotFns.value.base(), props.class)),
25743
+ "data-slot": "date-time-picker"
25744
+ }, {
25745
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)(DateInput_default, {
25746
+ "model-value": internalValue.value,
25747
+ variant: __props.variant,
25748
+ size: __props.size,
25749
+ color: __props.color,
25750
+ "label-placement": __props.labelPlacement,
25751
+ "full-width": __props.fullWidth,
25752
+ "default-value": __props.defaultValue,
25753
+ granularity: __props.granularity,
25754
+ "hour-cycle": __props.hourCycle,
25755
+ locale: __props.locale,
25756
+ label: __props.label,
25757
+ description: __props.description,
25758
+ "error-message": __props.errorMessage,
25759
+ "is-invalid": __props.isInvalid,
25760
+ "is-disabled": __props.isDisabled,
25761
+ "is-read-only": __props.isReadOnly,
25762
+ "is-required": __props.isRequired,
25763
+ name: __props.name,
25764
+ "hide-time-zone": __props.hideTimeZone,
25765
+ "onUpdate:modelValue": onInputChange
25766
+ }, {
25767
+ endContent: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(reka_ui.DatePickerTrigger), {
25768
+ class: (0, vue.normalizeClass)(slotFns.value.trigger()),
25769
+ "aria-label": "Open date time picker",
25770
+ onMousedown: _cache[0] || (_cache[0] = (0, vue.withModifiers)(() => {}, ["prevent"]))
25771
+ }, {
25772
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "selectorIcon", {}, () => [((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", {
25773
+ class: (0, vue.normalizeClass)(slotFns.value.triggerIndicator()),
25774
+ xmlns: "http://www.w3.org/2000/svg",
25775
+ width: "16",
25776
+ height: "16",
25777
+ viewBox: "0 0 24 24",
25778
+ fill: "none",
25779
+ stroke: "currentColor",
25780
+ "stroke-width": "2",
25781
+ "stroke-linecap": "round",
25782
+ "stroke-linejoin": "round",
25783
+ "aria-hidden": "true",
25784
+ focusable: "false"
25785
+ }, [..._cache[4] || (_cache[4] = [
25786
+ (0, vue.createElementVNode)("rect", {
25787
+ x: "3",
25788
+ y: "4",
25789
+ width: "18",
25790
+ height: "18",
25791
+ rx: "2",
25792
+ ry: "2"
25793
+ }, null, -1),
25794
+ (0, vue.createElementVNode)("line", {
25795
+ x1: "16",
25796
+ y1: "2",
25797
+ x2: "16",
25798
+ y2: "6"
25799
+ }, null, -1),
25800
+ (0, vue.createElementVNode)("line", {
25801
+ x1: "8",
25802
+ y1: "2",
25803
+ x2: "8",
25804
+ y2: "6"
25805
+ }, null, -1),
25806
+ (0, vue.createElementVNode)("line", {
25807
+ x1: "3",
25808
+ y1: "10",
25809
+ x2: "21",
25810
+ y2: "10"
25811
+ }, null, -1)
25812
+ ])], 2))])]),
25813
+ _: 3
25814
+ }, 8, ["class"])]),
25815
+ _: 3
25816
+ }, 8, [
25817
+ "model-value",
25818
+ "variant",
25819
+ "size",
25820
+ "color",
25821
+ "label-placement",
25822
+ "full-width",
25823
+ "default-value",
25824
+ "granularity",
25825
+ "hour-cycle",
25826
+ "locale",
25827
+ "label",
25828
+ "description",
25829
+ "error-message",
25830
+ "is-invalid",
25831
+ "is-disabled",
25832
+ "is-read-only",
25833
+ "is-required",
25834
+ "name",
25835
+ "hide-time-zone"
25836
+ ]), (0, vue.createVNode)((0, vue.unref)(reka_ui.DatePickerContent), {
25837
+ class: (0, vue.normalizeClass)(slotFns.value.popover()),
25838
+ "data-slot": "popover",
25839
+ "side-offset": 8
25840
+ }, {
25841
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", {
25842
+ class: (0, vue.normalizeClass)(slotFns.value.stepHeader()),
25843
+ "data-slot": "step-header"
25844
+ }, [
25845
+ (0, vue.createElementVNode)("button", {
25846
+ type: "button",
25847
+ class: (0, vue.normalizeClass)(slotFns.value.navButton()),
25848
+ "data-hidden": activeStep.value === "date" ? "true" : void 0,
25849
+ "aria-label": "Previous step",
25850
+ "data-slot": "back-button",
25851
+ onClick: goBack
25852
+ }, [..._cache[5] || (_cache[5] = [(0, vue.createElementVNode)("svg", {
25853
+ width: "14",
25854
+ height: "14",
25855
+ viewBox: "0 0 24 24",
25856
+ fill: "none",
25857
+ stroke: "currentColor",
25858
+ "stroke-width": "2.5",
25859
+ "stroke-linecap": "round",
25860
+ "stroke-linejoin": "round",
25861
+ "aria-hidden": "true"
25862
+ }, [(0, vue.createElementVNode)("polyline", { points: "15 18 9 12 15 6" })], -1)])], 10, _hoisted_1$3),
25863
+ (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(slotFns.value.stepTitle()) }, (0, vue.toDisplayString)(STEP_TITLES[activeStep.value]), 3),
25864
+ (0, vue.createElementVNode)("button", {
25865
+ type: "button",
25866
+ class: (0, vue.normalizeClass)(slotFns.value.navButton()),
25867
+ "aria-label": activeStep.value === "time" ? "Done" : "Next step",
25868
+ "data-slot": "forward-button",
25869
+ onClick: goForward
25870
+ }, [activeStep.value === "time" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
25871
+ key: 0,
25872
+ class: (0, vue.normalizeClass)(slotFns.value.doneLabel())
25873
+ }, "Done", 2)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_3$2, [..._cache[6] || (_cache[6] = [(0, vue.createElementVNode)("polyline", { points: "9 18 15 12 9 6" }, null, -1)])]))], 10, _hoisted_2$2)
25874
+ ], 2), (0, vue.createElementVNode)("div", {
25875
+ class: (0, vue.normalizeClass)(slotFns.value.panelWrap()),
25876
+ style: { "overflow": "hidden" }
25877
+ }, [(0, vue.createVNode)((0, vue.unref)(AnimatePresence_default), { mode: "popLayout" }, {
25878
+ default: (0, vue.withCtx)(() => [activeStep.value === "date" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(motion).div, {
25879
+ key: "date",
25880
+ initial: panelInitial.value,
25881
+ animate: panelAnimate,
25882
+ exit: panelExit.value,
25883
+ transition: { duration: .15 },
25884
+ class: "px-3 pb-3",
25885
+ "data-slot": "calendar-panel"
25886
+ }, {
25887
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)(Calendar_default, {
25888
+ modelValue: calendarValue.value,
25889
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => calendarValue.value = $event),
25890
+ "default-value": __props.defaultValue,
25891
+ "min-value": __props.minValue,
25892
+ "max-value": __props.maxValue,
25893
+ "is-date-disabled": __props.isDateDisabled,
25894
+ "is-date-unavailable": __props.isDateUnavailable,
25895
+ locale: __props.locale,
25896
+ readonly: __props.isReadOnly,
25897
+ disabled: __props.isDisabled
25898
+ }, null, 8, [
25899
+ "modelValue",
25900
+ "default-value",
25901
+ "min-value",
25902
+ "max-value",
25903
+ "is-date-disabled",
25904
+ "is-date-unavailable",
25905
+ "locale",
25906
+ "readonly",
25907
+ "disabled"
25908
+ ])]),
25909
+ _: 1
25910
+ }, 8, ["initial", "exit"])) : activeStep.value === "time" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(motion).div, {
25911
+ key: "time",
25912
+ initial: panelInitial.value,
25913
+ animate: panelAnimate,
25914
+ exit: panelExit.value,
25915
+ transition: { duration: .15 }
25916
+ }, {
25917
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)(DateTimePickerTimeScroller_default, {
25918
+ "model-value": internalValue.value,
25919
+ granularity: __props.granularity,
25920
+ "hour-cycle": __props.hourCycle,
25921
+ "onUpdate:modelValue": onTimeUpdate
25922
+ }, null, 8, [
25923
+ "model-value",
25924
+ "granularity",
25925
+ "hour-cycle"
25926
+ ])]),
25927
+ _: 1
25928
+ }, 8, ["initial", "exit"])) : (0, vue.createCommentVNode)("", true)]),
25929
+ _: 1
25930
+ })], 2)]),
25931
+ _: 1
25932
+ }, 8, ["class"])]),
25933
+ _: 3
25934
+ }, 8, [
25935
+ "modelValue",
25936
+ "open",
25937
+ "default-value",
25938
+ "default-open",
25939
+ "min-value",
25940
+ "max-value",
25941
+ "is-date-unavailable",
25942
+ "is-date-disabled",
25943
+ "locale",
25944
+ "granularity",
25945
+ "hour-cycle",
25946
+ "disabled",
25947
+ "readonly",
25948
+ "name",
25949
+ "class"
25950
+ ]);
25951
+ };
25952
+ }
25953
+ });
25954
+ //#endregion
24989
25955
  //#region src/components/color-picker/color-picker.context.ts
24990
25956
  var { useProvide: provideColorPickerContext, useInject: useColorPickerInject, key: ColorPickerContextKey } = createContext("ColorPicker");
24991
25957
  //#endregion
@@ -25671,6 +26637,7 @@ exports.DateInput = DateInput_default;
25671
26637
  exports.DatePicker = DatePicker_default;
25672
26638
  exports.DateRangeField = DateRangeField_default;
25673
26639
  exports.DateRangePicker = DateRangePicker_default;
26640
+ exports.DateTimePicker = DateTimePicker_default;
25674
26641
  exports.Description = Description_default;
25675
26642
  exports.Drawer = Drawer_default;
25676
26643
  exports.DrawerBody = DrawerBody_default;
@@ -25695,6 +26662,8 @@ exports.DropdownTrigger = DropdownTrigger_default;
25695
26662
  exports.EmptyState = EmptyState_default;
25696
26663
  exports.EmptyStateContent = EmptyStateContent_default;
25697
26664
  exports.Fieldset = Fieldset_default;
26665
+ exports.Form = Form_default;
26666
+ exports.FormField = FormField_default;
25698
26667
  exports.Header = Header_default;
25699
26668
  exports.Input = Input_default;
25700
26669
  exports.InputOTP = InputOTP_default;