rei-kit 2.17.0 → 2.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -124,7 +124,7 @@ Each claim here is enforced by something that fails, not by a promise.
124
124
 
125
125
  ## Status
126
126
 
127
- **v2.17.0 — three consumers.**
127
+ **v2.18.1 — three consumers.**
128
128
 
129
129
  | | |
130
130
  | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -549,6 +549,21 @@ git push --follow-tags
549
549
  Then write the release into `PATCHNOTES.md` — what a consumer gains, and what
550
550
  they have to do to take it.
551
551
 
552
+ ## Taking part
553
+
554
+ | File | What it answers |
555
+ | -------------------------------------- | ------------------------------------------------------------------------ |
556
+ | [CONTRIBUTING.md](CONTRIBUTING.md) | How to set it up, the one command CI runs, and what a new component needs |
557
+ | [ROADMAP.md](ROADMAP.md) | What is next, what is being weighed up, and what this will never do |
558
+ | [SECURITY.md](SECURITY.md) | How to report a vulnerability, and what the package does and does not do |
559
+ | [AGENTS.md](AGENTS.md) | The design document: which part to reach for, and the mistakes that compile |
560
+ | [CHANGELOG.md](CHANGELOG.md) | Why each change was made |
561
+ | [PATCHNOTES.md](PATCHNOTES.md) | What you gain per release, and what you have to do to take it |
562
+
563
+ The most useful issue you can open is the one that says what you tried to
564
+ build and what you ended up writing by hand: a control hand-written in a file
565
+ that already imports the kit's version of it is a bug in the kit, every time.
566
+
552
567
  ## Author
553
568
 
554
569
  Made by **Ramazan Doğan** — [github.com/ramazandogna](https://github.com/ramazandogna),
package/dist/index.js CHANGED
@@ -353,7 +353,7 @@ var _hoisted_1$43 = [
353
353
  "aria-label",
354
354
  "aria-hidden"
355
355
  ];
356
- var _hoisted_2$36 = ["src"];
356
+ var _hoisted_2$37 = ["src"];
357
357
  var _hoisted_3$24 = {
358
358
  key: 1,
359
359
  class: "rk-avatar-initials"
@@ -404,7 +404,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
404
404
  alt: "",
405
405
  class: "rk-avatar-img",
406
406
  onError: _cache[0] || (_cache[0] = ($event) => broken.value = true)
407
- }, null, 40, _hoisted_2$36)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$24, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$19, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
407
+ }, null, 40, _hoisted_2$37)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$24, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$19, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
408
408
  cx: "10",
409
409
  cy: "6.75",
410
410
  r: "3.25",
@@ -443,7 +443,7 @@ var _hoisted_1$42 = [
443
443
  "aria-expanded",
444
444
  "aria-controls"
445
445
  ];
446
- var _hoisted_2$35 = ["id"];
446
+ var _hoisted_2$36 = ["id"];
447
447
  //#endregion
448
448
  //#region src/components/BaseMenu.vue
449
449
  var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -549,7 +549,7 @@ var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
549
549
  ref: panel,
550
550
  class: normalizeClass(["rk-menu-panel surface-overlay", `is-${__props.align}`]),
551
551
  role: "menu"
552
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$35)) : createCommentVNode("", true)], 544);
552
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$36)) : createCommentVNode("", true)], 544);
553
553
  };
554
554
  }
555
555
  }), [["__scopeId", "data-v-e57ec901"]]);
@@ -621,7 +621,7 @@ var BaseCard_default = /* @__PURE__ */ defineComponent({
621
621
  //#endregion
622
622
  //#region src/components/BaseCombobox.vue?vue&type=script&setup=true&lang.ts
623
623
  var _hoisted_1$41 = ["for"];
624
- var _hoisted_2$34 = [
624
+ var _hoisted_2$35 = [
625
625
  "aria-label",
626
626
  "disabled",
627
627
  "onClick"
@@ -884,7 +884,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
884
884
  "aria-label": __props.removeLabel(option.label),
885
885
  disabled: __props.disabled,
886
886
  onClick: ($event) => remove(option.value)
887
- }, " × ", 8, _hoisted_2$34)) : createCommentVNode("", true)]);
887
+ }, " × ", 8, _hoisted_2$35)) : createCommentVNode("", true)]);
888
888
  }), 128)),
889
889
  withDirectives(createElementVNode("input", {
890
890
  id: unref(id),
@@ -975,7 +975,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
975
975
  //#endregion
976
976
  //#region src/components/BaseRadioGroup.vue?vue&type=script&setup=true&lang.ts
977
977
  var _hoisted_1$40 = ["aria-describedby"];
978
- var _hoisted_2$33 = [
978
+ var _hoisted_2$34 = [
979
979
  "name",
980
980
  "value",
981
981
  "disabled"
@@ -1024,7 +1024,7 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
1024
1024
  value: option.value,
1025
1025
  disabled: option.disabled,
1026
1026
  class: "accent-primary focus-visible:outline-primary size-4 shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2"
1027
- }, null, 8, _hoisted_2$33), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$22, toDisplayString(option.label), 1)], 2);
1027
+ }, null, 8, _hoisted_2$34), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$22, toDisplayString(option.label), 1)], 2);
1028
1028
  }), 128)),
