rei-kit 2.13.0 → 2.15.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/README.md +4 -4
- package/dist/components/SliderField.vue.d.ts +59 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +390 -301
- package/dist/index.js.map +1 -1
- package/dist/styles.css +196 -54
- package/dist/web/BaseTooltip.vue.d.ts +17 -0
- package/dist/web/MegaMenu.vue.d.ts +53 -0
- package/dist/web/index.d.ts +2 -0
- package/dist/web.js +337 -109
- package/dist/web.js.map +1 -1
- package/package.json +2 -2
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$
|
|
9
|
+
var _hoisted_1$15 = { class: "rk-accordion" };
|
|
10
10
|
var _hoisted_2$12 = [
|
|
11
11
|
"aria-expanded",
|
|
12
12
|
"aria-controls",
|
|
13
13
|
"onClick"
|
|
14
14
|
];
|
|
15
|
-
var _hoisted_3$
|
|
16
|
-
var _hoisted_4$
|
|
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$
|
|
21
|
-
var _hoisted_6$
|
|
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$
|
|
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$
|
|
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$
|
|
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$12)]),
|
|
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$
|
|
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$
|
|
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$
|
|
72
|
+
var _hoisted_1$14 = ["aria-label"];
|
|
73
73
|
var _hoisted_2$11 = { class: "rk-crumbs" };
|
|
74
|
-
var _hoisted_3$
|
|
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$
|
|
79
|
+
var _hoisted_4$8 = {
|
|
80
80
|
key: 2,
|
|
81
81
|
class: "rk-crumb-sep",
|
|
82
82
|
"aria-hidden": "true"
|
|
@@ -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$
|
|
106
|
-
}), 128))])], 8, _hoisted_1$
|
|
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$
|
|
112
|
+
var _hoisted_1$13 = { class: "rk-disclosure" };
|
|
113
113
|
var _hoisted_2$10 = ["aria-expanded", "aria-controls"];
|
|
114
|
-
var _hoisted_3$
|
|
115
|
-
var _hoisted_4$
|
|
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$
|
|
120
|
-
var _hoisted_6$
|
|
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$
|
|
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$
|
|
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$10)]),
|
|
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$
|
|
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$
|
|
158
|
+
var _hoisted_1$12 = ["role", "aria-label"];
|
|
159
159
|
var _hoisted_2$9 = { class: "rk-modal-head" };
|
|
160
|
-
var _hoisted_3$
|
|
161
|
-
var _hoisted_4$
|
|
162
|
-
var _hoisted_5$
|
|
163
|
-
var _hoisted_6$
|
|
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$
|
|
282
|
+
createElementVNode("div", _hoisted_2$9, [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$
|
|
297
|
-
createElementVNode("div", _hoisted_5$
|
|
298
|
-
_ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_6$
|
|
299
|
-
], 8, _hoisted_1$
|
|
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$
|
|
307
|
+
var _hoisted_1$11 = ["aria-label"];
|
|
308
308
|
var _hoisted_2$8 = ["disabled", "aria-label"];
|
|
309
|
-
var _hoisted_3$
|
|
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$
|
|
315
|
-
var _hoisted_5$
|
|
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
|
*
|
|
@@ -377,13 +377,13 @@ var BasePagination_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
377
377
|
onClick: _cache[0] || (_cache[0] = ($event) => go(__props.page - 1))
|
|
378
378
|
}, " ‹ ", 8, _hoisted_2$8),
|
|
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$
|
|
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$
|
|
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$
|
|
395
|
-
], 8, _hoisted_1$
|
|
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$
|
|
401
|
+
var _hoisted_1$10 = ["aria-label"];
|
|
402
402
|
var _hoisted_2$7 = { class: "rk-command-field" };
|
|
403
|
-
var _hoisted_3$
|
|
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$
|
|
410
|
-
var _hoisted_5$
|
|
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$
|
|
414
|
+
var _hoisted_6$3 = [
|
|
415
415
|
"id",
|
|
416
416
|
"aria-selected",
|
|
417
417
|
"onClick",
|
|
418
418
|
"onPointermove"
|
|
419
419
|
];
|
|
420
|
-
var _hoisted_7$
|
|
421
|
-
var _hoisted_8$
|
|
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$
|
|
425
|
+
var _hoisted_9$2 = {
|
|
426
426
|
key: 0,
|
|
427
427
|
class: "rk-command-empty"
|
|
428
428
|
};
|
|
@@ -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$
|
|
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$
|
|
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$
|
|
581
|
-
item.hint ? (openBlock(), createElementBlock("span", _hoisted_8$
|
|
582
|
-
], 42, _hoisted_6$
|
|
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$
|
|
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$
|
|
592
|
+
var _hoisted_1$9 = ["aria-label"];
|
|
593
593
|
var _hoisted_2$6 = {
|
|
594
594
|
key: 0,
|
|
595
595
|
scope: "col",
|
|
596
596
|
class: "rk-data-pick"
|
|
597
597
|
};
|
|
598
|
-
var _hoisted_3$
|
|
598
|
+
var _hoisted_3$5 = [
|
|
599
599
|
"checked",
|
|
600
600
|
"indeterminate",
|
|
601
601
|
"aria-label"
|
|
602
602
|
];
|
|
603
|
-
var _hoisted_4$
|
|
604
|
-
var _hoisted_5$
|
|
605
|
-
var _hoisted_6$
|
|
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"
|
|
@@ -721,7 +721,7 @@ var DataTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
721
721
|
indeterminate: someChosen.value,
|
|
722
722
|
"aria-label": __props.selectAllLabel,
|
|
723
723
|
onChange: toggleAll
|
|
724
|
-
}, null, 40, _hoisted_3$
|
|
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$
|
|
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$
|
|
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,13 +777,13 @@ 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$
|
|
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$
|
|
786
|
+
var _hoisted_1$8 = { class: "rk-split-pane is-start" };
|
|
787
787
|
var _hoisted_2$5 = [
|
|
788
788
|
"aria-label",
|
|
789
789
|
"aria-orientation",
|
|
@@ -791,7 +791,7 @@ var _hoisted_2$5 = [
|
|
|
791
791
|
"aria-valuemin",
|
|
792
792
|
"aria-valuemax"
|
|
793
793
|
];
|
|
794
|
-
var _hoisted_3$
|
|
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$
|
|
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",
|
|
@@ -875,14 +875,14 @@ var BaseSplitter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
875
875
|
class: "rk-split-grip",
|
|
876
876
|
"aria-hidden": "true"
|
|
877
877
|
}, null, -1)])], 40, _hoisted_2$5),
|
|
878
|
-
createElementVNode("div", _hoisted_3$
|
|
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$
|
|
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,13 +962,13 @@ 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$
|
|
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$
|
|
971
|
+
var _hoisted_1$6 = ["aria-label", "aria-multiselectable"];
|
|
972
972
|
var _hoisted_2$4 = [
|
|
973
973
|
"aria-level",
|
|
974
974
|
"aria-setsize",
|
|
@@ -978,12 +978,12 @@ var _hoisted_2$4 = [
|
|
|
978
978
|
"aria-disabled",
|
|
979
979
|
"onClick"
|
|
980
980
|
];
|
|
981
|
-
var _hoisted_3$
|
|
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$
|
|
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$
|
|
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$
|
|
1131
|
+
createElementVNode("span", _hoisted_4$2, toDisplayString(row.node.label), 1)
|
|
1132
1132
|
], 14, _hoisted_2$4);
|
|
1133
|
-
}), 128))], 40, _hoisted_1$
|
|
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$
|
|
1139
|
+
var _hoisted_1$5 = { class: "rk-transfer" };
|
|
1140
1140
|
var _hoisted_2$3 = { class: "rk-transfer-side" };
|
|
1141
|
-
var _hoisted_3$
|
|
1142
|
-
var _hoisted_4 = { class: "rk-transfer-middle" };
|
|
1143
|
-
var _hoisted_5 = { class: "rk-transfer-side" };
|
|
1144
|
-
var _hoisted_6 = { class: "rk-transfer-title" };
|
|
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$
|
|
1178
|
-
createElementVNode("div", _hoisted_2$3, [createElementVNode("p", _hoisted_3$
|
|
1177
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
1178
|
+
createElementVNode("div", _hoisted_2$3, [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$
|
|
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$
|
|
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,7 +1300,7 @@ 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$
|
|
1303
|
+
var _hoisted_1$3 = ["aria-label"];
|
|
1304
1304
|
var _hoisted_2$2 = [
|
|
1305
1305
|
"id",
|
|
1306
1306
|
"aria-selected",
|
|
@@ -1308,7 +1308,7 @@ var _hoisted_2$2 = [
|
|
|
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({
|
|
@@ -1368,7 +1368,7 @@ var BaseTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
1368
1368
|
tabindex: item.key === active.value ? 0 : -1,
|
|
1369
1369
|
onClick: ($event) => select(item.key)
|
|
1370
1370
|
}, toDisplayString(item.label), 11, _hoisted_2$2);
|
|
1371
|
-
}), 128))], 40, _hoisted_1$
|
|
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,34 +1379,262 @@ 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$
|
|
1390
|
-
var _hoisted_2$1 = ["id"];
|
|
1389
|
+
var _hoisted_1$2 = ["id"];
|
|
1391
1390
|
//#endregion
|
|
1392
1391
|
//#region src/web/BaseTooltip.vue
|
|
1393
1392
|
var BaseTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
1394
1393
|
__name: "BaseTooltip",
|
|
1395
1394
|
props: {
|
|
1396
1395
|
label: {},
|
|
1397
|
-
placement: { default: "top" }
|
|
1396
|
+
placement: { default: "top" },
|
|
1397
|
+
follow: {
|
|
1398
|
+
type: Boolean,
|
|
1399
|
+
default: false
|
|
1400
|
+
},
|
|
1401
|
+
offset: { default: 14 }
|
|
1398
1402
|
},
|
|
1399
1403
|
setup(__props) {
|
|
1400
1404
|
const id = useId();
|
|
1405
|
+
/** Where the pointer is inside the trigger, or null when it is not. */
|
|
1406
|
+
const at = ref(null);
|
|
1407
|
+
let frame = 0;
|
|
1408
|
+
/**
|
|
1409
|
+
* A box chasing the pointer is motion, so a reader who asked for less of it
|
|
1410
|
+
* gets the anchored bubble. Read per move rather than cached: the preference
|
|
1411
|
+
* can change while the page is open.
|
|
1412
|
+
*/
|
|
1413
|
+
const wantsStill = () => typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches === true;
|
|
1414
|
+
function onPointerMove(event) {
|
|
1415
|
+
if (!__props.follow || wantsStill()) return;
|
|
1416
|
+
if (frame) return;
|
|
1417
|
+
const { clientX, clientY, currentTarget } = event;
|
|
1418
|
+
const box = currentTarget.getBoundingClientRect();
|
|
1419
|
+
frame = requestAnimationFrame(() => {
|
|
1420
|
+
frame = 0;
|
|
1421
|
+
at.value = {
|
|
1422
|
+
x: clientX - box.left,
|
|
1423
|
+
y: clientY - box.top
|
|
1424
|
+
};
|
|
1425
|
+
});
|
|
1426
|
+
}
|
|
1427
|
+
function onPointerLeave() {
|
|
1428
|
+
if (frame) cancelAnimationFrame(frame);
|
|
1429
|
+
frame = 0;
|
|
1430
|
+
at.value = null;
|
|
1431
|
+
}
|
|
1432
|
+
onBeforeUnmount(() => {
|
|
1433
|
+
if (frame) cancelAnimationFrame(frame);
|
|
1434
|
+
});
|
|
1401
1435
|
return (_ctx, _cache) => {
|
|
1402
|
-
return openBlock(), createElementBlock("span",
|
|
1436
|
+
return openBlock(), createElementBlock("span", {
|
|
1437
|
+
class: "rk-tip",
|
|
1438
|
+
onPointermove: onPointerMove,
|
|
1439
|
+
onPointerleave: onPointerLeave,
|
|
1440
|
+
onFocusout: onPointerLeave
|
|
1441
|
+
}, [renderSlot(_ctx.$slots, "default", { describedBy: unref(id) }, void 0, true), createElementVNode("span", {
|
|
1403
1442
|
id: unref(id),
|
|
1404
1443
|
role: "tooltip",
|
|
1405
|
-
class: normalizeClass(["rk-tip-bubble", `is-${__props.placement}
|
|
1406
|
-
|
|
1444
|
+
class: normalizeClass(["rk-tip-bubble", [`is-${__props.placement}`, { "is-following": at.value }]]),
|
|
1445
|
+
style: normalizeStyle(at.value ? {
|
|
1446
|
+
left: `${at.value.x}px`,
|
|
1447
|
+
top: __props.placement === "top" ? `${at.value.y - __props.offset}px` : `${at.value.y + __props.offset}px`
|
|
1448
|
+
} : void 0)
|
|
1449
|
+
}, toDisplayString(__props.label), 15, _hoisted_1$2)], 32);
|
|
1450
|
+
};
|
|
1451
|
+
}
|
|
1452
|
+
}), [["__scopeId", "data-v-c31426f8"]]);
|
|
1453
|
+
//#endregion
|
|
1454
|
+
//#region src/web/MegaMenu.vue?vue&type=script&setup=true&lang.ts
|
|
1455
|
+
var _hoisted_1$1 = ["aria-label"];
|
|
1456
|
+
var _hoisted_2$1 = { class: "rk-mega-bar" };
|
|
1457
|
+
var _hoisted_3 = ["onPointerenter"];
|
|
1458
|
+
var _hoisted_4 = [
|
|
1459
|
+
"aria-expanded",
|
|
1460
|
+
"aria-controls",
|
|
1461
|
+
"onClick"
|
|
1462
|
+
];
|
|
1463
|
+
var _hoisted_5 = ["id", "hidden"];
|
|
1464
|
+
var _hoisted_6 = { class: "rk-mega-columns" };
|
|
1465
|
+
var _hoisted_7 = {
|
|
1466
|
+
key: 0,
|
|
1467
|
+
class: "rk-mega-column-title"
|
|
1468
|
+
};
|
|
1469
|
+
var _hoisted_8 = { class: "rk-mega-links" };
|
|
1470
|
+
var _hoisted_9 = { class: "rk-mega-link-label" };
|
|
1471
|
+
var _hoisted_10 = {
|
|
1472
|
+
key: 0,
|
|
1473
|
+
class: "rk-mega-link-note"
|
|
1474
|
+
};
|
|
1475
|
+
//#endregion
|
|
1476
|
+
//#region src/web/MegaMenu.vue
|
|
1477
|
+
var MegaMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
1478
|
+
__name: "MegaMenu",
|
|
1479
|
+
props: {
|
|
1480
|
+
items: {},
|
|
1481
|
+
active: { default: () => void 0 },
|
|
1482
|
+
label: { default: "" },
|
|
1483
|
+
openOnHover: {
|
|
1484
|
+
type: Boolean,
|
|
1485
|
+
default: true
|
|
1486
|
+
},
|
|
1487
|
+
hoverDelay: { default: 120 }
|
|
1488
|
+
},
|
|
1489
|
+
setup(__props) {
|
|
1490
|
+
const id = useId();
|
|
1491
|
+
const panelId = (key) => `${id}-${key}`;
|
|
1492
|
+
/** Which panel is open; only ever one. */
|
|
1493
|
+
const open = ref(null);
|
|
1494
|
+
/**
|
|
1495
|
+
* Whether the open panel was asked for rather than hovered into.
|
|
1496
|
+
*
|
|
1497
|
+
* Without this the pointer does both halves of a toggle: moving onto the
|
|
1498
|
+
* button opens the panel, and the click that follows -- the one press a
|
|
1499
|
+
* reader thinks of as opening it -- closes it again. A press on a hovered
|
|
1500
|
+
* panel pins it instead, so it stays when the pointer leaves, and the next
|
|
1501
|
+
* press closes it.
|
|
1502
|
+
*/
|
|
1503
|
+
const pinned = ref(false);
|
|
1504
|
+
const root = ref(null);
|
|
1505
|
+
let timer;
|
|
1506
|
+
function clearTimer() {
|
|
1507
|
+
if (timer) clearTimeout(timer);
|
|
1508
|
+
timer = void 0;
|
|
1509
|
+
}
|
|
1510
|
+
function show(key) {
|
|
1511
|
+
clearTimer();
|
|
1512
|
+
if (open.value !== key) pinned.value = false;
|
|
1513
|
+
open.value = key;
|
|
1514
|
+
}
|
|
1515
|
+
function close() {
|
|
1516
|
+
clearTimer();
|
|
1517
|
+
open.value = null;
|
|
1518
|
+
pinned.value = false;
|
|
1519
|
+
}
|
|
1520
|
+
/**
|
|
1521
|
+
* Closing waits, because the pointer has to cross the gap between the button
|
|
1522
|
+
* and the panel and that gap is not over either of them.
|
|
1523
|
+
*/
|
|
1524
|
+
function scheduleClose() {
|
|
1525
|
+
if (pinned.value) return;
|
|
1526
|
+
clearTimer();
|
|
1527
|
+
timer = setTimeout(() => open.value = null, __props.hoverDelay);
|
|
1528
|
+
}
|
|
1529
|
+
function toggle(key) {
|
|
1530
|
+
clearTimer();
|
|
1531
|
+
if (open.value === key) {
|
|
1532
|
+
if (!pinned.value) {
|
|
1533
|
+
pinned.value = true;
|
|
1534
|
+
return;
|
|
1535
|
+
}
|
|
1536
|
+
close();
|
|
1537
|
+
return;
|
|
1538
|
+
}
|
|
1539
|
+
open.value = key;
|
|
1540
|
+
pinned.value = true;
|
|
1541
|
+
}
|
|
1542
|
+
function onEscape() {
|
|
1543
|
+
const key = open.value;
|
|
1544
|
+
if (key) closeAndReturn(key);
|
|
1545
|
+
}
|
|
1546
|
+
/** The button each panel belongs to, so focus can be given back to it. */
|
|
1547
|
+
const buttons = /* @__PURE__ */ new Map();
|
|
1548
|
+
function setButton(key, el) {
|
|
1549
|
+
if (el) buttons.set(key, el);
|
|
1550
|
+
else buttons.delete(key);
|
|
1551
|
+
}
|
|
1552
|
+
function closeAndReturn(key) {
|
|
1553
|
+
close();
|
|
1554
|
+
buttons.get(key)?.focus();
|
|
1555
|
+
}
|
|
1556
|
+
function onPointerEnter(item) {
|
|
1557
|
+
if (!__props.openOnHover || !item.columns?.length) return;
|
|
1558
|
+
show(item.key);
|
|
1559
|
+
}
|
|
1560
|
+
function onFocusOut(event) {
|
|
1561
|
+
const next = event.relatedTarget;
|
|
1562
|
+
if (next && root.value?.contains(next)) return;
|
|
1563
|
+
close();
|
|
1564
|
+
}
|
|
1565
|
+
function onDocumentPointer(event) {
|
|
1566
|
+
if (root.value && !root.value.contains(event.target)) close();
|
|
1567
|
+
}
|
|
1568
|
+
watch(open, (value) => {
|
|
1569
|
+
if (typeof document === "undefined") return;
|
|
1570
|
+
if (value) document.addEventListener("pointerdown", onDocumentPointer);
|
|
1571
|
+
else document.removeEventListener("pointerdown", onDocumentPointer);
|
|
1572
|
+
}, { immediate: true });
|
|
1573
|
+
onBeforeUnmount(() => {
|
|
1574
|
+
clearTimer();
|
|
1575
|
+
if (typeof document !== "undefined") document.removeEventListener("pointerdown", onDocumentPointer);
|
|
1576
|
+
});
|
|
1577
|
+
return (_ctx, _cache) => {
|
|
1578
|
+
return openBlock(), createElementBlock("nav", {
|
|
1579
|
+
ref_key: "root",
|
|
1580
|
+
ref: root,
|
|
1581
|
+
class: "rk-mega",
|
|
1582
|
+
"aria-label": __props.label || void 0,
|
|
1583
|
+
onFocusout: onFocusOut,
|
|
1584
|
+
onKeydown: withKeys(onEscape, ["escape"])
|
|
1585
|
+
}, [createElementVNode("ul", _hoisted_2$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
1586
|
+
return openBlock(), createElementBlock("li", {
|
|
1587
|
+
key: item.key,
|
|
1588
|
+
class: "rk-mega-item",
|
|
1589
|
+
onPointerenter: ($event) => onPointerEnter(item),
|
|
1590
|
+
onPointerleave: _cache[0] || (_cache[0] = ($event) => __props.openOnHover && scheduleClose())
|
|
1591
|
+
}, [!item.columns?.length && item.to ? (openBlock(), createBlock(unref(RouterLink), {
|
|
1592
|
+
key: 0,
|
|
1593
|
+
to: item.to,
|
|
1594
|
+
class: normalizeClass(["rk-mega-top focus-ring", { "is-active": item.key === __props.active }]),
|
|
1595
|
+
"aria-current": item.key === __props.active ? "page" : void 0
|
|
1596
|
+
}, {
|
|
1597
|
+
default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
|
|
1598
|
+
_: 2
|
|
1599
|
+
}, 1032, [
|
|
1600
|
+
"to",
|
|
1601
|
+
"class",
|
|
1602
|
+
"aria-current"
|
|
1603
|
+
])) : (openBlock(), createElementBlock("button", {
|
|
1604
|
+
key: 1,
|
|
1605
|
+
type: "button",
|
|
1606
|
+
class: normalizeClass(["rk-mega-top focus-ring", { "is-active": item.key === __props.active }]),
|
|
1607
|
+
ref_for: true,
|
|
1608
|
+
ref: (el) => setButton(item.key, el),
|
|
1609
|
+
"aria-expanded": open.value === item.key,
|
|
1610
|
+
"aria-controls": panelId(item.key),
|
|
1611
|
+
onClick: ($event) => toggle(item.key)
|
|
1612
|
+
}, [createTextVNode(toDisplayString(item.label) + " ", 1), createVNode(unref(ChevronDown), {
|
|
1613
|
+
class: normalizeClass(["rk-mega-twist", { "is-open": open.value === item.key }]),
|
|
1614
|
+
"aria-hidden": "true"
|
|
1615
|
+
}, null, 8, ["class"])], 10, _hoisted_4)), item.columns?.length ? (openBlock(), createElementBlock("div", {
|
|
1616
|
+
key: 2,
|
|
1617
|
+
id: panelId(item.key),
|
|
1618
|
+
class: "rk-mega-panel surface-overlay",
|
|
1619
|
+
hidden: open.value !== item.key
|
|
1620
|
+
}, [createElementVNode("div", _hoisted_6, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.columns, (column) => {
|
|
1621
|
+
return openBlock(), createElementBlock("div", {
|
|
1622
|
+
key: column.key,
|
|
1623
|
+
class: "rk-mega-column"
|
|
1624
|
+
}, [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) => {
|
|
1625
|
+
return openBlock(), createElementBlock("li", { key: link.key }, [createVNode(unref(RouterLink), {
|
|
1626
|
+
to: link.to,
|
|
1627
|
+
class: "rk-mega-link focus-ring"
|
|
1628
|
+
}, {
|
|
1629
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_9, toDisplayString(link.label), 1), link.description ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(link.description), 1)) : createCommentVNode("", true)]),
|
|
1630
|
+
_: 2
|
|
1631
|
+
}, 1032, ["to"])]);
|
|
1632
|
+
}), 128))])]);
|
|
1633
|
+
}), 128))]), renderSlot(_ctx.$slots, item.key, {}, void 0, true)], 8, _hoisted_5)) : createCommentVNode("", true)], 40, _hoisted_3);
|
|
1634
|
+
}), 128))])], 40, _hoisted_1$1);
|
|
1407
1635
|
};
|
|
1408
1636
|
}
|
|
1409
|
-
}), [["__scopeId", "data-v-
|
|
1637
|
+
}), [["__scopeId", "data-v-343f9362"]]);
|
|
1410
1638
|
//#endregion
|
|
1411
1639
|
//#region src/web/NavLinks.vue?vue&type=script&setup=true&lang.ts
|
|
1412
1640
|
var _hoisted_1 = ["aria-label"];
|
|
@@ -1444,6 +1672,6 @@ var NavLinks_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
1444
1672
|
}
|
|
1445
1673
|
}), [["__scopeId", "data-v-52e5d553"]]);
|
|
1446
1674
|
//#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 };
|
|
1675
|
+
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
1676
|
|
|
1449
1677
|
//# sourceMappingURL=web.js.map
|