zudoku 0.3.0-dev.58 → 0.3.0-dev.59

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 (199) hide show
  1. package/dist/app/entry.client.js +1 -1
  2. package/dist/app/entry.client.js.map +1 -1
  3. package/dist/app/entry.server.d.ts +2 -0
  4. package/dist/app/entry.server.js +1 -0
  5. package/dist/app/entry.server.js.map +1 -1
  6. package/dist/app/main.js +8 -2
  7. package/dist/app/main.js.map +1 -1
  8. package/dist/config/validators/validate.d.ts +121 -102
  9. package/dist/config/validators/validate.js +4 -0
  10. package/dist/config/validators/validate.js.map +1 -1
  11. package/dist/lib/authentication/AuthenticationPlugin.d.ts +16 -0
  12. package/dist/lib/authentication/AuthenticationPlugin.js +31 -0
  13. package/dist/lib/authentication/AuthenticationPlugin.js.map +1 -0
  14. package/dist/lib/authentication/authentication.d.ts +3 -4
  15. package/dist/lib/authentication/components/Login.d.ts +1 -0
  16. package/dist/lib/authentication/components/Login.js +10 -0
  17. package/dist/lib/authentication/components/Login.js.map +1 -0
  18. package/dist/lib/authentication/components/Logout.d.ts +1 -0
  19. package/dist/lib/authentication/components/Logout.js +10 -0
  20. package/dist/lib/authentication/components/Logout.js.map +1 -0
  21. package/dist/lib/authentication/providers/clerk.js +43 -27
  22. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  23. package/dist/lib/authentication/providers/openid.d.ts +11 -3
  24. package/dist/lib/authentication/providers/openid.js +22 -11
  25. package/dist/lib/authentication/providers/openid.js.map +1 -1
  26. package/dist/lib/authentication/routes.d.ts +5 -0
  27. package/dist/lib/authentication/routes.js +12 -0
  28. package/dist/lib/authentication/routes.js.map +1 -0
  29. package/dist/lib/components/Bootstrap.d.ts +2 -1
  30. package/dist/lib/components/Bootstrap.js +4 -1
  31. package/dist/lib/components/Bootstrap.js.map +1 -1
  32. package/dist/lib/components/DevPortal.js +14 -2
  33. package/dist/lib/components/DevPortal.js.map +1 -1
  34. package/dist/lib/components/Header.js +16 -3
  35. package/dist/lib/components/Header.js.map +1 -1
  36. package/dist/lib/components/InlineCode.js +1 -1
  37. package/dist/lib/components/InlineCode.js.map +1 -1
  38. package/dist/lib/components/TopNavigation.js +1 -1
  39. package/dist/lib/components/TopNavigation.js.map +1 -1
  40. package/dist/lib/components/context/DevPortalProvider.js +18 -1
  41. package/dist/lib/components/context/DevPortalProvider.js.map +1 -1
  42. package/dist/lib/components/index.d.ts +5 -1
  43. package/dist/lib/components/index.js +4 -0
  44. package/dist/lib/components/index.js.map +1 -1
  45. package/dist/lib/components/navigation/SideNavigationItem.js +1 -1
  46. package/dist/lib/components/navigation/SideNavigationItem.js.map +1 -1
  47. package/dist/lib/core/DevPortalContext.d.ts +1 -1
  48. package/dist/lib/core/DevPortalContext.js.map +1 -1
  49. package/dist/lib/core/plugins.d.ts +10 -1
  50. package/dist/lib/core/plugins.js +1 -0
  51. package/dist/lib/core/plugins.js.map +1 -1
  52. package/dist/lib/plugins/api-keys/CreateApiKey.js +1 -1
  53. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  54. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +2 -2
  55. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  56. package/dist/lib/plugins/api-keys/index.d.ts +2 -2
  57. package/dist/lib/plugins/api-keys/index.js +6 -0
  58. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  59. package/dist/lib/plugins/custom-page/index.d.ts +8 -0
  60. package/dist/lib/plugins/custom-page/index.js +12 -0
  61. package/dist/lib/plugins/custom-page/index.js.map +1 -0
  62. package/dist/lib/plugins/markdown/MdxPage.js +1 -1
  63. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  64. package/dist/lib/plugins/openapi/OperationListItem.js +1 -1
  65. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  66. package/dist/lib/plugins/openapi/ParameterList.js +1 -1
  67. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  68. package/dist/lib/plugins/openapi/SchemaListViewItem.js +3 -3
  69. package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +1 -1
  70. package/dist/lib/plugins/openapi/SidecarBox.js +1 -1
  71. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  72. package/dist/lib/plugins/openapi/StaggeredRender.d.ts +3 -0
  73. package/dist/lib/plugins/openapi/StaggeredRender.js +10 -5
  74. package/dist/lib/plugins/openapi/StaggeredRender.js.map +1 -1
  75. package/dist/lib/plugins/openapi/playground/Playground.js +2 -2
  76. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  77. package/dist/lib/ui/Card.js +1 -1
  78. package/dist/lib/ui/Card.js.map +1 -1
  79. package/dist/lib/ui/DropdownMenu.d.ts +27 -0
  80. package/dist/lib/ui/DropdownMenu.js +36 -0
  81. package/dist/lib/ui/DropdownMenu.js.map +1 -0
  82. package/dist/lib/ui/button-variants.d.ts +2 -2
  83. package/dist/lib/ui/button-variants.js +1 -0
  84. package/dist/lib/ui/button-variants.js.map +1 -1
  85. package/dist/lib/util/MdxComponents.js +1 -1
  86. package/dist/lib/util/MdxComponents.js.map +1 -1
  87. package/dist/lib/util/joinPath.js +2 -1
  88. package/dist/lib/util/joinPath.js.map +1 -1
  89. package/dist/vite/build.js +5 -2
  90. package/dist/vite/build.js.map +1 -1
  91. package/dist/vite/config.d.ts +8 -1
  92. package/dist/vite/config.js +13 -6
  93. package/dist/vite/config.js.map +1 -1
  94. package/dist/vite/plugin-component.js +1 -0
  95. package/dist/vite/plugin-component.js.map +1 -1
  96. package/dist/vite/prerender.d.ts +1 -1
  97. package/dist/vite/prerender.js +23 -3
  98. package/dist/vite/prerender.js.map +1 -1
  99. package/lib/{AnchorLink-B4IgsA83.js → AnchorLink-Bj1hwDuD.js} +3 -3
  100. package/lib/{AnchorLink-B4IgsA83.js.map → AnchorLink-Bj1hwDuD.js.map} +1 -1
  101. package/lib/AuthenticationPlugin-CG6Bw32B.js +46 -0
  102. package/lib/AuthenticationPlugin-CG6Bw32B.js.map +1 -0
  103. package/lib/CategoryHeading-DMkTmmBh.js +10 -0
  104. package/lib/CategoryHeading-DMkTmmBh.js.map +1 -0
  105. package/lib/Combination-lAFQBd6U.js +2774 -0
  106. package/lib/Combination-lAFQBd6U.js.map +1 -0
  107. package/lib/DevPortalProvider-BBhQ8kgI.js +1125 -0
  108. package/lib/DevPortalProvider-BBhQ8kgI.js.map +1 -0
  109. package/lib/{Markdown-DQrAhTkw.js → Markdown-BjRJKl_E.js} +1376 -1379
  110. package/lib/Markdown-BjRJKl_E.js.map +1 -0
  111. package/lib/{MdxPage-DMP-pM_g.js → MdxPage-DJTFOCbZ.js} +17 -17
  112. package/lib/{MdxPage-DMP-pM_g.js.map → MdxPage-DJTFOCbZ.js.map} +1 -1
  113. package/lib/OperationList-DDTtK3I7.js +5403 -0
  114. package/lib/OperationList-DDTtK3I7.js.map +1 -0
  115. package/lib/{Route-C1LyvITr.js → Route-Bsrd0acQ.js} +2 -2
  116. package/lib/{Route-C1LyvITr.js.map → Route-Bsrd0acQ.js.map} +1 -1
  117. package/lib/Select-CEnkyfyn.js +2223 -0
  118. package/lib/Select-CEnkyfyn.js.map +1 -0
  119. package/lib/Spinner-Ciq_pWU7.js +359 -0
  120. package/lib/Spinner-Ciq_pWU7.js.map +1 -0
  121. package/lib/{hook-CrQMC_eg.js → hook-Q_gAL2NZ.js} +20 -19
  122. package/lib/{hook-CrQMC_eg.js.map → hook-Q_gAL2NZ.js.map} +1 -1
  123. package/lib/{index-tOwoT-uJ.js → index-BE2a6gGC.js} +24 -23
  124. package/lib/{index-tOwoT-uJ.js.map → index-BE2a6gGC.js.map} +1 -1
  125. package/lib/{jsx-runtime-CJZJivg2.js → jsx-runtime-BIr0WBt_.js} +119 -119
  126. package/lib/jsx-runtime-BIr0WBt_.js.map +1 -0
  127. package/lib/{router-CBw2vqJE.js → router-BiRCp01d.js} +671 -673
  128. package/lib/router-BiRCp01d.js.map +1 -0
  129. package/lib/zudoku.auth-clerk.js +47 -32
  130. package/lib/zudoku.auth-clerk.js.map +1 -1
  131. package/lib/zudoku.auth-openid.js +170 -159
  132. package/lib/zudoku.auth-openid.js.map +1 -1
  133. package/lib/zudoku.components.js +1494 -591
  134. package/lib/zudoku.components.js.map +1 -1
  135. package/lib/zudoku.plugin-api-keys.js +31 -25
  136. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  137. package/lib/zudoku.plugin-custom-page.js +13 -0
  138. package/lib/zudoku.plugin-custom-page.js.map +1 -0
  139. package/lib/zudoku.plugin-markdown.js +19 -20
  140. package/lib/zudoku.plugin-markdown.js.map +1 -1
  141. package/lib/zudoku.plugin-openapi.js +4 -4
  142. package/lib/zudoku.plugin-redirect.js +3 -3
  143. package/package.json +29 -14
  144. package/src/app/entry.client.tsx +1 -1
  145. package/src/app/entry.server.tsx +2 -0
  146. package/src/app/main.css +6 -0
  147. package/src/app/main.tsx +8 -2
  148. package/src/lib/authentication/AuthenticationPlugin.tsx +36 -0
  149. package/src/lib/authentication/authentication.ts +3 -4
  150. package/src/lib/authentication/components/Login.tsx +11 -0
  151. package/src/lib/authentication/components/Logout.tsx +11 -0
  152. package/src/lib/authentication/providers/clerk.tsx +43 -27
  153. package/src/lib/authentication/providers/openid.tsx +25 -13
  154. package/src/lib/authentication/routes.tsx +10 -0
  155. package/src/lib/components/Bootstrap.tsx +14 -7
  156. package/src/lib/components/DevPortal.tsx +29 -9
  157. package/src/lib/components/Header.tsx +63 -24
  158. package/src/lib/components/InlineCode.tsx +1 -1
  159. package/src/lib/components/TopNavigation.tsx +1 -1
  160. package/src/lib/components/context/DevPortalProvider.ts +22 -2
  161. package/src/lib/components/index.ts +4 -0
  162. package/src/lib/components/navigation/SideNavigationItem.tsx +1 -1
  163. package/src/lib/core/DevPortalContext.ts +1 -1
  164. package/src/lib/core/plugins.ts +16 -0
  165. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  166. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +4 -4
  167. package/src/lib/plugins/api-keys/index.tsx +8 -1
  168. package/src/lib/plugins/custom-page/index.tsx +22 -0
  169. package/src/lib/plugins/markdown/MdxPage.tsx +2 -2
  170. package/src/lib/plugins/openapi/OperationListItem.tsx +1 -4
  171. package/src/lib/plugins/openapi/ParameterList.tsx +1 -1
  172. package/src/lib/plugins/openapi/SchemaListViewItem.tsx +3 -3
  173. package/src/lib/plugins/openapi/SidecarBox.tsx +1 -1
  174. package/src/lib/plugins/openapi/StaggeredRender.tsx +19 -5
  175. package/src/lib/plugins/openapi/playground/Playground.tsx +2 -2
  176. package/src/lib/ui/Card.tsx +1 -1
  177. package/src/lib/ui/DropdownMenu.tsx +199 -0
  178. package/src/lib/ui/button-variants.ts +1 -0
  179. package/src/lib/util/MdxComponents.tsx +1 -1
  180. package/src/lib/util/joinPath.tsx +2 -1
  181. package/dist/app/zudoku-manifest.d.ts +0 -1
  182. package/dist/app/zudoku-manifest.js +0 -20
  183. package/dist/app/zudoku-manifest.js.map +0 -1
  184. package/lib/Button-CnuhSW99.js +0 -4571
  185. package/lib/Button-CnuhSW99.js.map +0 -1
  186. package/lib/DevPortalProvider-Do9oJqme.js +0 -1081
  187. package/lib/DevPortalProvider-Do9oJqme.js.map +0 -1
  188. package/lib/Markdown-DQrAhTkw.js.map +0 -1
  189. package/lib/OperationList-Dw2SadHL.js +0 -5578
  190. package/lib/OperationList-Dw2SadHL.js.map +0 -1
  191. package/lib/Spinner-BuBOzK_8.js +0 -182
  192. package/lib/Spinner-BuBOzK_8.js.map +0 -1
  193. package/lib/index-gsAuUwQh.js +0 -418
  194. package/lib/index-gsAuUwQh.js.map +0 -1
  195. package/lib/jsx-runtime-CJZJivg2.js.map +0 -1
  196. package/lib/router-CBw2vqJE.js.map +0 -1
  197. package/lib/util-_jwUlTBU.js +0 -41
  198. package/lib/util-_jwUlTBU.js.map +0 -1
  199. package/src/app/zudoku-manifest.ts +0 -22