1029
1029
  __props.error ? (openBlock(), createElementBlock("p", {
1030
1030
  key: 0,
@@ -1042,7 +1042,7 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
1042
1042
  //#endregion
1043
1043
  //#region src/components/BaseSelect.vue?vue&type=script&setup=true&lang.ts
1044
1044
  var _hoisted_1$39 = { class: "relative" };
1045
- var _hoisted_2$32 = [
1045
+ var _hoisted_2$33 = [
1046
1046
  "id",
1047
1047
  "aria-invalid",
1048
1048
  "aria-describedby"
@@ -1104,7 +1104,7 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1104
1104
  value: option.value,
1105
1105
  disabled: option.disabled
1106
1106
  }, toDisplayString(option.label), 9, _hoisted_4$17);
1107
- }), 128))], 10, _hoisted_2$32), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
1107
+ }), 128))], 10, _hoisted_2$33), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
1108
1108
  class: "text-ink-soft pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2",
1109
1109
  "aria-hidden": "true"
1110
1110
  })])]),
@@ -1122,7 +1122,7 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1122
1122
  //#endregion
1123
1123
  //#region src/components/BaseSlider.vue?vue&type=script&setup=true&lang.ts
1124
1124
  var _hoisted_1$38 = { class: "rk-slider" };
1125
- var _hoisted_2$31 = { class: "rk-slider-head" };
1125
+ var _hoisted_2$32 = { class: "rk-slider-head" };
1126
1126
  var _hoisted_3$20 = ["for"];
1127
1127
  var _hoisted_4$16 = ["for"];
1128
1128
  var _hoisted_5$10 = [
@@ -1170,7 +1170,7 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1170
1170
  });
1171
1171
  return (_ctx, _cache) => {
1172
1172
  return openBlock(), createElementBlock("div", _hoisted_1$38, [
1173
- createElementVNode("div", _hoisted_2$31, [createElementVNode("label", {
1173
+ createElementVNode("div", _hoisted_2$32, [createElementVNode("label", {
1174
1174
  for: unref(id),
1175
1175
  class: "rk-slider-label"
1176
1176
  }, toDisplayString(__props.label), 9, _hoisted_3$20), __props.showValue ? (openBlock(), createElementBlock("output", {
@@ -1208,7 +1208,7 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1208
1208
  //#endregion
1209
1209
  //#region src/components/NumberInput.vue?vue&type=script&setup=true&lang.ts
1210
1210
  var _hoisted_1$37 = ["aria-label", "disabled"];
1211
- var _hoisted_2$30 = [
1211
+ var _hoisted_2$31 = [
1212
1212
  "id",
1213
1213
  "value",
1214
1214
  "aria-valuenow",
@@ -1339,7 +1339,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1339
1339
  onInput,
1340
1340
  onBlur: commit,
1341
1341
  onKeydown
1342
- }, null, 40, _hoisted_2$30),
1342
+ }, null, 40, _hoisted_2$31),
1343
1343
  createElementVNode("button", {
1344
1344
  type: "button",
1345
1345
  class: "rk-number-step focus-ring",
@@ -1458,7 +1458,7 @@ var _hoisted_1$35 = {
1458
1458
  class: "rk-spin-wrap",
1459
1459
  role: "status"
1460
1460
  };
1461
- var _hoisted_2$29 = { class: "rk-spin-label" };
1461
+ var _hoisted_2$30 = { class: "rk-spin-label" };
1462
1462
  //#endregion
1463
1463
  //#region src/components/BaseSpinner.vue
1464
1464
  var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1493,14 +1493,14 @@ var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1493
1493
  height: SIZES[__props.size]
1494
1494
  }),
1495
1495
  "aria-hidden": "true"
1496
- }, null, 4), createElementVNode("span", _hoisted_2$29, toDisplayString(__props.label), 1)]);
1496
+ }, null, 4), createElementVNode("span", _hoisted_2$30, toDisplayString(__props.label), 1)]);
1497
1497
  };
1498
1498
  }
1499
1499
  }), [["__scopeId", "data-v-842da62c"]]);
1500
1500
  //#endregion
1501
1501
  //#region src/components/BaseSwitch.vue?vue&type=script&setup=true&lang.ts
1502
1502
  var _hoisted_1$34 = { class: "flex items-center justify-between gap-4" };
1503
- var _hoisted_2$28 = {
1503
+ var _hoisted_2$29 = {
1504
1504
  key: 0,
1505
1505
  class: "min-w-0"
1506
1506
  };
@@ -1544,7 +1544,7 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1544
1544
  if (!__props.disabled) model.value = !model.value;
1545
1545
  }
