rei-kit 2.22.0 → 2.23.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
@@ -1,14 +1,14 @@
1
1
  import { a as addDays, c as lastNDays, d as toDateKey, f as todayKey, i as needsIosInstall, l as leadingBlanks, n as isApplePortable, o as eachDayOfYear, r as isInstalled, s as fromDateKey, t as SettingsGroup_default, u as startOfWeek } from "./SettingsGroup-BXkajKGl.js";
2
2
  import { n as formatNumber, r as setFormatLocale, t as formatDate } from "./format-BEvBK1SJ.js";
3
- import { a as useBoundValue, c as ensureSheetRoot, n as BaseCheckbox_default, o as useVisualViewport, r as BaseSheet_default, s as SHEET_ROOT_ID, t as focusTarget } from "./focus-target-D0WsXwKh.js";
4
- import { a as FormField_default, c as useOnline, d as readStoredTheme, f as setThemeStorageKey, g as toRedirectPath, h as safeRedirect, i as BaseInput_default, l as applyTheme, m as tapFeedback, n as useAnnounce, o as BaseAlert_default, p as useTheme, r as GoogleButton_default, s as useToast, t as announce, u as isThemePreference } from "./use-announce-B1LsfsZx.js";
3
+ import { a as BaseCheckbox_default, c as useBoundValue, d as ensureSheetRoot, i as textDirection, l as useVisualViewport, n as elementDirection, o as BaseSheet_default, r as horizontalStep, t as focusTarget, u as SHEET_ROOT_ID } from "./focus-target-DRgd8UnQ.js";
4
+ import { a as FormField_default, c as useOnline, d as readStoredTheme, f as setThemeStorageKey, g as toRedirectPath, h as safeRedirect, i as BaseInput_default, l as applyTheme, m as tapFeedback, n as useAnnounce, o as BaseAlert_default, p as useTheme, r as GoogleButton_default, s as useToast, t as announce, u as isThemePreference } from "./use-announce-qM0ZD9Ey.js";
5
5
  import { n as registerErrorMapper, r as toAppError, t as AppError } from "./app-error-DF9cijE0.js";
6
- import { a as useMediaQuery, i as useMenuKeys, n as ScrollArea_default, o as useDragScroll, r as BaseSkeleton_default, t as BaseListbox_default } from "./BaseListbox-DMR-Zn1u.js";
6
+ import { a as useMediaQuery, i as useMenuKeys, n as ScrollArea_default, o as useDragScroll, r as BaseSkeleton_default, t as BaseListbox_default } from "./BaseListbox-BrIZxUmx.js";
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
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
- 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";
11
+ import { ArrowDown, ArrowRight, ArrowUp, ArrowUpRight, CalendarDays, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Clock, Copy, Eye, EyeOff, 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";
14
14
  //#region src/utils/day-label.ts
@@ -272,13 +272,13 @@ function useDebouncedCallback(callback, delay = 800) {
272
272
  }
273
273
  //#endregion
274
274
  //#region src/components/BaseAvatar.vue?vue&type=script&setup=true&lang.ts
275
- var _hoisted_1$48 = [
275
+ var _hoisted_1$49 = [
276
276
  "role",
277
277
  "aria-label",
278
278
  "aria-hidden"
279
279
  ];
280
- var _hoisted_2$42 = ["src"];
281
- var _hoisted_3$28 = {
280
+ var _hoisted_2$43 = ["src"];
281
+ var _hoisted_3$29 = {
282
282
  key: 1,
283
283
  class: "rk-avatar-initials"
284
284
  };
@@ -328,7 +328,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
328
328
  alt: "",
329
329
  class: "rk-avatar-img",
330
330
  onError: _cache[0] || (_cache[0] = ($event) => broken.value = true)
331
- }, null, 40, _hoisted_2$42)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$28, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$20, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
331
+ }, null, 40, _hoisted_2$43)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$29, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$20, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
332
332
  cx: "10",
333
333
  cy: "6.75",
334
334
  r: "3.25",
@@ -337,7 +337,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
337
337
  d: "M3.75 17c0-3.05 2.8-5.25 6.25-5.25S16.25 13.95 16.25 17",
338
338
  "stroke-width": "1.5",
339
339
  "stroke-linecap": "round"
340
- }, null, -1)])]))], 10, _hoisted_1$48);
340
+ }, null, -1)])]))], 10, _hoisted_1$49);
341
341
  };
342
342
  }
343
343
  }), [["__scopeId", "data-v-47586bec"]]);
@@ -362,12 +362,12 @@ var BaseBadge_default = /* @__PURE__ */ defineComponent({
362
362
  });
363
363
  //#endregion
364
364
  //#region src/components/BaseMenu.vue?vue&type=script&setup=true&lang.ts
365
- var _hoisted_1$47 = [
365
+ var _hoisted_1$48 = [
366
366
  "aria-label",
367
367
  "aria-expanded",
368
368
  "aria-controls"
369
369
  ];
370
- var _hoisted_2$41 = ["id"];
370
+ var _hoisted_2$42 = ["id"];
371
371
  //#endregion
372
372
  //#region src/components/BaseMenu.vue
373
373
  var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -436,14 +436,14 @@ var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
436
436
  "aria-haspopup": true,
437
437
  "aria-controls": open.value ? unref(id) : void 0,
438
438
  onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)
439
- }, [renderSlot(_ctx.$slots, "trigger", { open: open.value }, void 0, true)], 8, _hoisted_1$47), open.value ? (openBlock(), createElementBlock("div", {
439
+ }, [renderSlot(_ctx.$slots, "trigger", { open: open.value }, void 0, true)], 8, _hoisted_1$48), open.value ? (openBlock(), createElementBlock("div", {
440
440
  key: 0,
441
441
  id: unref(id),
442
442
  ref_key: "panel",
443
443
  ref: panel,
444
444
  class: normalizeClass(["rk-menu-panel surface-overlay", `is-${__props.align}`]),
445
445
  role: "menu"
446
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$41)) : createCommentVNode("", true)], 544);
446
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$42)) : createCommentVNode("", true)], 544);
447
447
  };
448
448
  }
449
449
  }), [["__scopeId", "data-v-eaeecb75"]]);
@@ -568,13 +568,13 @@ function useVirtualWindow({ count, rowHeight, threshold }) {
568
568
  }
569
569
  //#endregion
570
570
  //#region src/components/BaseCombobox.vue?vue&type=script&setup=true&lang.ts
571
- var _hoisted_1$46 = ["for"];
572
- var _hoisted_2$40 = [
571
+ var _hoisted_1$47 = ["for"];
572
+ var _hoisted_2$41 = [
573
573
  "aria-label",
574
574
  "disabled",
575
575
  "onClick"
576
576
  ];
577
- var _hoisted_3$27 = [
577
+ var _hoisted_3$28 = [
578
578
  "id",
579
579
  "placeholder",
580
580
  "disabled",
@@ -805,7 +805,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
805
805
  createElementVNode("label", {
806
806
  for: unref(id),
807
807
  class: "rk-combo-label"
808
- }, toDisplayString(__props.label), 9, _hoisted_1$46),
808
+ }, toDisplayString(__props.label), 9, _hoisted_1$47),
809
809
  createElementVNode("div", { class: normalizeClass(["rk-combo-field", multiple.value ? "is-multiple control" : ""]) }, [
810
810
  (openBlock(true), createElementBlock(Fragment, null, renderList(multiple.value ? chosenOptions.value : [], (option) => {
811
811
  return openBlock(), createElementBlock("span", {
@@ -818,7 +818,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
818
818
  "aria-label": __props.removeLabel(option.label),
819
819
  disabled: __props.disabled,
820
820
  onClick: ($event) => remove(option.value)
821
- }, " × ", 8, _hoisted_2$40)) : createCommentVNode("", true)]);
821
+ }, " × ", 8, _hoisted_2$41)) : createCommentVNode("", true)]);
822
822
  }), 128)),
823
823
  withDirectives(createElementVNode("input", {
824
824
  id: unref(id),
@@ -837,7 +837,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
837
837
  "aria-describedby": describedBy.value,
838
838
  onKeydown,
839
839
  onFocus: _cache[1] || (_cache[1] = ($event) => open.value = true)
840
- }, null, 42, _hoisted_3$27), [[vModelText, text.value]]),
840
+ }, null, 42, _hoisted_3$28), [[vModelText, text.value]]),
841
841
  createElementVNode("button", {
842
842
  type: "button",
843
843
  class: "rk-combo-toggle",
@@ -908,13 +908,13 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
908
908
  }), [["__scopeId", "data-v-0ae3b425"]]);
909
909
  //#endregion
910
910
  //#region src/components/BaseRadioGroup.vue?vue&type=script&setup=true&lang.ts
911
- var _hoisted_1$45 = ["aria-describedby"];
912
- var _hoisted_2$39 = [
911
+ var _hoisted_1$46 = ["aria-describedby"];
912
+ var _hoisted_2$40 = [
913
913
  "name",
914
914
  "value",
915
915
  "disabled"
916
916
  ];
917
- var _hoisted_3$26 = { class: "text-ink text-sm" };
917
+ var _hoisted_3$27 = { class: "text-ink text-sm" };
918
918
  //#endregion
919
919
  //#region src/components/BaseRadioGroup.vue
920
920
  var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
@@ -958,7 +958,7 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
958
958
  value: option.value,
959
959
  disabled: option.disabled,
960
960
  class: "accent-primary focus-visible:outline-primary size-4 shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2"
961
- }, null, 8, _hoisted_2$39), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$26, toDisplayString(option.label), 1)], 2);
961
+ }, null, 8, _hoisted_2$40), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$27, toDisplayString(option.label), 1)], 2);
962
962
  }), 128)),
963
963
  __props.error ? (openBlock(), createElementBlock("p", {
964
964
  key: 0,
@@ -969,19 +969,19 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
969
969
  id: hintId,
970
970
  class: "text-ink-soft text-xs"
971
971
  }, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
972
- ], 8, _hoisted_1$45);
972
+ ], 8, _hoisted_1$46);
973
973
  };
974
974
  }
975
975
  });
976
976
  //#endregion
977
977
  //#region src/components/BaseSelect.vue?vue&type=script&setup=true&lang.ts
978
- var _hoisted_1$44 = { class: "relative" };
979
- var _hoisted_2$38 = [
978
+ var _hoisted_1$45 = { class: "relative" };
979
+ var _hoisted_2$39 = [
980
980
  "id",
981
981
  "aria-invalid",
982
982
  "aria-describedby"
983
983
  ];
984
- var _hoisted_3$25 = {
984
+ var _hoisted_3$26 = {
985
985
  key: 0,
986
986
  value: void 0,
987
987
  disabled: ""
@@ -1022,7 +1022,7 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1022
1022
  "label-hidden": __props.labelHidden,
1023
1023
  size: __props.size
1024
1024
  }, {
1025
- default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$44, [withDirectives(createElementVNode("select", {
1025
+ default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$45, [withDirectives(createElementVNode("select", {
1026
1026
  id,
1027
1027
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
1028
1028
  "aria-invalid": invalid,
@@ -1032,13 +1032,13 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1032
1032
  __props.variant === "unstyled" ? "" : SIZE_CLASS[__props.size],
1033
1033
  __props.variant !== "unstyled" && invalid ? "border-negative" : ""
1034
1034
  ]])
1035
- }, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_3$25, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
1035
+ }, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_3$26, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
1036
1036
  return openBlock(), createElementBlock("option", {
1037
1037
  key: option.value,
1038
1038
  value: option.value,
1039
1039
  disabled: option.disabled
1040
1040
  }, toDisplayString(option.label), 9, _hoisted_4$18);
1041
- }), 128))], 10, _hoisted_2$38), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
1041
+ }), 128))], 10, _hoisted_2$39), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
1042
1042
  class: "text-ink-soft pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2",
1043
1043
  "aria-hidden": "true"
1044
1044
  })])]),
@@ -1055,9 +1055,9 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1055
1055
  });
1056
1056
  //#endregion
1057
1057
  //#region src/components/BaseSlider.vue?vue&type=script&setup=true&lang.ts
1058
- var _hoisted_1$43 = { class: "rk-slider" };
1059
- var _hoisted_2$37 = { class: "rk-slider-head" };
1060
- var _hoisted_3$24 = ["for"];
1058
+ var _hoisted_1$44 = { class: "rk-slider" };
1059
+ var _hoisted_2$38 = { class: "rk-slider-head" };
1060
+ var _hoisted_3$25 = ["for"];
1061
1061
  var _hoisted_4$17 = ["for"];
1062
1062
  var _hoisted_5$10 = [
1063
1063
  "id",
@@ -1103,11 +1103,11 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1103
1103
  return span <= 0 ? 0 : (model.value - __props.min) / span * 100;
1104
1104
  });
