rei-kit 2.15.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import { n as BaseSkeleton_default, r as useMediaQuery, t as BaseListbox_default
7
7
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
8
8
  import { t as BaseButton_default } from "./BaseButton-RN2an975.js";
9
9
  import { t as SettingsRow_default } from "./SettingsRow-Ct1p2C9Q.js";
10
- import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onErrorCaptured, onMounted, onScopeDispose, openBlock, readonly, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, useId, useModel, useTemplateRef, vModelRadio, vModelSelect, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withModifiers } from "vue";
10
+ import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onErrorCaptured, onMounted, onScopeDispose, openBlock, readonly, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, useId, useModel, useTemplateRef, vModelRadio, vModelSelect, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
11
11
  import { ArrowDown, ArrowRight, ArrowUp, ArrowUpRight, CalendarDays, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Clock, Copy, Info, Minus, Paperclip, Plus, Star, TriangleAlert, Upload, X, XCircle } from "lucide-vue-next";
12
12
  import { RouterLink } from "vue-router";
13
13
  import { createI18n } from "vue-i18n";
@@ -348,17 +348,17 @@ function useDragScroll(target) {
348
348
  }
349
349
  //#endregion
350
350
  //#region src/components/BaseAvatar.vue?vue&type=script&setup=true&lang.ts
351
- var _hoisted_1$41 = [
351
+ var _hoisted_1$42 = [
352
352
  "role",
353
353
  "aria-label",
354
354
  "aria-hidden"
355
355
  ];
356
- var _hoisted_2$34 = ["src"];
357
- var _hoisted_3$22 = {
356
+ var _hoisted_2$35 = ["src"];
357
+ var _hoisted_3$23 = {
358
358
  key: 1,
359
359
  class: "rk-avatar-initials"
360
360
  };
361
- var _hoisted_4$17 = {
361
+ var _hoisted_4$18 = {
362
362
  key: 2,
363
363
  viewBox: "0 0 20 20",
364
364
  class: "rk-avatar-figure",
@@ -404,7 +404,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
404
404
  alt: "",
405
405
  class: "rk-avatar-img",
406
406
  onError: _cache[0] || (_cache[0] = ($event) => broken.value = true)
407
- }, null, 40, _hoisted_2$34)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$22, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$17, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
407
+ }, null, 40, _hoisted_2$35)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$23, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$18, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
408
408
  cx: "10",
409
409
  cy: "6.75",
410
410
  r: "3.25",
@@ -413,7 +413,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
413
413
  d: "M3.75 17c0-3.05 2.8-5.25 6.25-5.25S16.25 13.95 16.25 17",
414
414
  "stroke-width": "1.5",
415
415
  "stroke-linecap": "round"
416
- }, null, -1)])]))], 10, _hoisted_1$41);
416
+ }, null, -1)])]))], 10, _hoisted_1$42);
417
417
  };
418
418
  }
419
419
  }), [["__scopeId", "data-v-47586bec"]]);
@@ -438,12 +438,12 @@ var BaseBadge_default = /* @__PURE__ */ defineComponent({
438
438
  });
439
439
  //#endregion
440
440
  //#region src/components/BaseMenu.vue?vue&type=script&setup=true&lang.ts
441
- var _hoisted_1$40 = [
441
+ var _hoisted_1$41 = [
442
442
  "aria-label",
443
443
  "aria-expanded",
444
444
  "aria-controls"
445
445
  ];
446
- var _hoisted_2$33 = ["id"];
446
+ var _hoisted_2$34 = ["id"];
447
447
  //#endregion
448
448
  //#region src/components/BaseMenu.vue
449
449
  var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -542,14 +542,14 @@ var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
542
542
  "aria-haspopup": true,
543
543
  "aria-controls": open.value ? unref(id) : void 0,
544
544
  onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)
545
- }, [renderSlot(_ctx.$slots, "trigger", { open: open.value }, void 0, true)], 8, _hoisted_1$40), open.value ? (openBlock(), createElementBlock("div", {
545
+ }, [renderSlot(_ctx.$slots, "trigger", { open: open.value }, void 0, true)], 8, _hoisted_1$41), open.value ? (openBlock(), createElementBlock("div", {
546
546
  key: 0,
547
547
  id: unref(id),
548
548
  ref_key: "panel",
549
549
  ref: panel,
550
550
  class: normalizeClass(["rk-menu-panel surface-overlay", `is-${__props.align}`]),
551
551
  role: "menu"
552
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$33)) : createCommentVNode("", true)], 544);
552
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$34)) : createCommentVNode("", true)], 544);
553
553
  };
554
554
  }
555
555
  }), [["__scopeId", "data-v-e57ec901"]]);
@@ -620,13 +620,13 @@ var BaseCard_default = /* @__PURE__ */ defineComponent({
620
620
  });
621
621
  //#endregion
622
622
  //#region src/components/BaseCombobox.vue?vue&type=script&setup=true&lang.ts
623
- var _hoisted_1$39 = ["for"];
624
- var _hoisted_2$32 = [
623
+ var _hoisted_1$40 = ["for"];
624
+ var _hoisted_2$33 = [
625
625
  "aria-label",
626
626
  "disabled",
627
627
  "onClick"
628
628
  ];
629
- var _hoisted_3$21 = [
629
+ var _hoisted_3$22 = [
630
630
  "id",
631
631
  "placeholder",
632
632
  "disabled",
@@ -635,8 +635,8 @@ var _hoisted_3$21 = [
635
635
  "aria-invalid",
636
636
  "aria-describedby"
637
637
  ];
638
- var _hoisted_4$16 = ["disabled"];
639
- var _hoisted_5$9 = [
638
+ var _hoisted_4$17 = ["disabled"];
639
+ var _hoisted_5$10 = [
640
640
  "aria-label",
641
641
  "aria-multiselectable",
642
642
  "aria-busy"
@@ -871,7 +871,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
871
871
  createElementVNode("label", {
872
872
  for: unref(id),
873
873
  class: "rk-combo-label"
874
- }, toDisplayString(__props.label), 9, _hoisted_1$39),
874
+ }, toDisplayString(__props.label), 9, _hoisted_1$40),
875
875
  createElementVNode("div", { class: normalizeClass(["rk-combo-field", multiple.value ? "is-multiple control" : ""]) }, [
876
876
  (openBlock(true), createElementBlock(Fragment, null, renderList(multiple.value ? chosenOptions.value : [], (option) => {
877
877
  return openBlock(), createElementBlock("span", {
@@ -884,7 +884,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
884
884
  "aria-label": __props.removeLabel(option.label),
885
885
  disabled: __props.disabled,
886
886
  onClick: ($event) => remove(option.value)
887
- }, " × ", 8, _hoisted_2$32)) : createCommentVNode("", true)]);
887
+ }, " × ", 8, _hoisted_2$33)) : createCommentVNode("", true)]);
888
888
  }), 128)),
889
889
  withDirectives(createElementVNode("input", {
890
890
  id: unref(id),
@@ -903,7 +903,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
903
903
  "aria-describedby": describedBy.value,
904
904
  onKeydown,
905
905
  onFocus: _cache[1] || (_cache[1] = ($event) => open.value = true)
906
- }, null, 42, _hoisted_3$21), [[vModelText, text.value]]),
906
+ }, null, 42, _hoisted_3$22), [[vModelText, text.value]]),
907
907
  createElementVNode("button", {
908
908
  type: "button",
909
909
  class: "rk-combo-toggle",
@@ -911,7 +911,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
911
911
  "aria-hidden": "true",
912
912
  disabled: __props.disabled,
913
913
  onClick: _cache[2] || (_cache[2] = ($event) => open.value = !open.value)
914
- }, " ▾ ", 8, _hoisted_4$16)
914
+ }, " ▾ ", 8, _hoisted_4$17)
915
915
  ], 2),
916
916
  withDirectives(createElementVNode("ul", {
917
917
  id: listId,
@@ -958,7 +958,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
958
958
  height: "0.75rem"
959
959
  });
960
960
  }), 64))])])) : matches.value.length === 0 ? (openBlock(), createElementBlock("li", _hoisted_10$3, toDisplayString(__props.emptyLabel), 1)) : createCommentVNode("", true)
961
- ], 40, _hoisted_5$9), [[vShow, open.value]]),
961
+ ], 40, _hoisted_5$10), [[vShow, open.value]]),
962
962
  __props.error ? (openBlock(), createElementBlock("p", {
963
963
  key: 0,
964
964
  id: errorId,
@@ -974,13 +974,13 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
974
974
  }), [["__scopeId", "data-v-aa2335fa"]]);
975
975
  //#endregion
976
976
  //#region src/components/BaseRadioGroup.vue?vue&type=script&setup=true&lang.ts