1546
1546
  return (_ctx, _cache) => {
1547
- return openBlock(), createElementBlock("div", _hoisted_1$34, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$28, [createElementVNode("span", {
1547
+ return openBlock(), createElementBlock("div", _hoisted_1$34, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$29, [createElementVNode("span", {
1548
1548
  id: unref(id),
1549
1549
  class: "text-ink block text-sm"
1550
1550
  }, toDisplayString(__props.label), 9, _hoisted_3$18), __props.hint ? (openBlock(), createElementBlock("span", {
@@ -1571,7 +1571,7 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1571
1571
  //#endregion
1572
1572
  //#region src/components/BaseTable.vue?vue&type=script&setup=true&lang.ts
1573
1573
  var _hoisted_1$33 = ["aria-label"];
1574
- var _hoisted_2$27 = { class: "rk-table" };
1574
+ var _hoisted_2$28 = { class: "rk-table" };
1575
1575
  var _hoisted_3$17 = { key: 0 };
1576
1576
  var _hoisted_4$14 = { key: 1 };
1577
1577
  var _hoisted_5$9 = ["colspan"];
@@ -1597,7 +1597,7 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
1597
1597
  tabindex: "0",
1598
1598
  role: "region",
1599
1599
  "aria-label": __props.caption
1600
- }, [createElementVNode("table", _hoisted_2$27, [
1600
+ }, [createElementVNode("table", _hoisted_2$28, [
1601
1601
  createElementVNode("caption", { class: normalizeClass(__props.captionHidden ? "rk-table-caption-hidden" : "rk-table-caption") }, toDisplayString(__props.caption), 3),
1602
1602
  createElementVNode("thead", null, [createElementVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
1603
1603
  return openBlock(), createElementBlock("th", {
@@ -1687,7 +1687,7 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
1687
1687
  //#endregion
1688
1688
  //#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
1689
1689
  var _hoisted_1$31 = { class: "flex flex-col items-center gap-3 px-6 py-10 text-center" };
1690
- var _hoisted_2$26 = {
1690
+ var _hoisted_2$27 = {
1691
1691
  key: 0,
1692
1692
  class: "bg-muted text-primary rounded-card flex size-12 items-center justify-center"
1693
1693
  };
@@ -1719,7 +1719,7 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
1719
1719
  */
1720
1720
  return (_ctx, _cache) => {
1721
1721
  return openBlock(), createElementBlock("div", _hoisted_1$31, [
1722
- _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$26, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
1722
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$27, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
1723
1723
  createElementVNode("h3", _hoisted_3$16, toDisplayString(__props.title), 1),
1724
1724
  __props.description ? (openBlock(), createElementBlock("p", _hoisted_4$13, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1725
1725
  _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_5$8, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
@@ -1790,7 +1790,7 @@ var PageContainer_default = /* @__PURE__ */ defineComponent({
1790
1790
  //#endregion
1791
1791
  //#region src/components/PageHeader.vue?vue&type=script&setup=true&lang.ts
1792
1792
  var _hoisted_1$30 = { class: "grid h-12 shrink-0 grid-cols-[2.5rem_1fr_2.5rem] items-center" };
1793
- var _hoisted_2$25 = { class: "justify-self-start" };
1793
+ var _hoisted_2$26 = { class: "justify-self-start" };
1794
1794
  var _hoisted_3$15 = { class: "text-ink flex min-w-0 justify-center text-base font-semibold tabular-nums" };
1795
1795
  var _hoisted_4$12 = { class: "truncate" };
1796
1796
  var _hoisted_5$7 = { class: "justify-self-end" };
@@ -1811,7 +1811,7 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
1811
1811
  */
1812
1812
  return (_ctx, _cache) => {
1813
1813
  return openBlock(), createElementBlock("header", _hoisted_1$30, [
1814
- createElementVNode("div", _hoisted_2$25, [renderSlot(_ctx.$slots, "left")]),
1814
+ createElementVNode("div", _hoisted_2$26, [renderSlot(_ctx.$slots, "left")]),
1815
1815
  createElementVNode("h1", _hoisted_3$15, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("span", _hoisted_4$12, toDisplayString(__props.title), 1)])]),
1816
1816
  createElementVNode("div", _hoisted_5$7, [renderSlot(_ctx.$slots, "right")])
1817
1817
  ]);
@@ -1862,7 +1862,7 @@ var _hoisted_1$28 = {
1862
1862
  key: 0,
1863
1863
  class: "bg-primary rounded-cell text-on-primary absolute -top-3 left-7 px-3 py-1 text-[0.7rem] font-semibold"
1864
1864
  };
1865
- var _hoisted_2$24 = { class: "flex items-start justify-between gap-4" };
1865
+ var _hoisted_2$25 = { class: "flex items-start justify-between gap-4" };
1866
1866
  var _hoisted_3$14 = { class: "text-ink mt-5 text-lg font-semibold" };
1867
1867
  var _hoisted_4$11 = {
1868
1868
  key: 1,
@@ -1889,7 +1889,7 @@ var _hoisted_11$2 = {
1889
1889
  "aria-hidden": "true"
1890
1890
  };
1891
1891
  var _hoisted_12$1 = { class: "text-ink-soft leading-relaxed" };
1892
- var _hoisted_13 = {
1892
+ var _hoisted_13$1 = {
1893
1893
  key: 3,
1894
1894
  class: "mt-8"
1895
1895
  };
@@ -1934,7 +1934,7 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1934
1934
  return (_ctx, _cache) => {
1935
1935
  return openBlock(), createElementBlock("article", { class: normalizeClass(["surface rounded-card ease-standard relative flex h-full flex-col p-7 transition-[border-color,box-shadow,transform] duration-(--duration-slower) hover:[--surface-border-color:color-mix(in_oklab,var(--color-primary)_60%,transparent)] hover:[--surface-shadow:var(--shadow-raised)] sm:p-8", [palette.value.ring, __props.recommended ? "[--surface-shadow:var(--shadow-raised)]" : "hover:-translate-y-0.5"]]) }, [
1936
1936
  __props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$28, toDisplayString(__props.badge), 1)) : createCommentVNode("", true),
1937
- createElementVNode("div", _hoisted_2$24, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
1937
+ createElementVNode("div", _hoisted_2$25, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
1938
1938
  key: 0,
1939
1939
  class: normalizeClass(["rounded-card grid size-11 place-items-center text-xl", palette.value.icon])
1940
1940
  }, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true), __props.chip ? (openBlock(), createElementBlock("span", {
@@ -1951,7 +1951,7 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1951
1951
  class: "flex gap-3 text-sm"
1952
1952
  }, [_ctx.$slots.bullet ? (openBlock(), createElementBlock("span", _hoisted_10$2, [renderSlot(_ctx.$slots, "bullet")])) : (openBlock(), createElementBlock("span", _hoisted_11$2)), createElementVNode("span", _hoisted_12$1, toDisplayString(feature), 1)]);
1953
1953
  }), 128))]),
1954
- _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_13, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
1954
+ _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_13$1, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
1955
1955
  ], 2);
1956
1956
  };
1957
1957
  }
@@ -1959,7 +1959,7 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
1959
1959
  //#endregion
1960
1960
  //#region src/components/ToneDot.vue?vue&type=script&setup=true&lang.ts
1961
1961
  var _hoisted_1$27 = { class: "inline-flex items-center gap-1.5" };
1962
- var _hoisted_2$23 = {
1962
+ var _hoisted_2$24 = {
1963
1963
  key: 0,
1964
1964
  class: "text-ink-soft text-xs font-medium"
1965
1965
  };
@@ -1980,7 +1980,7 @@ var ToneDot_default = /* @__PURE__ */ defineComponent({
1980
1980
  * priorities — without this component knowing about any of them.
1981
1981
  */
1982
1982
  return (_ctx, _cache) => {
1983
- return openBlock(), createElementBlock("span", _hoisted_1$27, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$23, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
1983
+ return openBlock(), createElementBlock("span", _hoisted_1$27, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$24, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
1984
1984
  };
1985
1985
  }
1986
1986
  });
@@ -2012,7 +2012,7 @@ var SectionHeading_default = /* @__PURE__ */ defineComponent({
2012
2012
  //#endregion
2013
2013
  //#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
2014
2014
  var _hoisted_1$25 = { class: "bg-muted rounded-card flex w-full gap-1 p-1" };
2015
- var _hoisted_2$22 = ["value", "name"];
2015
+ var _hoisted_2$23 = ["value", "name"];
2016
2016
  //#endregion
2017
2017
  //#region src/components/SegmentedControl.vue
2018
2018
  var SegmentedControl_default = /* @__PURE__ */ defineComponent({
@@ -2036,7 +2036,7 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
2036
2036
  value: option.value,
2037
2037
  name: unref(name),
2038
2038
  class: "peer sr-only"
2039
- }, null, 8, _hoisted_2$22), [[vModelRadio, model.value]]), createElementVNode("span", { class: normalizeClass(["peer-focus-visible:outline-primary flex h-10 items-center justify-center rounded-xl px-2 text-sm font-medium transition-colors select-none peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2", model.value === option.value ? "bg-surface text-ink shadow-(--shadow-control)" : "text-ink-soft"]) }, toDisplayString(option.label), 3)]);
2039
+ }, null, 8, _hoisted_2$23), [[vModelRadio, model.value]]), createElementVNode("span", { class: normalizeClass(["peer-focus-visible:outline-primary flex h-10 items-center justify-center rounded-xl px-2 text-sm font-medium transition-colors select-none peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2", model.value === option.value ? "bg-surface text-ink shadow-(--shadow-control)" : "text-ink-soft"]) }, toDisplayString(option.label), 3)]);
2040
2040
  }), 128))]);
2041
2041
  };
2042
2042
  }
@@ -2047,7 +2047,7 @@ var _hoisted_1$24 = {
2047
2047
  role: "status",
2048
2048
  class: "flex flex-col gap-1"
2049
2049
  };
2050
- var _hoisted_2$21 = { class: "sr-only" };
2050
+ var _hoisted_2$22 = { class: "sr-only" };
2051
2051
  //#endregion
2052
2052
  //#region src/components/SkeletonList.vue
2053
2053
  var SkeletonList_default = /* @__PURE__ */ defineComponent({
@@ -2061,7 +2061,7 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
2061
2061
  /** A length starts with a digit, a dot, or opens a CSS function. */
2062
2062
  const isLength = computed(() => /^(?:[.\d]|calc\(|var\(|clamp\(|min\(|max\()/.test(__props.rowHeight));
2063
2063
  return (_ctx, _cache) => {
2064
- return openBlock(), createElementBlock("div", _hoisted_1$24, [createElementVNode("span", _hoisted_2$21, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
2064
+ return openBlock(), createElementBlock("div", _hoisted_1$24, [createElementVNode("span", _hoisted_2$22, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
2065
2065
  return openBlock(), createElementBlock("div", {
2066
2066
  key: row,
2067
2067
  class: normalizeClass(["bg-muted rounded-card animate-pulse", isLength.value ? void 0 : __props.rowHeight]),
@@ -2075,7 +2075,7 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
2075
2075
  //#endregion
2076
2076
  //#region src/components/StatCard.vue?vue&type=script&setup=true&lang.ts
2077
2077
  var _hoisted_1$23 = { class: "surface rounded-card flex flex-1 flex-col gap-0.5 p-3" };
2078
- var _hoisted_2$20 = { class: "flex items-baseline gap-1" };
2078
+ var _hoisted_2$21 = { class: "flex items-baseline gap-1" };
2079
2079
  var _hoisted_3$13 = { class: "text-ink text-xl font-semibold tabular-nums" };
2080
2080
  var _hoisted_4$10 = { class: "text-ink-soft text-xs" };
2081
2081
  //#endregion
@@ -2094,7 +2094,7 @@ var StatCard_default = /* @__PURE__ */ defineComponent({
2094
2094
  flat: ArrowRight
2095
2095
  };
2096
2096
  return (_ctx, _cache) => {
2097
- return openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("div", _hoisted_2$20, [createElementVNode("span", _hoisted_3$13, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
2097
+ return openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("div", _hoisted_2$21, [createElementVNode("span", _hoisted_3$13, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
2098
2098
  key: 0,
2099
2099
  class: "text-ink-soft size-3"
2100
2100
  })) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_4$10, toDisplayString(__props.label), 1)]);
@@ -2109,7 +2109,7 @@ var _hoisted_1$22 = [
2109
2109
  "onFocusin",
2110
2110
  "onFocusout"
2111
2111
  ];
2112
- var _hoisted_2$19 = { class: "flex-1 text-sm leading-snug" };
2112
+ var _hoisted_2$20 = { class: "flex-1 text-sm leading-snug" };
2113
2113
  //#endregion
2114
2114
  //#region src/components/ToastHost.vue
2115
2115
  var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2170,7 +2170,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2170
2170
  class: normalizeClass(["mt-0.5 size-5 shrink-0", TONE_CLASS[toast.tone]]),
2171
2171
  "aria-hidden": "true"
2172
2172
  }, null, 8, ["class"])),
2173
- createElementVNode("p", _hoisted_2$19, toDisplayString(toast.message), 1),
2173
+ createElementVNode("p", _hoisted_2$20, toDisplayString(toast.message), 1),
2174
2174
  toast.action ? (openBlock(), createBlock(BaseButton_default, {
2175
2175
  key: 0,
2176
2176
  variant: "link",
@@ -2203,7 +2203,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
2203
2203
  //#endregion
2204
2204
  //#region src/components/LocaleLinks.vue?vue&type=script&setup=true&lang.ts
2205
2205
  var _hoisted_1$21 = ["aria-label"];
2206
- var _hoisted_2$18 = [
2206
+ var _hoisted_2$19 = [
2207
2207
  "lang",
2208
2208
  "aria-pressed",
2209
2209
  "onClick"
@@ -2247,7 +2247,7 @@ var LocaleLinks_default = /* @__PURE__ */ defineComponent({
2247
2247
  class: normalizeClass(["focus-ring rounded-full px-2.5 py-1.5 text-xs transition-colors", preference.value === locale ? "bg-muted text-ink font-semibold" : "text-ink-soft hover:text-ink"]),
2248
2248
  "aria-pressed": preference.value === locale,
2249
2249
  onClick: ($event) => preference.value = locale
2250
- }, toDisplayString(__props.labels[locale]), 11, _hoisted_2$18);
2250
+ }, toDisplayString(__props.labels[locale]), 11, _hoisted_2$19);
2251
2251
  }), 128))], 8, _hoisted_1$21);
2252
2252
  };
2253
2253
  }
@@ -2255,7 +2255,7 @@ var LocaleLinks_default = /* @__PURE__ */ defineComponent({
2255
2255
  //#endregion
2256
2256
  //#region src/components/TabBar.vue?vue&type=script&setup=true&lang.ts
2257
2257
  var _hoisted_1$20 = { class: "tab-bar" };
2258
- var _hoisted_2$17 = ["aria-label"];
2258
+ var _hoisted_2$18 = ["aria-label"];
2259
2259
  var _hoisted_3$12 = { class: "tab-icon-slot" };
2260
2260
  var _hoisted_4$9 = { class: "tab-label" };
2261
2261
  //#endregion
@@ -2287,14 +2287,14 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
2287
2287
  "class",
2288
2288
  "aria-current"
2289
2289
  ]);
2290
- }), 128))], 8, _hoisted_2$17)]);
2290
+ }), 128))], 8, _hoisted_2$18)]);
2291
2291
  };
