rei-kit 2.21.0 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/{BaseListbox-Btibgnaf.js → BaseListbox-BrIZxUmx.js} +232 -4
- package/dist/BaseListbox-BrIZxUmx.js.map +1 -0
- package/dist/app/guards.d.ts +43 -1
- package/dist/app/index.d.ts +1 -1
- package/dist/app.js +55 -8
- package/dist/app.js.map +1 -1
- package/dist/components/AnnounceHost.vue.d.ts +3 -0
- package/dist/components/BaseCheckbox.vue.d.ts +19 -0
- package/dist/components/ErrorSummary.vue.d.ts +60 -0
- package/dist/components/FormField.vue.d.ts +6 -0
- package/dist/components/PasswordInput.vue.d.ts +63 -0
- package/dist/composables/use-announce.d.ts +65 -0
- package/dist/{BaseSheet-B7401rS7.js → focus-target-DRgd8UnQ.js} +195 -9
- package/dist/focus-target-DRgd8UnQ.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +541 -557
- package/dist/index.js.map +1 -1
- package/dist/motion.js +1 -1
- package/dist/motion.js.map +1 -1
- package/dist/styles.css +577 -500
- package/dist/{GoogleButton-mCqGbrXm.js → use-announce-qM0ZD9Ey.js} +59 -86
- package/dist/use-announce-qM0ZD9Ey.js.map +1 -0
- package/dist/utils/direction.d.ts +59 -0
- package/dist/utils/focus-target.d.ts +18 -0
- package/dist/web/SkipLink.vue.d.ts +43 -0
- package/dist/web/index.d.ts +6 -0
- package/dist/web.js +181 -157
- package/dist/web.js.map +1 -1
- package/package.json +2 -2
- package/dist/BaseListbox-Btibgnaf.js.map +0 -1
- package/dist/BaseSheet-B7401rS7.js.map +0 -1
- package/dist/GoogleButton-mCqGbrXm.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { a as addDays, c as lastNDays, d as toDateKey, f as todayKey, i as needsIosInstall, l as leadingBlanks, n as isApplePortable, o as eachDayOfYear, r as isInstalled, s as fromDateKey, t as SettingsGroup_default, u as startOfWeek } from "./SettingsGroup-BXkajKGl.js";
|
|
2
2
|
import { n as formatNumber, r as setFormatLocale, t as formatDate } from "./format-BEvBK1SJ.js";
|
|
3
|
-
import { a as
|
|
4
|
-
import { a as
|
|
3
|
+
import { a as BaseCheckbox_default, c as useBoundValue, d as ensureSheetRoot, i as textDirection, l as useVisualViewport, n as elementDirection, o as BaseSheet_default, r as horizontalStep, t as focusTarget, u as SHEET_ROOT_ID } from "./focus-target-DRgd8UnQ.js";
|
|
4
|
+
import { a as FormField_default, c as useOnline, d as readStoredTheme, f as setThemeStorageKey, g as toRedirectPath, h as safeRedirect, i as BaseInput_default, l as applyTheme, m as tapFeedback, n as useAnnounce, o as BaseAlert_default, p as useTheme, r as GoogleButton_default, s as useToast, t as announce, u as isThemePreference } from "./use-announce-qM0ZD9Ey.js";
|
|
5
5
|
import { n as registerErrorMapper, r as toAppError, t as AppError } from "./app-error-DF9cijE0.js";
|
|
6
|
-
import {
|
|
6
|
+
import { a as useMediaQuery, i as useMenuKeys, n as ScrollArea_default, o as useDragScroll, r as BaseSkeleton_default, t as BaseListbox_default } from "./BaseListbox-BrIZxUmx.js";
|
|
7
7
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
8
8
|
import { t as BaseButton_default } from "./BaseButton-RN2an975.js";
|
|
9
9
|
import { t as SettingsRow_default } from "./SettingsRow-Ct1p2C9Q.js";
|
|
10
10
|
import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onErrorCaptured, onMounted, onScopeDispose, openBlock, readonly, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, useId, useModel, useTemplateRef, vModelRadio, vModelSelect, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
11
|
-
import { ArrowDown, ArrowRight, ArrowUp, ArrowUpRight, CalendarDays, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Clock, Copy, Info, Minus, Paperclip, Plus, Star, TriangleAlert, Upload, X, XCircle } from "lucide-vue-next";
|
|
11
|
+
import { ArrowDown, ArrowRight, ArrowUp, ArrowUpRight, CalendarDays, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Clock, Copy, Eye, EyeOff, Info, Minus, Paperclip, Plus, Star, TriangleAlert, Upload, X, XCircle } from "lucide-vue-next";
|
|
12
12
|
import { RouterLink } from "vue-router";
|
|
13
13
|
import { createI18n } from "vue-i18n";
|
|
14
14
|
//#region src/utils/day-label.ts
|
|
@@ -271,94 +271,18 @@ function useDebouncedCallback(callback, delay = 800) {
|
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
273
|
//#endregion
|
|
274
|
-
//#region src/composables/use-drag-scroll.ts
|
|
275
|
-
/** Movement before a press counts as a drag rather than a tap. */
|
|
276
|
-
var DRAG_THRESHOLD_PX = 6;
|
|
277
|
-
/**
|
|
278
|
-
* Drag-to-scroll for a horizontally scrolling element.
|
|
279
|
-
*
|
|
280
|
-
* The app puts `touch-action: pan-y` on the page content so the tab-swipe
|
|
281
|
-
* gesture keeps its pointer events — the browser never claims a horizontal
|
|
282
|
-
* drag, which also means it never pans this element natively. Rather than give
|
|
283
|
-
* that up, horizontal scrolling is driven here.
|
|
284
|
-
*
|
|
285
|
-
* @param target - The scroll container.
|
|
286
|
-
* @returns `didDrag`, so a click handler can ignore the press that ended a drag.
|
|
287
|
-
*
|
|
288
|
-
* @example
|
|
289
|
-
* ```ts
|
|
290
|
-
* const scroller = ref<HTMLElement | null>(null)
|
|
291
|
-
* const { didDrag } = useDragScroll(scroller)
|
|
292
|
-
*
|
|
293
|
-
* function onClick() {
|
|
294
|
-
* if (didDrag()) return
|
|
295
|
-
* // …treat as a tap
|
|
296
|
-
* }
|
|
297
|
-
* ```
|
|
298
|
-
*/
|
|
299
|
-
function useDragScroll(target) {
|
|
300
|
-
let pointerId = null;
|
|
301
|
-
let startX = 0;
|
|
302
|
-
let startScroll = 0;
|
|
303
|
-
let dragged = false;
|
|
304
|
-
function onPointerDown(event) {
|
|
305
|
-
const element = target.value;
|
|
306
|
-
if (!element || event.pointerType === "mouse") return;
|
|
307
|
-
pointerId = event.pointerId;
|
|
308
|
-
startX = event.clientX;
|
|
309
|
-
startScroll = element.scrollLeft;
|
|
310
|
-
dragged = false;
|
|
311
|
-
}
|
|
312
|
-
function onPointerMove(event) {
|
|
313
|
-
const element = target.value;
|
|
314
|
-
if (!element || event.pointerId !== pointerId) return;
|
|
315
|
-
const dx = event.clientX - startX;
|
|
316
|
-
if (!dragged && Math.abs(dx) < DRAG_THRESHOLD_PX) return;
|
|
317
|
-
if (!dragged) {
|
|
318
|
-
dragged = true;
|
|
319
|
-
element.setPointerCapture(event.pointerId);
|
|
320
|
-
}
|
|
321
|
-
element.scrollLeft = startScroll - dx;
|
|
322
|
-
}
|
|
323
|
-
function onPointerUp(event) {
|
|
324
|
-
const element = target.value;
|
|
325
|
-
if (element?.hasPointerCapture(event.pointerId)) element.releasePointerCapture(event.pointerId);
|
|
326
|
-
pointerId = null;
|
|
327
|
-
}
|
|
328
|
-
function bind(element) {
|
|
329
|
-
element.addEventListener("pointerdown", onPointerDown);
|
|
330
|
-
element.addEventListener("pointermove", onPointerMove);
|
|
331
|
-
element.addEventListener("pointerup", onPointerUp);
|
|
332
|
-
element.addEventListener("pointercancel", onPointerUp);
|
|
333
|
-
}
|
|
334
|
-
function unbind(element) {
|
|
335
|
-
element.removeEventListener("pointerdown", onPointerDown);
|
|
336
|
-
element.removeEventListener("pointermove", onPointerMove);
|
|
337
|
-
element.removeEventListener("pointerup", onPointerUp);
|
|
338
|
-
element.removeEventListener("pointercancel", onPointerUp);
|
|
339
|
-
}
|
|
340
|
-
watch(target, (element, previous) => {
|
|
341
|
-
if (previous) unbind(previous);
|
|
342
|
-
if (element) bind(element);
|
|
343
|
-
}, { immediate: true });
|
|
344
|
-
onScopeDispose(() => {
|
|
345
|
-
if (target.value) unbind(target.value);
|
|
346
|
-
});
|
|
347
|
-
return { didDrag: () => dragged };
|
|
348
|
-
}
|
|
349
|
-
//#endregion
|
|
350
274
|
//#region src/components/BaseAvatar.vue?vue&type=script&setup=true&lang.ts
|
|
351
|
-
var _hoisted_1$
|
|
275
|
+
var _hoisted_1$49 = [
|
|
352
276
|
"role",
|
|
353
277
|
"aria-label",
|
|
354
278
|
"aria-hidden"
|
|
355
279
|
];
|
|
356
|
-
var _hoisted_2$
|
|
357
|
-
var _hoisted_3$
|
|
280
|
+
var _hoisted_2$43 = ["src"];
|
|
281
|
+
var _hoisted_3$29 = {
|
|
358
282
|
key: 1,
|
|
359
283
|
class: "rk-avatar-initials"
|
|
360
284
|
};
|
|
361
|
-
var _hoisted_4$
|
|
285
|
+
var _hoisted_4$20 = {
|
|
362
286
|
key: 2,
|
|
363
287
|
viewBox: "0 0 20 20",
|
|
364
288
|
class: "rk-avatar-figure",
|
|
@@ -404,7 +328,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
404
328
|
alt: "",
|
|
405
329
|
class: "rk-avatar-img",
|
|
406
330
|
onError: _cache[0] || (_cache[0] = ($event) => broken.value = true)
|
|
407
|
-
}, null, 40, _hoisted_2$
|
|
331
|
+
}, null, 40, _hoisted_2$43)) : __props.fallback === "initials" && initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$29, toDisplayString(initials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$20, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
|
|
408
332
|
cx: "10",
|
|
409
333
|
cy: "6.75",
|
|
410
334
|
r: "3.25",
|
|
@@ -413,7 +337,7 @@ var BaseAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
413
337
|
d: "M3.75 17c0-3.05 2.8-5.25 6.25-5.25S16.25 13.95 16.25 17",
|
|
414
338
|
"stroke-width": "1.5",
|
|
415
339
|
"stroke-linecap": "round"
|
|
416
|
-
}, null, -1)])]))], 10, _hoisted_1$
|
|
340
|
+
}, null, -1)])]))], 10, _hoisted_1$49);
|
|
417
341
|
};
|
|
418
342
|
}
|
|
419
343
|
}), [["__scopeId", "data-v-47586bec"]]);
|
|
@@ -438,12 +362,12 @@ var BaseBadge_default = /* @__PURE__ */ defineComponent({
|
|
|
438
362
|
});
|
|
439
363
|
//#endregion
|
|
440
364
|
//#region src/components/BaseMenu.vue?vue&type=script&setup=true&lang.ts
|
|
441
|
-
var _hoisted_1$
|
|
365
|
+
var _hoisted_1$48 = [
|
|
442
366
|
"aria-label",
|
|
443
367
|
"aria-expanded",
|
|
444
368
|
"aria-controls"
|
|
445
369
|
];
|
|
446
|
-
var _hoisted_2$
|
|
370
|
+
var _hoisted_2$42 = ["id"];
|
|
447
371
|
//#endregion
|
|
448
372
|
//#region src/components/BaseMenu.vue
|
|
449
373
|
var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -512,17 +436,17 @@ var BaseMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
512
436
|
"aria-haspopup": true,
|
|
513
437
|
"aria-controls": open.value ? unref(id) : void 0,
|
|
514
438
|
onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)
|
|
515
|
-
}, [renderSlot(_ctx.$slots, "trigger", { open: open.value }, void 0, true)], 8, _hoisted_1$
|
|
439
|
+
}, [renderSlot(_ctx.$slots, "trigger", { open: open.value }, void 0, true)], 8, _hoisted_1$48), open.value ? (openBlock(), createElementBlock("div", {
|
|
516
440
|
key: 0,
|
|
517
441
|
id: unref(id),
|
|
518
442
|
ref_key: "panel",
|
|
519
443
|
ref: panel,
|
|
520
444
|
class: normalizeClass(["rk-menu-panel surface-overlay", `is-${__props.align}`]),
|
|
521
445
|
role: "menu"
|
|
522
|
-
}, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$
|
|
446
|
+
}, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_2$42)) : createCommentVNode("", true)], 544);
|
|
523
447
|
};
|
|
524
448
|
}
|
|
525
|
-
}), [["__scopeId", "data-v-
|
|
449
|
+
}), [["__scopeId", "data-v-eaeecb75"]]);
|
|
526
450
|
//#endregion
|
|
527
451
|
//#region src/components/BaseCard.vue
|
|
528
452
|
var BaseCard_default = /* @__PURE__ */ defineComponent({
|
|
@@ -644,13 +568,13 @@ function useVirtualWindow({ count, rowHeight, threshold }) {
|
|
|
644
568
|
}
|
|
645
569
|
//#endregion
|
|
646
570
|
//#region src/components/BaseCombobox.vue?vue&type=script&setup=true&lang.ts
|
|
647
|
-
var _hoisted_1$
|
|
648
|
-
var _hoisted_2$
|
|
571
|
+
var _hoisted_1$47 = ["for"];
|
|
572
|
+
var _hoisted_2$41 = [
|
|
649
573
|
"aria-label",
|
|
650
574
|
"disabled",
|
|
651
575
|
"onClick"
|
|
652
576
|
];
|
|
653
|
-
var _hoisted_3$
|
|
577
|
+
var _hoisted_3$28 = [
|
|
654
578
|
"id",
|
|
655
579
|
"placeholder",
|
|
656
580
|
"disabled",
|
|
@@ -659,13 +583,13 @@ var _hoisted_3$26 = [
|
|
|
659
583
|
"aria-invalid",
|
|
660
584
|
"aria-describedby"
|
|
661
585
|
];
|
|
662
|
-
var _hoisted_4$
|
|
663
|
-
var _hoisted_5$
|
|
586
|
+
var _hoisted_4$19 = ["disabled"];
|
|
587
|
+
var _hoisted_5$11 = [
|
|
664
588
|
"aria-label",
|
|
665
589
|
"aria-multiselectable",
|
|
666
590
|
"aria-busy"
|
|
667
591
|
];
|
|
668
|
-
var _hoisted_6$
|
|
592
|
+
var _hoisted_6$7 = [
|
|
669
593
|
"id",
|
|
670
594
|
"aria-selected",
|
|
671
595
|
"aria-setsize",
|
|
@@ -881,7 +805,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
881
805
|
createElementVNode("label", {
|
|
882
806
|
for: unref(id),
|
|
883
807
|
class: "rk-combo-label"
|
|
884
|
-
}, toDisplayString(__props.label), 9, _hoisted_1$
|
|
808
|
+
}, toDisplayString(__props.label), 9, _hoisted_1$47),
|
|
885
809
|
createElementVNode("div", { class: normalizeClass(["rk-combo-field", multiple.value ? "is-multiple control" : ""]) }, [
|
|
886
810
|
(openBlock(true), createElementBlock(Fragment, null, renderList(multiple.value ? chosenOptions.value : [], (option) => {
|
|
887
811
|
return openBlock(), createElementBlock("span", {
|
|
@@ -894,7 +818,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
894
818
|
"aria-label": __props.removeLabel(option.label),
|
|
895
819
|
disabled: __props.disabled,
|
|
896
820
|
onClick: ($event) => remove(option.value)
|
|
897
|
-
}, " × ", 8, _hoisted_2$
|
|
821
|
+
}, " × ", 8, _hoisted_2$41)) : createCommentVNode("", true)]);
|
|
898
822
|
}), 128)),
|
|
899
823
|
withDirectives(createElementVNode("input", {
|
|
900
824
|
id: unref(id),
|
|
@@ -913,7 +837,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
913
837
|
"aria-describedby": describedBy.value,
|
|
914
838
|
onKeydown,
|
|
915
839
|
onFocus: _cache[1] || (_cache[1] = ($event) => open.value = true)
|
|
916
|
-
}, null, 42, _hoisted_3$
|
|
840
|
+
}, null, 42, _hoisted_3$28), [[vModelText, text.value]]),
|
|
917
841
|
createElementVNode("button", {
|
|
918
842
|
type: "button",
|
|
919
843
|
class: "rk-combo-toggle",
|
|
@@ -921,7 +845,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
921
845
|
"aria-hidden": "true",
|
|
922
846
|
disabled: __props.disabled,
|
|
923
847
|
onClick: _cache[2] || (_cache[2] = ($event) => open.value = !open.value)
|
|
924
|
-
}, " ▾ ", 8, _hoisted_4$
|
|
848
|
+
}, " ▾ ", 8, _hoisted_4$19)
|
|
925
849
|
], 2),
|
|
926
850
|
withDirectives(createElementVNode("ul", {
|
|
927
851
|
id: listId,
|
|
@@ -954,7 +878,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
954
878
|
"aria-posinset": row.index + 1,
|
|
955
879
|
onPointerdown: withModifiers(($event) => choose(row.option), ["prevent"]),
|
|
956
880
|
onPointermove: ($event) => highlighted.value = row.index
|
|
957
|
-
}, toDisplayString(row.option.label), 47, _hoisted_6$
|
|
881
|
+
}, toDisplayString(row.option.label), 47, _hoisted_6$7);
|
|
958
882
|
}), 128)),
|
|
959
883
|
unref(padBottom) > 0 ? (openBlock(), createElementBlock("li", {
|
|
960
884
|
key: 1,
|
|
@@ -968,7 +892,7 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
968
892
|
height: "0.75rem"
|
|
969
893
|
});
|
|
970
894
|
}), 64))])])) : matches.value.length === 0 ? (openBlock(), createElementBlock("li", _hoisted_10$3, toDisplayString(__props.emptyLabel), 1)) : createCommentVNode("", true)
|
|
971
|
-
], 40, _hoisted_5$
|
|
895
|
+
], 40, _hoisted_5$11), [[vShow, open.value]]),
|
|
972
896
|
__props.error ? (openBlock(), createElementBlock("p", {
|
|
973
897
|
key: 0,
|
|
974
898
|
id: errorId,
|
|
@@ -981,16 +905,16 @@ var BaseCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
981
905
|
], 512);
|
|
982
906
|
};
|
|
983
907
|
}
|
|
984
|
-
}), [["__scopeId", "data-v-
|
|
908
|
+
}), [["__scopeId", "data-v-0ae3b425"]]);
|
|
985
909
|
//#endregion
|
|
986
910
|
//#region src/components/BaseRadioGroup.vue?vue&type=script&setup=true&lang.ts
|
|
987
|
-
var _hoisted_1$
|
|
988
|
-
var _hoisted_2$
|
|
911
|
+
var _hoisted_1$46 = ["aria-describedby"];
|
|
912
|
+
var _hoisted_2$40 = [
|
|
989
913
|
"name",
|
|
990
914
|
"value",
|
|
991
915
|
"disabled"
|
|
992
916
|
];
|
|
993
|
-
var _hoisted_3$
|
|
917
|
+
var _hoisted_3$27 = { class: "text-ink text-sm" };
|
|
994
918
|
//#endregion
|
|
995
919
|
//#region src/components/BaseRadioGroup.vue
|
|
996
920
|
var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1034,7 +958,7 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
1034
958
|
value: option.value,
|
|
1035
959
|
disabled: option.disabled,
|
|
1036
960
|
class: "accent-primary focus-visible:outline-primary size-4 shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2"
|
|
1037
|
-
}, null, 8, _hoisted_2$
|
|
961
|
+
}, null, 8, _hoisted_2$40), [[vModelRadio, unref(model)]]), createElementVNode("span", _hoisted_3$27, toDisplayString(option.label), 1)], 2);
|
|
1038
962
|
}), 128)),
|
|
1039
963
|
__props.error ? (openBlock(), createElementBlock("p", {
|
|
1040
964
|
key: 0,
|
|
@@ -1045,24 +969,24 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
1045
969
|
id: hintId,
|
|
1046
970
|
class: "text-ink-soft text-xs"
|
|
1047
971
|
}, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
|
|
1048
|
-
], 8, _hoisted_1$
|
|
972
|
+
], 8, _hoisted_1$46);
|
|
1049
973
|
};
|
|
1050
974
|
}
|
|
1051
975
|
});
|
|
1052
976
|
//#endregion
|
|
1053
977
|
//#region src/components/BaseSelect.vue?vue&type=script&setup=true&lang.ts
|
|
1054
|
-
var _hoisted_1$
|
|
1055
|
-
var _hoisted_2$
|
|
978
|
+
var _hoisted_1$45 = { class: "relative" };
|
|
979
|
+
var _hoisted_2$39 = [
|
|
1056
980
|
"id",
|
|
1057
981
|
"aria-invalid",
|
|
1058
982
|
"aria-describedby"
|
|
1059
983
|
];
|
|
1060
|
-
var _hoisted_3$
|
|
984
|
+
var _hoisted_3$26 = {
|
|
1061
985
|
key: 0,
|
|
1062
986
|
value: void 0,
|
|
1063
987
|
disabled: ""
|
|
1064
988
|
};
|
|
1065
|
-
var _hoisted_4$
|
|
989
|
+
var _hoisted_4$18 = ["value", "disabled"];
|
|
1066
990
|
//#endregion
|
|
1067
991
|
//#region src/components/BaseSelect.vue
|
|
1068
992
|
var BaseSelect_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1098,7 +1022,7 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
1098
1022
|
"label-hidden": __props.labelHidden,
|
|
1099
1023
|
size: __props.size
|
|
1100
1024
|
}, {
|
|
1101
|
-
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$
|
|
1025
|
+
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$45, [withDirectives(createElementVNode("select", {
|
|
1102
1026
|
id,
|
|
1103
1027
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
1104
1028
|
"aria-invalid": invalid,
|
|
@@ -1108,13 +1032,13 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
1108
1032
|
__props.variant === "unstyled" ? "" : SIZE_CLASS[__props.size],
|
|
1109
1033
|
__props.variant !== "unstyled" && invalid ? "border-negative" : ""
|
|
1110
1034
|
]])
|
|
1111
|
-
}, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_3$
|
|
1035
|
+
}, [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_3$26, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
1112
1036
|
return openBlock(), createElementBlock("option", {
|
|
1113
1037
|
key: option.value,
|
|
1114
1038
|
value: option.value,
|
|
1115
1039
|
disabled: option.disabled
|
|
1116
|
-
}, toDisplayString(option.label), 9, _hoisted_4$
|
|
1117
|
-
}), 128))], 10, _hoisted_2$
|
|
1040
|
+
}, toDisplayString(option.label), 9, _hoisted_4$18);
|
|
1041
|
+
}), 128))], 10, _hoisted_2$39), [[vModelSelect, model.value]]), createVNode(unref(ChevronDown), {
|
|
1118
1042
|
class: "text-ink-soft pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2",
|
|
1119
1043
|
"aria-hidden": "true"
|
|
1120
1044
|
})])]),
|
|
@@ -1131,11 +1055,11 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
1131
1055
|
});
|
|
1132
1056
|
//#endregion
|
|
1133
1057
|
//#region src/components/BaseSlider.vue?vue&type=script&setup=true&lang.ts
|
|
1134
|
-
var _hoisted_1$
|
|
1135
|
-
var _hoisted_2$
|
|
1136
|
-
var _hoisted_3$
|
|
1137
|
-
var _hoisted_4$
|
|
1138
|
-
var _hoisted_5$
|
|
1058
|
+
var _hoisted_1$44 = { class: "rk-slider" };
|
|
1059
|
+
var _hoisted_2$38 = { class: "rk-slider-head" };
|
|
1060
|
+
var _hoisted_3$25 = ["for"];
|
|
1061
|
+
var _hoisted_4$17 = ["for"];
|
|
1062
|
+
var _hoisted_5$10 = [
|
|
1139
1063
|
"id",
|
|
1140
1064
|
"min",
|
|
1141
1065
|
"max",
|
|
@@ -1179,15 +1103,15 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1179
1103
|
return span <= 0 ? 0 : (model.value - __props.min) / span * 100;
|
|
1180
1104
|
});
|
|
1181
1105
|
return (_ctx, _cache) => {
|
|
1182
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1183
|
-
createElementVNode("div", _hoisted_2$
|
|
1106
|
+
return openBlock(), createElementBlock("div", _hoisted_1$44, [
|
|
1107
|
+
createElementVNode("div", _hoisted_2$38, [createElementVNode("label", {
|
|
1184
1108
|
for: unref(id),
|
|
1185
1109
|
class: "rk-slider-label"
|
|
1186
|
-
}, toDisplayString(__props.label), 9, _hoisted_3$
|
|
1110
|
+
}, toDisplayString(__props.label), 9, _hoisted_3$25), __props.showValue ? (openBlock(), createElementBlock("output", {
|
|
1187
1111
|
key: 0,
|
|
1188
1112
|
for: unref(id),
|
|
1189
1113
|
class: "rk-slider-value"
|
|
1190
|
-
}, toDisplayString(text.value), 9, _hoisted_4$
|
|
1114
|
+
}, toDisplayString(text.value), 9, _hoisted_4$17)) : createCommentVNode("", true)]),
|
|
1191
1115
|
withDirectives(createElementVNode("input", {
|
|
1192
1116
|
id: unref(id),
|
|
1193
1117
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
@@ -1200,7 +1124,7 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1200
1124
|
"aria-valuetext": text.value,
|
|
1201
1125
|
"aria-describedby": __props.hint ? hintId : void 0,
|
|
1202
1126
|
style: normalizeStyle({ "--rk-slider-filled": `${filled.value}%` })
|
|
1203
|
-
}, null, 12, _hoisted_5$
|
|
1127
|
+
}, null, 12, _hoisted_5$10), [[
|
|
1204
1128
|
vModelText,
|
|
1205
1129
|
model.value,
|
|
1206
1130
|
void 0,
|
|
@@ -1214,11 +1138,11 @@ var BaseSlider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1214
1138
|
]);
|
|
1215
1139
|
};
|
|
1216
1140
|
}
|
|
1217
|
-
}), [["__scopeId", "data-v-
|
|
1141
|
+
}), [["__scopeId", "data-v-8f8ae87b"]]);
|
|
1218
1142
|
//#endregion
|
|
1219
1143
|
//#region src/components/NumberInput.vue?vue&type=script&setup=true&lang.ts
|
|
1220
|
-
var _hoisted_1$
|
|
1221
|
-
var _hoisted_2$
|
|
1144
|
+
var _hoisted_1$43 = ["aria-label", "disabled"];
|
|
1145
|
+
var _hoisted_2$37 = [
|
|
1222
1146
|
"id",
|
|
1223
1147
|
"value",
|
|
1224
1148
|
"aria-valuenow",
|
|
@@ -1228,7 +1152,7 @@ var _hoisted_2$35 = [
|
|
|
1228
1152
|
"aria-describedby",
|
|
1229
1153
|
"disabled"
|
|
1230
1154
|
];
|
|
1231
|
-
var _hoisted_3$
|
|
1155
|
+
var _hoisted_3$24 = ["aria-label", "disabled"];
|
|
1232
1156
|
//#endregion
|
|
1233
1157
|
//#region src/components/NumberInput.vue
|
|
1234
1158
|
var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -1331,7 +1255,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1331
1255
|
}, [createVNode(unref(Minus), {
|
|
1332
1256
|
class: "size-4",
|
|
1333
1257
|
"aria-hidden": "true"
|
|
1334
|
-
})], 8, _hoisted_1$
|
|
1258
|
+
})], 8, _hoisted_1$43),
|
|
1335
1259
|
createElementVNode("input", {
|
|
1336
1260
|
id,
|
|
1337
1261
|
value: draft.value,
|
|
@@ -1349,7 +1273,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1349
1273
|
onInput,
|
|
1350
1274
|
onBlur: commit,
|
|
1351
1275
|
onKeydown
|
|
1352
|
-
}, null, 40, _hoisted_2$
|
|
1276
|
+
}, null, 40, _hoisted_2$37),
|
|
1353
1277
|
createElementVNode("button", {
|
|
1354
1278
|
type: "button",
|
|
1355
1279
|
class: "rk-number-step focus-ring",
|
|
@@ -1360,7 +1284,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1360
1284
|
}, [createVNode(unref(Plus), {
|
|
1361
1285
|
class: "size-4",
|
|
1362
1286
|
"aria-hidden": "true"
|
|
1363
|
-
})], 8, _hoisted_3$
|
|
1287
|
+
})], 8, _hoisted_3$24)
|
|
1364
1288
|
], 2)]),
|
|
1365
1289
|
_: 1
|
|
1366
1290
|
}, 8, [
|
|
@@ -1375,7 +1299,7 @@ var NumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1375
1299
|
}), [["__scopeId", "data-v-082bd3d7"]]);
|
|
1376
1300
|
//#endregion
|
|
1377
1301
|
//#region src/components/SliderField.vue?vue&type=script&setup=true&lang.ts
|
|
1378
|
-
var _hoisted_1$
|
|
1302
|
+
var _hoisted_1$42 = { class: "rk-slider-field" };
|
|
1379
1303
|
//#endregion
|
|
1380
1304
|
//#region src/components/SliderField.vue
|
|
1381
1305
|
var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -1416,7 +1340,7 @@ var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1416
1340
|
}
|
|
1417
1341
|
});
|
|
1418
1342
|
return (_ctx, _cache) => {
|
|
1419
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1343
|
+
return openBlock(), createElementBlock("div", _hoisted_1$42, [createVNode(BaseSlider_default, {
|
|
1420
1344
|
modelValue: model.value,
|
|
1421
1345
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
1422
1346
|
label: __props.label,
|
|
@@ -1464,11 +1388,11 @@ var SliderField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1464
1388
|
}), [["__scopeId", "data-v-6ec3163a"]]);
|
|
1465
1389
|
//#endregion
|
|
1466
1390
|
//#region src/components/BaseSpinner.vue?vue&type=script&setup=true&lang.ts
|
|
1467
|
-
var _hoisted_1$
|
|
1391
|
+
var _hoisted_1$41 = {
|
|
1468
1392
|
class: "rk-spin-wrap",
|
|
1469
1393
|
role: "status"
|
|
1470
1394
|
};
|
|
1471
|
-
var _hoisted_2$
|
|
1395
|
+
var _hoisted_2$36 = { class: "rk-spin-label" };
|
|
1472
1396
|
//#endregion
|
|
1473
1397
|
//#region src/components/BaseSpinner.vue
|
|
1474
1398
|
var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -1496,26 +1420,26 @@ var BaseSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
1496
1420
|
lg: "2.5rem"
|
|
1497
1421
|
};
|
|
1498
1422
|
return (_ctx, _cache) => {
|
|
1499
|
-
return openBlock(), createElementBlock("span", _hoisted_1$
|
|
1423
|
+
return openBlock(), createElementBlock("span", _hoisted_1$41, [createElementVNode("span", {
|
|
1500
1424
|
class: "rk-spin",
|
|
1501
1425
|
style: normalizeStyle({
|
|
1502
1426
|
width: SIZES[__props.size],
|
|
1503
1427
|
height: SIZES[__props.size]
|
|
1504
1428
|
}),
|
|
1505
1429
|
"aria-hidden": "true"
|
|
1506
|
-
}, null, 4), createElementVNode("span", _hoisted_2$
|
|
1430
|
+
}, null, 4), createElementVNode("span", _hoisted_2$36, toDisplayString(__props.label), 1)]);
|
|
1507
1431
|
};
|
|
1508
1432
|
}
|
|
1509
1433
|
}), [["__scopeId", "data-v-842da62c"]]);
|
|
1510
1434
|
//#endregion
|
|
1511
1435
|
//#region src/components/BaseSwitch.vue?vue&type=script&setup=true&lang.ts
|
|
1512
|
-
var _hoisted_1$
|
|
1513
|
-
var _hoisted_2$
|
|
1436
|
+
var _hoisted_1$40 = { class: "flex items-center justify-between gap-4" };
|
|
1437
|
+
var _hoisted_2$35 = {
|
|
1514
1438
|
key: 0,
|
|
1515
1439
|
class: "min-w-0"
|
|
1516
1440
|
};
|
|
1517
|
-
var _hoisted_3$
|
|
1518
|
-
var _hoisted_4$
|
|
1441
|
+
var _hoisted_3$23 = ["id"];
|
|
1442
|
+
var _hoisted_4$16 = [
|
|
1519
1443
|
"aria-checked",
|
|
1520
1444
|
"aria-labelledby",
|
|
1521
1445
|
"aria-label",
|
|
@@ -1554,10 +1478,10 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1554
1478
|
if (!__props.disabled) model.value = !model.value;
|
|
1555
1479
|
}
|
|
1556
1480
|
return (_ctx, _cache) => {
|
|
1557
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1481
|
+
return openBlock(), createElementBlock("div", _hoisted_1$40, [!__props.labelHidden ? (openBlock(), createElementBlock("span", _hoisted_2$35, [createElementVNode("span", {
|
|
1558
1482
|
id: unref(id),
|
|
1559
1483
|
class: "text-ink block text-sm"
|
|
1560
|
-
}, toDisplayString(__props.label), 9, _hoisted_3$
|
|
1484
|
+
}, toDisplayString(__props.label), 9, _hoisted_3$23), __props.hint ? (openBlock(), createElementBlock("span", {
|
|
1561
1485
|
key: 0,
|
|
1562
1486
|
id: hintId,
|
|
1563
1487
|
class: "text-ink-soft mt-0.5 block text-xs"
|
|
@@ -1574,17 +1498,16 @@ var BaseSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1574
1498
|
}, [..._cache[0] || (_cache[0] = [createElementVNode("span", {
|
|
1575
1499
|
class: "rk-switch-knob",
|
|
1576
1500
|
"aria-hidden": "true"
|
|
1577
|
-
}, null, -1)])], 10, _hoisted_4$
|
|
1501
|
+
}, null, -1)])], 10, _hoisted_4$16)]);
|
|
1578
1502
|
};
|
|
1579
1503
|
}
|
|
1580
|
-
}), [["__scopeId", "data-v-
|
|
1504
|
+
}), [["__scopeId", "data-v-d90e1aa6"]]);
|
|
1581
1505
|
//#endregion
|
|
1582
1506
|
//#region src/components/BaseTable.vue?vue&type=script&setup=true&lang.ts
|
|
1583
|
-
var _hoisted_1$
|
|
1584
|
-
var _hoisted_2$
|
|
1585
|
-
var _hoisted_3$
|
|
1586
|
-
var _hoisted_4$
|
|
1587
|
-
var _hoisted_5$11 = ["colspan"];
|
|
1507
|
+
var _hoisted_1$39 = { class: "rk-table" };
|
|
1508
|
+
var _hoisted_2$34 = { key: 0 };
|
|
1509
|
+
var _hoisted_3$22 = { key: 1 };
|
|
1510
|
+
var _hoisted_4$15 = ["colspan"];
|
|
1588
1511
|
//#endregion
|
|
1589
1512
|
//#region src/components/BaseTable.vue
|
|
1590
1513
|
var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -1602,41 +1525,43 @@ var BaseTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
1602
1525
|
setup(__props) {
|
|
1603
1526
|
const keyFor = (row, index) => __props.rowKey ? String(row[__props.rowKey]) : index;
|
|
1604
1527
|
return (_ctx, _cache) => {
|
|
1605
|
-
return openBlock(),
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
key: column.key,
|
|
1615
|
-
scope: "col",
|
|
1616
|
-
class: normalizeClass([column.align && `is-${column.align}`, column.nowrap && "is-nowrap"])
|
|
1617
|
-
}, toDisplayString(column.label), 3);
|
|
1618
|
-
}), 128))])]),
|
|
1619
|
-
__props.rows.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_3$20, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
|
|
1620
|
-
return openBlock(), createElementBlock("tr", { key: keyFor(row, index) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
1621
|
-
return openBlock(), createElementBlock("td", {
|
|
1528
|
+
return openBlock(), createBlock(ScrollArea_default, {
|
|
1529
|
+
axis: "x",
|
|
1530
|
+
label: __props.caption,
|
|
1531
|
+
class: "rk-table-scroll"
|
|
1532
|
+
}, {
|
|
1533
|
+
default: withCtx(() => [createElementVNode("table", _hoisted_1$39, [
|
|
1534
|
+
createElementVNode("caption", { class: normalizeClass(__props.captionHidden ? "rk-table-caption-hidden" : "rk-table-caption") }, toDisplayString(__props.caption), 3),
|
|
1535
|
+
createElementVNode("thead", null, [createElementVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
1536
|
+
return openBlock(), createElementBlock("th", {
|
|
1622
1537
|
key: column.key,
|
|
1538
|
+
scope: "col",
|
|
1623
1539
|
class: normalizeClass([column.align && `is-${column.align}`, column.nowrap && "is-nowrap"])
|
|
1624
|
-
},
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1540
|
+
}, toDisplayString(column.label), 3);
|
|
1541
|
+
}), 128))])]),
|
|
1542
|
+
__props.rows.length > 0 ? (openBlock(), createElementBlock("tbody", _hoisted_2$34, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
|
|
1543
|
+
return openBlock(), createElementBlock("tr", { key: keyFor(row, index) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
1544
|
+
return openBlock(), createElementBlock("td", {
|
|
1545
|
+
key: column.key,
|
|
1546
|
+
class: normalizeClass([column.align && `is-${column.align}`, column.nowrap && "is-nowrap"])
|
|
1547
|
+
}, [renderSlot(_ctx.$slots, column.key, {
|
|
1548
|
+
row,
|
|
1549
|
+
value: row[column.key]
|
|
1550
|
+
}, () => [createTextVNode(toDisplayString(row[column.key]), 1)], true)], 2);
|
|
1551
|
+
}), 128))]);
|
|
1552
|
+
}), 128))])) : (openBlock(), createElementBlock("tbody", _hoisted_3$22, [createElementVNode("tr", null, [createElementVNode("td", {
|
|
1553
|
+
colspan: __props.columns.length,
|
|
1554
|
+
class: "rk-table-empty"
|
|
1555
|
+
}, [renderSlot(_ctx.$slots, "empty", {}, void 0, true)], 8, _hoisted_4$15)])]))
|
|
1556
|
+
])]),
|
|
1557
|
+
_: 3
|
|
1558
|
+
}, 8, ["label"]);
|
|
1634
1559
|
};
|
|
1635
1560
|
}
|
|
1636
|
-
}), [["__scopeId", "data-v-
|
|
1561
|
+
}), [["__scopeId", "data-v-cc1197ef"]]);
|
|
1637
1562
|
//#endregion
|
|
1638
1563
|
//#region src/components/BaseTextarea.vue?vue&type=script&setup=true&lang.ts
|
|
1639
|
-
var _hoisted_1$
|
|
1564
|
+
var _hoisted_1$38 = [
|
|
1640
1565
|
"id",
|
|
1641
1566
|
"rows",
|
|
1642
1567
|
"aria-invalid",
|
|
@@ -1682,7 +1607,7 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
|
|
|
1682
1607
|
__props.variant === "unstyled" ? "" : "control text-ink rounded-card focus-visible:outline-primary resize-y px-3 py-2 leading-relaxed focus-visible:outline-2 focus-visible:outline-offset-1",
|
|
1683
1608
|
"text-base",
|
|
1684
1609
|
__props.variant !== "unstyled" && invalid ? "border-negative" : ""
|
|
1685
|
-
] }), null, 16, _hoisted_1$
|
|
1610
|
+
] }), null, 16, _hoisted_1$38), [[vModelText, unref(model)]])]),
|
|
1686
1611
|
_: 1
|
|
1687
1612
|
}, 8, [
|
|
1688
1613
|
"label",
|
|
@@ -1696,17 +1621,17 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
|
|
|
1696
1621
|
});
|
|
1697
1622
|
//#endregion
|
|
1698
1623
|
//#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
|
|
1699
|
-
var _hoisted_1$
|
|
1700
|
-
var _hoisted_2$
|
|
1624
|
+
var _hoisted_1$37 = { class: "flex flex-col items-center gap-3 px-6 py-10 text-center" };
|
|
1625
|
+
var _hoisted_2$33 = {
|
|
1701
1626
|
key: 0,
|
|
1702
1627
|
class: "bg-muted text-primary rounded-card flex size-12 items-center justify-center"
|
|
1703
1628
|
};
|
|
1704
|
-
var _hoisted_3$
|
|
1705
|
-
var _hoisted_4$
|
|
1629
|
+
var _hoisted_3$21 = { class: "text-ink text-base font-semibold" };
|
|
1630
|
+
var _hoisted_4$14 = {
|
|
1706
1631
|
key: 1,
|
|
1707
1632
|
class: "text-ink-soft max-w-[36ch] text-sm"
|
|
1708
1633
|
};
|
|
1709
|
-
var _hoisted_5$
|
|
1634
|
+
var _hoisted_5$9 = {
|
|
1710
1635
|
key: 2,
|
|
1711
1636
|
class: "mt-2 flex w-full flex-col gap-2"
|
|
1712
1637
|
};
|
|
@@ -1728,11 +1653,11 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
|
|
|
1728
1653
|
* goes — the button that creates the first one.
|
|
1729
1654
|
*/
|
|
1730
1655
|
return (_ctx, _cache) => {
|
|
1731
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1732
|
-
_ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
1733
|
-
createElementVNode("h3", _hoisted_3$
|
|
1734
|
-
__props.description ? (openBlock(), createElementBlock("p", _hoisted_4$
|
|
1735
|
-
_ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
1656
|
+
return openBlock(), createElementBlock("div", _hoisted_1$37, [
|
|
1657
|
+
_ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_2$33, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
|
|
1658
|
+
createElementVNode("h3", _hoisted_3$21, toDisplayString(__props.title), 1),
|
|
1659
|
+
__props.description ? (openBlock(), createElementBlock("p", _hoisted_4$14, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
|
|
1660
|
+
_ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_5$9, [renderSlot(_ctx.$slots, "action")])) : createCommentVNode("", true)
|
|
1736
1661
|
]);
|
|
1737
1662
|
};
|
|
1738
1663
|
}
|
|
@@ -1799,11 +1724,11 @@ var PageContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1799
1724
|
});
|
|
1800
1725
|
//#endregion
|
|
1801
1726
|
//#region src/components/PageHeader.vue?vue&type=script&setup=true&lang.ts
|
|
1802
|
-
var _hoisted_1$
|
|
1803
|
-
var _hoisted_2$
|
|
1804
|
-
var _hoisted_3$
|
|
1805
|
-
var _hoisted_4$
|
|
1806
|
-
var _hoisted_5$
|
|
1727
|
+
var _hoisted_1$36 = { class: "grid h-12 shrink-0 grid-cols-[2.5rem_1fr_2.5rem] items-center" };
|
|
1728
|
+
var _hoisted_2$32 = { class: "justify-self-start" };
|
|
1729
|
+
var _hoisted_3$20 = { class: "text-ink flex min-w-0 justify-center text-base font-semibold tabular-nums" };
|
|
1730
|
+
var _hoisted_4$13 = { class: "truncate" };
|
|
1731
|
+
var _hoisted_5$8 = { class: "justify-self-end" };
|
|
1807
1732
|
//#endregion
|
|
1808
1733
|
//#region src/components/PageHeader.vue
|
|
1809
1734
|
var PageHeader_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1820,17 +1745,17 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
|
|
|
1820
1745
|
* each other.
|
|
1821
1746
|
*/
|
|
1822
1747
|
return (_ctx, _cache) => {
|
|
1823
|
-
return openBlock(), createElementBlock("header", _hoisted_1$
|
|
1824
|
-
createElementVNode("div", _hoisted_2$
|
|
1825
|
-
createElementVNode("h1", _hoisted_3$
|
|
1826
|
-
createElementVNode("div", _hoisted_5$
|
|
1748
|
+
return openBlock(), createElementBlock("header", _hoisted_1$36, [
|
|
1749
|
+
createElementVNode("div", _hoisted_2$32, [renderSlot(_ctx.$slots, "left")]),
|
|
1750
|
+
createElementVNode("h1", _hoisted_3$20, [renderSlot(_ctx.$slots, "title", {}, () => [createElementVNode("span", _hoisted_4$13, toDisplayString(__props.title), 1)])]),
|
|
1751
|
+
createElementVNode("div", _hoisted_5$8, [renderSlot(_ctx.$slots, "right")])
|
|
1827
1752
|
]);
|
|
1828
1753
|
};
|
|
1829
1754
|
}
|
|
1830
1755
|
});
|
|
1831
1756
|
//#endregion
|
|
1832
1757
|
//#region src/components/ProgressBar.vue?vue&type=script&setup=true&lang.ts
|
|
1833
|
-
var _hoisted_1$
|
|
1758
|
+
var _hoisted_1$35 = ["aria-valuenow", "aria-label"];
|
|
1834
1759
|
//#endregion
|
|
1835
1760
|
//#region src/components/ProgressBar.vue
|
|
1836
1761
|
var ProgressBar_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1862,24 +1787,24 @@ var ProgressBar_default = /* @__PURE__ */ defineComponent({
|
|
|
1862
1787
|
}, [createElementVNode("div", {
|
|
1863
1788
|
class: "bg-primary h-full rounded-full transition-[width] duration-700 ease-out",
|
|
1864
1789
|
style: normalizeStyle({ width: `${portion.value}%` })
|
|
1865
|
-
}, null, 4)], 10, _hoisted_1$
|
|
1790
|
+
}, null, 4)], 10, _hoisted_1$35);
|
|
1866
1791
|
};
|
|
1867
1792
|
}
|
|
1868
1793
|
});
|
|
1869
1794
|
//#endregion
|
|
1870
1795
|
//#region src/components/PriceCard.vue?vue&type=script&setup=true&lang.ts
|
|
1871
|
-
var _hoisted_1$
|
|
1796
|
+
var _hoisted_1$34 = {
|
|
1872
1797
|
key: 0,
|
|
1873
1798
|
class: "bg-primary rounded-cell text-on-primary absolute -top-3 left-7 px-3 py-1 text-[0.7rem] font-semibold"
|
|
1874
1799
|
};
|
|
1875
|
-
var _hoisted_2$
|
|
1876
|
-
var _hoisted_3$
|
|
1877
|
-
var _hoisted_4$
|
|
1800
|
+
var _hoisted_2$31 = { class: "flex items-start justify-between gap-4" };
|
|
1801
|
+
var _hoisted_3$19 = { class: "text-ink mt-5 text-lg font-semibold" };
|
|
1802
|
+
var _hoisted_4$12 = {
|
|
1878
1803
|
key: 1,
|
|
1879
1804
|
class: "text-ink-soft mt-1.5 text-sm leading-relaxed"
|
|
1880
1805
|
};
|
|
1881
|
-
var _hoisted_5$
|
|
1882
|
-
var _hoisted_6$
|
|
1806
|
+
var _hoisted_5$7 = { class: "mt-6 flex items-baseline gap-1.5" };
|
|
1807
|
+
var _hoisted_6$6 = { class: "text-ink text-3xl font-semibold tracking-tight tabular-nums" };
|
|
1883
1808
|
var _hoisted_7$3 = {
|
|
1884
1809
|
key: 0,
|
|
1885
1810
|
class: "text-ink-soft text-sm"
|
|
@@ -1943,17 +1868,17 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
1943
1868
|
const palette = computed(() => TONE[__props.tone]);
|
|
1944
1869
|
return (_ctx, _cache) => {
|
|
1945
1870
|
return openBlock(), createElementBlock("article", { class: normalizeClass(["surface rounded-card ease-standard relative flex h-full flex-col p-7 transition-[border-color,box-shadow,transform] duration-(--duration-slower) hover:[--surface-border-color:color-mix(in_oklab,var(--color-primary)_60%,transparent)] hover:[--surface-shadow:var(--shadow-raised)] sm:p-8", [palette.value.ring, __props.recommended ? "[--surface-shadow:var(--shadow-raised)]" : "hover:-translate-y-0.5"]]) }, [
|
|
1946
|
-
__props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
1947
|
-
createElementVNode("div", _hoisted_2$
|
|
1871
|
+
__props.badge && __props.recommended ? (openBlock(), createElementBlock("span", _hoisted_1$34, toDisplayString(__props.badge), 1)) : createCommentVNode("", true),
|
|
1872
|
+
createElementVNode("div", _hoisted_2$31, [_ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
|
|
1948
1873
|
key: 0,
|
|
1949
1874
|
class: normalizeClass(["rounded-card grid size-11 place-items-center text-xl", palette.value.icon])
|
|
1950
1875
|
}, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true), __props.chip ? (openBlock(), createElementBlock("span", {
|
|
1951
1876
|
key: 1,
|
|
1952
1877
|
class: normalizeClass(["rounded-cell ml-auto px-2.5 py-1 text-[0.7rem] font-medium", palette.value.soft])
|
|
1953
1878
|
}, toDisplayString(__props.chip), 3)) : createCommentVNode("", true)]),
|
|
1954
|
-
createElementVNode("h3", _hoisted_3$
|
|
1955
|
-
__props.lead ? (openBlock(), createElementBlock("p", _hoisted_4$
|
|
1956
|
-
createElementVNode("p", _hoisted_5$
|
|
1879
|
+
createElementVNode("h3", _hoisted_3$19, toDisplayString(__props.name), 1),
|
|
1880
|
+
__props.lead ? (openBlock(), createElementBlock("p", _hoisted_4$12, toDisplayString(__props.lead), 1)) : createCommentVNode("", true),
|
|
1881
|
+
createElementVNode("p", _hoisted_5$7, [createElementVNode("span", _hoisted_6$6, toDisplayString(__props.price), 1), __props.period ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(__props.period), 1)) : createCommentVNode("", true)]),
|
|
1957
1882
|
__props.note ? (openBlock(), createElementBlock("p", _hoisted_8$2, toDisplayString(__props.note), 1)) : createCommentVNode("", true),
|
|
1958
1883
|
createElementVNode("ul", _hoisted_9$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.features, (feature) => {
|
|
1959
1884
|
return openBlock(), createElementBlock("li", {
|
|
@@ -1968,8 +1893,8 @@ var PriceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
1968
1893
|
});
|
|
1969
1894
|
//#endregion
|
|
1970
1895
|
//#region src/components/ToneDot.vue?vue&type=script&setup=true&lang.ts
|
|
1971
|
-
var _hoisted_1$
|
|
1972
|
-
var _hoisted_2$
|
|
1896
|
+
var _hoisted_1$33 = { class: "inline-flex items-center gap-1.5" };
|
|
1897
|
+
var _hoisted_2$30 = {
|
|
1973
1898
|
key: 0,
|
|
1974
1899
|
class: "text-ink-soft text-xs font-medium"
|
|
1975
1900
|
};
|
|
@@ -1990,13 +1915,13 @@ var ToneDot_default = /* @__PURE__ */ defineComponent({
|
|
|
1990
1915
|
* priorities — without this component knowing about any of them.
|
|
1991
1916
|
*/
|
|
1992
1917
|
return (_ctx, _cache) => {
|
|
1993
|
-
return openBlock(), createElementBlock("span", _hoisted_1$
|
|
1918
|
+
return openBlock(), createElementBlock("span", _hoisted_1$33, [createElementVNode("span", { class: normalizeClass(["size-2 rounded-full", __props.fill]) }, null, 2), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$30, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
|
|
1994
1919
|
};
|
|
1995
1920
|
}
|
|
1996
1921
|
});
|
|
1997
1922
|
//#endregion
|
|
1998
1923
|
//#region src/components/SectionHeading.vue?vue&type=script&setup=true&lang.ts
|
|
1999
|
-
var _hoisted_1$
|
|
1924
|
+
var _hoisted_1$32 = {
|
|
2000
1925
|
key: 0,
|
|
2001
1926
|
class: "text-ink-soft text-xs tabular-nums"
|
|
2002
1927
|
};
|
|
@@ -2014,15 +1939,15 @@ var SectionHeading_default = /* @__PURE__ */ defineComponent({
|
|
|
2014
1939
|
return openBlock(), createElementBlock("h2", { class: normalizeClass(["flex w-fit items-center gap-2 self-start rounded-full border px-3 py-1", __props.tone.card]) }, [
|
|
2015
1940
|
createVNode(ToneDot_default, { fill: __props.tone.fill }, null, 8, ["fill"]),
|
|
2016
1941
|
createElementVNode("span", { class: normalizeClass(["text-xs font-semibold tracking-wide uppercase", __props.tone.text]) }, toDisplayString(__props.label), 3),
|
|
2017
|
-
__props.count > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
1942
|
+
__props.count > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$32, toDisplayString(__props.count), 1)) : createCommentVNode("", true)
|
|
2018
1943
|
], 2);
|
|
2019
1944
|
};
|
|
2020
1945
|
}
|
|
2021
1946
|
});
|
|
2022
1947
|
//#endregion
|
|
2023
1948
|
//#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
|
|
2024
|
-
var _hoisted_1$
|
|
2025
|
-
var _hoisted_2$
|
|
1949
|
+
var _hoisted_1$31 = { class: "bg-muted rounded-card flex w-full gap-1 p-1" };
|
|
1950
|
+
var _hoisted_2$29 = ["value", "name"];
|
|
2026
1951
|
//#endregion
|
|
2027
1952
|
//#region src/components/SegmentedControl.vue
|
|
2028
1953
|
var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2036,7 +1961,7 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
2036
1961
|
const model = useModel(__props, "modelValue");
|
|
2037
1962
|
const name = useId();
|
|
2038
1963
|
return (_ctx, _cache) => {
|
|
2039
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1964
|
+
return openBlock(), createElementBlock("div", _hoisted_1$31, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
2040
1965
|
return openBlock(), createElementBlock("label", {
|
|
2041
1966
|
key: String(option.value),
|
|
2042
1967
|
class: "flex-1 cursor-pointer"
|
|
@@ -2046,18 +1971,18 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
2046
1971
|
value: option.value,
|
|
2047
1972
|
name: unref(name),
|
|
2048
1973
|
class: "peer sr-only"
|
|
2049
|
-
}, null, 8, _hoisted_2$
|
|
1974
|
+
}, null, 8, _hoisted_2$29), [[vModelRadio, model.value]]), createElementVNode("span", { class: normalizeClass(["peer-focus-visible:outline-primary flex h-10 items-center justify-center rounded-xl px-2 text-sm font-medium transition-colors select-none peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2", model.value === option.value ? "bg-surface text-ink shadow-(--shadow-control)" : "text-ink-soft"]) }, toDisplayString(option.label), 3)]);
|
|
2050
1975
|
}), 128))]);
|
|
2051
1976
|
};
|
|
2052
1977
|
}
|
|
2053
1978
|
});
|
|
2054
1979
|
//#endregion
|
|
2055
1980
|
//#region src/components/SkeletonList.vue?vue&type=script&setup=true&lang.ts
|
|
2056
|
-
var _hoisted_1$
|
|
1981
|
+
var _hoisted_1$30 = {
|
|
2057
1982
|
role: "status",
|
|
2058
1983
|
class: "flex flex-col gap-1"
|
|
2059
1984
|
};
|
|
2060
|
-
var _hoisted_2$
|
|
1985
|
+
var _hoisted_2$28 = { class: "sr-only" };
|
|
2061
1986
|
//#endregion
|
|
2062
1987
|
//#region src/components/SkeletonList.vue
|
|
2063
1988
|
var SkeletonList_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2071,7 +1996,7 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
|
|
|
2071
1996
|
/** A length starts with a digit, a dot, or opens a CSS function. */
|
|
2072
1997
|
const isLength = computed(() => /^(?:[.\d]|calc\(|var\(|clamp\(|min\(|max\()/.test(__props.rowHeight));
|
|
2073
1998
|
return (_ctx, _cache) => {
|
|
2074
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1999
|
+
return openBlock(), createElementBlock("div", _hoisted_1$30, [createElementVNode("span", _hoisted_2$28, toDisplayString(__props.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
|
|
2075
2000
|
return openBlock(), createElementBlock("div", {
|
|
2076
2001
|
key: row,
|
|
2077
2002
|
class: normalizeClass(["bg-muted rounded-card animate-pulse", isLength.value ? void 0 : __props.rowHeight]),
|
|
@@ -2084,10 +2009,10 @@ var SkeletonList_default = /* @__PURE__ */ defineComponent({
|
|
|
2084
2009
|
});
|
|
2085
2010
|
//#endregion
|
|
2086
2011
|
//#region src/components/StatCard.vue?vue&type=script&setup=true&lang.ts
|
|
2087
|
-
var _hoisted_1$
|
|
2088
|
-
var _hoisted_2$
|
|
2089
|
-
var _hoisted_3$
|
|
2090
|
-
var _hoisted_4$
|
|
2012
|
+
var _hoisted_1$29 = { class: "surface rounded-card flex flex-1 flex-col gap-0.5 p-3" };
|
|
2013
|
+
var _hoisted_2$27 = { class: "flex items-baseline gap-1" };
|
|
2014
|
+
var _hoisted_3$18 = { class: "text-ink text-xl font-semibold tabular-nums" };
|
|
2015
|
+
var _hoisted_4$11 = { class: "text-ink-soft text-xs" };
|
|
2091
2016
|
//#endregion
|
|
2092
2017
|
//#region src/components/StatCard.vue
|
|
2093
2018
|
var StatCard_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2104,22 +2029,22 @@ var StatCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2104
2029
|
flat: ArrowRight
|
|
2105
2030
|
};
|
|
2106
2031
|
return (_ctx, _cache) => {
|
|
2107
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2032
|
+
return openBlock(), createElementBlock("div", _hoisted_1$29, [createElementVNode("div", _hoisted_2$27, [createElementVNode("span", _hoisted_3$18, toDisplayString(__props.value), 1), __props.trend ? (openBlock(), createBlock(resolveDynamicComponent(TREND_ICON[__props.trend]), {
|
|
2108
2033
|
key: 0,
|
|
2109
2034
|
class: "text-ink-soft size-3"
|
|
2110
|
-
})) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_4$
|
|
2035
|
+
})) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_4$11, toDisplayString(__props.label), 1)]);
|
|
2111
2036
|
};
|
|
2112
2037
|
}
|
|
2113
2038
|
});
|
|
2114
2039
|
//#endregion
|
|
2115
2040
|
//#region src/components/ToastHost.vue?vue&type=script&setup=true&lang.ts
|
|
2116
|
-
var _hoisted_1$
|
|
2041
|
+
var _hoisted_1$28 = [
|
|
2117
2042
|
"onMouseenter",
|
|
2118
2043
|
"onMouseleave",
|
|
2119
2044
|
"onFocusin",
|
|
2120
2045
|
"onFocusout"
|
|
2121
2046
|
];
|
|
2122
|
-
var _hoisted_2$
|
|
2047
|
+
var _hoisted_2$26 = { class: "flex-1 text-sm leading-snug" };
|
|
2123
2048
|
//#endregion
|
|
2124
2049
|
//#region src/components/ToastHost.vue
|
|
2125
2050
|
var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -2180,7 +2105,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
2180
2105
|
class: normalizeClass(["mt-0.5 size-5 shrink-0", TONE_CLASS[toast.tone]]),
|
|
2181
2106
|
"aria-hidden": "true"
|
|
2182
2107
|
}, null, 8, ["class"])),
|
|
2183
|
-
createElementVNode("p", _hoisted_2$
|
|
2108
|
+
createElementVNode("p", _hoisted_2$26, toDisplayString(toast.message), 1),
|
|
2184
2109
|
toast.action ? (openBlock(), createBlock(BaseButton_default, {
|
|
2185
2110
|
key: 0,
|
|
2186
2111
|
variant: "link",
|
|
@@ -2203,7 +2128,7 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
2203
2128
|
default: withCtx(() => [createVNode(unref(X), { class: "size-4" })]),
|
|
2204
2129
|
_: 1
|
|
2205
2130
|
}, 8, ["aria-label", "onClick"])
|
|
2206
|
-
], 40, _hoisted_1$
|
|
2131
|
+
], 40, _hoisted_1$28);
|
|
2207
2132
|
}), 128))]),
|
|
2208
2133
|
_: 1
|
|
2209
2134
|
})], 2)])) : createCommentVNode("", true);
|
|
@@ -2212,8 +2137,8 @@ var ToastHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
2212
2137
|
}), [["__scopeId", "data-v-737eb240"]]);
|
|
2213
2138
|
//#endregion
|
|
2214
2139
|
//#region src/components/LocaleLinks.vue?vue&type=script&setup=true&lang.ts
|
|
2215
|
-
var _hoisted_1$
|
|
2216
|
-
var _hoisted_2$
|
|
2140
|
+
var _hoisted_1$27 = ["aria-label"];
|
|
2141
|
+
var _hoisted_2$25 = [
|
|
2217
2142
|
"lang",
|
|
2218
2143
|
"aria-pressed",
|
|
2219
2144
|
"onClick"
|
|
@@ -2257,17 +2182,17 @@ var LocaleLinks_default = /* @__PURE__ */ defineComponent({
|
|
|
2257
2182
|
class: normalizeClass(["focus-ring rounded-full px-2.5 py-1.5 text-xs transition-colors", preference.value === locale ? "bg-muted text-ink font-semibold" : "text-ink-soft hover:text-ink"]),
|
|
2258
2183
|
"aria-pressed": preference.value === locale,
|
|
2259
2184
|
onClick: ($event) => preference.value = locale
|
|
2260
|
-
}, toDisplayString(__props.labels[locale]), 11, _hoisted_2$
|
|
2261
|
-
}), 128))], 8, _hoisted_1$
|
|
2185
|
+
}, toDisplayString(__props.labels[locale]), 11, _hoisted_2$25);
|
|
2186
|
+
}), 128))], 8, _hoisted_1$27);
|
|
2262
2187
|
};
|
|
2263
2188
|
}
|
|
2264
2189
|
});
|
|
2265
2190
|
//#endregion
|
|
2266
2191
|
//#region src/components/TabBar.vue?vue&type=script&setup=true&lang.ts
|
|
2267
|
-
var _hoisted_1$
|
|
2268
|
-
var _hoisted_2$
|
|
2269
|
-
var _hoisted_3$
|
|
2270
|
-
var _hoisted_4$
|
|
2192
|
+
var _hoisted_1$26 = { class: "tab-bar" };
|
|
2193
|
+
var _hoisted_2$24 = ["aria-label"];
|
|
2194
|
+
var _hoisted_3$17 = { class: "tab-icon-slot" };
|
|
2195
|
+
var _hoisted_4$10 = { class: "tab-label" };
|
|
2271
2196
|
//#endregion
|
|
2272
2197
|
//#region src/components/TabBar.vue
|
|
2273
2198
|
var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -2279,7 +2204,7 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
2279
2204
|
},
|
|
2280
2205
|
setup(__props) {
|
|
2281
2206
|
return (_ctx, _cache) => {
|
|
2282
|
-
return openBlock(), createElementBlock("header", _hoisted_1$
|
|
2207
|
+
return openBlock(), createElementBlock("header", _hoisted_1$26, [createElementVNode("nav", {
|
|
2283
2208
|
class: "tab-bar-inner",
|
|
2284
2209
|
"aria-label": __props.label || void 0
|
|
2285
2210
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
@@ -2290,28 +2215,28 @@ var TabBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
2290
2215
|
"aria-current": item.key === __props.active ? "page" : void 0,
|
|
2291
2216
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(tapFeedback)())
|
|
2292
2217
|
}, {
|
|
2293
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_3$
|
|
2218
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_3$17, [(openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "tab-icon" }))]), createElementVNode("span", _hoisted_4$10, toDisplayString(item.label), 1)]),
|
|
2294
2219
|
_: 2
|
|
2295
2220
|
}, 1032, [
|
|
2296
2221
|
"to",
|
|
2297
2222
|
"class",
|
|
2298
2223
|
"aria-current"
|
|
2299
2224
|
]);
|
|
2300
|
-
}), 128))], 8, _hoisted_2$
|
|
2225
|
+
}), 128))], 8, _hoisted_2$24)]);
|
|
2301
2226
|
};
|
|
2302
2227
|
}
|
|
2303
2228
|
}), [["__scopeId", "data-v-a76891c4"]]);
|
|
2304
2229
|
//#endregion
|
|
2305
2230
|
//#region src/components/ActivityGrid.vue?vue&type=script&setup=true&lang.ts
|
|
2306
|
-
var _hoisted_1$
|
|
2307
|
-
var _hoisted_2$
|
|
2308
|
-
var _hoisted_3$
|
|
2231
|
+
var _hoisted_1$25 = ["aria-label"];
|
|
2232
|
+
var _hoisted_2$23 = ["colspan"];
|
|
2233
|
+
var _hoisted_3$16 = {
|
|
2309
2234
|
scope: "row",
|
|
2310
2235
|
class: "rk-activity-weekday"
|
|
2311
2236
|
};
|
|
2312
|
-
var _hoisted_4$
|
|
2313
|
-
var _hoisted_5$
|
|
2314
|
-
var _hoisted_6$
|
|
2237
|
+
var _hoisted_4$9 = { class: "sr-only" };
|
|
2238
|
+
var _hoisted_5$6 = ["tabindex", "aria-label"];
|
|
2239
|
+
var _hoisted_6$5 = {
|
|
2315
2240
|
key: 1,
|
|
2316
2241
|
class: "rk-activity-cell is-blank",
|
|
2317
2242
|
"aria-hidden": "true"
|
|
@@ -2421,12 +2346,9 @@ var ActivityGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
2421
2346
|
moveTo(focused.value + 1);
|
|
2422
2347
|
break;
|
|
2423
2348
|
case "ArrowLeft":
|
|
2424
|
-
event.preventDefault();
|
|
2425
|
-
step(-1);
|
|
2426
|
-
break;
|
|
2427
2349
|
case "ArrowRight":
|
|
2428
2350
|
event.preventDefault();
|
|
2429
|
-
step(
|
|
2351
|
+
step(horizontalStep(event.key, event.currentTarget));
|
|
2430
2352
|
break;
|
|
2431
2353
|
case "Home":
|
|
2432
2354
|
event.preventDefault();
|
|
@@ -2449,197 +2371,54 @@ var ActivityGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
2449
2371
|
choose(day);
|
|
2450
2372
|
}
|
|
2451
2373
|
onMounted(() => {
|
|
2452
|
-
if (__props.startAtEnd
|
|
2374
|
+
if (!__props.startAtEnd) return;
|
|
2375
|
+
const element = scroller.value?.viewport;
|
|
2376
|
+
if (!element) return;
|
|
2377
|
+
element.scrollLeft = elementDirection(element) === "rtl" ? -element.scrollWidth : element.scrollWidth;
|
|
2453
2378
|
});
|
|
2454
2379
|
return (_ctx, _cache) => {
|
|
2455
|
-
return openBlock(),
|
|
2380
|
+
return openBlock(), createBlock(ScrollArea_default, {
|
|
2456
2381
|
ref_key: "scroller",
|
|
2457
2382
|
ref: scroller,
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
"
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
}),
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
var _hoisted_2$20 = [
|
|
2491
|
-
"tabindex",
|
|
2492
|
-
"role",
|
|
2493
|
-
"aria-label"
|
|
2494
|
-
];
|
|
2495
|
-
var _hoisted_3$13 = {
|
|
2496
|
-
key: 0,
|
|
2497
|
-
class: "rk-scroll-fade is-start-x",
|
|
2498
|
-
"aria-hidden": "true"
|
|
2499
|
-
};
|
|
2500
|
-
var _hoisted_4$9 = {
|
|
2501
|
-
key: 1,
|
|
2502
|
-
class: "rk-scroll-fade is-end-x",
|
|
2503
|
-
"aria-hidden": "true"
|
|
2504
|
-
};
|
|
2505
|
-
var _hoisted_5$6 = {
|
|
2506
|
-
key: 2,
|
|
2507
|
-
class: "rk-scroll-fade is-start-y",
|
|
2508
|
-
"aria-hidden": "true"
|
|
2509
|
-
};
|
|
2510
|
-
var _hoisted_6$5 = {
|
|
2511
|
-
key: 3,
|
|
2512
|
-
class: "rk-scroll-fade is-end-y",
|
|
2513
|
-
"aria-hidden": "true"
|
|
2514
|
-
};
|
|
2515
|
-
/**
|
|
2516
|
-
* A box that scrolls, with the two things a hand-written one leaves out.
|
|
2517
|
-
*
|
|
2518
|
-
* ## The edge fade is the affordance `no-scrollbar` takes away
|
|
2519
|
-
*
|
|
2520
|
-
* Every app here hides the scrollbar on a horizontal row — a strip of
|
|
2521
|
-
* months, a row of filter chips — because a native bar under a 40px row is
|
|
2522
|
-
* louder than the row. What goes with it is the only sign on screen that
|
|
2523
|
-
* there is anything further along. So the fades are driven by the actual
|
|
2524
|
-
* scroll position: one appears at an edge exactly when there is content
|
|
2525
|
-
* past it, and both are gone when everything fits.
|
|
2526
|
-
*
|
|
2527
|
-
* ## A focus stop, but only when there is no other way in
|
|
2528
|
-
*
|
|
2529
|
-
* A box that scrolls and cannot take focus cannot be scrolled by a
|
|
2530
|
-
* keyboard, so the far end is simply unreachable. That is the fault
|
|
2531
|
-
* `CodeBlock` was written for, and it is not about code: it is true of any
|
|
2532
|
-
* scrolling box whose contents are not focusable.
|
|
2533
|
-
*
|
|
2534
|
-
* But it is *only* true of those. A row of buttons already moves under the
|
|
2535
|
-
* keyboard — Tab scrolls the next one into view — and giving that row a
|
|
2536
|
-
* stop of its own costs a press for nothing, on every row. So this checks:
|
|
2537
|
-
* it becomes a named region when it overflows **and** holds nothing
|
|
2538
|
-
* focusable, and stays out of the tab order otherwise.
|
|
2539
|
-
*
|
|
2540
|
-
* The check runs when the box or its contents resize, which covers a list
|
|
2541
|
-
* that arrives from a server. A swap that changes neither size — the same
|
|
2542
|
-
* number of rows, buttons turned into plain text — will not be noticed;
|
|
2543
|
-
* that is a trade against watching every mutation of a scroll container,
|
|
2544
|
-
* and the shape it misses is a rare one.
|
|
2545
|
-
*/
|
|
2546
|
-
var FOCUSABLE$1 = "a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex=\"-1\"])";
|
|
2547
|
-
//#endregion
|
|
2548
|
-
//#region src/components/ScrollArea.vue
|
|
2549
|
-
var ScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
2550
|
-
__name: "ScrollArea",
|
|
2551
|
-
props: {
|
|
2552
|
-
label: {},
|
|
2553
|
-
axis: { default: "y" },
|
|
2554
|
-
scrollbar: { default: "auto" },
|
|
2555
|
-
fade: {
|
|
2556
|
-
type: Boolean,
|
|
2557
|
-
default: true
|
|
2558
|
-
},
|
|
2559
|
-
drag: {
|
|
2560
|
-
type: Boolean,
|
|
2561
|
-
default: false
|
|
2562
|
-
}
|
|
2563
|
-
},
|
|
2564
|
-
emits: ["scroll"],
|
|
2565
|
-
setup(__props, { expose: __expose, emit: __emit }) {
|
|
2566
|
-
const emit = __emit;
|
|
2567
|
-
const viewport = useTemplateRef("viewport");
|
|
2568
|
-
/** Anything that takes focus on its own, so the box does not need to. */
|
|
2569
|
-
const horizontal = computed(() => __props.axis === "x" || __props.axis === "both");
|
|
2570
|
-
const vertical = computed(() => __props.axis === "y" || __props.axis === "both");
|
|
2571
|
-
const start = ref({
|
|
2572
|
-
x: false,
|
|
2573
|
-
y: false
|
|
2574
|
-
});
|
|
2575
|
-
const end = ref({
|
|
2576
|
-
x: false,
|
|
2577
|
-
y: false
|
|
2578
|
-
});
|
|
2579
|
-
const overflows = ref(false);
|
|
2580
|
-
const hasFocusable = ref(true);
|
|
2581
|
-
function measure() {
|
|
2582
|
-
const element = viewport.value;
|
|
2583
|
-
if (!element) return;
|
|
2584
|
-
const overX = element.scrollWidth - element.clientWidth;
|
|
2585
|
-
const overY = element.scrollHeight - element.clientHeight;
|
|
2586
|
-
const slack = 1;
|
|
2587
|
-
const alongX = Math.abs(element.scrollLeft);
|
|
2588
|
-
start.value = {
|
|
2589
|
-
x: alongX > slack,
|
|
2590
|
-
y: element.scrollTop > slack
|
|
2591
|
-
};
|
|
2592
|
-
end.value = {
|
|
2593
|
-
x: overX - alongX > slack,
|
|
2594
|
-
y: overY - element.scrollTop > slack
|
|
2595
|
-
};
|
|
2596
|
-
overflows.value = horizontal.value && overX > slack || vertical.value && overY > slack;
|
|
2597
|
-
hasFocusable.value = element.querySelector(FOCUSABLE$1) !== null;
|
|
2598
|
-
}
|
|
2599
|
-
function onScroll(event) {
|
|
2600
|
-
measure();
|
|
2601
|
-
emit("scroll", event);
|
|
2602
|
-
}
|
|
2603
|
-
/** The box itself is the way in only when nothing inside it is. */
|
|
2604
|
-
const isStop = computed(() => overflows.value && !hasFocusable.value);
|
|
2605
|
-
let observer = null;
|
|
2606
|
-
watchEffect(() => {
|
|
2607
|
-
observer?.disconnect();
|
|
2608
|
-
observer = null;
|
|
2609
|
-
const element = viewport.value;
|
|
2610
|
-
if (!element || typeof ResizeObserver === "undefined") return;
|
|
2611
|
-
observer = new ResizeObserver(measure);
|
|
2612
|
-
observer.observe(element);
|
|
2613
|
-
for (const child of element.children) observer.observe(child);
|
|
2614
|
-
measure();
|
|
2615
|
-
});
|
|
2616
|
-
onScopeDispose(() => observer?.disconnect());
|
|
2617
|
-
useDragScroll(computed(() => __props.drag ? viewport.value : null));
|
|
2618
|
-
__expose({
|
|
2619
|
-
/** The element that actually scrolls, for a parent that has to measure it. */
|
|
2620
|
-
viewport });
|
|
2621
|
-
return (_ctx, _cache) => {
|
|
2622
|
-
return openBlock(), createElementBlock("div", _hoisted_1$22, [createElementVNode("div", {
|
|
2623
|
-
ref_key: "viewport",
|
|
2624
|
-
ref: viewport,
|
|
2625
|
-
class: normalizeClass(["rk-scroll-viewport", [`is-${__props.axis}`, { "no-scrollbar": __props.scrollbar === "hidden" }]]),
|
|
2626
|
-
tabindex: isStop.value ? 0 : void 0,
|
|
2627
|
-
role: isStop.value ? "region" : void 0,
|
|
2628
|
-
"aria-label": isStop.value ? __props.label : void 0,
|
|
2629
|
-
onScroll
|
|
2630
|
-
}, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 42, _hoisted_2$20), __props.fade ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
2631
|
-
horizontal.value && start.value.x ? (openBlock(), createElementBlock("span", _hoisted_3$13)) : createCommentVNode("", true),
|
|
2632
|
-
horizontal.value && end.value.x ? (openBlock(), createElementBlock("span", _hoisted_4$9)) : createCommentVNode("", true),
|
|
2633
|
-
vertical.value && start.value.y ? (openBlock(), createElementBlock("span", _hoisted_5$6)) : createCommentVNode("", true),
|
|
2634
|
-
vertical.value && end.value.y ? (openBlock(), createElementBlock("span", _hoisted_6$5)) : createCommentVNode("", true)
|
|
2635
|
-
], 64)) : createCommentVNode("", true)]);
|
|
2383
|
+
axis: "x",
|
|
2384
|
+
scrollbar: "hidden",
|
|
2385
|
+
label: __props.label,
|
|
2386
|
+
class: "rk-activity"
|
|
2387
|
+
}, {
|
|
2388
|
+
default: withCtx(() => [createElementVNode("table", {
|
|
2389
|
+
ref_key: "grid",
|
|
2390
|
+
ref: grid,
|
|
2391
|
+
class: "rk-activity-table",
|
|
2392
|
+
"aria-label": __props.label,
|
|
2393
|
+
onKeydown,
|
|
2394
|
+
onClick
|
|
2395
|
+
}, [createElementVNode("thead", null, [createElementVNode("tr", null, [_cache[0] || (_cache[0] = createElementVNode("td", { class: "rk-activity-corner" }, null, -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(months.value, (month) => {
|
|
2396
|
+
return openBlock(), createElementBlock("th", {
|
|
2397
|
+
key: month.key,
|
|
2398
|
+
colspan: month.span,
|
|
2399
|
+
scope: "colgroup"
|
|
2400
|
+
}, toDisplayString(month.label), 9, _hoisted_2$23);
|
|
2401
|
+
}), 128))])]), createElementVNode("tbody", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (weekday, row) => {
|
|
2402
|
+
return openBlock(), createElementBlock("tr", { key: weekday }, [createElementVNode("th", _hoisted_3$16, [createElementVNode("span", _hoisted_4$9, toDisplayString(weekday), 1)]), (openBlock(true), createElementBlock(Fragment, null, renderList(weeks.value, (week, column) => {
|
|
2403
|
+
return openBlock(), createElementBlock(Fragment, { key: column }, [week[row] ? (openBlock(), createElementBlock("td", mergeProps({
|
|
2404
|
+
key: 0,
|
|
2405
|
+
class: "rk-activity-cell"
|
|
2406
|
+
}, { ref_for: true }, dayAttrs(week[row]), {
|
|
2407
|
+
tabindex: cells.value[focused.value]?.day === week[row] ? 0 : -1,
|
|
2408
|
+
"aria-label": __props.dayLabel(week[row]),
|
|
2409
|
+
class: [__props.levelFor(week[row]), { "is-pickable": __props.isSelectable?.(week[row]) }]
|
|
2410
|
+
}), null, 16, _hoisted_5$6)) : (openBlock(), createElementBlock("td", _hoisted_6$5))], 64);
|
|
2411
|
+
}), 128))]);
|
|
2412
|
+
}), 128))])], 40, _hoisted_1$25)]),
|
|
2413
|
+
_: 1
|
|
2414
|
+
}, 8, ["label"]);
|
|
2636
2415
|
};
|
|
2637
2416
|
}
|
|
2638
|
-
}), [["__scopeId", "data-v-
|
|
2417
|
+
}), [["__scopeId", "data-v-766e5244"]]);
|
|
2639
2418
|
//#endregion
|
|
2640
2419
|
//#region src/components/VirtualList.vue?vue&type=script&setup=true&lang.ts
|
|
2641
|
-
var _hoisted_1$
|
|
2642
|
-
var _hoisted_2$
|
|
2420
|
+
var _hoisted_1$24 = ["aria-label"];
|
|
2421
|
+
var _hoisted_2$22 = ["aria-setsize", "aria-posinset"];
|
|
2643
2422
|
//#endregion
|
|
2644
2423
|
//#region src/components/VirtualList.vue
|
|
2645
2424
|
var VirtualList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -2707,14 +2486,14 @@ var VirtualList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
2707
2486
|
}, [renderSlot(_ctx.$slots, "default", {
|
|
2708
2487
|
item: row.item,
|
|
2709
2488
|
index: row.index
|
|
2710
|
-
}, void 0, true)], 12, _hoisted_2$
|
|
2489
|
+
}, void 0, true)], 12, _hoisted_2$22);
|
|
2711
2490
|
}), 128)),
|
|
2712
2491
|
unref(padBottom) > 0 ? (openBlock(), createElementBlock("li", {
|
|
2713
2492
|
key: 1,
|
|
2714
2493
|
style: normalizeStyle({ height: `${unref(padBottom)}px` }),
|
|
2715
2494
|
"aria-hidden": "true"
|
|
2716
2495
|
}, null, 4)) : createCommentVNode("", true)
|
|
2717
|
-
], 8, _hoisted_1$
|
|
2496
|
+
], 8, _hoisted_1$24)]),
|
|
2718
2497
|
_: 3
|
|
2719
2498
|
}, 8, [
|
|
2720
2499
|
"label",
|
|
@@ -2725,9 +2504,92 @@ var VirtualList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
2725
2504
|
}
|
|
2726
2505
|
}), [["__scopeId", "data-v-936ed40c"]]);
|
|
2727
2506
|
//#endregion
|
|
2507
|
+
//#region src/components/AnnounceHost.vue?vue&type=script&setup=true&lang.ts
|
|
2508
|
+
var _hoisted_1$23 = { class: "rk-announcer" };
|
|
2509
|
+
var _hoisted_2$21 = {
|
|
2510
|
+
role: "status",
|
|
2511
|
+
"aria-live": "polite",
|
|
2512
|
+
"aria-atomic": "true"
|
|
2513
|
+
};
|
|
2514
|
+
var _hoisted_3$15 = {
|
|
2515
|
+
role: "alert",
|
|
2516
|
+
"aria-live": "assertive",
|
|
2517
|
+
"aria-atomic": "true"
|
|
2518
|
+
};
|
|
2519
|
+
//#endregion
|
|
2520
|
+
//#region src/components/AnnounceHost.vue
|
|
2521
|
+
var AnnounceHost_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
2522
|
+
__name: "AnnounceHost",
|
|
2523
|
+
setup(__props) {
|
|
2524
|
+
const { polite, assertive } = useAnnounce();
|
|
2525
|
+
return (_ctx, _cache) => {
|
|
2526
|
+
return openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("p", _hoisted_2$21, toDisplayString(unref(polite)), 1), createElementVNode("p", _hoisted_3$15, toDisplayString(unref(assertive)), 1)]);
|
|
2527
|
+
};
|
|
2528
|
+
}
|
|
2529
|
+
}), [["__scopeId", "data-v-205d6703"]]);
|
|
2530
|
+
//#endregion
|
|
2531
|
+
//#region src/components/ErrorSummary.vue?vue&type=script&setup=true&lang.ts
|
|
2532
|
+
var _hoisted_1$22 = { class: "rk-errsum-title" };
|
|
2533
|
+
var _hoisted_2$20 = { class: "rk-errsum-list" };
|
|
2534
|
+
var _hoisted_3$14 = ["href", "onClick"];
|
|
2535
|
+
//#endregion
|
|
2536
|
+
//#region src/components/ErrorSummary.vue
|
|
2537
|
+
var ErrorSummary_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
2538
|
+
__name: "ErrorSummary",
|
|
2539
|
+
props: {
|
|
2540
|
+
errors: {},
|
|
2541
|
+
title: {},
|
|
2542
|
+
labelFor: { type: Function },
|
|
2543
|
+
fieldId: {
|
|
2544
|
+
type: Function,
|
|
2545
|
+
default: (field) => field
|
|
2546
|
+
},
|
|
2547
|
+
fields: { default: () => void 0 }
|
|
2548
|
+
},
|
|
2549
|
+
setup(__props, { expose: __expose }) {
|
|
2550
|
+
const panel = useTemplateRef("panel");
|
|
2551
|
+
const listed = computed(() => {
|
|
2552
|
+
return (__props.fields ?? Object.keys(__props.errors)).filter((field) => __props.errors[field] !== void 0).map((field) => ({
|
|
2553
|
+
field,
|
|
2554
|
+
message: __props.errors[field],
|
|
2555
|
+
id: __props.fieldId(field)
|
|
2556
|
+
}));
|
|
2557
|
+
});
|
|
2558
|
+
const hasErrors = computed(() => listed.value.length > 0);
|
|
2559
|
+
/** Moves focus into the summary. Call it on every failed submit. */
|
|
2560
|
+
function focus() {
|
|
2561
|
+
focusTarget(panel.value);
|
|
2562
|
+
}
|
|
2563
|
+
function goToField(event, id) {
|
|
2564
|
+
if (focusTarget(id)) event.preventDefault();
|
|
2565
|
+
}
|
|
2566
|
+
watch(hasErrors, async (now) => {
|
|
2567
|
+
if (!now) return;
|
|
2568
|
+
await nextTick();
|
|
2569
|
+
focus();
|
|
2570
|
+
});
|
|
2571
|
+
__expose({ focus });
|
|
2572
|
+
return (_ctx, _cache) => {
|
|
2573
|
+
return hasErrors.value ? (openBlock(), createElementBlock("div", {
|
|
2574
|
+
key: 0,
|
|
2575
|
+
ref_key: "panel",
|
|
2576
|
+
ref: panel,
|
|
2577
|
+
class: "rk-errsum",
|
|
2578
|
+
tabindex: "-1"
|
|
2579
|
+
}, [createElementVNode("p", _hoisted_1$22, toDisplayString(__props.title), 1), createElementVNode("ul", _hoisted_2$20, [(openBlock(true), createElementBlock(Fragment, null, renderList(listed.value, (item) => {
|
|
2580
|
+
return openBlock(), createElementBlock("li", { key: item.field }, [createElementVNode("a", {
|
|
2581
|
+
href: `#${item.id}`,
|
|
2582
|
+
class: "rk-errsum-link",
|
|
2583
|
+
onClick: ($event) => goToField($event, item.id)
|
|
2584
|
+
}, toDisplayString(__props.labelFor(item.field)) + ": " + toDisplayString(item.message), 9, _hoisted_3$14)]);
|
|
2585
|
+
}), 128))])], 512)) : createCommentVNode("", true);
|
|
2586
|
+
};
|
|
2587
|
+
}
|
|
2588
|
+
}), [["__scopeId", "data-v-4a68e342"]]);
|
|
2589
|
+
//#endregion
|
|
2728
2590
|
//#region src/components/AvatarStack.vue?vue&type=script&setup=true&lang.ts
|
|
2729
|
-
var _hoisted_1$
|
|
2730
|
-
var _hoisted_2$
|
|
2591
|
+
var _hoisted_1$21 = ["aria-label"];
|
|
2592
|
+
var _hoisted_2$19 = {
|
|
2731
2593
|
key: 0,
|
|
2732
2594
|
class: "rk-stack-item rk-stack-rest",
|
|
2733
2595
|
"aria-hidden": "true"
|
|
@@ -2765,15 +2627,15 @@ var AvatarStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
2765
2627
|
"src",
|
|
2766
2628
|
"size"
|
|
2767
2629
|
])]);
|
|
2768
|
-
}), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
2630
|
+
}), 128)), rest.value ? (openBlock(), createElementBlock("span", _hoisted_2$19, "+" + toDisplayString(rest.value), 1)) : createCommentVNode("", true)], 10, _hoisted_1$21);
|
|
2769
2631
|
};
|
|
2770
2632
|
}
|
|
2771
|
-
}), [["__scopeId", "data-v-
|
|
2633
|
+
}), [["__scopeId", "data-v-1f87913c"]]);
|
|
2772
2634
|
//#endregion
|
|
2773
2635
|
//#region src/components/BaseCalendar.vue?vue&type=script&setup=true&lang.ts
|
|
2774
|
-
var _hoisted_1$
|
|
2775
|
-
var _hoisted_2$
|
|
2776
|
-
var _hoisted_3$
|
|
2636
|
+
var _hoisted_1$20 = { class: "rk-cal" };
|
|
2637
|
+
var _hoisted_2$18 = { class: "rk-cal-head" };
|
|
2638
|
+
var _hoisted_3$13 = ["aria-label"];
|
|
2777
2639
|
var _hoisted_4$8 = ["aria-expanded"];
|
|
2778
2640
|
var _hoisted_5$5 = ["aria-label"];
|
|
2779
2641
|
var _hoisted_6$4 = {
|
|
@@ -2931,16 +2793,18 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
2931
2793
|
return toDateKey(date);
|
|
2932
2794
|
}
|
|
2933
2795
|
function onKeydown(event) {
|
|
2796
|
+
const key = event.key;
|
|
2797
|
+
const along = horizontalStep(key, event.currentTarget);
|
|
2934
2798
|
const next = {
|
|
2935
|
-
ArrowLeft: () => addDays(focused.value,
|
|
2936
|
-
ArrowRight: () => addDays(focused.value,
|
|
2799
|
+
ArrowLeft: () => addDays(focused.value, along),
|
|
2800
|
+
ArrowRight: () => addDays(focused.value, along),
|
|
2937
2801
|
ArrowUp: () => addDays(focused.value, -7),
|
|
2938
2802
|
ArrowDown: () => addDays(focused.value, 7),
|
|
2939
2803
|
Home: () => addDays(focused.value, -((fromDateKey(focused.value).getDay() - __props.weekStartsOn + 7) % 7)),
|
|
2940
2804
|
End: () => addDays(focused.value, 6 - (fromDateKey(focused.value).getDay() - __props.weekStartsOn + 7) % 7),
|
|
2941
2805
|
PageUp: () => shiftMonths(event.shiftKey ? -12 : -1),
|
|
2942
2806
|
PageDown: () => shiftMonths(event.shiftKey ? 12 : 1)
|
|
2943
|
-
}[
|
|
2807
|
+
}[key];
|
|
2944
2808
|
if (!next) return;
|
|
2945
2809
|
event.preventDefault();
|
|
2946
2810
|
moveTo(next());
|
|
@@ -2968,8 +2832,8 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
2968
2832
|
if (next) focused.value = next;
|
|
2969
2833
|
});
|
|
2970
2834
|
return (_ctx, _cache) => {
|
|
2971
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2972
|
-
createElementVNode("div", _hoisted_2$
|
|
2835
|
+
return openBlock(), createElementBlock("div", _hoisted_1$20, [
|
|
2836
|
+
createElementVNode("div", _hoisted_2$18, [
|
|
2973
2837
|
createElementVNode("button", {
|
|
2974
2838
|
type: "button",
|
|
2975
2839
|
class: "rk-cal-arrow focus-ring",
|
|
@@ -2978,7 +2842,7 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
2978
2842
|
}, [createVNode(unref(ChevronLeft), {
|
|
2979
2843
|
class: "size-4",
|
|
2980
2844
|
"aria-hidden": "true"
|
|
2981
|
-
})], 8, _hoisted_3$
|
|
2845
|
+
})], 8, _hoisted_3$13),
|
|
2982
2846
|
createElementVNode("button", {
|
|
2983
2847
|
type: "button",
|
|
2984
2848
|
class: "rk-cal-title focus-ring",
|
|
@@ -3048,11 +2912,11 @@ var BaseCalendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
3048
2912
|
]);
|
|
3049
2913
|
};
|
|
3050
2914
|
}
|
|
3051
|
-
}), [["__scopeId", "data-v-
|
|
2915
|
+
}), [["__scopeId", "data-v-d682f18a"]]);
|
|
3052
2916
|
//#endregion
|
|
3053
2917
|
//#region src/components/BaseChip.vue?vue&type=script&setup=true&lang.ts
|
|
3054
|
-
var _hoisted_1$
|
|
3055
|
-
var _hoisted_2$
|
|
2918
|
+
var _hoisted_1$19 = { class: "truncate" };
|
|
2919
|
+
var _hoisted_2$17 = ["aria-label", "disabled"];
|
|
3056
2920
|
//#endregion
|
|
3057
2921
|
//#region src/components/BaseChip.vue
|
|
3058
2922
|
var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -3089,7 +2953,7 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3089
2953
|
key: 0,
|
|
3090
2954
|
class: "size-3.5 shrink-0",
|
|
3091
2955
|
"aria-hidden": "true"
|
|
3092
|
-
})) : createCommentVNode("", true), createElementVNode("span", _hoisted_1$
|
|
2956
|
+
})) : createCommentVNode("", true), createElementVNode("span", _hoisted_1$19, toDisplayString(__props.label), 1)]),
|
|
3093
2957
|
_: 1
|
|
3094
2958
|
}, 8, [
|
|
3095
2959
|
"type",
|
|
@@ -3106,18 +2970,18 @@ var BaseChip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3106
2970
|
}, [createVNode(unref(X), {
|
|
3107
2971
|
class: "size-3",
|
|
3108
2972
|
"aria-hidden": "true"
|
|
3109
|
-
})], 8, _hoisted_2$
|
|
2973
|
+
})], 8, _hoisted_2$17)) : createCommentVNode("", true)], 2);
|
|
3110
2974
|
};
|
|
3111
2975
|
}
|
|
3112
2976
|
}), [["__scopeId", "data-v-c94a820d"]]);
|
|
3113
2977
|
//#endregion
|
|
3114
2978
|
//#region src/components/BaseKbd.vue?vue&type=script&setup=true&lang.ts
|
|
3115
|
-
var _hoisted_1$
|
|
2979
|
+
var _hoisted_1$18 = {
|
|
3116
2980
|
key: 0,
|
|
3117
2981
|
class: "rk-kbd-joiner",
|
|
3118
2982
|
"aria-hidden": "true"
|
|
3119
2983
|
};
|
|
3120
|
-
var _hoisted_2$
|
|
2984
|
+
var _hoisted_2$16 = { class: "rk-kbd-key control" };
|
|
3121
2985
|
//#endregion
|
|
3122
2986
|
//#region src/components/BaseKbd.vue
|
|
3123
2987
|
var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -3131,7 +2995,7 @@ var BaseKbd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
3131
2995
|
const list = computed(() => typeof __props.keys === "string" ? [__props.keys] : __props.keys);
|
|
3132
2996
|
return (_ctx, _cache) => {
|
|
3133
2997
|
return openBlock(), createElementBlock("span", { class: normalizeClass(["rk-kbd", `is-${__props.size}`]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (key, index) => {
|
|
3134
|
-
return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
2998
|
+
return openBlock(), createElementBlock(Fragment, { key }, [index > 0 && __props.joiner ? (openBlock(), createElementBlock("span", _hoisted_1$18, toDisplayString(__props.joiner), 1)) : createCommentVNode("", true), createElementVNode("kbd", _hoisted_2$16, toDisplayString(key), 1)], 64);
|
|
3135
2999
|
}), 128))], 2);
|
|
3136
3000
|
};
|
|
3137
3001
|
}
|
|
@@ -3170,7 +3034,7 @@ var BaseLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3170
3034
|
}), [["__scopeId", "data-v-88581007"]]);
|
|
3171
3035
|
//#endregion
|
|
3172
3036
|
//#region src/components/BaseRating.vue?vue&type=script&setup=true&lang.ts
|
|
3173
|
-
var _hoisted_1$
|
|
3037
|
+
var _hoisted_1$17 = [
|
|
3174
3038
|
"role",
|
|
3175
3039
|
"aria-label",
|
|
3176
3040
|
"tabindex",
|
|
@@ -3179,7 +3043,7 @@ var _hoisted_1$16 = [
|
|
|
3179
3043
|
"aria-valuemax",
|
|
3180
3044
|
"aria-valuetext"
|
|
3181
3045
|
];
|
|
3182
|
-
var _hoisted_2$
|
|
3046
|
+
var _hoisted_2$15 = ["onClick", "onPointerenter"];
|
|
3183
3047
|
//#endregion
|
|
3184
3048
|
//#region src/components/BaseRating.vue
|
|
3185
3049
|
var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -3213,10 +3077,11 @@ var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
3213
3077
|
model.value = __props.allowClear && model.value === value ? 0 : value;
|
|
3214
3078
|
}
|
|
3215
3079
|
function onKeydown(event) {
|
|
3080
|
+
const along = horizontalStep(event.key, event.currentTarget);
|
|
3216
3081
|
const next = {
|
|
3217
|
-
ArrowRight: model.value +
|
|
3082
|
+
ArrowRight: model.value + along,
|
|
3083
|
+
ArrowLeft: model.value + along,
|
|
3218
3084
|
ArrowUp: model.value + 1,
|
|
3219
|
-
ArrowLeft: model.value - 1,
|
|
3220
3085
|
ArrowDown: model.value - 1,
|
|
3221
3086
|
Home: 0,
|
|
3222
3087
|
End: __props.max
|
|
@@ -3244,15 +3109,15 @@ var BaseRating_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
3244
3109
|
"aria-hidden": "true",
|
|
3245
3110
|
onClick: ($event) => __props.readonly ? void 0 : pick(star),
|
|
3246
3111
|
onPointerenter: ($event) => __props.readonly ? void 0 : hovered.value = star
|
|
3247
|
-
}, [createVNode(unref(Star), { class: "rk-rating-icon" })], 42, _hoisted_2$
|
|
3248
|
-
}), 128))], 42, _hoisted_1$
|
|
3112
|
+
}, [createVNode(unref(Star), { class: "rk-rating-icon" })], 42, _hoisted_2$15);
|
|
3113
|
+
}), 128))], 42, _hoisted_1$17);
|
|
3249
3114
|
};
|
|
3250
3115
|
}
|
|
3251
|
-
}), [["__scopeId", "data-v-
|
|
3116
|
+
}), [["__scopeId", "data-v-b7334b78"]]);
|
|
3252
3117
|
//#endregion
|
|
3253
3118
|
//#region src/components/BaseSeparator.vue?vue&type=script&setup=true&lang.ts
|
|
3254
|
-
var _hoisted_1$
|
|
3255
|
-
var _hoisted_2$
|
|
3119
|
+
var _hoisted_1$16 = { class: "rk-sep-label" };
|
|
3120
|
+
var _hoisted_2$14 = ["aria-orientation"];
|
|
3256
3121
|
//#endregion
|
|
3257
3122
|
//#region src/components/BaseSeparator.vue
|
|
3258
3123
|
var BaseSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -3280,28 +3145,28 @@ var BaseSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
3280
3145
|
"aria-hidden": "true"
|
|
3281
3146
|
}, [
|
|
3282
3147
|
_cache[0] || (_cache[0] = createElementVNode("span", { class: "rk-sep-line" }, null, -1)),
|
|
3283
|
-
createElementVNode("span", _hoisted_1$
|
|
3148
|
+
createElementVNode("span", _hoisted_1$16, toDisplayString(__props.label), 1),
|
|
3284
3149
|
_cache[1] || (_cache[1] = createElementVNode("span", { class: "rk-sep-line" }, null, -1))
|
|
3285
3150
|
], 2)) : (openBlock(), createElementBlock("div", {
|
|
3286
3151
|
key: 1,
|
|
3287
3152
|
class: normalizeClass(["rk-sep", [`is-${__props.orientation}`, `space-${__props.spacing}`]]),
|
|
3288
3153
|
role: "separator",
|
|
3289
3154
|
"aria-orientation": __props.orientation
|
|
3290
|
-
}, null, 10, _hoisted_2$
|
|
3155
|
+
}, null, 10, _hoisted_2$14));
|
|
3291
3156
|
};
|
|
3292
3157
|
}
|
|
3293
3158
|
}), [["__scopeId", "data-v-9f8cc9aa"]]);
|
|
3294
3159
|
//#endregion
|
|
3295
3160
|
//#region src/components/ColorPicker.vue?vue&type=script&setup=true&lang.ts
|
|
3296
|
-
var _hoisted_1$
|
|
3297
|
-
var _hoisted_2$
|
|
3161
|
+
var _hoisted_1$15 = { class: "rk-color-row" };
|
|
3162
|
+
var _hoisted_2$13 = [
|
|
3298
3163
|
"id",
|
|
3299
3164
|
"value",
|
|
3300
3165
|
"disabled",
|
|
3301
3166
|
"aria-describedby",
|
|
3302
3167
|
"aria-invalid"
|
|
3303
3168
|
];
|
|
3304
|
-
var _hoisted_3$
|
|
3169
|
+
var _hoisted_3$12 = [
|
|
3305
3170
|
"aria-label",
|
|
3306
3171
|
"disabled",
|
|
3307
3172
|
"onKeydown"
|
|
@@ -3384,7 +3249,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3384
3249
|
"label-hidden": __props.labelHidden,
|
|
3385
3250
|
class: "rk-color"
|
|
3386
3251
|
}, {
|
|
3387
|
-
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$
|
|
3252
|
+
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$15, [
|
|
3388
3253
|
createElementVNode("span", {
|
|
3389
3254
|
class: "rk-color-well",
|
|
3390
3255
|
style: normalizeStyle(current.value ? { "--rk-color": current.value } : void 0)
|
|
@@ -3397,7 +3262,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3397
3262
|
"aria-describedby": describedBy,
|
|
3398
3263
|
"aria-invalid": invalid,
|
|
3399
3264
|
onInput: _cache[0] || (_cache[0] = ($event) => set($event.target.value))
|
|
3400
|
-
}, null, 40, _hoisted_2$
|
|
3265
|
+
}, null, 40, _hoisted_2$13)], 4),
|
|
3401
3266
|
__props.hexLabel ? withDirectives((openBlock(), createElementBlock("input", {
|
|
3402
3267
|
key: 0,
|
|
3403
3268
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => draft.value = $event),
|
|
@@ -3409,7 +3274,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3409
3274
|
disabled: __props.disabled,
|
|
3410
3275
|
onBlur: commit,
|
|
3411
3276
|
onKeydown: withKeys(withModifiers(commit, ["prevent"]), ["enter"])
|
|
3412
|
-
}, null, 40, _hoisted_3$
|
|
3277
|
+
}, null, 40, _hoisted_3$12)), [[vModelText, draft.value]]) : createCommentVNode("", true),
|
|
3413
3278
|
__props.swatches.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_4$7, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.swatches, (swatch) => {
|
|
3414
3279
|
return openBlock(), createElementBlock("li", { key: swatch.value }, [createElementVNode("button", {
|
|
3415
3280
|
type: "button",
|
|
@@ -3434,9 +3299,9 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3434
3299
|
}), [["__scopeId", "data-v-5ca23aa9"]]);
|
|
3435
3300
|
//#endregion
|
|
3436
3301
|
//#region src/components/CopyButton.vue?vue&type=script&setup=true&lang.ts
|
|
3437
|
-
var _hoisted_1$
|
|
3438
|
-
var _hoisted_2$
|
|
3439
|
-
var _hoisted_3$
|
|
3302
|
+
var _hoisted_1$14 = ["aria-label"];
|
|
3303
|
+
var _hoisted_2$12 = { key: 2 };
|
|
3304
|
+
var _hoisted_3$11 = {
|
|
3440
3305
|
class: "sr-only",
|
|
3441
3306
|
role: "status",
|
|
3442
3307
|
"aria-live": "polite"
|
|
@@ -3494,23 +3359,23 @@ var CopyButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
3494
3359
|
class: "size-4 shrink-0",
|
|
3495
3360
|
"aria-hidden": "true"
|
|
3496
3361
|
})),
|
|
3497
|
-
__props.withText ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
3498
|
-
createElementVNode("span", _hoisted_3$
|
|
3499
|
-
], 10, _hoisted_1$
|
|
3362
|
+
__props.withText ? (openBlock(), createElementBlock("span", _hoisted_2$12, toDisplayString(state.value === "copied" ? __props.copiedLabel : __props.copyLabel), 1)) : createCommentVNode("", true),
|
|
3363
|
+
createElementVNode("span", _hoisted_3$11, toDisplayString(state.value === "copied" ? __props.copiedLabel : state.value === "failed" ? __props.errorLabel ?? "" : ""), 1)
|
|
3364
|
+
], 10, _hoisted_1$14);
|
|
3500
3365
|
};
|
|
3501
3366
|
}
|
|
3502
3367
|
}), [["__scopeId", "data-v-c481e140"]]);
|
|
3503
3368
|
//#endregion
|
|
3504
3369
|
//#region src/components/CodeBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3505
|
-
var _hoisted_1$
|
|
3370
|
+
var _hoisted_1$13 = {
|
|
3506
3371
|
key: 0,
|
|
3507
3372
|
class: "rk-code-bar"
|
|
3508
3373
|
};
|
|
3509
|
-
var _hoisted_2$
|
|
3374
|
+
var _hoisted_2$11 = {
|
|
3510
3375
|
key: 0,
|
|
3511
3376
|
class: "rk-code-lang"
|
|
3512
3377
|
};
|
|
3513
|
-
var _hoisted_3$
|
|
3378
|
+
var _hoisted_3$10 = [
|
|
3514
3379
|
"tabindex",
|
|
3515
3380
|
"role",
|
|
3516
3381
|
"aria-label"
|
|
@@ -3534,7 +3399,7 @@ var CodeBlock_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
3534
3399
|
const copyable = computed(() => __props.copyLabel !== void 0 && __props.copiedLabel !== void 0);
|
|
3535
3400
|
const scrolls = computed(() => !__props.wrap);
|
|
3536
3401
|
return (_ctx, _cache) => {
|
|
3537
|
-
return openBlock(), createElementBlock("figure", { class: normalizeClass(["rk-code", { "is-wrapped": __props.wrap }]) }, [__props.language || copyable.value ? (openBlock(), createElementBlock("figcaption", _hoisted_1$
|
|
3402
|
+
return openBlock(), createElementBlock("figure", { class: normalizeClass(["rk-code", { "is-wrapped": __props.wrap }]) }, [__props.language || copyable.value ? (openBlock(), createElementBlock("figcaption", _hoisted_1$13, [__props.language ? (openBlock(), createElementBlock("span", _hoisted_2$11, toDisplayString(__props.language), 1)) : createCommentVNode("", true), copyable.value ? (openBlock(), createBlock(CopyButton_default, {
|
|
3538
3403
|
key: 1,
|
|
3539
3404
|
class: "rk-code-copy",
|
|
3540
3405
|
text: __props.code,
|
|
@@ -3549,14 +3414,14 @@ var CodeBlock_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
3549
3414
|
tabindex: scrolls.value ? 0 : void 0,
|
|
3550
3415
|
role: scrolls.value ? "region" : void 0,
|
|
3551
3416
|
"aria-label": scrolls.value ? __props.label : void 0
|
|
3552
|
-
}, [createElementVNode("code", null, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.code), 1)], true)])], 8, _hoisted_3$
|
|
3417
|
+
}, [createElementVNode("code", null, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.code), 1)], true)])], 8, _hoisted_3$10)], 2);
|
|
3553
3418
|
};
|
|
3554
3419
|
}
|
|
3555
3420
|
}), [["__scopeId", "data-v-b45043be"]]);
|
|
3556
3421
|
//#endregion
|
|
3557
3422
|
//#region src/components/DescriptionList.vue?vue&type=script&setup=true&lang.ts
|
|
3558
|
-
var _hoisted_1$
|
|
3559
|
-
var _hoisted_2$
|
|
3423
|
+
var _hoisted_1$12 = { class: "rk-dl-term" };
|
|
3424
|
+
var _hoisted_2$10 = { class: "rk-dl-value" };
|
|
3560
3425
|
//#endregion
|
|
3561
3426
|
//#region src/components/DescriptionList.vue
|
|
3562
3427
|
var DescriptionList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -3571,16 +3436,16 @@ var DescriptionList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
3571
3436
|
return openBlock(), createElementBlock("div", {
|
|
3572
3437
|
key: item.key ?? item.term,
|
|
3573
3438
|
class: "rk-dl-row"
|
|
3574
|
-
}, [createElementVNode("dt", _hoisted_1$
|
|
3439
|
+
}, [createElementVNode("dt", _hoisted_1$12, toDisplayString(item.term), 1), createElementVNode("dd", _hoisted_2$10, [renderSlot(_ctx.$slots, item.key ?? item.term, { item }, () => [createTextVNode(toDisplayString(item.description), 1)], true)])]);
|
|
3575
3440
|
}), 128))], 2);
|
|
3576
3441
|
};
|
|
3577
3442
|
}
|
|
3578
3443
|
}), [["__scopeId", "data-v-831e205b"]]);
|
|
3579
3444
|
//#endregion
|
|
3580
3445
|
//#region src/components/FileDrop.vue?vue&type=script&setup=true&lang.ts
|
|
3581
|
-
var _hoisted_1$
|
|
3582
|
-
var _hoisted_2$
|
|
3583
|
-
var _hoisted_3$
|
|
3446
|
+
var _hoisted_1$11 = { class: "rk-drop" };
|
|
3447
|
+
var _hoisted_2$9 = ["for"];
|
|
3448
|
+
var _hoisted_3$9 = [
|
|
3584
3449
|
"id",
|
|
3585
3450
|
"accept",
|
|
3586
3451
|
"multiple",
|
|
@@ -3666,7 +3531,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3666
3531
|
const size = (bytes) => bytes >= 1048576 ? `${(bytes / 1048576).toFixed(1)} MB` : `${Math.max(1, Math.round(bytes / 1024))} KB`;
|
|
3667
3532
|
const count = computed(() => model.value.length);
|
|
3668
3533
|
return (_ctx, _cache) => {
|
|
3669
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
3534
|
+
return openBlock(), createElementBlock("div", _hoisted_1$11, [
|
|
3670
3535
|
createElementVNode("label", {
|
|
3671
3536
|
class: normalizeClass(["rk-drop-box control", {
|
|
3672
3537
|
"is-over": over.value,
|
|
@@ -3685,7 +3550,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3685
3550
|
multiple: __props.multiple,
|
|
3686
3551
|
disabled: __props.disabled,
|
|
3687
3552
|
onChange: onInput
|
|
3688
|
-
}, null, 40, _hoisted_3$
|
|
3553
|
+
}, null, 40, _hoisted_3$9),
|
|
3689
3554
|
createVNode(unref(Upload), {
|
|
3690
3555
|
class: "text-ink-soft size-6",
|
|
3691
3556
|
"aria-hidden": "true"
|
|
@@ -3693,7 +3558,7 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3693
3558
|
createElementVNode("span", _hoisted_4$6, toDisplayString(__props.label), 1),
|
|
3694
3559
|
__props.hint ? (openBlock(), createElementBlock("span", _hoisted_5$3, toDisplayString(__props.hint), 1)) : createCommentVNode("", true),
|
|
3695
3560
|
createElementVNode("span", _hoisted_6$3, toDisplayString(__props.browseLabel), 1)
|
|
3696
|
-
], 42, _hoisted_2$
|
|
3561
|
+
], 42, _hoisted_2$9),
|
|
3697
3562
|
refused.value && __props.tooLargeLabel ? (openBlock(), createElementBlock("p", _hoisted_7$1, toDisplayString(__props.tooLargeLabel), 1)) : createCommentVNode("", true),
|
|
3698
3563
|
count.value ? (openBlock(), createElementBlock("ul", _hoisted_8, [(openBlock(true), createElementBlock(Fragment, null, renderList(model.value, (file, index) => {
|
|
3699
3564
|
return openBlock(), createElementBlock("li", {
|
|
@@ -3721,10 +3586,10 @@ var FileDrop_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
3721
3586
|
]);
|
|
3722
3587
|
};
|
|
3723
3588
|
}
|
|
3724
|
-
}), [["__scopeId", "data-v-
|
|
3589
|
+
}), [["__scopeId", "data-v-6e903baf"]]);
|
|
3725
3590
|
//#endregion
|
|
3726
3591
|
//#region src/components/TagsInput.vue?vue&type=script&setup=true&lang.ts
|
|
3727
|
-
var _hoisted_1$
|
|
3592
|
+
var _hoisted_1$10 = [
|
|
3728
3593
|
"id",
|
|
3729
3594
|
"placeholder",
|
|
3730
3595
|
"aria-describedby",
|
|
@@ -3842,7 +3707,7 @@ var TagsInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
3842
3707
|
onKeydown,
|
|
3843
3708
|
onPaste,
|
|
3844
3709
|
onBlur: add
|
|
3845
|
-
}, null, 40, _hoisted_1$
|
|
3710
|
+
}, null, 40, _hoisted_1$10), [[vModelText, draft.value]])], 2)]),
|
|
3846
3711
|
_: 1
|
|
3847
3712
|
}, 8, [
|
|
3848
3713
|
"label",
|
|
@@ -3856,7 +3721,7 @@ var TagsInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
3856
3721
|
}), [["__scopeId", "data-v-1fd08921"]]);
|
|
3857
3722
|
//#endregion
|
|
3858
3723
|
//#region src/components/BasePopover.vue?vue&type=script&setup=true&lang.ts
|
|
3859
|
-
var _hoisted_1$
|
|
3724
|
+
var _hoisted_1$9 = ["id", "aria-label"];
|
|
3860
3725
|
var FOCUSABLE = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
3861
3726
|
//#endregion
|
|
3862
3727
|
//#region src/components/BasePopover.vue
|
|
@@ -3973,21 +3838,21 @@ var BasePopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3973
3838
|
role: "dialog",
|
|
3974
3839
|
"aria-label": __props.label,
|
|
3975
3840
|
tabindex: "-1"
|
|
3976
|
-
}, [renderSlot(_ctx.$slots, "default", { close }, void 0, true)], 14, _hoisted_1$
|
|
3841
|
+
}, [renderSlot(_ctx.$slots, "default", { close }, void 0, true)], 14, _hoisted_1$9)) : createCommentVNode("", true)]),
|
|
3977
3842
|
_: 3
|
|
3978
3843
|
})], 544);
|
|
3979
3844
|
};
|
|
3980
3845
|
}
|
|
3981
|
-
}), [["__scopeId", "data-v-
|
|
3846
|
+
}), [["__scopeId", "data-v-22d8f397"]]);
|
|
3982
3847
|
//#endregion
|
|
3983
3848
|
//#region src/components/TimePicker.vue?vue&type=script&setup=true&lang.ts
|
|
3984
|
-
var _hoisted_1$
|
|
3849
|
+
var _hoisted_1$8 = [
|
|
3985
3850
|
"id",
|
|
3986
3851
|
"aria-describedby",
|
|
3987
3852
|
"disabled"
|
|
3988
3853
|
];
|
|
3989
|
-
var _hoisted_2$
|
|
3990
|
-
var _hoisted_3$
|
|
3854
|
+
var _hoisted_2$8 = { class: "truncate" };
|
|
3855
|
+
var _hoisted_3$8 = { class: "rk-time-columns" };
|
|
3991
3856
|
//#endregion
|
|
3992
3857
|
//#region src/components/TimePicker.vue
|
|
3993
3858
|
var TimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -4089,8 +3954,8 @@ var TimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
4089
3954
|
}, props), [createVNode(unref(Clock), {
|
|
4090
3955
|
class: "size-4 shrink-0",
|
|
4091
3956
|
"aria-hidden": "true"
|
|
4092
|
-
}), createElementVNode("span", _hoisted_2$
|
|
4093
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_3$
|
|
3957
|
+
}), createElementVNode("span", _hoisted_2$8, toDisplayString(shown.value || __props.placeholder), 1)], 16, _hoisted_1$8)]),
|
|
3958
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_3$8, [createVNode(BaseListbox_default, {
|
|
4094
3959
|
"model-value": chosenHour.value,
|
|
4095
3960
|
options: hours.value,
|
|
4096
3961
|
label: __props.hoursLabel,
|
|
@@ -4123,15 +3988,15 @@ var TimePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
4123
3988
|
]);
|
|
4124
3989
|
};
|
|
4125
3990
|
}
|
|
4126
|
-
}), [["__scopeId", "data-v-
|
|
3991
|
+
}), [["__scopeId", "data-v-ad58b4f3"]]);
|
|
4127
3992
|
//#endregion
|
|
4128
3993
|
//#region src/components/BaseTimeline.vue?vue&type=script&setup=true&lang.ts
|
|
4129
|
-
var _hoisted_1$
|
|
4130
|
-
var _hoisted_2$
|
|
3994
|
+
var _hoisted_1$7 = ["aria-label"];
|
|
3995
|
+
var _hoisted_2$7 = {
|
|
4131
3996
|
class: "rk-timeline-marker",
|
|
4132
3997
|
"aria-hidden": "true"
|
|
4133
3998
|
};
|
|
4134
|
-
var _hoisted_3$
|
|
3999
|
+
var _hoisted_3$7 = { class: "rk-timeline-time" };
|
|
4135
4000
|
var _hoisted_4$5 = {
|
|
4136
4001
|
key: 0,
|
|
4137
4002
|
class: "rk-timeline-title"
|
|
@@ -4165,28 +4030,28 @@ var BaseTimeline_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
4165
4030
|
key: event.key,
|
|
4166
4031
|
class: "rk-timeline-event"
|
|
4167
4032
|
}, [
|
|
4168
|
-
createElementVNode("span", _hoisted_2$
|
|
4033
|
+
createElementVNode("span", _hoisted_2$7, [renderSlot(_ctx.$slots, "marker", { event }, () => [createElementVNode("span", { class: normalizeClass(["rk-timeline-dot", event.fill ?? "bg-primary"]) }, [event.icon ? (openBlock(), createBlock(resolveDynamicComponent(event.icon), {
|
|
4169
4034
|
key: 0,
|
|
4170
4035
|
class: "size-3"
|
|
4171
4036
|
})) : createCommentVNode("", true)], 2)], true)]),
|
|
4172
|
-
createElementVNode("p", _hoisted_3$
|
|
4037
|
+
createElementVNode("p", _hoisted_3$7, toDisplayString(event.time), 1),
|
|
4173
4038
|
event.title ? (openBlock(), createElementBlock("p", _hoisted_4$5, toDisplayString(event.title), 1)) : createCommentVNode("", true),
|
|
4174
4039
|
event.description ? (openBlock(), createElementBlock("p", _hoisted_5$2, toDisplayString(event.description), 1)) : createCommentVNode("", true),
|
|
4175
4040
|
_ctx.$slots[event.key] || _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_6$2, [_ctx.$slots[event.key] ? renderSlot(_ctx.$slots, event.key, { event }, void 0, true, 0) : renderSlot(_ctx.$slots, "default", { event }, void 0, true, 1)])) : createCommentVNode("", true)
|
|
4176
4041
|
]);
|
|
4177
|
-
}), 128))], 8, _hoisted_1$
|
|
4042
|
+
}), 128))], 8, _hoisted_1$7);
|
|
4178
4043
|
};
|
|
4179
4044
|
}
|
|
4180
|
-
}), [["__scopeId", "data-v-
|
|
4045
|
+
}), [["__scopeId", "data-v-8a452f82"]]);
|
|
4181
4046
|
//#endregion
|
|
4182
4047
|
//#region src/components/BaseDatePicker.vue?vue&type=script&setup=true&lang.ts
|
|
4183
|
-
var _hoisted_1$
|
|
4048
|
+
var _hoisted_1$6 = [
|
|
4184
4049
|
"id",
|
|
4185
4050
|
"aria-describedby",
|
|
4186
4051
|
"disabled"
|
|
4187
4052
|
];
|
|
4188
|
-
var _hoisted_2$
|
|
4189
|
-
var _hoisted_3$
|
|
4053
|
+
var _hoisted_2$6 = { class: "truncate" };
|
|
4054
|
+
var _hoisted_3$6 = ["aria-label", "disabled"];
|
|
4190
4055
|
var _hoisted_4$4 = { class: "rk-date-panel" };
|
|
4191
4056
|
var _hoisted_5$1 = {
|
|
4192
4057
|
key: 0,
|
|
@@ -4276,7 +4141,7 @@ var BaseDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
4276
4141
|
}, props), [createVNode(unref(CalendarDays), {
|
|
4277
4142
|
class: "size-4 shrink-0",
|
|
4278
4143
|
"aria-hidden": "true"
|
|
4279
|
-
}), createElementVNode("span", _hoisted_2$
|
|
4144
|
+
}), createElementVNode("span", _hoisted_2$6, toDisplayString(shown.value || __props.placeholder), 1)], 16, _hoisted_1$6), __props.clearLabel && shown.value ? (openBlock(), createElementBlock("button", {
|
|
4280
4145
|
key: 0,
|
|
4281
4146
|
type: "button",
|
|
4282
4147
|
class: "rk-date-clear focus-ring",
|
|
@@ -4286,7 +4151,7 @@ var BaseDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
4286
4151
|
}, [createVNode(unref(X), {
|
|
4287
4152
|
class: "size-3.5",
|
|
4288
4153
|
"aria-hidden": "true"
|
|
4289
|
-
})], 8, _hoisted_3$
|
|
4154
|
+
})], 8, _hoisted_3$6)) : createCommentVNode("", true)], 2)]),
|
|
4290
4155
|
default: withCtx(() => [createElementVNode("div", _hoisted_4$4, [__props.presets?.length ? (openBlock(), createElementBlock("ul", _hoisted_5$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
|
|
4291
4156
|
return openBlock(), createElementBlock("li", { key: preset.label }, [createElementVNode("button", {
|
|
4292
4157
|
type: "button",
|
|
@@ -4324,15 +4189,15 @@ var BaseDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
4324
4189
|
]);
|
|
4325
4190
|
};
|
|
4326
4191
|
}
|
|
4327
|
-
}), [["__scopeId", "data-v-
|
|
4192
|
+
}), [["__scopeId", "data-v-42390973"]]);
|
|
4328
4193
|
//#endregion
|
|
4329
4194
|
//#region src/components/BasePopconfirm.vue?vue&type=script&setup=true&lang.ts
|
|
4330
|
-
var _hoisted_1$
|
|
4331
|
-
var _hoisted_2$
|
|
4195
|
+
var _hoisted_1$5 = { class: "rk-confirm" };
|
|
4196
|
+
var _hoisted_2$5 = {
|
|
4332
4197
|
key: 0,
|
|
4333
4198
|
class: "rk-confirm-title"
|
|
4334
4199
|
};
|
|
4335
|
-
var _hoisted_3$
|
|
4200
|
+
var _hoisted_3$5 = { class: "rk-confirm-message" };
|
|
4336
4201
|
var _hoisted_4$3 = { class: "rk-confirm-actions" };
|
|
4337
4202
|
//#endregion
|
|
4338
4203
|
//#region src/components/BasePopconfirm.vue
|
|
@@ -4372,9 +4237,9 @@ var BasePopconfirm_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
4372
4237
|
align: "end"
|
|
4373
4238
|
}, {
|
|
4374
4239
|
trigger: withCtx((slotProps) => [renderSlot(_ctx.$slots, "trigger", normalizeProps(guardReactiveProps(slotProps)), void 0, true)]),
|
|
4375
|
-
default: withCtx(({ close }) => [createElementVNode("div", _hoisted_1$
|
|
4376
|
-
__props.title ? (openBlock(), createElementBlock("p", _hoisted_2$
|
|
4377
|
-
createElementVNode("p", _hoisted_3$
|
|
4240
|
+
default: withCtx(({ close }) => [createElementVNode("div", _hoisted_1$5, [
|
|
4241
|
+
__props.title ? (openBlock(), createElementBlock("p", _hoisted_2$5, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
4242
|
+
createElementVNode("p", _hoisted_3$5, toDisplayString(__props.message), 1),
|
|
4378
4243
|
createElementVNode("div", _hoisted_4$3, [createVNode(BaseButton_default, {
|
|
4379
4244
|
size: "sm",
|
|
4380
4245
|
variant: "secondary",
|
|
@@ -4398,8 +4263,8 @@ var BasePopconfirm_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
4398
4263
|
}), [["__scopeId", "data-v-9453e511"]]);
|
|
4399
4264
|
//#endregion
|
|
4400
4265
|
//#region src/components/ToggleGroup.vue?vue&type=script&setup=true&lang.ts
|
|
4401
|
-
var _hoisted_1$
|
|
4402
|
-
var _hoisted_2$
|
|
4266
|
+
var _hoisted_1$4 = ["aria-label"];
|
|
4267
|
+
var _hoisted_2$4 = [
|
|
4403
4268
|
"aria-pressed",
|
|
4404
4269
|
"aria-label",
|
|
4405
4270
|
"disabled",
|
|
@@ -4407,7 +4272,7 @@ var _hoisted_2$3 = [
|
|
|
4407
4272
|
"onClick",
|
|
4408
4273
|
"onKeydown"
|
|
4409
4274
|
];
|
|
4410
|
-
var _hoisted_3$
|
|
4275
|
+
var _hoisted_3$4 = { key: 1 };
|
|
4411
4276
|
//#endregion
|
|
4412
4277
|
//#region src/components/ToggleGroup.vue
|
|
4413
4278
|
var ToggleGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -4453,11 +4318,9 @@ var ToggleGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
4453
4318
|
});
|
|
4454
4319
|
function onKeydown(event, index) {
|
|
4455
4320
|
const step = {
|
|
4456
|
-
ArrowRight: 1,
|
|
4457
4321
|
ArrowDown: 1,
|
|
4458
|
-
ArrowLeft: -1,
|
|
4459
4322
|
ArrowUp: -1
|
|
4460
|
-
}[event.key];
|
|
4323
|
+
}[event.key] ?? (horizontalStep(event.key, event.currentTarget) || void 0);
|
|
4461
4324
|
const enabled = buttons.value.filter((button) => !button.disabled);
|
|
4462
4325
|
let target;
|
|
4463
4326
|
if (step !== void 0) target = enabled[(enabled.indexOf(buttons.value[index]) + step + enabled.length) % enabled.length];
|
|
@@ -4490,16 +4353,16 @@ var ToggleGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
4490
4353
|
key: 0,
|
|
4491
4354
|
class: "rk-toggle-icon",
|
|
4492
4355
|
"aria-hidden": "true"
|
|
4493
|
-
})) : createCommentVNode("", true), !option.iconOnly ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
4494
|
-
}), 128))], 10, _hoisted_1$
|
|
4356
|
+
})) : createCommentVNode("", true), !option.iconOnly ? (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(option.label), 1)) : createCommentVNode("", true)], 40, _hoisted_2$4);
|
|
4357
|
+
}), 128))], 10, _hoisted_1$4);
|
|
4495
4358
|
};
|
|
4496
4359
|
}
|
|
4497
|
-
}), [["__scopeId", "data-v-
|
|
4360
|
+
}), [["__scopeId", "data-v-e40e4271"]]);
|
|
4498
4361
|
//#endregion
|
|
4499
4362
|
//#region src/components/PinInput.vue?vue&type=script&setup=true&lang.ts
|
|
4500
|
-
var _hoisted_1$
|
|
4501
|
-
var _hoisted_2$
|
|
4502
|
-
var _hoisted_3$
|
|
4363
|
+
var _hoisted_1$3 = { class: "rk-pin" };
|
|
4364
|
+
var _hoisted_2$3 = ["aria-label"];
|
|
4365
|
+
var _hoisted_3$3 = [
|
|
4503
4366
|
"value",
|
|
4504
4367
|
"type",
|
|
4505
4368
|
"inputmode",
|
|
@@ -4586,16 +4449,13 @@ var PinInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
4586
4449
|
if (target < 0) return;
|
|
4587
4450
|
write(model.value.slice(0, target) + model.value.slice(target + 1));
|
|
4588
4451
|
focusCell(target);
|
|
4589
|
-
} else if (event.key === "ArrowLeft") {
|
|
4452
|
+
} else if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
|
|
4590
4453
|
event.preventDefault();
|
|
4591
|
-
focusCell(index
|
|
4592
|
-
} else if (event.key === "ArrowRight") {
|
|
4593
|
-
event.preventDefault();
|
|
4594
|
-
focusCell(index + 1);
|
|
4454
|
+
focusCell(index + horizontalStep(event.key, event.currentTarget));
|
|
4595
4455
|
}
|
|
4596
4456
|
}
|
|
4597
4457
|
return (_ctx, _cache) => {
|
|
4598
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
4458
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [createElementVNode("div", {
|
|
4599
4459
|
class: "rk-pin-cells",
|
|
4600
4460
|
role: "group",
|
|
4601
4461
|
"aria-label": __props.label
|
|
@@ -4618,8 +4478,8 @@ var PinInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
4618
4478
|
onPaste: ($event) => onPaste($event, index),
|
|
4619
4479
|
onKeydown: ($event) => onKeydown($event, index),
|
|
4620
4480
|
onFocus: _cache[0] || (_cache[0] = ($event) => $event.target.select())
|
|
4621
|
-
}, null, 42, _hoisted_3$
|
|
4622
|
-
}), 128))], 8, _hoisted_2$
|
|
4481
|
+
}, null, 42, _hoisted_3$3);
|
|
4482
|
+
}), 128))], 8, _hoisted_2$3), __props.error ? (openBlock(), createElementBlock("p", {
|
|
4623
4483
|
key: 0,
|
|
4624
4484
|
id: unref(errorId),
|
|
4625
4485
|
class: "rk-pin-error",
|
|
@@ -4627,7 +4487,128 @@ var PinInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
4627
4487
|
}, toDisplayString(__props.error), 9, _hoisted_4$2)) : createCommentVNode("", true)]);
|
|
4628
4488
|
};
|
|
4629
4489
|
}
|
|
4630
|
-
}), [["__scopeId", "data-v-
|
|
4490
|
+
}), [["__scopeId", "data-v-1777eac8"]]);
|
|
4491
|
+
//#endregion
|
|
4492
|
+
//#region src/components/PasswordInput.vue?vue&type=script&setup=true&lang.ts
|
|
4493
|
+
var _hoisted_1$2 = { class: "relative" };
|
|
4494
|
+
var _hoisted_2$2 = [
|
|
4495
|
+
"id",
|
|
4496
|
+
"type",
|
|
4497
|
+
"value",
|
|
4498
|
+
"aria-invalid",
|
|
4499
|
+
"aria-describedby"
|
|
4500
|
+
];
|
|
4501
|
+
var _hoisted_3$2 = ["aria-label", "aria-pressed"];
|
|
4502
|
+
var CONTROL_CLASS = "h-11 text-base";
|
|
4503
|
+
//#endregion
|
|
4504
|
+
//#region src/components/PasswordInput.vue
|
|
4505
|
+
var PasswordInput_default = /* @__PURE__ */ defineComponent({
|
|
4506
|
+
inheritAttrs: false,
|
|
4507
|
+
__name: "PasswordInput",
|
|
4508
|
+
props: {
|
|
4509
|
+
modelValue: { default: "" },
|
|
4510
|
+
label: {},
|
|
4511
|
+
toggleLabel: {},
|
|
4512
|
+
error: { default: "" },
|
|
4513
|
+
hint: { default: "" },
|
|
4514
|
+
labelHidden: {
|
|
4515
|
+
type: Boolean,
|
|
4516
|
+
default: false
|
|
4517
|
+
},
|
|
4518
|
+
fieldId: { default: () => void 0 },
|
|
4519
|
+
size: { default: "md" }
|
|
4520
|
+
},
|
|
4521
|
+
emits: ["update:modelValue", "toggle"],
|
|
4522
|
+
setup(__props, { emit: __emit }) {
|
|
4523
|
+
/**
|
|
4524
|
+
* A password field you can look at.
|
|
4525
|
+
*
|
|
4526
|
+
* The kit already ships `AuthForm` and `BaseInput type="password"`, which is
|
|
4527
|
+
* to say it ships the field and not the one thing every app then adds to it.
|
|
4528
|
+
* A password is the only field in a form whose value is hidden from the
|
|
4529
|
+
* person typing it, on the device where typing is least reliable — and a
|
|
4530
|
+
* generated password pasted into a phone is unverifiable without this. WCAG
|
|
4531
|
+
* 3.3.8 asks that authentication not depend on a cognitive function test;
|
|
4532
|
+
* being unable to see what you typed is one.
|
|
4533
|
+
*
|
|
4534
|
+
* The half that breaks, three ways, and all three compile:
|
|
4535
|
+
*
|
|
4536
|
+
* - **A `<button>` with no `type`.** Inside a form, its default is `submit`,
|
|
4537
|
+
* so looking at the password submits the form — usually with a password
|
|
4538
|
+
* half typed, which then arrives as a failed sign-in attempt.
|
|
4539
|
+
* - **A `<span>` or a bare icon.** Not focusable, not pressable by keyboard,
|
|
4540
|
+
* and named nothing.
|
|
4541
|
+
* - **A change nobody is told about.** The characters appearing is the whole
|
|
4542
|
+
* feedback, and it is visual only.
|
|
4543
|
+
*
|
|
4544
|
+
* The third is answered as a toggle button — one name, `aria-pressed` for
|
|
4545
|
+
* the state — rather than the swapped "Show"/"Hide" name that is the more
|
|
4546
|
+
* common shape. Two reasons. A name that changes under a focus that has not
|
|
4547
|
+
* moved is not reliably re-read, which is why every implementation of the
|
|
4548
|
+
* swapped-name version ends up adding a live region and two more sentences
|
|
4549
|
+
* on top of it; a pressed state on the focused control is announced by every
|
|
4550
|
+
* screen reader without one. And the kit has no language of its own, so the
|
|
4551
|
+
* cheaper pattern is also the one that asks the app for one string instead
|
|
4552
|
+
* of four.
|
|
4553
|
+
*
|
|
4554
|
+
* The field is never revealed by default and reverts to hidden on nothing:
|
|
4555
|
+
* that is deliberate. A component that hid it again on blur would be hiding
|
|
4556
|
+
* it at the exact moment the reader moved to the confirmation field to check
|
|
4557
|
+
* it against.
|
|
4558
|
+
*/
|
|
4559
|
+
const emit = __emit;
|
|
4560
|
+
const visible = ref(false);
|
|
4561
|
+
function toggle() {
|
|
4562
|
+
visible.value = !visible.value;
|
|
4563
|
+
emit("toggle", visible.value);
|
|
4564
|
+
}
|
|
4565
|
+
return (_ctx, _cache) => {
|
|
4566
|
+
return openBlock(), createBlock(FormField_default, {
|
|
4567
|
+
label: __props.label,
|
|
4568
|
+
error: __props.error,
|
|
4569
|
+
hint: __props.hint,
|
|
4570
|
+
"label-hidden": __props.labelHidden,
|
|
4571
|
+
"field-id": __props.fieldId,
|
|
4572
|
+
size: __props.size
|
|
4573
|
+
}, {
|
|
4574
|
+
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$2, [createElementVNode("input", mergeProps({
|
|
4575
|
+
id,
|
|
4576
|
+
type: visible.value ? "text" : "password",
|
|
4577
|
+
value: __props.modelValue,
|
|
4578
|
+
"aria-invalid": invalid,
|
|
4579
|
+
"aria-describedby": describedBy,
|
|
4580
|
+
autocapitalize: "none",
|
|
4581
|
+
spellcheck: false
|
|
4582
|
+
}, _ctx.$attrs, {
|
|
4583
|
+
class: ["control text-ink rounded-card focus-visible:outline-primary w-full ps-3 pe-11 focus-visible:outline-2 focus-visible:outline-offset-1", [CONTROL_CLASS, invalid ? "border-negative" : ""]],
|
|
4584
|
+
onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value))
|
|
4585
|
+
}), null, 16, _hoisted_2$2), createElementVNode("button", {
|
|
4586
|
+
type: "button",
|
|
4587
|
+
class: "focus-ring text-ink-soft hover:text-ink rounded-card absolute end-1 top-1/2 flex size-9 -translate-y-1/2 items-center justify-center",
|
|
4588
|
+
"aria-label": __props.toggleLabel,
|
|
4589
|
+
"aria-pressed": visible.value,
|
|
4590
|
+
onClick: toggle
|
|
4591
|
+
}, [visible.value ? (openBlock(), createBlock(unref(EyeOff), {
|
|
4592
|
+
key: 0,
|
|
4593
|
+
class: "size-4",
|
|
4594
|
+
"aria-hidden": "true"
|
|
4595
|
+
})) : (openBlock(), createBlock(unref(Eye), {
|
|
4596
|
+
key: 1,
|
|
4597
|
+
class: "size-4",
|
|
4598
|
+
"aria-hidden": "true"
|
|
4599
|
+
}))], 8, _hoisted_3$2)])]),
|
|
4600
|
+
_: 1
|
|
4601
|
+
}, 8, [
|
|
4602
|
+
"label",
|
|
4603
|
+
"error",
|
|
4604
|
+
"hint",
|
|
4605
|
+
"label-hidden",
|
|
4606
|
+
"field-id",
|
|
4607
|
+
"size"
|
|
4608
|
+
]);
|
|
4609
|
+
};
|
|
4610
|
+
}
|
|
4611
|
+
});
|
|
4631
4612
|
//#endregion
|
|
4632
4613
|
//#region src/components/CircularProgress.vue?vue&type=script&setup=true&lang.ts
|
|
4633
4614
|
var _hoisted_1$1 = [
|
|
@@ -4790,7 +4771,7 @@ var BaseStepper_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
4790
4771
|
}), 128))], 2)], 8, _hoisted_1);
|
|
4791
4772
|
};
|
|
4792
4773
|
}
|
|
4793
|
-
}), [["__scopeId", "data-v-
|
|
4774
|
+
}), [["__scopeId", "data-v-f7513d9a"]]);
|
|
4794
4775
|
//#endregion
|
|
4795
4776
|
//#region src/i18n/runtime.ts
|
|
4796
4777
|
/**
|
|
@@ -4884,7 +4865,10 @@ function createI18nRuntime(options) {
|
|
|
4884
4865
|
watchEffect(() => {
|
|
4885
4866
|
core.locale.value = activeLocale.value;
|
|
4886
4867
|
setFormatLocale(intlLocale.value);
|
|
4887
|
-
if (typeof document !== "undefined")
|
|
4868
|
+
if (typeof document !== "undefined") {
|
|
4869
|
+
document.documentElement.lang = activeLocale.value;
|
|
4870
|
+
document.documentElement.dir = textDirection(intlLocale.value);
|
|
4871
|
+
}
|
|
4888
4872
|
});
|
|
4889
4873
|
/** Read and write the language preference. */
|
|
4890
4874
|
function useLocalePreference() {
|
|
@@ -4934,8 +4918,8 @@ function createI18nRuntime(options) {
|
|
|
4934
4918
|
*
|
|
4935
4919
|
* The fallback keeps `vitest` and `vite dev` honest, where no define runs.
|
|
4936
4920
|
*/
|
|
4937
|
-
var VERSION = "2.
|
|
4921
|
+
var VERSION = "2.23.0";
|
|
4938
4922
|
//#endregion
|
|
4939
|
-
export { ActivityGrid_default as ActivityGrid, AppError, AvatarStack_default as AvatarStack, BaseAlert_default as BaseAlert, BaseAvatar_default as BaseAvatar, BaseBadge_default as BaseBadge, BaseButton_default as BaseButton, BaseCalendar_default as BaseCalendar, BaseCard_default as BaseCard, BaseCheckbox_default as BaseCheckbox, BaseChip_default as BaseChip, BaseCombobox_default as BaseCombobox, BaseDatePicker_default as BaseDatePicker, BaseInput_default as BaseInput, BaseKbd_default as BaseKbd, BaseLink_default as BaseLink, BaseListbox_default as BaseListbox, BaseMenu_default as BaseMenu, BasePopconfirm_default as BasePopconfirm, BasePopover_default as BasePopover, BaseRadioGroup_default as BaseRadioGroup, BaseRating_default as BaseRating, BaseSelect_default as BaseSelect, BaseSeparator_default as BaseSeparator, BaseSheet_default as BaseSheet, BaseSkeleton_default as BaseSkeleton, BaseSlider_default as BaseSlider, BaseSpinner_default as BaseSpinner, BaseStepper_default as BaseStepper, BaseSwitch_default as BaseSwitch, BaseTable_default as BaseTable, BaseTextarea_default as BaseTextarea, BaseTimeline_default as BaseTimeline, CircularProgress_default as CircularProgress, CodeBlock_default as CodeBlock, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, FileDrop_default as FileDrop, FormField_default as FormField, GoogleButton_default as GoogleButton, LocaleLinks_default as LocaleLinks, MATERIALS, NumberInput_default as NumberInput, PALETTES, PageContainer_default as PageContainer, PageHeader_default as PageHeader, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, ScrollArea_default as ScrollArea, SectionHeading_default as SectionHeading, SegmentedControl_default as SegmentedControl, SettingsGroup_default as SettingsGroup, SettingsRow_default as SettingsRow, SkeletonList_default as SkeletonList, SliderField_default as SliderField, StatCard_default as StatCard, TabBar_default as TabBar, TagsInput_default as TagsInput, TimePicker_default as TimePicker, ToastHost_default as ToastHost, ToggleGroup_default as ToggleGroup, ToneDot_default as ToneDot, VERSION, VirtualList_default as VirtualList, addDays, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, ensureSheetRoot, formatDate, formatNumber, fromDateKey, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, toAppError, toDateKey, toRedirectPath, todayKey, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
|
|
4923
|
+
export { ActivityGrid_default as ActivityGrid, AnnounceHost_default as AnnounceHost, AppError, AvatarStack_default as AvatarStack, BaseAlert_default as BaseAlert, BaseAvatar_default as BaseAvatar, BaseBadge_default as BaseBadge, BaseButton_default as BaseButton, BaseCalendar_default as BaseCalendar, BaseCard_default as BaseCard, BaseCheckbox_default as BaseCheckbox, BaseChip_default as BaseChip, BaseCombobox_default as BaseCombobox, BaseDatePicker_default as BaseDatePicker, BaseInput_default as BaseInput, BaseKbd_default as BaseKbd, BaseLink_default as BaseLink, BaseListbox_default as BaseListbox, BaseMenu_default as BaseMenu, BasePopconfirm_default as BasePopconfirm, BasePopover_default as BasePopover, BaseRadioGroup_default as BaseRadioGroup, BaseRating_default as BaseRating, BaseSelect_default as BaseSelect, BaseSeparator_default as BaseSeparator, BaseSheet_default as BaseSheet, BaseSkeleton_default as BaseSkeleton, BaseSlider_default as BaseSlider, BaseSpinner_default as BaseSpinner, BaseStepper_default as BaseStepper, BaseSwitch_default as BaseSwitch, BaseTable_default as BaseTable, BaseTextarea_default as BaseTextarea, BaseTimeline_default as BaseTimeline, CircularProgress_default as CircularProgress, CodeBlock_default as CodeBlock, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, ErrorSummary_default as ErrorSummary, FileDrop_default as FileDrop, FormField_default as FormField, GoogleButton_default as GoogleButton, LocaleLinks_default as LocaleLinks, MATERIALS, NumberInput_default as NumberInput, PALETTES, PageContainer_default as PageContainer, PageHeader_default as PageHeader, PasswordInput_default as PasswordInput, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, ScrollArea_default as ScrollArea, SectionHeading_default as SectionHeading, SegmentedControl_default as SegmentedControl, SettingsGroup_default as SettingsGroup, SettingsRow_default as SettingsRow, SkeletonList_default as SkeletonList, SliderField_default as SliderField, StatCard_default as StatCard, TabBar_default as TabBar, TagsInput_default as TagsInput, TimePicker_default as TimePicker, ToastHost_default as ToastHost, ToggleGroup_default as ToggleGroup, ToneDot_default as ToneDot, VERSION, VirtualList_default as VirtualList, addDays, announce, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, elementDirection, ensureSheetRoot, formatDate, formatNumber, fromDateKey, horizontalStep, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, textDirection, toAppError, toDateKey, toRedirectPath, todayKey, useAnnounce, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
|
|
4940
4924
|
|
|
4941
4925
|
//# sourceMappingURL=index.js.map
|