rei-kit 2.13.0 → 2.14.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/web.js CHANGED
@@ -2,23 +2,23 @@ import { n as inertOutside, o as ensureSheetRoot, r as useBoundValue, t as BaseS
2
2
  import { n as BaseSkeleton_default, r as useMediaQuery, t as BaseListbox_default } from "./BaseListbox-BnaHlmMN.js";
3
3
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
4
4
  import { t as BaseButton_default } from "./BaseButton-RN2an975.js";
5
- import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, unref, useId, useModel, useTemplateRef, vModelText, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
6
- import { ArrowDown, ArrowUp, ChevronLeft, ChevronRight, ChevronsUpDown, Search } from "lucide-vue-next";
5
+ import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, unref, useId, useModel, useTemplateRef, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
6
+ import { ArrowDown, ArrowUp, ChevronDown, ChevronLeft, ChevronRight, ChevronsUpDown, Search } from "lucide-vue-next";
7
7
  import { RouterLink } from "vue-router";
8
8
  //#region src/web/BaseAccordion.vue?vue&type=script&setup=true&lang.ts
9
- var _hoisted_1$14 = { class: "rk-accordion" };
10
- var _hoisted_2$12 = [
9
+ var _hoisted_1$15 = { class: "rk-accordion" };
10
+ var _hoisted_2$13 = [
11
11
  "aria-expanded",
12
12
  "aria-controls",
13
13
  "onClick"
14
14
  ];
15
- var _hoisted_3$10 = { class: "rk-accordion-title" };
16
- var _hoisted_4$8 = {
15
+ var _hoisted_3$11 = { class: "rk-accordion-title" };
16
+ var _hoisted_4$9 = {
17
17
  class: "rk-accordion-mark",
18
18
  "aria-hidden": "true"
19
19
  };
20
- var _hoisted_5$6 = ["id"];
21
- var _hoisted_6$5 = { class: "rk-accordion-clip" };
20
+ var _hoisted_5$7 = ["id"];
21
+ var _hoisted_6$6 = { class: "rk-accordion-clip" };
22
22
  //#endregion
23
23
  //#region src/web/BaseAccordion.vue
24
24
  var BaseAccordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -40,7 +40,7 @@ var BaseAccordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
40
40
  else open.value = __props.multiple ? [...open.value, key] : [key];
41
41
  }
42
42
  return (_ctx, _cache) => {
43
- return openBlock(), createElementBlock("ul", _hoisted_1$14, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
43
+ return openBlock(), createElementBlock("ul", _hoisted_1$15, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
44
44
  return openBlock(), createElementBlock("li", {
45
45
  key: item.key,
46
46
  class: "rk-accordion-item"
@@ -51,32 +51,32 @@ var BaseAccordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
51
51
  "aria-expanded": isOpen(item.key),
52
52
  "aria-controls": `${unref(uid)}-${item.key}`,
53
53
  onClick: ($event) => toggle(item.key)
54
- }, [createElementVNode("span", _hoisted_3$10, [renderSlot(_ctx.$slots, "title", {
54
+ }, [createElementVNode("span", _hoisted_3$11, [renderSlot(_ctx.$slots, "title", {
55
55
  item,
56
56
  open: isOpen(item.key)
57
- }, () => [createTextVNode(toDisplayString(item.title), 1)], true)]), createElementVNode("span", _hoisted_4$8, [_cache[0] || (_cache[0] = createElementVNode("span", { class: "rk-accordion-bar" }, null, -1)), createElementVNode("span", { class: normalizeClass(["rk-accordion-bar rk-accordion-bar-turn", { "is-open": isOpen(item.key) }]) }, null, 2)])], 8, _hoisted_2$12)]),
57
+ }, () => [createTextVNode(toDisplayString(item.title), 1)], true)]), createElementVNode("span", _hoisted_4$9, [_cache[0] || (_cache[0] = createElementVNode("span", { class: "rk-accordion-bar" }, null, -1)), createElementVNode("span", { class: normalizeClass(["rk-accordion-bar rk-accordion-bar-turn", { "is-open": isOpen(item.key) }]) }, null, 2)])], 8, _hoisted_2$13)]),
58
58
  _: 2
59
59
  }, 1024)), createElementVNode("div", {
60
60
  id: `${unref(uid)}-${item.key}`,
61
61
  class: normalizeClass(["rk-accordion-panel", { "is-open": isOpen(item.key) }])
62
- }, [createElementVNode("div", _hoisted_6$5, [createElementVNode("div", { class: normalizeClass(["rk-accordion-body", { "is-open": isOpen(item.key) }]) }, [renderSlot(_ctx.$slots, "default", {
62
+ }, [createElementVNode("div", _hoisted_6$6, [createElementVNode("div", { class: normalizeClass(["rk-accordion-body", { "is-open": isOpen(item.key) }]) }, [renderSlot(_ctx.$slots, "default", {
63
63
  item,
64
64
  open: isOpen(item.key)
65
- }, void 0, true)], 2)])], 10, _hoisted_5$6)]);
65
+ }, void 0, true)], 2)])], 10, _hoisted_5$7)]);
66
66
  }), 128))]);
67
67
  };
68
68
  }
69
69
  }), [["__scopeId", "data-v-03e2e1d0"]]);
70
70
  //#endregion
71
71
  //#region src/web/BaseBreadcrumb.vue?vue&type=script&setup=true&lang.ts
72
- var _hoisted_1$13 = ["aria-label"];
73
- var _hoisted_2$11 = { class: "rk-crumbs" };
74
- var _hoisted_3$9 = {
72
+ var _hoisted_1$14 = ["aria-label"];
73
+ var _hoisted_2$12 = { class: "rk-crumbs" };
74
+ var _hoisted_3$10 = {
75
75
  key: 1,
76
76
  class: "rk-crumb-current",
77
77
  "aria-current": "page"
78
78
  };
79
- var _hoisted_4$7 = {
79
+ var _hoisted_4$8 = {
80
80
  key: 2,
81
81
  class: "rk-crumb-sep",
82
82
  "aria-hidden": "true"
@@ -91,7 +91,7 @@ var BaseBreadcrumb_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
91
91
  },
92
92
  setup(__props) {
93
93
  return (_ctx, _cache) => {
94
- return openBlock(), createElementBlock("nav", { "aria-label": __props.label || void 0 }, [createElementVNode("ol", _hoisted_2$11, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
94
+ return openBlock(), createElementBlock("nav", { "aria-label": __props.label || void 0 }, [createElementVNode("ol", _hoisted_2$12, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
95
95
  return openBlock(), createElementBlock("li", {
96
96
  key: item.label,
97
97
  class: "rk-crumb"
@@ -102,22 +102,22 @@ var BaseBreadcrumb_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
102
102
  }, {
103
103
  default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
104
104
  _: 2
105
- }, 1032, ["to"])) : (openBlock(), createElementBlock("span", _hoisted_3$9, toDisplayString(item.label), 1)), index < __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$7, "/")) : createCommentVNode("", true)]);
106
- }), 128))])], 8, _hoisted_1$13);
105
+ }, 1032, ["to"])) : (openBlock(), createElementBlock("span", _hoisted_3$10, toDisplayString(item.label), 1)), index < __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$8, "/")) : createCommentVNode("", true)]);
106
+ }), 128))])], 8, _hoisted_1$14);
107
107
  };