977
- var _hoisted_1$38 = ["aria-describedby"];
978
- var _hoisted_2$31 = [
977
+ var _hoisted_1$39 = ["aria-describedby"];
978
+ var _hoisted_2$32 = [
979
979
  "name",
980
980
  "value",
981
981
  "disabled"
982
982
  ];
983
- var _hoisted_3$20 = { class: "text-ink text-sm" };
983
+ var _hoisted_3$21 = { class: "text-ink text-sm" };
984
984
  //#endregion
985
985
  //#region src/components/BaseRadioGroup.vue
986
986
  var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
@@ -1024,7 +1024,7 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
1024
1024
  value: option.value,
1025
1025
  disabled: option.disabled,
1026
1026
  class: "accent-primary focus-visible:outline-primary size-4 shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2"
1027
- }, null, 8, _hoisted_2$31), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$20, toDisplayString(option.label), 1)], 2);
1027
+ }, null, 8, _hoisted_2$32), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$21, toDisplayString(option.label), 1)], 2);
1028
1028
  }), 128)),
1029
1029
  __props.error ? (openBlock(), createElementBlock("p", {
1030
1030
  key: 0,
@@ -1035,24 +1035,24 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
1035
1035
  id: hintId,
1036
1036
  class: "text-ink-soft text-xs"
1037
1037
  }, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
1038
- ], 8, _hoisted_1$38);
1038
+ ], 8, _hoisted_1$39);
1039
1039
  };
1040
1040
  }
1041
1041
  });
1042
1042
  //#endregion
1043
1043
  //#region src/components/BaseSelect.vue?vue&type=script&setup=true&lang.ts
1044
- var _hoisted_1$37 = { class: "relative" };
1045
- var _hoisted_2$30 = [
1044
+ var _hoisted_1$38 = { class: "relative" };
1045
+ var _hoisted_2$31 = [
1046
1046
  "id",
1047
1047
  "aria-invalid",
1048
1048
  "aria-describedby"
1049
1049
  ];
1050
- var _hoisted_3$19 = {
1050
+ var _hoisted_3$20 = {
1051
1051
  key: 0,
1052
1052
  value: void 0,
1053
1053
  disabled: ""
1054
1054
  };
1055
- var _hoisted_4$15 = ["value", "disabled"];
1055
+ var _hoisted_4$16 = ["value", "disabled"];
1056
1056
  //#endregion
1057
1057
  //#region src/components/BaseSelect.vue
1058
1058
  var BaseSelect_default = /* @__PURE__ */ defineComponent({
@@ -1088,7 +1088,7 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1088
1088
  "label-hidden": __props.labelHidden,
1089
1089
  size: __props.size
1090
1090
  }, {
1091
- default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$37, [withDirectives(createElementVNode("select", {
1091
+ default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$38, [withDirectives(createElementVNode("select", {
1092
1092
  id,
1093
1093
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
1094
1094
  "aria-invalid": invalid,
@@ -1098,13 +1098,13 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1098
1098
  __props.variant === "unstyled" ? "" : SIZE_CLASS[__props.size],
1099
1099
  __props.variant !== "unstyled" && invalid ? "border-negative" : ""
1100
1100
  ]])
1101
- }, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_3$19, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
1101
+ }, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_3$20, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
1102
1102
  return openBlock(), createElementBlock("option", {
1103
1103
  key: option.value,
1104
1104
  value: option.value,
1105
1105
  disabled: option.disabled
1106
- }, toDisplayString(option.label), 9, _hoisted_4$15);
1107
- }), 128))], 10, _hoisted_2$30), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
1106
+ }, toDisplayString(option.label), 9, _hoisted_4$16);
1107
+ }), 128))], 10, _hoisted_2$31), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
1108
1108
  class: "text-ink-soft pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2",
1109
1109
  "aria-hidden": "true"
1110
1110
  })])]),
@@ -1121,11 +1121,11 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1121
1121
  });
1122
1122
  //#endregion
1123
1123
  //#region src/components/BaseSlider.vue?vue&type=script&setup=true&lang.ts
1124
- var _hoisted_1$36 = { class: "rk-slider" };
1125
- var _hoisted_2$29 = { class: "rk-slider-head" };
1126
- var _hoisted_3$18 = ["for"];
1127
- var _hoisted_4$14 = ["for"];
1128
- var _hoisted_5$8 = [
1124
+ var _hoisted_1$37 = { class: "rk-slider" };
1125
+ var _hoisted_2$30 = { class: "rk-slider-head" };
1126
+ var _hoisted_3$19 = ["for"];
1127
+ var _hoisted_4$15 = ["for"];
1128
+ var _hoisted_5$9 = [
1129
1129
  "id",
1130
1130
  "min",
1131
1131
  "max",
@@ -1169,15 +1169,15 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1169
1169
  return span <= 0 ? 0 : (model.value - __props.min) / span * 100;
1170
1170
  });
1171
1171
  return (_ctx, _cache) => {
1172
- return openBlock(), createElementBlock("div", _hoisted_1$36, [
1173
- createElementVNode("div", _hoisted_2$29, [createElementVNode("label", {
1172
+ return openBlock(), createElementBlock("div", _hoisted_1$37, [
1173
+ createElementVNode("div", _hoisted_2$30, [createElementVNode("label", {
1174
1174
  for: unref(id),
1175
1175
  class: "rk-slider-label"
1176
- }, toDisplayString(__props.label), 9, _hoisted_3$18), __props.showValue ? (openBlock(), createElementBlock("output", {
1176
+ }, toDisplayString(__props.label), 9, _hoisted_3$19), __props.showValue ? (openBlock(), createElementBlock("output", {
1177
1177
  key: 0,
1178
1178
  for: unref(id),
1179
1179
  class: "rk-slider-value"
1180
- }, toDisplayString(text.value), 9, _hoisted_4$14)) : createCommentVNode("", true)]),
1180
+ }, toDisplayString(text.value), 9, _hoisted_4$15)) : createCommentVNode("", true)]),
1181
1181
  withDirectives(createElementVNode("input", {
1182
1182
  id: unref(id),
1183
1183
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
@@ -1190,7 +1190,7 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1190
1190
  "aria-valuetext": text.value,
1191
1191
  "aria-describedby": __props.hint ? hintId : void 0,
1192
1192
  style: normalizeStyle({ "--rk-slider-filled": `${filled.value}%` })
1193
- }, null, 12, _hoisted_5$8), [[
1193
+ }, null, 12, _hoisted_5$9), [[
1194
1194
  vModelText,
1195
1195
  model.value,
1196
1196
  void 0,
@@ -1207,8 +1207,8 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1207
1207
  }), [["__scopeId", "data-v-7fa2769b"]]);
1208
1208
  //#endregion
1209
1209
  //#region src/components/NumberInput.vue?vue&type=script&setup=true&lang.ts
1210
- var _hoisted_1$35 = ["aria-label", "disabled"];
1211
- var _hoisted_2$28 = [
1210
+ var _hoisted_1$36 = ["aria-label", "disabled"];
1211
+ var _hoisted_2$29 = [
1212
1212
  "id",
1213
1213
  "value",
1214
1214
  "aria-valuenow",
@@ -1218,7 +1218,7 @@ var _hoisted_2$28 = [
1218
1218
  "aria-describedby",
1219
1219
  "disabled"
1220
1220
  ];
1221
- var _hoisted_3$17 = ["aria-label", "disabled"];
1221
+ var _hoisted_3$18 = ["aria-label", "disabled"];
1222
1222
  //#endregion
1223
1223
  //#region src/components/NumberInput.vue
1224
1224
  var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1321,7 +1321,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1321
1321
  }, [createVNode(unref(Minus), {
1322
1322
  class: "size-4",
1323
1323
  "aria-hidden": "true"
1324
- })], 8, _hoisted_1$35),
1324
+ })], 8, _hoisted_1$36),
1325
1325
  createElementVNode("input", {
1326
1326
  id,
1327
1327
  value: draft.value,
@@ -1339,7 +1339,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1339
1339
  onInput,
1340
1340
  onBlur: commit,
1341
1341
  onKeydown
1342
- }, null, 40, _hoisted_2$28),
1342
+ }, null, 40, _hoisted_2$29),
1343
1343
  createElementVNode("button", {
1344
1344
  type: "button",
1345
1345
  class: "rk-number-step focus-ring",
@@ -1350,7 +1350,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1350
1350
  }, [createVNode(unref(Plus), {
1351
1351
  class: "size-4",
1352
1352
  "aria-hidden": "true"
1353
- })], 8, _hoisted_3$17)
1353
+ })], 8, _hoisted_3$18)
1354
1354
  ], 2)]),
1355
1355
  _: 1
1356
1356
  }, 8, [
@@ -1365,7 +1365,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1365
1365
  }), [["__scopeId", "data-v-082bd3d7"]]);
1366
1366
  //#endregion
1367
1367
  //#region src/components/SliderField.vue?vue&type=script&setup=true&lang.ts