2292
2292
  }
2293
2293
  }), [["__scopeId", "data-v-a76891c4"]]);
2294
2294
  //#endregion
2295
2295
  //#region src/components/AvatarStack.vue?vue&type=script&setup=true&lang.ts
2296
2296
  var _hoisted_1$19 = ["aria-label"];
2297
- var _hoisted_2$16 = {
2297
+ var _hoisted_2$17 = {
2298
2298
  key: 0,
2299
2299
  class: "rk-stack-item rk-stack-rest",
2300
2300
  "aria-hidden": "true"
@@ -2332,14 +2332,14 @@ var AvatarStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
2332
2332
  "src",
2333
2333
  "size"
2334
2334
  ])]);
2335
- }), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$16, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$19);
2335
+ }), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$17, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$19);
2336
2336
  };
2337
2337
  }
2338
2338
  }), [["__scopeId", "data-v-db629481"]]);
2339
2339
  //#endregion
2340
2340
  //#region src/components/BaseCalendar.vue?vue&type=script&setup=true&lang.ts
2341
2341
  var _hoisted_1$18 = { class: "rk-cal" };
2342
- var _hoisted_2$15 = { class: "rk-cal-head" };
2342
+ var _hoisted_2$16 = { class: "rk-cal-head" };
2343
2343
  var _hoisted_3$11 = ["aria-label"];