1105
1105
  return (_ctx, _cache) => {
1106
- return openBlock(), createElementBlock("div", _hoisted_1$43, [
1107
- createElementVNode("div", _hoisted_2$37, [createElementVNode("label", {
1106
+ return openBlock(), createElementBlock("div", _hoisted_1$44, [
1107
+ createElementVNode("div", _hoisted_2$38, [createElementVNode("label", {
1108
1108
  for: unref(id),
1109
1109
  class: "rk-slider-label"
1110
- }, toDisplayString(__props.label), 9, _hoisted_3$24), __props.showValue ? (openBlock(), createElementBlock("output", {
1110
+ }, toDisplayString(__props.label), 9, _hoisted_3$25), __props.showValue ? (openBlock(), createElementBlock("output", {
1111
1111
  key: 0,
1112
1112
  for: unref(id),
1113
1113
  class: "rk-slider-value"
@@ -1138,11 +1138,11 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1138
1138
  ]);
1139
1139
  };
1140
1140
  }
1141
- }), [["__scopeId", "data-v-7fa2769b"]]);
1141
+ }), [["__scopeId", "data-v-8f8ae87b"]]);
1142
1142
  //#endregion
1143
1143
  //#region src/components/NumberInput.vue?vue&type=script&setup=true&lang.ts
1144
- var _hoisted_1$42 = ["aria-label", "disabled"];
1145
- var _hoisted_2$36 = [
1144
+ var _hoisted_1$43 = ["aria-label", "disabled"];
1145
+ var _hoisted_2$37 = [
1146
1146
  "id",
1147
1147
  "value",
1148
1148
  "aria-valuenow",
@@ -1152,7 +1152,7 @@ var _hoisted_2$36 = [
1152
1152
  "aria-describedby",
1153
1153
  "disabled"
1154
1154
  ];
1155
- var _hoisted_3$23 = ["aria-label", "disabled"];
1155
+ var _hoisted_3$24 = ["aria-label", "disabled"];
1156
1156
  //#endregion
1157
1157
  //#region src/components/NumberInput.vue
1158
1158
  var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1255,7 +1255,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1255
1255
  }, [createVNode(unref(Minus), {
1256
1256
  class: "size-4",
1257
1257
  "aria-hidden": "true"
1258
- })], 8, _hoisted_1$42),
1258
+ })], 8, _hoisted_1$43),
1259
1259
  createElementVNode("input", {
1260
1260
  id,
1261
1261
  value: draft.value,
@@ -1273,7 +1273,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1273
1273
  onInput,
1274
1274
  onBlur: commit,
1275
1275
  onKeydown
1276
- }, null, 40, _hoisted_2$36),
1276
+ }, null, 40, _hoisted_2$37),
1277
1277
  createElementVNode("button", {
1278
1278
  type: "button",
1279
1279
  class: "rk-number-step focus-ring",
@@ -1284,7 +1284,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1284
1284
  }, [createVNode(unref(Plus), {
1285
1285
  class: "size-4",
1286
1286
  "aria-hidden": "true"
1287
- })], 8, _hoisted_3$23)
1287
+ })], 8, _hoisted_3$24)
1288
1288
  ], 2)]),
1289
1289
  _: 1
1290
1290
  }, 8, [
@@ -1299,7 +1299,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1299
1299
  }), [["__scopeId", "data-v-082bd3d7"]]);
1300
1300
  //#endregion
1301
1301
  //#region src/components/SliderField.vue?vue&type=script&setup=true&lang.ts
1302
- var _hoisted_1$41 = { class: "rk-slider-field" };
1302
+ var _hoisted_1$42 = { class: "rk-slider-field" };
1303
1303
  //#endregion
1304
1304
  //#region src/components/SliderField.vue
1305
1305
  var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1340,7 +1340,7 @@ var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1340
1340
  }
1341
1341
  });
1342
1342
  return (_ctx, _cache) => {
1343
- return openBlock(), createElementBlock("div", _hoisted_1$41, [createVNode(BaseSlider_default, {
1343
+ return openBlock(), createElementBlock("div", _hoisted_1$42, [createVNode(BaseSlider_default, {
1344
1344
  modelValue: model.value,
1345
1345
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
1346
1346
  label: __props.label,
@@ -1388,11 +1388,11 @@ var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1388
1388
  }), [["__scopeId", "data-v-6ec3163a"]]);
1389
1389
  //#endregion
1390
1390
  //#region src/components/BaseSpinner.vue?vue&type=script&setup=true&lang.ts
1391
- var _hoisted_1$40 = {
1391
+ var _hoisted_1$41 = {
1392
1392
  class: "rk-spin-wrap",
1393
1393
  role: "status"
1394
1394
  };
1395
- var _hoisted_2$35 = { class: "rk-spin-label" };
1395
+ var _hoisted_2$36 = { class: "rk-spin-label" };
1396
1396
  //#endregion
1397
1397
  //#region src/components/BaseSpinner.vue
1398
1398
  var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1420,25 +1420,25 @@ var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1420
1420
  lg: "2.5rem"
1421
1421
  };
1422
1422
  return (_ctx, _cache) => {
1423
- return openBlock(), createElementBlock("span", _hoisted_1$40, [createElementVNode("span", {
1423
+ return openBlock(), createElementBlock("span", _hoisted_1$41, [createElementVNode("span", {
1424
1424
  class: "rk-spin",
1425
1425
  style: normalizeStyle({
1426
1426
  width: SIZES[__props.size],
1427
1427
  height: SIZES[__props.size]
1428
1428
  }),
1429
1429
  "aria-hidden": "true"
1430
- }, null, 4), createElementVNode("span", _hoisted_2$35, toDisplayString(__props.label), 1)]);
1430
+ }, null, 4), createElementVNode("span", _hoisted_2$36, toDisplayString(__props.label), 1)]);
1431
1431
  };
1432
1432
  }
1433
1433
  }), [["__scopeId", "data-v-842da62c"]]);
1434
1434
  //#endregion
1435
1435
  //#region src/components/BaseSwitch.vue?vue&type=script&setup=true&lang.ts
1436
- var _hoisted_1$39 = { class: "flex items-center justify-between gap-4" };
1437
- var _hoisted_2$34 = {
1436
+ var _hoisted_1$40 = { class: "flex items-center justify-between gap-4" };
1437
+ var _hoisted_2$35 = {
1438
1438
  key: 0,
1439
1439
  class: "min-w-0"
1440
1440
  };
1441
- var _hoisted_3$22 = ["id"];
1441
+ var _hoisted_3$23 = ["id"];
1442
1442
  var _hoisted_4$16 = [
1443
1443
  "aria-checked",
1444
1444
  "aria-labelledby",
@@ -1478,10 +1478,10 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1478
1478
  if (!__props.disabled) model.value = !model.value;
1479
1479
  }
1480
1480
  return (_ctx, _cache) => {
1481
- return openBlock(), createElementBlock("div", _hoisted_1$39, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$34, [createElementVNode("span", {
1481
+ return openBlock(), createElementBlock("div", _hoisted_1$40, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$35, [createElementVNode("span", {
1482
1482
  id: unref(id),
1483
1483
  class: "text-ink block text-sm"
1484
- }, toDisplayString(__props.label), 9, _hoisted_3$22), __props.hint ? (openBlock(), createElementBlock("span", {
1484
+ }, toDisplayString(__props.label), 9, _hoisted_3$23), __props.hint ? (openBlock(), createElementBlock("span", {
1485
1485
  key: 0,
1486
1486
  id: hintId,
1487
1487
  class: "text-ink-soft mt-0.5 block text-xs"
@@ -1504,9 +1504,9 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1504
1504
  }), [["__scopeId", "data-v-d90e1aa6"]]);
1505
1505
  //#endregion
1506
1506
  //#region src/components/BaseTable.vue?vue&type=script&setup=true&lang.ts
1507
- var _hoisted_1$38 = { class: "rk-table" };
1508
- var _hoisted_2$33 = { key: 0 };
1509
- var _hoisted_3$21 = { key: 1 };
1507
+ var _hoisted_1$39 = { class: "rk-table" };
1508
+ var _hoisted_2$34 = { key: 0 };
1509
+ var _hoisted_3$22 = { key: 1 };
1510
1510
  var _hoisted_4$15 = ["colspan"];
1511
1511
  //#endregion
1512
1512
  //#region src/components/BaseTable.vue
@@ -1530,7 +1530,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1530
1530
  label: __props.caption,
1531
1531
  class: "rk-table-scroll"
1532
1532
  }, {
1533
- default: withCtx(() => [createElementVNode("table", _hoisted_1$38, [
1533
+ default: withCtx(() => [createElementVNode("table", _hoisted_1$39, [
1534
1534
  createElementVNode("caption", { class: normalizeClass(__props.captionHidden ? "rk-table-caption-hidden" : "rk-table-caption") }, toDisplayString(__props.caption), 3),
1535
1535
  createElementVNode("thead", null, [createElementVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
1536
1536
  return openBlock(), createElementBlock("th", {
@@ -1539,7 +1539,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1539
1539
  class: normalizeClass([column.align && `is-${column.align}`, column.nowrap && "is-nowrap"])
1540
1540
  }, toDisplayString(column.label), 3);
1541
1541
  }), 128))])]),
1542
- __props.rows.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_2$33, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
1542
+ __props.rows.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_2$34, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
1543
1543
  return openBlock(), createElementBlock("tr", { key: keyFor(row, index) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
1544
1544
  return openBlock(), createElementBlock("td", {
1545
1545
  key: column.key,
@@ -1549,7 +1549,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1549
1549
  value: row[column.key]
1550
1550
  }, () => [createTextVNode(toDisplayString(row[column.key]), 1)], true)], 2);
1551
1551
  }), 128))]);
1552
- }), 128))])) : (openBlock(), createElementBlock("tbody", _hoisted_3$21, [createElementVNode("tr", null, [createElementVNode("td", {
1552
+ }), 128))])) : (openBlock(), createElementBlock("tbody", _hoisted_3$22, [createElementVNode("tr", null, [createElementVNode("td", {
1553
1553
  colspan: __props.columns.length,
1554
1554
  class: "rk-table-empty"
1555
1555
  }, [renderSlot(_ctx.$slots, "empty", {}, void 0, true)], 8, _hoisted_4$15)])]))
@@ -1561,7 +1561,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1561
1561
  }), [["__scopeId", "data-v-cc1197ef"]]);
1562
1562
  //#endregion
1563
1563
  //#region src/components/BaseTextarea.vue?vue&type=script&setup=true&lang.ts
1564
- var _hoisted_1$37 = [
1564
+ var _hoisted_1$38 = [
1565
1565
  "id",
1566
1566
  "rows",
1567
1567
  "aria-invalid",
@@ -1607,7 +1607,7 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
1607
1607
  __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",
1608
1608
  "text-base",
1609
1609
  __props.variant !== "unstyled" && invalid ? "border-negative" : ""
1610
- ] }), null, 16, _hoisted_1$37), [[vModelText, unref(model)]])]),
1610
+ ] }), null, 16, _hoisted_1$38), [[vModelText, unref(model)]])]),
1611
1611
  _: 1
1612
1612
  }, 8, [
1613
1613
  "label",
@@ -1621,12 +1621,12 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
1621
1621
  });
1622
1622
  //#endregion
1623
1623
  //#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