1368
- var _hoisted_1$34 = { class: "rk-slider-field" };
1368
+ var _hoisted_1$35 = { class: "rk-slider-field" };
1369
1369
  //#endregion
1370
1370
  //#region src/components/SliderField.vue
1371
1371
  var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1406,7 +1406,7 @@ var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1406
1406
  }
1407
1407
  });
1408
1408
  return (_ctx, _cache) => {
1409
- return openBlock(), createElementBlock("div", _hoisted_1$34, [createVNode(BaseSlider_default, {
1409
+ return openBlock(), createElementBlock("div", _hoisted_1$35, [createVNode(BaseSlider_default, {
1410
1410
  modelValue: model.value,
1411
1411
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
1412
1412
  label: __props.label,
@@ -1454,11 +1454,11 @@ var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1454
1454
  }), [["__scopeId", "data-v-6ec3163a"]]);
1455
1455
  //#endregion
1456
1456
  //#region src/components/BaseSpinner.vue?vue&type=script&setup=true&lang.ts
1457
- var _hoisted_1$33 = {
1457
+ var _hoisted_1$34 = {
1458
1458
  class: "rk-spin-wrap",
1459
1459
  role: "status"
1460
1460
  };
1461
- var _hoisted_2$27 = { class: "rk-spin-label" };
1461
+ var _hoisted_2$28 = { class: "rk-spin-label" };
1462
1462
  //#endregion
1463
1463
  //#region src/components/BaseSpinner.vue
1464
1464
  var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1486,26 +1486,26 @@ var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1486
1486
  lg: "2.5rem"
1487
1487
  };
1488
1488
  return (_ctx, _cache) => {
1489
- return openBlock(), createElementBlock("span", _hoisted_1$33, [createElementVNode("span", {
1489
+ return openBlock(), createElementBlock("span", _hoisted_1$34, [createElementVNode("span", {
1490
1490
  class: "rk-spin",
1491
1491
  style: normalizeStyle({
1492
1492
  width: SIZES[__props.size],
1493
1493
  height: SIZES[__props.size]
1494
1494
  }),
1495
1495
  "aria-hidden": "true"
1496
- }, null, 4), createElementVNode("span", _hoisted_2$27, toDisplayString(__props.label), 1)]);
1496
+ }, null, 4), createElementVNode("span", _hoisted_2$28, toDisplayString(__props.label), 1)]);
1497
1497
  };
1498
1498
  }
1499
1499
  }), [["__scopeId", "data-v-842da62c"]]);
1500
1500
  //#endregion
1501
1501
  //#region src/components/BaseSwitch.vue?vue&type=script&setup=true&lang.ts
1502
- var _hoisted_1$32 = { class: "flex items-center justify-between gap-4" };
1503
- var _hoisted_2$26 = {
1502
+ var _hoisted_1$33 = { class: "flex items-center justify-between gap-4" };
1503
+ var _hoisted_2$27 = {
1504
1504
  key: 0,
1505
1505
  class: "min-w-0"
1506
1506
  };
1507
- var _hoisted_3$16 = ["id"];
1508
- var _hoisted_4$13 = [
1507
+ var _hoisted_3$17 = ["id"];
1508
+ var _hoisted_4$14 = [
1509
1509
  "aria-checked",
1510
1510
  "aria-labelledby",
1511
1511
  "aria-label",
@@ -1544,10 +1544,10 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1544
1544
  if (!__props.disabled) model.value = !model.value;
1545
1545
  }
1546
1546
  return (_ctx, _cache) => {
1547
- return openBlock(), createElementBlock("div", _hoisted_1$32, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$26, [createElementVNode("span", {
1547
+ return openBlock(), createElementBlock("div", _hoisted_1$33, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$27, [createElementVNode("span", {
1548
1548
  id: unref(id),
1549
1549
  class: "text-ink block text-sm"
1550
- }, toDisplayString(__props.label), 9, _hoisted_3$16), __props.hint ? (openBlock(), createElementBlock("span", {
1550
+ }, toDisplayString(__props.label), 9, _hoisted_3$17), __props.hint ? (openBlock(), createElementBlock("span", {
1551
1551
  key: 0,
1552
1552
  id: hintId,
1553
1553
  class: "text-ink-soft mt-0.5 block text-xs"
@@ -1564,17 +1564,17 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1564
1564
  }, [..._cache[0] || (_cache[0] = [createElementVNode("span", {
1565
1565
  class: "rk-switch-knob",
1566
1566
  "aria-hidden": "true"
1567
- }, null, -1)])], 10, _hoisted_4$13)]);
1567
+ }, null, -1)])], 10, _hoisted_4$14)]);
1568
1568
  };
1569
1569
  }
1570
1570
  }), [["__scopeId", "data-v-3f4400a0"]]);
1571
1571
  //#endregion
1572
1572
  //#region src/components/BaseTable.vue?vue&type=script&setup=true&lang.ts
1573
- var _hoisted_1$31 = ["aria-label"];
1574
- var _hoisted_2$25 = { class: "rk-table" };
1575
- var _hoisted_3$15 = { key: 0 };
1576
- var _hoisted_4$12 = { key: 1 };
1577
- var _hoisted_5$7 = ["colspan"];
1573
+ var _hoisted_1$32 = ["aria-label"];
1574
+ var _hoisted_2$26 = { class: "rk-table" };
1575
+ var _hoisted_3$16 = { key: 0 };
1576
+ var _hoisted_4$13 = { key: 1 };
1577
+ var _hoisted_5$8 = ["colspan"];
1578
1578
  //#endregion
1579
1579
  //#region src/components/BaseTable.vue
1580
1580
  var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1597,7 +1597,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1597
1597
  tabindex: "0",
1598
1598
  role: "region",
1599
1599
  "aria-label": __props.caption
1600
- }, [createElementVNode("table", _hoisted_2$25, [
1600
+ }, [createElementVNode("table", _hoisted_2$26, [
1601
1601
  createElementVNode("caption", { class: normalizeClass(__props.captionHidden ? "rk-table-caption-hidden" : "rk-table-caption") }, toDisplayString(__props.caption), 3),
1602
1602
  createElementVNode("thead", null, [createElementVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
1603
1603
  return openBlock(), createElementBlock("th", {
@@ -1606,7 +1606,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1606
1606
  class: normalizeClass([column.align && `is-${column.align}`, column.nowrap && "is-nowrap"])
1607
1607
  }, toDisplayString(column.label), 3);
1608
1608
  }), 128))])]),
1609
- __props.rows.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_3$15, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
1609
+ __props.rows.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_3$16, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
1610
1610
  return openBlock(), createElementBlock("tr", { key: keyFor(row, index) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
1611
1611
  return openBlock(), createElementBlock("td", {
1612
1612
  key: column.key,
@@ -1616,17 +1616,17 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1616
1616
  value: row[column.key]
1617
1617
  }, () => [createTextVNode(toDisplayString(row[column.key]), 1)], true)], 2);
1618
1618
  }), 128))]);
1619
- }), 128))])) : (openBlock(), createElementBlock("tbody", _hoisted_4$12, [createElementVNode("tr", null, [createElementVNode("td", {
1619
+ }), 128))])) : (openBlock(), createElementBlock("tbody", _hoisted_4$13, [createElementVNode("tr", null, [createElementVNode("td", {
1620
1620
  colspan: __props.columns.length,
1621
1621
  class: "rk-table-empty"
1622
- }, [renderSlot(_ctx.$slots, "empty", {}, void 0, true)], 8, _hoisted_5$7)])]))
1623
- ])], 8, _hoisted_1$31);
1622
+ }, [renderSlot(_ctx.$slots, "empty", {}, void 0, true)], 8, _hoisted_5$8)])]))
1623
+ ])], 8, _hoisted_1$32);
1624
1624
  };
1625
1625
  }
1626
1626
  }), [["__scopeId", "data-v-ab10e9fa"]]);
1627
1627
  //#endregion
1628
1628
  //#region src/components/BaseTextarea.vue?vue&type=script&setup=true&lang.ts
1629
- var _hoisted_1$30 = [
1629
+ var _hoisted_1$31 = [
1630
1630
  "id",
1631
1631
  "rows",
1632
1632
  "aria-invalid",
@@ -1672,7 +1672,7 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
1672
1672
  __props.variant === "unstyled" ? "" : "control text-ink rounded-card focus-visible:outline-primary resize-y px-3 py-2 leading-relaxed focus-visible:outline-2 focus-visible:outline-offset-1",
1673
1673
  "text-base",
1674
1674
  __props.variant !== "unstyled" && invalid ? "border-negative" : ""
1675
- ] }), null, 16, _hoisted_1$30), [[vModelText, unref(model)]])]),
1675
+ ] }), null, 16, _hoisted_1$31), [[vModelText, unref(model)]])]),
1676
1676
  _: 1
1677
1677
  }, 8, [
1678
1678
  "label",
@@ -1686,17 +1686,17 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
1686
1686
  });