2344
2344
  var _hoisted_4$8 = ["aria-expanded"];
2345
2345
  var _hoisted_5$5 = ["aria-label"];
@@ -2349,25 +2349,25 @@ var _hoisted_6$4 = {
2349
2349
  "aria-hidden": "true"
2350
2350
  };
2351
2351
  var _hoisted_7$2 = ["aria-label"];
2352
- var _hoisted_8$1 = [
2352
+ var _hoisted_8$1 = ["aria-selected"];
2353
+ var _hoisted_9$1 = [
2353
2354
  "tabindex",
2354
2355
  "disabled",
2355
2356
  "aria-label",
2356
- "aria-selected",
2357
2357
  "aria-current",
2358
2358
  "onClick",
2359
2359
  "onPointerenter"
2360
2360
  ];
2361
- var _hoisted_9$1 = {
2361
+ var _hoisted_10$1 = {
2362
2362
  key: 2,
2363
2363
  class: "rk-cal-blocks"
2364
2364
  };
2365
- var _hoisted_10$1 = ["aria-label", "onClick"];
2366
- var _hoisted_11$1 = {
2365
+ var _hoisted_11$1 = ["aria-label", "onClick"];
2366
+ var _hoisted_12 = {
2367
2367
  key: 3,
2368
2368
  class: "rk-cal-blocks"
2369
2369
  };
2370
- var _hoisted_12 = ["onClick"];
2370
+ var _hoisted_13 = ["onClick"];
2371
2371
  //#endregion
2372
2372
  //#region src/components/BaseCalendar.vue
2373
2373
  var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2536,7 +2536,7 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2536
2536
  });
2537
2537
  return (_ctx, _cache) => {
2538
2538
  return openBlock(), createElementBlock("div", _hoisted_1$18, [
2539
- createElementVNode("div", _hoisted_2$15, [
2539
+ createElementVNode("div", _hoisted_2$16, [
2540
2540
  createElementVNode("button", {
2541
2541
  type: "button",
2542
2542
  class: "rk-cal-arrow focus-ring",
@@ -2583,43 +2583,43 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
2583
2583
  return openBlock(), createElementBlock("div", {
2584
2584
  key,
2585
2585
  role: "gridcell",
2586
- class: "rk-cal-cell"
2586
+ class: "rk-cal-cell",
2587
+ "aria-selected": stateOf(key) === "selected"
2587
2588
  }, [createElementVNode("button", {
2588
2589
  type: "button",
2589
2590
  class: normalizeClass(["rk-cal-day", [stateOf(key) && `is-${stateOf(key)}`, { "is-outside": outside(key) }]]),
2590
2591
  tabindex: key === focused.value ? 0 : -1,
2591
2592
  disabled: disabled(key),
2592
2593
  "aria-label": unref(formatDate)(unref(fromDateKey)(key), { dateStyle: "full" }),
2593
- "aria-selected": stateOf(key) === "selected",
2594
2594
  "aria-current": key === __props.today ? "date" : void 0,
2595
2595
  onClick: ($event) => choose(key),
2596
2596
  onPointerenter: ($event) => hovered.value = key
2597
- }, toDisplayString(unref(fromDateKey)(key).getDate()), 43, _hoisted_8$1)]);
2597
+ }, toDisplayString(unref(fromDateKey)(key).getDate()), 43, _hoisted_9$1)], 8, _hoisted_8$1);
2598
2598
  }), 128))]);