1624
- var _hoisted_1$36 = { class: "flex flex-col items-center gap-3 px-6 py-10 text-center" };
1625
- var _hoisted_2$32 = {
1624
+ var _hoisted_1$37 = { class: "flex flex-col items-center gap-3 px-6 py-10 text-center" };
1625
+ var _hoisted_2$33 = {
1626
1626
  key: 0,
1627
1627
  class: "bg-muted text-primary rounded-card flex size-12 items-center justify-center"
1628
1628
  };
1629
- var _hoisted_3$20 = { class: "text-ink text-base font-semibold" };
1629
+ var _hoisted_3$21 = { class: "text-ink text-base font-semibold" };
1630
1630
  var _hoisted_4$14 = {
1631
1631
  key: 1,
1632
1632
  class: "text-ink-soft max-w-[36ch] text-sm"
@@ -1653,9 +1653,9 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
1653
1653
  * goes — the button that creates the first one.
1654
1654
  */
1655
1655
  return (_ctx, _cache) => {
1656
- return openBlock(), createElementBlock("div", _hoisted_1$36, [
1657
- _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$32, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
1658
- createElementVNode("h3", _hoisted_3$20, toDisplayString(__props.title), 1),
1656
+ return openBlock(), createElementBlock("div", _hoisted_1$37, [
1657
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$33, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
1658
+ createElementVNode("h3", _hoisted_3$21, toDisplayString(__props.title), 1),
1659
1659
  __props.description ? (openBlock(), createElementBlock("p", _hoisted_4$14, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1660
1660
  _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_5$9, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
1661
1661
  ]);
@@ -1724,9 +1724,9 @@ var PageContainer_default = /* @__PURE__ */ defineComponent({
1724
1724
  });
1725
1725
  //#endregion
1726
1726
  //#region src/components/PageHeader.vue?vue&type=script&setup=true&lang.ts
1727
- var _hoisted_1$35 = { class: "grid h-12 shrink-0 grid-cols-[2.5rem_1fr_2.5rem] items-center" };
1728
- var _hoisted_2$31 = { class: "justify-self-start" };
1729
- var _hoisted_3$19 = { class: "text-ink flex min-w-0 justify-center text-base font-semibold tabular-nums" };
1727
+ var _hoisted_1$36 = { class: "grid h-12 shrink-0 grid-cols-[2.5rem_1fr_2.5rem] items-center" };
1728
+ var _hoisted_2$32 = { class: "justify-self-start" };
1729
+ var _hoisted_3$20 = { class: "text-ink flex min-w-0 justify-center text-base font-semibold tabular-nums" };
1730
1730
  var _hoisted_4$13 = { class: "truncate" };
1731
1731
  var _hoisted_5$8 = { class: "justify-self-end" };
1732
1732
  //#endregion
@@ -1745,9 +1745,9 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
1745
1745
  * each other.
1746
1746
  */
1747
1747
  return (_ctx, _cache) => {
1748
- return openBlock(), createElementBlock("header", _hoisted_1$35, [
1749
- createElementVNode("div", _hoisted_2$31, [renderSlot(_ctx.$slots, "left")]),
1750
- createElementVNode("h1", _hoisted_3$19, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("span", _hoisted_4$13, toDisplayString(__props.title), 1)])]),
1748
+ return openBlock(), createElementBlock("header", _hoisted_1$36, [
1749
+ createElementVNode("div", _hoisted_2$32, [renderSlot(_ctx.$slots, "left")]),
1750
+ createElementVNode("h1", _hoisted_3$20, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("span", _hoisted_4$13, toDisplayString(__props.title), 1)])]),
1751
1751
  createElementVNode("div", _hoisted_5$8, [renderSlot(_ctx.$slots, "right")])
1752
1752
  ]);
1753
1753
  };
@@ -1755,7 +1755,7 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
1755
1755
  });
1756
1756
  //#endregion
1757
1757
  //#region src/components/ProgressBar.vue?vue&type=script&setup=true&lang.ts
1758
- var _hoisted_1$34 = ["aria-valuenow", "aria-label"];
1758
+ var _hoisted_1$35 = ["aria-valuenow", "aria-label"];
1759
1759
  //#endregion
1760
1760
  //#region src/components/ProgressBar.vue
1761
1761
  var ProgressBar_default = /* @__PURE__ */ defineComponent({
@@ -1787,18 +1787,18 @@ var ProgressBar_default = /* @__PURE__ */ defineComponent({
1787
1787
  }, [createElementVNode("div", {
1788
1788
  class: "bg-primary h-full rounded-full transition-[width] duration-700 ease-out",
1789
1789
  style: normalizeStyle({ width: `${portion.value}%` })
1790
- }, null, 4)], 10, _hoisted_1$34);
1790
+ }, null, 4)], 10, _hoisted_1$35);
1791
1791
  };
1792
1792
  }
1793
1793
  });
1794
1794
  //#endregion
1795
1795
  //#region src/components/PriceCard.vue?vue&type=script&setup=true&lang.ts
1796
- var _hoisted_1$33 = {
1796
+ var _hoisted_1$34 = {
1797
1797
  key: 0,
1798
1798
  class: "bg-primary rounded-cell text-on-primary absolute -top-3 left-7 px-3 py-1 text-[0.7rem] font-semibold"
1799
1799
  };
1800
- var _hoisted_2$30 = { class: "flex items-start justify-between gap-4" };
1801
- var _hoisted_3$18 = { class: "text-ink mt-5 text-lg font-semibold" };
1800
+ var _hoisted_2$31 = { class: "flex items-start justify-between gap-4" };
1801
+ var _hoisted_3$19 = { class: "text-ink mt-5 text-lg font-semibold" };
1802
1802
  var _hoisted_4$12 = {
1803
1803
  key: 1,
1804
1804
  class: "text-ink-soft mt-1.5 text-sm leading-relaxed"
@@ -1868,15 +1868,15 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1868
1868
  const palette = computed(() => TONE[__props.tone]);
1869
1869
  return (_ctx, _cache) => {
1870
1870
  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"]]) }, [
1871
- __props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$33, toDisplayString(__props.badge), 1)) : createCommentVNode("", true),
1872
- createElementVNode("div", _hoisted_2$30, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
1871
+ __props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$34, toDisplayString(__props.badge), 1)) : createCommentVNode("", true),
1872
+ createElementVNode("div", _hoisted_2$31, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
1873
1873
  key: 0,
1874
1874
  class: normalizeClass(["rounded-card grid size-11 place-items-center text-xl", palette.value.icon])
1875
1875
  }, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true), __props.chip ? (openBlock(), createElementBlock("span", {
1876
1876
  key: 1,
1877
1877
  class: normalizeClass(["rounded-cell ml-auto px-2.5 py-1 text-[0.7rem] font-medium", palette.value.soft])
1878
1878
  }, toDisplayString(__props.chip), 3)) : createCommentVNode("", true)]),
1879
- createElementVNode("h3", _hoisted_3$18, toDisplayString(__props.name), 1),
1879
+ createElementVNode("h3", _hoisted_3$19, toDisplayString(__props.name), 1),
1880
1880
  __props.lead ? (openBlock(), createElementBlock("p", _hoisted_4$12, toDisplayString(__props.lead), 1)) : createCommentVNode("", true),
1881
1881
  createElementVNode("p", _hoisted_5$7, [createElementVNode("span", _hoisted_6$6, toDisplayString(__props.price), 1), __props.period ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(__props.period), 1)) : createCommentVNode("", true)]),
1882
1882
  __props.note ? (openBlock(), createElementBlock("p", _hoisted_8$2, toDisplayString(__props.note), 1)) : createCommentVNode("", true),
@@ -1893,8 +1893,8 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1893
1893
  });
1894
1894
  //#endregion
1895
1895
  //#region src/components/ToneDot.vue?vue&type=script&setup=true&lang.ts
1896
- var _hoisted_1$32 = { class: "inline-flex items-center gap-1.5" };
1897
- var _hoisted_2$29 = {
1896
+ var _hoisted_1$33 = { class: "inline-flex items-center gap-1.5" };
1897
+ var _hoisted_2$30 = {
1898
1898
  key: 0,
1899
1899
  class: "text-ink-soft text-xs font-medium"
1900
1900
  };
@@ -1915,13 +1915,13 @@ var ToneDot_default = /* @__PURE__ */ defineComponent({
1915
1915
  * priorities — without this component knowing about any of them.
1916
1916
  */
1917
1917
  return (_ctx, _cache) => {
1918
- return openBlock(), createElementBlock("span", _hoisted_1$32, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$29, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
1918
+ return openBlock(), createElementBlock("span", _hoisted_1$33, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$30, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
1919
1919
  };
1920
1920
  }
1921
1921
  });
1922
1922
  //#endregion
1923
1923
  //#region src/components/SectionHeading.vue?vue&type=script&setup=true&lang.ts
1924
- var _hoisted_1$31 = {
1924
+ var _hoisted_1$32 = {
1925
1925
  key: 0,
1926
1926
  class: "text-ink-soft text-xs tabular-nums"
1927
1927
  };
@@ -1939,15 +1939,15 @@ var SectionHeading_default = /* @__PURE__ */ defineComponent({
1939
1939
  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]) }, [
1940
1940
  createVNode(ToneDot_default, { fill: __props.tone.fill }, null, 8, ["fill"]),
1941
1941
  createElementVNode("span", { class: normalizeClass(["text-xs font-semibold tracking-wide uppercase", __props.tone.text]) }, toDisplayString(__props.label), 3),
1942
- __props.count > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$31, toDisplayString(__props.count), 1)) : createCommentVNode("", true)
1942
+ __props.count > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$32, toDisplayString(__props.count), 1)) : createCommentVNode("", true)
1943
1943
  ], 2);
1944
1944
  };
1945
1945
  }
1946
1946
  });
1947
1947
  //#endregion
1948
1948
  //#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
1949
- var _hoisted_1$30 = { class: "bg-muted rounded-card flex w-full gap-1 p-1" };
1950
- var _hoisted_2$28 = ["value", "name"];
1949
+ var _hoisted_1$31 = { class: "bg-muted rounded-card flex w-full gap-1 p-1" };
1950
+ var _hoisted_2$29 = ["value", "name"];
1951
1951
  //#endregion
1952
1952
  //#region src/components/SegmentedControl.vue
1953
1953
  var SegmentedControl_default = /* @__PURE__ */ defineComponent({
@@ -1961,7 +1961,7 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
1961
1961
  const model = useModel(__props, "modelValue");
1962
1962
  const name = useId();
1963
1963
  return (_ctx, _cache) => {
1964
- return openBlock(), createElementBlock("div", _hoisted_1$30, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
1964
+ return openBlock(), createElementBlock("div", _hoisted_1$31, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
1965
1965
  return openBlock(), createElementBlock("label", {
1966
1966
  key: String(option.value),
1967
1967
  class: "flex-1 cursor-pointer"
@@ -1971,18 +1971,18 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
1971
1971
  value: option.value,
1972
1972
  name: unref(name),
1973
1973
  class: "peer sr-only"
1974
- }, null, 8, _hoisted_2$28), [[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)]);
1974
+ }, null, 8, _hoisted_2$29), [[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)]);
1975
1975
  }), 128))]);
1976
1976
  };
1977
1977
  }
1978
1978
  });
1979
1979
  //#endregion
1980
1980
  //#region src/components/SkeletonList.vue?vue&type=script&setup=true&lang.ts
1981
- var _hoisted_1$29 = {
1981
+ var _hoisted_1$30 = {
1982
1982
  role: "status",
1983
1983
  class: "flex flex-col gap-1"
1984
1984
  };
1985
- var _hoisted_2$27 = { class: "sr-only" };
1985
+ var _hoisted_2$28 = { class: "sr-only" };
1986
1986
  //#endregion
1987
1987
  //#region src/components/SkeletonList.vue
1988
1988
  var SkeletonList_default = /* @__PURE__ */ defineComponent({
@@ -1996,7 +1996,7 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
1996
1996
  /** A length starts with a digit, a dot, or opens a CSS function. */
1997
1997
  const isLength = computed(() => /^(?:[.\d]|calc\(|var\(|clamp\(|min\(|max\()/.test(__props.rowHeight));
1998
1998
  return (_ctx, _cache) => {
1999
- return openBlock(), createElementBlock("div", _hoisted_1$29, [createElementVNode("span", _hoisted_2$27, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
1999
+ return openBlock(), createElementBlock("div", _hoisted_1$30, [createElementVNode("span", _hoisted_2$28, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
2000
2000
  return openBlock(), createElementBlock("div", {
2001
2001
  key: row,
2002
2002
  class: normalizeClass(["bg-muted rounded-card animate-pulse", isLength.value ? void 0 : __props.rowHeight]),
@@ -2009,9 +2009,9 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
2009
2009
  });
2010
2010
  //#endregion
2011
2011
  //#region src/components/StatCard.vue?vue&type=script&setup=true&lang.ts
2012
- var _hoisted_1$28 = { class: "surface rounded-card flex flex-1 flex-col gap-0.5 p-3" };
2013
- var _hoisted_2$26 = { class: "flex items-baseline gap-1" };
2014
- var _hoisted_3$17 = { class: "text-ink text-xl font-semibold tabular-nums" };
2012
+ var _hoisted_1$29 = { class: "surface rounded-card flex flex-1 flex-col gap-0.5 p-3" };
2013
+ var _hoisted_2$27 = { class: "flex items-baseline gap-1" };
2014
+ var _hoisted_3$18 = { class: "text-ink text-xl font-semibold tabular-nums" };
2015
2015
  var _hoisted_4$11 = { class: "text-ink-soft text-xs" };
2016
2016
  //#endregion
2017
2017
  //#region src/components/StatCard.vue
@@ -2029,7 +2029,7 @@ var StatCard_default = /* @__PURE__ */ defineComponent({
2029
2029
  flat: ArrowRight
2030
2030
  };
2031
2031
  return (_ctx, _cache) => {
2032
- return openBlock(), createElementBlock("div", _hoisted_1$28, [createElementVNode("div", _hoisted_2$26, [createElementVNode("span", _hoisted_3$17, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
2032
+ return openBlock(), createElementBlock("div", _hoisted_1$29, [createElementVNode("div", _hoisted_2$27, [createElementVNode("span", _hoisted_3$18, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
2033
2033
  key: 0,
2034
2034
  class: "text-ink-soft size-3"
2035
2035
  })) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_4$11, toDisplayString(__props.label), 1)]);
@@ -2038,13 +2038,13 @@ var StatCard_default = /* @__PURE__ */ defineComponent({
2038
2038
  });
2039
2039
  //#endregion
2040
2040
  //#region src/components/ToastHost.vue?vue&type=script&setup=true&lang.ts
2041
- var _hoisted_1$27 = [
2041
+ var _hoisted_1$28 = [
2042
2042
  "onMouseenter",
2043
2043
  "onMouseleave",
2044
2044
  "onFocusin",
2045
2045
  "onFocusout"
2046
2046
  ];
2047
- var _hoisted_2$25 = { class: "flex-1 text-sm leading-snug" };
2047
+ var _hoisted_2$26 = { class: "flex-1 text-sm leading-snug" };
2048
2048
  //#endregion
2049
2049
  //#region src/components/ToastHost.vue
2050
2050
  var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2105,7 +2105,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2105
2105
  class: normalizeClass(["mt-0.5 size-5 shrink-0", TONE_CLASS[toast.tone]]),
2106
2106
  "aria-hidden": "true"
2107
2107
  }, null, 8, ["class"])),
2108
- createElementVNode("p", _hoisted_2$25, toDisplayString(toast.message), 1),
2108
+ createElementVNode("p", _hoisted_2$26, toDisplayString(toast.message), 1),
2109
2109
  toast.action ? (openBlock(), createBlock(BaseButton_default, {
2110
2110
  key: 0,
2111
2111
  variant: "link",
@@ -2128,7 +2128,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2128
2128
  default: withCtx(() => [createVNode(unref(X), { class: "size-4" })]),
2129
2129
  _: 1
2130
2130
  }, 8, ["aria-label", "onClick"])
2131
- ], 40, _hoisted_1$27);
2131
+ ], 40, _hoisted_1$28);
2132
2132
  }), 128))]),
2133
2133
  _: 1
2134
2134
  })], 2)])) : createCommentVNode("", true);
@@ -2137,8 +2137,8 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2137
2137
  }), [["__scopeId", "data-v-737eb240"]]);