1687
1687
  //#endregion
1688
1688
  //#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
1689
- var _hoisted_1$29 = { class: "flex flex-col items-center gap-3 px-6 py-10 text-center" };
1690
- var _hoisted_2$24 = {
1689
+ var _hoisted_1$30 = { class: "flex flex-col items-center gap-3 px-6 py-10 text-center" };
1690
+ var _hoisted_2$25 = {
1691
1691
  key: 0,
1692
1692
  class: "bg-muted text-primary rounded-card flex size-12 items-center justify-center"
1693
1693
  };
1694
- var _hoisted_3$14 = { class: "text-ink text-base font-semibold" };
1695
- var _hoisted_4$11 = {
1694
+ var _hoisted_3$15 = { class: "text-ink text-base font-semibold" };
1695
+ var _hoisted_4$12 = {
1696
1696
  key: 1,
1697
1697
  class: "text-ink-soft max-w-[36ch] text-sm"
1698
1698
  };
1699
- var _hoisted_5$6 = {
1699
+ var _hoisted_5$7 = {
1700
1700
  key: 2,
1701
1701
  class: "mt-2 flex w-full flex-col gap-2"
1702
1702
  };
@@ -1718,11 +1718,11 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
1718
1718
  * goes — the button that creates the first one.
1719
1719
  */
1720
1720
  return (_ctx, _cache) => {
1721
- return openBlock(), createElementBlock("div", _hoisted_1$29, [
1722
- _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$24, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
1723
- createElementVNode("h3", _hoisted_3$14, toDisplayString(__props.title), 1),
1724
- __props.description ? (openBlock(), createElementBlock("p", _hoisted_4$11, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1725
- _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_5$6, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
1721
+ return openBlock(), createElementBlock("div", _hoisted_1$30, [
1722
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$25, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
1723
+ createElementVNode("h3", _hoisted_3$15, toDisplayString(__props.title), 1),
1724
+ __props.description ? (openBlock(), createElementBlock("p", _hoisted_4$12, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1725
+ _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_5$7, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
1726
1726
  ]);
1727
1727
  };
1728
1728
  }
@@ -1789,11 +1789,11 @@ var PageContainer_default = /* @__PURE__ */ defineComponent({
1789
1789
  });
1790
1790
  //#endregion
1791
1791
  //#region src/components/PageHeader.vue?vue&type=script&setup=true&lang.ts
1792
- var _hoisted_1$28 = { class: "grid h-12 shrink-0 grid-cols-[2.5rem_1fr_2.5rem] items-center" };
1793
- var _hoisted_2$23 = { class: "justify-self-start" };
1794
- var _hoisted_3$13 = { class: "text-ink flex min-w-0 justify-center text-base font-semibold tabular-nums" };
1795
- var _hoisted_4$10 = { class: "truncate" };
1796
- var _hoisted_5$5 = { class: "justify-self-end" };
1792
+ var _hoisted_1$29 = { class: "grid h-12 shrink-0 grid-cols-[2.5rem_1fr_2.5rem] items-center" };
1793
+ var _hoisted_2$24 = { class: "justify-self-start" };
1794
+ var _hoisted_3$14 = { class: "text-ink flex min-w-0 justify-center text-base font-semibold tabular-nums" };
1795
+ var _hoisted_4$11 = { class: "truncate" };
1796
+ var _hoisted_5$6 = { class: "justify-self-end" };
1797
1797
  //#endregion
1798
1798
  //#region src/components/PageHeader.vue
1799
1799
  var PageHeader_default = /* @__PURE__ */ defineComponent({
@@ -1810,17 +1810,17 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
1810
1810
  * each other.
1811
1811
  */
1812
1812
  return (_ctx, _cache) => {
1813
- return openBlock(), createElementBlock("header", _hoisted_1$28, [
1814
- createElementVNode("div", _hoisted_2$23, [renderSlot(_ctx.$slots, "left")]),
1815
- createElementVNode("h1", _hoisted_3$13, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("span", _hoisted_4$10, toDisplayString(__props.title), 1)])]),
1816
- createElementVNode("div", _hoisted_5$5, [renderSlot(_ctx.$slots, "right")])
1813
+ return openBlock(), createElementBlock("header", _hoisted_1$29, [
1814
+ createElementVNode("div", _hoisted_2$24, [renderSlot(_ctx.$slots, "left")]),
1815
+ createElementVNode("h1", _hoisted_3$14, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("span", _hoisted_4$11, toDisplayString(__props.title), 1)])]),
1816
+ createElementVNode("div", _hoisted_5$6, [renderSlot(_ctx.$slots, "right")])
1817
1817
  ]);
1818
1818
  };
1819
1819
  }
1820
1820
  });
1821
1821
  //#endregion
1822
1822
  //#region src/components/ProgressBar.vue?vue&type=script&setup=true&lang.ts
1823
- var _hoisted_1$27 = ["aria-valuenow", "aria-label"];
1823
+ var _hoisted_1$28 = ["aria-valuenow", "aria-label"];
1824
1824
  //#endregion
1825
1825
  //#region src/components/ProgressBar.vue
1826
1826
  var ProgressBar_default = /* @__PURE__ */ defineComponent({
@@ -1852,23 +1852,23 @@ var ProgressBar_default = /* @__PURE__ */ defineComponent({
1852
1852
  }, [createElementVNode("div", {
1853
1853
  class: "bg-primary h-full rounded-full transition-[width] duration-700 ease-out",
1854
1854
  style: normalizeStyle({ width: `${portion.value}%` })
1855
- }, null, 4)], 10, _hoisted_1$27);
1855
+ }, null, 4)], 10, _hoisted_1$28);
1856
1856
  };
1857
1857
  }
1858
1858
  });
1859
1859
  //#endregion
1860
1860
  //#region src/components/PriceCard.vue?vue&type=script&setup=true&lang.ts
1861
- var _hoisted_1$26 = {
1861
+ var _hoisted_1$27 = {
1862
1862
  key: 0,
1863
1863
  class: "bg-primary rounded-cell text-on-primary absolute -top-3 left-7 px-3 py-1 text-[0.7rem] font-semibold"
1864
1864
  };
1865
- var _hoisted_2$22 = { class: "flex items-start justify-between gap-4" };
1866
- var _hoisted_3$12 = { class: "text-ink mt-5 text-lg font-semibold" };
1867
- var _hoisted_4$9 = {
1865
+ var _hoisted_2$23 = { class: "flex items-start justify-between gap-4" };
1866
+ var _hoisted_3$13 = { class: "text-ink mt-5 text-lg font-semibold" };
1867
+ var _hoisted_4$10 = {
1868
1868
  key: 1,
1869
1869
  class: "text-ink-soft mt-1.5 text-sm leading-relaxed"
1870
1870
  };
1871
- var _hoisted_5$4 = { class: "mt-6 flex items-baseline gap-1.5" };
1871
+ var _hoisted_5$5 = { class: "mt-6 flex items-baseline gap-1.5" };
1872
1872
  var _hoisted_6$4 = { class: "text-ink text-3xl font-semibold tracking-tight tabular-nums" };
1873
1873
  var _hoisted_7$3 = {
1874
1874
  key: 0,
@@ -1933,17 +1933,17 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1933
1933
  const palette = computed(() => TONE[__props.tone]);
1934
1934
  return (_ctx, _cache) => {
1935
1935
  return openBlock(), createElementBlock("article", { class: normalizeClass(["surface rounded-card ease-standard relative flex h-full flex-col p-7 transition-[border-color,box-shadow,transform] duration-(--duration-slower) hover:[--surface-border-color:color-mix(in_oklab,var(--color-primary)_60%,transparent)] hover:[--surface-shadow:var(--shadow-raised)] sm:p-8", [palette.value.ring, __props.recommended ? "[--surface-shadow:var(--shadow-raised)]" : "hover:-translate-y-0.5"]]) }, [
1936
- __props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$26, toDisplayString(__props.badge), 1)) : createCommentVNode("", true),
1937
- createElementVNode("div", _hoisted_2$22, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
1936
+ __props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$27, toDisplayString(__props.badge), 1)) : createCommentVNode("", true),
1937
+ createElementVNode("div", _hoisted_2$23, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
1938
1938
  key: 0,
1939
1939
  class: normalizeClass(["rounded-card grid size-11 place-items-center text-xl", palette.value.icon])
1940
1940
  }, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true), __props.chip ? (openBlock(), createElementBlock("span", {
1941
1941
  key: 1,
1942
1942
  class: normalizeClass(["rounded-cell ml-auto px-2.5 py-1 text-[0.7rem] font-medium", palette.value.soft])
1943
1943
  }, toDisplayString(__props.chip), 3)) : createCommentVNode("", true)]),
