zudoku 0.12.2 → 0.13.1
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/app/main.js +3 -3
- package/dist/app/main.js.map +1 -1
- package/dist/cli/dev/handler.js +2 -2
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/validators/validate.d.ts +42 -23
- package/dist/config/validators/validate.js +6 -2
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/lib/components/Banner.js +7 -1
- package/dist/lib/components/Banner.js.map +1 -1
- package/dist/lib/components/Header.js +1 -1
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Layout.js +1 -1
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +2 -1
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/Search.js +1 -1
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/SlotletProvider.d.ts +9 -2
- package/dist/lib/components/SlotletProvider.js +4 -2
- package/dist/lib/components/SlotletProvider.js.map +1 -1
- package/dist/lib/components/index.d.ts +2 -1
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/core/DevPortalContext.d.ts +1 -1
- package/dist/lib/oas/graphql/index.js +2 -6
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/plugins/custom-pages/CustomPage.d.ts +2 -0
- package/dist/lib/plugins/custom-pages/CustomPage.js +10 -0
- package/dist/lib/plugins/custom-pages/CustomPage.js.map +1 -0
- package/dist/lib/plugins/custom-pages/index.d.ts +10 -0
- package/dist/lib/plugins/custom-pages/index.js +11 -0
- package/dist/lib/plugins/custom-pages/index.js.map +1 -0
- package/dist/lib/plugins/openapi/Endpoint.js +1 -1
- package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +1 -1
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/Route.d.ts +1 -1
- package/dist/lib/plugins/openapi/Route.js +1 -1
- package/dist/lib/plugins/openapi/Route.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
- package/dist/lib/plugins/openapi/client/createWorkerClient.js +1 -1
- package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +1 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/ui/Callout.d.ts +36 -35
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/Drawer.d.ts +8 -10
- package/dist/lib/ui/Drawer.js.map +1 -1
- package/dist/lib/util/useExposedProps.d.ts +2 -0
- package/dist/lib/util/useExposedProps.js +8 -0
- package/dist/lib/util/useExposedProps.js.map +1 -0
- package/dist/vite/config.js +2 -0
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.d.ts +6 -1
- package/dist/vite/dev-server.js +13 -3
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/plugin-component.js +0 -1
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-custom-pages.d.ts +4 -0
- package/dist/vite/plugin-custom-pages.js +30 -0
- package/dist/vite/plugin-custom-pages.js.map +1 -0
- package/dist/vite/plugin.js +2 -0
- package/dist/vite/plugin.js.map +1 -1
- package/lib/{AuthenticationPlugin-Bx9FK124.js → AuthenticationPlugin-CbgJ5SAh.js} +3 -3
- package/lib/{AuthenticationPlugin-Bx9FK124.js.map → AuthenticationPlugin-CbgJ5SAh.js.map} +1 -1
- package/lib/{DeveloperHint-YeWHKvyr.js → DeveloperHint-CiXPc9Xm.js} +2 -2
- package/lib/{DeveloperHint-YeWHKvyr.js.map → DeveloperHint-CiXPc9Xm.js.map} +1 -1
- package/lib/ErrorPage-B-zoPPVx.js +15 -0
- package/lib/{ErrorPage-CsZAN_za.js.map → ErrorPage-B-zoPPVx.js.map} +1 -1
- package/lib/Input-QMLhK7Rb.js +2229 -0
- package/lib/Input-QMLhK7Rb.js.map +1 -0
- package/lib/{Markdown-DapSf3wG.js → Markdown-D6Nze6qq.js} +3281 -5392
- package/lib/Markdown-D6Nze6qq.js.map +1 -0
- package/lib/{MdxPage-BqBWsXZ1.js → MdxPage-DBhq6-5F.js} +15 -15
- package/lib/{MdxPage-BqBWsXZ1.js.map → MdxPage-DBhq6-5F.js.map} +1 -1
- package/lib/{OperationList-CYrmxPa8.js → OperationList-Ba24gUd2.js} +50 -51
- package/lib/OperationList-Ba24gUd2.js.map +1 -0
- package/lib/{Route-Q5mqNQrv.js → Route-DI38nxYt.js} +3 -4
- package/lib/Route-DI38nxYt.js.map +1 -0
- package/lib/SidebarBadge-B9-VJSQr.js +503 -0
- package/lib/SidebarBadge-B9-VJSQr.js.map +1 -0
- package/lib/{SlotletProvider-D3UD5Go3.js → SlotletProvider-Cb8mGpBO.js} +46 -46
- package/lib/{SlotletProvider-D3UD5Go3.js.map → SlotletProvider-Cb8mGpBO.js.map} +1 -1
- package/lib/ZudokuContext-BEmsYQoq.js +1173 -0
- package/lib/ZudokuContext-BEmsYQoq.js.map +1 -0
- package/lib/assets/{index-B9EWVYfo.js → index-B_Jk_Yzp.js} +968 -938
- package/lib/assets/index-B_Jk_Yzp.js.map +1 -0
- package/lib/assets/{worker-Bcj4NA2p.js → worker-Bf8vjASY.js} +4582 -4303
- package/lib/assets/worker-Bf8vjASY.js.map +1 -0
- package/lib/cn-BmFQLtkS.js +2279 -0
- package/lib/cn-BmFQLtkS.js.map +1 -0
- package/lib/{index-BG0g4WW0.js → index-BRCiYFaL.js} +747 -737
- package/lib/index-BRCiYFaL.js.map +1 -0
- package/lib/{index-CLd8ycZz.js → index-CkwDvuPt.js} +947 -917
- package/lib/index-CkwDvuPt.js.map +1 -0
- package/lib/{index-LNp6rxyU.js → index-D06ATMgg.js} +2 -2
- package/lib/{index-LNp6rxyU.js.map → index-D06ATMgg.js.map} +1 -1
- package/lib/{index-BlJ2rj99.js → index-DA74gNq3.js} +1124 -974
- package/lib/index-DA74gNq3.js.map +1 -0
- package/lib/index-DJqnphbT.js +35 -0
- package/lib/{index-Bn6Lc9tq.js.map → index-DJqnphbT.js.map} +1 -1
- package/lib/{index-BngPzhKn.js → index-dgcPryXi.js} +3 -3
- package/lib/{index-BngPzhKn.js.map → index-dgcPryXi.js.map} +1 -1
- package/lib/{index-Dolisrci.js → index-g_JJcuFg.js} +603 -549
- package/lib/index-g_JJcuFg.js.map +1 -0
- package/lib/router-Oe6YmY6B.js +3024 -0
- package/lib/router-Oe6YmY6B.js.map +1 -0
- package/lib/state-CsuHT8ZO.js +183 -0
- package/lib/state-CsuHT8ZO.js.map +1 -0
- package/lib/urql-core-KJnLL26g.js +1455 -0
- package/lib/urql-core-KJnLL26g.js.map +1 -0
- package/lib/useExposedProps-Csw8oAlt.js +9 -0
- package/lib/useExposedProps-Csw8oAlt.js.map +1 -0
- package/lib/{utils-ByIc_KIM.js → utils-Chi3p5nE.js} +4 -4
- package/lib/utils-Chi3p5nE.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-openid.js +363 -350
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +1697 -1623
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +4599 -4319
- package/lib/zudoku.openapi-worker.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +7 -7
- package/lib/zudoku.plugin-custom-pages.js +21 -0
- package/lib/zudoku.plugin-custom-pages.js.map +1 -0
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +8 -8
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/package.json +61 -68
- package/src/app/main.tsx +3 -3
- package/src/lib/components/Banner.tsx +12 -2
- package/src/lib/components/Header.tsx +4 -2
- package/src/lib/components/Layout.tsx +1 -0
- package/src/lib/components/MobileTopNavigation.tsx +4 -0
- package/src/lib/components/Search.tsx +1 -1
- package/src/lib/components/SlotletProvider.tsx +27 -4
- package/src/lib/components/index.ts +1 -1
- package/src/lib/core/DevPortalContext.ts +1 -1
- package/src/lib/oas/graphql/index.ts +3 -11
- package/src/lib/plugins/custom-pages/CustomPage.tsx +15 -0
- package/src/lib/plugins/custom-pages/index.tsx +24 -0
- package/src/lib/plugins/openapi/Endpoint.tsx +1 -1
- package/src/lib/plugins/openapi/OperationList.tsx +1 -1
- package/src/lib/plugins/openapi/Route.tsx +1 -2
- package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
- package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -6
- package/src/lib/plugins/openapi/client/createWorkerClient.ts +1 -6
- package/src/lib/plugins/openapi/index.tsx +1 -5
- package/src/lib/ui/Callout.tsx +7 -6
- package/src/lib/ui/Drawer.tsx +38 -36
- package/src/lib/util/useExposedProps.tsx +10 -0
- package/dist/lib/plugins/custom-page/index.d.ts +0 -8
- package/dist/lib/plugins/custom-page/index.js +0 -12
- package/dist/lib/plugins/custom-page/index.js.map +0 -1
- package/dist/lib/plugins/openapi/playground/Editor.d.ts +0 -1
- package/dist/lib/plugins/openapi/playground/Editor.js +0 -5
- package/dist/lib/plugins/openapi/playground/Editor.js.map +0 -1
- package/dist/lib/plugins/openapi/util/urql.d.ts +0 -7
- package/dist/lib/plugins/openapi/util/urql.js +0 -8
- package/dist/lib/plugins/openapi/util/urql.js.map +0 -1
- package/lib/CategoryHeading-ovR-zHRq.js +0 -10
- package/lib/CategoryHeading-ovR-zHRq.js.map +0 -1
- package/lib/ErrorPage-CsZAN_za.js +0 -16
- package/lib/Input-CtVUl3eT.js +0 -2198
- package/lib/Input-CtVUl3eT.js.map +0 -1
- package/lib/Markdown-DapSf3wG.js.map +0 -1
- package/lib/OperationList-CYrmxPa8.js.map +0 -1
- package/lib/Route-Q5mqNQrv.js.map +0 -1
- package/lib/SidebarBadge-Dx7jtnoA.js +0 -498
- package/lib/SidebarBadge-Dx7jtnoA.js.map +0 -1
- package/lib/ZudokuContext-cr-pTRY1.js +0 -1084
- package/lib/ZudokuContext-cr-pTRY1.js.map +0 -1
- package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
- package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
- package/lib/assets/index-B9EWVYfo.js.map +0 -1
- package/lib/assets/worker-Bcj4NA2p.js.map +0 -1
- package/lib/index-BG0g4WW0.js.map +0 -1
- package/lib/index-BlJ2rj99.js.map +0 -1
- package/lib/index-Bn6Lc9tq.js +0 -9
- package/lib/index-CLd8ycZz.js.map +0 -1
- package/lib/index-Dolisrci.js.map +0 -1
- package/lib/router-D2p7Olpn.js +0 -2971
- package/lib/router-D2p7Olpn.js.map +0 -1
- package/lib/state-hNe1dw4B.js +0 -548
- package/lib/state-hNe1dw4B.js.map +0 -1
- package/lib/urql-YhcsXYy8.js +0 -1591
- package/lib/urql-YhcsXYy8.js.map +0 -1
- package/lib/utils-ByIc_KIM.js.map +0 -1
- package/lib/zudoku.plugin-custom-page.js +0 -13
- package/lib/zudoku.plugin-custom-page.js.map +0 -1
- package/src/lib/plugins/custom-page/index.tsx +0 -22
- package/src/lib/plugins/openapi/playground/Editor.tsx +0 -4
- package/src/lib/plugins/openapi/util/urql.ts +0 -8
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
import * as s from "react";
|
|
2
|
+
import { d as T, e as $, f as be, g as De, h as Ie, u as V, i as Ce, P as y, b as R, a as _, c as Ne, R as Ee, S as ye, j as he, k as Te, F as Ae, D as _e, l as Fe, m as we } from "./index-g_JJcuFg.js";
|
|
3
|
+
import { j as i } from "./jsx-runtime-B6kdoens.js";
|
|
4
|
+
import { c as Oe } from "./cn-BmFQLtkS.js";
|
|
5
|
+
function Pe(e, t) {
|
|
6
|
+
return s.useReducer((o, n) => t[o][n] ?? o, e);
|
|
7
|
+
}
|
|
8
|
+
var w = (e) => {
|
|
9
|
+
const { present: t, children: o } = e, n = Se(t), r = typeof o == "function" ? o({ present: n.isPresent }) : s.Children.only(o), a = T(n.ref, Me(r));
|
|
10
|
+
return typeof o == "function" || n.isPresent ? s.cloneElement(r, { ref: a }) : null;
|
|
11
|
+
};
|
|
12
|
+
w.displayName = "Presence";
|
|
13
|
+
function Se(e) {
|
|
14
|
+
const [t, o] = s.useState(), n = s.useRef({}), r = s.useRef(e), a = s.useRef("none"), u = e ? "mounted" : "unmounted", [d, l] = Pe(u, {
|
|
15
|
+
mounted: {
|
|
16
|
+
UNMOUNT: "unmounted",
|
|
17
|
+
ANIMATION_OUT: "unmountSuspended"
|
|
18
|
+
},
|
|
19
|
+
unmountSuspended: {
|
|
20
|
+
MOUNT: "mounted",
|
|
21
|
+
ANIMATION_END: "unmounted"
|
|
22
|
+
},
|
|
23
|
+
unmounted: {
|
|
24
|
+
MOUNT: "mounted"
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return s.useEffect(() => {
|
|
28
|
+
const c = A(n.current);
|
|
29
|
+
a.current = d === "mounted" ? c : "none";
|
|
30
|
+
}, [d]), $(() => {
|
|
31
|
+
const c = n.current, g = r.current;
|
|
32
|
+
if (g !== e) {
|
|
33
|
+
const b = a.current, m = A(c);
|
|
34
|
+
e ? l("MOUNT") : m === "none" || (c == null ? void 0 : c.display) === "none" ? l("UNMOUNT") : l(g && b !== m ? "ANIMATION_OUT" : "UNMOUNT"), r.current = e;
|
|
35
|
+
}
|
|
36
|
+
}, [e, l]), $(() => {
|
|
37
|
+
if (t) {
|
|
38
|
+
let c;
|
|
39
|
+
const g = t.ownerDocument.defaultView ?? window, v = (m) => {
|
|
40
|
+
const D = A(n.current).includes(m.animationName);
|
|
41
|
+
if (m.target === t && D && (l("ANIMATION_END"), !r.current)) {
|
|
42
|
+
const h = t.style.animationFillMode;
|
|
43
|
+
t.style.animationFillMode = "forwards", c = g.setTimeout(() => {
|
|
44
|
+
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = h);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}, b = (m) => {
|
|
48
|
+
m.target === t && (a.current = A(n.current));
|
|
49
|
+
};
|
|
50
|
+
return t.addEventListener("animationstart", b), t.addEventListener("animationcancel", v), t.addEventListener("animationend", v), () => {
|
|
51
|
+
g.clearTimeout(c), t.removeEventListener("animationstart", b), t.removeEventListener("animationcancel", v), t.removeEventListener("animationend", v);
|
|
52
|
+
};
|
|
53
|
+
} else
|
|
54
|
+
l("ANIMATION_END");
|
|
55
|
+
}, [t, l]), {
|
|
56
|
+
isPresent: ["mounted", "unmountSuspended"].includes(d),
|
|
57
|
+
ref: s.useCallback((c) => {
|
|
58
|
+
c && (n.current = getComputedStyle(c)), o(c);
|
|
59
|
+
}, [])
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function A(e) {
|
|
63
|
+
return (e == null ? void 0 : e.animationName) || "none";
|
|
64
|
+
}
|
|
65
|
+
function Me(e) {
|
|
66
|
+
var n, r;
|
|
67
|
+
let t = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, o = t && "isReactWarning" in t && t.isReactWarning;
|
|
68
|
+
return o ? e.ref : (t = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = t && "isReactWarning" in t && t.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
69
|
+
}
|
|
70
|
+
var j = "rovingFocusGroup.onEntryFocus", je = { bubbles: !1, cancelable: !0 }, O = "RovingFocusGroup", [k, Y, ke] = be(O), [Le, at] = De(
|
|
71
|
+
O,
|
|
72
|
+
[ke]
|
|
73
|
+
), [Ge, Ue] = Le(O), H = s.forwardRef(
|
|
74
|
+
(e, t) => /* @__PURE__ */ i.jsx(k.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ i.jsx(k.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ i.jsx(We, { ...e, ref: t }) }) })
|
|
75
|
+
);
|
|
76
|
+
H.displayName = O;
|
|
77
|
+
var We = s.forwardRef((e, t) => {
|
|
78
|
+
const {
|
|
79
|
+
__scopeRovingFocusGroup: o,
|
|
80
|
+
orientation: n,
|
|
81
|
+
loop: r = !1,
|
|
82
|
+
dir: a,
|
|
83
|
+
currentTabStopId: u,
|
|
84
|
+
defaultCurrentTabStopId: d,
|
|
85
|
+
onCurrentTabStopIdChange: l,
|
|
86
|
+
onEntryFocus: c,
|
|
87
|
+
preventScrollOnEntryFocus: g = !1,
|
|
88
|
+
...v
|
|
89
|
+
} = e, b = s.useRef(null), m = T(t, b), f = Ie(a), [D = null, h] = V({
|
|
90
|
+
prop: u,
|
|
91
|
+
defaultProp: d,
|
|
92
|
+
onChange: l
|
|
93
|
+
}), [I, C] = s.useState(!1), P = Ce(c), ge = Y(o), S = s.useRef(!1), [pe, K] = s.useState(0);
|
|
94
|
+
return s.useEffect(() => {
|
|
95
|
+
const p = b.current;
|
|
96
|
+
if (p)
|
|
97
|
+
return p.addEventListener(j, P), () => p.removeEventListener(j, P);
|
|
98
|
+
}, [P]), /* @__PURE__ */ i.jsx(
|
|
99
|
+
Ge,
|
|
100
|
+
{
|
|
101
|
+
scope: o,
|
|
102
|
+
orientation: n,
|
|
103
|
+
dir: f,
|
|
104
|
+
loop: r,
|
|
105
|
+
currentTabStopId: D,
|
|
106
|
+
onItemFocus: s.useCallback(
|
|
107
|
+
(p) => h(p),
|
|
108
|
+
[h]
|
|
109
|
+
),
|
|
110
|
+
onItemShiftTab: s.useCallback(() => C(!0), []),
|
|
111
|
+
onFocusableItemAdd: s.useCallback(
|
|
112
|
+
() => K((p) => p + 1),
|
|
113
|
+
[]
|
|
114
|
+
),
|
|
115
|
+
onFocusableItemRemove: s.useCallback(
|
|
116
|
+
() => K((p) => p - 1),
|
|
117
|
+
[]
|
|
118
|
+
),
|
|
119
|
+
children: /* @__PURE__ */ i.jsx(
|
|
120
|
+
y.div,
|
|
121
|
+
{
|
|
122
|
+
tabIndex: I || pe === 0 ? -1 : 0,
|
|
123
|
+
"data-orientation": n,
|
|
124
|
+
...v,
|
|
125
|
+
ref: m,
|
|
126
|
+
style: { outline: "none", ...e.style },
|
|
127
|
+
onMouseDown: R(e.onMouseDown, () => {
|
|
128
|
+
S.current = !0;
|
|
129
|
+
}),
|
|
130
|
+
onFocus: R(e.onFocus, (p) => {
|
|
131
|
+
const me = !S.current;
|
|
132
|
+
if (p.target === p.currentTarget && me && !I) {
|
|
133
|
+
const B = new CustomEvent(j, je);
|
|
134
|
+
if (p.currentTarget.dispatchEvent(B), !B.defaultPrevented) {
|
|
135
|
+
const M = ge().filter((N) => N.focusable), ve = M.find((N) => N.active), Re = M.find((N) => N.id === D), xe = [ve, Re, ...M].filter(
|
|
136
|
+
Boolean
|
|
137
|
+
).map((N) => N.ref.current);
|
|
138
|
+
Z(xe, g);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
S.current = !1;
|
|
142
|
+
}),
|
|
143
|
+
onBlur: R(e.onBlur, () => C(!1))
|
|
144
|
+
}
|
|
145
|
+
)
|
|
146
|
+
}
|
|
147
|
+
);
|
|
148
|
+
}), z = "RovingFocusGroupItem", q = s.forwardRef(
|
|
149
|
+
(e, t) => {
|
|
150
|
+
const {
|
|
151
|
+
__scopeRovingFocusGroup: o,
|
|
152
|
+
focusable: n = !0,
|
|
153
|
+
active: r = !1,
|
|
154
|
+
tabStopId: a,
|
|
155
|
+
...u
|
|
156
|
+
} = e, d = _(), l = a || d, c = Ue(z, o), g = c.currentTabStopId === l, v = Y(o), { onFocusableItemAdd: b, onFocusableItemRemove: m } = c;
|
|
157
|
+
return s.useEffect(() => {
|
|
158
|
+
if (n)
|
|
159
|
+
return b(), () => m();
|
|
160
|
+
}, [n, b, m]), /* @__PURE__ */ i.jsx(
|
|
161
|
+
k.ItemSlot,
|
|
162
|
+
{
|
|
163
|
+
scope: o,
|
|
164
|
+
id: l,
|
|
165
|
+
focusable: n,
|
|
166
|
+
active: r,
|
|
167
|
+
children: /* @__PURE__ */ i.jsx(
|
|
168
|
+
y.span,
|
|
169
|
+
{
|
|
170
|
+
tabIndex: g ? 0 : -1,
|
|
171
|
+
"data-orientation": c.orientation,
|
|
172
|
+
...u,
|
|
173
|
+
ref: t,
|
|
174
|
+
onMouseDown: R(e.onMouseDown, (f) => {
|
|
175
|
+
n ? c.onItemFocus(l) : f.preventDefault();
|
|
176
|
+
}),
|
|
177
|
+
onFocus: R(e.onFocus, () => c.onItemFocus(l)),
|
|
178
|
+
onKeyDown: R(e.onKeyDown, (f) => {
|
|
179
|
+
if (f.key === "Tab" && f.shiftKey) {
|
|
180
|
+
c.onItemShiftTab();
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if (f.target !== f.currentTarget) return;
|
|
184
|
+
const D = $e(f, c.orientation, c.dir);
|
|
185
|
+
if (D !== void 0) {
|
|
186
|
+
if (f.metaKey || f.ctrlKey || f.altKey || f.shiftKey) return;
|
|
187
|
+
f.preventDefault();
|
|
188
|
+
let I = v().filter((C) => C.focusable).map((C) => C.ref.current);
|
|
189
|
+
if (D === "last") I.reverse();
|
|
190
|
+
else if (D === "prev" || D === "next") {
|
|
191
|
+
D === "prev" && I.reverse();
|
|
192
|
+
const C = I.indexOf(f.currentTarget);
|
|
193
|
+
I = c.loop ? Ve(I, C + 1) : I.slice(C + 1);
|
|
194
|
+
}
|
|
195
|
+
setTimeout(() => Z(I));
|
|
196
|
+
}
|
|
197
|
+
})
|
|
198
|
+
}
|
|
199
|
+
)
|
|
200
|
+
}
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
q.displayName = z;
|
|
205
|
+
var Ke = {
|
|
206
|
+
ArrowLeft: "prev",
|
|
207
|
+
ArrowUp: "prev",
|
|
208
|
+
ArrowRight: "next",
|
|
209
|
+
ArrowDown: "next",
|
|
210
|
+
PageUp: "first",
|
|
211
|
+
Home: "first",
|
|
212
|
+
PageDown: "last",
|
|
213
|
+
End: "last"
|
|
214
|
+
};
|
|
215
|
+
function Be(e, t) {
|
|
216
|
+
return t !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
|
|
217
|
+
}
|
|
218
|
+
function $e(e, t, o) {
|
|
219
|
+
const n = Be(e.key, o);
|
|
220
|
+
if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(n)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(n)))
|
|
221
|
+
return Ke[n];
|
|
222
|
+
}
|
|
223
|
+
function Z(e, t = !1) {
|
|
224
|
+
const o = document.activeElement;
|
|
225
|
+
for (const n of e)
|
|
226
|
+
if (n === o || (n.focus({ preventScroll: t }), document.activeElement !== o)) return;
|
|
227
|
+
}
|
|
228
|
+
function Ve(e, t) {
|
|
229
|
+
return e.map((o, n) => e[(t + n) % e.length]);
|
|
230
|
+
}
|
|
231
|
+
var st = H, it = q, L = "Dialog", [J, ct] = Ne(L), [Ye, x] = J(L), Q = (e) => {
|
|
232
|
+
const {
|
|
233
|
+
__scopeDialog: t,
|
|
234
|
+
children: o,
|
|
235
|
+
open: n,
|
|
236
|
+
defaultOpen: r,
|
|
237
|
+
onOpenChange: a,
|
|
238
|
+
modal: u = !0
|
|
239
|
+
} = e, d = s.useRef(null), l = s.useRef(null), [c = !1, g] = V({
|
|
240
|
+
prop: n,
|
|
241
|
+
defaultProp: r,
|
|
242
|
+
onChange: a
|
|
243
|
+
});
|
|
244
|
+
return /* @__PURE__ */ i.jsx(
|
|
245
|
+
Ye,
|
|
246
|
+
{
|
|
247
|
+
scope: t,
|
|
248
|
+
triggerRef: d,
|
|
249
|
+
contentRef: l,
|
|
250
|
+
contentId: _(),
|
|
251
|
+
titleId: _(),
|
|
252
|
+
descriptionId: _(),
|
|
253
|
+
open: c,
|
|
254
|
+
onOpenChange: g,
|
|
255
|
+
onOpenToggle: s.useCallback(() => g((v) => !v), [g]),
|
|
256
|
+
modal: u,
|
|
257
|
+
children: o
|
|
258
|
+
}
|
|
259
|
+
);
|
|
260
|
+
};
|
|
261
|
+
Q.displayName = L;
|
|
262
|
+
var X = "DialogTrigger", ee = s.forwardRef(
|
|
263
|
+
(e, t) => {
|
|
264
|
+
const { __scopeDialog: o, ...n } = e, r = x(X, o), a = T(t, r.triggerRef);
|
|
265
|
+
return /* @__PURE__ */ i.jsx(
|
|
266
|
+
y.button,
|
|
267
|
+
{
|
|
268
|
+
type: "button",
|
|
269
|
+
"aria-haspopup": "dialog",
|
|
270
|
+
"aria-expanded": r.open,
|
|
271
|
+
"aria-controls": r.contentId,
|
|
272
|
+
"data-state": W(r.open),
|
|
273
|
+
...n,
|
|
274
|
+
ref: a,
|
|
275
|
+
onClick: R(e.onClick, r.onOpenToggle)
|
|
276
|
+
}
|
|
277
|
+
);
|
|
278
|
+
}
|
|
279
|
+
);
|
|
280
|
+
ee.displayName = X;
|
|
281
|
+
var G = "DialogPortal", [He, te] = J(G, {
|
|
282
|
+
forceMount: void 0
|
|
283
|
+
}), ne = (e) => {
|
|
284
|
+
const { __scopeDialog: t, forceMount: o, children: n, container: r } = e, a = x(G, t);
|
|
285
|
+
return /* @__PURE__ */ i.jsx(He, { scope: t, forceMount: o, children: s.Children.map(n, (u) => /* @__PURE__ */ i.jsx(w, { present: o || a.open, children: /* @__PURE__ */ i.jsx(we, { asChild: !0, container: r, children: u }) })) });
|
|
286
|
+
};
|
|
287
|
+
ne.displayName = G;
|
|
288
|
+
var F = "DialogOverlay", oe = s.forwardRef(
|
|
289
|
+
(e, t) => {
|
|
290
|
+
const o = te(F, e.__scopeDialog), { forceMount: n = o.forceMount, ...r } = e, a = x(F, e.__scopeDialog);
|
|
291
|
+
return a.modal ? /* @__PURE__ */ i.jsx(w, { present: n || a.open, children: /* @__PURE__ */ i.jsx(ze, { ...r, ref: t }) }) : null;
|
|
292
|
+
}
|
|
293
|
+
);
|
|
294
|
+
oe.displayName = F;
|
|
295
|
+
var ze = s.forwardRef(
|
|
296
|
+
(e, t) => {
|
|
297
|
+
const { __scopeDialog: o, ...n } = e, r = x(F, o);
|
|
298
|
+
return (
|
|
299
|
+
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
300
|
+
// ie. when `Overlay` and `Content` are siblings
|
|
301
|
+
/* @__PURE__ */ i.jsx(Ee, { as: ye, allowPinchZoom: !0, shards: [r.contentRef], children: /* @__PURE__ */ i.jsx(
|
|
302
|
+
y.div,
|
|
303
|
+
{
|
|
304
|
+
"data-state": W(r.open),
|
|
305
|
+
...n,
|
|
306
|
+
ref: t,
|
|
307
|
+
style: { pointerEvents: "auto", ...n.style }
|
|
308
|
+
}
|
|
309
|
+
) })
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
), E = "DialogContent", re = s.forwardRef(
|
|
313
|
+
(e, t) => {
|
|
314
|
+
const o = te(E, e.__scopeDialog), { forceMount: n = o.forceMount, ...r } = e, a = x(E, e.__scopeDialog);
|
|
315
|
+
return /* @__PURE__ */ i.jsx(w, { present: n || a.open, children: a.modal ? /* @__PURE__ */ i.jsx(qe, { ...r, ref: t }) : /* @__PURE__ */ i.jsx(Ze, { ...r, ref: t }) });
|
|
316
|
+
}
|
|
317
|
+
);
|
|
318
|
+
re.displayName = E;
|
|
319
|
+
var qe = s.forwardRef(
|
|
320
|
+
(e, t) => {
|
|
321
|
+
const o = x(E, e.__scopeDialog), n = s.useRef(null), r = T(t, o.contentRef, n);
|
|
322
|
+
return s.useEffect(() => {
|
|
323
|
+
const a = n.current;
|
|
324
|
+
if (a) return he(a);
|
|
325
|
+
}, []), /* @__PURE__ */ i.jsx(
|
|
326
|
+
ae,
|
|
327
|
+
{
|
|
328
|
+
...e,
|
|
329
|
+
ref: r,
|
|
330
|
+
trapFocus: o.open,
|
|
331
|
+
disableOutsidePointerEvents: !0,
|
|
332
|
+
onCloseAutoFocus: R(e.onCloseAutoFocus, (a) => {
|
|
333
|
+
var u;
|
|
334
|
+
a.preventDefault(), (u = o.triggerRef.current) == null || u.focus();
|
|
335
|
+
}),
|
|
336
|
+
onPointerDownOutside: R(e.onPointerDownOutside, (a) => {
|
|
337
|
+
const u = a.detail.originalEvent, d = u.button === 0 && u.ctrlKey === !0;
|
|
338
|
+
(u.button === 2 || d) && a.preventDefault();
|
|
339
|
+
}),
|
|
340
|
+
onFocusOutside: R(
|
|
341
|
+
e.onFocusOutside,
|
|
342
|
+
(a) => a.preventDefault()
|
|
343
|
+
)
|
|
344
|
+
}
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
), Ze = s.forwardRef(
|
|
348
|
+
(e, t) => {
|
|
349
|
+
const o = x(E, e.__scopeDialog), n = s.useRef(!1), r = s.useRef(!1);
|
|
350
|
+
return /* @__PURE__ */ i.jsx(
|
|
351
|
+
ae,
|
|
352
|
+
{
|
|
353
|
+
...e,
|
|
354
|
+
ref: t,
|
|
355
|
+
trapFocus: !1,
|
|
356
|
+
disableOutsidePointerEvents: !1,
|
|
357
|
+
onCloseAutoFocus: (a) => {
|
|
358
|
+
var u, d;
|
|
359
|
+
(u = e.onCloseAutoFocus) == null || u.call(e, a), a.defaultPrevented || (n.current || (d = o.triggerRef.current) == null || d.focus(), a.preventDefault()), n.current = !1, r.current = !1;
|
|
360
|
+
},
|
|
361
|
+
onInteractOutside: (a) => {
|
|
362
|
+
var l, c;
|
|
363
|
+
(l = e.onInteractOutside) == null || l.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (r.current = !0));
|
|
364
|
+
const u = a.target;
|
|
365
|
+
((c = o.triggerRef.current) == null ? void 0 : c.contains(u)) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && r.current && a.preventDefault();
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
);
|
|
369
|
+
}
|
|
370
|
+
), ae = s.forwardRef(
|
|
371
|
+
(e, t) => {
|
|
372
|
+
const { __scopeDialog: o, trapFocus: n, onOpenAutoFocus: r, onCloseAutoFocus: a, ...u } = e, d = x(E, o), l = s.useRef(null), c = T(t, l);
|
|
373
|
+
return Te(), /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
|
|
374
|
+
/* @__PURE__ */ i.jsx(
|
|
375
|
+
Ae,
|
|
376
|
+
{
|
|
377
|
+
asChild: !0,
|
|
378
|
+
loop: !0,
|
|
379
|
+
trapped: n,
|
|
380
|
+
onMountAutoFocus: r,
|
|
381
|
+
onUnmountAutoFocus: a,
|
|
382
|
+
children: /* @__PURE__ */ i.jsx(
|
|
383
|
+
_e,
|
|
384
|
+
{
|
|
385
|
+
role: "dialog",
|
|
386
|
+
id: d.contentId,
|
|
387
|
+
"aria-describedby": d.descriptionId,
|
|
388
|
+
"aria-labelledby": d.titleId,
|
|
389
|
+
"data-state": W(d.open),
|
|
390
|
+
...u,
|
|
391
|
+
ref: c,
|
|
392
|
+
onDismiss: () => d.onOpenChange(!1)
|
|
393
|
+
}
|
|
394
|
+
)
|
|
395
|
+
}
|
|
396
|
+
),
|
|
397
|
+
/* @__PURE__ */ i.jsxs(i.Fragment, { children: [
|
|
398
|
+
/* @__PURE__ */ i.jsx(Je, { titleId: d.titleId }),
|
|
399
|
+
/* @__PURE__ */ i.jsx(Xe, { contentRef: l, descriptionId: d.descriptionId })
|
|
400
|
+
] })
|
|
401
|
+
] });
|
|
402
|
+
}
|
|
403
|
+
), U = "DialogTitle", se = s.forwardRef(
|
|
404
|
+
(e, t) => {
|
|
405
|
+
const { __scopeDialog: o, ...n } = e, r = x(U, o);
|
|
406
|
+
return /* @__PURE__ */ i.jsx(y.h2, { id: r.titleId, ...n, ref: t });
|
|
407
|
+
}
|
|
408
|
+
);
|
|
409
|
+
se.displayName = U;
|
|
410
|
+
var ie = "DialogDescription", ce = s.forwardRef(
|
|
411
|
+
(e, t) => {
|
|
412
|
+
const { __scopeDialog: o, ...n } = e, r = x(ie, o);
|
|
413
|
+
return /* @__PURE__ */ i.jsx(y.p, { id: r.descriptionId, ...n, ref: t });
|
|
414
|
+
}
|
|
415
|
+
);
|
|
416
|
+
ce.displayName = ie;
|
|
417
|
+
var ue = "DialogClose", le = s.forwardRef(
|
|
418
|
+
(e, t) => {
|
|
419
|
+
const { __scopeDialog: o, ...n } = e, r = x(ue, o);
|
|
420
|
+
return /* @__PURE__ */ i.jsx(
|
|
421
|
+
y.button,
|
|
422
|
+
{
|
|
423
|
+
type: "button",
|
|
424
|
+
...n,
|
|
425
|
+
ref: t,
|
|
426
|
+
onClick: R(e.onClick, () => r.onOpenChange(!1))
|
|
427
|
+
}
|
|
428
|
+
);
|
|
429
|
+
}
|
|
430
|
+
);
|
|
431
|
+
le.displayName = ue;
|
|
432
|
+
function W(e) {
|
|
433
|
+
return e ? "open" : "closed";
|
|
434
|
+
}
|
|
435
|
+
var de = "DialogTitleWarning", [ut, fe] = Fe(de, {
|
|
436
|
+
contentName: E,
|
|
437
|
+
titleName: U,
|
|
438
|
+
docsSlug: "dialog"
|
|
439
|
+
}), Je = ({ titleId: e }) => {
|
|
440
|
+
const t = fe(de), o = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
441
|
+
|
|
442
|
+
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
443
|
+
|
|
444
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;
|
|
445
|
+
return s.useEffect(() => {
|
|
446
|
+
e && (document.getElementById(e) || console.error(o));
|
|
447
|
+
}, [o, e]), null;
|
|
448
|
+
}, Qe = "DialogDescriptionWarning", Xe = ({ contentRef: e, descriptionId: t }) => {
|
|
449
|
+
const n = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${fe(Qe).contentName}}.`;
|
|
450
|
+
return s.useEffect(() => {
|
|
451
|
+
var a;
|
|
452
|
+
const r = (a = e.current) == null ? void 0 : a.getAttribute("aria-describedby");
|
|
453
|
+
t && r && (document.getElementById(t) || console.warn(n));
|
|
454
|
+
}, [n, e, t]), null;
|
|
455
|
+
}, lt = Q, dt = ee, ft = ne, gt = oe, pt = re, mt = se, vt = ce, Rt = le;
|
|
456
|
+
const xt = {
|
|
457
|
+
green: "text-green-600",
|
|
458
|
+
blue: "text-sky-600",
|
|
459
|
+
yellow: "text-yellow-600",
|
|
460
|
+
red: "text-red-600",
|
|
461
|
+
purple: "text-purple-600",
|
|
462
|
+
indigo: "text-indigo-600",
|
|
463
|
+
gray: "text-gray-600"
|
|
464
|
+
}, et = {
|
|
465
|
+
green: "bg-green-400 dark:bg-green-800",
|
|
466
|
+
blue: "bg-sky-400 dark:bg-sky-800",
|
|
467
|
+
yellow: "bg-yellow-400 dark:bg-yellow-800",
|
|
468
|
+
red: "bg-red-400 dark:bg-red-800",
|
|
469
|
+
purple: "bg-purple-400 dark:bg-purple-600",
|
|
470
|
+
indigo: "bg-indigo-400 dark:bg-indigo-600",
|
|
471
|
+
gray: "bg-gray-400 dark:bg-gray-600"
|
|
472
|
+
}, bt = ({
|
|
473
|
+
color: e,
|
|
474
|
+
label: t,
|
|
475
|
+
className: o
|
|
476
|
+
}) => /* @__PURE__ */ i.jsx(
|
|
477
|
+
"span",
|
|
478
|
+
{
|
|
479
|
+
className: Oe(
|
|
480
|
+
"mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1",
|
|
481
|
+
et[e],
|
|
482
|
+
o
|
|
483
|
+
),
|
|
484
|
+
children: t
|
|
485
|
+
}
|
|
486
|
+
);
|
|
487
|
+
export {
|
|
488
|
+
pt as C,
|
|
489
|
+
vt as D,
|
|
490
|
+
it as I,
|
|
491
|
+
gt as O,
|
|
492
|
+
w as P,
|
|
493
|
+
st as R,
|
|
494
|
+
bt as S,
|
|
495
|
+
dt as T,
|
|
496
|
+
Rt as a,
|
|
497
|
+
mt as b,
|
|
498
|
+
at as c,
|
|
499
|
+
lt as d,
|
|
500
|
+
ft as e,
|
|
501
|
+
xt as f
|
|
502
|
+
};
|
|
503
|
+
//# sourceMappingURL=SidebarBadge-B9-VJSQr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidebarBadge-B9-VJSQr.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-presence@1.1.1_@types+react-dom@18.3.1_@types+react@18.3.11_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.0_@types+react-dom@18.3.1_@types+react@18.3.11_react-dom@18._3mnsszhbedzwlcvtm3w722kxda/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.2_@types+react-dom@18.3.1_@types+react@18.3.11_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-dialog/dist/index.mjs","../src/lib/components/navigation/SidebarBadge.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/roving-focus/src/RovingFocusGroup.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n })\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"../../util/cn.js\";\n\nexport const TextColorMap = {\n green: \"text-green-600\",\n blue: \"text-sky-600\",\n yellow: \"text-yellow-600\",\n red: \"text-red-600\",\n purple: \"text-purple-600\",\n indigo: \"text-indigo-600\",\n gray: \"text-gray-600\",\n};\n\nexport const ColorMap = {\n green: \"bg-green-400 dark:bg-green-800\",\n blue: \"bg-sky-400 dark:bg-sky-800\",\n yellow: \"bg-yellow-400 dark:bg-yellow-800\",\n red: \"bg-red-400 dark:bg-red-800\",\n purple: \"bg-purple-400 dark:bg-purple-600\",\n indigo: \"bg-indigo-400 dark:bg-indigo-600\",\n gray: \"bg-gray-400 dark:bg-gray-600\",\n};\n\nexport const SidebarBadge = ({\n color,\n label,\n className,\n}: {\n color: keyof typeof ColorMap;\n label: string;\n className?: string;\n}) => {\n return (\n <span\n className={cn(\n \"mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1\",\n ColorMap[color],\n className,\n )}\n >\n {label}\n </span>\n );\n};\n"],"names":["useStateMachine","initialState","machine","React","state","event","Presence","props","present","children","presence","usePresence","child","React2","ref","useComposedRefs","getElementRef","node","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","element","getter","_a","mayWarn","_b","ENTRY_FOCUS","EVENT_OPTIONS","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","forwardedRef","jsx","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","composedRefs","direction","useDirection","currentTabStopId","setCurrentTabStopId","useControllableState","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","tabStopId","prevCount","Primitive","composeEventHandlers","isKeyboardFocus","entryFocusEvent","items","item","activeItem","currentItem","candidateNodes","focusFirst","ITEM_NAME","RovingFocusGroupItem","focusable","active","itemProps","autoId","useId","id","context","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","currentIndex","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","key","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","candidate","array","startIndex","_","index","Root","Item","DIALOG_NAME","createDialogContext","createDialogScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","openProp","defaultOpen","onOpenChange","modal","triggerRef","contentRef","open","setOpen","prevOpen","TRIGGER_NAME","DialogTrigger","triggerProps","composedTriggerRef","getState","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","forceMount","container","PortalPrimitive","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","Slot","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","content","hideOthers","DialogContentImpl","originalEvent","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","DismissableLayer","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","DialogDescription","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","titleId","titleWarningContext","MESSAGE","DESCRIPTION_WARNING_NAME","descriptionId","describedById","Trigger","Portal","Overlay","Content","Title","Description","Close","TextColorMap","ColorMap","SidebarBadge","color","label","className","cn"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|