2138
2138
  //#endregion
2139
2139
  //#region src/components/LocaleLinks.vue?vue&type=script&setup=true&lang.ts
2140
- var _hoisted_1$26 = ["aria-label"];
2141
- var _hoisted_2$24 = [
2140
+ var _hoisted_1$27 = ["aria-label"];
2141
+ var _hoisted_2$25 = [
2142
2142
  "lang",
2143
2143
  "aria-pressed",
2144
2144
  "onClick"
@@ -2182,16 +2182,16 @@ var LocaleLinks_default = /* @__PURE__ */ defineComponent({
2182
2182
  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"]),
2183
2183
  "aria-pressed": preference.value === locale,
2184
2184
  onClick: ($event) => preference.value = locale
2185
- }, toDisplayString(__props.labels[locale]), 11, _hoisted_2$24);
2186
- }), 128))], 8, _hoisted_1$26);
2185
+ }, toDisplayString(__props.labels[locale]), 11, _hoisted_2$25);
2186
+ }), 128))], 8, _hoisted_1$27);
2187
2187
  };
2188
2188
  }
2189
2189
  });
2190
2190
  //#endregion
2191
2191
  //#region src/components/TabBar.vue?vue&type=script&setup=true&lang.ts
2192
- var _hoisted_1$25 = { class: "tab-bar" };
2193
- var _hoisted_2$23 = ["aria-label"];
2194
- var _hoisted_3$16 = { class: "tab-icon-slot" };
2192
+ var _hoisted_1$26 = { class: "tab-bar" };
2193
+ var _hoisted_2$24 = ["aria-label"];
2194
+ var _hoisted_3$17 = { class: "tab-icon-slot" };
2195
2195
  var _hoisted_4$10 = { class: "tab-label" };
2196
2196
  //#endregion
2197
2197
  //#region src/components/TabBar.vue
@@ -2204,7 +2204,7 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
2204
2204
  },
2205
2205
  setup(__props) {
2206
2206
  return (_ctx, _cache) => {
2207
- return openBlock(), createElementBlock("header", _hoisted_1$25, [createElementVNode("nav", {
2207
+ return openBlock(), createElementBlock("header", _hoisted_1$26, [createElementVNode("nav", {
2208
2208
  class: "tab-bar-inner",
2209
2209
  "aria-label": __props.label || void 0
2210
2210
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
@@ -2215,22 +2215,22 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
2215
2215
  "aria-current": item.key === __props.active ? "page" : void 0,
2216
2216
  onClick: _cache[0] || (_cache[0] = ($event) => unref(tapFeedback)())
2217
2217
  }, {
2218
- default: withCtx(() => [createElementVNode("span", _hoisted_3$16, [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "tab-icon" }))]), createElementVNode("span", _hoisted_4$10, toDisplayString(item.label), 1)]),
2218
+ default: withCtx(() => [createElementVNode("span", _hoisted_3$17, [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "tab-icon" }))]), createElementVNode("span", _hoisted_4$10, toDisplayString(item.label), 1)]),
2219
2219
  _: 2
2220
2220
  }, 1032, [
2221
2221
  "to",
2222
2222
  "class",
2223
2223
  "aria-current"
2224
2224
  ]);
2225
- }), 128))], 8, _hoisted_2$23)]);
2225
+ }), 128))], 8, _hoisted_2$24)]);
2226
2226
  };
2227
2227
  }
2228
2228
  }), [["__scopeId", "data-v-a76891c4"]]);
2229
2229
  //#endregion
2230
2230
  //#region src/components/ActivityGrid.vue?vue&type=script&setup=true&lang.ts
2231
- var _hoisted_1$24 = ["aria-label"];
2232
- var _hoisted_2$22 = ["colspan"];
2233
- var _hoisted_3$15 = {
2231
+ var _hoisted_1$25 = ["aria-label"];
2232
+ var _hoisted_2$23 = ["colspan"];
2233
+ var _hoisted_3$16 = {
2234
2234
  scope: "row",
2235
2235
  class: "rk-activity-weekday"
2236
2236
  };
@@ -2346,12 +2346,9 @@ var ActivityGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2346
2346
  moveTo(focused.value + 1);
2347
2347
  break;
2348
2348
  case "ArrowLeft":
2349
- event.preventDefault();
2350
- step(-1);
2351
- break;
2352
2349
  case "ArrowRight":
2353
2350
  event.preventDefault();
2354
- step(1);
2351
+ step(horizontalStep(event.key, event.currentTarget));
2355
2352
  break;
2356
2353
  case "Home":
2357
2354
  event.preventDefault();
@@ -2374,45 +2371,54 @@ var ActivityGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2374
2371
  choose(day);
2375
2372
  }
2376
2373
  onMounted(() => {
2377
- if (__props.startAtEnd && scroller.value) scroller.value.scrollLeft = scroller.value.scrollWidth;
2374
+ if (!__props.startAtEnd) return;
2375
+ const element = scroller.value?.viewport;
2376
+ if (!element) return;
2377
+ element.scrollLeft = elementDirection(element) === "rtl" ? -element.scrollWidth : element.scrollWidth;
2378
2378
  });
2379
2379
  return (_ctx, _cache) => {
2380
- return openBlock(), createElementBlock("div", {
2380
+ return openBlock(), createBlock(ScrollArea_default, {
2381
2381
  ref_key: "scroller",
2382
2382
  ref: scroller,
2383
- class: "rk-activity no-scrollbar"
2384
- }, [createElementVNode("table", {
2385
- ref_key: "grid",
2386
- ref: grid,
2387
- class: "rk-activity-table",
2388
- "aria-label": __props.label,
2389
- onKeydown,
2390
- onClick
2391
- }, [createElementVNode("thead", null, [createElementVNode("tr", null, [_cache[0] || (_cache[0] = createElementVNode("td", { class: "rk-activity-corner" }, null, -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(months.value, (month) => {
2392
- return openBlock(), createElementBlock("th", {
2393
- key: month.key,
2394
- colspan: month.span,
2395
- scope: "colgroup"
2396
- }, toDisplayString(month.label), 9, _hoisted_2$22);
2397
- }), 128))])]), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (weekday, row) => {
2398
- return openBlock(), createElementBlock("tr", { key: weekday }, [createElementVNode("th", _hoisted_3$15, [createElementVNode("span", _hoisted_4$9, toDisplayString(weekday), 1)]), (openBlock(true), createElementBlock(Fragment, null, renderList(weeks.value, (week, column) => {
2399
- return openBlock(), createElementBlock(Fragment, { key: column }, [week[row] ? (openBlock(), createElementBlock("td", mergeProps({
2400
- key: 0,
2401
- class: "rk-activity-cell"
2402
- }, { ref_for: true }, dayAttrs(week[row]), {
2403
- tabindex: cells.value[focused.value]?.day === week[row] ? 0 : -1,
2404
- "aria-label": __props.dayLabel(week[row]),
2405
- class: [__props.levelFor(week[row]), { "is-pickable": __props.isSelectable?.(week[row]) }]
2406
- }), null, 16, _hoisted_5$6)) : (openBlock(), createElementBlock("td", _hoisted_6$5))], 64);
2407
- }), 128))]);
2408
- }), 128))])], 40, _hoisted_1$24)], 512);
2383
+ axis: "x",
2384
+ scrollbar: "hidden",
2385
+ label: __props.label,
2386
+ class: "rk-activity"
2387
+ }, {
2388
+ default: withCtx(() => [createElementVNode("table", {
2389
+ ref_key: "grid",
2390
+ ref: grid,
2391
+ class: "rk-activity-table",
2392
+ "aria-label": __props.label,
2393
+ onKeydown,
2394
+ onClick
2395
+ }, [createElementVNode("thead", null, [createElementVNode("tr", null, [_cache[0] || (_cache[0] = createElementVNode("td", { class: "rk-activity-corner" }, null, -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(months.value, (month) => {
2396
+ return openBlock(), createElementBlock("th", {
2397
+ key: month.key,
2398
+ colspan: month.span,
2399
+ scope: "colgroup"
2400
+ }, toDisplayString(month.label), 9, _hoisted_2$23);
2401
+ }), 128))])]), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (weekday, row) => {
2402
+ return openBlock(), createElementBlock("tr", { key: weekday }, [createElementVNode("th", _hoisted_3$16, [createElementVNode("span", _hoisted_4$9, toDisplayString(weekday), 1)]), (openBlock(true), createElementBlock(Fragment, null, renderList(weeks.value, (week, column) => {
2403
+ return openBlock(), createElementBlock(Fragment, { key: column }, [week[row] ? (openBlock(), createElementBlock("td", mergeProps({
2404
+ key: 0,
2405
+ class: "rk-activity-cell"
2406
+ }, { ref_for: true }, dayAttrs(week[row]), {
2407
+ tabindex: cells.value[focused.value]?.day === week[row] ? 0 : -1,
2408
+ "aria-label": __props.dayLabel(week[row]),
2409
+ class: [__props.levelFor(week[row]), { "is-pickable": __props.isSelectable?.(week[row]) }]
2410
+ }), null, 16, _hoisted_5$6)) : (openBlock(), createElementBlock("td", _hoisted_6$5))], 64);
2411
+ }), 128))]);
2412
+ }), 128))])], 40, _hoisted_1$25)]),
2413
+ _: 1
2414
+ }, 8, ["label"]);
2409
2415
  };
2410
2416
  }
2411
- }), [["__scopeId", "data-v-9f622328"]]);
2417
+ }), [["__scopeId", "data-v-766e5244"]]);
2412
2418
  //#endregion
2413
2419
  //#region src/components/VirtualList.vue?vue&type=script&setup=true&lang.ts
2414
- var _hoisted_1$23 = ["aria-label"];
2415
- var _hoisted_2$21 = ["aria-setsize", "aria-posinset"];
2420
+ var _hoisted_1$24 = ["aria-label"];
2421
+ var _hoisted_2$22 = ["aria-setsize", "aria-posinset"];
2416
2422
  //#endregion
2417
2423
  //#region src/components/VirtualList.vue
2418
2424
  var VirtualList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2480,14 +2486,14 @@ var VirtualList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
2480
2486
  }, [renderSlot(_ctx.$slots, "default", {
2481
2487
  item: row.item,
2482
2488
  index: row.index
2483
- }, void 0, true)], 12, _hoisted_2$21);
2489
+ }, void 0, true)], 12, _hoisted_2$22);
2484
2490
  }), 128)),
2485
2491
  unref(padBottom) > 0 ? (openBlock(), createElementBlock("li", {
2486
2492
  key: 1,
2487
2493
  style: normalizeStyle({ height: `${unref(padBottom)}px` }),
2488
2494
  "aria-hidden": "true"
2489
2495
  }, null, 4)) : createCommentVNode("", true)
2490
- ], 8, _hoisted_1$23)]),
2496
+ ], 8, _hoisted_1$24)]),
2491
2497
  _: 3