1944
- createElementVNode("h3", _hoisted_3$12, toDisplayString(__props.name), 1),
1945
- __props.lead ? (openBlock(), createElementBlock("p", _hoisted_4$9, toDisplayString(__props.lead), 1)) : createCommentVNode("", true),
1946
- createElementVNode("p", _hoisted_5$4, [createElementVNode("span", _hoisted_6$4, toDisplayString(__props.price), 1), __props.period ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(__props.period), 1)) : createCommentVNode("", true)]),
1944
+ createElementVNode("h3", _hoisted_3$13, toDisplayString(__props.name), 1),
1945
+ __props.lead ? (openBlock(), createElementBlock("p", _hoisted_4$10, toDisplayString(__props.lead), 1)) : createCommentVNode("", true),
1946
+ createElementVNode("p", _hoisted_5$5, [createElementVNode("span", _hoisted_6$4, toDisplayString(__props.price), 1), __props.period ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(__props.period), 1)) : createCommentVNode("", true)]),
1947
1947
  __props.note ? (openBlock(), createElementBlock("p", _hoisted_8$2, toDisplayString(__props.note), 1)) : createCommentVNode("", true),
1948
1948
  createElementVNode("ul", _hoisted_9$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.features, (feature) => {
1949
1949
  return openBlock(), createElementBlock("li", {
@@ -1958,8 +1958,8 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1958
1958
  });
1959
1959
  //#endregion
1960
1960
  //#region src/components/ToneDot.vue?vue&type=script&setup=true&lang.ts
1961
- var _hoisted_1$25 = { class: "inline-flex items-center gap-1.5" };
1962
- var _hoisted_2$21 = {
1961
+ var _hoisted_1$26 = { class: "inline-flex items-center gap-1.5" };
1962
+ var _hoisted_2$22 = {
1963
1963
  key: 0,
1964
1964
  class: "text-ink-soft text-xs font-medium"
1965
1965
  };
@@ -1980,13 +1980,13 @@ var ToneDot_default = /* @__PURE__ */ defineComponent({
1980
1980
  * priorities — without this component knowing about any of them.
1981
1981
  */
1982
1982
  return (_ctx, _cache) => {
1983
- return openBlock(), createElementBlock("span", _hoisted_1$25, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$21, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
1983
+ return openBlock(), createElementBlock("span", _hoisted_1$26, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$22, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
1984
1984
  };
1985
1985
  }
1986
1986
  });
1987
1987
  //#endregion
1988
1988
  //#region src/components/SectionHeading.vue?vue&type=script&setup=true&lang.ts
1989
- var _hoisted_1$24 = {
1989
+ var _hoisted_1$25 = {
1990
1990
  key: 0,
1991
1991
  class: "text-ink-soft text-xs tabular-nums"
1992
1992
  };
@@ -2004,15 +2004,15 @@ var SectionHeading_default = /* @__PURE__ */ defineComponent({
2004
2004
  return openBlock(), createElementBlock("h2", { class: normalizeClass(["flex w-fit items-center gap-2 self-start rounded-full border px-3 py-1", __props.tone.card]) }, [
2005
2005
  createVNode(ToneDot_default, { fill: __props.tone.fill }, null, 8, ["fill"]),
2006
2006
  createElementVNode("span", { class: normalizeClass(["text-xs font-semibold tracking-wide uppercase", __props.tone.text]) }, toDisplayString(__props.label), 3),
2007
- __props.count > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$24, toDisplayString(__props.count), 1)) : createCommentVNode("", true)
2007
+ __props.count > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$25, toDisplayString(__props.count), 1)) : createCommentVNode("", true)
2008
2008
  ], 2);
2009
2009
  };
2010
2010
  }
2011
2011
  });
2012
2012
  //#endregion
2013
2013
  //#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
2014
- var _hoisted_1$23 = { class: "bg-muted rounded-card flex w-full gap-1 p-1" };
2015
- var _hoisted_2$20 = ["value", "name"];
2014
+ var _hoisted_1$24 = { class: "bg-muted rounded-card flex w-full gap-1 p-1" };
2015
+ var _hoisted_2$21 = ["value", "name"];
2016
2016
  //#endregion
2017
2017
  //#region src/components/SegmentedControl.vue
2018
2018
  var SegmentedControl_default = /* @__PURE__ */ defineComponent({
@@ -2026,7 +2026,7 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
2026
2026
  const model = useModel(__props, "modelValue");
2027
2027
  const name = useId();
2028
2028
  return (_ctx, _cache) => {
2029
- return openBlock(), createElementBlock("div", _hoisted_1$23, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
2029
+ return openBlock(), createElementBlock("div", _hoisted_1$24, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
2030
2030
  return openBlock(), createElementBlock("label", {
2031
2031
  key: String(option.value),
2032
2032
  class: "flex-1 cursor-pointer"
@@ -2036,18 +2036,18 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
2036
2036
  value: option.value,
2037
2037
  name: unref(name),
2038
2038
  class: "peer sr-only"
2039
- }, null, 8, _hoisted_2$20), [[vModelRadio, model.value]]), createElementVNode("span", { class: normalizeClass(["peer-focus-visible:outline-primary flex h-10 items-center justify-center rounded-xl px-2 text-sm font-medium transition-colors select-none peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2", model.value === option.value ? "bg-surface text-ink shadow-(--shadow-control)" : "text-ink-soft"]) }, toDisplayString(option.label), 3)]);
2039
+ }, null, 8, _hoisted_2$21), [[vModelRadio, model.value]]), createElementVNode("span", { class: normalizeClass(["peer-focus-visible:outline-primary flex h-10 items-center justify-center rounded-xl px-2 text-sm font-medium transition-colors select-none peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2", model.value === option.value ? "bg-surface text-ink shadow-(--shadow-control)" : "text-ink-soft"]) }, toDisplayString(option.label), 3)]);
2040
2040
  }), 128))]);
2041
2041
  };
2042
2042
  }
2043
2043
  });
2044
2044
  //#endregion
2045
2045
  //#region src/components/SkeletonList.vue?vue&type=script&setup=true&lang.ts
2046
- var _hoisted_1$22 = {
2046
+ var _hoisted_1$23 = {
2047
2047
  role: "status",
2048
2048
  class: "flex flex-col gap-1"
2049
2049
  };
2050
- var _hoisted_2$19 = { class: "sr-only" };
2050
+ var _hoisted_2$20 = { class: "sr-only" };
2051
2051
  //#endregion
2052
2052
  //#region src/components/SkeletonList.vue
2053
2053
  var SkeletonList_default = /* @__PURE__ */ defineComponent({
@@ -2061,7 +2061,7 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
2061
2061
  /** A length starts with a digit, a dot, or opens a CSS function. */
2062
2062
  const isLength = computed(() => /^(?:[.\d]|calc\(|var\(|clamp\(|min\(|max\()/.test(__props.rowHeight));
2063
2063
  return (_ctx, _cache) => {
2064
- return openBlock(), createElementBlock("div", _hoisted_1$22, [createElementVNode("span", _hoisted_2$19, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
2064
+ return openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("span", _hoisted_2$20, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
2065
2065
  return openBlock(), createElementBlock("div", {
2066
2066
  key: row,
2067
2067
  class: normalizeClass(["bg-muted rounded-card animate-pulse", isLength.value ? void 0 : __props.rowHeight]),
@@ -2074,10 +2074,10 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
2074
2074
  });
2075
2075
  //#endregion
2076
2076
  //#region src/components/StatCard.vue?vue&type=script&setup=true&lang.ts
2077
- var _hoisted_1$21 = { class: "surface rounded-card flex flex-1 flex-col gap-0.5 p-3" };
2078
- var _hoisted_2$18 = { class: "flex items-baseline gap-1" };
2079
- var _hoisted_3$11 = { class: "text-ink text-xl font-semibold tabular-nums" };
2080
- var _hoisted_4$8 = { class: "text-ink-soft text-xs" };
2077
+ var _hoisted_1$22 = { class: "surface rounded-card flex flex-1 flex-col gap-0.5 p-3" };
2078
+ var _hoisted_2$19 = { class: "flex items-baseline gap-1" };
2079
+ var _hoisted_3$12 = { class: "text-ink text-xl font-semibold tabular-nums" };
2080
+ var _hoisted_4$9 = { class: "text-ink-soft text-xs" };
2081
2081
  //#endregion
2082
2082
  //#region src/components/StatCard.vue
2083
2083
  var StatCard_default = /* @__PURE__ */ defineComponent({
@@ -2094,22 +2094,22 @@ var StatCard_default = /* @__PURE__ */ defineComponent({
2094
2094
  flat: ArrowRight
2095
2095
  };
2096
2096
  return (_ctx, _cache) => {
2097
- return openBlock(), createElementBlock("div", _hoisted_1$21, [createElementVNode("div", _hoisted_2$18, [createElementVNode("span", _hoisted_3$11, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
2097
+ return openBlock(), createElementBlock("div", _hoisted_1$22, [createElementVNode("div", _hoisted_2$19, [createElementVNode("span", _hoisted_3$12, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
2098
2098
  key: 0,
2099
2099
  class: "text-ink-soft size-3"
2100
- })) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_4$8, toDisplayString(__props.label), 1)]);
2100
+ })) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_4$9, toDisplayString(__props.label), 1)]);
2101
2101
  };
2102
2102
  }
2103
2103
  });
2104
2104
  //#endregion
2105
2105
  //#region src/components/ToastHost.vue?vue&type=script&setup=true&lang.ts
2106
- var _hoisted_1$20 = [
2106
+ var _hoisted_1$21 = [
2107
2107
  "onMouseenter",
2108
2108
  "onMouseleave",
2109
2109
  "onFocusin",
2110
2110
  "onFocusout"
2111
2111
  ];
2112
- var _hoisted_2$17 = { class: "flex-1 text-sm leading-snug" };
2112
+ var _hoisted_2$18 = { class: "flex-1 text-sm leading-snug" };
2113
2113
  //#endregion
2114
2114
  //#region src/components/ToastHost.vue
2115
2115
  var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2170,7 +2170,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2170
2170
  class: normalizeClass(["mt-0.5 size-5 shrink-0", TONE_CLASS[toast.tone]]),
2171
2171
  "aria-hidden": "true"
2172
2172
  }, null, 8, ["class"])),
2173
- createElementVNode("p", _hoisted_2$17, toDisplayString(toast.message), 1),
2173
+ createElementVNode("p", _hoisted_2$18, toDisplayString(toast.message), 1),
2174
2174
  toast.action ? (openBlock(), createBlock(BaseButton_default, {
2175
2175
  key: 0,
2176
2176
  variant: "link",
@@ -2193,7 +2193,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2193
2193
  default: withCtx(() => [createVNode(unref(X), { class: "size-4" })]),
2194
2194
  _: 1
2195
2195
  }, 8, ["aria-label", "onClick"])
2196
- ], 40, _hoisted_1$20);
2196
+ ], 40, _hoisted_1$21);
2197
2197
  }), 128))]),
