@voidzero-dev/vitepress-theme 0.1.34 → 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index100.js +9 -0
- package/dist/index101.js +7 -0
- package/dist/index102.js +6 -0
- package/dist/index103.js +9 -0
- package/dist/index104.js +35 -0
- package/dist/index105.js +59 -0
- package/dist/index106.js +11 -0
- package/dist/index107.js +16 -0
- package/dist/index108.js +60 -0
- package/dist/index109.js +8 -0
- package/dist/index110.js +41 -0
- package/dist/index111.js +23 -0
- package/dist/index112.js +27 -0
- package/dist/index113.js +12 -0
- package/dist/index114.js +59 -0
- package/dist/index115.js +38 -0
- package/dist/index116.js +121 -0
- package/dist/index117.js +94 -0
- package/dist/index118.js +10 -0
- package/dist/index119.js +441 -0
- package/dist/index120.js +7 -0
- package/dist/index121.js +1737 -0
- package/dist/index122.js +4 -0
- package/dist/index123.js +317 -0
- package/dist/index124.js +4 -0
- package/dist/index125.js +448 -0
- package/dist/index27.js +1 -1
- package/dist/index3.js +3 -3
- package/dist/index30.js +8 -8
- package/dist/index34.js +12 -12
- package/dist/index36.js +7 -7
- package/dist/index38.js +17 -16
- package/dist/index4.js +24 -21
- package/dist/index40.js +18 -26
- package/dist/index41.js +18 -30
- package/dist/index42.js +18 -26
- package/dist/index43.js +24 -25
- package/dist/index44.js +2 -26
- package/dist/index45.js +29 -21
- package/dist/index46.js +1 -1
- package/dist/index47.js +2 -25
- package/dist/index48.js +2 -2
- package/dist/index49.js +2 -2
- package/dist/index50.js +2 -2
- package/dist/index51.js +2 -49
- package/dist/index52.js +2 -7207
- package/dist/index53.js +1 -1
- package/dist/index54.js +2 -2
- package/dist/index55.js +2 -2
- package/dist/index56.js +2 -2
- package/dist/index57.js +2 -2
- package/dist/index58.js +2 -2
- package/dist/index59.js +2 -2
- package/dist/index6.js +1 -1
- package/dist/index60.js +2 -2
- package/dist/index61.js +1 -1
- package/dist/index62.js +2 -18
- package/dist/index63.js +2 -18
- package/dist/index64.js +2 -18
- package/dist/index65.js +2 -2
- package/dist/index66.js +2 -2
- package/dist/index67.js +84 -2
- package/dist/index68.js +66 -2
- package/dist/index69.js +53 -2
- package/dist/index7.js +1 -1
- package/dist/index70.js +73 -31
- package/dist/index71.js +26 -2
- package/dist/index72.js +30 -2
- package/dist/index73.js +26 -2
- package/dist/index74.js +26 -2
- package/dist/index75.js +26 -2
- package/dist/index76.js +26 -2
- package/dist/index77.js +2 -2
- package/dist/index78.js +49 -5324
- package/dist/index79.js +44 -3
- package/dist/index8.js +2 -2
- package/dist/index80.js +2587 -2
- package/dist/index81.js +51 -2
- package/dist/index82.js +7207 -2
- package/dist/index83.js +14 -2
- package/dist/index84.js +2 -2
- package/dist/index85.js +22 -2
- package/dist/index86.js +123 -3
- package/dist/index87.js +2 -1735
- package/dist/index88.js +5324 -5
- package/dist/index89.js +2 -2
- package/dist/index90.js +2 -446
- package/dist/index91.js +2 -315
- package/dist/index92.js +2 -2
- package/dist/index93.js +4 -0
- package/dist/index94.js +4 -0
- package/dist/index95.js +4 -0
- package/dist/index96.js +6 -0
- package/dist/index97.js +35 -0
- package/dist/index98.js +1204 -0
- package/dist/index99.js +12 -0
- package/package.json +1 -1
package/dist/index100.js
ADDED
package/dist/index101.js
ADDED
package/dist/index102.js
ADDED
package/dist/index103.js
ADDED
package/dist/index104.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getCurrentInstance as l, ref as i, computed as s } from "vue";
|
|
2
|
+
import { unrefElement as a } from "./index105.js";
|
|
3
|
+
function m() {
|
|
4
|
+
const t = l(), r = i(), u = s(() => ["#text", "#comment"].includes(r.value?.$el.nodeName) ? r.value?.$el.nextElementSibling : a(r)), o = Object.assign({}, t.exposed), n = {};
|
|
5
|
+
for (const e in t.props) Object.defineProperty(n, e, {
|
|
6
|
+
enumerable: !0,
|
|
7
|
+
configurable: !0,
|
|
8
|
+
get: () => t.props[e]
|
|
9
|
+
});
|
|
10
|
+
if (Object.keys(o).length > 0) for (const e in o) Object.defineProperty(n, e, {
|
|
11
|
+
enumerable: !0,
|
|
12
|
+
configurable: !0,
|
|
13
|
+
get: () => o[e]
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(n, "$el", {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
configurable: !0,
|
|
18
|
+
get: () => t.vnode.el
|
|
19
|
+
}), t.exposed = n;
|
|
20
|
+
function c(e) {
|
|
21
|
+
r.value = e, e && (Object.defineProperty(n, "$el", {
|
|
22
|
+
enumerable: !0,
|
|
23
|
+
configurable: !0,
|
|
24
|
+
get: () => e instanceof Element ? e : e.$el
|
|
25
|
+
}), t.exposed = n);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
forwardRef: c,
|
|
29
|
+
currentRef: r,
|
|
30
|
+
currentElement: u
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
m as useForwardExpose
|
|
35
|
+
};
|
package/dist/index105.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { isDef as b, isClient as E } from "./index109.js";
|
|
2
|
+
import { getCurrentInstance as J, ref as O, watch as _, nextTick as h, computed as C, toValue as F } from "vue";
|
|
3
|
+
const T = E ? window : void 0;
|
|
4
|
+
function U(i) {
|
|
5
|
+
var n;
|
|
6
|
+
const l = F(i);
|
|
7
|
+
return (n = l?.$el) != null ? n : l;
|
|
8
|
+
}
|
|
9
|
+
function D(i) {
|
|
10
|
+
return JSON.parse(JSON.stringify(i));
|
|
11
|
+
}
|
|
12
|
+
function W(i, n, l, w = {}) {
|
|
13
|
+
var a, c, d;
|
|
14
|
+
const {
|
|
15
|
+
clone: s = !1,
|
|
16
|
+
passive: N = !1,
|
|
17
|
+
eventName: S,
|
|
18
|
+
deep: m = !1,
|
|
19
|
+
defaultValue: $,
|
|
20
|
+
shouldEmit: v
|
|
21
|
+
} = w, t = J(), g = l || t?.emit || ((a = t?.$emit) == null ? void 0 : a.bind(t)) || ((d = (c = t?.proxy) == null ? void 0 : c.$emit) == null ? void 0 : d.bind(t?.proxy));
|
|
22
|
+
let o = S;
|
|
23
|
+
n || (n = "modelValue"), o = o || `update:${n.toString()}`;
|
|
24
|
+
const p = (e) => s ? typeof s == "function" ? s(e) : D(e) : e, V = () => b(i[n]) ? p(i[n]) : $, x = (e) => {
|
|
25
|
+
v ? v(e) && g(o, e) : g(o, e);
|
|
26
|
+
};
|
|
27
|
+
if (N) {
|
|
28
|
+
const e = V(), f = O(e);
|
|
29
|
+
let u = !1;
|
|
30
|
+
return _(
|
|
31
|
+
() => i[n],
|
|
32
|
+
(r) => {
|
|
33
|
+
u || (u = !0, f.value = p(r), h(() => u = !1));
|
|
34
|
+
}
|
|
35
|
+
), _(
|
|
36
|
+
f,
|
|
37
|
+
(r) => {
|
|
38
|
+
!u && (r !== i[n] || m) && x(r);
|
|
39
|
+
},
|
|
40
|
+
{ deep: m }
|
|
41
|
+
), f;
|
|
42
|
+
} else
|
|
43
|
+
return C({
|
|
44
|
+
get() {
|
|
45
|
+
return V();
|
|
46
|
+
},
|
|
47
|
+
set(e) {
|
|
48
|
+
x(e);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
D as cloneFnJSON,
|
|
54
|
+
T as defaultWindow,
|
|
55
|
+
E as isClient,
|
|
56
|
+
b as isDef,
|
|
57
|
+
U as unrefElement,
|
|
58
|
+
W as useVModel
|
|
59
|
+
};
|
package/dist/index106.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { injectConfigProviderContext as r } from "./index102.js";
|
|
2
|
+
import * as o from "vue";
|
|
3
|
+
let n = 0;
|
|
4
|
+
function d(i, e = "reka") {
|
|
5
|
+
if ("useId" in o) return `${e}-${o.useId?.()}`;
|
|
6
|
+
const t = r({ useId: void 0 });
|
|
7
|
+
return t.useId ? `${e}-${t.useId()}` : `${e}-${++n}`;
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
d as useId
|
|
11
|
+
};
|
package/dist/index107.js
ADDED
package/dist/index108.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useStateMachine as U } from "./index107.js";
|
|
2
|
+
import { ref as f, watch as N, nextTick as h, onUnmounted as S, computed as g } from "vue";
|
|
3
|
+
import { defaultWindow as y } from "./index105.js";
|
|
4
|
+
import { isClient as C } from "./index109.js";
|
|
5
|
+
function P(o, t) {
|
|
6
|
+
const A = f({}), r = f("none"), p = f(o), E = o.value ? "mounted" : "unmounted";
|
|
7
|
+
let c;
|
|
8
|
+
const M = t.value?.ownerDocument.defaultView ?? y, { state: m, dispatch: a } = U(E, {
|
|
9
|
+
mounted: {
|
|
10
|
+
UNMOUNT: "unmounted",
|
|
11
|
+
ANIMATION_OUT: "unmountSuspended"
|
|
12
|
+
},
|
|
13
|
+
unmountSuspended: {
|
|
14
|
+
MOUNT: "mounted",
|
|
15
|
+
ANIMATION_END: "unmounted"
|
|
16
|
+
},
|
|
17
|
+
unmounted: { MOUNT: "mounted" }
|
|
18
|
+
}), i = (e) => {
|
|
19
|
+
if (C) {
|
|
20
|
+
const n = new CustomEvent(e, {
|
|
21
|
+
bubbles: !1,
|
|
22
|
+
cancelable: !1
|
|
23
|
+
});
|
|
24
|
+
t.value?.dispatchEvent(n);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
N(o, async (e, n) => {
|
|
28
|
+
const v = n !== e;
|
|
29
|
+
if (await h(), v) {
|
|
30
|
+
const d = r.value, u = l(t.value);
|
|
31
|
+
e ? (a("MOUNT"), i("enter"), u === "none" && i("after-enter")) : u === "none" || u === "undefined" || A.value?.display === "none" ? (a("UNMOUNT"), i("leave"), i("after-leave")) : n && d !== u ? (a("ANIMATION_OUT"), i("leave")) : (a("UNMOUNT"), i("after-leave"));
|
|
32
|
+
}
|
|
33
|
+
}, { immediate: !0 });
|
|
34
|
+
const s = (e) => {
|
|
35
|
+
const n = l(t.value), v = n.includes(CSS.escape(e.animationName)), d = m.value === "mounted" ? "enter" : "leave";
|
|
36
|
+
if (e.target === t.value && v && (i(`after-${d}`), a("ANIMATION_END"), !p.value)) {
|
|
37
|
+
const u = t.value.style.animationFillMode;
|
|
38
|
+
t.value.style.animationFillMode = "forwards", c = M?.setTimeout(() => {
|
|
39
|
+
t.value?.style.animationFillMode === "forwards" && (t.value.style.animationFillMode = u);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
e.target === t.value && n === "none" && a("ANIMATION_END");
|
|
43
|
+
}, T = (e) => {
|
|
44
|
+
e.target === t.value && (r.value = l(t.value));
|
|
45
|
+
}, O = N(t, (e, n) => {
|
|
46
|
+
e ? (A.value = getComputedStyle(e), e.addEventListener("animationstart", T), e.addEventListener("animationcancel", s), e.addEventListener("animationend", s)) : (a("ANIMATION_END"), c !== void 0 && M?.clearTimeout(c), n?.removeEventListener("animationstart", T), n?.removeEventListener("animationcancel", s), n?.removeEventListener("animationend", s));
|
|
47
|
+
}, { immediate: !0 }), I = N(m, () => {
|
|
48
|
+
const e = l(t.value);
|
|
49
|
+
r.value = m.value === "mounted" ? e : "none";
|
|
50
|
+
});
|
|
51
|
+
return S(() => {
|
|
52
|
+
O(), I();
|
|
53
|
+
}), { isPresent: g(() => ["mounted", "unmountSuspended"].includes(m.value)) };
|
|
54
|
+
}
|
|
55
|
+
function l(o) {
|
|
56
|
+
return o && getComputedStyle(o).animationName || "none";
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
P as usePresence
|
|
60
|
+
};
|
package/dist/index109.js
ADDED
package/dist/index110.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { renderSlotFragments as u } from "./index101.js";
|
|
2
|
+
import { usePresence as f } from "./index108.js";
|
|
3
|
+
import { defineComponent as d, toRefs as m, ref as h, getCurrentInstance as v, h as y } from "vue";
|
|
4
|
+
import { unrefElement as w } from "./index105.js";
|
|
5
|
+
var x = d({
|
|
6
|
+
name: "Presence",
|
|
7
|
+
props: {
|
|
8
|
+
present: {
|
|
9
|
+
type: Boolean,
|
|
10
|
+
required: !0
|
|
11
|
+
},
|
|
12
|
+
forceMount: { type: Boolean }
|
|
13
|
+
},
|
|
14
|
+
slots: {},
|
|
15
|
+
setup(l, { slots: a, expose: c }) {
|
|
16
|
+
const { present: i, forceMount: p } = m(l), r = h(), { isPresent: t } = f(i, r);
|
|
17
|
+
c({ present: t });
|
|
18
|
+
let n = a.default({ present: t.value });
|
|
19
|
+
n = u(n || []);
|
|
20
|
+
const s = v();
|
|
21
|
+
if (n && n?.length > 1) {
|
|
22
|
+
const o = s?.parent?.type.name ? `<${s.parent.type.name} />` : "component";
|
|
23
|
+
throw new Error([
|
|
24
|
+
`Detected an invalid children for \`${o}\` for \`Presence\` component.`,
|
|
25
|
+
"",
|
|
26
|
+
"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",
|
|
27
|
+
"You can apply a few solutions:",
|
|
28
|
+
["Provide a single child element so that `presence` directive attach correctly.", "Ensure the first child is an actual element instead of a raw text node or comment node."].map((e) => ` - ${e}`).join(`
|
|
29
|
+
`)
|
|
30
|
+
].join(`
|
|
31
|
+
`));
|
|
32
|
+
}
|
|
33
|
+
return () => p.value || i.value || t.value ? y(a.default({ present: t.value })[0], { ref: (o) => {
|
|
34
|
+
const e = w(o);
|
|
35
|
+
return typeof e?.hasAttribute > "u" || (e?.hasAttribute("data-reka-popper-content-wrapper") ? r.value = e.firstElementChild : r.value = e), e;
|
|
36
|
+
} }) : null;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
export {
|
|
40
|
+
x as Presence_default
|
|
41
|
+
};
|
package/dist/index111.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { renderSlotFragments as s } from "./index101.js";
|
|
2
|
+
import { defineComponent as d, Comment as l, mergeProps as f, cloneVNode as c } from "vue";
|
|
3
|
+
const a = d({
|
|
4
|
+
name: "PrimitiveSlot",
|
|
5
|
+
inheritAttrs: !1,
|
|
6
|
+
setup(u, { attrs: t, slots: o }) {
|
|
7
|
+
return () => {
|
|
8
|
+
if (!o.default) return null;
|
|
9
|
+
const e = s(o.default()), n = e.findIndex((p) => p.type !== l);
|
|
10
|
+
if (n === -1) return e;
|
|
11
|
+
const r = e[n];
|
|
12
|
+
delete r.props?.ref;
|
|
13
|
+
const m = r.props ? f(t, r.props) : t, i = c({
|
|
14
|
+
...r,
|
|
15
|
+
props: {}
|
|
16
|
+
}, m);
|
|
17
|
+
return e.length === 1 ? i : (e[n] = i, e);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
export {
|
|
22
|
+
a as Slot
|
|
23
|
+
};
|
package/dist/index112.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Slot as r } from "./index111.js";
|
|
2
|
+
import { defineComponent as f, h as a } from "vue";
|
|
3
|
+
const l = [
|
|
4
|
+
"area",
|
|
5
|
+
"img",
|
|
6
|
+
"input"
|
|
7
|
+
], d = f({
|
|
8
|
+
name: "Primitive",
|
|
9
|
+
inheritAttrs: !1,
|
|
10
|
+
props: {
|
|
11
|
+
asChild: {
|
|
12
|
+
type: Boolean,
|
|
13
|
+
default: !1
|
|
14
|
+
},
|
|
15
|
+
as: {
|
|
16
|
+
type: [String, Object],
|
|
17
|
+
default: "div"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
setup(t, { attrs: i, slots: n }) {
|
|
21
|
+
const e = t.asChild ? "template" : t.as;
|
|
22
|
+
return typeof e == "string" && l.includes(e) ? () => a(e, i) : e !== "template" ? () => a(t.as, i, { default: n.default }) : () => a(r, i, { default: n.default });
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
d as Primitive
|
|
27
|
+
};
|
package/dist/index113.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ref as n, computed as m } from "vue";
|
|
2
|
+
import { unrefElement as r } from "./index105.js";
|
|
3
|
+
function o() {
|
|
4
|
+
const e = n(), t = m(() => ["#text", "#comment"].includes(e.value?.$el.nodeName) ? e.value?.$el.nextElementSibling : r(e));
|
|
5
|
+
return {
|
|
6
|
+
primitiveElement: e,
|
|
7
|
+
currentElement: t
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
o as usePrimitiveElement
|
|
12
|
+
};
|
package/dist/index114.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Slot as s } from "./index111.js";
|
|
2
|
+
import { usePrimitiveElement as m } from "./index113.js";
|
|
3
|
+
import { ref as u, provide as h, inject as k, defineComponent as f, watch as w, h as v, watchEffect as x, markRaw as T, computed as p } from "vue";
|
|
4
|
+
const d = "data-reka-collection-item";
|
|
5
|
+
function j(M = {}) {
|
|
6
|
+
const { key: A = "", isProvider: y = !1 } = M, a = `${A}CollectionProvider`;
|
|
7
|
+
let e;
|
|
8
|
+
if (y) {
|
|
9
|
+
const o = u(/* @__PURE__ */ new Map());
|
|
10
|
+
e = {
|
|
11
|
+
collectionRef: u(),
|
|
12
|
+
itemMap: o
|
|
13
|
+
}, h(a, e);
|
|
14
|
+
} else e = k(a);
|
|
15
|
+
const C = (o = !1) => {
|
|
16
|
+
const t = e.collectionRef.value;
|
|
17
|
+
if (!t) return [];
|
|
18
|
+
const r = Array.from(t.querySelectorAll(`[${d}]`)), l = Array.from(e.itemMap.value.values()).sort((n, c) => r.indexOf(n.ref) - r.indexOf(c.ref));
|
|
19
|
+
return o ? l : l.filter((n) => n.ref.dataset.disabled !== "");
|
|
20
|
+
}, E = f({
|
|
21
|
+
name: "CollectionSlot",
|
|
22
|
+
setup(o, { slots: t }) {
|
|
23
|
+
const { primitiveElement: r, currentElement: i } = m();
|
|
24
|
+
return w(i, () => {
|
|
25
|
+
e.collectionRef.value = i.value;
|
|
26
|
+
}), () => v(s, { ref: r }, t);
|
|
27
|
+
}
|
|
28
|
+
}), I = f({
|
|
29
|
+
name: "CollectionItem",
|
|
30
|
+
inheritAttrs: !1,
|
|
31
|
+
props: { value: { validator: () => !0 } },
|
|
32
|
+
setup(o, { slots: t, attrs: r }) {
|
|
33
|
+
const { primitiveElement: i, currentElement: l } = m();
|
|
34
|
+
return x((n) => {
|
|
35
|
+
if (l.value) {
|
|
36
|
+
const c = T(l.value);
|
|
37
|
+
e.itemMap.value.set(c, {
|
|
38
|
+
ref: l.value,
|
|
39
|
+
value: o.value
|
|
40
|
+
}), n(() => e.itemMap.value.delete(c));
|
|
41
|
+
}
|
|
42
|
+
}), () => v(s, {
|
|
43
|
+
...r,
|
|
44
|
+
[d]: "",
|
|
45
|
+
ref: i
|
|
46
|
+
}, t);
|
|
47
|
+
}
|
|
48
|
+
}), R = p(() => Array.from(e.itemMap.value.values())), S = p(() => e.itemMap.value.size);
|
|
49
|
+
return {
|
|
50
|
+
getItems: C,
|
|
51
|
+
reactiveItems: R,
|
|
52
|
+
itemMapSize: S,
|
|
53
|
+
CollectionSlot: E,
|
|
54
|
+
CollectionItem: I
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
j as useCollection
|
|
59
|
+
};
|
package/dist/index115.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getActiveElement as n } from "./index100.js";
|
|
2
|
+
const u = "rovingFocusGroup.onEntryFocus", s = {
|
|
3
|
+
bubbles: !1,
|
|
4
|
+
cancelable: !0
|
|
5
|
+
}, i = {
|
|
6
|
+
ArrowLeft: "prev",
|
|
7
|
+
ArrowUp: "prev",
|
|
8
|
+
ArrowRight: "next",
|
|
9
|
+
ArrowDown: "next",
|
|
10
|
+
PageUp: "first",
|
|
11
|
+
Home: "first",
|
|
12
|
+
PageDown: "last",
|
|
13
|
+
End: "last"
|
|
14
|
+
};
|
|
15
|
+
function c(r, t) {
|
|
16
|
+
return t !== "rtl" ? r : r === "ArrowLeft" ? "ArrowRight" : r === "ArrowRight" ? "ArrowLeft" : r;
|
|
17
|
+
}
|
|
18
|
+
function w(r, t, e) {
|
|
19
|
+
const o = c(r.key, e);
|
|
20
|
+
if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(o)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(o)))
|
|
21
|
+
return i[o];
|
|
22
|
+
}
|
|
23
|
+
function A(r, t = !1) {
|
|
24
|
+
const e = n();
|
|
25
|
+
for (const o of r)
|
|
26
|
+
if (o === e || (o.focus({ preventScroll: t }), n() !== e)) return;
|
|
27
|
+
}
|
|
28
|
+
function l(r, t) {
|
|
29
|
+
return r.map((e, o) => r[(t + o) % r.length]);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
u as ENTRY_FOCUS,
|
|
33
|
+
s as EVENT_OPTIONS,
|
|
34
|
+
i as MAP_KEY_TO_FOCUS_INTENT,
|
|
35
|
+
A as focusFirst,
|
|
36
|
+
w as getFocusIntent,
|
|
37
|
+
l as wrapArray
|
|
38
|
+
};
|
package/dist/index116.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { createContext as E } from "./index99.js";
|
|
2
|
+
import { useDirection as x } from "./index103.js";
|
|
3
|
+
import { Primitive as G } from "./index112.js";
|
|
4
|
+
import { useCollection as O } from "./index114.js";
|
|
5
|
+
import { focusFirst as k, ENTRY_FOCUS as M, EVENT_OPTIONS as N } from "./index115.js";
|
|
6
|
+
import { defineComponent as P, toRefs as V, ref as c, createBlock as w, openBlock as A, unref as s, withCtx as g, createVNode as $, renderSlot as D } from "vue";
|
|
7
|
+
import { useVModel as U } from "./index105.js";
|
|
8
|
+
const [X, j] = E("RovingFocusGroup");
|
|
9
|
+
var K = /* @__PURE__ */ P({
|
|
10
|
+
__name: "RovingFocusGroup",
|
|
11
|
+
props: {
|
|
12
|
+
orientation: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: !1,
|
|
15
|
+
default: void 0
|
|
16
|
+
},
|
|
17
|
+
dir: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: !1
|
|
20
|
+
},
|
|
21
|
+
loop: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
required: !1,
|
|
24
|
+
default: !1
|
|
25
|
+
},
|
|
26
|
+
currentTabStopId: {
|
|
27
|
+
type: [String, null],
|
|
28
|
+
required: !1
|
|
29
|
+
},
|
|
30
|
+
defaultCurrentTabStopId: {
|
|
31
|
+
type: String,
|
|
32
|
+
required: !1
|
|
33
|
+
},
|
|
34
|
+
preventScrollOnEntryFocus: {
|
|
35
|
+
type: Boolean,
|
|
36
|
+
required: !1,
|
|
37
|
+
default: !1
|
|
38
|
+
},
|
|
39
|
+
asChild: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
required: !1
|
|
42
|
+
},
|
|
43
|
+
as: {
|
|
44
|
+
type: null,
|
|
45
|
+
required: !1
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
emits: ["entryFocus", "update:currentTabStopId"],
|
|
49
|
+
setup(F, { expose: b, emit: I }) {
|
|
50
|
+
const r = F, p = I, { loop: S, orientation: f, dir: y } = V(r), v = x(y), l = U(r, "currentTabStopId", p, {
|
|
51
|
+
defaultValue: r.defaultCurrentTabStopId,
|
|
52
|
+
passive: r.currentTabStopId === void 0
|
|
53
|
+
}), u = c(!1), a = c(!1), d = c(0), { getItems: m, CollectionSlot: T } = O({ isProvider: !0 });
|
|
54
|
+
function C(e) {
|
|
55
|
+
const o = !a.value;
|
|
56
|
+
if (e.currentTarget && e.target === e.currentTarget && o && !u.value) {
|
|
57
|
+
const n = new CustomEvent(M, N);
|
|
58
|
+
if (e.currentTarget.dispatchEvent(n), p("entryFocus", n), !n.defaultPrevented) {
|
|
59
|
+
const i = m().map((t) => t.ref).filter((t) => t.dataset.disabled !== ""), _ = i.find((t) => t.getAttribute("data-active") === ""), R = i.find((t) => t.getAttribute("data-highlighted") === ""), q = i.find((t) => t.id === l.value), B = [
|
|
60
|
+
_,
|
|
61
|
+
R,
|
|
62
|
+
q,
|
|
63
|
+
...i
|
|
64
|
+
].filter(Boolean);
|
|
65
|
+
k(B, r.preventScrollOnEntryFocus);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
a.value = !1;
|
|
69
|
+
}
|
|
70
|
+
function h() {
|
|
71
|
+
setTimeout(() => {
|
|
72
|
+
a.value = !1;
|
|
73
|
+
}, 1);
|
|
74
|
+
}
|
|
75
|
+
return b({ getItems: m }), j({
|
|
76
|
+
loop: S,
|
|
77
|
+
dir: v,
|
|
78
|
+
orientation: f,
|
|
79
|
+
currentTabStopId: l,
|
|
80
|
+
onItemFocus: (e) => {
|
|
81
|
+
l.value = e;
|
|
82
|
+
},
|
|
83
|
+
onItemShiftTab: () => {
|
|
84
|
+
u.value = !0;
|
|
85
|
+
},
|
|
86
|
+
onFocusableItemAdd: () => {
|
|
87
|
+
d.value++;
|
|
88
|
+
},
|
|
89
|
+
onFocusableItemRemove: () => {
|
|
90
|
+
d.value--;
|
|
91
|
+
}
|
|
92
|
+
}), (e, o) => (A(), w(s(T), null, {
|
|
93
|
+
default: g(() => [$(s(G), {
|
|
94
|
+
tabindex: u.value || d.value === 0 ? -1 : 0,
|
|
95
|
+
"data-orientation": s(f),
|
|
96
|
+
as: e.as,
|
|
97
|
+
"as-child": e.asChild,
|
|
98
|
+
dir: s(v),
|
|
99
|
+
style: { outline: "none" },
|
|
100
|
+
onMousedown: o[0] || (o[0] = (n) => a.value = !0),
|
|
101
|
+
onMouseup: h,
|
|
102
|
+
onFocus: C,
|
|
103
|
+
onBlur: o[1] || (o[1] = (n) => u.value = !1)
|
|
104
|
+
}, {
|
|
105
|
+
default: g(() => [D(e.$slots, "default")]),
|
|
106
|
+
_: 3
|
|
107
|
+
}, 8, [
|
|
108
|
+
"tabindex",
|
|
109
|
+
"data-orientation",
|
|
110
|
+
"as",
|
|
111
|
+
"as-child",
|
|
112
|
+
"dir"
|
|
113
|
+
])]),
|
|
114
|
+
_: 3
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
}), Z = K;
|
|
118
|
+
export {
|
|
119
|
+
Z as RovingFocusGroup_default,
|
|
120
|
+
X as injectRovingFocusGroupContext
|
|
121
|
+
};
|
package/dist/index117.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { useId as b } from "./index106.js";
|
|
2
|
+
import { Primitive as y } from "./index112.js";
|
|
3
|
+
import { useCollection as I } from "./index114.js";
|
|
4
|
+
import { getFocusIntent as g, wrapArray as F, focusFirst as K } from "./index115.js";
|
|
5
|
+
import { injectRovingFocusGroupContext as S } from "./index116.js";
|
|
6
|
+
import { defineComponent as h, computed as u, onMounted as C, onUnmounted as w, createBlock as T, openBlock as q, unref as i, withCtx as s, createVNode as B, renderSlot as x, nextTick as R } from "vue";
|
|
7
|
+
var _ = /* @__PURE__ */ h({
|
|
8
|
+
__name: "RovingFocusItem",
|
|
9
|
+
props: {
|
|
10
|
+
tabStopId: {
|
|
11
|
+
type: String,
|
|
12
|
+
required: !1
|
|
13
|
+
},
|
|
14
|
+
focusable: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
required: !1,
|
|
17
|
+
default: !0
|
|
18
|
+
},
|
|
19
|
+
active: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
required: !1
|
|
22
|
+
},
|
|
23
|
+
allowShiftKey: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
required: !1
|
|
26
|
+
},
|
|
27
|
+
asChild: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
required: !1
|
|
30
|
+
},
|
|
31
|
+
as: {
|
|
32
|
+
type: null,
|
|
33
|
+
required: !1,
|
|
34
|
+
default: "span"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
setup(d) {
|
|
38
|
+
const n = d, t = S(), f = b(), l = u(() => n.tabStopId || f), c = u(() => t.currentTabStopId.value === l.value), { getItems: p, CollectionItem: m } = I();
|
|
39
|
+
C(() => {
|
|
40
|
+
n.focusable && t.onFocusableItemAdd();
|
|
41
|
+
}), w(() => {
|
|
42
|
+
n.focusable && t.onFocusableItemRemove();
|
|
43
|
+
});
|
|
44
|
+
function v(e) {
|
|
45
|
+
if (e.key === "Tab" && e.shiftKey) {
|
|
46
|
+
t.onItemShiftTab();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (e.target !== e.currentTarget) return;
|
|
50
|
+
const o = g(e, t.orientation.value, t.dir.value);
|
|
51
|
+
if (o !== void 0) {
|
|
52
|
+
if (e.metaKey || e.ctrlKey || e.altKey || !n.allowShiftKey && e.shiftKey) return;
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
let a = [...p().map((r) => r.ref).filter((r) => r.dataset.disabled !== "")];
|
|
55
|
+
if (o === "last") a.reverse();
|
|
56
|
+
else if (o === "prev" || o === "next") {
|
|
57
|
+
o === "prev" && a.reverse();
|
|
58
|
+
const r = a.indexOf(e.currentTarget);
|
|
59
|
+
a = t.loop.value ? F(a, r + 1) : a.slice(r + 1);
|
|
60
|
+
}
|
|
61
|
+
R(() => K(a));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return (e, o) => (q(), T(i(m), null, {
|
|
65
|
+
default: s(() => [B(i(y), {
|
|
66
|
+
tabindex: c.value ? 0 : -1,
|
|
67
|
+
"data-orientation": i(t).orientation.value,
|
|
68
|
+
"data-active": e.active ? "" : void 0,
|
|
69
|
+
"data-disabled": e.focusable ? void 0 : "",
|
|
70
|
+
as: e.as,
|
|
71
|
+
"as-child": e.asChild,
|
|
72
|
+
onMousedown: o[0] || (o[0] = (a) => {
|
|
73
|
+
e.focusable ? i(t).onItemFocus(l.value) : a.preventDefault();
|
|
74
|
+
}),
|
|
75
|
+
onFocus: o[1] || (o[1] = (a) => i(t).onItemFocus(l.value)),
|
|
76
|
+
onKeydown: v
|
|
77
|
+
}, {
|
|
78
|
+
default: s(() => [x(e.$slots, "default")]),
|
|
79
|
+
_: 3
|
|
80
|
+
}, 8, [
|
|
81
|
+
"tabindex",
|
|
82
|
+
"data-orientation",
|
|
83
|
+
"data-active",
|
|
84
|
+
"data-disabled",
|
|
85
|
+
"as",
|
|
86
|
+
"as-child"
|
|
87
|
+
])]),
|
|
88
|
+
_: 3
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
}), j = _;
|
|
92
|
+
export {
|
|
93
|
+
j as RovingFocusItem_default
|
|
94
|
+
};
|