2492
2498
  }, 8, [
2493
2499
  "label",
@@ -2499,13 +2505,13 @@ var VirtualList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
2499
2505
  }), [["__scopeId", "data-v-936ed40c"]]);
2500
2506
  //#endregion
2501
2507
  //#region src/components/AnnounceHost.vue?vue&type=script&setup=true&lang.ts
2502
- var _hoisted_1$22 = { class: "rk-announcer" };
2503
- var _hoisted_2$20 = {
2508
+ var _hoisted_1$23 = { class: "rk-announcer" };
2509
+ var _hoisted_2$21 = {
2504
2510
  role: "status",
2505
2511
  "aria-live": "polite",
2506
2512
  "aria-atomic": "true"
2507
2513
  };
2508
- var _hoisted_3$14 = {
2514
+ var _hoisted_3$15 = {
2509
2515
  role: "alert",
2510
2516
  "aria-live": "assertive",
2511
2517
  "aria-atomic": "true"
@@ -2517,15 +2523,15 @@ var AnnounceHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2517
2523
  setup(__props) {
2518
2524
  const { polite, assertive } = useAnnounce();
2519
2525
  return (_ctx, _cache) => {
2520
- return openBlock(), createElementBlock("div", _hoisted_1$22, [createElementVNode("p", _hoisted_2$20, toDisplayString(unref(polite)), 1), createElementVNode("p", _hoisted_3$14, toDisplayString(unref(assertive)), 1)]);
2526
+ return openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("p", _hoisted_2$21, toDisplayString(unref(polite)), 1), createElementVNode("p", _hoisted_3$15, toDisplayString(unref(assertive)), 1)]);
2521
2527
  };
2522
2528
  }
2523
2529
  }), [["__scopeId", "data-v-205d6703"]]);
2524
2530
  //#endregion
2525
2531
  //#region src/components/ErrorSummary.vue?vue&type=script&setup=true&lang.ts
2526
- var _hoisted_1$21 = { class: "rk-errsum-title" };
2527
- var _hoisted_2$19 = { class: "rk-errsum-list" };
2528
- var _hoisted_3$13 = ["href", "onClick"];
2532
+ var _hoisted_1$22 = { class: "rk-errsum-title" };
2533
+ var _hoisted_2$20 = { class: "rk-errsum-list" };
2534
+ var _hoisted_3$14 = ["href", "onClick"];
2529
2535
  //#endregion
2530
2536
  //#region src/components/ErrorSummary.vue
2531
2537
  var ErrorSummary_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2570,62 +2576,20 @@ var ErrorSummary_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2570
2576
  ref: panel,
2571
2577
  class: "rk-errsum",
2572
2578
  tabindex: "-1"
2573
- }, [createElementVNode("p", _hoisted_1$21, toDisplayString(__props.title), 1), createElementVNode("ul", _hoisted_2$19, [(openBlock(true), createElementBlock(Fragment, null, renderList(listed.value, (item) => {
2579
+ }, [createElementVNode("p", _hoisted_1$22, toDisplayString(__props.title), 1), createElementVNode("ul", _hoisted_2$20, [(openBlock(true), createElementBlock(Fragment, null, renderList(listed.value, (item) => {
2574
2580
  return openBlock(), createElementBlock("li", { key: item.field }, [createElementVNode("a", {
2575
2581
  href: `#${item.id}`,
2576
2582
  class: "rk-errsum-link",
2577
2583
  onClick: ($event) => goToField($event, item.id)
2578
- }, toDisplayString(__props.labelFor(item.field)) + ": " + toDisplayString(item.message), 9, _hoisted_3$13)]);
2584
+ }, toDisplayString(__props.labelFor(item.field)) + ": " + toDisplayString(item.message), 9, _hoisted_3$14)]);
2579
2585
  }), 128))])], 512)) : createCommentVNode("", true);
2580
2586
  };
2581
2587
  }
2582
2588
  }), [["__scopeId", "data-v-4a68e342"]]);
2583
2589
  //#endregion
2584
- //#region src/utils/direction.ts
2585
- var RTL = /* @__PURE__ */ new Set([
2586
- "ar",
2587
- "arc",
2588
- "ckb",
2589
- "dv",
2590
- "fa",
2591
- "he",
2592
- "ks",
2593
- "ku",
2594
- "nqo",
2595
- "ps",
2596
- "sd",
2597
- "syr",
2598
- "ug",
2599
- "ur",
2600
- "yi"
2601
- ]);
2602
- /**
2603
- * Which way a locale tag is written.
2604
- *
2605
- * The kit is built on logical properties and `start`/`end` props all the
2606
- * way through — `BaseDrawer`'s side, every inset, every margin — and none
2607
- * of that does anything at all until `dir` is set on the document. So the
2608
- * direction has to come from somewhere, and a locale tag is the only thing
2609
- * that knows it.
2610
- *
2611
- * Only the language subtag is read, so `ar-EG` and `ar` answer the same.
2612
- *
2613
- * @example
2614
- * ```ts
2615
- * textDirection('he-IL') // 'rtl'
2616
- * textDirection('tr') // 'ltr'
2617
- * ```
2618
- */
2619
- function textDirection(locale) {
2620
- const parts = locale.toLowerCase().split(/[-_]/);
2621
- const script = parts[1];
2622
- if (script === "arab" || script === "hebr" || script === "thaa" || script === "syrc") return "rtl";
2623
- return RTL.has(parts[0] ?? "") ? "rtl" : "ltr";
2624
- }
2625
- //#endregion
2626
2590
  //#region src/components/AvatarStack.vue?vue&type=script&setup=true&lang.ts
2627
- var _hoisted_1$20 = ["aria-label"];
2628
- var _hoisted_2$18 = {
2591
+ var _hoisted_1$21 = ["aria-label"];
2592
+ var _hoisted_2$19 = {
2629
2593
  key: 0,
2630
2594
  class: "rk-stack-item rk-stack-rest",
2631
2595
  "aria-hidden": "true"
@@ -2663,15 +2627,15 @@ var AvatarStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
2663
2627
  "src",
2664
2628
  "size"
2665
2629
  ])]);
2666
- }), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$18, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$20);
2630
+ }), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$19, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$21);
2667
2631
  };
2668
2632
  }
2669
2633
  }), [["__scopeId", "data-v-1f87913c"]]);
2670
2634
  //#endregion
2671
2635
  //#region src/components/BaseCalendar.vue?vue&type=script&setup=true&lang.ts
2672
- var _hoisted_1$19 = { class: "rk-cal" };
2673
- var _hoisted_2$17 = { class: "rk-cal-head" };
2674
- var _hoisted_3$12 = ["aria-label"];
2636
+ var _hoisted_1$20 = { class: "rk-cal" };
2637
+ var _hoisted_2$18 = { class: "rk-cal-head" };
2638
+ var _hoisted_3$13 = ["aria-label"];
2675
2639
  var _hoisted_4$8 = ["aria-expanded"];
2676
2640
  var _hoisted_5$5 = ["aria-label"];
2677
2641
  var _hoisted_6$4 = {
@@ -2829,16 +2793,18 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2829
2793
  return toDateKey(date);
2830
2794
  }
2831
2795
  function onKeydown(event) {
2796
+ const key = event.key;
2797
+ const along = horizontalStep(key, event.currentTarget);
2832
2798
  const next = {
2833
- ArrowLeft: () => addDays(focused.value, -1),
2834
- ArrowRight: () => addDays(focused.value, 1),
2799
+ ArrowLeft: () => addDays(focused.value, along),
2800
+ ArrowRight: () => addDays(focused.value, along),
2835
2801
  ArrowUp: () => addDays(focused.value, -7),
2836
2802
  ArrowDown: () => addDays(focused.value, 7),
2837
2803
  Home: () => addDays(focused.value, -((fromDateKey(focused.value).getDay() - __props.weekStartsOn + 7) % 7)),
2838
2804
  End: () => addDays(focused.value, 6 - (fromDateKey(focused.value).getDay() - __props.weekStartsOn + 7) % 7),
2839
2805
  PageUp: () => shiftMonths(event.shiftKey ? -12 : -1),
2840
2806
  PageDown: () => shiftMonths(event.shiftKey ? 12 : 1)
2841
- }[event.key];
2807
+ }[key];
2842
2808
  if (!next) return;
2843
2809
  event.preventDefault();
2844
2810
  moveTo(next());
@@ -2866,8 +2832,8 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2866
2832
  if (next) focused.value = next;
2867
2833
  });
2868
2834
  return (_ctx, _cache) => {
2869
- return openBlock(), createElementBlock("div", _hoisted_1$19, [
2870
- createElementVNode("div", _hoisted_2$17, [
2835
+ return openBlock(), createElementBlock("div", _hoisted_1$20, [
2836
+ createElementVNode("div", _hoisted_2$18, [
2871
2837
  createElementVNode("button", {
2872
2838
  type: "button",
2873
2839
  class: "rk-cal-arrow focus-ring",
@@ -2876,7 +2842,7 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2876
2842
  }, [createVNode(unref(ChevronLeft), {
2877
2843
  class: "size-4",
2878
2844
  "aria-hidden": "true"
2879
- })], 8, _hoisted_3$12),
2845
+ })], 8, _hoisted_3$13),
2880
2846
  createElementVNode("button", {
2881
2847
  type: "button",
2882
2848
  class: "rk-cal-title focus-ring",
@@ -2946,11 +2912,11 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2946
2912
  ]);
2947
2913
  };
2948
2914
  }
2949
- }), [["__scopeId", "data-v-30197a85"]]);
2915
+ }), [["__scopeId", "data-v-d682f18a"]]);
2950
2916
  //#endregion
2951
2917
  //#region src/components/BaseChip.vue?vue&type=script&setup=true&lang.ts
2952
- var _hoisted_1$18 = { class: "truncate" };
2953
- var _hoisted_2$16 = ["aria-label", "disabled"];
2918
+ var _hoisted_1$19 = { class: "truncate" };
2919
+ var _hoisted_2$17 = ["aria-label", "disabled"];
2954
2920
  //#endregion
2955
2921
  //#region src/components/BaseChip.vue
2956
2922
  var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2987,7 +2953,7 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
2987
2953
  key: 0,
2988
2954
  class: "size-3.5 shrink-0",
2989
2955
  "aria-hidden": "true"
2990
- })) : createCommentVNode("", true), createElementVNode("span", _hoisted_1$18, toDisplayString(__props.label), 1)]),
2956
+ })) : createCommentVNode("", true), createElementVNode("span", _hoisted_1$19, toDisplayString(__props.label), 1)]),
2991
2957
  _: 1
2992
2958
  }, 8, [
2993
2959
  "type",
@@ -3004,18 +2970,18 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
3004
2970
  }, [createVNode(unref(X), {
3005
2971
  class: "size-3",
3006
2972
  "aria-hidden": "true"
3007
- })], 8, _hoisted_2$16)) : createCommentVNode("", true)], 2);
2973
+ })], 8, _hoisted_2$17)) : createCommentVNode("", true)], 2);
3008
2974
  };
3009
2975
  }
3010
2976
  }), [["__scopeId", "data-v-c94a820d"]]);
3011
2977
  //#endregion
3012
2978
  //#region src/components/BaseKbd.vue?vue&type=script&setup=true&lang.ts
3013
- var _hoisted_1$17 = {
2979
+ var _hoisted_1$18 = {
3014
2980
  key: 0,
3015
2981
  class: "rk-kbd-joiner",
3016
2982
  "aria-hidden": "true"
3017
2983
  };
3018
- var _hoisted_2$15 = { class: "rk-kbd-key control" };
2984
+ var _hoisted_2$16 = { class: "rk-kbd-key control" };
3019
2985
  //#endregion
3020
2986
  //#region src/components/BaseKbd.vue
3021
2987
  var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -3029,7 +2995,7 @@ var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
3029
2995
  const list = computed(() => typeof __props.keys === "string" ? [__props.keys] : __props.keys);
3030
2996
  return (_ctx, _cache) => {
3031
2997
  return openBlock(), createElementBlock("span", { class: normalizeClass(["rk-kbd", `is-${__props.size}`]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (key, index) => {
3032
- return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$17, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$15, toDisplayString(key), 1)], 64);
2998
+ return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$18, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$16, toDisplayString(key), 1)], 64);
3033
2999
  }), 128))], 2);
3034
3000
  };
3035
3001
  }
@@ -3068,7 +3034,7 @@ var BaseLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
3068
3034
  }), [["__scopeId", "data-v-88581007"]]);
3069
3035
  //#endregion
3070
3036
  //#region src/components/BaseRating.vue?vue&type=script&setup=true&lang.ts