@@ -0,0 +1,359 @@
1
+ import * as r from "react";
2
+ import { createContext as se, useContext as ae, useState as ie, useEffect as ce, Children as ue } from "react";
3
+ import { u as _, r as P, c as le, a as G, k as de, o as K, f as fe, P as T, d as A, n as B } from "./Combination-lAFQBd6U.js";
4
+ import { j as p } from "./jsx-runtime-BIr0WBt_.js";
5
+ import * as pe from "react-dom";
6
+ import { c as me } from "./Markdown-BjRJKl_E.js";
7
+ /**
8
+ * @license lucide-react v0.378.0 - ISC
9
+ *
10
+ * This source code is licensed under the ISC license.
11
+ * See the LICENSE file in the root directory of this source tree.
12
+ */
13
+ const ge = me("LoaderCircle", [
14
+ ["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]
15
+ ]), ve = se({ stagger: !1 }), je = ({ children: e }) => {
16
+ const { stagger: t } = ae(ve), [o, n] = ie(!t);
17
+ return ce(() => {
18
+ if (o)
19
+ return;
20
+ const a = window.requestIdleCallback(() => {
21
+ n(!0);
22
+ });
23
+ return () => window.cancelIdleCallback(a);
24
+ }, [o]), o ? e : ue.toArray(e).slice(0, 3);
25
+ };
26
+ function be(e, t) {
27
+ return r.useReducer((o, n) => t[o][n] ?? o, e);
28
+ }
29
+ var W = (e) => {
30
+ const { present: t, children: o } = e, n = Ce(t), a = typeof o == "function" ? o({ present: n.isPresent }) : r.Children.only(o), l = _(n.ref, Re(a));
31
+ return typeof o == "function" || n.isPresent ? r.cloneElement(a, { ref: l }) : null;
32
+ };
33
+ W.displayName = "Presence";
34
+ function Ce(e) {
35
+ const [t, o] = r.useState(), n = r.useRef({}), a = r.useRef(e), l = r.useRef("none"), f = e ? "mounted" : "unmounted", [R, i] = be(f, {
36
+ mounted: {
37
+ UNMOUNT: "unmounted",
38
+ ANIMATION_OUT: "unmountSuspended"
39
+ },
40
+ unmountSuspended: {
41
+ MOUNT: "mounted",
42
+ ANIMATION_END: "unmounted"
43
+ },
44
+ unmounted: {
45
+ MOUNT: "mounted"
46
+ }
47
+ });
48
+ return r.useEffect(() => {
49
+ const s = S(n.current);
50
+ l.current = R === "mounted" ? s : "none";
51
+ }, [R]), P(() => {
52
+ const s = n.current, m = a.current;
53
+ if (m !== e) {
54
+ const I = l.current, b = S(s);
55
+ e ? i("MOUNT") : b === "none" || (s == null ? void 0 : s.display) === "none" ? i("UNMOUNT") : i(m && I !== b ? "ANIMATION_OUT" : "UNMOUNT"), a.current = e;
56
+ }
57
+ }, [e, i]), P(() => {
58
+ if (t) {
59
+ const s = (v) => {
60
+ const b = S(n.current).includes(v.animationName);
61
+ v.target === t && b && pe.flushSync(() => i("ANIMATION_END"));
62
+ }, m = (v) => {
63
+ v.target === t && (l.current = S(n.current));
64
+ };
65
+ return t.addEventListener("animationstart", m), t.addEventListener("animationcancel", s), t.addEventListener("animationend", s), () => {
66
+ t.removeEventListener("animationstart", m), t.removeEventListener("animationcancel", s), t.removeEventListener("animationend", s);
67
+ };
68
+ } else
69
+ i("ANIMATION_END");
70
+ }, [t, i]), {
71
+ isPresent: ["mounted", "unmountSuspended"].includes(R),
72
+ ref: r.useCallback((s) => {
73
+ s && (n.current = getComputedStyle(s)), o(s);
74
+ }, [])
75
+ };
76
+ }
77
+ function S(e) {
78
+ return (e == null ? void 0 : e.animationName) || "none";
79
+ }
80
+ function Re(e) {
81
+ var n, a;
82
+ let t = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, o = t && "isReactWarning" in t && t.isReactWarning;
83
+ return o ? e.ref : (t = (a = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : a.get, o = t && "isReactWarning" in t && t.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
84
+ }
85
+ var y = "rovingFocusGroup.onEntryFocus", Ie = { bubbles: !1, cancelable: !0 }, x = "RovingFocusGroup", [O, Y, Ne] = le(x), [Ae, ke] = G(
86
+ x,
87
+ [Ne]
88
+ ), [Ee, he] = Ae(x), $ = r.forwardRef(
89
+ (e, t) => /* @__PURE__ */ p.jsx(O.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ p.jsx(O.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ p.jsx(Te, { ...e, ref: t }) }) })
90
+ );
91
+ $.displayName = x;
92
+ var Te = r.forwardRef((e, t) => {
93
+ const {
94
+ __scopeRovingFocusGroup: o,
95
+ orientation: n,
96
+ loop: a = !1,
97
+ dir: l,
98
+ currentTabStopId: f,
99
+ defaultCurrentTabStopId: R,
100
+ onCurrentTabStopIdChange: i,
101
+ onEntryFocus: s,
102
+ preventScrollOnEntryFocus: m = !1,
103
+ ...v
104
+ } = e, I = r.useRef(null), b = _(t, I), u = de(l), [C = null, E] = K({
105
+ prop: f,
106
+ defaultProp: R,
107
+ onChange: i
108
+ }), [d, c] = r.useState(!1), h = fe(s), Z = Y(o), w = r.useRef(!1), [ee, j] = r.useState(0);
109
+ return r.useEffect(() => {
110
+ const g = I.current;
111
+ if (g)
112
+ return g.addEventListener(y, h), () => g.removeEventListener(y, h);
113
+ }, [h]), /* @__PURE__ */ p.jsx(
114
+ Ee,
115
+ {
116
+ scope: o,
117
+ orientation: n,
118
+ dir: u,
119
+ loop: a,
120
+ currentTabStopId: C,
121
+ onItemFocus: r.useCallback(
122
+ (g) => E(g),
123
+ [E]
124
+ ),
125
+ onItemShiftTab: r.useCallback(() => c(!0), []),
126
+ onFocusableItemAdd: r.useCallback(
127
+ () => j((g) => g + 1),
128
+ []
129
+ ),
130
+ onFocusableItemRemove: r.useCallback(
131
+ () => j((g) => g - 1),
132
+ []
133
+ ),
134
+ children: /* @__PURE__ */ p.jsx(
135
+ T.div,
136
+ {
137
+ tabIndex: d || ee === 0 ? -1 : 0,
138
+ "data-orientation": n,
139
+ ...v,
140
+ ref: b,
141
+ style: { outline: "none", ...e.style },
142
+ onMouseDown: A(e.onMouseDown, () => {
143
+ w.current = !0;
144
+ }),
145
+ onFocus: A(e.onFocus, (g) => {
146
+ const te = !w.current;
147
+ if (g.target === g.currentTarget && te && !d) {
148
+ const k = new CustomEvent(y, Ie);
149
+ if (g.currentTarget.dispatchEvent(k), !k.defaultPrevented) {
150
+ const F = Z().filter((N) => N.focusable), ne = F.find((N) => N.active), oe = F.find((N) => N.id === C), re = [ne, oe, ...F].filter(
151
+ Boolean
152
+ ).map((N) => N.ref.current);
153
+ H(re, m);
154
+ }
155
+ }
156
+ w.current = !1;
157
+ }),
158
+ onBlur: A(e.onBlur, () => c(!1))
159
+ }
160
+ )
161
+ }
162
+ );
163
+ }), q = "RovingFocusGroupItem", z = r.forwardRef(
164
+ (e, t) => {
165
+ const {
166
+ __scopeRovingFocusGroup: o,
167
+ focusable: n = !0,
168
+ active: a = !1,
169
+ tabStopId: l,
170
+ ...f
171
+ } = e, R = B(), i = l || R, s = he(q, o), m = s.currentTabStopId === i, v = Y(o), { onFocusableItemAdd: I, onFocusableItemRemove: b } = s;
172
+ return r.useEffect(() => {
173
+ if (n)
174
+ return I(), () => b();
175
+ }, [n, I, b]), /* @__PURE__ */ p.jsx(
176
+ O.ItemSlot,
177
+ {
178
+ scope: o,
179
+ id: i,
180
+ focusable: n,
181
+ active: a,
182
+ children: /* @__PURE__ */ p.jsx(
183
+ T.span,
184
+ {
185
+ tabIndex: m ? 0 : -1,
186
+ "data-orientation": s.orientation,
187
+ ...f,
188
+ ref: t,
189
+ onMouseDown: A(e.onMouseDown, (u) => {
190
+ n ? s.onItemFocus(i) : u.preventDefault();
191
+ }),
192
+ onFocus: A(e.onFocus, () => s.onItemFocus(i)),
193
+ onKeyDown: A(e.onKeyDown, (u) => {
194
+ if (u.key === "Tab" && u.shiftKey) {
195
+ s.onItemShiftTab();
196
+ return;
197
+ }
198
+ if (u.target !== u.currentTarget) return;
199
+ const C = we(u, s.orientation, s.dir);
200
+ if (C !== void 0) {
201
+ if (u.metaKey || u.ctrlKey || u.altKey || u.shiftKey) return;
202
+ u.preventDefault();
203
+ let d = v().filter((c) => c.focusable).map((c) => c.ref.current);
204
+ if (C === "last") d.reverse();
205
+ else if (C === "prev" || C === "next") {
206
+ C === "prev" && d.reverse();
207
+ const c = d.indexOf(u.currentTarget);
208
+ d = s.loop ? Fe(d, c + 1) : d.slice(c + 1);
209
+ }
210
+ setTimeout(() => H(d));
211
+ }
212
+ })
213
+ }
214
+ )
215
+ }
216
+ );
217
+ }
218
+ );
219
+ z.displayName = q;
220
+ var Se = {
221
+ ArrowLeft: "prev",
222
+ ArrowUp: "prev",
223
+ ArrowRight: "next",
224
+ ArrowDown: "next",
225
+ PageUp: "first",
226
+ Home: "first",
227
+ PageDown: "last",
228
+ End: "last"
229
+ };
230
+ function xe(e, t) {
231
+ return t !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
232
+ }
233
+ function we(e, t, o) {
234
+ const n = xe(e.key, o);
235
+ if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(n)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(n)))
236
+ return Se[n];
237
+ }
238
+ function H(e, t = !1) {
239
+ const o = document.activeElement;
240
+ for (const n of e)
241
+ if (n === o || (n.focus({ preventScroll: t }), document.activeElement !== o)) return;
242
+ }
243
+ function Fe(e, t) {
244
+ return e.map((o, n) => e[(t + n) % e.length]);
245
+ }
246
+ var Ge = $, Ke = z, M = "Collapsible", [ye, Be] = G(M), [Pe, D] = ye(M), V = r.forwardRef(
247
+ (e, t) => {
248
+ const {
249
+ __scopeCollapsible: o,
250
+ open: n,
251
+ defaultOpen: a,
252
+ disabled: l,
253
+ onOpenChange: f,
254
+ ...R
255
+ } = e, [i = !1, s] = K({
256
+ prop: n,
257
+ defaultProp: a,
258
+ onChange: f
259
+ });
260
+ return /* @__PURE__ */ p.jsx(
261
+ Pe,
262
+ {
263
+ scope: o,
264
+ disabled: l,
265
+ contentId: B(),
266
+ open: i,
267
+ onOpenToggle: r.useCallback(() => s((m) => !m), [s]),
268
+ children: /* @__PURE__ */ p.jsx(
269
+ T.div,
270
+ {
271
+ "data-state": U(i),
272
+ "data-disabled": l ? "" : void 0,
273
+ ...R,
274
+ ref: t
275
+ }
276
+ )
277
+ }
278
+ );
279
+ }
280
+ );
281
+ V.displayName = M;
282
+ var J = "CollapsibleTrigger", Q = r.forwardRef(
283
+ (e, t) => {
284
+ const { __scopeCollapsible: o, ...n } = e, a = D(J, o);
285
+ return /* @__PURE__ */ p.jsx(
286
+ T.button,
287
+ {
288
+ type: "button",
289
+ "aria-controls": a.contentId,
290
+ "aria-expanded": a.open || !1,
291
+ "data-state": U(a.open),
292
+ "data-disabled": a.disabled ? "" : void 0,
293
+ disabled: a.disabled,
294
+ ...n,
295
+ ref: t,
296
+ onClick: A(e.onClick, a.onOpenToggle)
297
+ }
298
+ );
299
+ }
300
+ );
301
+ Q.displayName = J;
302
+ var L = "CollapsibleContent", X = r.forwardRef(
303
+ (e, t) => {
304
+ const { forceMount: o, ...n } = e, a = D(L, e.__scopeCollapsible);
305
+ return /* @__PURE__ */ p.jsx(W, { present: o || a.open, children: ({ present: l }) => /* @__PURE__ */ p.jsx(Oe, { ...n, ref: t, present: l }) });
306
+ }
307
+ );
308
+ X.displayName = L;
309
+ var Oe = r.forwardRef((e, t) => {
310
+ const { __scopeCollapsible: o, present: n, children: a, ...l } = e, f = D(L, o), [R, i] = r.useState(n), s = r.useRef(null), m = _(t, s), v = r.useRef(0), I = v.current, b = r.useRef(0), u = b.current, C = f.open || R, E = r.useRef(C), d = r.useRef();
311
+ return r.useEffect(() => {
312
+ const c = requestAnimationFrame(() => E.current = !1);
313
+ return () => cancelAnimationFrame(c);
314
+ }, []), P(() => {
315
+ const c = s.current;
316
+ if (c) {
317
+ d.current = d.current || {
318
+ transitionDuration: c.style.transitionDuration,
319
+ animationName: c.style.animationName
320
+ }, c.style.transitionDuration = "0s", c.style.animationName = "none";
321
+ const h = c.getBoundingClientRect();
322
+ v.current = h.height, b.current = h.width, E.current || (c.style.transitionDuration = d.current.transitionDuration, c.style.animationName = d.current.animationName), i(n);
323
+ }
324
+ }, [f.open, n]), /* @__PURE__ */ p.jsx(
325
+ T.div,
326
+ {
327
+ "data-state": U(f.open),
328
+ "data-disabled": f.disabled ? "" : void 0,
329
+ id: f.contentId,
330
+ hidden: !C,
331
+ ...l,
332
+ ref: m,
333
+ style: {
334
+ "--radix-collapsible-content-height": I ? `${I}px` : void 0,
335
+ "--radix-collapsible-content-width": u ? `${u}px` : void 0,
336
+ ...e.style
337
+ },
338
+ children: C && a
339
+ }
340
+ );
341
+ });
342
+ function U(e) {
343
+ return e ? "open" : "closed";
344
+ }
345
+ var We = V, Ye = Q, $e = X;
346
+ const qe = ({ size: e = 16 }) => /* @__PURE__ */ p.jsx(ge, { size: e, className: "animate-spin" });
347
+ export {
348
+ $e as C,
349
+ Ke as I,
350
+ W as P,
351
+ Ge as R,
352
+ ve as S,
353
+ Ye as T,
354
+ We as a,
355
+ qe as b,
356
+ ke as c,
357
+ je as d
358
+ };
359
+ //# sourceMappingURL=Spinner-Ciq_pWU7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner-Ciq_pWU7.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/loader-circle.js","../src/lib/plugins/openapi/StaggeredRender.tsx","../../../node_modules/.pnpm/@radix-ui+react-presence@1.1.0_@types+react-dom@18.3.0_@types+react@18.3.3_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.0_@types+react@18.3.3_react-dom@18.3_c7p7fyahj7jvpuxrqgc7mv7csa/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-collapsible@1.1.0_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3._qjsk5diswkeszbepgt4ntypuku/node_modules/@radix-ui/react-collapsible/dist/index.mjs","../src/lib/components/Spinner.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst LoaderCircle = createLucideIcon(\"LoaderCircle\", [\n [\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]\n]);\n\nexport { LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n","import {\n Children,\n createContext,\n ReactNode,\n useContext,\n useEffect,\n useState,\n} from \"react\";\n\nexport const StaggeredRenderContext = createContext({ stagger: false });\n\nconst StaggeredRender = ({ children }: { children: ReactNode[] }) => {\n const { stagger } = useContext(StaggeredRenderContext);\n const [renderAll, setRenderAll] = useState(!stagger);\n\n useEffect(() => {\n if (renderAll) {\n return;\n }\n\n const x = window.requestIdleCallback(() => {\n setRenderAll(true);\n });\n\n return () => window.cancelIdleCallback(x);\n }, [renderAll]);\n\n return !renderAll ? Children.toArray(children).slice(0, 3) : children;\n};\n\nexport default StaggeredRender;\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport * as ReactDOM from \"react-dom\";\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 const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n ReactDOM.flushSync(() => send(\"ANIMATION_END\"));\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 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/collapsible/src/Collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef();\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { LoaderCircle } from \"lucide-react\";\n\nexport const Spinner = ({ size = 16 }: { size?: number }) => (\n <LoaderCircle size={size} className=\"animate-spin\" />\n);\n"],"names":["LoaderCircle","createLucideIcon","StaggeredRenderContext","createContext","StaggeredRender","children","stagger","useContext","renderAll","setRenderAll","useState","useEffect","x","Children","useStateMachine","initialState","machine","React","state","event","Presence","props","present","presence","usePresence","child","React2","ref","useComposedRefs","getElementRef","node","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","ReactDOM","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","COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","CollapsibleProvider","useCollapsibleContext","Collapsible","__scopeCollapsible","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","open","setOpen","prevOpen","getState","TRIGGER_NAME","CollapsibleTrigger","triggerProps","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","CollapsibleContentImpl","isPresent","setIsPresent","heightRef","height","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","rAF","rect","Trigger","Content","Spinner","size"],"mappings":"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","x_google_ignoreList":[0,2,3,4]}
@@ -1,8 +1,9 @@
1
- import { b as a, j as t, c as o } from "./jsx-runtime-CJZJivg2.js";
2
- import { c as i, P as r, g as l, H as c, L as d } from "./Markdown-DQrAhTkw.js";
3
- import { D as m } from "./index-gsAuUwQh.js";
4
- import { i as x } from "./router-CBw2vqJE.js";
5
- import { u } from "./DevPortalProvider-Do9oJqme.js";
1
+ import { c as o, j as t, e as a } from "./jsx-runtime-BIr0WBt_.js";
2
+ import { c as i, P as r, H as l, L as c } from "./Markdown-BjRJKl_E.js";
3
+ import { C as d } from "./CategoryHeading-DMkTmmBh.js";
4
+ import { p as m } from "./Combination-lAFQBd6U.js";
5
+ import { i as x } from "./router-BiRCp01d.js";
6
+ import { u } from "./DevPortalProvider-BBhQ8kgI.js";
6
7
  import { u as h } from "./state-DKdaQzvh.js";