108
108
  }
109
109
  }), [["__scopeId", "data-v-dcc01b03"]]);
110
110
  //#endregion
111
111
  //#region src/web/BaseDisclosure.vue?vue&type=script&setup=true&lang.ts
112
- var _hoisted_1$12 = { class: "rk-disclosure" };
113
- var _hoisted_2$10 = ["aria-expanded", "aria-controls"];
114
- var _hoisted_3$8 = { class: "rk-disclosure-title" };
115
- var _hoisted_4$6 = {
112
+ var _hoisted_1$13 = { class: "rk-disclosure" };
113
+ var _hoisted_2$11 = ["aria-expanded", "aria-controls"];
114
+ var _hoisted_3$9 = { class: "rk-disclosure-title" };
115
+ var _hoisted_4$7 = {
116
116
  class: "rk-disclosure-mark",
117
117
  "aria-hidden": "true"
118
118
  };
119
- var _hoisted_5$5 = ["id"];
120
- var _hoisted_6$4 = { class: "rk-disclosure-clip" };
119
+ var _hoisted_5$6 = ["id"];
120
+ var _hoisted_6$5 = { class: "rk-disclosure-clip" };
121
121
  //#endregion
122
122
  //#region src/web/BaseDisclosure.vue
123
123
  var BaseDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -137,30 +137,30 @@ var BaseDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
137
137
  const open = useModel(__props, "modelValue");
138
138
  const id = useId();
139
139
  return (_ctx, _cache) => {
140
- return openBlock(), createElementBlock("div", _hoisted_1$12, [(openBlock(), createBlock(resolveDynamicComponent(`h${__props.headingLevel}`), null, {
140
+ return openBlock(), createElementBlock("div", _hoisted_1$13, [(openBlock(), createBlock(resolveDynamicComponent(`h${__props.headingLevel}`), null, {
141
141
  default: withCtx(() => [createElementVNode("button", {
142
142
  type: "button",
143
143
  class: "rk-disclosure-control",
144
144
  "aria-expanded": open.value,
145
145
  "aria-controls": unref(id),
146
146
  onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)
147
- }, [createElementVNode("span", _hoisted_3$8, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)], true)]), createElementVNode("span", _hoisted_4$6, [_cache[1] || (_cache[1] = createElementVNode("span", { class: "rk-disclosure-bar" }, null, -1)), createElementVNode("span", { class: normalizeClass(["rk-disclosure-bar rk-disclosure-turn", { "is-open": open.value }]) }, null, 2)])], 8, _hoisted_2$10)]),
147
+ }, [createElementVNode("span", _hoisted_3$9, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)], true)]), createElementVNode("span", _hoisted_4$7, [_cache[1] || (_cache[1] = createElementVNode("span", { class: "rk-disclosure-bar" }, null, -1)), createElementVNode("span", { class: normalizeClass(["rk-disclosure-bar rk-disclosure-turn", { "is-open": open.value }]) }, null, 2)])], 8, _hoisted_2$11)]),
148
148
  _: 3
149
149
  })), createElementVNode("div", {
150
150
  id: unref(id),
151
151
  class: normalizeClass(["rk-disclosure-panel", { "is-open": open.value }])
152
- }, [createElementVNode("div", _hoisted_6$4, [createElementVNode("div", { class: normalizeClass(["rk-disclosure-body", { "is-open": open.value }]) }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 2)])], 10, _hoisted_5$5)]);
152
+ }, [createElementVNode("div", _hoisted_6$5, [createElementVNode("div", { class: normalizeClass(["rk-disclosure-body", { "is-open": open.value }]) }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 2)])], 10, _hoisted_5$6)]);
153
153
  };
154
154
  }
155
155
  }), [["__scopeId", "data-v-ad5c09f5"]]);
156
156
  //#endregion
157
157
  //#region src/web/BaseModal.vue?vue&type=script&setup=true&lang.ts
158
- var _hoisted_1$11 = ["role", "aria-label"];
159
- var _hoisted_2$9 = { class: "rk-modal-head" };
160
- var _hoisted_3$7 = { class: "rk-modal-title" };
161
- var _hoisted_4$5 = ["aria-label"];
162
- var _hoisted_5$4 = { class: "rk-modal-body" };
163
- var _hoisted_6$3 = {
158
+ var _hoisted_1$12 = ["role", "aria-label"];
159
+ var _hoisted_2$10 = { class: "rk-modal-head" };
160
+ var _hoisted_3$8 = { class: "rk-modal-title" };
161
+ var _hoisted_4$6 = ["aria-label"];
162
+ var _hoisted_5$5 = { class: "rk-modal-body" };
163
+ var _hoisted_6$4 = {
164
164
  key: 0,
165
165
  class: "rk-modal-actions"
166
166
  };
@@ -279,7 +279,7 @@ var BaseModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
279
279
  "aria-label": __props.title,
280
280
  tabindex: "-1"
281
281
  }, [
282
- createElementVNode("div", _hoisted_2$9, [createElementVNode("h2", _hoisted_3$7, toDisplayString(__props.title), 1), __props.dismissible ? (openBlock(), createElementBlock("button", {
282
+ createElementVNode("div", _hoisted_2$10, [createElementVNode("h2", _hoisted_3$8, toDisplayString(__props.title), 1), __props.dismissible ? (openBlock(), createElementBlock("button", {
283
283
  key: 0,
284
284
  type: "button",
285
285
  class: "rk-modal-close",
@@ -293,10 +293,10 @@ var BaseModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
293
293
  }, [createElementVNode("path", {
294
294
  d: "M18 6 6 18M6 6l12 12",
295
295
  "stroke-linecap": "round"
296
- })], -1)])], 8, _hoisted_4$5)) : createCommentVNode("", true)]),
297
- createElementVNode("div", _hoisted_5$4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
298
- _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_6$3, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])) : createCommentVNode("", true)
299
- ], 8, _hoisted_1$11)], 32)) : createCommentVNode("", true)]),
296
+ })], -1)])], 8, _hoisted_4$6)) : createCommentVNode("", true)]),
297
+ createElementVNode("div", _hoisted_5$5, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
298
+ _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_6$4, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])) : createCommentVNode("", true)
299
+ ], 8, _hoisted_1$12)], 32)) : createCommentVNode("", true)]),
300
300
  _: 3