3071
- var _hoisted_1$16 = [
3037
+ var _hoisted_1$17 = [
3072
3038
  "role",
3073
3039
  "aria-label",
3074
3040
  "tabindex",
@@ -3077,7 +3043,7 @@ var _hoisted_1$16 = [
3077
3043
  "aria-valuemax",
3078
3044
  "aria-valuetext"
3079
3045
  ];
3080
- var _hoisted_2$14 = ["onClick", "onPointerenter"];
3046
+ var _hoisted_2$15 = ["onClick", "onPointerenter"];
3081
3047
  //#endregion
3082
3048
  //#region src/components/BaseRating.vue
3083
3049
  var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -3111,10 +3077,11 @@ var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
3111
3077
  model.value = __props.allowClear && model.value === value ? 0 : value;
3112
3078
  }
3113
3079
  function onKeydown(event) {
3080
+ const along = horizontalStep(event.key, event.currentTarget);
3114
3081
  const next = {
3115
- ArrowRight: model.value + 1,
3082
+ ArrowRight: model.value + along,
3083
+ ArrowLeft: model.value + along,
3116
3084
  ArrowUp: model.value + 1,
3117
- ArrowLeft: model.value - 1,
3118
3085
  ArrowDown: model.value - 1,
3119
3086
  Home: 0,
3120
3087
  End: __props.max
@@ -3142,15 +3109,15 @@ var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
3142
3109
  "aria-hidden": "true",
3143
3110
  onClick: ($event) => __props.readonly ? void 0 : pick(star),
3144
3111
  onPointerenter: ($event) => __props.readonly ? void 0 : hovered.value = star
3145
- }, [createVNode(unref(Star), { class: "rk-rating-icon" })], 42, _hoisted_2$14);
3146
- }), 128))], 42, _hoisted_1$16);
3112
+ }, [createVNode(unref(Star), { class: "rk-rating-icon" })], 42, _hoisted_2$15);
3113
+ }), 128))], 42, _hoisted_1$17);
3147
3114
  };
3148
3115
  }
3149
- }), [["__scopeId", "data-v-3118ad6b"]]);
3116
+ }), [["__scopeId", "data-v-b7334b78"]]);
3150
3117
  //#endregion
3151
3118
  //#region src/components/BaseSeparator.vue?vue&type=script&setup=true&lang.ts
3152
- var _hoisted_1$15 = { class: "rk-sep-label" };
3153
- var _hoisted_2$13 = ["aria-orientation"];
3119
+ var _hoisted_1$16 = { class: "rk-sep-label" };
3120
+ var _hoisted_2$14 = ["aria-orientation"];
3154
3121
  //#endregion
3155
3122
  //#region src/components/BaseSeparator.vue
3156
3123
  var BaseSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -3178,28 +3145,28 @@ var BaseSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
3178
3145
  "aria-hidden": "true"
3179
3146
  }, [
3180
3147
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "rk-sep-line" }, null, -1)),
3181
- createElementVNode("span", _hoisted_1$15, toDisplayString(__props.label), 1),
3148
+ createElementVNode("span", _hoisted_1$16, toDisplayString(__props.label), 1),
3182
3149
  _cache[1] || (_cache[1] = createElementVNode("span", { class: "rk-sep-line" }, null, -1))
3183
3150
  ], 2)) : (openBlock(), createElementBlock("div", {
3184
3151
  key: 1,
3185
3152
  class: normalizeClass(["rk-sep", [`is-${__props.orientation}`, `space-${__props.spacing}`]]),
3186
3153
  role: "separator",
3187
3154
  "aria-orientation": __props.orientation
3188
- }, null, 10, _hoisted_2$13));
3155
+ }, null, 10, _hoisted_2$14));
3189
3156
  };
3190
3157
  }
3191
3158
  }), [["__scopeId", "data-v-9f8cc9aa"]]);
3192
3159
  //#endregion
3193
3160
  //#region src/components/ColorPicker.vue?vue&type=script&setup=true&lang.ts
3194
- var _hoisted_1$14 = { class: "rk-color-row" };
3195
- var _hoisted_2$12 = [
3161
+ var _hoisted_1$15 = { class: "rk-color-row" };
3162
+ var _hoisted_2$13 = [
3196
3163
  "id",
3197
3164
  "value",
3198
3165
  "disabled",
3199
3166
  "aria-describedby",
3200
3167
  "aria-invalid"
3201
3168
  ];
3202
- var _hoisted_3$11 = [
3169
+ var _hoisted_3$12 = [
3203
3170
  "aria-label",
3204
3171
  "disabled",
3205
3172
  "onKeydown"
@@ -3282,7 +3249,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3282
3249
  "label-hidden": __props.labelHidden,
3283
3250
  class: "rk-color"
3284
3251
  }, {
3285
- default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$14, [
3252
+ default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$15, [
3286
3253
  createElementVNode("span", {
3287
3254
  class: "rk-color-well",
3288
3255
  style: normalizeStyle(current.value ? { "--rk-color": current.value } : void 0)
@@ -3295,7 +3262,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3295
3262
  "aria-describedby": describedBy,
3296
3263
  "aria-invalid": invalid,
3297
3264
  onInput: _cache[0] || (_cache[0] = ($event) => set($event.target.value))
3298
- }, null, 40, _hoisted_2$12)], 4),
3265
+ }, null, 40, _hoisted_2$13)], 4),
3299
3266
  __props.hexLabel ? withDirectives((openBlock(), createElementBlock("input", {
3300
3267
  key: 0,
3301
3268
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => draft.value = $event),
@@ -3307,7 +3274,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3307
3274
  disabled: __props.disabled,
3308
3275
  onBlur: commit,
3309
3276
  onKeydown: withKeys(withModifiers(commit, ["prevent"]), ["enter"])
3310
- }, null, 40, _hoisted_3$11)), [[vModelText, draft.value]]) : createCommentVNode("", true),
3277
+ }, null, 40, _hoisted_3$12)), [[vModelText, draft.value]]) : createCommentVNode("", true),
3311
3278
  __props.swatches.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_4$7, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.swatches, (swatch) => {
3312
3279
  return openBlock(), createElementBlock("li", { key: swatch.value }, [createElementVNode("button", {
3313
3280
  type: "button",
@@ -3332,9 +3299,9 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3332
3299
  }), [["__scopeId", "data-v-5ca23aa9"]]);
3333
3300
  //#endregion
3334
3301
  //#region src/components/CopyButton.vue?vue&type=script&setup=true&lang.ts
3335
- var _hoisted_1$13 = ["aria-label"];
3336
- var _hoisted_2$11 = { key: 2 };
3337
- var _hoisted_3$10 = {
3302
+ var _hoisted_1$14 = ["aria-label"];
3303
+ var _hoisted_2$12 = { key: 2 };
3304
+ var _hoisted_3$11 = {
3338
3305
  class: "sr-only",
3339
3306
  role: "status",
3340
3307
  "aria-live": "polite"
@@ -3392,23 +3359,23 @@ var CopyButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
3392
3359
  class: "size-4 shrink-0",
3393
3360
  "aria-hidden": "true"
3394
3361
  })),
3395
- __props.withText ? (openBlock(), createElementBlock("span", _hoisted_2$11, toDisplayString(state.value === "copied" ? __props.copiedLabel : __props.copyLabel), 1)) : createCommentVNode("", true),
3396
- createElementVNode("span", _hoisted_3$10, toDisplayString(state.value === "copied" ? __props.copiedLabel : state.value === "failed" ? __props.errorLabel ?? "" : ""), 1)
3397
- ], 10, _hoisted_1$13);
3362
+ __props.withText ? (openBlock(), createElementBlock("span", _hoisted_2$12, toDisplayString(state.value === "copied" ? __props.copiedLabel : __props.copyLabel), 1)) : createCommentVNode("", true),
3363
+ createElementVNode("span", _hoisted_3$11, toDisplayString(state.value === "copied" ? __props.copiedLabel : state.value === "failed" ? __props.errorLabel ?? "" : ""), 1)
3364
+ ], 10, _hoisted_1$14);
3398
3365
  };
3399
3366
  }
3400
3367
  }), [["__scopeId", "data-v-c481e140"]]);
3401
3368
  //#endregion
3402
3369
  //#region src/components/CodeBlock.vue?vue&type=script&setup=true&lang.ts
3403
- var _hoisted_1$12 = {
3370
+ var _hoisted_1$13 = {
3404
3371
  key: 0,
3405
3372
  class: "rk-code-bar"
3406
3373
  };
3407
- var _hoisted_2$10 = {
3374
+ var _hoisted_2$11 = {
3408
3375
  key: 0,
3409
3376
  class: "rk-code-lang"
3410
3377
  };
3411
- var _hoisted_3$9 = [
3378
+ var _hoisted_3$10 = [
3412
3379
  "tabindex",
3413
3380
  "role",
3414
3381
  "aria-label"
@@ -3432,7 +3399,7 @@ var CodeBlock_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
3432
3399
  const copyable = computed(() => __props.copyLabel !== void 0 && __props.copiedLabel !== void 0);
3433
3400
  const scrolls = computed(() => !__props.wrap);
3434
3401
  return (_ctx, _cache) => {
3435
- return openBlock(), createElementBlock("figure", { class: normalizeClass(["rk-code", { "is-wrapped": __props.wrap }]) }, [__props.language || copyable.value ? (openBlock(), createElementBlock("figcaption", _hoisted_1$12, [__props.language ? (openBlock(), createElementBlock("span", _hoisted_2$10, toDisplayString(__props.language), 1)) : createCommentVNode("", true), copyable.value ? (openBlock(), createBlock(CopyButton_default, {
3402
+ return openBlock(), createElementBlock("figure", { class: normalizeClass(["rk-code", { "is-wrapped": __props.wrap }]) }, [__props.language || copyable.value ? (openBlock(), createElementBlock("figcaption", _hoisted_1$13, [__props.language ? (openBlock(), createElementBlock("span", _hoisted_2$11, toDisplayString(__props.language), 1)) : createCommentVNode("", true), copyable.value ? (openBlock(), createBlock(CopyButton_default, {
3436
3403
  key: 1,
3437
3404
  class: "rk-code-copy",
3438
3405
  text: __props.code,
@@ -3447,14 +3414,14 @@ var CodeBlock_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
3447
3414
  tabindex: scrolls.value ? 0 : void 0,
3448
3415
  role: scrolls.value ? "region" : void 0,
3449
3416
  "aria-label": scrolls.value ? __props.label : void 0
3450
- }, [createElementVNode("code", null, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.code), 1)], true)])], 8, _hoisted_3$9)], 2);
3417
+ }, [createElementVNode("code", null, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.code), 1)], true)])], 8, _hoisted_3$10)], 2);
3451
3418
  };
3452
3419
  }
3453
3420
  }), [["__scopeId", "data-v-b45043be"]]);
3454
3421
  //#endregion
3455
3422
  //#region src/components/DescriptionList.vue?vue&type=script&setup=true&lang.ts
3456
- var _hoisted_1$11 = { class: "rk-dl-term" };
3457
- var _hoisted_2$9 = { class: "rk-dl-value" };
3423
+ var _hoisted_1$12 = { class: "rk-dl-term" };
3424
+ var _hoisted_2$10 = { class: "rk-dl-value" };
3458
3425
  //#endregion
3459
3426
  //#region src/components/DescriptionList.vue
3460
3427
  var DescriptionList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -3469,16 +3436,16 @@ var DescriptionList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
3469
3436
  return openBlock(), createElementBlock("div", {
3470
3437
  key: item.key ?? item.term,
3471
3438
  class: "rk-dl-row"
3472
- }, [createElementVNode("dt", _hoisted_1$11, toDisplayString(item.term), 1), createElementVNode("dd", _hoisted_2$9, [renderSlot(_ctx.$slots, item.key ?? item.term, { item }, () => [createTextVNode(toDisplayString(item.description), 1)], true)])]);
3439
+ }, [createElementVNode("dt", _hoisted_1$12, toDisplayString(item.term), 1), createElementVNode("dd", _hoisted_2$10, [renderSlot(_ctx.$slots, item.key ?? item.term, { item }, () => [createTextVNode(toDisplayString(item.description), 1)], true)])]);
3473
3440
  }), 128))], 2);
3474
3441
  };
3475
3442
  }
3476
3443
  }), [["__scopeId", "data-v-831e205b"]]);
3477
3444
  //#endregion
3478
3445
  //#region src/components/FileDrop.vue?vue&type=script&setup=true&lang.ts
