zudoku 0.33.2-local.4 → 0.34.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.
Files changed (150) hide show
  1. package/README.md +121 -0
  2. package/dist/config/loader.d.ts +3 -2
  3. package/dist/config/loader.js +10 -20
  4. package/dist/config/loader.js.map +1 -1
  5. package/dist/config/validators/common.d.ts +346 -346
  6. package/dist/config/validators/validate.d.ts +165 -165
  7. package/dist/lib/components/AnchorLink.d.ts +2 -2
  8. package/dist/lib/components/AnchorLink.js +4 -4
  9. package/dist/lib/components/AnchorLink.js.map +1 -1
  10. package/dist/lib/components/Heading.d.ts +1 -1
  11. package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
  12. package/dist/lib/components/navigation/SidebarItem.js +6 -5
  13. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  14. package/dist/lib/core/ZudokuContext.d.ts +4 -0
  15. package/dist/lib/core/ZudokuContext.js.map +1 -1
  16. package/dist/lib/plugins/openapi/OperationList.js +4 -1
  17. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  18. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  19. package/dist/lib/plugins/openapi/OperationListItem.js +5 -3
  20. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  21. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  22. package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
  23. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  24. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +1 -0
  25. package/dist/lib/plugins/openapi/graphql/graphql.js +2 -0
  26. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  27. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +2 -2
  28. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -5
  29. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  30. package/dist/lib/plugins/openapi/playground/Headers.js +1 -1
  31. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  32. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
  33. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +14 -0
  34. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -0
  35. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
  36. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +10 -0
  37. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -0
  38. package/dist/lib/plugins/openapi/playground/Playground.d.ts +9 -1
  39. package/dist/lib/plugins/openapi/playground/Playground.js +75 -24
  40. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  41. package/dist/lib/plugins/openapi/playground/QueryParams.js +1 -1
  42. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  43. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +7 -0
  44. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +8 -0
  45. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -0
  46. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +17 -0
  47. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js +11 -0
  48. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js.map +1 -0
  49. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +19 -13
  50. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  51. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +6 -4
  52. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +4 -3
  53. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  54. package/dist/lib/ui/Checkbox.d.ts +2 -8
  55. package/dist/lib/ui/Checkbox.js +1 -13
  56. package/dist/lib/ui/Checkbox.js.map +1 -1
  57. package/dist/lib/ui/Command.d.ts +6 -6
  58. package/dist/lib/ui/Select.js +1 -1
  59. package/dist/lib/ui/Select.js.map +1 -1
  60. package/dist/lib/ui/SyntaxHighlight.d.ts +2 -1
  61. package/dist/lib/ui/SyntaxHighlight.js +19 -15
  62. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  63. package/dist/lib/util/MdxComponents.d.ts +1 -1
  64. package/dist/lib/util/MdxComponents.js +2 -2
  65. package/dist/lib/util/MdxComponents.js.map +1 -1
  66. package/dist/vite/config.js +3 -7
  67. package/dist/vite/config.js.map +1 -1
  68. package/lib/{AuthenticationPlugin-BCYuduZ9.js → AuthenticationPlugin-4ip08maU.js} +3 -3
  69. package/lib/{AuthenticationPlugin-BCYuduZ9.js.map → AuthenticationPlugin-4ip08maU.js.map} +1 -1
  70. package/lib/Callout-B_sEhkYd.js +211 -0
  71. package/lib/Callout-B_sEhkYd.js.map +1 -0
  72. package/lib/{Dialog-mi6BrnrM.js → Dialog-sbgekbjb.js} +48 -33
  73. package/lib/{Dialog-mi6BrnrM.js.map → Dialog-sbgekbjb.js.map} +1 -1
  74. package/lib/{Markdown-DofXBcqg.js → Markdown-DZXjQjpH.js} +4099 -3848
  75. package/lib/Markdown-DZXjQjpH.js.map +1 -0
  76. package/lib/{MdxPage-KJcNWIgt.js → MdxPage-52vRwa_7.js} +13 -13
  77. package/lib/{MdxPage-KJcNWIgt.js.map → MdxPage-52vRwa_7.js.map} +1 -1
  78. package/lib/{OasProvider-HcqBeC4H.js → OasProvider-CR2nG1Eg.js} +4 -4
  79. package/lib/{OasProvider-HcqBeC4H.js.map → OasProvider-CR2nG1Eg.js.map} +1 -1
  80. package/lib/{OperationList-C3wnbFxp.js → OperationList-DndcCJUG.js} +1097 -1052
  81. package/lib/{OperationList-C3wnbFxp.js.map → OperationList-DndcCJUG.js.map} +1 -1
  82. package/lib/{Select-Co6MuS4j.js → Select-FAYHOYTy.js} +35 -35
  83. package/lib/{Select-Co6MuS4j.js.map → Select-FAYHOYTy.js.map} +1 -1
  84. package/lib/{SlotletProvider-CYFNHuok.js → SlotletProvider-TydSHROc.js} +4 -4
  85. package/lib/{SlotletProvider-CYFNHuok.js.map → SlotletProvider-TydSHROc.js.map} +1 -1
  86. package/lib/{chunk-IR6S3I6Y-CRDBmIgK.js → chunk-HA7DTUK3-ZGg2W6yV.js} +276 -276
  87. package/lib/chunk-HA7DTUK3-ZGg2W6yV.js.map +1 -0
  88. package/lib/{hook-LTe5qHSc.js → hook-CfCFKZ-2.js} +10 -7
  89. package/lib/{hook-LTe5qHSc.js.map → hook-CfCFKZ-2.js.map} +1 -1
  90. package/lib/index-DK7IuUyR.js +2201 -0
  91. package/lib/index-DK7IuUyR.js.map +1 -0
  92. package/lib/index.esm-CltAN0Tf.js +711 -0
  93. package/lib/index.esm-CltAN0Tf.js.map +1 -0
  94. package/lib/objectEntries-BS7aAgOm.js +12 -0
  95. package/lib/objectEntries-BS7aAgOm.js.map +1 -0
  96. package/lib/ui/Checkbox.js +15 -25
  97. package/lib/ui/Checkbox.js.map +1 -1
  98. package/lib/ui/Command.js +1 -1
  99. package/lib/ui/Select.js +1 -1
  100. package/lib/ui/Select.js.map +1 -1
  101. package/lib/ui/SyntaxHighlight.js +483 -502
  102. package/lib/ui/SyntaxHighlight.js.map +1 -1
  103. package/lib/{useExposedProps-D76yras4.js → useExposedProps-BslIn-FE.js} +2 -2
  104. package/lib/{useExposedProps-D76yras4.js.map → useExposedProps-BslIn-FE.js.map} +1 -1
  105. package/lib/zudoku.auth-auth0.js +1 -1
  106. package/lib/zudoku.auth-clerk.js +2 -2
  107. package/lib/zudoku.auth-openid.js +3 -3
  108. package/lib/zudoku.components.js +1390 -32
  109. package/lib/zudoku.components.js.map +1 -1
  110. package/lib/zudoku.hooks.js +1 -1
  111. package/lib/zudoku.plugin-api-catalog.js +5 -5
  112. package/lib/zudoku.plugin-api-keys.js +4 -4
  113. package/lib/zudoku.plugin-custom-pages.js +2 -2
  114. package/lib/zudoku.plugin-markdown.js +1 -1
  115. package/lib/zudoku.plugin-openapi.js +3 -3
  116. package/lib/zudoku.plugin-redirect.js +1 -1
  117. package/lib/zudoku.plugin-search-pagefind.js +84 -154
  118. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  119. package/package.json +5 -5
  120. package/src/lib/components/AnchorLink.tsx +7 -7
  121. package/src/lib/components/navigation/SidebarItem.tsx +8 -23
  122. package/src/lib/core/ZudokuContext.ts +4 -0
  123. package/src/lib/plugins/openapi/OperationList.tsx +73 -33
  124. package/src/lib/plugins/openapi/OperationListItem.tsx +105 -92
  125. package/src/lib/plugins/openapi/graphql/gql.ts +3 -3
  126. package/src/lib/plugins/openapi/graphql/graphql.ts +3 -0
  127. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +30 -32
  128. package/src/lib/plugins/openapi/playground/Headers.tsx +0 -1
  129. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +74 -0
  130. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +54 -0
  131. package/src/lib/plugins/openapi/playground/Playground.tsx +164 -133
  132. package/src/lib/plugins/openapi/playground/QueryParams.tsx +0 -1
  133. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +51 -0
  134. package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
  135. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +24 -4
  136. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +66 -45
  137. package/src/lib/ui/Checkbox.tsx +8 -24
  138. package/src/lib/ui/Select.tsx +1 -1
  139. package/src/lib/ui/SyntaxHighlight.tsx +94 -96
  140. package/src/lib/util/MdxComponents.tsx +2 -2
  141. package/lib/Command-CrTA1FX0.js +0 -140
  142. package/lib/Command-CrTA1FX0.js.map +0 -1
  143. package/lib/Markdown-DofXBcqg.js.map +0 -1
  144. package/lib/chunk-IR6S3I6Y-CRDBmIgK.js.map +0 -1
  145. package/lib/index-CtkRMvMw.js +0 -2052
  146. package/lib/index-CtkRMvMw.js.map +0 -1
  147. package/lib/index-vn5bsvmU.js +0 -1399
  148. package/lib/index-vn5bsvmU.js.map +0 -1
  149. package/lib/useScrollToAnchor-DKyrbZoy.js +0 -977
  150. package/lib/useScrollToAnchor-DKyrbZoy.js.map +0 -1