301
301
  })]);
302
302
  };
@@ -304,15 +304,15 @@ var BaseModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
304
304
  }), [["__scopeId", "data-v-61956691"]]);
305
305
  //#endregion
306
306
  //#region src/web/BasePagination.vue?vue&type=script&setup=true&lang.ts
307
- var _hoisted_1$10 = ["aria-label"];
308
- var _hoisted_2$8 = ["disabled", "aria-label"];
309
- var _hoisted_3$6 = {
307
+ var _hoisted_1$11 = ["aria-label"];
308
+ var _hoisted_2$9 = ["disabled", "aria-label"];
309
+ var _hoisted_3$7 = {
310
310
  key: 0,
311
311
  class: "rk-pager-gap",
312
312
  "aria-hidden": "true"
313
313
  };
314
- var _hoisted_4$4 = ["aria-current", "onClick"];
315
- var _hoisted_5$3 = ["disabled", "aria-label"];
314
+ var _hoisted_4$5 = ["aria-current", "onClick"];
315
+ var _hoisted_5$4 = ["disabled", "aria-label"];
316
316
  /**
317
317
  * Moving between pages of a list.
318
318
  *
@@ -375,15 +375,15 @@ var BasePagination_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
375
375
  disabled: __props.page <= 1,
376
376
  "aria-label": __props.previousLabel,
377
377
  onClick: _cache[0] || (_cache[0] = ($event) => go(__props.page - 1))
378
- }, " ‹ ", 8, _hoisted_2$8),
378
+ }, " ‹ ", 8, _hoisted_2$9),
379
379
  (openBlock(true), createElementBlock(Fragment, null, renderList(slots.value, (slot, index) => {
380
- return openBlock(), createElementBlock(Fragment, { key: `${slot}-${index}` }, [slot === "gap" ? (openBlock(), createElementBlock("span", _hoisted_3$6, "…")) : (openBlock(), createElementBlock("button", {
380
+ return openBlock(), createElementBlock(Fragment, { key: `${slot}-${index}` }, [slot === "gap" ? (openBlock(), createElementBlock("span", _hoisted_3$7, "…")) : (openBlock(), createElementBlock("button", {
381
381
  key: 1,
382
382
  type: "button",
383
383
  class: normalizeClass(["rk-pager-page", { "is-active": slot === __props.page }]),
384
384
  "aria-current": slot === __props.page ? "page" : void 0,
385
385
  onClick: ($event) => go(slot)
386
- }, toDisplayString(slot), 11, _hoisted_4$4))], 64);
386
+ }, toDisplayString(slot), 11, _hoisted_4$5))], 64);
387
387
  }), 128)),
388
388
  createElementVNode("button", {
389
389
  type: "button",
@@ -391,38 +391,38 @@ var BasePagination_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
391
391
  disabled: __props.page >= __props.pages,
392
392
  "aria-label": __props.nextLabel,
393
393
  onClick: _cache[1] || (_cache[1] = ($event) => go(__props.page + 1))
394
- }, " › ", 8, _hoisted_5$3)
395
- ], 8, _hoisted_1$10);
394
+ }, " › ", 8, _hoisted_5$4)
395
+ ], 8, _hoisted_1$11);
396
396
  };
397
397
  }
398
398
  }), [["__scopeId", "data-v-29950578"]]);
399
399
  //#endregion
400
400
  //#region src/web/CommandMenu.vue?vue&type=script&setup=true&lang.ts
401
- var _hoisted_1$9 = ["aria-label"];
402
- var _hoisted_2$7 = { class: "rk-command-field" };
403
- var _hoisted_3$5 = [
401
+ var _hoisted_1$10 = ["aria-label"];
402
+ var _hoisted_2$8 = { class: "rk-command-field" };
403
+ var _hoisted_3$6 = [
404
404
  "placeholder",
405
405
  "aria-label",
406
406
  "aria-controls",
407
407
  "aria-activedescendant"
408
408
  ];
409
- var _hoisted_4$3 = ["id", "aria-label"];
410
- var _hoisted_5$2 = {
409
+ var _hoisted_4$4 = ["id", "aria-label"];
410
+ var _hoisted_5$3 = {
411
411
  key: 0,
412
412
  class: "rk-command-group"
413
413
  };
414
- var _hoisted_6$2 = [
414
+ var _hoisted_6$3 = [
415
415
  "id",
416
416
  "aria-selected",
417
417
  "onClick",
418
418
  "onPointermove"
419
419
  ];
420
- var _hoisted_7$1 = { class: "truncate" };
421
- var _hoisted_8$1 = {
420
+ var _hoisted_7$2 = { class: "truncate" };
421
+ var _hoisted_8$2 = {
422
422
  key: 1,
423
423
  class: "rk-command-hint"
424
424
  };
425
- var _hoisted_9$1 = {
425
+ var _hoisted_9$2 = {
426
426
  key: 0,
427
427
  class: "rk-command-empty"
428
428
  };
@@ -540,7 +540,7 @@ var CommandMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
540
540
  role: "dialog",
541
541
  "aria-modal": "true",
542
542
  "aria-label": __props.label
543
- }, [createElementVNode("div", _hoisted_2$7, [createVNode(unref(Search), {
543
+ }, [createElementVNode("div", _hoisted_2$8, [createVNode(unref(Search), {
544
544
  class: "text-ink-soft size-4 shrink-0",
545
545
  "aria-hidden": "true"
546
546
  }), withDirectives(createElementVNode("input", {
@@ -556,13 +556,13 @@ var CommandMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
556
556
  "aria-expanded": true,
557
557
  "aria-controls": unref(id),
558
558
  "aria-activedescendant": flat.value.length ? `${unref(id)}-${active.value}` : void 0
559
- }, null, 8, _hoisted_3$5), [[vModelText, query.value]])]), createElementVNode("div", {
559
+ }, null, 8, _hoisted_3$6), [[vModelText, query.value]])]), createElementVNode("div", {
560
560
  id: unref(id),
561
561
  class: "rk-command-list",
562
562
  role: "listbox",
563
563
  "aria-label": __props.label
564
564
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(matches.value, (group) => {
565
- return openBlock(), createElementBlock(Fragment, { key: group.label ?? "items" }, [group.label ? (openBlock(), createElementBlock("p", _hoisted_5$2, toDisplayString(group.label), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
565
+ return openBlock(), createElementBlock(Fragment, { key: group.label ?? "items" }, [group.label ? (openBlock(), createElementBlock("p", _hoisted_5$3, toDisplayString(group.label), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
566
566
  return openBlock(), createElementBlock("div", {
567
567
  id: `${unref(id)}-${indexOf(item)}`,
568
568
  key: item.id,
@@ -577,11 +577,11 @@ var CommandMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
577
577
  class: "size-4 shrink-0",
578
578
  "aria-hidden": "true"
579
579
  })) : createCommentVNode("", true),
580
- createElementVNode("span", _hoisted_7$1, toDisplayString(item.label), 1),
581
- item.hint ? (openBlock(), createElementBlock("span", _hoisted_8$1, toDisplayString(item.hint), 1)) : createCommentVNode("", true)
582
- ], 42, _hoisted_6$2);
580
+ createElementVNode("span", _hoisted_7$2, toDisplayString(item.label), 1),
581
+ item.hint ? (openBlock(), createElementBlock("span", _hoisted_8$2, toDisplayString(item.hint), 1)) : createCommentVNode("", true)
582
+ ], 42, _hoisted_6$3);
583
583
  }), 128))], 64);
584
- }), 128)), flat.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_9$1, toDisplayString(__props.emptyLabel), 1)) : createCommentVNode("", true)], 8, _hoisted_4$3)], 8, _hoisted_1$9)], 32)) : createCommentVNode("", true)]),
584
+ }), 128)), flat.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_9$2, toDisplayString(__props.emptyLabel), 1)) : createCommentVNode("", true)], 8, _hoisted_4$4)], 8, _hoisted_1$10)], 32)) : createCommentVNode("", true)]),
585
585
  _: 1
586
586
  })], 8, ["to"]);
587
587
  };
@@ -589,30 +589,30 @@ var CommandMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
589
589
  }), [["__scopeId", "data-v-cce1dd03"]]);
590
590
  //#endregion
591
591
  //#region src/web/DataTable.vue?vue&type=script&setup=true&lang.ts
592
- var _hoisted_1$8 = ["aria-label"];
593
- var _hoisted_2$6 = {
592
+ var _hoisted_1$9 = ["aria-label"];
593
+ var _hoisted_2$7 = {
594
594
  key: 0,
595
595
  scope: "col",
596
596
  class: "rk-data-pick"
597
597
  };
598
- var _hoisted_3$4 = [
598
+ var _hoisted_3$5 = [
599
599
  "checked",
600
600
  "indeterminate",
601
601
  "aria-label"
602
602
  ];
603
- var _hoisted_4$2 = ["aria-sort"];
604
- var _hoisted_5$1 = ["onClick"];
605
- var _hoisted_6$1 = {
603
+ var _hoisted_4$3 = ["aria-sort"];
604
+ var _hoisted_5$2 = ["onClick"];
605
+ var _hoisted_6$2 = {
606
606
  key: 0,
607
607
  "aria-busy": "true"
608
608
  };
609
- var _hoisted_7 = { key: 0 };
610
- var _hoisted_8 = { key: 1 };
611
- var _hoisted_9 = {
609
+ var _hoisted_7$1 = { key: 0 };
610
+ var _hoisted_8$1 = { key: 1 };
611
+ var _hoisted_9$1 = {
612
612
  key: 0,
613
613
  class: "rk-data-pick"
614
614
  };
615
- var _hoisted_10 = [
615
+ var _hoisted_10$1 = [
616
616
  "checked",
617
617
  "aria-label",
618
618
  "onChange"
@@ -714,14 +714,14 @@ var DataTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
714
714
  "aria-label": __props.caption
715
715
  }, [createElementVNode("table", { class: normalizeClass(["rk-data", { "is-sticky": __props.stickyHeader }]) }, [
716
716
  createElementVNode("caption", { class: normalizeClass(__props.captionHidden ? "rk-data-caption-hidden" : "rk-data-caption") }, toDisplayString(__props.caption), 3),
717
- createElementVNode("thead", null, [createElementVNode("tr", null, [selectable.value ? (openBlock(), createElementBlock("th", _hoisted_2$6, [createElementVNode("input", {
717
+ createElementVNode("thead", null, [createElementVNode("tr", null, [selectable.value ? (openBlock(), createElementBlock("th", _hoisted_2$7, [createElementVNode("input", {
718
718
  type: "checkbox",
719
719
  class: "rk-data-box focus-ring",
720
720
  checked: allChosen.value,
721
721
  indeterminate: someChosen.value,
722
722
  "aria-label": __props.selectAllLabel,
723
723
  onChange: toggleAll
724
- }, null, 40, _hoisted_3$4)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
724
+ }, null, 40, _hoisted_3$5)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
725
725
  return openBlock(), createElementBlock("th", {
726
726
  key: column.key,
727
727
  scope: "col",
@@ -744,27 +744,27 @@ var DataTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
744
744
  key: 2,
745
745
  class: "size-3.5 opacity-40",
746
746
  "aria-hidden": "true"
747
- }))], 8, _hoisted_5$1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(column.label), 1)], 64))], 10, _hoisted_4$2);
747
+ }))], 8, _hoisted_5$2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(column.label), 1)], 64))], 10, _hoisted_4$3);
748
748
  }), 128))])]),
749
- __props.loading ? (openBlock(), createElementBlock("tbody", _hoisted_6$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.loadingRows, (row) => {
750
- return openBlock(), createElementBlock("tr", { key: row }, [selectable.value ? (openBlock(), createElementBlock("td", _hoisted_7)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
749
+ __props.loading ? (openBlock(), createElementBlock("tbody", _hoisted_6$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.loadingRows, (row) => {
750
+ return openBlock(), createElementBlock("tr", { key: row }, [selectable.value ? (openBlock(), createElementBlock("td", _hoisted_7$1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
751
751
  return openBlock(), createElementBlock("td", { key: column.key }, [createVNode(BaseSkeleton_default, {
752
752
  shape: "text",
753
753
  height: "0.75rem",
754
754
  width: "70%"
755
755
  })]);
756
756
  }), 128))]);
757
- }), 128))])) : shown.value.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_8, [(openBlock(true), createElementBlock(Fragment, null, renderList(shown.value, (row, index) => {
757
+ }), 128))])) : shown.value.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_8$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(shown.value, (row, index) => {
758
758
  return openBlock(), createElementBlock("tr", {
759
759
  key: keyOf(row, index),
760
760
  class: normalizeClass({ "is-chosen": selected.value.includes(keyOf(row, index)) })
761
- }, [selectable.value ? (openBlock(), createElementBlock("td", _hoisted_9, [createElementVNode("input", {
761
+ }, [selectable.value ? (openBlock(), createElementBlock("td", _hoisted_9$1, [createElementVNode("input", {
762
762
  type: "checkbox",
763
763
  class: "rk-data-box focus-ring",
764
764
  checked: selected.value.includes(keyOf(row, index)),
765
765
  "aria-label": __props.rowLabel(row),
766
766
  onChange: ($event) => toggleRow(keyOf(row, index))
767
- }, null, 40, _hoisted_10)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
767
+ }, null, 40, _hoisted_10$1)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
768
768
  return openBlock(), createElementBlock("td", {
769
769
  key: column.key,
770
770
  class: normalizeClass([column.align && `is-${column.align}`, column.nowrap && "is-nowrap"])
@@ -777,21 +777,21 @@ var DataTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
777
777
  colspan: columnCount.value,
778
778
  class: "rk-data-empty"
779
779
  }, [renderSlot(_ctx.$slots, "empty", {}, void 0, true)], 8, _hoisted_12)])]))
780
- ], 2)], 8, _hoisted_1$8);
780
+ ], 2)], 8, _hoisted_1$9);
781
781
  };
782
782
  }
783
783
  }), [["__scopeId", "data-v-f95c586b"]]);
784
784
  //#endregion
785
785
  //#region src/web/BaseSplitter.vue?vue&type=script&setup=true&lang.ts
786
- var _hoisted_1$7 = { class: "rk-split-pane is-start" };
787
- var _hoisted_2$5 = [
786
+ var _hoisted_1$8 = { class: "rk-split-pane is-start" };
787
+ var _hoisted_2$6 = [
788
788
  "aria-label",
789
789
  "aria-orientation",
790
790
  "aria-valuenow",
791
791
  "aria-valuemin",
792
792
  "aria-valuemax"
793
793
  ];
794
- var _hoisted_3$3 = { class: "rk-split-pane is-end" };
794
+ var _hoisted_3$4 = { class: "rk-split-pane is-end" };
795
795
  //#endregion
796
796
  //#region src/web/BaseSplitter.vue
797
797
  var BaseSplitter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -856,7 +856,7 @@ var BaseSplitter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
856
856
  class: normalizeClass(["rk-split", [`is-${__props.orientation}`, { "is-dragging": dragging.value }]]),
857
857
  style: normalizeStyle({ "--rk-split": `${split.value}%` })
858
858
  }, [
859
- createElementVNode("div", _hoisted_1$7, [renderSlot(_ctx.$slots, "start", {}, void 0, true)]),
859
+ createElementVNode("div", _hoisted_1$8, [renderSlot(_ctx.$slots, "start", {}, void 0, true)]),
860
860
  createElementVNode("div", {
861
861
  class: "rk-split-handle focus-ring",
862
862
  role: "separator",
@@ -874,15 +874,15 @@ var BaseSplitter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
874
874
  }, [..._cache[0] || (_cache[0] = [createElementVNode("span", {
875
875
  class: "rk-split-grip",
876
876
  "aria-hidden": "true"
877
- }, null, -1)])], 40, _hoisted_2$5),
878
- createElementVNode("div", _hoisted_3$3, [renderSlot(_ctx.$slots, "end", {}, void 0, true)])
877
+ }, null, -1)])], 40, _hoisted_2$6),
878
+ createElementVNode("div", _hoisted_3$4, [renderSlot(_ctx.$slots, "end", {}, void 0, true)])
879
879
  ], 6);
880
880
  };
881
881
  }
882
882
  }), [["__scopeId", "data-v-159a4f08"]]);
883
883
  //#endregion
884
884
  //#region src/web/BaseToolbar.vue?vue&type=script&setup=true&lang.ts
885
- var _hoisted_1$6 = ["aria-label", "aria-orientation"];
885
+ var _hoisted_1$7 = ["aria-label", "aria-orientation"];
886
886
  /**
887
887
  * A row of controls that belong together: a formatting bar, a row of view
888
888
  * switches, the actions over a table.
@@ -962,14 +962,14 @@ var BaseToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
962
962
  "aria-orientation": __props.orientation,
963
963
  onKeydown,
964
964
  onFocusin
965
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 42, _hoisted_1$6);
965
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 42, _hoisted_1$7);
966
966
  };
967
967
  }
968
968
  }), [["__scopeId", "data-v-a65164b7"]]);
969
969
  //#endregion
970
970
  //#region src/web/BaseTree.vue?vue&type=script&setup=true&lang.ts
971
- var _hoisted_1$5 = ["aria-label", "aria-multiselectable"];
972
- var _hoisted_2$4 = [
971
+ var _hoisted_1$6 = ["aria-label", "aria-multiselectable"];
972
+ var _hoisted_2$5 = [
973
973
  "aria-level",
974
974
  "aria-setsize",
975
975
  "aria-posinset",
@@ -978,12 +978,12 @@ var _hoisted_2$4 = [
978
978
  "aria-disabled",
979
979
  "onClick"
980
980
  ];
981
- var _hoisted_3$2 = {
981
+ var _hoisted_3$3 = {
982
982
  key: 1,
983
983
  class: "rk-tree-twist-space",
984
984
  "aria-hidden": "true"
985
985
  };
986
- var _hoisted_4$1 = { class: "truncate" };
986
+ var _hoisted_4$2 = { class: "truncate" };
987
987
  //#endregion
988
988
  //#region src/web/BaseTree.vue
989
989
  var BaseTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1122,26 +1122,26 @@ var BaseTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
1122
1122
  key: 0,
1123
1123
  class: normalizeClass(["rk-tree-twist", { "is-open": isOpen(row.node) }]),
1124
1124
  "aria-hidden": "true"
1125
- }, null, 8, ["class"])) : (openBlock(), createElementBlock("span", _hoisted_3$2)),
1125
+ }, null, 8, ["class"])) : (openBlock(), createElementBlock("span", _hoisted_3$3)),
1126
1126
  row.node.icon ? (openBlock(), createBlock(resolveDynamicComponent(row.node.icon), {
1127
1127
  key: 2,
1128
1128
  class: "size-4 shrink-0",
1129
1129
  "aria-hidden": "true"
1130
1130
  })) : createCommentVNode("", true),
1131
- createElementVNode("span", _hoisted_4$1, toDisplayString(row.node.label), 1)
1132
- ], 14, _hoisted_2$4);
1133
- }), 128))], 40, _hoisted_1$5);
1131
+ createElementVNode("span", _hoisted_4$2, toDisplayString(row.node.label), 1)
1132
+ ], 14, _hoisted_2$5);
1133
+ }), 128))], 40, _hoisted_1$6);
1134
1134
  };
1135
1135
  }
1136
1136
  }), [["__scopeId", "data-v-f91deddf"]]);
1137
1137
  //#endregion
1138
1138
  //#region src/web/TransferList.vue?vue&type=script&setup=true&lang.ts
1139
- var _hoisted_1$4 = { class: "rk-transfer" };
1140
- var _hoisted_2$3 = { class: "rk-transfer-side" };
1141
- var _hoisted_3$1 = { class: "rk-transfer-title" };
1142
- var _hoisted_4 = { class: "rk-transfer-middle" };
1143
- var _hoisted_5 = { class: "rk-transfer-side" };
1144
- var _hoisted_6 = { class: "rk-transfer-title" };
1139
+ var _hoisted_1$5 = { class: "rk-transfer" };
1140
+ var _hoisted_2$4 = { class: "rk-transfer-side" };
1141
+ var _hoisted_3$2 = { class: "rk-transfer-title" };
1142
+ var _hoisted_4$1 = { class: "rk-transfer-middle" };
1143
+ var _hoisted_5$1 = { class: "rk-transfer-side" };
1144
+ var _hoisted_6$1 = { class: "rk-transfer-title" };
1145
1145
  //#endregion
1146
1146
  //#region src/web/TransferList.vue
1147
1147
  var TransferList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1174,8 +1174,8 @@ var TransferList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1174
1174
  markedChosen.value = [];
1175
1175
  }
1176
1176
  return (_ctx, _cache) => {
1177
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
1178
- createElementVNode("div", _hoisted_2$3, [createElementVNode("p", _hoisted_3$1, toDisplayString(__props.availableLabel), 1), createVNode(BaseListbox_default, {
1177
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
1178
+ createElementVNode("div", _hoisted_2$4, [createElementVNode("p", _hoisted_3$2, toDisplayString(__props.availableLabel), 1), createVNode(BaseListbox_default, {
1179
1179
  modelValue: markedAvailable.value,
1180
1180
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => markedAvailable.value = $event),
1181
1181
  mode: "multiple",
@@ -1188,7 +1188,7 @@ var TransferList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1188
1188
  "label",
1189
1189
  "height"
1190
1190
  ])]),
1191
- createElementVNode("div", _hoisted_4, [createVNode(BaseButton_default, {
1191
+ createElementVNode("div", _hoisted_4$1, [createVNode(BaseButton_default, {
1192
1192
  icon: "",
1193
1193
  variant: "secondary",
1194
1194
  "aria-label": __props.addLabel,
@@ -1207,7 +1207,7 @@ var TransferList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1207
1207
  default: withCtx(() => [createVNode(unref(ChevronLeft), { class: "size-4" })]),
1208
1208
  _: 1
1209
1209
  }, 8, ["aria-label", "disabled"])]),
1210
- createElementVNode("div", _hoisted_5, [createElementVNode("p", _hoisted_6, toDisplayString(__props.chosenLabel), 1), createVNode(BaseListbox_default, {
1210
+ createElementVNode("div", _hoisted_5$1, [createElementVNode("p", _hoisted_6$1, toDisplayString(__props.chosenLabel), 1), createVNode(BaseListbox_default, {
1211
1211
  modelValue: markedChosen.value,
1212
1212
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => markedChosen.value = $event),
1213
1213
  mode: "multiple",
@@ -1226,7 +1226,7 @@ var TransferList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
1226
1226
  }), [["__scopeId", "data-v-1d75b0da"]]);
1227
1227
  //#endregion
1228
1228
  //#region src/web/ResponsiveDialog.vue?vue&type=script&setup=true&lang.ts
1229
- var _hoisted_1$3 = {
1229
+ var _hoisted_1$4 = {
1230
1230
  key: 0,
1231
1231
  class: "rk-responsive-actions"
1232
1232
  };
@@ -1287,7 +1287,7 @@ var ResponsiveDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/
1287
1287
  subtitle: __props.subtitle,
1288
1288
  "close-label": __props.closeLabel
1289
1289
  }, {
1290
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true), _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_1$3, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])) : createCommentVNode("", true)]),
1290
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true), _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_1$4, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])) : createCommentVNode("", true)]),
1291
1291
  _: 3
1292
1292
  }, 8, [
1293
1293
  "modelValue",
@@ -1300,15 +1300,15 @@ var ResponsiveDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/
1300
1300
  }), [["__scopeId", "data-v-85131850"]]);
1301
1301
  //#endregion
1302
1302
  //#region src/web/BaseTabs.vue?vue&type=script&setup=true&lang.ts
1303
- var _hoisted_1$2 = ["aria-label"];
1304
- var _hoisted_2$2 = [
1303
+ var _hoisted_1$3 = ["aria-label"];
1304
+ var _hoisted_2$3 = [
1305
1305
  "id",
1306
1306
  "aria-selected",
1307
1307
  "aria-controls",
1308
1308
  "tabindex",
1309
1309
  "onClick"
1310
1310
  ];
1311
- var _hoisted_3 = ["id", "aria-labelledby"];
1311
+ var _hoisted_3$1 = ["id", "aria-labelledby"];
1312
1312
  //#endregion
1313
1313
  //#region src/web/BaseTabs.vue
1314
1314
  var BaseTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1367,8 +1367,8 @@ var BaseTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
1367
1367
  "aria-controls": panelId(item.key),
1368
1368
  tabindex: item.key === active.value ? 0 : -1,
1369
1369
  onClick: ($event) => select(item.key)
1370
- }, toDisplayString(item.label), 11, _hoisted_2$2);
1371
- }), 128))], 40, _hoisted_1$2), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
1370
+ }, toDisplayString(item.label), 11, _hoisted_2$3);
1371
+ }), 128))], 40, _hoisted_1$3), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
1372
1372
  return withDirectives((openBlock(), createElementBlock("div", {
1373
1373
  id: panelId(item.key),
1374
1374
  key: item.key,
@@ -1379,15 +1379,15 @@ var BaseTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
1379
1379
  }, [renderSlot(_ctx.$slots, "default", {
1380
1380
  item,
1381
1381
  active: active.value
1382
- }, void 0, true)], 8, _hoisted_3)), [[vShow, item.key === active.value]]);
1382
+ }, void 0, true)], 8, _hoisted_3$1)), [[vShow, item.key === active.value]]);
1383
1383
  }), 128))]);
1384
1384
  };
1385
1385
  }
1386
1386
  }), [["__scopeId", "data-v-8135ecab"]]);
1387
1387
  //#endregion
1388
1388
  //#region src/web/BaseTooltip.vue?vue&type=script&setup=true&lang.ts
1389
- var _hoisted_1$1 = { class: "rk-tip" };
1390
- var _hoisted_2$1 = ["id"];
1389
+ var _hoisted_1$2 = { class: "rk-tip" };
1390
+ var _hoisted_2$2 = ["id"];
1391
1391
  //#endregion
1392
1392
  //#region src/web/BaseTooltip.vue
1393
1393
  var BaseTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -1399,15 +1399,200 @@ var BaseTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
1399
1399
  setup(__props) {
1400
1400
  const id = useId();
1401
1401
  return (_ctx, _cache) => {
1402
- return openBlock(), createElementBlock("span", _hoisted_1$1, [renderSlot(_ctx.$slots, "default", { describedBy: unref(id) }, void 0, true), createElementVNode("span", {
1402
+ return openBlock(), createElementBlock("span", _hoisted_1$2, [renderSlot(_ctx.$slots, "default", { describedBy: unref(id) }, void 0, true), createElementVNode("span", {
1403
1403
  id: unref(id),
1404
1404
  role: "tooltip",
1405
1405
  class: normalizeClass(["rk-tip-bubble", `is-${__props.placement}`])
1406
- }, toDisplayString(__props.label), 11, _hoisted_2$1)]);
1406
+ }, toDisplayString(__props.label), 11, _hoisted_2$2)]);
1407
1407
  };
1408
1408
  }
1409
1409
  }), [["__scopeId", "data-v-3a572640"]]);
1410
1410
  //#endregion
1411
+ //#region src/web/MegaMenu.vue?vue&type=script&setup=true&lang.ts
1412
+ var _hoisted_1$1 = ["aria-label"];
1413
+ var _hoisted_2$1 = { class: "rk-mega-bar" };
1414
+ var _hoisted_3 = ["onPointerenter"];
1415
+ var _hoisted_4 = [
1416
+ "aria-expanded",
1417
+ "aria-controls",
1418
+ "onClick"
1419
+ ];
1420
+ var _hoisted_5 = ["id", "hidden"];
1421
+ var _hoisted_6 = { class: "rk-mega-columns" };
1422
+ var _hoisted_7 = {
1423
+ key: 0,
1424
+ class: "rk-mega-column-title"
1425
+ };
1426
+ var _hoisted_8 = { class: "rk-mega-links" };
1427
+ var _hoisted_9 = { class: "rk-mega-link-label" };
1428
+ var _hoisted_10 = {
1429
+ key: 0,
1430
+ class: "rk-mega-link-note"
1431
+ };
1432
+ //#endregion
1433
+ //#region src/web/MegaMenu.vue
1434
+ var MegaMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
1435
+ __name: "MegaMenu",
1436
+ props: {
1437
+ items: {},
1438
+ active: { default: () => void 0 },
1439
+ label: { default: "" },
1440
+ openOnHover: {
1441
+ type: Boolean,
1442
+ default: true
1443
+ },
1444
+ hoverDelay: { default: 120 }
1445
+ },
1446
+ setup(__props) {
1447
+ const id = useId();
1448
+ const panelId = (key) => `${id}-${key}`;
1449
+ /** Which panel is open; only ever one. */
1450
+ const open = ref(null);
1451
+ /**
1452
+ * Whether the open panel was asked for rather than hovered into.
1453
+ *
1454
+ * Without this the pointer does both halves of a toggle: moving onto the
1455
+ * button opens the panel, and the click that follows -- the one press a
1456
+ * reader thinks of as opening it -- closes it again. A press on a hovered
1457
+ * panel pins it instead, so it stays when the pointer leaves, and the next
1458
+ * press closes it.
1459
+ */
1460
+ const pinned = ref(false);
1461
+ const root = ref(null);
1462
+ let timer;
1463
+ function clearTimer() {
1464
+ if (timer) clearTimeout(timer);
1465
+ timer = void 0;
1466
+ }
1467
+ function show(key) {
1468
+ clearTimer();
1469
+ if (open.value !== key) pinned.value = false;
1470
+ open.value = key;
1471
+ }
1472
+ function close() {
1473
+ clearTimer();
1474
+ open.value = null;
1475
+ pinned.value = false;
1476
+ }
1477
+ /**
1478
+ * Closing waits, because the pointer has to cross the gap between the button
1479
+ * and the panel and that gap is not over either of them.
1480
+ */
1481
+ function scheduleClose() {
1482
+ if (pinned.value) return;
1483
+ clearTimer();
1484
+ timer = setTimeout(() => open.value = null, __props.hoverDelay);
1485
+ }
1486
+ function toggle(key) {
1487
+ clearTimer();
1488
+ if (open.value === key) {
1489
+ if (!pinned.value) {
1490
+ pinned.value = true;
1491
+ return;
1492
+ }
1493
+ close();
1494
+ return;
1495
+ }
1496
+ open.value = key;
1497
+ pinned.value = true;
1498
+ }
1499
+ function onEscape() {
1500
+ const key = open.value;
1501
+ if (key) closeAndReturn(key);
1502
+ }
1503
+ /** The button each panel belongs to, so focus can be given back to it. */
1504
+ const buttons = /* @__PURE__ */ new Map();
1505
+ function setButton(key, el) {
1506
+ if (el) buttons.set(key, el);
1507
+ else buttons.delete(key);
1508
+ }
1509
+ function closeAndReturn(key) {
1510
+ close();
1511
+ buttons.get(key)?.focus();
1512
+ }
1513
+ function onPointerEnter(item) {
1514
+ if (!__props.openOnHover || !item.columns?.length) return;
1515
+ show(item.key);
1516
+ }
1517
+ function onFocusOut(event) {
1518
+ const next = event.relatedTarget;
1519
+ if (next && root.value?.contains(next)) return;
1520
+ close();
1521
+ }
1522
+ function onDocumentPointer(event) {
1523
+ if (root.value && !root.value.contains(event.target)) close();
1524
+ }
1525
+ watch(open, (value) => {
1526
+ if (typeof document === "undefined") return;
1527
+ if (value) document.addEventListener("pointerdown", onDocumentPointer);
1528
+ else document.removeEventListener("pointerdown", onDocumentPointer);
1529
+ }, { immediate: true });
1530
+ onBeforeUnmount(() => {
1531
+ clearTimer();
1532
+ if (typeof document !== "undefined") document.removeEventListener("pointerdown", onDocumentPointer);
1533
+ });
1534
+ return (_ctx, _cache) => {
1535
+ return openBlock(), createElementBlock("nav", {
1536
+ ref_key: "root",
1537
+ ref: root,
1538
+ class: "rk-mega",
1539
+ "aria-label": __props.label || void 0,
1540
+ onFocusout: onFocusOut,
1541
+ onKeydown: withKeys(onEscape, ["escape"])
1542
+ }, [createElementVNode("ul", _hoisted_2$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
1543
+ return openBlock(), createElementBlock("li", {
1544
+ key: item.key,
1545
+ class: "rk-mega-item",
1546
+ onPointerenter: ($event) => onPointerEnter(item),
1547
+ onPointerleave: _cache[0] || (_cache[0] = ($event) => __props.openOnHover && scheduleClose())
1548
+ }, [!item.columns?.length && item.to ? (openBlock(), createBlock(unref(RouterLink), {
1549
+ key: 0,
1550
+ to: item.to,
1551
+ class: normalizeClass(["rk-mega-top focus-ring", { "is-active": item.key === __props.active }]),
1552
+ "aria-current": item.key === __props.active ? "page" : void 0
1553
+ }, {
1554
+ default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
1555
+ _: 2
1556
+ }, 1032, [
1557
+ "to",
1558
+ "class",
1559
+ "aria-current"
1560
+ ])) : (openBlock(), createElementBlock("button", {
1561
+ key: 1,
1562
+ type: "button",
1563
+ class: normalizeClass(["rk-mega-top focus-ring", { "is-active": item.key === __props.active }]),
1564
+ ref_for: true,
1565
+ ref: (el) => setButton(item.key, el),
1566
+ "aria-expanded": open.value === item.key,
1567
+ "aria-controls": panelId(item.key),
1568
+ onClick: ($event) => toggle(item.key)
1569
+ }, [createTextVNode(toDisplayString(item.label) + " ", 1), createVNode(unref(ChevronDown), {
1570
+ class: normalizeClass(["rk-mega-twist", { "is-open": open.value === item.key }]),
1571
+ "aria-hidden": "true"
1572
+ }, null, 8, ["class"])], 10, _hoisted_4)), item.columns?.length ? (openBlock(), createElementBlock("div", {
1573
+ key: 2,
1574
+ id: panelId(item.key),
1575
+ class: "rk-mega-panel surface-overlay",
1576
+ hidden: open.value !== item.key
1577
+ }, [createElementVNode("div", _hoisted_6, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.columns, (column) => {
1578
+ return openBlock(), createElementBlock("div", {
1579
+ key: column.key,
1580
+ class: "rk-mega-column"
1581
+ }, [column.title ? (openBlock(), createElementBlock("p", _hoisted_7, toDisplayString(column.title), 1)) : createCommentVNode("", true), createElementVNode("ul", _hoisted_8, [(openBlock(true), createElementBlock(Fragment, null, renderList(column.links, (link) => {
1582
+ return openBlock(), createElementBlock("li", { key: link.key }, [createVNode(unref(RouterLink), {
1583
+ to: link.to,
1584
+ class: "rk-mega-link focus-ring"
1585
+ }, {
1586
+ default: withCtx(() => [createElementVNode("span", _hoisted_9, toDisplayString(link.label), 1), link.description ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(link.description), 1)) : createCommentVNode("", true)]),
1587
+ _: 2
1588
+ }, 1032, ["to"])]);
1589
+ }), 128))])]);
1590
+ }), 128))]), renderSlot(_ctx.$slots, item.key, {}, void 0, true)], 8, _hoisted_5)) : createCommentVNode("", true)], 40, _hoisted_3);
1591
+ }), 128))])], 40, _hoisted_1$1);
1592
+ };
1593
+ }
1594
+ }), [["__scopeId", "data-v-343f9362"]]);
1595
+ //#endregion
1411
1596
  //#region src/web/NavLinks.vue?vue&type=script&setup=true&lang.ts