3479
- var _hoisted_1$10 = { class: "rk-drop" };
3480
- var _hoisted_2$8 = ["for"];
3481
- var _hoisted_3$8 = [
3446
+ var _hoisted_1$11 = { class: "rk-drop" };
3447
+ var _hoisted_2$9 = ["for"];
3448
+ var _hoisted_3$9 = [
3482
3449
  "id",
3483
3450
  "accept",
3484
3451
  "multiple",
@@ -3564,7 +3531,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
3564
3531
  const size = (bytes) => bytes >= 1048576 ? `${(bytes / 1048576).toFixed(1)} MB` : `${Math.max(1, Math.round(bytes / 1024))} KB`;
3565
3532
  const count = computed(() => model.value.length);
3566
3533
  return (_ctx, _cache) => {
3567
- return openBlock(), createElementBlock("div", _hoisted_1$10, [
3534
+ return openBlock(), createElementBlock("div", _hoisted_1$11, [
3568
3535
  createElementVNode("label", {
3569
3536
  class: normalizeClass(["rk-drop-box control", {
3570
3537
  "is-over": over.value,
@@ -3583,7 +3550,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
3583
3550
  multiple: __props.multiple,
3584
3551
  disabled: __props.disabled,
3585
3552
  onChange: onInput
3586
- }, null, 40, _hoisted_3$8),
3553
+ }, null, 40, _hoisted_3$9),
3587
3554
  createVNode(unref(Upload), {
3588
3555
  class: "text-ink-soft size-6",
3589
3556
  "aria-hidden": "true"
@@ -3591,7 +3558,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
3591
3558
  createElementVNode("span", _hoisted_4$6, toDisplayString(__props.label), 1),
3592
3559
  __props.hint ? (openBlock(), createElementBlock("span", _hoisted_5$3, toDisplayString(__props.hint), 1)) : createCommentVNode("", true),
3593
3560
  createElementVNode("span", _hoisted_6$3, toDisplayString(__props.browseLabel), 1)
3594
- ], 42, _hoisted_2$8),
3561
+ ], 42, _hoisted_2$9),
3595
3562
  refused.value && __props.tooLargeLabel ? (openBlock(), createElementBlock("p", _hoisted_7$1, toDisplayString(__props.tooLargeLabel), 1)) : createCommentVNode("", true),
3596
3563
  count.value ? (openBlock(), createElementBlock("ul", _hoisted_8, [(openBlock(true), createElementBlock(Fragment, null, renderList(model.value, (file, index) => {
3597
3564
  return openBlock(), createElementBlock("li", {
@@ -3622,7 +3589,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
3622
3589
  }), [["__scopeId", "data-v-6e903baf"]]);
3623
3590
  //#endregion
3624
3591
  //#region src/components/TagsInput.vue?vue&type=script&setup=true&lang.ts
3625
- var _hoisted_1$9 = [
3592
+ var _hoisted_1$10 = [
3626
3593
  "id",
3627
3594
  "placeholder",
3628
3595
  "aria-describedby",
@@ -3740,7 +3707,7 @@ var TagsInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
3740
3707
  onKeydown,
3741
3708
  onPaste,
3742
3709
  onBlur: add
3743
- }, null, 40, _hoisted_1$9), [[vModelText, draft.value]])], 2)]),
3710
+ }, null, 40, _hoisted_1$10), [[vModelText, draft.value]])], 2)]),
3744
3711
  _: 1
3745
3712
  }, 8, [
3746
3713
  "label",
@@ -3754,7 +3721,7 @@ var TagsInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
3754
3721
  }), [["__scopeId", "data-v-1fd08921"]]);
3755
3722
  //#endregion
3756
3723
  //#region src/components/BasePopover.vue?vue&type=script&setup=true&lang.ts
3757
- var _hoisted_1$8 = ["id", "aria-label"];
3724
+ var _hoisted_1$9 = ["id", "aria-label"];
3758
3725
  var FOCUSABLE = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
3759
3726
  //#endregion
3760
3727
  //#region src/components/BasePopover.vue
@@ -3871,7 +3838,7 @@ var BasePopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3871
3838
  role: "dialog",
3872
3839
  "aria-label": __props.label,
3873
3840
  tabindex: "-1"
3874
- }, [renderSlot(_ctx.$slots, "default", { close }, void 0, true)], 14, _hoisted_1$8)) : createCommentVNode("", true)]),
3841
+ }, [renderSlot(_ctx.$slots, "default", { close }, void 0, true)], 14, _hoisted_1$9)) : createCommentVNode("", true)]),
3875
3842
  _: 3
3876
3843
  })], 544);
3877
3844
  };
@@ -3879,13 +3846,13 @@ var BasePopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3879
3846
  }), [["__scopeId", "data-v-22d8f397"]]);
3880
3847
  //#endregion
3881
3848
  //#region src/components/TimePicker.vue?vue&type=script&setup=true&lang.ts
3882
- var _hoisted_1$7 = [
3849
+ var _hoisted_1$8 = [
3883
3850
  "id",
3884
3851
  "aria-describedby",
3885
3852
  "disabled"
3886
3853
  ];
3887
- var _hoisted_2$7 = { class: "truncate" };
3888
- var _hoisted_3$7 = { class: "rk-time-columns" };
3854
+ var _hoisted_2$8 = { class: "truncate" };
3855
+ var _hoisted_3$8 = { class: "rk-time-columns" };
3889
3856
  //#endregion
3890
3857
  //#region src/components/TimePicker.vue
3891
3858
  var TimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -3987,8 +3954,8 @@ var TimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
3987
3954
  }, props), [createVNode(unref(Clock), {
3988
3955
  class: "size-4 shrink-0",
3989
3956
  "aria-hidden": "true"
3990
- }), createElementVNode("span", _hoisted_2$7, toDisplayString(shown.value || __props.placeholder), 1)], 16, _hoisted_1$7)]),
3991
- default: withCtx(() => [createElementVNode("div", _hoisted_3$7, [createVNode(BaseListbox_default, {
3957
+ }), createElementVNode("span", _hoisted_2$8, toDisplayString(shown.value || __props.placeholder), 1)], 16, _hoisted_1$8)]),
3958
+ default: withCtx(() => [createElementVNode("div", _hoisted_3$8, [createVNode(BaseListbox_default, {
3992
3959
  "model-value": chosenHour.value,
3993
3960
  options: hours.value,
3994
3961
  label: __props.hoursLabel,
@@ -4024,12 +3991,12 @@ var TimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
4024
3991
  }), [["__scopeId", "data-v-ad58b4f3"]]);
4025
3992
  //#endregion
4026
3993
  //#region src/components/BaseTimeline.vue?vue&type=script&setup=true&lang.ts
4027
- var _hoisted_1$6 = ["aria-label"];
4028
- var _hoisted_2$6 = {
3994
+ var _hoisted_1$7 = ["aria-label"];
3995
+ var _hoisted_2$7 = {
4029
3996
  class: "rk-timeline-marker",
4030
3997
  "aria-hidden": "true"
4031
3998
  };
4032
- var _hoisted_3$6 = { class: "rk-timeline-time" };
3999
+ var _hoisted_3$7 = { class: "rk-timeline-time" };
4033
4000
  var _hoisted_4$5 = {
4034
4001
  key: 0,
4035
4002
  class: "rk-timeline-title"
@@ -4063,28 +4030,28 @@ var BaseTimeline_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
4063
4030
  key: event.key,
4064
4031
  class: "rk-timeline-event"
4065
4032
  }, [
4066
- createElementVNode("span", _hoisted_2$6, [renderSlot(_ctx.$slots, "marker", { event }, () => [createElementVNode("span", { class: normalizeClass(["rk-timeline-dot", event.fill ?? "bg-primary"]) }, [event.icon ? (openBlock(), createBlock(resolveDynamicComponent(event.icon), {
4033
+ createElementVNode("span", _hoisted_2$7, [renderSlot(_ctx.$slots, "marker", { event }, () => [createElementVNode("span", { class: normalizeClass(["rk-timeline-dot", event.fill ?? "bg-primary"]) }, [event.icon ? (openBlock(), createBlock(resolveDynamicComponent(event.icon), {
4067
4034
  key: 0,
4068
4035
  class: "size-3"
4069
4036
  })) : createCommentVNode("", true)], 2)], true)]),
4070
- createElementVNode("p", _hoisted_3$6, toDisplayString(event.time), 1),
4037
+ createElementVNode("p", _hoisted_3$7, toDisplayString(event.time), 1),
4071
4038
  event.title ? (openBlock(), createElementBlock("p", _hoisted_4$5, toDisplayString(event.title), 1)) : createCommentVNode("", true),
4072
4039
  event.description ? (openBlock(), createElementBlock("p", _hoisted_5$2, toDisplayString(event.description), 1)) : createCommentVNode("", true),
4073
4040
  _ctx.$slots[event.key] || _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_6$2, [_ctx.$slots[event.key] ? renderSlot(_ctx.$slots, event.key, { event }, void 0, true, 0) : renderSlot(_ctx.$slots, "default", { event }, void 0, true, 1)])) : createCommentVNode("", true)
4074
4041
  ]);
4075
- }), 128))], 8, _hoisted_1$6);
4042
+ }), 128))], 8, _hoisted_1$7);
4076
4043
  };
4077
4044
  }
4078
4045
  }), [["__scopeId", "data-v-8a452f82"]]);
4079
4046
  //#endregion
4080
4047
  //#region src/components/BaseDatePicker.vue?vue&type=script&setup=true&lang.ts
4081
- var _hoisted_1$5 = [
4048
+ var _hoisted_1$6 = [
4082
4049
  "id",
4083
4050
  "aria-describedby",
4084
4051
  "disabled"
4085
4052
  ];
4086
- var _hoisted_2$5 = { class: "truncate" };
4087
- var _hoisted_3$5 = ["aria-label", "disabled"];
4053
+ var _hoisted_2$6 = { class: "truncate" };
4054
+ var _hoisted_3$6 = ["aria-label", "disabled"];
4088
4055
  var _hoisted_4$4 = { class: "rk-date-panel" };
4089
4056
  var _hoisted_5$1 = {
4090
4057
  key: 0,
@@ -4174,7 +4141,7 @@ var BaseDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
4174
4141
  }, props), [createVNode(unref(CalendarDays), {
4175
4142
  class: "size-4 shrink-0",
4176
4143
  "aria-hidden": "true"
4177
- }), createElementVNode("span", _hoisted_2$5, toDisplayString(shown.value || __props.placeholder), 1)], 16, _hoisted_1$5), __props.clearLabel && shown.value ? (openBlock(), createElementBlock("button", {
4144
+ }), createElementVNode("span", _hoisted_2$6, toDisplayString(shown.value || __props.placeholder), 1)], 16, _hoisted_1$6), __props.clearLabel && shown.value ? (openBlock(), createElementBlock("button", {
4178
4145
  key: 0,
4179
4146
  type: "button",
4180
4147
  class: "rk-date-clear focus-ring",
@@ -4184,7 +4151,7 @@ var BaseDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
4184
4151
  }, [createVNode(unref(X), {
4185
4152
  class: "size-3.5",
4186
4153
  "aria-hidden": "true"
4187
- })], 8, _hoisted_3$5)) : createCommentVNode("", true)], 2)]),
4154
+ })], 8, _hoisted_3$6)) : createCommentVNode("", true)], 2)]),
4188
4155
  default: withCtx(() => [createElementVNode("div", _hoisted_4$4, [__props.presets?.length ? (openBlock(), createElementBlock("ul", _hoisted_5$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
4189
4156
  return openBlock(), createElementBlock("li", { key: preset.label }, [createElementVNode("button", {
4190
4157
  type: "button",
@@ -4225,12 +4192,12 @@ var BaseDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
4225
4192
  }), [["__scopeId", "data-v-42390973"]]);
4226
4193
  //#endregion
4227
4194
  //#region src/components/BasePopconfirm.vue?vue&type=script&setup=true&lang.ts
4228
- var _hoisted_1$4 = { class: "rk-confirm" };
4229
- var _hoisted_2$4 = {
4195
+ var _hoisted_1$5 = { class: "rk-confirm" };
4196
+ var _hoisted_2$5 = {
4230
4197
  key: 0,
4231
4198
  class: "rk-confirm-title"
4232
4199
  };
4233
- var _hoisted_3$4 = { class: "rk-confirm-message" };
4200
+ var _hoisted_3$5 = { class: "rk-confirm-message" };
4234
4201
  var _hoisted_4$3 = { class: "rk-confirm-actions" };
4235
4202
  //#endregion
4236
4203
  //#region src/components/BasePopconfirm.vue
@@ -4270,9 +4237,9 @@ var BasePopconfirm_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
4270
4237
  align: "end"
4271
4238
  }, {
4272
4239
  trigger: withCtx((slotProps) => [renderSlot(_ctx.$slots, "trigger", normalizeProps(guardReactiveProps(slotProps)), void 0, true)]),
4273
- default: withCtx(({ close }) => [createElementVNode("div", _hoisted_1$4, [
4274
- __props.title ? (openBlock(), createElementBlock("p", _hoisted_2$4, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
4275
- createElementVNode("p", _hoisted_3$4, toDisplayString(__props.message), 1),
4240
+ default: withCtx(({ close }) => [createElementVNode("div", _hoisted_1$5, [
4241
+ __props.title ? (openBlock(), createElementBlock("p", _hoisted_2$5, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
4242
+ createElementVNode("p", _hoisted_3$5, toDisplayString(__props.message), 1),
4276
4243
  createElementVNode("div", _hoisted_4$3, [createVNode(BaseButton_default, {
4277
4244
  size: "sm",
4278
4245
  variant: "secondary",
@@ -4296,8 +4263,8 @@ var BasePopconfirm_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
4296
4263
  }), [["__scopeId", "data-v-9453e511"]]);
4297
4264
  //#endregion
4298
4265
  //#region src/components/ToggleGroup.vue?vue&type=script&setup=true&lang.ts
4299
- var _hoisted_1$3 = ["aria-label"];
4300
- var _hoisted_2$3 = [
4266
+ var _hoisted_1$4 = ["aria-label"];
4267
+ var _hoisted_2$4 = [
4301
4268
  "aria-pressed",
4302
4269
  "aria-label",
4303
4270
  "disabled",
@@ -4305,7 +4272,7 @@ var _hoisted_2$3 = [
4305
4272
  "onClick",
4306
4273
  "onKeydown"
4307
4274
  ];
4308
- var _hoisted_3$3 = { key: 1 };
4275
+ var _hoisted_3$4 = { key: 1 };
4309
4276
  //#endregion
4310
4277
  //#region src/components/ToggleGroup.vue
4311
4278
  var ToggleGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -4351,11 +4318,9 @@ var ToggleGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
4351
4318
  });
4352
4319
  function onKeydown(event, index) {
4353
4320
  const step = {
4354
- ArrowRight: 1,
4355
4321
  ArrowDown: 1,
4356
- ArrowLeft: -1,
4357
4322
  ArrowUp: -1
4358
- }[event.key];
4323
+ }[event.key] ?? (horizontalStep(event.key, event.currentTarget) || void 0);
4359
4324
  const enabled = buttons.value.filter((button) => !button.disabled);
4360
4325
  let target;
4361
4326
  if (step !== void 0) target = enabled[(enabled.indexOf(buttons.value[index]) + step + enabled.length) % enabled.length];
@@ -4388,16 +4353,16 @@ var ToggleGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
4388
4353
  key: 0,
4389
4354
  class: "rk-toggle-icon",
4390
4355
  "aria-hidden": "true"
4391
- })) : createCommentVNode("", true), !option.iconOnly ? (openBlock(), createElementBlock("span", _hoisted_3$3, toDisplayString(option.label), 1)) : createCommentVNode("", true)], 40, _hoisted_2$3);
4392
- }), 128))], 10, _hoisted_1$3);
4356
+ })) : createCommentVNode("", true), !option.iconOnly ? (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(option.label), 1)) : createCommentVNode("", true)], 40, _hoisted_2$4);
4357
+ }), 128))], 10, _hoisted_1$4);
4393
4358
  };