2198
2198
  _: 1
2199
2199
  })], 2)])) : createCommentVNode("", true);
@@ -2202,8 +2202,8 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2202
2202
  }), [["__scopeId", "data-v-737eb240"]]);
2203
2203
  //#endregion
2204
2204
  //#region src/components/LocaleLinks.vue?vue&type=script&setup=true&lang.ts
2205
- var _hoisted_1$19 = ["aria-label"];
2206
- var _hoisted_2$16 = [
2205
+ var _hoisted_1$20 = ["aria-label"];
2206
+ var _hoisted_2$17 = [
2207
2207
  "lang",
2208
2208
  "aria-pressed",
2209
2209
  "onClick"
@@ -2247,17 +2247,17 @@ var LocaleLinks_default = /* @__PURE__ */ defineComponent({
2247
2247
  class: normalizeClass(["focus-ring rounded-full px-2.5 py-1.5 text-xs transition-colors", preference.value === locale ? "bg-muted text-ink font-semibold" : "text-ink-soft hover:text-ink"]),
2248
2248
  "aria-pressed": preference.value === locale,
2249
2249
  onClick: ($event) => preference.value = locale
2250
- }, toDisplayString(__props.labels[locale]), 11, _hoisted_2$16);
2251
- }), 128))], 8, _hoisted_1$19);
2250
+ }, toDisplayString(__props.labels[locale]), 11, _hoisted_2$17);
2251
+ }), 128))], 8, _hoisted_1$20);
2252
2252
  };
2253
2253
  }
2254
2254
  });
2255
2255
  //#endregion
2256
2256
  //#region src/components/TabBar.vue?vue&type=script&setup=true&lang.ts
2257
- var _hoisted_1$18 = { class: "tab-bar" };
2258
- var _hoisted_2$15 = ["aria-label"];
2259
- var _hoisted_3$10 = { class: "tab-icon-slot" };
2260
- var _hoisted_4$7 = { class: "tab-label" };
2257
+ var _hoisted_1$19 = { class: "tab-bar" };
2258
+ var _hoisted_2$16 = ["aria-label"];
2259
+ var _hoisted_3$11 = { class: "tab-icon-slot" };
2260
+ var _hoisted_4$8 = { class: "tab-label" };
2261
2261
  //#endregion
2262
2262
  //#region src/components/TabBar.vue
2263
2263
  var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2269,7 +2269,7 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
2269
2269
  },
2270
2270
  setup(__props) {
2271
2271
  return (_ctx, _cache) => {
2272
- return openBlock(), createElementBlock("header", _hoisted_1$18, [createElementVNode("nav", {
2272
+ return openBlock(), createElementBlock("header", _hoisted_1$19, [createElementVNode("nav", {
2273
2273
  class: "tab-bar-inner",
2274
2274
  "aria-label": __props.label || void 0
2275
2275
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
@@ -2280,21 +2280,21 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
2280
2280
  "aria-current": item.key === __props.active ? "page" : void 0,
2281
2281
  onClick: _cache[0] || (_cache[0] = ($event) => unref(tapFeedback)())
2282
2282
  }, {
2283
- default: withCtx(() => [createElementVNode("span", _hoisted_3$10, [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "tab-icon" }))]), createElementVNode("span", _hoisted_4$7, toDisplayString(item.label), 1)]),
2283
+ default: withCtx(() => [createElementVNode("span", _hoisted_3$11, [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "tab-icon" }))]), createElementVNode("span", _hoisted_4$8, toDisplayString(item.label), 1)]),
2284
2284
  _: 2
2285
2285
  }, 1032, [
2286
2286
  "to",
2287
2287
  "class",
2288
2288
  "aria-current"
2289
2289
  ]);
2290
- }), 128))], 8, _hoisted_2$15)]);
2290
+ }), 128))], 8, _hoisted_2$16)]);
2291
2291
  };
2292
2292
  }
2293
2293
  }), [["__scopeId", "data-v-a76891c4"]]);
2294
2294
  //#endregion
2295
2295
  //#region src/components/AvatarStack.vue?vue&type=script&setup=true&lang.ts
2296
- var _hoisted_1$17 = ["aria-label"];
2297
- var _hoisted_2$14 = {
2296
+ var _hoisted_1$18 = ["aria-label"];
2297
+ var _hoisted_2$15 = {
2298
2298
  key: 0,
2299
2299
  class: "rk-stack-item rk-stack-rest",
2300
2300
  "aria-hidden": "true"
@@ -2332,17 +2332,17 @@ var AvatarStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
2332
2332
  "src",
2333
2333
  "size"
2334
2334
  ])]);
2335
- }), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$14, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$17);
2335
+ }), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$15, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$18);
2336
2336
  };
2337
2337
  }
2338
2338
  }), [["__scopeId", "data-v-db629481"]]);
2339
2339
  //#endregion
2340
2340
  //#region src/components/BaseCalendar.vue?vue&type=script&setup=true&lang.ts
2341
- var _hoisted_1$16 = { class: "rk-cal" };
2342
- var _hoisted_2$13 = { class: "rk-cal-head" };
2343
- var _hoisted_3$9 = ["aria-label"];
2344
- var _hoisted_4$6 = ["aria-expanded"];
2345
- var _hoisted_5$3 = ["aria-label"];
2341
+ var _hoisted_1$17 = { class: "rk-cal" };
2342
+ var _hoisted_2$14 = { class: "rk-cal-head" };
2343
+ var _hoisted_3$10 = ["aria-label"];
2344
+ var _hoisted_4$7 = ["aria-expanded"];
2345
+ var _hoisted_5$4 = ["aria-label"];
2346
2346
  var _hoisted_6$3 = {
2347
2347
  key: 0,
2348
2348
  class: "rk-cal-weekdays",
@@ -2535,8 +2535,8 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2535
2535
  if (next) focused.value = next;
2536
2536
  });
2537
2537
  return (_ctx, _cache) => {
2538
- return openBlock(), createElementBlock("div", _hoisted_1$16, [
2539
- createElementVNode("div", _hoisted_2$13, [
2538
+ return openBlock(), createElementBlock("div", _hoisted_1$17, [
2539
+ createElementVNode("div", _hoisted_2$14, [
2540
2540
  createElementVNode("button", {
2541
2541
  type: "button",
2542
2542
  class: "rk-cal-arrow focus-ring",
@@ -2545,13 +2545,13 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2545
2545
  }, [createVNode(unref(ChevronLeft), {
2546
2546
  class: "size-4",
2547
2547
  "aria-hidden": "true"
2548
- })], 8, _hoisted_3$9),
2548
+ })], 8, _hoisted_3$10),
2549
2549
  createElementVNode("button", {
2550
2550
  type: "button",
2551
2551
  class: "rk-cal-title focus-ring",
2552
2552
  "aria-expanded": view.value !== "days",
2553
2553
  onClick: cycleView
2554
- }, toDisplayString(view.value === "years" ? `${years.value[0]} – ${years.value[11]}` : monthTitle.value), 9, _hoisted_4$6),
2554
+ }, toDisplayString(view.value === "years" ? `${years.value[0]} – ${years.value[11]}` : monthTitle.value), 9, _hoisted_4$7),
2555
2555
  createElementVNode("button", {
2556
2556
  type: "button",
2557
2557
  class: "rk-cal-arrow focus-ring",
@@ -2560,7 +2560,7 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2560
2560
  }, [createVNode(unref(ChevronRight), {
2561
2561
  class: "size-4",
2562
2562
  "aria-hidden": "true"
2563
- })], 8, _hoisted_5$3)
2563
+ })], 8, _hoisted_5$4)
2564
2564
  ]),