2599
- }), 128))], 40, _hoisted_7$2)) : view.value === "months" ? (openBlock(), createElementBlock("div", _hoisted_9$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(months.value, (entry) => {
2599
+ }), 128))], 40, _hoisted_7$2)) : view.value === "months" ? (openBlock(), createElementBlock("div", _hoisted_10$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(months.value, (entry) => {
2600
2600
  return openBlock(), createElementBlock("button", {
2601
2601
  key: entry.index,
2602
2602
  type: "button",
2603
2603
  class: "rk-cal-block focus-ring",
2604
2604
  "aria-label": entry.long,
2605
2605
  onClick: ($event) => chooseMonth(entry.index)
2606
- }, toDisplayString(entry.label), 9, _hoisted_10$1);
2607
- }), 128))])) : (openBlock(), createElementBlock("div", _hoisted_11$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(years.value, (value) => {
2606
+ }, toDisplayString(entry.label), 9, _hoisted_11$1);
2607
+ }), 128))])) : (openBlock(), createElementBlock("div", _hoisted_12, [(openBlock(true), createElementBlock(Fragment, null, renderList(years.value, (value) => {
2608
2608
  return openBlock(), createElementBlock("button", {
2609
2609
  key: value,
2610
2610
  type: "button",
2611
2611
  class: "rk-cal-block focus-ring",
2612
2612
  onClick: ($event) => chooseYear(value)
2613
- }, toDisplayString(value), 9, _hoisted_12);
2613
+ }, toDisplayString(value), 9, _hoisted_13);
2614
2614
  }), 128))]))