4394
4359
  }
4395
- }), [["__scopeId", "data-v-9076e36f"]]);
4360
+ }), [["__scopeId", "data-v-e40e4271"]]);
4396
4361
  //#endregion
4397
4362
  //#region src/components/PinInput.vue?vue&type=script&setup=true&lang.ts
4398
- var _hoisted_1$2 = { class: "rk-pin" };
4399
- var _hoisted_2$2 = ["aria-label"];
4400
- var _hoisted_3$2 = [
4363
+ var _hoisted_1$3 = { class: "rk-pin" };
4364
+ var _hoisted_2$3 = ["aria-label"];
4365
+ var _hoisted_3$3 = [
4401
4366
  "value",
4402
4367
  "type",
4403
4368
  "inputmode",
@@ -4484,16 +4449,13 @@ var PinInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
4484
4449
  if (target < 0) return;
4485
4450
  write(model.value.slice(0, target) + model.value.slice(target + 1));
4486
4451
  focusCell(target);
4487
- } else if (event.key === "ArrowLeft") {
4488
- event.preventDefault();
4489
- focusCell(index - 1);
4490
- } else if (event.key === "ArrowRight") {
4452
+ } else if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
4491
4453
  event.preventDefault();
4492
- focusCell(index + 1);
4454
+ focusCell(index + horizontalStep(event.key, event.currentTarget));
4493
4455
  }
4494
4456
  }
4495
4457
  return (_ctx, _cache) => {
4496
- return openBlock(), createElementBlock("div", _hoisted_1$2, [createElementVNode("div", {
4458
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [createElementVNode("div", {
4497
4459
  class: "rk-pin-cells",
4498
4460
  role: "group",
4499
4461
  "aria-label": __props.label
@@ -4516,8 +4478,8 @@ var PinInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
4516
4478
  onPaste: ($event) => onPaste($event, index),
4517
4479
  onKeydown: ($event) => onKeydown($event, index),
4518
4480
  onFocus: _cache[0] || (_cache[0] = ($event) => $event.target.select())
4519
- }, null, 42, _hoisted_3$2);
4520
- }), 128))], 8, _hoisted_2$2), __props.error ? (openBlock(), createElementBlock("p", {
4481
+ }, null, 42, _hoisted_3$3);
4482
+ }), 128))], 8, _hoisted_2$3), __props.error ? (openBlock(), createElementBlock("p", {
4521
4483
  key: 0,
4522
4484
  id: unref(errorId),
4523
4485
  class: "rk-pin-error",
@@ -4525,7 +4487,128 @@ var PinInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
4525
4487
  }, toDisplayString(__props.error), 9, _hoisted_4$2)) : createCommentVNode("", true)]);
4526
4488
  };
4527
4489
  }
4528
- }), [["__scopeId", "data-v-ba322d9c"]]);
4490
+ }), [["__scopeId", "data-v-1777eac8"]]);
4491
+ //#endregion
4492
+ //#region src/components/PasswordInput.vue?vue&type=script&setup=true&lang.ts
4493
+ var _hoisted_1$2 = { class: "relative" };
4494
+ var _hoisted_2$2 = [
4495
+ "id",
4496
+ "type",
4497
+ "value",
4498
+ "aria-invalid",
4499
+ "aria-describedby"
4500
+ ];
4501
+ var _hoisted_3$2 = ["aria-label", "aria-pressed"];
4502
+ var CONTROL_CLASS = "h-11 text-base";
4503
+ //#endregion
4504
+ //#region src/components/PasswordInput.vue
4505
+ var PasswordInput_default = /* @__PURE__ */ defineComponent({
4506
+ inheritAttrs: false,
4507
+ __name: "PasswordInput",
4508
+ props: {
4509
+ modelValue: { default: "" },
4510
+ label: {},
4511
+ toggleLabel: {},
4512
+ error: { default: "" },
4513
+ hint: { default: "" },
4514
+ labelHidden: {
4515
+ type: Boolean,
4516
+ default: false
4517
+ },
4518
+ fieldId: { default: () => void 0 },
4519
+ size: { default: "md" }
4520
+ },
4521
+ emits: ["update:modelValue", "toggle"],
4522
+ setup(__props, { emit: __emit }) {
4523
+ /**
4524
+ * A password field you can look at.
4525
+ *
4526
+ * The kit already ships `AuthForm` and `BaseInput type="password"`, which is
4527
+ * to say it ships the field and not the one thing every app then adds to it.
4528
+ * A password is the only field in a form whose value is hidden from the
4529
+ * person typing it, on the device where typing is least reliable — and a
4530
+ * generated password pasted into a phone is unverifiable without this. WCAG
4531
+ * 3.3.8 asks that authentication not depend on a cognitive function test;
4532
+ * being unable to see what you typed is one.
4533
+ *
4534
+ * The half that breaks, three ways, and all three compile:
4535
+ *
4536
+ * - **A `<button>` with no `type`.** Inside a form, its default is `submit`,
4537
+ * so looking at the password submits the form — usually with a password
4538
+ * half typed, which then arrives as a failed sign-in attempt.
4539
+ * - **A `<span>` or a bare icon.** Not focusable, not pressable by keyboard,
4540
+ * and named nothing.
4541
+ * - **A change nobody is told about.** The characters appearing is the whole
4542
+ * feedback, and it is visual only.
4543
+ *
4544
+ * The third is answered as a toggle button — one name, `aria-pressed` for
4545
+ * the state — rather than the swapped "Show"/"Hide" name that is the more
4546
+ * common shape. Two reasons. A name that changes under a focus that has not
4547
+ * moved is not reliably re-read, which is why every implementation of the
4548
+ * swapped-name version ends up adding a live region and two more sentences
4549
+ * on top of it; a pressed state on the focused control is announced by every
4550
+ * screen reader without one. And the kit has no language of its own, so the
4551
+ * cheaper pattern is also the one that asks the app for one string instead
4552
+ * of four.
4553
+ *
4554
+ * The field is never revealed by default and reverts to hidden on nothing:
4555
+ * that is deliberate. A component that hid it again on blur would be hiding
4556
+ * it at the exact moment the reader moved to the confirmation field to check
4557
+ * it against.
4558
+ */
4559
+ const emit = __emit;
4560
+ const visible = ref(false);
4561
+ function toggle() {
4562
+ visible.value = !visible.value;
4563
+ emit("toggle", visible.value);
4564
+ }
4565
+ return (_ctx, _cache) => {
4566
+ return openBlock(), createBlock(FormField_default, {
4567
+ label: __props.label,
4568
+ error: __props.error,
4569
+ hint: __props.hint,
4570
+ "label-hidden": __props.labelHidden,
4571
+ "field-id": __props.fieldId,
4572
+ size: __props.size
4573
+ }, {
4574
+ default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$2, [createElementVNode("input", mergeProps({
4575
+ id,
4576
+ type: visible.value ? "text" : "password",
4577
+ value: __props.modelValue,
4578
+ "aria-invalid": invalid,
4579
+ "aria-describedby": describedBy,
4580
+ autocapitalize: "none",
4581
+ spellcheck: false
4582
+ }, _ctx.$attrs, {
4583
+ class: ["control text-ink rounded-card focus-visible:outline-primary w-full ps-3 pe-11 focus-visible:outline-2 focus-visible:outline-offset-1", [CONTROL_CLASS, invalid ? "border-negative" : ""]],
4584
+ onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value))
4585
+ }), null, 16, _hoisted_2$2), createElementVNode("button", {
4586
+ type: "button",
4587
+ class: "focus-ring text-ink-soft hover:text-ink rounded-card absolute end-1 top-1/2 flex size-9 -translate-y-1/2 items-center justify-center",
4588
+ "aria-label": __props.toggleLabel,
4589
+ "aria-pressed": visible.value,
4590
+ onClick: toggle
4591
+ }, [visible.value ? (openBlock(), createBlock(unref(EyeOff), {
4592
+ key: 0,
4593
+ class: "size-4",
4594
+ "aria-hidden": "true"
4595
+ })) : (openBlock(), createBlock(unref(Eye), {
4596
+ key: 1,
4597
+ class: "size-4",
4598
+ "aria-hidden": "true"
4599
+ }))], 8, _hoisted_3$2)])]),
4600
+ _: 1
4601
+ }, 8, [
4602
+ "label",
4603
+ "error",
4604
+ "hint",
4605
+ "label-hidden",
4606
+ "field-id",
4607
+ "size"
4608
+ ]);
4609
+ };
4610
+ }
4611
+ });
4529
4612
  //#endregion
4530
4613
  //#region src/components/CircularProgress.vue?vue&type=script&setup=true&lang.ts
4531
4614
  var _hoisted_1$1 = [
@@ -4835,8 +4918,8 @@ function createI18nRuntime(options) {
4835
4918
  *
4836
4919
  * The fallback keeps `vitest` and `vite dev` honest, where no define runs.
4837
4920
  */
4838
- var VERSION = "2.22.0";
4921
+ var VERSION = "2.23.0";
4839
4922
  //#endregion
4840
- export { ActivityGrid_default as ActivityGrid, AnnounceHost_default as AnnounceHost, 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, BaseTimeline_default as BaseTimeline, CircularProgress_default as CircularProgress, CodeBlock_default as CodeBlock, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, ErrorSummary_default as ErrorSummary, 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, ScrollArea_default as ScrollArea, 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, VirtualList_default as VirtualList, addDays, announce, 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, textDirection, toAppError, toDateKey, toRedirectPath, todayKey, useAnnounce, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
4923
+ export { ActivityGrid_default as ActivityGrid, AnnounceHost_default as AnnounceHost, 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, BaseTimeline_default as BaseTimeline, CircularProgress_default as CircularProgress, CodeBlock_default as CodeBlock, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, ErrorSummary_default as ErrorSummary, 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, PasswordInput_default as PasswordInput, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, ScrollArea_default as ScrollArea, 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, VirtualList_default as VirtualList, addDays, announce, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, elementDirection, ensureSheetRoot, formatDate, formatNumber, fromDateKey, horizontalStep, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, textDirection, toAppError, toDateKey, toRedirectPath, todayKey, useAnnounce, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
4841
4924
 
4842
4925
  //# sourceMappingURL=index.js.map