7
8
  /**
8
9
  * @license lucide-react v0.378.0 - ISC
@@ -29,11 +30,11 @@ const p = i("Unlink", [
29
30
  ["line", { x1: "2", x2: "5", y1: "8", y2: "8", key: "14m1p5" }],
30
31
  ["line", { x1: "16", x2: "16", y1: "19", y2: "22", key: "rzdirn" }],
31
32
  ["line", { x1: "19", x2: "22", y1: "16", y2: "16", key: "ox905f" }]
32
- ]), g = () => {
33
- const e = a();
33
+ ]), f = () => {
34
+ const e = o();
34
35
  return /* @__PURE__ */ t.jsxs("div", { className: r + " h-full pt-[--padding-content-top]", children: [
35
- /* @__PURE__ */ t.jsx(l, { children: "404" }),
36
- /* @__PURE__ */ t.jsxs(c, { level: 1, className: "flex gap-3.5 items-center", children: [
36
+ /* @__PURE__ */ t.jsx(d, { children: "404" }),
37
+ /* @__PURE__ */ t.jsxs(l, { level: 1, className: "flex gap-3.5 items-center", children: [
37
38
  "Page not found",
38
39
  /* @__PURE__ */ t.jsx(p, { size: 24 })
39
40
  ] }),
@@ -50,10 +51,10 @@ const p = i("Unlink", [
50
51
  "and add some content to make this error go away."
51
52
  ] }),
52
53
  /* @__PURE__ */ t.jsx("p", { children: "It seems that the page you are looking for does not exist or may have been moved. Please check the URL for any typos or use the navigation menu to find the correct page." }),
53
- /* @__PURE__ */ t.jsx(d, { to: "/", children: "Go back home" })
54
+ /* @__PURE__ */ t.jsx(c, { to: "/", children: "Go back home" })
54
55
  ] });
55
56
  };
56
- function f({ error: e }) {
57
+ function g({ error: e }) {
57
58
  const s = (e == null ? void 0 : e.message) ?? "Something went wrong", n = e == null ? void 0 : e.stack;
58
59
  return /* @__PURE__ */ t.jsx("div", { className: "flex h-screen max-h-screen min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8", children: /* @__PURE__ */ t.jsxs("div", { className: "mx-auto max-w-[85%] sm:max-w-[50%]", children: [
59
60
  /* @__PURE__ */ t.jsx("h1", { className: "text-4xl font-bold tracking-tight text-h1-text sm:text-5xl", children: "Something went wrong" }),
@@ -61,11 +62,11 @@ function f({ error: e }) {
61
62
  n ? /* @__PURE__ */ t.jsx("pre", { className: "mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700", children: n }) : null
62
63
  ] }) });
63
64
  }
64
- function E() {
65
- const e = o();
66
- return x(e) && e.status === 404 ? /* @__PURE__ */ t.jsx(g, {}) : /* @__PURE__ */ t.jsx(f, { error: e });
65
+ function P() {
66
+ const e = a();
67
+ return x(e) && e.status === 404 ? /* @__PURE__ */ t.jsx(f, {}) : /* @__PURE__ */ t.jsx(g, { error: e });
67
68
  }
68
- const P = () => {
69
+ const R = () => {
69
70
  const { authentication: e } = u(), s = h(), n = typeof e < "u";
70
71
  return {
71
72
  isAuthEnabled: n,
@@ -85,8 +86,8 @@ const P = () => {
85
86
  };
86
87
  };
87
88
  export {
88
- f as E,
89
- E as R,
90
- P as u
89
+ g as E,
90
+ P as R,
91
+ R as u
91
92
  };
92
- //# sourceMappingURL=hook-CrQMC_eg.js.map
93
+ //# sourceMappingURL=hook-Q_gAL2NZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-CrQMC_eg.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/unlink.js","../src/lib/components/NotFoundPage.tsx","../src/lib/errors/ErrorAlert.tsx","../src/lib/errors/RouterError.tsx","../src/lib/authentication/hook.ts"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Unlink = createLucideIcon(\"Unlink\", [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"5\", key: \"1041cp\" }],\n [\"line\", { x1: \"2\", x2: \"5\", y1: \"8\", y2: \"8\", key: \"14m1p5\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"19\", y2: \"22\", key: \"rzdirn\" }],\n [\"line\", { x1: \"19\", x2: \"22\", y1: \"16\", y2: \"16\", key: \"ox905f\" }]\n]);\n\nexport { Unlink as default };\n//# sourceMappingURL=unlink.js.map\n","import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{PROJECT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function ErrorAlert({ error }: { error: any }) {\n const message = error?.message ?? \"Something went wrong\";\n const stack = error?.stack;\n\n return (\n <div className=\"flex h-screen max-h-screen min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8\">\n <div className=\"mx-auto max-w-[85%] sm:max-w-[50%]\">\n <h1 className=\"text-4xl font-bold tracking-tight text-h1-text sm:text-5xl\">\n Something went wrong\n </h1>\n <p className=\"mt-5 text-h1-text\">{message}</p>\n {stack ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {stack}\n </pre>\n ) : null}\n </div>\n </div>\n );\n}\n","import { isRouteErrorResponse, useRouteError } from \"react-router-dom\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError() {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return <ErrorAlert error={error} />;\n}\n","import { useDevPortal } from \"../components/context/DevPortalProvider.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useDevPortal();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n isPending: authState.isPending,\n profile: authState.profile,\n isAuthenticated: authState.profile,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.login();\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.logout();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n };\n};\n"],"names":["Unlink","createLucideIcon","NotFoundPage","params","useParams","jsxs","ProseClasses","jsx","CategoryHeading","Heading","UnlinkIcon","DeveloperHint","Link","ErrorAlert","error","message","stack","RouterError","useRouteError","isRouteErrorResponse","useAuth","authentication","useDevPortal","authState","useAuthState","isAuthEnabled"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"hook-Q_gAL2NZ.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/unlink.js","../src/lib/components/NotFoundPage.tsx","../src/lib/errors/ErrorAlert.tsx","../src/lib/errors/RouterError.tsx","../src/lib/authentication/hook.ts"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Unlink = createLucideIcon(\"Unlink\", [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"5\", key: \"1041cp\" }],\n [\"line\", { x1: \"2\", x2: \"5\", y1: \"8\", y2: \"8\", key: \"14m1p5\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"19\", y2: \"22\", key: \"rzdirn\" }],\n [\"line\", { x1: \"19\", x2: \"22\", y1: \"16\", y2: \"16\", key: \"ox905f\" }]\n]);\n\nexport { Unlink as default };\n//# sourceMappingURL=unlink.js.map\n","import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{PROJECT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function ErrorAlert({ error }: { error: any }) {\n const message = error?.message ?? \"Something went wrong\";\n const stack = error?.stack;\n\n return (\n <div className=\"flex h-screen max-h-screen min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8\">\n <div className=\"mx-auto max-w-[85%] sm:max-w-[50%]\">\n <h1 className=\"text-4xl font-bold tracking-tight text-h1-text sm:text-5xl\">\n Something went wrong\n </h1>\n <p className=\"mt-5 text-h1-text\">{message}</p>\n {stack ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {stack}\n </pre>\n ) : null}\n </div>\n </div>\n );\n}\n","import { isRouteErrorResponse, useRouteError } from \"react-router-dom\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError() {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return <ErrorAlert error={error} />;\n}\n","import { useDevPortal } from \"../components/context/DevPortalProvider.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useDevPortal();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n isPending: authState.isPending,\n profile: authState.profile,\n isAuthenticated: authState.profile,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.login();\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.logout();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n };\n};\n"],"names":["Unlink","createLucideIcon","NotFoundPage","params","useParams","jsxs","ProseClasses","jsx","CategoryHeading","Heading","UnlinkIcon","DeveloperHint","Link","ErrorAlert","error","message","stack","RouterError","useRouteError","isRouteErrorResponse","useAuth","authentication","useDevPortal","authState","useAuthState","isAuthEnabled"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAASC,EAAiB,UAAU;AAAA,EACxC;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACN;AAAA,EACF;AAAA,EACD;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACN;AAAA,EACF;AAAA,EACD,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAC9D,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAC9D,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EAClE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AACpE,CAAC,GCrBYC,IAAe,MAAM;AAChC,QAAMC,IAASC;AAEf,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWC,IAAe,sCAC7B,UAAA;AAAA,IAAAC,gBAAAA,EAAAA,IAACC,KAAgB,UAAG,MAAA,CAAA;AAAA,IACnBH,gBAAAA,EAAA,KAAAI,GAAA,EAAQ,OAAO,GAAG,WAAU,6BAA4B,UAAA;AAAA,MAAA;AAAA,MAEvDF,gBAAAA,EAAAA,IAACG,GAAW,EAAA,MAAM,GAAI,CAAA;AAAA,IAAA,GACxB;AAAA,2BACCC,GAAc,EAAA,UAAA;AAAA,MAAA;AAAA,MACa;AAAA,6BACzB,QACE,EAAA,UAAA;AAAA,QAAA;AAAA,QAAiB;AAAA,QAAER,EAAO,GAAG;AAAA,QAAE;AAAA,MAAA,GAClC;AAAA,MAAQ;AAAA,MAAI;AAAA,IAAA,GAEd;AAAA,IACAI,gBAAAA,EAAAA,IAAC,OAAE,UAIH,4KAAA,CAAA;AAAA,IACCA,gBAAAA,EAAA,IAAAK,GAAA,EAAK,IAAG,KAAI,UAAY,gBAAA;AAAA,EAC3B,EAAA,CAAA;AAEJ;AC/BgB,SAAAC,EAAW,EAAE,OAAAC,KAAyB;AAC9C,QAAAC,KAAUD,KAAA,gBAAAA,EAAO,YAAW,wBAC5BE,IAAQF,KAAA,gBAAAA,EAAO;AAErB,+BACG,OAAI,EAAA,WAAU,8GACb,UAACT,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,IAACE,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAU,8DAA6D,UAE3E,wBAAA;AAAA,IACCA,gBAAAA,EAAA,IAAA,KAAA,EAAE,WAAU,qBAAqB,UAAQQ,GAAA;AAAA,IACzCC,IACET,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,gJACZ,YACH,CAAA,IACE;AAAA,EAAA,EACN,CAAA,EACF,CAAA;AAEJ;AChBO,SAASU,IAAc;AAC5B,QAAMH,IAAQI;AAEd,SAAIC,EAAqBL,CAAK,KAAKA,EAAM,WAAW,4BAC1CZ,GAAa,CAAA,CAAA,IAGhBK,gBAAAA,MAACM,KAAW,OAAAC,EAAc,CAAA;AACnC;ACTO,MAAMM,IAAU,MAAM;AACrB,QAAA,EAAE,gBAAAC,MAAmBC,KACrBC,IAAYC,KACZC,IAAgB,OAAOJ,IAAmB;AAEzC,SAAA;AAAA,IACL,eAAAI;AAAA,IACA,WAAWF,EAAU;AAAA,IACrB,SAASA,EAAU;AAAA,IACnB,iBAAiBA,EAAU;AAAA,IAE3B,OAAO,YAAY;AACjB,UAAI,CAACE;AACG,cAAA,IAAI,MAAM,gCAAgC;AAGlD,YAAMJ,EAAe;IACvB;AAAA,IAEA,QAAQ,YAAY;AAClB,UAAI,CAACI;AACG,cAAA,IAAI,MAAM,gCAAgC;AAGlD,YAAMJ,EAAe,UAGrB,OAAO,SAAS,OAAO;AAAA,IACzB;AAAA,EAAA;AAEJ;","x_google_ignoreList":[0]}
@@ -1,9 +1,10 @@
1
- import { j as n, c as k } from "./jsx-runtime-CJZJivg2.js";
2
- import { b as r, P as o, g as u, H as c, L as p, S as v } from "./Markdown-DQrAhTkw.js";
3
- import { C as N, c as y, f as F } from "./urql-DMlBWUKL.js";
4
- import { createClient as S } from "zudoku/openapi-worker";
5
- import { m as g } from "./router-CBw2vqJE.js";
6
- const I = {
1
+ import { j as n, e as k } from "./jsx-runtime-BIr0WBt_.js";
2
+ import { a as r, P as o, H as u, L as c, S as p } from "./Markdown-BjRJKl_E.js";
3
+ import { C as v, c as N, f as y } from "./urql-DMlBWUKL.js";
4
+ import { createClient as F } from "zudoku/openapi-worker";
5
+ import { C as S } from "./CategoryHeading-DMkTmmBh.js";
6
+ import { m as g } from "./router-BiRCp01d.js";
7
+ const M = {
7
8
  get: "text-green-600",
8
9
  post: "text-sky-600",
9
10
  put: "text-yellow-600",
@@ -615,11 +616,11 @@ const j = ({
615
616
  message: d,
616
617
  category: t
617
618
  }) => /* @__PURE__ */ n.jsxs("div", { className: o + " h-full pt-[--padding-content-top]", children: [
618
- t && /* @__PURE__ */ n.jsx(u, { children: t }),
619
- e && /* @__PURE__ */ n.jsx(c, { level: 1, className: "flex gap-3.5 items-center", children: e }),
619
+ t && /* @__PURE__ */ n.jsx(S, { children: t }),
620
+ e && /* @__PURE__ */ n.jsx(u, { level: 1, className: "flex gap-3.5 items-center", children: e }),
620
621
  /* @__PURE__ */ n.jsx("p", { children: d }),
621
- /* @__PURE__ */ n.jsx(p, { to: "/", children: "Go back home" })
622
- ] }), q = V(`
622
+ /* @__PURE__ */ n.jsx(c, { to: "/", children: "Go back home" })
623
+ ] }), C = V(`
623
624
  query GetCategories($input: JSON!, $type: SchemaType!) {
624
625
  schema(input: $input, type: $type) {
625
626
  tags {
@@ -637,14 +638,14 @@ const j = ({
637
638
  }
638
639
  }
639
640
  }
640
- `), C = () => {
641
- const e = k(), d = e instanceof Error ? /* @__PURE__ */ n.jsx(v, { code: e.message }) : "An unknown error occurred";
641
+ `), q = () => {
642
+ const e = k(), d = e instanceof Error ? /* @__PURE__ */ n.jsx(p, { code: e.message }) : "An unknown error occurred";
642
643
  return /* @__PURE__ */ n.jsx(j, { category: "Error", title: "An error occurred", message: d });
643
- }, M = (e) => {
644
- const d = e.path ?? "/reference", t = e.server ? new N({
644
+ }, G = (e) => {
645
+ const d = e.path ?? "/reference", t = e.server ? new v({
645
646
  url: e.server,
646
- exchanges: [y, F]
647
- }) : S({ useMemoryClient: e.inMemory ?? !1 });
647
+ exchanges: [N, y]
648
+ }) : F({ useMemoryClient: e.inMemory ?? !1 });
648
649
  return {
649
650
  getHead: () => {
650
651
  if (e.type === "url")
@@ -663,7 +664,7 @@ const j = ({
663
664
  getNavigation: async (i) => {
664
665
  if (!g({ path: d, end: !1 }, i))
665
666
  return [];
666
- const { data: m } = await t.query(q, {
667
+ const { data: m } = await t.query(C, {
667
668
  input: e.input,
668
669
  type: e.type
669
670
  });
@@ -692,12 +693,12 @@ const j = ({
692
693
  getRoutes: () => [
693
694
  {
694
695
  async lazy() {
695
- const { OpenApiRoute: i } = await import("./Route-C1LyvITr.js");
696
+ const { OpenApiRoute: i } = await import("./Route-Bsrd0acQ.js");
696
697
  return {
697
698
  element: /* @__PURE__ */ n.jsx(i, { client: t, config: e })
698
699
  };
699
700
  },
700
- errorElement: /* @__PURE__ */ n.jsx(C, {}),
701
+ errorElement: /* @__PURE__ */ n.jsx(q, {}),
701
702
  children: [
702
703
  {
703
704
  path: d,
@@ -705,7 +706,7 @@ const j = ({
705
706
  {
706
707
  index: !0,
707
708
  async lazy() {
708
- const { OperationList: i } = await import("./OperationList-Dw2SadHL.js");
709
+ const { OperationList: i } = await import("./OperationList-DDTtK3I7.js");
709
710
  return { element: /* @__PURE__ */ n.jsx(i, {}) };
710
711
  }
711
712
  }
@@ -718,8 +719,8 @@ const j = ({
718
719
  };
719
720
  export {
720
721
  j as E,
721
- I as M,
722
+ M,
722
723
  V as g,
723
- M as o
724
+ G as o
724
725
  };
725
- //# sourceMappingURL=index-tOwoT-uJ.js.map
726
+ //# sourceMappingURL=index-BE2a6gGC.js.map