2615
2615
  ]);
2616
2616
  };
2617
2617
  }
2618
- }), [["__scopeId", "data-v-6d0b0811"]]);
2618
+ }), [["__scopeId", "data-v-30197a85"]]);
2619
2619
  //#endregion
2620
2620
  //#region src/components/BaseChip.vue?vue&type=script&setup=true&lang.ts
2621
2621
  var _hoisted_1$17 = { class: "truncate" };
2622
- var _hoisted_2$14 = ["aria-label", "disabled"];
2622
+ var _hoisted_2$15 = ["aria-label", "disabled"];
2623
2623
  //#endregion
2624
2624
  //#region src/components/BaseChip.vue
2625
2625
  var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2673,7 +2673,7 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
2673
2673
  }, [createVNode(unref(X), {
2674
2674
  class: "size-3",
2675
2675
  "aria-hidden": "true"
2676
- })], 8, _hoisted_2$14)) : createCommentVNode("", true)], 2);
2676
+ })], 8, _hoisted_2$15)) : createCommentVNode("", true)], 2);
2677
2677
  };
2678
2678
  }
2679
2679
  }), [["__scopeId", "data-v-c94a820d"]]);
@@ -2684,7 +2684,7 @@ var _hoisted_1$16 = {
2684
2684
  class: "rk-kbd-joiner",
2685
2685
  "aria-hidden": "true"
2686
2686
  };
2687
- var _hoisted_2$13 = { class: "rk-kbd-key control" };
2687
+ var _hoisted_2$14 = { class: "rk-kbd-key control" };
2688
2688
  //#endregion
2689
2689
  //#region src/components/BaseKbd.vue
2690
2690
  var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2698,7 +2698,7 @@ var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
2698
2698
  const list = computed(() => typeof __props.keys === "string" ? [__props.keys] : __props.keys);
2699
2699
  return (_ctx, _cache) => {
2700
2700
  return openBlock(), createElementBlock("span", { class: normalizeClass(["rk-kbd", `is-${__props.size}`]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (key, index) => {
2701
- return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$16, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$13, toDisplayString(key), 1)], 64);
2701
+ return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$16, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$14, toDisplayString(key), 1)], 64);
2702
2702
  }), 128))], 2);
2703
2703
  };
2704
2704
  }
@@ -2746,6 +2746,7 @@ var _hoisted_1$15 = [
2746
2746
  "aria-valuemax",
2747
2747
  "aria-valuetext"
2748
2748
  ];
