rei-kit 0.17.1 → 0.18.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 +8 -8
- package/dist/index.js +1 -1
- package/dist/styles.css +255 -15
- package/dist/web/BaseBreadcrumb.vue.d.ts +26 -0
- package/dist/web/BaseDisclosure.vue.d.ts +59 -0
- package/dist/web/BasePagination.vue.d.ts +43 -0
- package/dist/web/BaseTabs.vue.d.ts +37 -0
- package/dist/web/BaseTooltip.vue.d.ts +45 -0
- package/dist/web/index.d.ts +21 -10
- package/dist/web.js +314 -27
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
package/dist/web.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
2
|
-
import { Fragment, Teleport, Transition, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, normalizeClass, onBeforeUnmount, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, unref, useId, useModel, watch, withCtx, withModifiers } from "vue";
|
|
2
|
+
import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, normalizeClass, onBeforeUnmount, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, unref, useId, useModel, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
|
|
3
3
|
import { RouterLink } from "vue-router";
|
|
4
4
|
//#region src/web/BaseAccordion.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var _hoisted_1$
|
|
6
|
-
var _hoisted_2$
|
|
5
|
+
var _hoisted_1$7 = { class: "rk-accordion" };
|
|
6
|
+
var _hoisted_2$7 = [
|
|
7
7
|
"aria-expanded",
|
|
8
8
|
"aria-controls",
|
|
9
9
|
"onClick"
|
|
10
10
|
];
|
|
11
|
-
var _hoisted_3$
|
|
12
|
-
var _hoisted_4$
|
|
11
|
+
var _hoisted_3$5 = { class: "rk-accordion-title" };
|
|
12
|
+
var _hoisted_4$4 = {
|
|
13
13
|
class: "rk-accordion-mark",
|
|
14
14
|
"aria-hidden": "true"
|
|
15
15
|
};
|
|
16
|
-
var _hoisted_5$
|
|
17
|
-
var _hoisted_6$
|
|
16
|
+
var _hoisted_5$3 = ["id"];
|
|
17
|
+
var _hoisted_6$2 = { class: "rk-accordion-clip" };
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region src/web/BaseAccordion.vue
|
|
20
20
|
var BaseAccordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -36,7 +36,7 @@ var BaseAccordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
36
36
|
else open.value = __props.multiple ? [...open.value, key] : [key];
|
|
37
37
|
}
|
|
38
38
|
return (_ctx, _cache) => {
|
|
39
|
-
return openBlock(), createElementBlock("ul", _hoisted_1$
|
|
39
|
+
return openBlock(), createElementBlock("ul", _hoisted_1$7, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
40
40
|
return openBlock(), createElementBlock("li", {
|
|
41
41
|
key: item.key,
|
|
42
42
|
class: "rk-accordion-item"
|
|
@@ -47,26 +47,112 @@ var BaseAccordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
47
47
|
"aria-expanded": isOpen(item.key),
|
|
48
48
|
"aria-controls": `${unref(uid)}-${item.key}`,
|
|
49
49
|
onClick: ($event) => toggle(item.key)
|
|
50
|
-
}, [createElementVNode("span", _hoisted_3$
|
|
50
|
+
}, [createElementVNode("span", _hoisted_3$5, toDisplayString(item.title), 1), createElementVNode("span", _hoisted_4$4, [_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$7)]),
|
|
51
51
|
_: 2
|
|
52
52
|
}, 1024)), createElementVNode("div", {
|
|
53
53
|
id: `${unref(uid)}-${item.key}`,
|
|
54
54
|
class: normalizeClass(["rk-accordion-panel", { "is-open": isOpen(item.key) }])
|
|
55
|
-
}, [createElementVNode("div", _hoisted_6$
|
|
55
|
+
}, [createElementVNode("div", _hoisted_6$2, [createElementVNode("div", { class: normalizeClass(["rk-accordion-body", { "is-open": isOpen(item.key) }]) }, [renderSlot(_ctx.$slots, "default", {
|
|
56
56
|
item,
|
|
57
57
|
open: isOpen(item.key)
|
|
58
|
-
}, void 0, true)], 2)])], 10, _hoisted_5$
|
|
58
|
+
}, void 0, true)], 2)])], 10, _hoisted_5$3)]);
|
|
59
59
|
}), 128))]);
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
}), [["__scopeId", "data-v-00091812"]]);
|
|
63
63
|
//#endregion
|
|
64
|
+
//#region src/web/BaseBreadcrumb.vue?vue&type=script&setup=true&lang.ts
|
|
65
|
+
var _hoisted_1$6 = ["aria-label"];
|
|
66
|
+
var _hoisted_2$6 = { class: "rk-crumbs" };
|
|
67
|
+
var _hoisted_3$4 = {
|
|
68
|
+
key: 1,
|
|
69
|
+
class: "rk-crumb-current",
|
|
70
|
+
"aria-current": "page"
|
|
71
|
+
};
|
|
72
|
+
var _hoisted_4$3 = {
|
|
73
|
+
key: 2,
|
|
74
|
+
class: "rk-crumb-sep",
|
|
75
|
+
"aria-hidden": "true"
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/web/BaseBreadcrumb.vue
|
|
79
|
+
var BaseBreadcrumb_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
80
|
+
__name: "BaseBreadcrumb",
|
|
81
|
+
props: {
|
|
82
|
+
items: {},
|
|
83
|
+
label: { default: "" }
|
|
84
|
+
},
|
|
85
|
+
setup(__props) {
|
|
86
|
+
return (_ctx, _cache) => {
|
|
87
|
+
return openBlock(), createElementBlock("nav", { "aria-label": __props.label || void 0 }, [createElementVNode("ol", _hoisted_2$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
88
|
+
return openBlock(), createElementBlock("li", {
|
|
89
|
+
key: item.label,
|
|
90
|
+
class: "rk-crumb"
|
|
91
|
+
}, [item.to ? (openBlock(), createBlock(unref(RouterLink), {
|
|
92
|
+
key: 0,
|
|
93
|
+
to: item.to,
|
|
94
|
+
class: "rk-crumb-link"
|
|
95
|
+
}, {
|
|
96
|
+
default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
|
|
97
|
+
_: 2
|
|
98
|
+
}, 1032, ["to"])) : (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(item.label), 1)), index < __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$3, "/")) : createCommentVNode("", true)]);
|
|
99
|
+
}), 128))])], 8, _hoisted_1$6);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}), [["__scopeId", "data-v-85ee4b4e"]]);
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region src/web/BaseDisclosure.vue?vue&type=script&setup=true&lang.ts
|
|
105
|
+
var _hoisted_1$5 = { class: "rk-disclosure" };
|
|
106
|
+
var _hoisted_2$5 = ["aria-expanded", "aria-controls"];
|
|
107
|
+
var _hoisted_3$3 = { class: "rk-disclosure-title" };
|
|
108
|
+
var _hoisted_4$2 = {
|
|
109
|
+
class: "rk-disclosure-mark",
|
|
110
|
+
"aria-hidden": "true"
|
|
111
|
+
};
|
|
112
|
+
var _hoisted_5$2 = ["id"];
|
|
113
|
+
var _hoisted_6$1 = { class: "rk-disclosure-clip" };
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/web/BaseDisclosure.vue
|
|
116
|
+
var BaseDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
117
|
+
__name: "BaseDisclosure",
|
|
118
|
+
props: /*@__PURE__*/ mergeModels({
|
|
119
|
+
title: {},
|
|
120
|
+
headingLevel: { default: 3 }
|
|
121
|
+
}, {
|
|
122
|
+
"modelValue": {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
default: false
|
|
125
|
+
},
|
|
126
|
+
"modelModifiers": {}
|
|
127
|
+
}),
|
|
128
|
+
emits: ["update:modelValue"],
|
|
129
|
+
setup(__props) {
|
|
130
|
+
const open = useModel(__props, "modelValue");
|
|
131
|
+
const id = useId();
|
|
132
|
+
return (_ctx, _cache) => {
|
|
133
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [(openBlock(), createBlock(resolveDynamicComponent(`h${__props.headingLevel}`), null, {
|
|
134
|
+
default: withCtx(() => [createElementVNode("button", {
|
|
135
|
+
type: "button",
|
|
136
|
+
class: "rk-disclosure-control",
|
|
137
|
+
"aria-expanded": open.value,
|
|
138
|
+
"aria-controls": unref(id),
|
|
139
|
+
onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)
|
|
140
|
+
}, [createElementVNode("span", _hoisted_3$3, toDisplayString(__props.title), 1), createElementVNode("span", _hoisted_4$2, [_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$5)]),
|
|
141
|
+
_: 1
|
|
142
|
+
})), createElementVNode("div", {
|
|
143
|
+
id: unref(id),
|
|
144
|
+
class: normalizeClass(["rk-disclosure-panel", { "is-open": open.value }])
|
|
145
|
+
}, [createElementVNode("div", _hoisted_6$1, [createElementVNode("div", { class: normalizeClass(["rk-disclosure-body", { "is-open": open.value }]) }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 2)])], 10, _hoisted_5$2)]);
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}), [["__scopeId", "data-v-fef7de4d"]]);
|
|
149
|
+
//#endregion
|
|
64
150
|
//#region src/web/BaseModal.vue?vue&type=script&setup=true&lang.ts
|
|
65
|
-
var _hoisted_1$
|
|
66
|
-
var _hoisted_2 = { class: "rk-modal-head" };
|
|
67
|
-
var _hoisted_3 = { class: "rk-modal-title" };
|
|
68
|
-
var _hoisted_4 = ["aria-label"];
|
|
69
|
-
var _hoisted_5 = { class: "rk-modal-body" };
|
|
151
|
+
var _hoisted_1$4 = ["role", "aria-label"];
|
|
152
|
+
var _hoisted_2$4 = { class: "rk-modal-head" };
|
|
153
|
+
var _hoisted_3$2 = { class: "rk-modal-title" };
|
|
154
|
+
var _hoisted_4$1 = ["aria-label"];
|
|
155
|
+
var _hoisted_5$1 = { class: "rk-modal-body" };
|
|
70
156
|
var _hoisted_6 = {
|
|
71
157
|
key: 0,
|
|
72
158
|
class: "rk-modal-actions"
|
|
@@ -180,7 +266,7 @@ var BaseModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
180
266
|
"aria-label": __props.title,
|
|
181
267
|
tabindex: "-1"
|
|
182
268
|
}, [
|
|
183
|
-
createElementVNode("div", _hoisted_2, [createElementVNode("h2", _hoisted_3, toDisplayString(__props.title), 1), __props.dismissible ? (openBlock(), createElementBlock("button", {
|
|
269
|
+
createElementVNode("div", _hoisted_2$4, [createElementVNode("h2", _hoisted_3$2, toDisplayString(__props.title), 1), __props.dismissible ? (openBlock(), createElementBlock("button", {
|
|
184
270
|
key: 0,
|
|
185
271
|
type: "button",
|
|
186
272
|
class: "rk-modal-close",
|
|
@@ -194,18 +280,222 @@ var BaseModal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
194
280
|
}, [createElementVNode("path", {
|
|
195
281
|
d: "M18 6 6 18M6 6l12 12",
|
|
196
282
|
"stroke-linecap": "round"
|
|
197
|
-
})], -1)])], 8, _hoisted_4)) : createCommentVNode("", true)]),
|
|
198
|
-
createElementVNode("div", _hoisted_5, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
283
|
+
})], -1)])], 8, _hoisted_4$1)) : createCommentVNode("", true)]),
|
|
284
|
+
createElementVNode("div", _hoisted_5$1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
199
285
|
_ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_6, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])) : createCommentVNode("", true)
|
|
200
|
-
], 8, _hoisted_1$
|
|
286
|
+
], 8, _hoisted_1$4)], 32)) : createCommentVNode("", true)]),
|
|
201
287
|
_: 3
|
|
202
288
|
})]);
|
|
203
289
|
};
|
|
204
290
|
}
|
|
205
291
|
}), [["__scopeId", "data-v-e092f731"]]);
|
|
206
292
|
//#endregion
|
|
293
|
+
//#region src/web/BasePagination.vue?vue&type=script&setup=true&lang.ts
|
|
294
|
+
var _hoisted_1$3 = ["aria-label"];
|
|
295
|
+
var _hoisted_2$3 = ["disabled", "aria-label"];
|
|
296
|
+
var _hoisted_3$1 = {
|
|
297
|
+
key: 0,
|
|
298
|
+
class: "rk-pager-gap",
|
|
299
|
+
"aria-hidden": "true"
|
|
300
|
+
};
|
|
301
|
+
var _hoisted_4 = ["aria-current", "onClick"];
|
|
302
|
+
var _hoisted_5 = ["disabled", "aria-label"];
|
|
303
|
+
/**
|
|
304
|
+
* Moving between pages of a list.
|
|
305
|
+
*
|
|
306
|
+
* A `nav` of buttons rather than links, because this component does not know
|
|
307
|
+
* whether the app pages by route, by query or in memory. It emits a number and
|
|
308
|
+
* the app decides what that means.
|
|
309
|
+
*
|
|
310
|
+
* ## The ellipsis
|
|
311
|
+
*
|
|
312
|
+
* Every page number is unusable past about a dozen, and cutting to
|
|
313
|
+
* "1 … 7 8 9 … 40" is what every list does. The window is a fixed size around
|
|
314
|
+
* the current page and the first and last are always present, so the control
|
|
315
|
+
* never changes width as you move through it — a row of numbers that reflows
|
|
316
|
+
* under the pointer is a row you have to re-aim at.
|
|
317
|
+
*
|
|
318
|
+
* The gap is a `<span>`, not a disabled button: it is not a control, and
|
|
319
|
+
* announcing it as one gives a screen reader something to try to press.
|
|
320
|
+
*/
|
|
321
|
+
var GAP = "gap";
|
|
322
|
+
//#endregion
|
|
323
|
+
//#region src/web/BasePagination.vue
|
|
324
|
+
var BasePagination_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
325
|
+
__name: "BasePagination",
|
|
326
|
+
props: {
|
|
327
|
+
page: {},
|
|
328
|
+
pages: {},
|
|
329
|
+
siblings: { default: 1 },
|
|
330
|
+
label: { default: "" },
|
|
331
|
+
previousLabel: {},
|
|
332
|
+
nextLabel: {}
|
|
333
|
+
},
|
|
334
|
+
emits: ["change"],
|
|
335
|
+
setup(__props, { emit: __emit }) {
|
|
336
|
+
const emit = __emit;
|
|
337
|
+
const slots = computed(() => {
|
|
338
|
+
if (__props.pages <= 1) return [1];
|
|
339
|
+
const first = 1;
|
|
340
|
+
const last = __props.pages;
|
|
341
|
+
if (__props.pages <= __props.siblings * 2 + 5) return Array.from({ length: __props.pages }, (_, i) => i + 1);
|
|
342
|
+
const from = Math.max(2, __props.page - __props.siblings);
|
|
343
|
+
const to = Math.min(last - 1, __props.page + __props.siblings);
|
|
344
|
+
const out = [first];
|
|
345
|
+
if (from > 2) out.push(GAP);
|
|
346
|
+
for (let n = from; n <= to; n++) out.push(n);
|
|
347
|
+
if (to < last - 1) out.push(GAP);
|
|
348
|
+
if (last > first) out.push(last);
|
|
349
|
+
return out;
|
|
350
|
+
});
|
|
351
|
+
const go = (next) => {
|
|
352
|
+
if (next >= 1 && next <= __props.pages && next !== __props.page) emit("change", next);
|
|
353
|
+
};
|
|
354
|
+
return (_ctx, _cache) => {
|
|
355
|
+
return openBlock(), createElementBlock("nav", {
|
|
356
|
+
class: "rk-pager",
|
|
357
|
+
"aria-label": __props.label || void 0
|
|
358
|
+
}, [
|
|
359
|
+
createElementVNode("button", {
|
|
360
|
+
type: "button",
|
|
361
|
+
class: "rk-pager-step",
|
|
362
|
+
disabled: __props.page <= 1,
|
|
363
|
+
"aria-label": __props.previousLabel,
|
|
364
|
+
onClick: _cache[0] || (_cache[0] = ($event) => go(__props.page - 1))
|
|
365
|
+
}, " ‹ ", 8, _hoisted_2$3),
|
|
366
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(slots.value, (slot, index) => {
|
|
367
|
+
return openBlock(), createElementBlock(Fragment, { key: `${slot}-${index}` }, [slot === "gap" ? (openBlock(), createElementBlock("span", _hoisted_3$1, "…")) : (openBlock(), createElementBlock("button", {
|
|
368
|
+
key: 1,
|
|
369
|
+
type: "button",
|
|
370
|
+
class: normalizeClass(["rk-pager-page", { "is-active": slot === __props.page }]),
|
|
371
|
+
"aria-current": slot === __props.page ? "page" : void 0,
|
|
372
|
+
onClick: ($event) => go(slot)
|
|
373
|
+
}, toDisplayString(slot), 11, _hoisted_4))], 64);
|
|
374
|
+
}), 128)),
|
|
375
|
+
createElementVNode("button", {
|
|
376
|
+
type: "button",
|
|
377
|
+
class: "rk-pager-step",
|
|
378
|
+
disabled: __props.page >= __props.pages,
|
|
379
|
+
"aria-label": __props.nextLabel,
|
|
380
|
+
onClick: _cache[1] || (_cache[1] = ($event) => go(__props.page + 1))
|
|
381
|
+
}, " › ", 8, _hoisted_5)
|
|
382
|
+
], 8, _hoisted_1$3);
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
}), [["__scopeId", "data-v-cc4bbb58"]]);
|
|
386
|
+
//#endregion
|
|
387
|
+
//#region src/web/BaseTabs.vue?vue&type=script&setup=true&lang.ts
|
|
388
|
+
var _hoisted_1$2 = ["aria-label"];
|
|
389
|
+
var _hoisted_2$2 = [
|
|
390
|
+
"id",
|
|
391
|
+
"aria-selected",
|
|
392
|
+
"aria-controls",
|
|
393
|
+
"tabindex",
|
|
394
|
+
"onClick"
|
|
395
|
+
];
|
|
396
|
+
var _hoisted_3 = ["id", "aria-labelledby"];
|
|
397
|
+
//#endregion
|
|
398
|
+
//#region src/web/BaseTabs.vue
|
|
399
|
+
var BaseTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
400
|
+
__name: "BaseTabs",
|
|
401
|
+
props: /*@__PURE__*/ mergeModels({
|
|
402
|
+
items: {},
|
|
403
|
+
label: { default: "" }
|
|
404
|
+
}, {
|
|
405
|
+
"modelValue": { required: true },
|
|
406
|
+
"modelModifiers": {}
|
|
407
|
+
}),
|
|
408
|
+
emits: ["update:modelValue"],
|
|
409
|
+
setup(__props) {
|
|
410
|
+
const active = useModel(__props, "modelValue");
|
|
411
|
+
const uid = useId();
|
|
412
|
+
const tabs = ref([]);
|
|
413
|
+
const tabId = (key) => `${uid}-tab-${key}`;
|
|
414
|
+
const panelId = (key) => `${uid}-panel-${key}`;
|
|
415
|
+
function select(key, focus = false) {
|
|
416
|
+
active.value = key;
|
|
417
|
+
if (!focus) return;
|
|
418
|
+
const index = __props.items.findIndex((item) => item.key === key);
|
|
419
|
+
requestAnimationFrame(() => tabs.value[index]?.focus());
|
|
420
|
+
}
|
|
421
|
+
function onKeydown(event) {
|
|
422
|
+
const index = __props.items.findIndex((item) => item.key === active.value);
|
|
423
|
+
if (index < 0) return;
|
|
424
|
+
const last = __props.items.length - 1;
|
|
425
|
+
let next;
|
|
426
|
+
if (event.key === "ArrowRight") next = index === last ? 0 : index + 1;
|
|
427
|
+
else if (event.key === "ArrowLeft") next = index === 0 ? last : index - 1;
|
|
428
|
+
else if (event.key === "Home") next = 0;
|
|
429
|
+
else if (event.key === "End") next = last;
|
|
430
|
+
else return;
|
|
431
|
+
event.preventDefault();
|
|
432
|
+
const item = __props.items[next];
|
|
433
|
+
if (item) select(item.key, true);
|
|
434
|
+
}
|
|
435
|
+
return (_ctx, _cache) => {
|
|
436
|
+
return openBlock(), createElementBlock("div", null, [createElementVNode("div", {
|
|
437
|
+
class: "rk-tabs",
|
|
438
|
+
role: "tablist",
|
|
439
|
+
"aria-label": __props.label || void 0,
|
|
440
|
+
onKeydown
|
|
441
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
442
|
+
return openBlock(), createElementBlock("button", {
|
|
443
|
+
key: item.key,
|
|
444
|
+
ref_for: true,
|
|
445
|
+
ref_key: "tabs",
|
|
446
|
+
ref: tabs,
|
|
447
|
+
type: "button",
|
|
448
|
+
role: "tab",
|
|
449
|
+
class: normalizeClass(["rk-tab", { "is-active": item.key === active.value }]),
|
|
450
|
+
id: tabId(item.key),
|
|
451
|
+
"aria-selected": item.key === active.value,
|
|
452
|
+
"aria-controls": panelId(item.key),
|
|
453
|
+
tabindex: item.key === active.value ? 0 : -1,
|
|
454
|
+
onClick: ($event) => select(item.key)
|
|
455
|
+
}, toDisplayString(item.label), 11, _hoisted_2$2);
|
|
456
|
+
}), 128))], 40, _hoisted_1$2), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
457
|
+
return withDirectives((openBlock(), createElementBlock("div", {
|
|
458
|
+
key: item.key,
|
|
459
|
+
role: "tabpanel",
|
|
460
|
+
class: "rk-tabpanel",
|
|
461
|
+
id: panelId(item.key),
|
|
462
|
+
"aria-labelledby": tabId(item.key),
|
|
463
|
+
tabindex: "0"
|
|
464
|
+
}, [renderSlot(_ctx.$slots, "default", {
|
|
465
|
+
item,
|
|
466
|
+
active: active.value
|
|
467
|
+
}, void 0, true)], 8, _hoisted_3)), [[vShow, item.key === active.value]]);
|
|
468
|
+
}), 128))]);
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
}), [["__scopeId", "data-v-b854e7f5"]]);
|
|
472
|
+
//#endregion
|
|
473
|
+
//#region src/web/BaseTooltip.vue?vue&type=script&setup=true&lang.ts
|
|
474
|
+
var _hoisted_1$1 = { class: "rk-tip" };
|
|
475
|
+
var _hoisted_2$1 = ["id"];
|
|
476
|
+
//#endregion
|
|
477
|
+
//#region src/web/BaseTooltip.vue
|
|
478
|
+
var BaseTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
479
|
+
__name: "BaseTooltip",
|
|
480
|
+
props: {
|
|
481
|
+
label: {},
|
|
482
|
+
placement: { default: "top" }
|
|
483
|
+
},
|
|
484
|
+
setup(__props) {
|
|
485
|
+
const id = useId();
|
|
486
|
+
return (_ctx, _cache) => {
|
|
487
|
+
return openBlock(), createElementBlock("span", _hoisted_1$1, [renderSlot(_ctx.$slots, "default", { describedBy: unref(id) }, void 0, true), createElementVNode("span", {
|
|
488
|
+
id: unref(id),
|
|
489
|
+
role: "tooltip",
|
|
490
|
+
class: normalizeClass(["rk-tip-bubble", `is-${__props.placement}`])
|
|
491
|
+
}, toDisplayString(__props.label), 11, _hoisted_2$1)]);
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
}), [["__scopeId", "data-v-3ed61bd4"]]);
|
|
495
|
+
//#endregion
|
|
207
496
|
//#region src/web/NavLinks.vue?vue&type=script&setup=true&lang.ts
|
|
208
497
|
var _hoisted_1 = ["aria-label"];
|
|
498
|
+
var _hoisted_2 = { class: "rk-nav-inner" };
|
|
209
499
|
//#endregion
|
|
210
500
|
//#region src/web/NavLinks.vue
|
|
211
501
|
var NavLinks_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -217,10 +507,7 @@ var NavLinks_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
217
507
|
},
|
|
218
508
|
setup(__props) {
|
|
219
509
|
return (_ctx, _cache) => {
|
|
220
|
-
return openBlock(), createElementBlock("nav", {
|
|
221
|
-
class: "rk-nav",
|
|
222
|
-
"aria-label": __props.label || void 0
|
|
223
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
510
|
+
return openBlock(), createElementBlock("nav", { "aria-label": __props.label || void 0 }, [createElementVNode("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
224
511
|
return openBlock(), createBlock(unref(RouterLink), {
|
|
225
512
|
key: item.key,
|
|
226
513
|
to: item.to,
|
|
@@ -237,11 +524,11 @@ var NavLinks_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
237
524
|
"class",
|
|
238
525
|
"aria-current"
|
|
239
526
|
]);
|
|
240
|
-
}), 128))], 8, _hoisted_1);
|
|
527
|
+
}), 128))])], 8, _hoisted_1);
|
|
241
528
|
};
|
|
242
529
|
}
|
|
243
|
-
}), [["__scopeId", "data-v-
|
|
530
|
+
}), [["__scopeId", "data-v-5e640548"]]);
|
|
244
531
|
//#endregion
|
|
245
|
-
export { BaseAccordion_default as BaseAccordion, BaseModal_default as BaseModal, NavLinks_default as NavLinks };
|
|
532
|
+
export { BaseAccordion_default as BaseAccordion, BaseBreadcrumb_default as BaseBreadcrumb, BaseDisclosure_default as BaseDisclosure, BaseModal_default as BaseModal, BasePagination_default as BasePagination, BaseTabs_default as BaseTabs, BaseTooltip_default as BaseTooltip, NavLinks_default as NavLinks };
|
|
246
533
|
|
|
247
534
|
//# sourceMappingURL=web.js.map
|