@@ -1,35 +1,1393 @@
1
- import "./useScrollToAnchor-DKyrbZoy.js";
2
- import "./index-DwT-v3zK.js";
3
- import "./chunk-IR6S3I6Y-CRDBmIgK.js";
4
- import "./hook-LTe5qHSc.js";
5
- import { B as d, c as S, k, C as l, h, j as B, H as E, b as c, L as H, M as L, d as M, R, S as Z, i as f, g, Z as y, u as A, f as b, a as j, l as v, e as w } from "./index-vn5bsvmU.js";
6
- import "./SlotletProvider-CYFNHuok.js";
7
- import "./ui/Button.js";
8
- import "./ui/Callout.js";
9
- import "./ClientOnly-E7hGysn1.js";
10
- import "./Markdown-DofXBcqg.js";
11
- import "./Spinner-1KrEmx1V.js";
1
+ var ut = Object.defineProperty;
2
+ var xe = (t) => {
3
+ throw TypeError(t);
4
+ };
5
+ var dt = (t, e, r) => e in t ? ut(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
6
+ var j = (t, e, r) => dt(t, typeof e != "symbol" ? e + "" : e, r), ve = (t, e, r) => e.has(t) || xe("Cannot " + r);
7
+ var l = (t, e, r) => (ve(t, e, "read from private field"), r ? r.call(t) : e.get(t)), w = (t, e, r) => e.has(t) ? xe("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, r), y = (t, e, r, n) => (ve(t, e, "write to private field"), n ? n.call(t, r) : e.set(t, r), r);
8
+ var _ = (t, e, r, n) => ({
9
+ set _(a) {
10
+ y(t, e, a, r);
11
+ },
12
+ get _() {
13
+ return l(t, e, n);
14
+ }
15
+ });
16
+ import { a as Fe, H as le, M as ht, u as ft } from "./index.esm-CltAN0Tf.js";
17
+ import { z as He, J as gt } from "./index-DwT-v3zK.js";
18
+ import { a as mt, u as ee, m as pt, O as ce, R as xt, S as vt, g as ue, h as yt, L as de } from "./chunk-HA7DTUK3-ZGg2W6yV.js";
19
+ import { e as z, a as E, f as Le, t as bt, j as ae, b as jt, Z as wt, g as Pt, C as Ct } from "./hook-CfCFKZ-2.js";
20
+ import { j as s } from "./jsx-runtime-CYK1ROHF.js";
21
+ import { S as ze, i as Be, j as kt, n as P, m as ye, l as be, o as M, p as St, q as Nt, r as Dt, t as Et, v as je, w as we, x as Mt, h as Pe, y as Ce, e as Ot, u as At, d as qt, z as Ke } from "./useQuery-CQUwWR9i.js";
22
+ import { D as Tt, a as It, c as Qt, b as Rt, d as Ft } from "./Dialog-sbgekbjb.js";
23
+ import { Z as $e } from "./invariant-Caa8-XvF.js";
24
+ import { u as Ht, o as Lt } from "./objectEntries-BS7aAgOm.js";
25
+ import { E as Ue, S, a as zt, R as Bt } from "./SlotletProvider-TydSHROc.js";
26
+ import { Button as Kt } from "./ui/Button.js";
27
+ import { Callout as $t } from "./ui/Callout.js";
28
+ import { M as Ut } from "./mutation-B81DztCT.js";
29
+ import * as U from "react";
30
+ import Zt, { createContext as he, StrictMode as Ze, useRef as te, useEffect as I, useState as B, useCallback as Yt, Suspense as fe, memo as Ye, forwardRef as Vt, Component as Xt, createElement as ke, useMemo as re, useContext as _t } from "react";
31
+ import * as Gt from "react-dom";
32
+ import { C as ge } from "./ClientOnly-E7hGysn1.js";
33
+ import { CircleXIcon as Wt, SearchIcon as Jt, SunIcon as er, MoonIcon as tr, MenuIcon as rr, PanelLeftIcon as sr } from "lucide-react";
34
+ import { Drawer as Ve, DrawerTrigger as Xe, DrawerContent as _e, DrawerTitle as Ge } from "./ui/Drawer.js";
35
+ import { c as Q } from "./cn-qaFjX9_3.js";
36
+ import { s as nr, S as Se, u as ar, a as ir, H as or, P as lr, b as cr, V as ur, M as dr } from "./Markdown-DZXjQjpH.js";
37
+ import { B as ie, S as We } from "./Spinner-1KrEmx1V.js";
38
+ import { isSearchPlugin as hr, isProfileMenuPlugin as fr, isNavigationPlugin as gr, isEventConsumerPlugin as mr, needsInitialization as pr, isApiIdentityPlugin as xr, isMdxProviderPlugin as vr, hasHead as yr } from "./zudoku.plugins.js";
39
+ import { DropdownMenu as br, DropdownMenuTrigger as jr, DropdownMenuContent as wr, DropdownMenuLabel as Pr, DropdownMenuSeparator as se, DropdownMenuSub as Cr, DropdownMenuSubTrigger as kr, DropdownMenuPortal as Sr, DropdownMenuSubContent as Nr, DropdownMenuItem as Dr } from "./ui/DropdownMenu.js";
40
+ import { j as Ne } from "./joinUrl-10po2Jdj.js";
41
+ import { VisuallyHidden as Je } from "@radix-ui/react-visually-hidden";
42
+ import { a as Er } from "./index-CPNSgwSb.js";
43
+ import { C as Mr } from "./CategoryHeading-DpB47wvk.js";
44
+ var D, Ie, Or = (Ie = class extends ze {
45
+ constructor(e = {}) {
46
+ super();
47
+ w(this, D);
48
+ this.config = e, y(this, D, /* @__PURE__ */ new Map());
49
+ }
50
+ build(e, r, n) {
51
+ const a = r.queryKey, i = r.queryHash ?? Be(a, r);
52
+ let o = this.get(i);
53
+ return o || (o = new kt({
54
+ client: e,
55
+ queryKey: a,
56
+ queryHash: i,
57
+ options: e.defaultQueryOptions(r),
58
+ state: n,
59
+ defaultOptions: e.getQueryDefaults(a)
60
+ }), this.add(o)), o;
61
+ }
62
+ add(e) {
63
+ l(this, D).has(e.queryHash) || (l(this, D).set(e.queryHash, e), this.notify({
64
+ type: "added",
65
+ query: e
66
+ }));
67
+ }
68
+ remove(e) {
69
+ const r = l(this, D).get(e.queryHash);
70
+ r && (e.destroy(), r === e && l(this, D).delete(e.queryHash), this.notify({ type: "removed", query: e }));
71
+ }
72
+ clear() {
73
+ P.batch(() => {
74
+ this.getAll().forEach((e) => {
75
+ this.remove(e);
76
+ });
77
+ });
78
+ }
79
+ get(e) {
80
+ return l(this, D).get(e);
81
+ }
82
+ getAll() {
83
+ return [...l(this, D).values()];
84
+ }
85
+ find(e) {
86
+ const r = { exact: !0, ...e };
87
+ return this.getAll().find(
88
+ (n) => ye(r, n)
89
+ );
90
+ }
91
+ findAll(e = {}) {
92
+ const r = this.getAll();
93
+ return Object.keys(e).length > 0 ? r.filter((n) => ye(e, n)) : r;
94
+ }
95
+ notify(e) {
96
+ P.batch(() => {
97
+ this.listeners.forEach((r) => {
98
+ r(e);
99
+ });
100
+ });
101
+ }
102
+ onFocus() {
103
+ P.batch(() => {
104
+ this.getAll().forEach((e) => {
105
+ e.onFocus();
106
+ });
107
+ });
108
+ }
109
+ onOnline() {
110
+ P.batch(() => {
111
+ this.getAll().forEach((e) => {
112
+ e.onOnline();
113
+ });
114
+ });
115
+ }
116
+ }, D = new WeakMap(), Ie), O, k, Y, Qe, Ar = (Qe = class extends ze {
117
+ constructor(e = {}) {
118
+ super();
119
+ w(this, O);
120
+ w(this, k);
121
+ w(this, Y);
122
+ this.config = e, y(this, O, /* @__PURE__ */ new Set()), y(this, k, /* @__PURE__ */ new Map()), y(this, Y, 0);
123
+ }
124
+ build(e, r, n) {
125
+ const a = new Ut({
126
+ mutationCache: this,
127
+ mutationId: ++_(this, Y)._,
128
+ options: e.defaultMutationOptions(r),
129
+ state: n
130
+ });
131
+ return this.add(a), a;
132
+ }
133
+ add(e) {
134
+ l(this, O).add(e);
135
+ const r = G(e);
136
+ if (typeof r == "string") {
137
+ const n = l(this, k).get(r);
138
+ n ? n.push(e) : l(this, k).set(r, [e]);
139
+ }
140
+ this.notify({ type: "added", mutation: e });
141
+ }
142
+ remove(e) {
143
+ if (l(this, O).delete(e)) {
144
+ const r = G(e);
145
+ if (typeof r == "string") {
146
+ const n = l(this, k).get(r);
147
+ if (n)
148
+ if (n.length > 1) {
149
+ const a = n.indexOf(e);
150
+ a !== -1 && n.splice(a, 1);
151
+ } else n[0] === e && l(this, k).delete(r);
152
+ }
153
+ }
154
+ this.notify({ type: "removed", mutation: e });
155
+ }
156
+ canRun(e) {
157
+ const r = G(e);
158
+ if (typeof r == "string") {
159
+ const n = l(this, k).get(r), a = n == null ? void 0 : n.find(
160
+ (i) => i.state.status === "pending"
161
+ );
162
+ return !a || a === e;
163
+ } else
164
+ return !0;
165
+ }
166
+ runNext(e) {
167
+ var n;
168
+ const r = G(e);
169
+ if (typeof r == "string") {
170
+ const a = (n = l(this, k).get(r)) == null ? void 0 : n.find((i) => i !== e && i.state.isPaused);
171
+ return (a == null ? void 0 : a.continue()) ?? Promise.resolve();
172
+ } else
173
+ return Promise.resolve();
174
+ }
175
+ clear() {
176
+ P.batch(() => {
177
+ l(this, O).forEach((e) => {
178
+ this.notify({ type: "removed", mutation: e });
179
+ }), l(this, O).clear(), l(this, k).clear();
180
+ });
181
+ }
182
+ getAll() {
183
+ return Array.from(l(this, O));
184
+ }
185
+ find(e) {
186
+ const r = { exact: !0, ...e };
187
+ return this.getAll().find(
188
+ (n) => be(r, n)
189
+ );
190
+ }
191
+ findAll(e = {}) {
192
+ return this.getAll().filter((r) => be(e, r));
193
+ }
194
+ notify(e) {
195
+ P.batch(() => {
196
+ this.listeners.forEach((r) => {
197
+ r(e);
198
+ });
199
+ });
200
+ }
201
+ resumePausedMutations() {
202
+ const e = this.getAll().filter((r) => r.state.isPaused);
203
+ return P.batch(
204
+ () => Promise.all(
205
+ e.map((r) => r.continue().catch(M))
206
+ )
207
+ );
208
+ }
209
+ }, O = new WeakMap(), k = new WeakMap(), Y = new WeakMap(), Qe);
210
+ function G(t) {
211
+ var e;
212
+ return (e = t.options.scope) == null ? void 0 : e.id;
213
+ }
214
+ function De(t) {
215
+ return {
216
+ onFetch: (e, r) => {
217
+ var m, g, h, f, v;
218
+ const n = e.options, a = (h = (g = (m = e.fetchOptions) == null ? void 0 : m.meta) == null ? void 0 : g.fetchMore) == null ? void 0 : h.direction, i = ((f = e.state.data) == null ? void 0 : f.pages) || [], o = ((v = e.state.data) == null ? void 0 : v.pageParams) || [];
219
+ let u = { pages: [], pageParams: [] }, d = 0;
220
+ const c = async () => {
221
+ let x = !1;
222
+ const C = (b) => {
223
+ Object.defineProperty(b, "signal", {
224
+ enumerable: !0,
225
+ get: () => (e.signal.aborted ? x = !0 : e.signal.addEventListener("abort", () => {
226
+ x = !0;
227
+ }), e.signal)
228
+ });
229
+ }, V = St(e.options, e.fetchOptions), K = async (b, N, $) => {
230
+ if (x)
231
+ return Promise.reject();
232
+ if (N == null && b.pages.length)
233
+ return Promise.resolve(b);
234
+ const X = {
235
+ client: e.client,
236
+ queryKey: e.queryKey,
237
+ pageParam: N,
238
+ direction: $ ? "backward" : "forward",
239
+ meta: e.options.meta
240
+ };
241
+ C(X);
242
+ const ct = await V(
243
+ X
244
+ ), { maxPages: me } = e.options, pe = $ ? Nt : Dt;
245
+ return {
246
+ pages: pe(b.pages, ct, me),
247
+ pageParams: pe(b.pageParams, N, me)
248
+ };
249
+ };
250
+ if (a && i.length) {
251
+ const b = a === "backward", N = b ? qr : Ee, $ = {
252
+ pages: i,
253
+ pageParams: o
254
+ }, X = N(n, $);
255
+ u = await K($, X, b);
256
+ } else {
257
+ const b = t ?? i.length;
258
+ do {
259
+ const N = d === 0 ? o[0] ?? n.initialPageParam : Ee(n, u);
260
+ if (d > 0 && N == null)
261
+ break;
262
+ u = await K(u, N), d++;
263
+ } while (d < b);
264
+ }
265
+ return u;
266
+ };
267
+ e.options.persister ? e.fetchFn = () => {
268
+ var x, C;
269
+ return (C = (x = e.options).persister) == null ? void 0 : C.call(
270
+ x,
271
+ c,
272
+ {
273
+ client: e.client,
274
+ queryKey: e.queryKey,
275
+ meta: e.options.meta,
276
+ signal: e.signal
277
+ },
278
+ r
279
+ );
280
+ } : e.fetchFn = c;
281
+ }
282
+ };
283
+ }
284
+ function Ee(t, { pages: e, pageParams: r }) {
285
+ const n = e.length - 1;
286
+ return e.length > 0 ? t.getNextPageParam(
287
+ e[n],
288
+ e,
289
+ r[n],
290
+ r
291
+ ) : void 0;
292
+ }
293
+ function qr(t, { pages: e, pageParams: r }) {
294
+ var n;
295
+ return e.length > 0 ? (n = t.getPreviousPageParam) == null ? void 0 : n.call(t, e[0], e, r[0], r) : void 0;
296
+ }
297
+ var p, A, q, R, F, T, H, L, Re, Tr = (Re = class {
298
+ constructor(t = {}) {
299
+ w(this, p);
300
+ w(this, A);
301
+ w(this, q);
302
+ w(this, R);
303
+ w(this, F);
304
+ w(this, T);
305
+ w(this, H);
306
+ w(this, L);
307
+ y(this, p, t.queryCache || new Or()), y(this, A, t.mutationCache || new Ar()), y(this, q, t.defaultOptions || {}), y(this, R, /* @__PURE__ */ new Map()), y(this, F, /* @__PURE__ */ new Map()), y(this, T, 0);
308
+ }
309
+ mount() {
310
+ _(this, T)._++, l(this, T) === 1 && (y(this, H, Et.subscribe(async (t) => {
311
+ t && (await this.resumePausedMutations(), l(this, p).onFocus());
312
+ })), y(this, L, je.subscribe(async (t) => {
313
+ t && (await this.resumePausedMutations(), l(this, p).onOnline());
314
+ })));
315
+ }
316
+ unmount() {
317
+ var t, e;
318
+ _(this, T)._--, l(this, T) === 0 && ((t = l(this, H)) == null || t.call(this), y(this, H, void 0), (e = l(this, L)) == null || e.call(this), y(this, L, void 0));
319
+ }
320
+ isFetching(t) {
321
+ return l(this, p).findAll({ ...t, fetchStatus: "fetching" }).length;
322
+ }
323
+ isMutating(t) {
324
+ return l(this, A).findAll({ ...t, status: "pending" }).length;
325
+ }
326
+ getQueryData(t) {
327
+ var r;
328
+ const e = this.defaultQueryOptions({ queryKey: t });
329
+ return (r = l(this, p).get(e.queryHash)) == null ? void 0 : r.state.data;
330
+ }
331
+ ensureQueryData(t) {
332
+ const e = this.defaultQueryOptions(t), r = l(this, p).build(this, e), n = r.state.data;
333
+ return n === void 0 ? this.fetchQuery(t) : (t.revalidateIfStale && r.isStaleByTime(we(e.staleTime, r)) && this.prefetchQuery(e), Promise.resolve(n));
334
+ }
335
+ getQueriesData(t) {
336
+ return l(this, p).findAll(t).map(({ queryKey: e, state: r }) => {
337
+ const n = r.data;
338
+ return [e, n];
339
+ });
340
+ }
341
+ setQueryData(t, e, r) {
342
+ const n = this.defaultQueryOptions({ queryKey: t }), a = l(this, p).get(
343
+ n.queryHash
344
+ ), i = a == null ? void 0 : a.state.data, o = Mt(e, i);
345
+ if (o !== void 0)
346
+ return l(this, p).build(this, n).setData(o, { ...r, manual: !0 });
347
+ }
348
+ setQueriesData(t, e, r) {
349
+ return P.batch(
350
+ () => l(this, p).findAll(t).map(({ queryKey: n }) => [
351
+ n,
352
+ this.setQueryData(n, e, r)
353
+ ])
354
+ );
355
+ }
356
+ getQueryState(t) {
357
+ var r;
358
+ const e = this.defaultQueryOptions({ queryKey: t });
359
+ return (r = l(this, p).get(
360
+ e.queryHash
361
+ )) == null ? void 0 : r.state;
362
+ }
363
+ removeQueries(t) {
364
+ const e = l(this, p);
365
+ P.batch(() => {
366
+ e.findAll(t).forEach((r) => {
367
+ e.remove(r);
368
+ });
369
+ });
370
+ }
371
+ resetQueries(t, e) {
372
+ const r = l(this, p), n = {
373
+ type: "active",
374
+ ...t
375
+ };
376
+ return P.batch(() => (r.findAll(t).forEach((a) => {
377
+ a.reset();
378
+ }), this.refetchQueries(n, e)));
379
+ }
380
+ cancelQueries(t, e = {}) {
381
+ const r = { revert: !0, ...e }, n = P.batch(
382
+ () => l(this, p).findAll(t).map((a) => a.cancel(r))
383
+ );
384
+ return Promise.all(n).then(M).catch(M);
385
+ }
386
+ invalidateQueries(t, e = {}) {
387
+ return P.batch(() => {
388
+ if (l(this, p).findAll(t).forEach((n) => {
389
+ n.invalidate();
390
+ }), (t == null ? void 0 : t.refetchType) === "none")
391
+ return Promise.resolve();
392
+ const r = {
393
+ ...t,
394
+ type: (t == null ? void 0 : t.refetchType) ?? (t == null ? void 0 : t.type) ?? "active"
395
+ };
396
+ return this.refetchQueries(r, e);
397
+ });
398
+ }
399
+ refetchQueries(t, e = {}) {
400
+ const r = {
401
+ ...e,
402
+ cancelRefetch: e.cancelRefetch ?? !0
403
+ }, n = P.batch(
404
+ () => l(this, p).findAll(t).filter((a) => !a.isDisabled()).map((a) => {
405
+ let i = a.fetch(void 0, r);
406
+ return r.throwOnError || (i = i.catch(M)), a.state.fetchStatus === "paused" ? Promise.resolve() : i;
407
+ })
408
+ );
409
+ return Promise.all(n).then(M);
410
+ }
411
+ fetchQuery(t) {
412
+ const e = this.defaultQueryOptions(t);
413
+ e.retry === void 0 && (e.retry = !1);
414
+ const r = l(this, p).build(this, e);
415
+ return r.isStaleByTime(
416
+ we(e.staleTime, r)
417
+ ) ? r.fetch(e) : Promise.resolve(r.state.data);
418
+ }
419
+ prefetchQuery(t) {
420
+ return this.fetchQuery(t).then(M).catch(M);
421
+ }
422
+ fetchInfiniteQuery(t) {
423
+ return t.behavior = De(t.pages), this.fetchQuery(t);
424
+ }
425
+ prefetchInfiniteQuery(t) {
426
+ return this.fetchInfiniteQuery(t).then(M).catch(M);
427
+ }
428
+ ensureInfiniteQueryData(t) {
429
+ return t.behavior = De(t.pages), this.ensureQueryData(t);
430
+ }
431
+ resumePausedMutations() {
432
+ return je.isOnline() ? l(this, A).resumePausedMutations() : Promise.resolve();
433
+ }
434
+ getQueryCache() {
435
+ return l(this, p);
436
+ }
437
+ getMutationCache() {
438
+ return l(this, A);
439
+ }
440
+ getDefaultOptions() {
441
+ return l(this, q);
442
+ }
443
+ setDefaultOptions(t) {
444
+ y(this, q, t);
445
+ }
446
+ setQueryDefaults(t, e) {
447
+ l(this, R).set(Pe(t), {
448
+ queryKey: t,
449
+ defaultOptions: e
450
+ });
451
+ }
452
+ getQueryDefaults(t) {
453
+ const e = [...l(this, R).values()], r = {};
454
+ return e.forEach((n) => {
455
+ Ce(t, n.queryKey) && Object.assign(r, n.defaultOptions);
456
+ }), r;
457
+ }
458
+ setMutationDefaults(t, e) {
459
+ l(this, F).set(Pe(t), {
460
+ mutationKey: t,
461
+ defaultOptions: e
462
+ });
463
+ }
464
+ getMutationDefaults(t) {
465
+ const e = [...l(this, F).values()];
466
+ let r = {};
467
+ return e.forEach((n) => {
468
+ Ce(t, n.mutationKey) && (r = { ...r, ...n.defaultOptions });
469
+ }), r;
470
+ }
471
+ defaultQueryOptions(t) {
472
+ if (t._defaulted)
473
+ return t;
474
+ const e = {
475
+ ...l(this, q).queries,
476
+ ...this.getQueryDefaults(t.queryKey),
477
+ ...t,
478
+ _defaulted: !0
479
+ };
480
+ return e.queryHash || (e.queryHash = Be(
481
+ e.queryKey,
482
+ e
483
+ )), e.refetchOnReconnect === void 0 && (e.refetchOnReconnect = e.networkMode !== "always"), e.throwOnError === void 0 && (e.throwOnError = !!e.suspense), !e.networkMode && e.persister && (e.networkMode = "offlineFirst"), e.queryFn === Ot && (e.enabled = !1), e;
484
+ }
485
+ defaultMutationOptions(t) {
486
+ return t != null && t._defaulted ? t : {
487
+ ...l(this, q).mutations,
488
+ ...(t == null ? void 0 : t.mutationKey) && this.getMutationDefaults(t.mutationKey),
489
+ ...t,
490
+ _defaulted: !0
491
+ };
492
+ }
493
+ clear() {
494
+ l(this, p).clear(), l(this, A).clear();
495
+ }
496
+ }, p = new WeakMap(), A = new WeakMap(), q = new WeakMap(), R = new WeakMap(), F = new WeakMap(), T = new WeakMap(), H = new WeakMap(), L = new WeakMap(), Re);
497
+ function Ir(t) {
498
+ return t;
499
+ }
500
+ function Me(t, e, r) {
501
+ var d, c;
502
+ if (typeof e != "object" || e === null)
503
+ return;
504
+ const n = t.getMutationCache(), a = t.getQueryCache(), i = ((d = r == null ? void 0 : r.defaultOptions) == null ? void 0 : d.deserializeData) ?? ((c = t.getDefaultOptions().hydrate) == null ? void 0 : c.deserializeData) ?? Ir, o = e.mutations || [], u = e.queries || [];
505
+ o.forEach(({ state: m, ...g }) => {
506
+ var h, f;
507
+ n.build(
508
+ t,
509
+ {
510
+ ...(h = t.getDefaultOptions().hydrate) == null ? void 0 : h.mutations,
511
+ ...(f = r == null ? void 0 : r.defaultOptions) == null ? void 0 : f.mutations,
512
+ ...g
513
+ },
514
+ m
515
+ );
516
+ }), u.forEach(({ queryKey: m, state: g, queryHash: h, meta: f, promise: v }) => {
517
+ var V, K;
518
+ let x = a.get(h);
519
+ const C = g.data === void 0 ? g.data : i(g.data);
520
+ if (x) {
521
+ if (x.state.dataUpdatedAt < g.dataUpdatedAt) {
522
+ const { fetchStatus: b, ...N } = g;
523
+ x.setState({
524
+ ...N,
525
+ data: C
526
+ });
527
+ }
528
+ } else
529
+ x = a.build(
530
+ t,
531
+ {
532
+ ...(V = t.getDefaultOptions().hydrate) == null ? void 0 : V.queries,
533
+ ...(K = r == null ? void 0 : r.defaultOptions) == null ? void 0 : K.queries,
534
+ queryKey: m,
535
+ queryHash: h,
536
+ meta: f
537
+ },
538
+ // Reset fetch status to idle to avoid
539
+ // query being stuck in fetching state upon hydration
540
+ {
541
+ ...g,
542
+ data: C,
543
+ fetchStatus: "idle"
544
+ }
545
+ );
546
+ if (v) {
547
+ const b = Promise.resolve(v).then(i);
548
+ x.fetch(void 0, { initialPromise: b });
549
+ }
550
+ });
551
+ }
552
+ var Oe = (t, e) => typeof t == "object" && t !== null && e in t, Qr = ({
553
+ children: t,
554
+ options: e = {},
555
+ state: r,
556
+ queryClient: n
557
+ }) => {
558
+ const a = At(n), [i, o] = U.useState(), u = U.useRef(e);
559
+ return u.current = e, U.useMemo(() => {
560
+ if (r) {
561
+ if (typeof r != "object")
562
+ return;
563
+ const d = a.getQueryCache(), c = r.queries || [], m = [], g = [];
564
+ for (const h of c) {
565
+ const f = d.get(h.queryHash);
566
+ if (!f)
567
+ m.push(h);
568
+ else {
569
+ const v = h.state.dataUpdatedAt > f.state.dataUpdatedAt || // RSC special serialized then-able chunks
570
+ Oe(h.promise, "status") && Oe(f.promise, "status") && h.promise.status !== f.promise.status, x = i == null ? void 0 : i.find(
571
+ (C) => C.queryHash === h.queryHash
572
+ );
573
+ v && (!x || h.state.dataUpdatedAt > x.state.dataUpdatedAt) && g.push(h);
574
+ }
575
+ }
576
+ m.length > 0 && Me(a, { queries: m }, u.current), g.length > 0 && o(
577
+ (h) => h ? [...h, ...g] : g
578
+ );
579
+ }
580
+ }, [a, i, r]), U.useEffect(() => {
581
+ i && (Me(a, { queries: i }, u.current), o(void 0));
582
+ }, [a, i]), t;
583
+ };
584
+ const Rr = () => {
585
+ var o;
586
+ const t = z(), e = E(), r = mt(), n = ee(), a = Ht(n.pathname), i = (o = e.options.protectedRoutes) == null ? void 0 : o.some(
587
+ (u) => pt({ path: u, end: !0 }, n.pathname)
588
+ );
589
+ if (qt({
590
+ queryKey: ["login-redirect"],
591
+ queryFn: async () => {
592
+ var u;
593
+ return await new Promise((d) => setTimeout(d, 1200)), await ((u = e.authentication) == null ? void 0 : u.signIn({
594
+ redirectTo: a.current
595
+ })), !0;
596
+ },
597
+ enabled: typeof window < "u" && i && !t.isPending && !t.isAuthenticated
598
+ }), i && !t.isAuthenticated)
599
+ return /* @__PURE__ */ s.jsx(
600
+ Tt,
601
+ {
602
+ open: !0,
603
+ onOpenChange: (u) => {
604
+ u || r(-1);
605
+ },
606
+ children: /* @__PURE__ */ s.jsxs(It, { children: [
607
+ /* @__PURE__ */ s.jsx(Qt, { children: /* @__PURE__ */ s.jsx(Rt, { children: "Logging you in..." }) }),
608
+ /* @__PURE__ */ s.jsx(Ft, { children: "Please wait while we log you in." })
609
+ ] })
610
+ }
611
+ );
612
+ if (i && !t.isAuthEnabled)
613
+ throw new $e("Authentication is not enabled", {
614
+ title: "Authentication is not enabled",
615
+ developerHint: "To use protectedRoutes you need authentication to be enabled"
616
+ });
617
+ return /* @__PURE__ */ s.jsx(ce, {});
618
+ };
619
+ function Fr({ error: t }) {
620
+ return /* @__PURE__ */ s.jsx(Ue, { error: t });
621
+ }
622
+ /**
623
+ * react-router v7.2.0
624
+ *
625
+ * Copyright (c) Remix Software Inc.
626
+ *
627
+ * This source code is licensed under the MIT license found in the
628
+ * LICENSE.md file in the root directory of this source tree.
629
+ *
630
+ * @license MIT
631
+ */
632
+ function Hr(t) {
633
+ return /* @__PURE__ */ U.createElement(xt, { flushSync: Gt.flushSync, ...t });
634
+ }
635
+ const oe = he({ stagger: !1 }), Lr = new Tr({
636
+ defaultOptions: {
637
+ queries: {
638
+ staleTime: 1e3 * 60 * 5
639
+ }
640
+ }
641
+ }), zr = ({
642
+ router: t,
643
+ hydrate: e = !1
644
+ }) => /* @__PURE__ */ s.jsx(Ze, { children: /* @__PURE__ */ s.jsx(Ke, { client: Lr, children: /* @__PURE__ */ s.jsx(Qr, { state: e ? window.DATA : void 0, children: /* @__PURE__ */ s.jsx(Fe, { children: /* @__PURE__ */ s.jsx(oe.Provider, { value: { stagger: !e }, children: /* @__PURE__ */ s.jsx(Hr, { router: t }) }) }) }) }) }), Br = ({
645
+ router: t,
646
+ context: e,
647
+ queryClient: r,
648
+ helmetContext: n
649
+ }) => /* @__PURE__ */ s.jsx(Ze, { children: /* @__PURE__ */ s.jsx(Ke, { client: r, children: /* @__PURE__ */ s.jsx(Fe, { context: n, children: /* @__PURE__ */ s.jsx(vt, { router: t, context: e }) }) }) });
650
+ var Z = { exports: {} }, Kr = Z.exports, Ae;
651
+ function $r() {
652
+ return Ae || (Ae = 1, function(t, e) {
653
+ (function(r, n) {
654
+ n(e, Zt);
655
+ })(Kr, function(r, n) {
656
+ const a = {
657
+ delay: 500,
658
+ minDuration: 200,
659
+ ssr: !0
660
+ };
661
+ function i() {
662
+ const [u, d] = n.useState(!0);
663
+ return n.useEffect(() => {
664
+ d(!1);
665
+ }, []), u;
666
+ }
667
+ function o(u, d) {
668
+ d = Object.assign({}, a, d);
669
+ const c = i() && d.ssr, m = c && u ? "DISPLAY" : "IDLE", [g, h] = n.useState(m), f = n.useRef(null);
670
+ return n.useEffect(() => {
671
+ if (u && (g === "IDLE" || c)) {
672
+ clearTimeout(f.current);
673
+ const v = c ? 0 : d.delay;
674
+ f.current = setTimeout(() => {
675
+ if (!u)
676
+ return h("IDLE");
677
+ f.current = setTimeout(() => {
678
+ h("EXPIRE");
679
+ }, d.minDuration), h("DISPLAY");
680
+ }, v), c || h("DELAY");
681
+ }
682
+ !u && g !== "DISPLAY" && (clearTimeout(f.current), h("IDLE"));
683
+ }, [u, g, d.delay, d.minDuration, c]), n.useEffect(() => () => clearTimeout(f.current), []), g === "DISPLAY" || g === "EXPIRE";
684
+ }
685
+ r.defaultOptions = a, r.useSpinDelay = o;
686
+ });
687
+ }(Z, Z.exports)), Z.exports;
688
+ }
689
+ var Ur = $r();
690
+ const Zr = () => {
691
+ const t = ee(), e = te(t.pathname);
692
+ I(() => {
693
+ const r = e.current !== t.pathname, n = t.hash !== "";
694
+ r && !n && window.scrollTo(0, 0), e.current = t.pathname;
695
+ }, [t.pathname, t.hash]);
696
+ };
697
+ function Yr({
698
+ className: t,
699
+ ...e
700
+ }) {
701
+ return /* @__PURE__ */ s.jsx(
702
+ "div",
703
+ {
704
+ className: Q("animate-pulse rounded-md bg-muted", t),
705
+ ...e
706
+ }
707
+ );
708
+ }
709
+ const qe = {
710
+ info: "bg-blue-500",
711
+ note: "bg-gray-500",
712
+ tip: "bg-green-600",
713
+ caution: "bg-orange-500",
714
+ danger: "bg-rose-500"
715
+ }, Vr = () => {
716
+ const { page: t } = E(), [e, r] = B(!0);
717
+ if (!(t != null && t.banner) || !e)
718
+ return /* @__PURE__ */ s.jsx("style", { children: ":root { --banner-height: 0px; }" });
719
+ const n = t.banner.color && t.banner.color in qe ? qe[t.banner.color] : t.banner.color ? void 0 : "bg-primary", a = n ? {} : { backgroundColor: t.banner.color };
720
+ return /* @__PURE__ */ s.jsxs(
721
+ "div",
722
+ {
723
+ className: Q(
724
+ "relative text-primary-foreground text-sm font-medium px-4 py-2 flex gap-2 items-center",
725
+ n
726
+ ),
727
+ "data-pagefind-ignore": "all",
728
+ style: a,
729
+ children: [
730
+ /* @__PURE__ */ s.jsx("div", { className: "w-full", children: t.banner.message }),
731
+ t.banner.dismissible && /* @__PURE__ */ s.jsx(
732
+ "button",
733
+ {
734
+ type: "button",
735
+ className: "md:absolute md:right-4 -m-1.5 p-1.5 hover:bg-accent-foreground/10 rounded-md",
736
+ onClick: () => r(!1),
737
+ children: /* @__PURE__ */ s.jsx(Wt, { size: 16 })
738
+ }
739
+ )
740
+ ]
741
+ }
742
+ );
743
+ }, et = ({ className: t }) => {
744
+ const e = E(), [r, n] = B(!1), a = Yt(() => n(!1), []);
745
+ I(() => {
746
+ if (r)
747
+ return;
748
+ function o(u) {
749
+ u.key === "k" && (u.metaKey || u.ctrlKey) && (u.preventDefault(), n(!0));
750
+ }
751
+ return window.addEventListener("keydown", o), () => {
752
+ window.removeEventListener("keydown", o);
753
+ };
754
+ }, [r, n]);
755
+ const i = e.plugins.find(hr);
756
+ return i ? /* @__PURE__ */ s.jsxs("div", { className: t, children: [
757
+ /* @__PURE__ */ s.jsxs(
758
+ "button",
759
+ {
760
+ type: "button",
761
+ onClick: () => n(!0),
762
+ className: "flex items-center border border-input hover:bg-accent hover:text-accent-foreground p-4 relative h-8 justify-start rounded-lg bg-background text-sm text-muted-foreground shadow-none w-full sm:w-72",
763
+ children: [
764
+ /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2 flex-grow", children: [
765
+ /* @__PURE__ */ s.jsx(Jt, { size: 14 }),
766
+ "Search"
767
+ ] }),
768
+ /* @__PURE__ */ s.jsx("kbd", { className: "absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex", children: "⌘K" })
769
+ ]
770
+ }
771
+ ),
772
+ /* @__PURE__ */ s.jsx(fe, { fallback: null, children: i.renderSearch({
773
+ isOpen: r,
774
+ onClose: a
775
+ }) })
776
+ ] }) : null;
777
+ }, tt = () => {
778
+ const { resolvedTheme: t, setTheme: e } = He();
779
+ return /* @__PURE__ */ s.jsx(ge, { fallback: /* @__PURE__ */ s.jsx(ie, { variant: "ghost", size: "icon" }), children: /* @__PURE__ */ s.jsxs(
780
+ "button",
781
+ {
782
+ type: "button",
783
+ className: "flex rounded-full border p-0.5 gap-0.5 group",
784
+ onClick: () => e(t === "dark" ? "light" : "dark"),
785
+ "aria-label": t === "dark" ? "Switch to light mode" : "Switch to dark mode",
786
+ children: [
787
+ /* @__PURE__ */ s.jsx(
788
+ "div",
789
+ {
790
+ className: Q(
791
+ "border border-transparent rounded-full p-0.5 [&>svg>circle]:transition-colors [&>svg>path]:transition-transform transition-all [&>svg>path]:duration-200 [&>svg>circle]:duration-500 [&>svg>circle]:fill-transparent",
792
+ t === "light" && "border-border bg-muted",
793
+ t === "dark" && "group-hover:[&>svg>path]:scale-110 group-hover:[&>svg>path]:-translate-x-[1px] group-hover:[&>svg>path]:-translate-y-[1px] group-hover:rotate-[15deg] "
794
+ ),
795
+ children: /* @__PURE__ */ s.jsx(er, { size: 16 })
796
+ }
797
+ ),
798
+ /* @__PURE__ */ s.jsx(
799
+ "div",
800
+ {
801
+ className: Q(
802
+ "border border-transparent rounded-full p-0.5 transition-transform transform-gpu duration-500",
803
+ t === "dark" && "border-border bg-muted [&>svg>path]:fill-white [&>svg>path]:stroke-transparent",
804
+ t === "light" && "group-hover:rotate-[-10deg] [&>svg>path]:stroke-currentColor"
805
+ ),
806
+ children: /* @__PURE__ */ s.jsx(tr, { size: 16 })
807
+ }
808
+ )
809
+ ]
810
+ }
811
+ ) });
812
+ }, rt = (t) => (e) => e.display === "auth" && t || e.display === "anon" && !t || !e.display || e.display === "always", Xr = () => {
813
+ const { topNavigation: t } = E(), { isAuthenticated: e } = z();
814
+ return t.length <= 1 ? /* @__PURE__ */ s.jsx("style", { children: ":root { --top-nav-height: 0px; }" }) : /* @__PURE__ */ s.jsx(fe, { children: /* @__PURE__ */ s.jsxs("div", { className: " items-center justify-between px-8 h-[--top-nav-height] hidden lg:flex text-sm", children: [
815
+ /* @__PURE__ */ s.jsx("nav", { className: "text-sm", children: /* @__PURE__ */ s.jsx("ul", { className: "flex flex-row items-center gap-8", children: t.filter(rt(e)).map((r) => /* @__PURE__ */ s.jsx("li", { children: /* @__PURE__ */ s.jsx(st, { ...r }) }, r.id)) }) }),
816
+ /* @__PURE__ */ s.jsx(S, { name: "top-navigation-side" })
817
+ ] }) });
818
+ }, st = ({
819
+ id: t,
820
+ label: e,
821
+ default: r
822
+ }) => {
823
+ var c;
824
+ const { sidebars: n } = E(), a = n[t], i = Le(), o = !!ue().location, u = ((c = i.topNavItem) == null ? void 0 : c.id) === t && !o, d = r ?? (a ? bt(a, (m) => {
825
+ if (m.type === "doc") return ae(m.id);
826
+ }) : ae(t));
827
+ if (!d)
828
+ throw new $e("Page not found.", {
829
+ developerHint: `No links found in top navigation for '${t}'. Check that the sidebar isn't empty or that a default link is set.`
830
+ });
831
+ return (
832
+ // We don't use isActive here because it has to be inside the sidebar,
833
+ // the top nav id doesn't necessarily start with the sidebar id
834
+ /* @__PURE__ */ s.jsx(
835
+ yt,
836
+ {
837
+ className: ({ isPending: m }) => Er(
838
+ "block lg:py-3.5 font-medium -mb-px",
839
+ u || m ? "border-primary text-foreground" : "border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25"
840
+ ),
841
+ to: d,
842
+ children: e
843
+ }
844
+ )
845
+ );
846
+ }, _r = () => {
847
+ const { topNavigation: t } = E(), { isAuthenticated: e } = z(), [r, n] = B(!1);
848
+ return /* @__PURE__ */ s.jsxs(
849
+ Ve,
850
+ {
851
+ direction: "right",
852
+ open: r,
853
+ onOpenChange: (a) => n(a),
854
+ children: [
855
+ /* @__PURE__ */ s.jsx("div", { className: "flex lg:hidden justify-self-end", children: /* @__PURE__ */ s.jsx(Xe, { className: "lg:hidden", children: /* @__PURE__ */ s.jsx(rr, { size: 22 }) }) }),
856
+ /* @__PURE__ */ s.jsx(
857
+ _e,
858
+ {
859
+ className: "lg:hidden h-[100dvh] right-0 left-auto w-[320px] rounded-none",
860
+ "aria-describedby": void 0,
861
+ children: /* @__PURE__ */ s.jsxs("div", { className: "p-4 overflow-y-auto overscroll-none", children: [
862
+ /* @__PURE__ */ s.jsx(Je, { children: /* @__PURE__ */ s.jsx(Ge, { children: "Navigation" }) }),
863
+ /* @__PURE__ */ s.jsx(et, { className: "flex p-4" }),
864
+ /* @__PURE__ */ s.jsxs("ul", { className: "flex flex-col items-center gap-4 p-4", children: [
865
+ /* @__PURE__ */ s.jsx("li", { children: /* @__PURE__ */ s.jsx(tt, {}) }),
866
+ t.filter(rt(e)).map((a) => /* @__PURE__ */ s.jsx("li", { children: /* @__PURE__ */ s.jsx("button", { onClick: () => n(!1), children: /* @__PURE__ */ s.jsx(st, { ...a }) }) }, a.label))
867
+ ] })
868
+ ] })
869
+ }
870
+ )
871
+ ]
872
+ }
873
+ );
874
+ }, J = ({ item: t }) => t.children ? /* @__PURE__ */ s.jsxs(Cr, { children: [
875
+ /* @__PURE__ */ s.jsx(kr, { children: t.label }),
876
+ /* @__PURE__ */ s.jsx(Sr, { children: /* @__PURE__ */ s.jsx(Nr, { children: t.children.map((e, r) => (
877
+ // eslint-disable-next-line react/no-array-index-key
878
+ /* @__PURE__ */ s.jsx(J, { item: e }, r)
879
+ )) }) })
880
+ ] }, t.label) : /* @__PURE__ */ s.jsx(de, { to: t.path ?? "", children: /* @__PURE__ */ s.jsxs(Dr, { className: "flex gap-2", children: [
881
+ t.icon && /* @__PURE__ */ s.jsx(t.icon, { size: 16, strokeWidth: 1, absoluteStrokeWidth: !0 }),
882
+ t.label
883
+ ] }, t.label) }), nt = Ye(function() {
884
+ const e = z(), { isAuthenticated: r, profile: n, isAuthEnabled: a } = z(), i = E(), { page: o, plugins: u } = i, d = u.filter((c) => fr(c)).flatMap((c) => c.getProfileMenuItems(i)).sort((c) => c.weight ?? 0);
885
+ return /* @__PURE__ */ s.jsxs("header", { className: "sticky lg:top-0 z-10 bg-background/80 backdrop-blur w-full", children: [
886
+ /* @__PURE__ */ s.jsx(Vr, {}),
887
+ /* @__PURE__ */ s.jsx("div", { className: "border-b", children: /* @__PURE__ */ s.jsxs("div", { className: "max-w-screen-2xl 2xl:border-x mx-auto grid grid-cols-[1fr_auto] lg:grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center px-4 lg:px-8 h-[--top-header-height]", children: [
888
+ /* @__PURE__ */ s.jsx("div", { className: "flex", children: /* @__PURE__ */ s.jsx(de, { to: "/", children: /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-3.5", children: [
889
+ (o == null ? void 0 : o.logo) && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
890
+ /* @__PURE__ */ s.jsx(
891
+ "img",
892
+ {
893
+ src: /https?:\/\//.test(o.logo.src.light) ? o.logo.src.light : Ne(
894
+ "/",
895
+ o.logo.src.light
896
+ ),
897
+ alt: o.logo.alt ?? o.pageTitle,
898
+ style: { width: o.logo.width },
899
+ className: "h-10 dark:hidden",
900
+ loading: "lazy"
901
+ }
902
+ ),
903
+ /* @__PURE__ */ s.jsx(
904
+ "img",
905
+ {
906
+ src: /https?:\/\//.test(o.logo.src.dark) ? o.logo.src.dark : Ne(
907
+ "/",
908
+ o.logo.src.dark
909
+ ),
910
+ alt: o.logo.alt ?? o.pageTitle,
911
+ style: { width: o.logo.width },
912
+ className: "h-10 hidden dark:block",
913
+ loading: "lazy"
914
+ }
915
+ )
916
+ ] }),
917
+ /* @__PURE__ */ s.jsx("span", { className: "font-bold text-2xl text-foreground/85 tracking-wide", children: o == null ? void 0 : o.pageTitle })
918
+ ] }) }) }),
919
+ /* @__PURE__ */ s.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[--sidecar-grid-cols] items-center gap-8", children: [
920
+ /* @__PURE__ */ s.jsx("div", { className: "w-full justify-center hidden lg:flex", children: /* @__PURE__ */ s.jsx(et, {}) }),
921
+ /* @__PURE__ */ s.jsx(_r, {}),
922
+ /* @__PURE__ */ s.jsxs("div", { className: "hidden lg:flex items-center justify-self-end text-sm gap-2", children: [
923
+ /* @__PURE__ */ s.jsx(S, { name: "head-navigation-start" }),
924
+ a && /* @__PURE__ */ s.jsx(
925
+ ge,
926
+ {
927
+ fallback: /* @__PURE__ */ s.jsx(Yr, { className: "rounded h-5 w-24 mr-4" }),
928
+ children: r ? Object.values(d).length > 0 && /* @__PURE__ */ s.jsxs(br, { modal: !1, children: [
929
+ /* @__PURE__ */ s.jsx(jr, { asChild: !0, children: /* @__PURE__ */ s.jsx(ie, { variant: "ghost", children: n != null && n.name ? `${n.name}` : "My Account" }) }),
930
+ /* @__PURE__ */ s.jsxs(wr, { className: "w-56", children: [
931
+ /* @__PURE__ */ s.jsxs(Pr, { children: [
932
+ n != null && n.name ? `${n.name}` : "My Account",
933
+ (n == null ? void 0 : n.email) && /* @__PURE__ */ s.jsx("div", { className: "font-normal text-muted-foreground", children: n.email })
934
+ ] }),
935
+ d.filter((c) => c.category === "top").length > 0 && /* @__PURE__ */ s.jsx(se, {}),
936
+ d.filter((c) => c.category === "top").map((c) => /* @__PURE__ */ s.jsx(J, { item: c }, c.label)),
937
+ d.filter(
938
+ (c) => !c.category || c.category === "middle"
939
+ ).length > 0 && /* @__PURE__ */ s.jsx(se, {}),
940
+ d.filter(
941
+ (c) => !c.category || c.category === "middle"
942
+ ).map((c) => /* @__PURE__ */ s.jsx(J, { item: c }, c.label)),
943
+ d.filter((c) => c.category === "bottom").length > 0 && /* @__PURE__ */ s.jsx(se, {}),
944
+ d.filter((c) => c.category === "bottom").map((c) => /* @__PURE__ */ s.jsx(J, { item: c }, c.label))
945
+ ] })
946
+ ] }) : /* @__PURE__ */ s.jsx(ie, { variant: "ghost", onClick: () => e.login(), children: "Login" })
947
+ }
948
+ ),
949
+ /* @__PURE__ */ s.jsx(S, { name: "head-navigation-end" }),
950
+ /* @__PURE__ */ s.jsx(tt, {})
951
+ ] })
952
+ ] })
953
+ ] }) }),
954
+ /* @__PURE__ */ s.jsx("div", { className: "border-b hidden lg:block", children: /* @__PURE__ */ s.jsxs("div", { className: "max-w-screen-2xl mx-auto 2xl:border-x", children: [
955
+ /* @__PURE__ */ s.jsx(S, { name: "top-navigation-before" }),
956
+ /* @__PURE__ */ s.jsx(Xr, {}),
957
+ /* @__PURE__ */ s.jsx(S, { name: "top-navigation-after" })
958
+ ] }) })
959
+ ] });
960
+ }), at = Vt(({ children: t, className: e, pushMainContent: r }, n) => /* @__PURE__ */ s.jsx(
961
+ "nav",
962
+ {
963
+ "data-navigation": String(r),
964
+ className: Q(
965
+ "scrollbar peer hidden lg:flex flex-col fixed text-sm overflow-y-auto shrink-0 border-r pr-6",
966
+ "-mx-[--padding-nav-item] pb-20 pt-[--padding-content-top]",
967
+ "w-[--side-nav-width] h-[calc(100%-var(--header-height))] scroll-pt-2 gap-2",
968
+ !r && "border-r-0",
969
+ e
970
+ ),
971
+ ref: n,
972
+ children: t
973
+ }
974
+ ));
975
+ at.displayName = "SidebarWrapper";
976
+ const Gr = ({
977
+ onRequestClose: t
978
+ }) => {
979
+ const e = te(null), r = Le();
980
+ return I(() => {
981
+ var a;
982
+ const n = (a = e.current) == null ? void 0 : a.querySelector('[aria-current="page"]');
983
+ nr(n ?? null);
984
+ }, []), /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
985
+ /* @__PURE__ */ s.jsxs(
986
+ at,
987
+ {
988
+ ref: e,
989
+ pushMainContent: r.sidebar.length > 0,
990
+ children: [
991
+ /* @__PURE__ */ s.jsx(S, { name: "zudoku-before-navigation" }),
992
+ r.sidebar.map((n) => /* @__PURE__ */ s.jsx(Se, { item: n }, n.label)),
993
+ /* @__PURE__ */ s.jsx(S, { name: "zudoku-after-navigation" })
994
+ ]
995
+ }
996
+ ),
997
+ /* @__PURE__ */ s.jsx(
998
+ _e,
999
+ {
1000
+ className: "lg:hidden h-[100dvh] left-0 w-[320px] rounded-none",
1001
+ "aria-describedby": void 0,
1002
+ children: /* @__PURE__ */ s.jsxs("div", { className: "p-4 overflow-y-auto overscroll-none", children: [
1003
+ /* @__PURE__ */ s.jsx(Je, { children: /* @__PURE__ */ s.jsx(Ge, { children: "Sidebar" }) }),
1004
+ r.sidebar.map((n) => /* @__PURE__ */ s.jsx(
1005
+ Se,
1006
+ {
1007
+ item: n,
1008
+ onRequestClose: t
1009
+ },
1010
+ n.label
1011
+ ))
1012
+ ] })
1013
+ }
1014
+ )
1015
+ ] });
1016
+ }, Te = () => /* @__PURE__ */ s.jsx("main", { className: "grid h-[calc(100vh-var(--header-height))] place-items-center", children: /* @__PURE__ */ s.jsx(We, {}) }), Wr = ({ children: t }) => {
1017
+ const e = ee(), { setActiveAnchor: r } = ar(), { meta: n, authentication: a } = E();
1018
+ ir(), Zr();
1019
+ const i = te(e.pathname);
1020
+ I(() => {
1021
+ var m;
1022
+ (m = a == null ? void 0 : a.onPageLoad) == null || m.call(a);
1023
+ }, [a]), I(() => {
1024
+ e.pathname !== i.current && r(""), i.current = e.pathname;
1025
+ }, [e.pathname, r]);
1026
+ const o = !!ue().location, u = Ur.useSpinDelay(o, {
1027
+ delay: 300,
1028
+ minDuration: 500
1029
+ }), [d, c] = B(!1);
1030
+ return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
1031
+ !1,
1032
+ /* @__PURE__ */ s.jsxs(le, { titleTemplate: n == null ? void 0 : n.title, children: [
1033
+ (n == null ? void 0 : n.description) && /* @__PURE__ */ s.jsx("meta", { name: "description", content: n.description }),
1034
+ (n == null ? void 0 : n.favicon) && /* @__PURE__ */ s.jsx("link", { rel: "icon", href: n.favicon })
1035
+ ] }),
1036
+ /* @__PURE__ */ s.jsx(S, { name: "layout-before-head" }),
1037
+ /* @__PURE__ */ s.jsx(nt, {}),
1038
+ /* @__PURE__ */ s.jsx(S, { name: "layout-after-head" }),
1039
+ /* @__PURE__ */ s.jsx("div", { className: "w-full min-h-[calc(100vh-var(--header-height))] max-w-screen-2xl mx-auto px-4 lg:px-8 2xl:border-x", children: u ? /* @__PURE__ */ s.jsx(Te, {}) : /* @__PURE__ */ s.jsx(fe, { fallback: /* @__PURE__ */ s.jsx(Te, {}), children: /* @__PURE__ */ s.jsxs(
1040
+ Ve,
1041
+ {
1042
+ direction: "left",
1043
+ open: d,
1044
+ onOpenChange: (m) => c(m),
1045
+ children: [
1046
+ /* @__PURE__ */ s.jsx(Gr, { onRequestClose: () => c(!1) }),
1047
+ /* @__PURE__ */ s.jsx(
1048
+ "div",
1049
+ {
1050
+ className: Q(
1051
+ "lg:hidden -mx-4 px-4 py-2 sticky bg-background/80 backdrop-blur z-10 top-0 left-0 right-0 border-b",
1052
+ "peer-data-[navigation=false]:hidden"
1053
+ ),
1054
+ children: /* @__PURE__ */ s.jsxs(Xe, { className: "flex items-center gap-2", children: [
1055
+ /* @__PURE__ */ s.jsx(sr, { size: 16, strokeWidth: 1.5 }),
1056
+ /* @__PURE__ */ s.jsx("span", { className: "text-sm", children: "Menu" })
1057
+ ] })
1058
+ }
1059
+ ),
1060
+ /* @__PURE__ */ s.jsxs(
1061
+ "main",
1062
+ {
1063
+ "data-pagefind-body": !0,
1064
+ className: Q(
1065
+ "h-full dark:border-white/10 translate-x-0",
1066
+ "lg:overflow-visible",
1067
+ // This works in tandem with the `SidebarWrapper` component
1068
+ "lg:peer-data-[navigation=true]:w-[calc(100%-var(--side-nav-width))]",
1069
+ "lg:peer-data-[navigation=true]:translate-x-[--side-nav-width] lg:peer-data-[navigation=true]:pl-12"
1070
+ ),
1071
+ children: [
1072
+ /* @__PURE__ */ s.jsx(S, { name: "zudoku-before-content" }),
1073
+ t ?? /* @__PURE__ */ s.jsx(ce, {}),
1074
+ /* @__PURE__ */ s.jsx(S, { name: "zudoku-after-content" })
1075
+ ]
1076
+ }
1077
+ )
1078
+ ]
1079
+ }
1080
+ ) }) })
1081
+ ] });
1082
+ }, Jr = ({
1083
+ title: t = "An error occurred",
1084
+ message: e,
1085
+ category: r
1086
+ }) => /* @__PURE__ */ s.jsxs("div", { className: lr + " h-full pt-[--padding-content-top]", children: [
1087
+ r && /* @__PURE__ */ s.jsx(Mr, { children: r }),
1088
+ t && /* @__PURE__ */ s.jsx(or, { level: 1, className: "flex gap-3.5 items-center", children: t }),
1089
+ /* @__PURE__ */ s.jsx("p", { children: e })
1090
+ ] }), es = (t) => {
1091
+ switch (t) {
1092
+ case 400:
1093
+ return {
1094
+ title: "Bad Request",
1095
+ message: "The request could not be understood by the server due to malformed syntax."
1096
+ };
1097
+ case 403:
1098
+ return {
1099
+ title: "Forbidden",
1100
+ message: "You don't have permission to access this resource."
1101
+ };
1102
+ case 404:
1103
+ return {
1104
+ title: "Not Found",
1105
+ message: "The requested resource could not be found."
1106
+ };
1107
+ case 405:
1108
+ return {
1109
+ title: "Method Not Allowed",
1110
+ message: "The request method is not supported for the requested resource."
1111
+ };
1112
+ case 414:
1113
+ return {
1114
+ title: "Request URI Too Large",
1115
+ message: "The request URI is too large."
1116
+ };
1117
+ case 416:
1118
+ return {
1119
+ title: "Range Not Satisfiable",
1120
+ message: "The server cannot satisfy the request range."
1121
+ };
1122
+ case 500:
1123
+ return {
1124
+ title: "Internal Server Error",
1125
+ message: "An unexpected error occurred while processing your request."
1126
+ };
1127
+ case 501:
1128
+ return {
1129
+ title: "Not Implemented",
1130
+ message: "The server does not support the functionality required to fulfill the request."
1131
+ };
1132
+ case 502:
1133
+ return {
1134
+ title: "Bad Gateway",
1135
+ message: "The server received an invalid response from the upstream server."
1136
+ };
1137
+ case 503:
1138
+ return {
1139
+ title: "Service Unavailable",
1140
+ message: "The server is temporarily unable to handle the request."
1141
+ };
1142
+ case 504:
1143
+ return {
1144
+ title: "Gateway Timeout",
1145
+ message: "The server did not receive a timely response from the upstream server."
1146
+ };
1147
+ default:
1148
+ return {
1149
+ title: "An error occurred",
1150
+ message: "Something went wrong while processing your request."
1151
+ };
1152
+ }
1153
+ }, ts = ({ statusCode: t, message: e }) => {
1154
+ const r = es(t);
1155
+ return /* @__PURE__ */ s.jsx(
1156
+ Jr,
1157
+ {
1158
+ title: r.title,
1159
+ message: e ?? r.message,
1160
+ category: t
1161
+ }
1162
+ );
1163
+ }, rs = he(null), ne = {
1164
+ didCatch: !1,
1165
+ error: null
1166
+ };
1167
+ class ss extends Xt {
1168
+ constructor(e) {
1169
+ super(e), this.resetErrorBoundary = this.resetErrorBoundary.bind(this), this.state = ne;
1170
+ }
1171
+ static getDerivedStateFromError(e) {
1172
+ return {
1173
+ didCatch: !0,
1174
+ error: e
1175
+ };
1176
+ }
1177
+ resetErrorBoundary() {
1178
+ const {
1179
+ error: e
1180
+ } = this.state;
1181
+ if (e !== null) {
1182
+ for (var r, n, a = arguments.length, i = new Array(a), o = 0; o < a; o++)
1183
+ i[o] = arguments[o];
1184
+ (r = (n = this.props).onReset) === null || r === void 0 || r.call(n, {
1185
+ args: i,
1186
+ reason: "imperative-api"
1187
+ }), this.setState(ne);
1188
+ }
1189
+ }
1190
+ componentDidCatch(e, r) {
1191
+ var n, a;
1192
+ (n = (a = this.props).onError) === null || n === void 0 || n.call(a, e, r);
1193
+ }
1194
+ componentDidUpdate(e, r) {
1195
+ const {
1196
+ didCatch: n
1197
+ } = this.state, {
1198
+ resetKeys: a
1199
+ } = this.props;
1200
+ if (n && r.error !== null && ns(e.resetKeys, a)) {
1201
+ var i, o;
1202
+ (i = (o = this.props).onReset) === null || i === void 0 || i.call(o, {
1203
+ next: a,
1204
+ prev: e.resetKeys,
1205
+ reason: "keys"
1206
+ }), this.setState(ne);
1207
+ }
1208
+ }
1209
+ render() {
1210
+ const {
1211
+ children: e,
1212
+ fallbackRender: r,
1213
+ FallbackComponent: n,
1214
+ fallback: a
1215
+ } = this.props, {
1216
+ didCatch: i,
1217
+ error: o
1218
+ } = this.state;
1219
+ let u = e;
1220
+ if (i) {
1221
+ const d = {
1222
+ error: o,
1223
+ resetErrorBoundary: this.resetErrorBoundary
1224
+ };
1225
+ if (typeof r == "function")
1226
+ u = r(d);
1227
+ else if (n)
1228
+ u = ke(n, d);
1229
+ else if (a !== void 0)
1230
+ u = a;
1231
+ else
1232
+ throw o;
1233
+ }
1234
+ return ke(rs.Provider, {
1235
+ value: {
1236
+ didCatch: i,
1237
+ error: o,
1238
+ resetErrorBoundary: this.resetErrorBoundary
1239
+ }
1240
+ }, u);
1241
+ }
1242
+ }
1243
+ function ns() {
1244
+ let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
1245
+ return t.length !== e.length || t.some((r, n) => !Object.is(r, e[n]));
1246
+ }
1247
+ let as = () => ({
1248
+ emit(t, ...e) {
1249
+ for (let r = this.events[t] || [], n = 0, a = r.length; n < a; n++)
1250
+ r[n](...e);
1251
+ },
1252
+ events: {},
1253
+ on(t, e) {
1254
+ var r;
1255
+ return ((r = this.events)[t] || (r[t] = [])).push(e), () => {
1256
+ var n;
1257
+ this.events[t] = (n = this.events[t]) == null ? void 0 : n.filter((a) => e !== a);
1258
+ };
1259
+ }
1260
+ });
1261
+ class is {
1262
+ constructor(e) {
1263
+ j(this, "plugins");
1264
+ j(this, "sidebars");
1265
+ j(this, "topNavigation");
1266
+ j(this, "meta");
1267
+ j(this, "page");
1268
+ j(this, "authentication");
1269
+ j(this, "navigationPlugins");
1270
+ j(this, "emitter", as());
1271
+ j(this, "initialize", async () => {
1272
+ await Promise.all(
1273
+ this.plugins.filter(pr).map((e) => {
1274
+ var r;
1275
+ return (r = e.initialize) == null ? void 0 : r.call(e, this);
1276
+ })
1277
+ );
1278
+ });
1279
+ j(this, "getApiIdentities", async () => (await Promise.all(
1280
+ this.plugins.filter(xr).map((r) => r.getIdentities(this))
1281
+ )).flat());
1282
+ j(this, "emitEvent", (e, ...r) => this.emitter.emit(e, ...r));
1283
+ j(this, "getPluginSidebar", async (e) => (await Promise.all(
1284
+ this.navigationPlugins.map(
1285
+ (n) => {
1286
+ var a;
1287
+ return (a = n.getSidebar) == null ? void 0 : a.call(n, ae(e));
1288
+ }
1289
+ )
1290
+ )).flatMap((n) => n ?? []));
1291
+ j(this, "signRequest", async (e) => {
1292
+ if (!this.authentication)
1293
+ throw new Error("No authentication provider configured");
1294
+ const r = await this.authentication.getAccessToken();
1295
+ return e.headers.set("Authorization", `Bearer ${r}`), e;
1296
+ });
1297
+ this.options = e, this.plugins = e.plugins ?? [], this.topNavigation = e.topNavigation ?? [], this.sidebars = e.sidebars ?? {}, this.navigationPlugins = this.plugins.filter(gr), this.authentication = e.authentication, this.meta = e.metadata, this.page = e.page, this.plugins.forEach((r) => {
1298
+ mr(r) && Lt(r.events).forEach(([n, a]) => {
1299
+ this.emitter.on(n, a);
1300
+ });
1301
+ });
1302
+ }
1303
+ addEventListener(e, r) {
1304
+ return this.emitter.on(e, r);
1305
+ }
1306
+ }
1307
+ function os({ error: t, resetErrorBoundary: e }) {
1308
+ return /* @__PURE__ */ s.jsx(Ue, { error: t });
1309
+ }
1310
+ const W = globalThis;
1311
+ (!W.requestIdleCallback || !W.cancelIdleCallback) && (W.requestIdleCallback = (t) => setTimeout(t, 1), W.cancelIdleCallback = clearTimeout);
1312
+ const it = {
1313
+ Header: nt
1314
+ }, ls = he(it), cs = ls.Provider, us = () => {
1315
+ const t = ee(), e = E(), r = te(void 0);
1316
+ return I(() => {
1317
+ e.emitEvent("location", {
1318
+ from: r.current,
1319
+ to: t
1320
+ }), r.current = t;
1321
+ }, [e, t]), null;
1322
+ }, ds = ({
1323
+ children: t,
1324
+ context: e
1325
+ }) => (jt({
1326
+ queryFn: async () => (await e.initialize(), !0),
1327
+ queryKey: ["zudoku-initialize"]
1328
+ }), /* @__PURE__ */ s.jsx(wt.Provider, { value: e, children: t })), ot = Ye(
1329
+ ({ children: t, ...e }) => {
1330
+ var g, h;
1331
+ const r = re(
1332
+ () => ({ ...it, ...e.overrides }),
1333
+ [e.overrides]
1334
+ ), n = re(() => {
1335
+ var v;
1336
+ return {
1337
+ ...(e.plugins ?? []).filter(vr).flatMap(
1338
+ (x) => x.getMdxComponents ? [x.getMdxComponents()] : []
1339
+ ).reduce(
1340
+ (x, C) => ({ ...x, ...C }),
1341
+ {}
1342
+ ),
1343
+ ...cr,
1344
+ ...(v = e.mdx) == null ? void 0 : v.components
1345
+ };
1346
+ }, [(g = e.mdx) == null ? void 0 : g.components, e.plugins]), { stagger: a } = _t(oe), [i, o] = B(!1), u = re(
1347
+ () => i ? { stagger: !0 } : { stagger: a },
1348
+ [a, i]
1349
+ ), d = ue();
1350
+ I(() => {
1351
+ i || o(!0);
1352
+ }, [i, d.location]);
1353
+ const [c] = B(() => new is(e)), m = (h = e.plugins) == null ? void 0 : h.flatMap((f) => {
1354
+ var v;
1355
+ return yr(f) ? ((v = f.getHead) == null ? void 0 : v.call(f)) ?? [] : [];
1356
+ }).map((f, v) => /* @__PURE__ */ s.jsx(le, { children: f }, v));
1357
+ return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
1358
+ m,
1359
+ /* @__PURE__ */ s.jsx(oe.Provider, { value: u, children: /* @__PURE__ */ s.jsxs(ds, { context: c, children: [
1360
+ /* @__PURE__ */ s.jsx(us, {}),
1361
+ /* @__PURE__ */ s.jsx(ht, { components: n, children: /* @__PURE__ */ s.jsx(gt, { attribute: "class", disableTransitionOnChange: !0, children: /* @__PURE__ */ s.jsx(cs, { value: r, children: /* @__PURE__ */ s.jsx(zt, { slotlets: e.slotlets, children: /* @__PURE__ */ s.jsx(ur, { children: t ?? /* @__PURE__ */ s.jsx(ce, {}) }) }) }) }) })
1362
+ ] }) })
1363
+ ] });
1364
+ }
1365
+ );
1366
+ ot.displayName = "ZudokoInner";
1367
+ const lt = (t) => /* @__PURE__ */ s.jsx(ss, { FallbackComponent: os, children: /* @__PURE__ */ s.jsx(ot, { ...t }) });
1368
+ lt.displayName = "Zudoku";
1369
+ const Hs = ft, Ls = Wr, zs = Bt, Bs = Fr, Ks = zr, $s = Br, Us = Rr, Zs = le, Ys = E, Vs = z, Xs = Pt, _s = Ct, Gs = lt, Ws = ts, Js = $t, en = dr, tn = We, rn = ge, sn = Kt, nn = de, an = He;
12
1370
  export {
13
- d as Bootstrap,
14
- S as BootstrapStatic,
15
- k as Button,
16
- l as CACHE_KEYS,
17
- h as Callout,
18
- B as ClientOnly,
19
- E as Head,
20
- c as Layout,
21
- H as Link,
22
- L as Markdown,
23
- M as RouteGuard,
24
- R as RouterError,
25
- Z as ServerError,
26
- f as Spinner,
27
- g as StatusPage,
28
- y as Zudoku,
29
- A as useAuth,
30
- b as useCache,
31
- j as useMDXComponents,
32
- v as useTheme,
33
- w as useZudoku
1371
+ Ks as Bootstrap,
1372
+ $s as BootstrapStatic,
1373
+ sn as Button,
1374
+ _s as CACHE_KEYS,
1375
+ Js as Callout,
1376
+ rn as ClientOnly,
1377
+ Zs as Head,
1378
+ Ls as Layout,
1379
+ nn as Link,
1380
+ en as Markdown,
1381
+ Us as RouteGuard,
1382
+ zs as RouterError,
1383
+ Bs as ServerError,
1384
+ tn as Spinner,
1385
+ Ws as StatusPage,
1386
+ Gs as Zudoku,
1387
+ Vs as useAuth,
1388
+ Xs as useCache,
1389
+ Hs as useMDXComponents,
1390
+ an as useTheme,
1391
+ Ys as useZudoku
34
1392
  };
35
1393
  //# sourceMappingURL=zudoku.components.js.map