2565
2565
  view.value === "days" ? (openBlock(), createElementBlock("div", _hoisted_6$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (day) => {
2566
2566
  return openBlock(), createElementBlock("span", { key: day.long }, toDisplayString(day.short), 1);
@@ -2618,8 +2618,8 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2618
2618
  }), [["__scopeId", "data-v-6d0b0811"]]);
2619
2619
  //#endregion
2620
2620
  //#region src/components/BaseChip.vue?vue&type=script&setup=true&lang.ts
2621
- var _hoisted_1$15 = { class: "truncate" };
2622
- var _hoisted_2$12 = ["aria-label", "disabled"];
2621
+ var _hoisted_1$16 = { class: "truncate" };
2622
+ var _hoisted_2$13 = ["aria-label", "disabled"];
2623
2623
  //#endregion
2624
2624
  //#region src/components/BaseChip.vue
2625
2625
  var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2656,7 +2656,7 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
2656
2656
  key: 0,
2657
2657
  class: "size-3.5 shrink-0",
2658
2658
  "aria-hidden": "true"
2659
- })) : createCommentVNode("", true), createElementVNode("span", _hoisted_1$15, toDisplayString(__props.label), 1)]),
2659
+ })) : createCommentVNode("", true), createElementVNode("span", _hoisted_1$16, toDisplayString(__props.label), 1)]),
2660
2660
  _: 1
2661
2661
  }, 8, [
2662
2662
  "type",
@@ -2673,18 +2673,18 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
2673
2673
  }, [createVNode(unref(X), {
2674
2674
  class: "size-3",
2675
2675
  "aria-hidden": "true"
2676
- })], 8, _hoisted_2$12)) : createCommentVNode("", true)], 2);
2676
+ })], 8, _hoisted_2$13)) : createCommentVNode("", true)], 2);
2677
2677
  };
2678
2678
  }
2679
2679
  }), [["__scopeId", "data-v-c94a820d"]]);
2680
2680
  //#endregion
2681
2681
  //#region src/components/BaseKbd.vue?vue&type=script&setup=true&lang.ts
2682
- var _hoisted_1$14 = {
2682
+ var _hoisted_1$15 = {
2683
2683
  key: 0,
2684
2684
  class: "rk-kbd-joiner",
2685
2685
  "aria-hidden": "true"
2686
2686
  };
2687
- var _hoisted_2$11 = { class: "rk-kbd-key control" };
2687
+ var _hoisted_2$12 = { class: "rk-kbd-key control" };
2688
2688
  //#endregion
2689
2689
  //#region src/components/BaseKbd.vue
2690
2690
  var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2698,7 +2698,7 @@ var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
2698
2698
  const list = computed(() => typeof __props.keys === "string" ? [__props.keys] : __props.keys);
2699
2699
  return (_ctx, _cache) => {
2700
2700
  return openBlock(), createElementBlock("span", { class: normalizeClass(["rk-kbd", `is-${__props.size}`]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (key, index) => {
2701
- return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$14, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$11, toDisplayString(key), 1)], 64);
2701
+ return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$15, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$12, toDisplayString(key), 1)], 64);
2702
2702
  }), 128))], 2);
2703
2703
  };
2704
2704
  }
@@ -2737,7 +2737,7 @@ var BaseLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
2737
2737
  }), [["__scopeId", "data-v-88581007"]]);
2738
2738
  //#endregion
2739
2739
  //#region src/components/BaseRating.vue?vue&type=script&setup=true&lang.ts
2740
- var _hoisted_1$13 = [
2740
+ var _hoisted_1$14 = [
2741
2741
  "role",
2742
2742
  "aria-label",
2743
2743
  "tabindex",
@@ -2822,14 +2822,14 @@ var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
2822
2822
  "onClick",
2823
2823
  "onPointerenter"
2824
2824
  ]);
2825
- }), 128))], 42, _hoisted_1$13);
2825
+ }), 128))], 42, _hoisted_1$14);
2826
2826
  };
2827
2827
  }
2828
2828
  }), [["__scopeId", "data-v-38007368"]]);
2829
2829
  //#endregion
2830
2830
  //#region src/components/BaseSeparator.vue?vue&type=script&setup=true&lang.ts
2831
- var _hoisted_1$12 = { class: "rk-sep-label" };
2832
- var _hoisted_2$10 = ["aria-orientation"];
2831
+ var _hoisted_1$13 = { class: "rk-sep-label" };
2832
+ var _hoisted_2$11 = ["aria-orientation"];
2833
2833
  //#endregion
2834
2834
  //#region src/components/BaseSeparator.vue
2835
2835
  var BaseSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2857,18 +2857,159 @@ var BaseSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
2857
2857
  "aria-hidden": "true"
2858
2858
  }, [
2859
2859
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "rk-sep-line" }, null, -1)),
2860
- createElementVNode("span", _hoisted_1$12, toDisplayString(__props.label), 1),
2860
+ createElementVNode("span", _hoisted_1$13, toDisplayString(__props.label), 1),
2861
2861
  _cache[1] || (_cache[1] = createElementVNode("span", { class: "rk-sep-line" }, null, -1))
2862
2862
  ], 2)) : (openBlock(), createElementBlock("div", {
2863
2863
  key: 1,
2864
2864
  class: normalizeClass(["rk-sep", [`is-${__props.orientation}`, `space-${__props.spacing}`]]),
2865
2865
  role: "separator",
2866
2866
  "aria-orientation": __props.orientation
2867
- }, null, 10, _hoisted_2$10));
2867
+ }, null, 10, _hoisted_2$11));
2868
2868
  };
2869
2869
  }
2870
2870
  }), [["__scopeId", "data-v-9f8cc9aa"]]);
2871
2871
  //#endregion