2749
+ var _hoisted_2$13 = ["onClick", "onPointerenter"];
2749
2750
  //#endregion
2750
2751
  //#region src/components/BaseRating.vue
2751
2752
  var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -2804,28 +2805,17 @@ var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
2804
2805
  onKeydown: _cache[0] || (_cache[0] = ($event) => __props.readonly ? void 0 : onKeydown($event)),
2805
2806
  onPointerleave: _cache[1] || (_cache[1] = ($event) => hovered.value = 0)
2806
2807
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(stars.value, (star) => {
2807
- return openBlock(), createBlock(resolveDynamicComponent(__props.readonly ? "span" : "button"), {
2808
+ return openBlock(), createElementBlock("span", {
2808
2809
  key: star,
2809
- type: __props.readonly ? void 0 : "button",
2810
2810
  class: normalizeClass(["rk-rating-star", { "is-on": star <= shown.value }]),
2811
- tabindex: __props.readonly ? void 0 : -1,
2812
- "aria-hidden": true,
2813
- onClick: ($event) => pick(star),
2811
+ "aria-hidden": "true",
2812
+ onClick: ($event) => __props.readonly ? void 0 : pick(star),
2814
2813
  onPointerenter: ($event) => __props.readonly ? void 0 : hovered.value = star
2815
- }, {
2816
- default: withCtx(() => [createVNode(unref(Star), { class: "rk-rating-icon" })]),
2817
- _: 1
2818
- }, 40, [
2819
- "type",
2820
- "class",
2821
- "tabindex",
2822
- "onClick",
2823
- "onPointerenter"
2824
- ]);
2814
+ }, [createVNode(unref(Star), { class: "rk-rating-icon" })], 42, _hoisted_2$13);
2825
2815
  }), 128))], 42, _hoisted_1$15);
2826
2816
  };
2827
2817
  }
2828
- }), [["__scopeId", "data-v-38007368"]]);
2818
+ }), [["__scopeId", "data-v-3118ad6b"]]);
2829
2819
  //#endregion
2830
2820
  //#region src/components/BaseSeparator.vue?vue&type=script&setup=true&lang.ts
2831
2821
  var _hoisted_1$14 = { class: "rk-sep-label" };
@@ -4458,7 +4448,7 @@ function createI18nRuntime(options) {
4458
4448
  *
4459
4449
  * The fallback keeps `vitest` and `vite dev` honest, where no define runs.
4460
4450
  */
4461
- var VERSION = "2.17.0";
4451
+ var VERSION = "2.18.1";
4462
4452
  //#endregion
4463
4453
  export { AppError, AvatarStack_default as AvatarStack, BaseAlert_default as BaseAlert, BaseAvatar_default as BaseAvatar, BaseBadge_default as BaseBadge, BaseButton_default as BaseButton, BaseCalendar_default as BaseCalendar, BaseCard_default as BaseCard, BaseCheckbox_default as BaseCheckbox, BaseChip_default as BaseChip, BaseCombobox_default as BaseCombobox, BaseDatePicker_default as BaseDatePicker, BaseInput_default as BaseInput, BaseKbd_default as BaseKbd, BaseLink_default as BaseLink, BaseListbox_default as BaseListbox, BaseMenu_default as BaseMenu, BasePopconfirm_default as BasePopconfirm, BasePopover_default as BasePopover, BaseRadioGroup_default as BaseRadioGroup, BaseRating_default as BaseRating, BaseSelect_default as BaseSelect, BaseSeparator_default as BaseSeparator, BaseSheet_default as BaseSheet, BaseSkeleton_default as BaseSkeleton, BaseSlider_default as BaseSlider, BaseSpinner_default as BaseSpinner, BaseStepper_default as BaseStepper, BaseSwitch_default as BaseSwitch, BaseTable_default as BaseTable, BaseTextarea_default as BaseTextarea, BaseTimeline_default as BaseTimeline, CircularProgress_default as CircularProgress, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, FileDrop_default as FileDrop, FormField_default as FormField, GoogleButton_default as GoogleButton, LocaleLinks_default as LocaleLinks, MATERIALS, NumberInput_default as NumberInput, PALETTES, PageContainer_default as PageContainer, PageHeader_default as PageHeader, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, SectionHeading_default as SectionHeading, SegmentedControl_default as SegmentedControl, SettingsGroup_default as SettingsGroup, SettingsRow_default as SettingsRow, SkeletonList_default as SkeletonList, SliderField_default as SliderField, StatCard_default as StatCard, TabBar_default as TabBar, TagsInput_default as TagsInput, TimePicker_default as TimePicker, ToastHost_default as ToastHost, ToggleGroup_default as ToggleGroup, ToneDot_default as ToneDot, VERSION, addDays, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, ensureSheetRoot, formatDate, formatNumber, fromDateKey, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, toAppError, toDateKey, toRedirectPath, todayKey, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
4464
4454