1412
1597
  var _hoisted_1 = ["aria-label"];
1413
1598
  var _hoisted_2 = { class: "rk-nav-inner" };
@@ -1444,6 +1629,6 @@ var NavLinks_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
1444
1629
  }
1445
1630
  }), [["__scopeId", "data-v-52e5d553"]]);
1446
1631
  //#endregion
1447
- export { BaseAccordion_default as BaseAccordion, BaseBreadcrumb_default as BaseBreadcrumb, BaseDisclosure_default as BaseDisclosure, BaseModal_default as BaseModal, BasePagination_default as BasePagination, BaseSplitter_default as BaseSplitter, BaseTabs_default as BaseTabs, BaseToolbar_default as BaseToolbar, BaseTooltip_default as BaseTooltip, BaseTree_default as BaseTree, CommandMenu_default as CommandMenu, DataTable_default as DataTable, NavLinks_default as NavLinks, ResponsiveDialog_default as ResponsiveDialog, TransferList_default as TransferList };
1632
+ export { BaseAccordion_default as BaseAccordion, BaseBreadcrumb_default as BaseBreadcrumb, BaseDisclosure_default as BaseDisclosure, BaseModal_default as BaseModal, BasePagination_default as BasePagination, BaseSplitter_default as BaseSplitter, BaseTabs_default as BaseTabs, BaseToolbar_default as BaseToolbar, BaseTooltip_default as BaseTooltip, BaseTree_default as BaseTree, CommandMenu_default as CommandMenu, DataTable_default as DataTable, MegaMenu_default as MegaMenu, NavLinks_default as NavLinks, ResponsiveDialog_default as ResponsiveDialog, TransferList_default as TransferList };
1448
1633
 
1449
1634
  //# sourceMappingURL=web.js.map