2872
+ //#region src/components/ColorPicker.vue?vue&type=script&setup=true&lang.ts
2873
+ var _hoisted_1$12 = { class: "rk-color-row" };
2874
+ var _hoisted_2$10 = [
2875
+ "id",
2876
+ "value",
2877
+ "disabled",
2878
+ "aria-describedby",
2879
+ "aria-invalid"
2880
+ ];
2881
+ var _hoisted_3$9 = [
2882
+ "aria-label",
2883
+ "disabled",
2884
+ "onKeydown"
2885
+ ];
2886
+ var _hoisted_4$6 = {
2887
+ key: 1,
2888
+ class: "rk-color-swatches"
2889
+ };
2890
+ var _hoisted_5$3 = [
2891
+ "aria-label",
2892
+ "aria-pressed",
2893
+ "disabled",
2894
+ "onClick"
2895
+ ];
2896
+ //#endregion
2897
+ //#region src/components/ColorPicker.vue
2898
+ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
2899
+ __name: "ColorPicker",
2900
+ props: {
2901
+ label: {},
2902
+ modelValue: {},
2903
+ swatches: { default: () => [] },
2904
+ hexLabel: { default: "" },
2905
+ hint: { default: "" },
2906
+ error: { default: "" },
2907
+ disabled: {
2908
+ type: Boolean,
2909
+ default: false
2910
+ },
2911
+ labelHidden: {
2912
+ type: Boolean,
2913
+ default: false
2914
+ }
2915
+ },
2916
+ emits: ["update:modelValue"],
2917
+ setup(__props, { emit: __emit }) {
2918
+ const emit = __emit;
2919
+ /** `#abc` and `#AABBCC` both mean the same colour; this is the spelling. */
2920
+ function normalise(value) {
2921
+ const text = value.trim().toLowerCase();
2922
+ const short = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/.exec(text);
2923
+ if (short) return `#${short[1]}${short[1]}${short[2]}${short[2]}${short[3]}${short[3]}`;
2924
+ const long = /^#?([0-9a-f]{6})$/.exec(text);
2925
+ return long ? `#${long[1]}` : void 0;
2926
+ }
2927
+ /**
2928
+ * The value, or nothing when it cannot be read.
2929
+ *
2930
+ * No fallback colour: a hex written here would be a colour the kit chose,
2931
+ * and the kit chooses none — a test enforces that, and it is right to.
2932
+ * Unreadable input is handed to the native control as an empty value, and
2933
+ * whatever it shows then is the platform's decision rather than ours.
2934
+ */
2935
+ const current = computed(() => normalise(__props.modelValue));
2936
+ function set(value) {
2937
+ const next = normalise(value);
2938
+ if (next && next !== current.value) emit("update:modelValue", next);
2939
+ }
2940
+ /**
2941
+ * What the hex field shows while it is being typed in.
2942
+ *
2943
+ * Not the value: "#ab" is not a colour, and rewriting the field on every
2944
+ * keystroke would make it impossible to type the third character. It
2945
+ * catches up with the value whenever the value changes from elsewhere — a
2946
+ * swatch, the native picker — and commits what it holds on blur and Enter.
2947
+ */
2948
+ const draft = ref(current.value ?? "");
2949
+ watch(current, (value) => draft.value = value ?? "");
2950
+ function commit() {
2951
+ const next = normalise(draft.value);
2952
+ if (next) set(next);
2953
+ else draft.value = current.value ?? "";
2954
+ }
2955
+ const chosen = (value) => normalise(value) === current.value;
2956
+ return (_ctx, _cache) => {
2957
+ return openBlock(), createBlock(FormField_default, {
2958
+ label: __props.label,
2959
+ hint: __props.hint,
2960
+ error: __props.error,
2961
+ "label-hidden": __props.labelHidden,
2962
+ class: "rk-color"
2963
+ }, {
2964
+ default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$12, [
2965
+ createElementVNode("span", {
2966
+ class: "rk-color-well",
2967
+ style: normalizeStyle(current.value ? { "--rk-color": current.value } : void 0)
2968
+ }, [createElementVNode("input", {
2969
+ id,
2970
+ type: "color",
2971
+ class: "rk-color-native focus-ring",
2972
+ value: current.value ?? "",
2973
+ disabled: __props.disabled,
2974
+ "aria-describedby": describedBy,
2975
+ "aria-invalid": invalid,
2976
+ onInput: _cache[0] || (_cache[0] = ($event) => set($event.target.value))
2977
+ }, null, 40, _hoisted_2$10)], 4),
2978
+ __props.hexLabel ? withDirectives((openBlock(), createElementBlock("input", {
2979
+ key: 0,
2980
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => draft.value = $event),
2981
+ type: "text",
2982
+ class: "rk-color-hex control",
2983
+ spellcheck: "false",
2984
+ autocomplete: "off",
2985
+ "aria-label": __props.hexLabel,
2986
+ disabled: __props.disabled,
2987
+ onBlur: commit,
2988
+ onKeydown: withKeys(withModifiers(commit, ["prevent"]), ["enter"])
2989
+ }, null, 40, _hoisted_3$9)), [[vModelText, draft.value]]) : createCommentVNode("", true),
2990
+ __props.swatches.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_4$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.swatches, (swatch) => {
2991
+ return openBlock(), createElementBlock("li", { key: swatch.value }, [createElementVNode("button", {
2992
+ type: "button",
2993
+ class: normalizeClass(["rk-color-swatch focus-ring", { "is-chosen": chosen(swatch.value) }]),
2994
+ style: normalizeStyle({ "--rk-color": swatch.value }),
2995
+ "aria-label": swatch.label,
2996
+ "aria-pressed": chosen(swatch.value),
2997
+ disabled: __props.disabled,
2998
+ onClick: ($event) => set(swatch.value)
2999
+ }, null, 14, _hoisted_5$3)]);
3000
+ }), 128))])) : createCommentVNode("", true)
3001
+ ])]),
3002
+ _: 1
3003
+ }, 8, [
3004
+ "label",
3005
+ "hint",
3006
+ "error",
3007
+ "label-hidden"
3008
+ ]);
3009
+ };
3010
+ }
3011
+ }), [["__scopeId", "data-v-5ca23aa9"]]);
3012
+ //#endregion
2872
3013
  //#region src/components/CopyButton.vue?vue&type=script&setup=true&lang.ts
2873
3014
  var _hoisted_1$11 = ["aria-label"];
2874
3015
  var _hoisted_2$9 = { key: 2 };
@@ -4263,8 +4404,8 @@ function createI18nRuntime(options) {
4263
4404
  *
4264
4405
  * The fallback keeps `vitest` and `vite dev` honest, where no define runs.
4265
4406
  */
4266
- var VERSION = "2.15.0";
4407
+ var VERSION = "2.16.0";
4267
4408
  //#endregion
4268
- export { AppError, AvatarStack_default as AvatarStack, BaseAlert_default as BaseAlert, BaseAvatar_default as BaseAvatar, BaseBadge_default as BaseBadge, BaseButton_default as BaseButton, BaseCalendar_default as BaseCalendar, BaseCard_default as BaseCard, BaseCheckbox_default as BaseCheckbox, BaseChip_default as BaseChip, BaseCombobox_default as BaseCombobox, BaseDatePicker_default as BaseDatePicker, BaseInput_default as BaseInput, BaseKbd_default as BaseKbd, BaseLink_default as BaseLink, BaseListbox_default as BaseListbox, BaseMenu_default as BaseMenu, BasePopconfirm_default as BasePopconfirm, BasePopover_default as BasePopover, BaseRadioGroup_default as BaseRadioGroup, BaseRating_default as BaseRating, BaseSelect_default as BaseSelect, BaseSeparator_default as BaseSeparator, BaseSheet_default as BaseSheet, BaseSkeleton_default as BaseSkeleton, BaseSlider_default as BaseSlider, BaseSpinner_default as BaseSpinner, BaseStepper_default as BaseStepper, BaseSwitch_default as BaseSwitch, BaseTable_default as BaseTable, BaseTextarea_default as BaseTextarea, CircularProgress_default as CircularProgress, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, FileDrop_default as FileDrop, FormField_default as FormField, GoogleButton_default as GoogleButton, LocaleLinks_default as LocaleLinks, MATERIALS, NumberInput_default as NumberInput, PALETTES, PageContainer_default as PageContainer, PageHeader_default as PageHeader, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, SectionHeading_default as SectionHeading, SegmentedControl_default as SegmentedControl, SettingsGroup_default as SettingsGroup, SettingsRow_default as SettingsRow, SkeletonList_default as SkeletonList, SliderField_default as SliderField, StatCard_default as StatCard, TabBar_default as TabBar, TagsInput_default as TagsInput, TimePicker_default as TimePicker, ToastHost_default as ToastHost, ToggleGroup_default as ToggleGroup, ToneDot_default as ToneDot, VERSION, addDays, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, ensureSheetRoot, formatDate, formatNumber, fromDateKey, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, toAppError, toDateKey, toRedirectPath, todayKey, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
4409
+ export { AppError, AvatarStack_default as AvatarStack, BaseAlert_default as BaseAlert, BaseAvatar_default as BaseAvatar, BaseBadge_default as BaseBadge, BaseButton_default as BaseButton, BaseCalendar_default as BaseCalendar, BaseCard_default as BaseCard, BaseCheckbox_default as BaseCheckbox, BaseChip_default as BaseChip, BaseCombobox_default as BaseCombobox, BaseDatePicker_default as BaseDatePicker, BaseInput_default as BaseInput, BaseKbd_default as BaseKbd, BaseLink_default as BaseLink, BaseListbox_default as BaseListbox, BaseMenu_default as BaseMenu, BasePopconfirm_default as BasePopconfirm, BasePopover_default as BasePopover, BaseRadioGroup_default as BaseRadioGroup, BaseRating_default as BaseRating, BaseSelect_default as BaseSelect, BaseSeparator_default as BaseSeparator, BaseSheet_default as BaseSheet, BaseSkeleton_default as BaseSkeleton, BaseSlider_default as BaseSlider, BaseSpinner_default as BaseSpinner, BaseStepper_default as BaseStepper, BaseSwitch_default as BaseSwitch, BaseTable_default as BaseTable, BaseTextarea_default as BaseTextarea, CircularProgress_default as CircularProgress, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, FileDrop_default as FileDrop, FormField_default as FormField, GoogleButton_default as GoogleButton, LocaleLinks_default as LocaleLinks, MATERIALS, NumberInput_default as NumberInput, PALETTES, PageContainer_default as PageContainer, PageHeader_default as PageHeader, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, SectionHeading_default as SectionHeading, SegmentedControl_default as SegmentedControl, SettingsGroup_default as SettingsGroup, SettingsRow_default as SettingsRow, SkeletonList_default as SkeletonList, SliderField_default as SliderField, StatCard_default as StatCard, TabBar_default as TabBar, TagsInput_default as TagsInput, TimePicker_default as TimePicker, ToastHost_default as ToastHost, ToggleGroup_default as ToggleGroup, ToneDot_default as ToneDot, VERSION, addDays, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, ensureSheetRoot, formatDate, formatNumber, fromDateKey, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, toAppError, toDateKey, toRedirectPath, todayKey, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
4269
4410
 
4270
4411
  //# sourceMappingURL=index.js.map