zudoku 0.3.0-dev.30 → 0.3.0-dev.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/App.d.ts +1 -0
- package/dist/app/App.js +2 -0
- package/dist/app/App.js.map +1 -0
- package/dist/app/demo.js +15 -11
- package/dist/app/demo.js.map +1 -1
- package/dist/app/entry.client.d.ts +5 -0
- package/dist/app/entry.client.js +28 -0
- package/dist/app/entry.client.js.map +1 -0
- package/dist/app/entry.server.d.ts +10 -0
- package/dist/app/entry.server.js +107 -0
- package/dist/app/entry.server.js.map +1 -0
- package/dist/app/main.d.ts +26 -2
- package/dist/app/main.js +39 -15
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.js +14 -10
- package/dist/app/standalone.js.map +1 -1
- package/dist/app/tailwind.d.ts +1 -1
- package/dist/app/tailwind.js +0 -4
- package/dist/app/tailwind.js.map +1 -1
- package/dist/app/zudoku-manifest.d.ts +1 -0
- package/dist/app/zudoku-manifest.js +20 -0
- package/dist/app/zudoku-manifest.js.map +1 -0
- package/dist/cli/cmds/dev.js +5 -0
- package/dist/cli/cmds/dev.js.map +1 -1
- package/dist/cli/dev/handler.d.ts +1 -0
- package/dist/cli/dev/handler.js +3 -1
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/config.d.ts +5 -0
- package/dist/lib/authentication/providers/clerk.js +2 -0
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/components/DevPortal.d.ts +5 -2
- package/dist/lib/components/DevPortal.js +11 -10
- package/dist/lib/components/DevPortal.js.map +1 -1
- package/dist/lib/components/ErrorPage.d.ts +6 -0
- package/dist/lib/components/ErrorPage.js +9 -0
- package/dist/lib/components/ErrorPage.js.map +1 -0
- package/dist/lib/components/InlineCode.d.ts +5 -0
- package/dist/lib/components/InlineCode.js +4 -0
- package/dist/lib/components/InlineCode.js.map +1 -0
- package/dist/lib/components/Layout.js +2 -1
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/NotFoundPage.d.ts +1 -0
- package/dist/lib/components/NotFoundPage.js +12 -0
- package/dist/lib/components/NotFoundPage.js.map +1 -0
- package/dist/lib/components/SyntaxHighlight.d.ts +3 -2
- package/dist/lib/components/SyntaxHighlight.js +20 -22
- package/dist/lib/components/SyntaxHighlight.js.map +1 -1
- package/dist/lib/components/index.d.ts +4 -1
- package/dist/lib/errors/ErrorAlert.d.ts +3 -0
- package/dist/lib/errors/ErrorAlert.js +8 -0
- package/dist/lib/errors/ErrorAlert.js.map +1 -0
- package/dist/lib/errors/RouterError.d.ts +1 -0
- package/dist/lib/errors/RouterError.js +12 -0
- package/dist/lib/errors/RouterError.js.map +1 -0
- package/dist/lib/errors/ServerError.d.ts +3 -0
- package/dist/lib/errors/ServerError.js +6 -0
- package/dist/lib/errors/ServerError.js.map +1 -0
- package/dist/lib/errors/TopLevelError.d.ts +2 -0
- package/dist/lib/errors/TopLevelError.js +7 -0
- package/dist/lib/errors/TopLevelError.js.map +1 -0
- package/dist/lib/oas/parser/index.d.ts +1 -1
- package/dist/lib/oas/parser/index.js +38 -14
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/plugins/api-keys/index.js +3 -8
- package/dist/lib/plugins/api-keys/index.js.map +1 -1
- package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
- package/dist/lib/plugins/markdown/index.js +3 -7
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +11 -1
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +2 -1
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaListView.js +2 -1
- package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +9 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/redirect/index.js +2 -3
- package/dist/lib/plugins/redirect/index.js.map +1 -1
- package/dist/lib/ui/Callout.js +1 -1
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/button-variants.d.ts +1 -1
- package/dist/lib/util/MdxComponents.js +2 -2
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/groupBy.d.ts +1 -6
- package/dist/lib/util/groupBy.js +10 -8
- package/dist/lib/util/groupBy.js.map +1 -1
- package/dist/vite/build.js +23 -10
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +2 -2
- package/dist/vite/config.js +36 -8
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.d.ts +1 -1
- package/dist/vite/dev-server.js +15 -9
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/html.js +5 -4
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-custom-css.d.ts +6 -0
- package/dist/vite/plugin-custom-css.js +55 -0
- package/dist/vite/plugin-custom-css.js.map +1 -0
- package/dist/vite/plugin-docs.js +14 -5
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-openapi-worker.js +4 -1
- package/dist/vite/plugin-openapi-worker.js.map +1 -1
- package/dist/vite/plugin.js +2 -0
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.d.ts +1 -0
- package/dist/vite/prerender.js +57 -0
- package/dist/vite/prerender.js.map +1 -0
- package/lib/{DevPortalProvider--xZTs0RJ.js → DevPortalProvider-BlxLX6GG.js} +230 -250
- package/lib/DevPortalProvider-BlxLX6GG.js.map +1 -0
- package/lib/{Markdown-oJFqm0uk.js → Markdown-CL8KPvJN.js} +8 -9
- package/lib/{Markdown-oJFqm0uk.js.map → Markdown-CL8KPvJN.js.map} +1 -1
- package/lib/MdxComponents-Ev_hBHb2.js +5885 -0
- package/lib/MdxComponents-Ev_hBHb2.js.map +1 -0
- package/lib/{MdxPage-BV_9ncEk.js → MdxPage-Z3HKNTrj.js} +92 -89
- package/lib/MdxPage-Z3HKNTrj.js.map +1 -0
- package/lib/{OperationList-DfG_E0Xa.js → OperationList-KoITgfDT.js} +1967 -1785
- package/lib/OperationList-KoITgfDT.js.map +1 -0
- package/lib/Route-Bf1_D_vC.js +13 -0
- package/lib/{Route-CHqr53jb.js.map → Route-Bf1_D_vC.js.map} +1 -1
- package/lib/Select-DSa3bN4t.js +4770 -0
- package/lib/Select-DSa3bN4t.js.map +1 -0
- package/lib/assets/{worker-BXS8hiSM.js → worker-BjPv-hjP.js} +3100 -2720
- package/lib/assets/worker-BjPv-hjP.js.map +1 -0
- package/lib/hook-CTmJ6CWq.js +35 -0
- package/lib/hook-CTmJ6CWq.js.map +1 -0
- package/lib/index-BdWBDosx.js +74 -0
- package/lib/index-BdWBDosx.js.map +1 -0
- package/lib/{index-B2qLeglF.js → index-BoWzKb_9.js} +57 -41
- package/lib/index-BoWzKb_9.js.map +1 -0
- package/lib/{AnchorLink-BtVKbEwm.js → index.esm-CPEExBJE.js} +156 -168
- package/lib/index.esm-CPEExBJE.js.map +1 -0
- package/lib/jsx-runtime-CM0TzjGp.js +866 -0
- package/lib/jsx-runtime-CM0TzjGp.js.map +1 -0
- package/lib/mutation-91kw0lHb.js +208 -0
- package/lib/mutation-91kw0lHb.js.map +1 -0
- package/lib/router-CcYTwKjf.js +183 -0
- package/lib/router-CcYTwKjf.js.map +1 -0
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +588 -441
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +330 -543
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +18 -18
- package/lib/zudoku.plugin-api-keys.js +143 -98
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +2 -49
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +5 -3
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/lib/zudoku.plugin-redirect.js +6 -7
- package/lib/zudoku.plugin-redirect.js.map +1 -1
- package/package.json +3 -1
- package/src/app/App.tsx +0 -0
- package/src/app/demo.tsx +18 -13
- package/src/app/entry.client.tsx +51 -0
- package/src/app/entry.server.tsx +158 -0
- package/src/app/main.tsx +65 -41
- package/src/app/standalone.tsx +15 -11
- package/src/app/tailwind.ts +2 -6
- package/src/app/zudoku-manifest.ts +22 -0
- package/src/lib/authentication/providers/clerk.tsx +1 -0
- package/src/lib/components/DevPortal.tsx +34 -33
- package/src/lib/components/ErrorPage.tsx +28 -0
- package/src/lib/components/InlineCode.tsx +19 -0
- package/src/lib/components/Layout.tsx +7 -4
- package/src/lib/components/NotFoundPage.tsx +39 -0
- package/src/lib/components/SyntaxHighlight.tsx +26 -22
- package/src/lib/errors/ErrorAlert.tsx +21 -0
- package/src/lib/errors/RouterError.tsx +13 -0
- package/src/lib/errors/ServerError.tsx +5 -0
- package/src/lib/errors/TopLevelError.tsx +8 -0
- package/src/lib/oas/parser/index.ts +41 -22
- package/src/lib/plugins/api-keys/index.tsx +4 -16
- package/src/lib/plugins/markdown/generateRoutes.tsx +1 -1
- package/src/lib/plugins/markdown/index.tsx +3 -7
- package/src/lib/plugins/openapi/OperationList.tsx +30 -0
- package/src/lib/plugins/openapi/OperationListItem.tsx +3 -1
- package/src/lib/plugins/openapi/SchemaListView.tsx +8 -10
- package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -1
- package/src/lib/plugins/openapi/index.tsx +18 -1
- package/src/lib/plugins/redirect/index.tsx +2 -2
- package/src/lib/ui/Callout.tsx +2 -2
- package/src/lib/util/MdxComponents.tsx +2 -11
- package/src/lib/util/groupBy.ts +7 -12
- package/dist/lib/components/Error.d.ts +0 -1
- package/dist/lib/components/Error.js +0 -10
- package/dist/lib/components/Error.js.map +0 -1
- package/dist/lib/components/Router.d.ts +0 -4
- package/dist/lib/components/Router.js +0 -21
- package/dist/lib/components/Router.js.map +0 -1
- package/lib/AnchorLink-BtVKbEwm.js.map +0 -1
- package/lib/DevPortalProvider--xZTs0RJ.js.map +0 -1
- package/lib/MdxComponents-CsU8yR42.js +0 -3019
- package/lib/MdxComponents-CsU8yR42.js.map +0 -1
- package/lib/MdxPage-BV_9ncEk.js.map +0 -1
- package/lib/OperationList-DfG_E0Xa.js.map +0 -1
- package/lib/Route-CHqr53jb.js +0 -14
- package/lib/Select-CNmXi4JU.js +0 -4572
- package/lib/Select-CNmXi4JU.js.map +0 -1
- package/lib/Spinner-By5opWs5.js +0 -182
- package/lib/Spinner-By5opWs5.js.map +0 -1
- package/lib/assets/worker-BXS8hiSM.js.map +0 -1
- package/lib/cn-DpqTslo9.js +0 -2342
- package/lib/cn-DpqTslo9.js.map +0 -1
- package/lib/hook-kVJ4gpk5.js +0 -25
- package/lib/hook-kVJ4gpk5.js.map +0 -1
- package/lib/index-B2qLeglF.js.map +0 -1
- package/lib/index-CUIxJAeE.js +0 -713
- package/lib/index-CUIxJAeE.js.map +0 -1
- package/lib/index-Cr3hgaqt.js +0 -412
- package/lib/index-Cr3hgaqt.js.map +0 -1
- package/lib/index-fXFJf9Ua.js +0 -464
- package/lib/index-fXFJf9Ua.js.map +0 -1
- package/lib/jsx-runtime-D7DwziLW.js +0 -3009
- package/lib/jsx-runtime-D7DwziLW.js.map +0 -1
- package/lib/loglevel-CA34MiFn.js +0 -153
- package/lib/loglevel-CA34MiFn.js.map +0 -1
- package/lib/util-DnDPBx_j.js +0 -41
- package/lib/util-DnDPBx_j.js.map +0 -1
- package/src/lib/components/Error.tsx +0 -15
- package/src/lib/components/Router.tsx +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.components.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-right.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/external-link.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/moon-star.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/sun.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/queryClient.js","../src/lib/core/plugins.ts","../src/lib/core/DevPortalContext.ts","../src/lib/components/TopNavigation.tsx","../src/lib/components/Header.tsx","../src/lib/components/context/ComponentsContext.tsx","../src/lib/util/useScrollToAnchor.ts","../src/lib/util/useScrollToTop.ts","../src/lib/components/navigation/useNavigationCollapsibleState.ts","../src/lib/components/navigation/SideNavigationItem.tsx","../src/lib/components/navigation/SideNavigationCategory.tsx","../src/lib/components/navigation/SideNavigationWrapper.tsx","../src/lib/components/navigation/SideNavigation.tsx","../src/lib/components/Layout.tsx","../src/lib/components/Error.tsx","../src/lib/components/Router.tsx","../src/lib/components/DevPortal.tsx","../src/lib/components/index.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 ChevronRight = createLucideIcon(\"ChevronRight\", [\n [\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]\n]);\n\nexport { ChevronRight as default };\n//# sourceMappingURL=chevron-right.js.map\n","/**\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 ExternalLink = createLucideIcon(\"ExternalLink\", [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n]);\n\nexport { ExternalLink as default };\n//# sourceMappingURL=external-link.js.map\n","/**\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 MoonStar = createLucideIcon(\"MoonStar\", [\n [\"path\", { d: \"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9\", key: \"4ay0iu\" }],\n [\"path\", { d: \"M20 3v4\", key: \"1olli1\" }],\n [\"path\", { d: \"M22 5h-4\", key: \"1gvqau\" }]\n]);\n\nexport { MoonStar as default };\n//# sourceMappingURL=moon-star.js.map\n","/**\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 Sun = createLucideIcon(\"Sun\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n]);\n\nexport { Sun as default };\n//# sourceMappingURL=sun.js.map\n","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Map();\n this.#mutationId = Date.now();\n }\n #mutations;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n const scope = scopeFor(mutation);\n const mutations = this.#mutations.get(scope) ?? [];\n mutations.push(mutation);\n this.#mutations.set(scope, mutations);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n const scope = scopeFor(mutation);\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations.get(scope)?.filter((x) => x !== mutation);\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope);\n } else {\n this.#mutations.set(scope, mutations);\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const firstPendingMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m.state.status === \"pending\");\n return !firstPendingMutation || firstPendingMutation === mutation;\n }\n runNext(mutation) {\n const foundMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return [...this.#mutations.values()].flat();\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id ?? String(mutation.mutationId);\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n if (cachedData === void 0)\n return this.fetchQuery(options);\n else {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","import { type ReactElement } from \"react\";\nimport { type RouteObject } from \"react-router-dom\";\nimport {\n DevPortalContext,\n type ApiIdentity,\n type NavigationCategory,\n} from \"./DevPortalContext.js\";\n\nexport type PluginNavigationCategory = {\n path: string;\n} & NavigationCategory;\n\nexport type DevPortalPlugin =\n | CommonPlugin\n | NavigationPlugin\n | ApiIdentityPlugin;\n\nexport interface NavigationPlugin {\n getRoutes: () => RouteObject[];\n getNavigation?: (path: string) => Promise<PluginNavigationCategory[]>;\n}\n\nexport interface ApiIdentityPlugin {\n getIdentities: (context: DevPortalContext) => Promise<ApiIdentity[]>;\n}\n\nexport interface CommonPlugin {\n initialize?: (context: DevPortalContext) => Promise<void> | void;\n getHead?: () => ReactElement | undefined;\n}\n\nexport const isNavigationPlugin = (\n obj: DevPortalPlugin,\n): obj is NavigationPlugin =>\n \"getRoutes\" in obj && typeof obj.getRoutes === \"function\";\n\nexport const needsInitialization = (\n obj: DevPortalPlugin,\n): obj is CommonPlugin =>\n \"initialize\" in obj && typeof obj.initialize === \"function\";\n\nexport const hasHead = (obj: DevPortalPlugin): obj is CommonPlugin =>\n \"getHead\" in obj && typeof obj.getHead === \"function\";\n\nexport const isApiIdentityPlugin = (\n obj: DevPortalPlugin,\n): obj is ApiIdentityPlugin =>\n \"getIdentities\" in obj && typeof obj.getIdentities === \"function\";\n","import { QueryClient } from \"@tanstack/react-query\";\nimport { type ReactNode } from \"react\";\nimport { create } from \"zustand\";\nimport { type AuthenticationProvider } from \"../authentication/authentication.js\";\nimport type { ComponentsContextType } from \"../components/context/ComponentsContext.js\";\nimport { type DevPortalPath } from \"../components/DevPortal.js\";\nimport type { MdxComponentsType } from \"../util/MdxComponents.js\";\nimport {\n type DevPortalPlugin,\n isApiIdentityPlugin,\n isNavigationPlugin,\n type NavigationPlugin,\n needsInitialization,\n} from \"./plugins.js\";\n\nexport interface ApiIdentity {\n authorizeRequest: (request: Request) => Request;\n label: string;\n id: string;\n}\n\ntype BaseNavigationCategoryItem = {\n label: ReactNode;\n title?: string;\n muted?: boolean;\n icon?: ReactNode;\n};\n\nexport type PathNavigationCategoryItem = BaseNavigationCategoryItem & {\n path: string;\n children?: NavigationCategoryItem[];\n};\n\nexport type HrefNavigationCategoryItem = BaseNavigationCategoryItem & {\n href: string;\n};\n\nexport type NavigationCategoryItem =\n | PathNavigationCategoryItem\n | HrefNavigationCategoryItem;\n\nexport type NavigationCategory = {\n label: string;\n path?: string;\n expanded?: boolean;\n collapsible?: boolean;\n icon?: ReactNode;\n children: NavigationCategoryItem[];\n};\n\nexport type NavigationItem = {\n label: string;\n path: DevPortalPath;\n categories?: NavigationCategory[];\n};\n\nexport type RoutingState = {\n path?: string;\n};\n\nexport const queryClient = new QueryClient();\n\nexport const useRoutingState = create<RoutingState>(() => ({}));\n\nexport type ApiKeyCache = \"api-keys\";\nexport type DevPortalCacheKey = ApiKeyCache | string;\n\nexport type ZudokuContextMetadataOptions = Partial<{\n title: string;\n description: string;\n logo: string;\n favicon: string;\n generator: string;\n applicationName: string;\n referrer: string;\n keywords: string[];\n authors: string[];\n creator: string;\n publisher: string;\n}>;\nexport type ZudokuContextPageOptions = Partial<{\n pageTitle?: string;\n logo?: string;\n}>;\nexport type ZudokuContextOptions = {\n metadata?: ZudokuContextMetadataOptions;\n page?: ZudokuContextPageOptions;\n authentication?: AuthenticationProvider;\n navigation: NavigationItem[];\n plugins?: DevPortalPlugin[];\n mdxComponents?: MdxComponentsType;\n overrides?: ComponentsContextType;\n};\n\nexport class DevPortalContext {\n private plugins: DevPortalPlugin[] = [];\n private navigationPlugins: NavigationPlugin[];\n\n public navigation: NavigationItem[];\n public meta: ZudokuContextOptions[\"metadata\"];\n public page: ZudokuContextOptions[\"page\"];\n public authentication?: AuthenticationProvider;\n public state: typeof useRoutingState;\n\n constructor(config: ZudokuContextOptions) {\n this.plugins = config.plugins ?? [];\n this.navigation = config.navigation;\n this.navigationPlugins = this.plugins.filter(isNavigationPlugin);\n this.authentication = config.authentication;\n this.meta = config.metadata;\n this.page = config.page;\n this.state = useRoutingState;\n }\n\n initialize = async () => {\n await Promise.all([\n this.plugins\n .filter(needsInitialization)\n .map((plugin) => plugin.initialize?.(this)),\n ]);\n };\n\n invalidateCache = async (key: DevPortalCacheKey[]) => {\n await queryClient.invalidateQueries({ queryKey: key });\n };\n\n getApiIdentities = async () => {\n const keys = await Promise.all(\n this.plugins\n .filter(isApiIdentityPlugin)\n .map((plugin) => plugin.getIdentities(this)),\n );\n\n return keys.flat();\n };\n\n getNavigation = async (path: string) => {\n const navigations = await Promise.all(\n this.navigationPlugins.map(async (plugin) =>\n plugin.getNavigation?.(path),\n ),\n );\n\n return navigations.flatMap((nav) => nav ?? []);\n };\n\n async signRequest(request: Request) {\n if (!this.authentication) {\n throw new Error(\"No authentication provider configured\");\n }\n\n const accessToken = await this.authentication.getAccessToken();\n\n request.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n\n return request;\n }\n}\n","import { cx } from \"class-variance-authority\";\nimport { NavLink } from \"react-router-dom\";\n\nimport { useDevPortal } from \"./context/DevPortalProvider.js\";\n\nexport const TopNavigation = () => {\n const { navigation } = useDevPortal();\n\n // Hide tope nav if there is only one item\n if (navigation.length <= 1) {\n return null;\n }\n\n return (\n <nav className=\"border-b border-border text-sm px-12 h-[--top-nav-height]\">\n <ul className=\"flex flex-row items-center gap-8\">\n {navigation.map((item) => (\n <li key={item.label}>\n <NavLink\n className={({ isActive }) =>\n cx(\n \"block py-3.5 font-medium -mb-px border-b-2\",\n isActive\n ? \"border-primary text-foreground\"\n : \"border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25\",\n )\n }\n to={item.path}\n >\n {item.label}\n </NavLink>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n","import { MoonStarIcon, SunIcon } from \"lucide-react\";\nimport { memo } from \"react\";\n\nimport { useAuth } from \"../authentication/hook.js\";\nimport { TopNavigation } from \"./TopNavigation.js\";\nimport { useDevPortal } from \"./context/DevPortalProvider.js\";\nimport { useTheme } from \"./context/ThemeContext.js\";\n\nexport const Header = memo(function HeaderInner() {\n const [isDark, toggleTheme] = useTheme();\n const { isAuthenticated, profile, isAuthEnabled, login, logout } = useAuth();\n const { page } = useDevPortal();\n\n const ThemeIcon = isDark ? MoonStarIcon : SunIcon;\n\n return (\n <header className=\"fixed top-0 w-full z-10 bg-background/80 backdrop-blur\">\n <div className=\"max-w-screen-2xl mx-auto\">\n <div className=\"grid grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b border-border px-12 h-[--top-header-height]\">\n <div className=\"flex items-center gap-3.5\">\n {page?.logo && (\n <img src={page.logo} alt={page.pageTitle} className=\"h-10\" />\n )}\n <span className=\"font-bold text-2xl text-foreground/85 tracking-wide\">\n {page?.pageTitle}\n </span>\n </div>\n <div className=\"grid grid-cols-[--sidecar-grid-cols] items-center gap-8\">\n <div className=\"w-full max-w-prose\">\n {/*<button 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-40 sm:w-72\">\n <div className=\"flex items-center gap-2 flex-grow\">\n <SearchIcon size={14} />\n Search\n </div>\n <kbd className=\"absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex\">\n ⌘K\n </kbd>\n </button>*/}\n </div>\n\n <div className=\"items-center justify-self-end text-sm hidden lg:flex\">\n {isAuthEnabled && (\n <>\n {isAuthenticated ? (\n <button\n className=\"cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded text-nowrap\"\n onClick={logout}\n >\n Logout {profile?.email ? `(${profile.email})` : null}\n </button>\n ) : (\n <button\n className=\"cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded\"\n onClick={login}\n >\n Login\n </button>\n )}\n </>\n )}\n <button\n className=\"cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full\"\n onClick={toggleTheme}\n >\n <ThemeIcon size={18} />\n </button>\n </div>\n </div>\n </div>\n <TopNavigation />\n </div>\n </header>\n );\n});\n","import {\n createContext,\n useContext,\n type ComponentProps,\n type ComponentType,\n} from \"react\";\nimport { Header } from \"../Header.js\";\n\nexport const DEFAULT_COMPONENTS = {\n Header,\n};\n\nexport type ComponentsContextType = {\n Header?: ComponentType<ComponentProps<typeof Header>>;\n};\n\nconst ComponentsContext =\n createContext<Required<ComponentsContextType>>(DEFAULT_COMPONENTS);\n\nexport const ComponentsProvider = ComponentsContext.Provider;\n\nexport const useComponents = () => {\n return useContext(ComponentsContext);\n};\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { useViewportAnchor } from \"../components/context/ViewportAnchorContext.js\";\n\nexport const useScrollToAnchor = () => {\n const location = useLocation();\n const { setActiveAnchor } = useViewportAnchor();\n\n useEffect(() => {\n if (!location.hash) return;\n\n const hash = location.hash.split(\"/\")[0].slice(1);\n\n const element = document.getElementById(decodeURIComponent(hash));\n if (element) {\n // on page navigation element might be in DOM but not yet scrollable, so wait for a frame\n requestAnimationFrame(() => {\n element.scrollIntoView();\n requestIdleCallback(() => setActiveAnchor(hash));\n });\n return;\n }\n\n // on page load, the element might not be available yet\n const observer = new MutationObserver((_mutations, obs) => {\n const element = document.getElementById(decodeURIComponent(hash));\n if (!element) return;\n\n element.scrollIntoView();\n requestIdleCallback(() => setActiveAnchor(hash));\n obs.disconnect();\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n\n return () => observer.disconnect();\n }, [location.hash, setActiveAnchor]);\n};\n","import { useEffect, useRef } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport const useScrollToTop = () => {\n const location = useLocation();\n const previousPath = useRef(location.pathname);\n\n useEffect(() => {\n if (previousPath.current === location.pathname) return;\n window.scrollTo(0, 0);\n previousPath.current = location.pathname;\n }, [location.pathname]);\n};\n","import { useEffect, useRef, useState } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport type { NavigationNode } from \"../../util/traverseNavigation.js\";\nimport { checkHasActiveItem } from \"./util.js\";\n\nexport const useNavigationCollapsibleState = ({\n item,\n defaultOpen,\n path,\n}: {\n item: NavigationNode;\n defaultOpen: () => boolean;\n path: string;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const location = useLocation();\n const previousLocationPath = useRef(location.pathname);\n\n useEffect(() => {\n if (!isOpen && previousLocationPath.current !== location.pathname) {\n setIsOpen(checkHasActiveItem(item, location.pathname, path));\n }\n previousLocationPath.current = location.pathname;\n }, [isOpen, item, path, location.pathname]);\n\n return [isOpen, setIsOpen] as const;\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronRightIcon, ExternalLinkIcon } from \"lucide-react\";\nimport { NavLink, useLocation } from \"react-router-dom\";\n\nimport type {\n NavigationCategory,\n NavigationCategoryItem,\n NavigationItem,\n} from \"../../core/DevPortalContext.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport { AnchorLink } from \"../AnchorLink.js\";\nimport { useNavigationCollapsibleState } from \"./useNavigationCollapsibleState.js\";\nimport { checkHasActiveItem, isLinkItem, isPathItem } from \"./util.js\";\n\nexport const navigationListItem = cva(\n \"flex px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent transition-colors duration-300\",\n {\n variants: {\n isActive: {\n true: \"text-primary font-medium\",\n false: \"text-foreground/80\",\n },\n isMuted: {\n true: \"text-foreground/30\",\n false: \"\",\n },\n },\n },\n);\n\nexport const DATA_ANCHOR_ATTR = \"data-anchor\";\n\nexport const SideNavigationItem = ({\n category,\n item,\n activeAnchor,\n currentTopNavItem,\n basePath = \"\",\n}: {\n category: NavigationCategory;\n item: NavigationCategoryItem;\n activeAnchor?: string;\n currentTopNavItem?: NavigationItem;\n basePath?: string;\n}) => {\n const currentPath = isPathItem(item) ? joinPath(basePath, item.path) : \"\";\n const location = useLocation();\n\n const [isOpen, setIsOpen] = useNavigationCollapsibleState({\n item,\n path: currentPath,\n defaultOpen: () => checkHasActiveItem(item, location.pathname, currentPath),\n });\n\n if (isLinkItem(item)) {\n const classes = cn(\n \"flex items-center gap-2\",\n navigationListItem({\n isActive: item.href === location.pathname,\n }),\n );\n return item.href.startsWith(\"http\") ? (\n <a\n className={classes}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {item.label}\n <ExternalLinkIcon size={14} />\n </a>\n ) : (\n <NavLink className={classes} to={item.href}>\n {item.label}\n </NavLink>\n );\n }\n\n const linkContent = (\n <div className=\"flex justify-between w-full\">\n <div className=\"flex items-center gap-2 truncate w-full\">\n {item.icon}\n {typeof item.label !== \"string\" ? (\n item.label\n ) : (\n <span className=\"truncate\">{item.label}</span>\n )}\n </div>\n {item.children && (\n <ChevronRightIcon\n size={16}\n className=\"transition shrink-0 group-data-[state=open]:rotate-90\"\n />\n )}\n </div>\n );\n\n return (\n <li title={typeof item.label === \"string\" ? item.label : item.title}>\n {item.children ? (\n <Collapsible.Root\n open={isOpen}\n onOpenChange={() => setIsOpen((prev) => !prev)}\n className=\"flex flex-col\"\n >\n <Collapsible.Trigger\n className={cn(\n \"group text-start\",\n navigationListItem({ isActive: false }),\n )}\n >\n {linkContent}\n </Collapsible.Trigger>\n <Collapsible.Content className=\"CollapsibleContent ms-[calc(var(--padding-nav-item)*1.125)]\">\n <ul className=\"mt-1 border-border border-l ps-1.5\">\n {item.children.map((child) => (\n <SideNavigationItem\n key={isPathItem(child) ? child.path : child.href}\n category={category}\n item={child}\n activeAnchor={activeAnchor}\n currentTopNavItem={currentTopNavItem}\n basePath={currentPath}\n />\n ))}\n </ul>\n </Collapsible.Content>\n </Collapsible.Root>\n ) : item.path.startsWith(\"#\") ? (\n <AnchorLink\n to={item.path}\n {...{ [DATA_ANCHOR_ATTR]: item.path }}\n className={navigationListItem({\n isActive: item.path.slice(1) === activeAnchor,\n isMuted: item.muted,\n })}\n >\n {linkContent}\n </AnchorLink>\n ) : (\n <NavLink\n className={({ isActive }) => navigationListItem({ isActive })}\n to={currentPath}\n >\n {linkContent}\n </NavLink>\n )}\n </li>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ChevronRightIcon } from \"lucide-react\";\nimport { useLocation } from \"react-router-dom\";\nimport type { NavigationCategory } from \"../../core/DevPortalContext.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport { useTopNavigationItem } from \"../context/DevPortalProvider.js\";\nimport { useViewportAnchor } from \"../context/ViewportAnchorContext.js\";\nimport { SideNavigationItem } from \"./SideNavigationItem.js\";\nimport { useNavigationCollapsibleState } from \"./useNavigationCollapsibleState.js\";\nimport { checkHasActiveItem, isPathItem } from \"./util.js\";\n\nexport const SideNavigationCategory = ({\n category,\n}: {\n category: NavigationCategory;\n}) => {\n const { activeAnchor } = useViewportAnchor();\n const navItem = useTopNavigationItem();\n const location = useLocation();\n\n const isCollapsible = category.collapsible ?? true;\n\n const [isOpen, setIsOpen] = useNavigationCollapsibleState({\n item: category,\n path: navItem?.path ?? \"\",\n defaultOpen: () =>\n !isCollapsible ||\n category.expanded ||\n checkHasActiveItem(category, location.pathname, navItem?.path ?? \"\"),\n });\n\n return (\n <Collapsible.Root\n key={category.label}\n open={isOpen}\n onOpenChange={() => setIsOpen((prev) => !prev)}\n >\n {category.label.length > 0 ? (\n <Collapsible.Trigger asChild={isCollapsible} disabled={!isCollapsible}>\n <h5\n className={cn(\n \"flex group items-center justify-between cursor-pointer font-semibold text-foreground/90 px-[--padding-nav-item] py-1.5 rounded-lg transition-colors duration-300 -mx-[--padding-nav-item]\",\n isCollapsible ? \"hover:bg-accent\" : \"cursor-auto\",\n )}\n >\n {category.label}\n {isCollapsible && (\n <ChevronRightIcon\n className=\"group-data-[state=open]:rotate-90 transition\"\n size={16}\n />\n )}\n </h5>\n </Collapsible.Trigger>\n ) : (\n \"Endpoints\"\n )}\n <Collapsible.Content className=\"CollapsibleContent -mx-[--padding-nav-item]\">\n {/* margin on Collapsible.Content will lead jumpiness when animating because it's not added to the calculated height */}\n <ul className=\"space-y-0.5 mt-1.5 mb-4 ms-3\">\n {category.children.map((item) => (\n <SideNavigationItem\n key={isPathItem(item) ? item.path + item.label : item.href}\n category={category}\n item={item}\n activeAnchor={activeAnchor}\n currentTopNavItem={navItem}\n basePath={joinPath(navItem?.path, category.path)}\n />\n ))}\n </ul>\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n","import { forwardRef, type PropsWithChildren } from \"react\";\nimport { cn } from \"../../util/cn.js\";\n\nexport const SideNavigationWrapper = forwardRef<\n HTMLDivElement,\n PropsWithChildren<{ pushMainContent?: boolean; className?: string }>\n>(function SideNavigation({ children, className, pushMainContent }, ref) {\n return (\n <nav\n // this data attribute is used in `Layout.tsx` to determine if side navigation\n // is present for the current page so the main content is pushed to the right\n // it's also important to set `peer` class here.\n // maybe this could be simplified by adjusting the layout\n data-navigation={String(pushMainContent)}\n className={cn(\n \"peer hidden lg:flex flex-col fixed text-sm overflow-y-auto shrink-0 p-[--padding-nav-item] -mx-[--padding-nav-item] pb-20 pt-[--padding-content-top] w-[--side-nav-width] h-[calc(100%-var(--header-height))] scroll-pt-2 gap-2\",\n className,\n )}\n ref={ref}\n >\n {children}\n </nav>\n );\n});\n","import { useRef } from \"react\";\n\nimport { useNavigation } from \"../context/DevPortalProvider.js\";\nimport { SideNavigationCategory } from \"./SideNavigationCategory.js\";\nimport { SideNavigationWrapper } from \"./SideNavigationWrapper.js\";\n\nexport const SideNavigation = () => {\n const navRef = useRef<HTMLDivElement | null>(null);\n const navigation = useNavigation();\n\n return (\n <SideNavigationWrapper\n ref={navRef}\n pushMainContent={navigation.data.items.length > 0}\n >\n {navigation.data.items.map((category) => (\n <SideNavigationCategory key={category.label} category={category} />\n ))}\n </SideNavigationWrapper>\n );\n};\n","import { Suspense, useEffect, useRef, type ReactNode } from \"react\";\nimport { Helmet } from \"react-helmet-async\";\nimport { Outlet, useLocation } from \"react-router-dom\";\nimport { useScrollToAnchor } from \"../util/useScrollToAnchor.js\";\nimport { useScrollToTop } from \"../util/useScrollToTop.js\";\nimport { useDevPortal } from \"./context/DevPortalProvider.js\";\nimport { useViewportAnchor } from \"./context/ViewportAnchorContext.js\";\nimport { Header } from \"./Header.js\";\nimport { SideNavigation } from \"./navigation/SideNavigation.js\";\nimport { Spinner } from \"./Spinner.js\";\n\nexport const Layout = ({ children }: { children?: ReactNode }) => {\n const location = useLocation();\n const { setActiveAnchor } = useViewportAnchor();\n const { meta } = useDevPortal();\n\n useScrollToAnchor();\n useScrollToTop();\n\n const previousLocationPath = useRef(location.pathname);\n\n useEffect(() => {\n // always reset on location change\n if (location.pathname !== previousLocationPath.current) {\n setActiveAnchor(\"\");\n }\n previousLocationPath.current = location.pathname;\n }, [location.pathname, setActiveAnchor]);\n\n return (\n <>\n <Helmet titleTemplate={meta?.title}>\n {meta?.description && (\n <meta name=\"description\" content={meta.description} />\n )}\n {meta?.favicon && <link rel=\"icon\" href={meta.favicon} />}\n </Helmet>\n <Header />\n\n <div className=\"max-w-screen-2xl mx-auto pt-[--header-height] px-10 lg:px-12 h-full\">\n <Suspense\n fallback={\n <div className=\"grid h-full place-items-center\">\n <Spinner />\n </div>\n }\n >\n <SideNavigation />\n <main\n className=\"dark:border-white/10 translate-x-0 h-full\n lg:overflow-visible\n lg:peer-data-[navigation=true]:w-[calc(100%-var(--side-nav-width))]\n lg:peer-data-[navigation=true]:translate-x-[--side-nav-width] peer-data-[navigation=true]:pl-12\"\n >\n {children ?? <Outlet />}\n </main>\n </Suspense>\n </div>\n </>\n );\n};\n","import { useRouteError } from \"react-router-dom\";\nimport { Layout } from \"./Layout.js\";\n\nexport function ErrorBoundary() {\n const error = useRouteError();\n // eslint-disable-next-line no-console\n console.error(error);\n return (\n <Layout>\n <div className=\"h-[75vh] flex items-center justify-center\">\n Error, look at the console\n </div>\n </Layout>\n );\n}\n","import { useMemo } from \"react\";\nimport { createBrowserRouter, RouterProvider } from \"react-router-dom\";\nimport { DevPortalPlugin, isNavigationPlugin } from \"../core/plugins.js\";\nimport { ErrorBoundary } from \"./Error.js\";\nimport { Layout } from \"./Layout.js\";\n\nexport function Router({ plugins }: { plugins?: DevPortalPlugin[] }) {\n const router = useMemo(() => {\n const routes = (plugins ?? []).flatMap((plugin) =>\n isNavigationPlugin(plugin) ? plugin.getRoutes() : [],\n );\n\n return createBrowserRouter([\n {\n path: \"/\",\n element: <Layout />,\n errorElement: <ErrorBoundary />,\n children: routes,\n },\n ]);\n }, [plugins]);\n return <RouterProvider router={router} />;\n}\n","import { MDXProvider } from \"@mdx-js/react\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { Fragment, memo, Suspense, useEffect, useMemo } from \"react\";\nimport { Helmet, HelmetProvider } from \"react-helmet-async\";\nimport {\n DevPortalContext,\n queryClient,\n ZudokuContextOptions,\n} from \"../core/DevPortalContext.js\";\nimport { hasHead } from \"../core/plugins.js\";\nimport { MdxComponents } from \"../util/MdxComponents.js\";\nimport {\n ComponentsProvider,\n DEFAULT_COMPONENTS,\n} from \"./context/ComponentsContext.js\";\nimport { DevPortalProvider } from \"./context/DevPortalProvider.js\";\nimport { ThemeProvider } from \"./context/ThemeContext.js\";\nimport { ViewportAnchorProvider } from \"./context/ViewportAnchorContext.js\";\nimport { Router } from \"./Router.js\";\n\nconst DevPortalSystemPaths = {\n Settings: \"/settings\",\n} as const;\n\nexport type DevPortalPath =\n | string\n | (typeof DevPortalSystemPaths)[keyof typeof DevPortalSystemPaths];\n\nconst DevPortalInner = (props: ZudokuContextOptions) => {\n const components = useMemo(\n () => ({ ...DEFAULT_COMPONENTS, ...props.overrides }),\n [props.overrides],\n );\n\n const mdxComponents = useMemo(\n () => ({ ...MdxComponents, ...props.mdxComponents }),\n [props.mdxComponents],\n );\n\n const devPortalContext = useMemo(() => new DevPortalContext(props), [props]);\n\n useEffect(() => {\n void devPortalContext.initialize();\n }, [devPortalContext]);\n\n const heads = props.plugins\n ?.filter(hasHead)\n // eslint-disable-next-line react/no-array-index-key\n .map((plugin, i) => <Fragment key={i}>{plugin.getHead?.()}</Fragment>);\n\n return (\n <QueryClientProvider client={queryClient}>\n <HelmetProvider>\n <Helmet>{heads}</Helmet>\n <DevPortalProvider value={devPortalContext}>\n <MDXProvider components={mdxComponents}>\n <ThemeProvider>\n <ComponentsProvider value={components}>\n <ViewportAnchorProvider>\n <Suspense\n fallback={\n <div className=\"grid place-items-center h-full\">\n Loading...\n </div>\n }\n >\n <Router\n plugins={[\n ...(props.plugins ?? []),\n ...(props.authentication ? [props.authentication] : []),\n ]}\n />\n </Suspense>\n </ViewportAnchorProvider>\n </ComponentsProvider>\n </ThemeProvider>\n </MDXProvider>\n </DevPortalProvider>\n </HelmetProvider>\n </QueryClientProvider>\n );\n};\n\nconst DevPortal = memo(DevPortalInner);\nDevPortal.displayName = \"DevPortal\";\n\nexport { DevPortal };\n","import { useMDXComponents as useMDXComponentsImport } from \"@mdx-js/react\";\nimport { Link as LinkImport } from \"react-router-dom\";\nimport { Callout as CalloutImport } from \"../ui/Callout.js\";\nimport { DevPortal as DevPortalImport } from \"./DevPortal.js\";\n\nexport const useMDXComponents = /*@__PURE__*/ useMDXComponentsImport;\nexport const Callout = /*@__PURE__*/ CalloutImport;\nexport const DevPortal = /*@__PURE__*/ DevPortalImport;\nexport const Link = /*@__PURE__*/ LinkImport;\n"],"names":["ChevronRight","createLucideIcon","ExternalLink","MoonStar","Sun","QueryCache","_a","Subscribable","config","__privateAdd","_queries","__privateSet","client","options","state","queryKey","queryHash","hashQueryKeyByOptions","query","Query","__privateGet","queryInMap","notifyManager","filters","defaultedFilters","matchQuery","queries","event","listener","MutationCache","_mutations","_mutationId","mutation","Mutation","__privateWrapper","scope","scopeFor","mutations","x","firstPendingMutation","m","foundMutation","matchMutation","pausedMutations","noop","infiniteQueryBehavior","pages","context","fetchFn","direction","_c","_b","oldPages","_d","oldPageParams","_e","empty","cancelled","addSignalProperty","object","queryFn","ensureQueryFn","fetchPage","data","param","previous","queryFnContext","page","maxPages","addTo","addToStart","addToEnd","result","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","i","pageParams","lastIndex","QueryClient","_queryCache","_mutationCache","_defaultOptions","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","focusManager","focused","onlineManager","online","cachedData","defaultedOptions","resolveStaleTime","updater","prevData","functionalUpdate","queryCache","refetchFilters","cancelOptions","defaultedCancelOptions","promises","fetchOptions","promise","hashKey","defaults","queryDefault","partialMatchKey","mutationKey","skipToken","isNavigationPlugin","obj","needsInitialization","hasHead","isApiIdentityPlugin","queryClient","useRoutingState","create","DevPortalContext","__publicField","plugin","key","path","nav","request","accessToken","TopNavigation","navigation","useDevPortal","jsx","item","NavLink","isActive","cx","Header","memo","isDark","toggleTheme","useTheme","isAuthenticated","profile","isAuthEnabled","login","logout","useAuth","ThemeIcon","MoonStarIcon","SunIcon","jsxs","DEFAULT_COMPONENTS","ComponentsContext","createContext","ComponentsProvider","useScrollToAnchor","location","useLocation","setActiveAnchor","useViewportAnchor","useEffect","hash","element","observer","obs","useScrollToTop","previousPath","useRef","useNavigationCollapsibleState","defaultOpen","isOpen","setIsOpen","useState","previousLocationPath","checkHasActiveItem","navigationListItem","cva","DATA_ANCHOR_ATTR","SideNavigationItem","category","activeAnchor","currentTopNavItem","basePath","currentPath","isPathItem","joinPath","isLinkItem","classes","cn","ExternalLinkIcon","linkContent","ChevronRightIcon","Collapsible.Root","prev","Collapsible.Trigger","Collapsible.Content","child","AnchorLink","SideNavigationCategory","navItem","useTopNavigationItem","isCollapsible","SideNavigationWrapper","forwardRef","children","className","pushMainContent","ref","SideNavigation","navRef","useNavigation","Layout","meta","Fragment","Helmet","Suspense","Spinner","Outlet","ErrorBoundary","error","useRouteError","Router","plugins","router","useMemo","routes","createBrowserRouter","RouterProvider","DevPortalInner","props","components","mdxComponents","MdxComponents","devPortalContext","heads","QueryClientProvider","HelmetProvider","DevPortalProvider","MDXProvider","ThemeProvider","ViewportAnchorProvider","DevPortal","useMDXComponents","useMDXComponentsImport","Callout","CalloutImport","DevPortalImport","Link","LinkImport"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
|
|
1
|
+
{"version":3,"file":"zudoku.components.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/moon-star.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/sun.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/.pnpm/@tanstack+query-core@5.50.1/node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/.pnpm/react-error-boundary@4.0.13_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../src/lib/core/plugins.ts","../src/lib/core/DevPortalContext.ts","../src/lib/errors/TopLevelError.tsx","../src/lib/components/TopNavigation.tsx","../src/lib/components/Header.tsx","../src/lib/components/context/ComponentsContext.tsx","../src/lib/components/DevPortal.tsx","../src/lib/components/index.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 MoonStar = createLucideIcon(\"MoonStar\", [\n [\"path\", { d: \"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9\", key: \"4ay0iu\" }],\n [\"path\", { d: \"M20 3v4\", key: \"1olli1\" }],\n [\"path\", { d: \"M22 5h-4\", key: \"1gvqau\" }]\n]);\n\nexport { MoonStar as default };\n//# sourceMappingURL=moon-star.js.map\n","/**\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 Sun = createLucideIcon(\"Sun\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n]);\n\nexport { Sun as default };\n//# sourceMappingURL=sun.js.map\n","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Map();\n this.#mutationId = Date.now();\n }\n #mutations;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n const scope = scopeFor(mutation);\n const mutations = this.#mutations.get(scope) ?? [];\n mutations.push(mutation);\n this.#mutations.set(scope, mutations);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n const scope = scopeFor(mutation);\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations.get(scope)?.filter((x) => x !== mutation);\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope);\n } else {\n this.#mutations.set(scope, mutations);\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const firstPendingMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m.state.status === \"pending\");\n return !firstPendingMutation || firstPendingMutation === mutation;\n }\n runNext(mutation) {\n const foundMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return [...this.#mutations.values()].flat();\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id ?? String(mutation.mutationId);\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n if (cachedData === void 0)\n return this.fetchQuery(options);\n else {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","'use client';\nimport { createContext, Component, createElement, isValidElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback === null || isValidElement(fallback)) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { type ReactElement } from \"react\";\nimport { type RouteObject } from \"react-router-dom\";\nimport {\n DevPortalContext,\n type ApiIdentity,\n type NavigationCategory,\n} from \"./DevPortalContext.js\";\n\nexport type PluginNavigationCategory = {\n path: string;\n} & NavigationCategory;\n\nexport type DevPortalPlugin =\n | CommonPlugin\n | NavigationPlugin\n | ApiIdentityPlugin;\n\nexport interface NavigationPlugin {\n getRoutes: () => RouteObject[];\n getNavigation?: (path: string) => Promise<PluginNavigationCategory[]>;\n}\n\nexport interface ApiIdentityPlugin {\n getIdentities: (context: DevPortalContext) => Promise<ApiIdentity[]>;\n}\n\nexport interface CommonPlugin {\n initialize?: (context: DevPortalContext) => Promise<void> | void;\n getHead?: () => ReactElement | undefined;\n}\n\nexport const isNavigationPlugin = (\n obj: DevPortalPlugin,\n): obj is NavigationPlugin =>\n \"getRoutes\" in obj && typeof obj.getRoutes === \"function\";\n\nexport const needsInitialization = (\n obj: DevPortalPlugin,\n): obj is CommonPlugin =>\n \"initialize\" in obj && typeof obj.initialize === \"function\";\n\nexport const hasHead = (obj: DevPortalPlugin): obj is CommonPlugin =>\n \"getHead\" in obj && typeof obj.getHead === \"function\";\n\nexport const isApiIdentityPlugin = (\n obj: DevPortalPlugin,\n): obj is ApiIdentityPlugin =>\n \"getIdentities\" in obj && typeof obj.getIdentities === \"function\";\n","import { QueryClient } from \"@tanstack/react-query\";\nimport { type ReactNode } from \"react\";\nimport { create } from \"zustand\";\nimport { type AuthenticationProvider } from \"../authentication/authentication.js\";\nimport type { ComponentsContextType } from \"../components/context/ComponentsContext.js\";\nimport { type DevPortalPath } from \"../components/DevPortal.js\";\nimport type { MdxComponentsType } from \"../util/MdxComponents.js\";\nimport {\n type DevPortalPlugin,\n isApiIdentityPlugin,\n isNavigationPlugin,\n type NavigationPlugin,\n needsInitialization,\n} from \"./plugins.js\";\n\nexport interface ApiIdentity {\n authorizeRequest: (request: Request) => Request;\n label: string;\n id: string;\n}\n\ntype BaseNavigationCategoryItem = {\n label: ReactNode;\n title?: string;\n muted?: boolean;\n icon?: ReactNode;\n};\n\nexport type PathNavigationCategoryItem = BaseNavigationCategoryItem & {\n path: string;\n children?: NavigationCategoryItem[];\n};\n\nexport type HrefNavigationCategoryItem = BaseNavigationCategoryItem & {\n href: string;\n};\n\nexport type NavigationCategoryItem =\n | PathNavigationCategoryItem\n | HrefNavigationCategoryItem;\n\nexport type NavigationCategory = {\n label: string;\n path?: string;\n expanded?: boolean;\n collapsible?: boolean;\n icon?: ReactNode;\n children: NavigationCategoryItem[];\n};\n\nexport type NavigationItem = {\n label: string;\n path: DevPortalPath;\n categories?: NavigationCategory[];\n};\n\nexport type RoutingState = {\n path?: string;\n};\n\nexport const queryClient = new QueryClient();\n\nexport const useRoutingState = create<RoutingState>(() => ({}));\n\nexport type ApiKeyCache = \"api-keys\";\nexport type DevPortalCacheKey = ApiKeyCache | string;\n\nexport type ZudokuContextMetadataOptions = Partial<{\n title: string;\n description: string;\n logo: string;\n favicon: string;\n generator: string;\n applicationName: string;\n referrer: string;\n keywords: string[];\n authors: string[];\n creator: string;\n publisher: string;\n}>;\nexport type ZudokuContextPageOptions = Partial<{\n pageTitle?: string;\n logo?: string;\n}>;\nexport type ZudokuContextOptions = {\n metadata?: ZudokuContextMetadataOptions;\n page?: ZudokuContextPageOptions;\n authentication?: AuthenticationProvider;\n navigation: NavigationItem[];\n plugins?: DevPortalPlugin[];\n mdxComponents?: MdxComponentsType;\n overrides?: ComponentsContextType;\n};\n\nexport class DevPortalContext {\n private plugins: DevPortalPlugin[] = [];\n private navigationPlugins: NavigationPlugin[];\n\n public navigation: NavigationItem[];\n public meta: ZudokuContextOptions[\"metadata\"];\n public page: ZudokuContextOptions[\"page\"];\n public authentication?: AuthenticationProvider;\n public state: typeof useRoutingState;\n\n constructor(config: ZudokuContextOptions) {\n this.plugins = config.plugins ?? [];\n this.navigation = config.navigation;\n this.navigationPlugins = this.plugins.filter(isNavigationPlugin);\n this.authentication = config.authentication;\n this.meta = config.metadata;\n this.page = config.page;\n this.state = useRoutingState;\n }\n\n initialize = async () => {\n await Promise.all([\n this.plugins\n .filter(needsInitialization)\n .map((plugin) => plugin.initialize?.(this)),\n ]);\n };\n\n invalidateCache = async (key: DevPortalCacheKey[]) => {\n await queryClient.invalidateQueries({ queryKey: key });\n };\n\n getApiIdentities = async () => {\n const keys = await Promise.all(\n this.plugins\n .filter(isApiIdentityPlugin)\n .map((plugin) => plugin.getIdentities(this)),\n );\n\n return keys.flat();\n };\n\n getNavigation = async (path: string) => {\n const navigations = await Promise.all(\n this.navigationPlugins.map(async (plugin) =>\n plugin.getNavigation?.(path),\n ),\n );\n\n return navigations.flatMap((nav) => nav ?? []);\n };\n\n async signRequest(request: Request) {\n if (!this.authentication) {\n throw new Error(\"No authentication provider configured\");\n }\n\n const accessToken = await this.authentication.getAccessToken();\n\n request.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n\n return request;\n }\n}\n","import { FallbackProps } from \"react-error-boundary\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function TopLevelError({ error, resetErrorBoundary }: FallbackProps) {\n // Call resetErrorBoundary() to reset the error boundary and retry the render.\n\n return <ErrorAlert error={error} />;\n}\n","import { cx } from \"class-variance-authority\";\nimport { NavLink } from \"react-router-dom\";\n\nimport { useDevPortal } from \"./context/DevPortalProvider.js\";\n\nexport const TopNavigation = () => {\n const { navigation } = useDevPortal();\n\n // Hide tope nav if there is only one item\n if (navigation.length <= 1) {\n return null;\n }\n\n return (\n <nav className=\"border-b border-border text-sm px-12 h-[--top-nav-height]\">\n <ul className=\"flex flex-row items-center gap-8\">\n {navigation.map((item) => (\n <li key={item.label}>\n <NavLink\n className={({ isActive }) =>\n cx(\n \"block py-3.5 font-medium -mb-px border-b-2\",\n isActive\n ? \"border-primary text-foreground\"\n : \"border-transparent text-foreground/75 hover:text-foreground hover:border-accent-foreground/25\",\n )\n }\n to={item.path}\n >\n {item.label}\n </NavLink>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n","import { MoonStarIcon, SunIcon } from \"lucide-react\";\nimport { memo } from \"react\";\n\nimport { useAuth } from \"../authentication/hook.js\";\nimport { TopNavigation } from \"./TopNavigation.js\";\nimport { useDevPortal } from \"./context/DevPortalProvider.js\";\nimport { useTheme } from \"./context/ThemeContext.js\";\n\nexport const Header = memo(function HeaderInner() {\n const [isDark, toggleTheme] = useTheme();\n const { isAuthenticated, profile, isAuthEnabled, login, logout } = useAuth();\n const { page } = useDevPortal();\n\n const ThemeIcon = isDark ? MoonStarIcon : SunIcon;\n\n return (\n <header className=\"fixed top-0 w-full z-10 bg-background/80 backdrop-blur\">\n <div className=\"max-w-screen-2xl mx-auto\">\n <div className=\"grid grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b border-border px-12 h-[--top-header-height]\">\n <div className=\"flex items-center gap-3.5\">\n {page?.logo && (\n <img src={page.logo} alt={page.pageTitle} className=\"h-10\" />\n )}\n <span className=\"font-bold text-2xl text-foreground/85 tracking-wide\">\n {page?.pageTitle}\n </span>\n </div>\n <div className=\"grid grid-cols-[--sidecar-grid-cols] items-center gap-8\">\n <div className=\"w-full max-w-prose\">\n {/*<button 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-40 sm:w-72\">\n <div className=\"flex items-center gap-2 flex-grow\">\n <SearchIcon size={14} />\n Search\n </div>\n <kbd className=\"absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex\">\n ⌘K\n </kbd>\n </button>*/}\n </div>\n\n <div className=\"items-center justify-self-end text-sm hidden lg:flex\">\n {isAuthEnabled && (\n <>\n {isAuthenticated ? (\n <button\n className=\"cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded text-nowrap\"\n onClick={logout}\n >\n Logout {profile?.email ? `(${profile.email})` : null}\n </button>\n ) : (\n <button\n className=\"cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded\"\n onClick={login}\n >\n Login\n </button>\n )}\n </>\n )}\n <button\n className=\"cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full\"\n onClick={toggleTheme}\n >\n <ThemeIcon size={18} />\n </button>\n </div>\n </div>\n </div>\n <TopNavigation />\n </div>\n </header>\n );\n});\n","import {\n createContext,\n useContext,\n type ComponentProps,\n type ComponentType,\n} from \"react\";\nimport { Header } from \"../Header.js\";\n\nexport const DEFAULT_COMPONENTS = {\n Header,\n};\n\nexport type ComponentsContextType = {\n Header?: ComponentType<ComponentProps<typeof Header>>;\n};\n\nconst ComponentsContext =\n createContext<Required<ComponentsContextType>>(DEFAULT_COMPONENTS);\n\nexport const ComponentsProvider = ComponentsContext.Provider;\n\nexport const useComponents = () => {\n return useContext(ComponentsContext);\n};\n","import { MDXProvider } from \"@mdx-js/react\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport {\n Fragment,\n memo,\n type PropsWithChildren,\n useEffect,\n useMemo,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Helmet } from \"react-helmet-async\";\nimport {\n DevPortalContext,\n queryClient,\n ZudokuContextOptions,\n} from \"../core/DevPortalContext.js\";\nimport { hasHead } from \"../core/plugins.js\";\nimport { TopLevelError } from \"../errors/TopLevelError.js\";\nimport { MdxComponents } from \"../util/MdxComponents.js\";\nimport {\n ComponentsProvider,\n DEFAULT_COMPONENTS,\n} from \"./context/ComponentsContext.js\";\nimport { DevPortalProvider } from \"./context/DevPortalProvider.js\";\nimport { ThemeProvider } from \"./context/ThemeContext.js\";\nimport { ViewportAnchorProvider } from \"./context/ViewportAnchorContext.js\";\n\nexport const DevPortalSystemPaths = {\n Settings: \"/settings\",\n} as const;\n\nexport type DevPortalPath =\n | string\n | (typeof DevPortalSystemPaths)[keyof typeof DevPortalSystemPaths];\n\nconst DevPortalInner = ({\n children,\n ...props\n}: PropsWithChildren<ZudokuContextOptions>) => {\n const components = useMemo(\n () => ({ ...DEFAULT_COMPONENTS, ...props.overrides }),\n [props.overrides],\n );\n\n const mdxComponents = useMemo(\n () => ({ ...MdxComponents, ...props.mdxComponents }),\n [props.mdxComponents],\n );\n\n const devPortalContext = useMemo(() => new DevPortalContext(props), [props]);\n\n useEffect(() => {\n void devPortalContext.initialize();\n }, [devPortalContext]);\n\n const heads = props.plugins\n ?.filter(hasHead)\n // eslint-disable-next-line react/no-array-index-key\n .map((plugin, i) => <Fragment key={i}>{plugin.getHead?.()}</Fragment>);\n\n return (\n <QueryClientProvider client={queryClient}>\n <Helmet>{heads}</Helmet>\n <DevPortalProvider value={devPortalContext}>\n <MDXProvider components={mdxComponents}>\n <ThemeProvider>\n <ComponentsProvider value={components}>\n <ViewportAnchorProvider>{children}</ViewportAnchorProvider>\n </ComponentsProvider>\n </ThemeProvider>\n </MDXProvider>\n </DevPortalProvider>\n </QueryClientProvider>\n );\n};\n\nconst Inner = memo(DevPortalInner);\n\nconst DevPortal = (props: ZudokuContextOptions) => {\n return (\n <ErrorBoundary FallbackComponent={TopLevelError}>\n <Inner {...props} />\n </ErrorBoundary>\n );\n};\nDevPortal.displayName = \"DevPortal\";\n\nexport { DevPortal };\n","import { useMDXComponents as useMDXComponentsImport } from \"@mdx-js/react\";\nimport { Link as LinkImport } from \"react-router-dom\";\nimport { Callout as CalloutImport } from \"../ui/Callout.js\";\nimport { DevPortal as DevPortalImport } from \"./DevPortal.js\";\n\nexport const useMDXComponents = /*@__PURE__*/ useMDXComponentsImport;\nexport const Callout = /*@__PURE__*/ CalloutImport;\nexport const DevPortal = /*@__PURE__*/ DevPortalImport;\nexport const Link = /*@__PURE__*/ LinkImport;\n"],"names":["MoonStar","createLucideIcon","Sun","QueryCache","_a","Subscribable","config","__privateAdd","_queries","__privateSet","client","options","state","queryKey","queryHash","hashQueryKeyByOptions","query","Query","__privateGet","queryInMap","notifyManager","filters","defaultedFilters","matchQuery","queries","event","listener","MutationCache","_mutations","_mutationId","mutation","Mutation","__privateWrapper","scope","scopeFor","mutations","x","firstPendingMutation","m","foundMutation","matchMutation","pausedMutations","noop","infiniteQueryBehavior","pages","context","fetchFn","direction","_c","_b","oldPages","_d","oldPageParams","_e","empty","cancelled","addSignalProperty","object","queryFn","ensureQueryFn","fetchPage","data","param","previous","queryFnContext","page","maxPages","addTo","addToStart","addToEnd","result","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","i","pageParams","lastIndex","QueryClient","_queryCache","_mutationCache","_defaultOptions","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","focusManager","focused","onlineManager","online","cachedData","defaultedOptions","resolveStaleTime","updater","prevData","functionalUpdate","queryCache","refetchFilters","cancelOptions","defaultedCancelOptions","promises","fetchOptions","promise","hashKey","defaults","queryDefault","partialMatchKey","mutationKey","skipToken","ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","isValidElement","a","b","item","index","isNavigationPlugin","obj","needsInitialization","hasHead","isApiIdentityPlugin","queryClient","useRoutingState","create","DevPortalContext","__publicField","plugin","key","path","nav","request","accessToken","TopLevelError","resetErrorBoundary","jsx","ErrorAlert","TopNavigation","navigation","useDevPortal","NavLink","isActive","cx","Header","memo","isDark","toggleTheme","useTheme","isAuthenticated","profile","isAuthEnabled","login","logout","useAuth","ThemeIcon","MoonStarIcon","SunIcon","jsxs","DEFAULT_COMPONENTS","ComponentsContext","ComponentsProvider","DevPortalInner","components","useMemo","mdxComponents","MdxComponents","devPortalContext","useEffect","heads","Fragment","QueryClientProvider","Helmet","DevPortalProvider","MDXProvider","ThemeProvider","ViewportAnchorProvider","Inner","DevPortal","useMDXComponents","useMDXComponentsImport","Callout","CalloutImport","DevPortalImport","Link","LinkImport"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAWC,GAAiB,YAAY;AAAA,EAC5C,CAAC,QAAQ,EAAE,GAAG,qCAAqC,KAAK,SAAQ,CAAE;AAAA,EAClE,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAC3C,CAAC;ACbD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMC,KAAMD,GAAiB,OAAO;AAAA,EAClC,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,KAAK,KAAK,UAAU;AAAA,EACxD,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,wBAAwB,KAAK,SAAQ,CAAE;AAAA,EACrD,CAAC,QAAQ,EAAE,GAAG,0BAA0B,KAAK,SAAQ,CAAE;AAAA,EACvD,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,yBAAyB,KAAK,SAAQ,CAAE;AAAA,EACtD,CAAC,QAAQ,EAAE,GAAG,yBAAyB,KAAK,SAAQ,CAAE;AACxD,CAAC;WCdGE,MAAaC,KAAA,cAAcC,GAAa;AAAA,EAC1C,YAAYC,IAAS,IAAI;AACvB;AAIF,IAAAC,EAAA,MAAAC;AAHE,SAAK,SAASF,GACdG,EAAA,MAAKD,GAA2B,oBAAI;EACrC;AAAA,EAED,MAAME,GAAQC,GAASC,GAAO;AAC5B,UAAMC,IAAWF,EAAQ,UACnBG,IAAYH,EAAQ,aAAaI,GAAsBF,GAAUF,CAAO;AAC9E,QAAIK,IAAQ,KAAK,IAAIF,CAAS;AAC9B,WAAKE,MACHA,IAAQ,IAAIC,GAAM;AAAA,MAChB,OAAO;AAAA,MACP,UAAAJ;AAAA,MACA,WAAAC;AAAA,MACA,SAASJ,EAAO,oBAAoBC,CAAO;AAAA,MAC3C,OAAAC;AAAA,MACA,gBAAgBF,EAAO,iBAAiBG,CAAQ;AAAA,IACxD,CAAO,GACD,KAAK,IAAIG,CAAK,IAETA;AAAA,EACR;AAAA,EACD,IAAIA,GAAO;AACT,IAAKE,EAAA,MAAKV,GAAS,IAAIQ,EAAM,SAAS,MACpCE,EAAA,MAAKV,GAAS,IAAIQ,EAAM,WAAWA,CAAK,GACxC,KAAK,OAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAAA;AAAA,IACR,CAAO;AAAA,EAEJ;AAAA,EACD,OAAOA,GAAO;AACZ,UAAMG,IAAaD,EAAA,MAAKV,GAAS,IAAIQ,EAAM,SAAS;AACpD,IAAIG,MACFH,EAAM,QAAO,GACTG,MAAeH,KACjBE,EAAA,MAAKV,GAAS,OAAOQ,EAAM,SAAS,GAEtC,KAAK,OAAO,EAAE,MAAM,WAAW,OAAAA,EAAO,CAAA;AAAA,EAEzC;AAAA,EACD,QAAQ;AACN,IAAAI,EAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAACJ,MAAU;AAC/B,aAAK,OAAOA,CAAK;AAAA,MACzB,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAAA,EACD,IAAIF,GAAW;AACb,WAAOI,EAAA,MAAKV,GAAS,IAAIM,CAAS;AAAA,EACnC;AAAA,EACD,SAAS;AACP,WAAO,CAAC,GAAGI,EAAA,MAAKV,GAAS,OAAQ,CAAA;AAAA,EAClC;AAAA,EACD,KAAKa,GAAS;AACZ,UAAMC,IAAmB,EAAE,OAAO,IAAM,GAAGD,EAAO;AAClD,WAAO,KAAK,OAAM,EAAG;AAAA,MACnB,CAACL,MAAUO,EAAWD,GAAkBN,CAAK;AAAA,IACnD;AAAA,EACG;AAAA,EACD,QAAQK,IAAU,IAAI;AACpB,UAAMG,IAAU,KAAK;AACrB,WAAO,OAAO,KAAKH,CAAO,EAAE,SAAS,IAAIG,EAAQ,OAAO,CAACR,MAAUO,EAAWF,GAASL,CAAK,CAAC,IAAIQ;AAAA,EAClG;AAAA,EACD,OAAOC,GAAO;AACZ,IAAAL,EAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAACM,MAAa;AACnC,QAAAA,EAASD,CAAK;AAAA,MACtB,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAAA,EACD,UAAU;AACR,IAAAL,EAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAACJ,MAAU;AAC/B,QAAAA,EAAM,QAAO;AAAA,MACrB,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAAA,EACD,WAAW;AACT,IAAAI,EAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAACJ,MAAU;AAC/B,QAAAA,EAAM,SAAQ;AAAA,MACtB,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AACH,GAjFER,IAAA,eANeJ,eCAbuB,MAAgBvB,KAAA,cAAcC,GAAa;AAAA,EAC7C,YAAYC,IAAS,IAAI;AACvB;AAKF,IAAAC,EAAA,MAAAqB;AACA,IAAArB,EAAA,MAAAsB;AALE,SAAK,SAASvB,GACdG,EAAA,MAAKmB,GAA6B,oBAAI,QACtCnB,EAAA,MAAKoB,GAAc,KAAK;EACzB;AAAA,EAGD,MAAMnB,GAAQC,GAASC,GAAO;AAC5B,UAAMkB,IAAW,IAAIC,GAAS;AAAA,MAC5B,eAAe;AAAA,MACf,YAAmB,EAALC,EAAA,MAAKH,GAAL;AAAA,MACd,SAASnB,EAAO,uBAAuBC,CAAO;AAAA,MAC9C,OAAAC;AAAA,IACN,CAAK;AACD,gBAAK,IAAIkB,CAAQ,GACVA;AAAA,EACR;AAAA,EACD,IAAIA,GAAU;AACZ,UAAMG,IAAQC,EAASJ,CAAQ,GACzBK,IAAYjB,EAAA,MAAKU,GAAW,IAAIK,CAAK,KAAK;AAChD,IAAAE,EAAU,KAAKL,CAAQ,GACvBZ,EAAA,MAAKU,GAAW,IAAIK,GAAOE,CAAS,GACpC,KAAK,OAAO,EAAE,MAAM,SAAS,UAAAL,EAAU,CAAA;AAAA,EACxC;AAAA,EACD,OAAOA,GAAU;;AACf,UAAMG,IAAQC,EAASJ,CAAQ;AAC/B,QAAIZ,EAAA,MAAKU,GAAW,IAAIK,CAAK,GAAG;AAC9B,YAAME,KAAY/B,IAAAc,EAAA,MAAKU,GAAW,IAAIK,CAAK,MAAzB,gBAAA7B,EAA4B,OAAO,CAACgC,MAAMA,MAAMN;AAClE,MAAIK,MACEA,EAAU,WAAW,IACvBjB,EAAA,MAAKU,GAAW,OAAOK,CAAK,IAE5Bf,EAAA,MAAKU,GAAW,IAAIK,GAAOE,CAAS;AAAA,IAGzC;AACD,SAAK,OAAO,EAAE,MAAM,WAAW,UAAAL,EAAU,CAAA;AAAA,EAC1C;AAAA,EACD,OAAOA,GAAU;;AACf,UAAMO,KAAuBjC,IAAAc,EAAA,MAAKU,GAAW,IAAIM,EAASJ,CAAQ,CAAC,MAAtC,gBAAA1B,EAAyC,KAAK,CAACkC,MAAMA,EAAE,MAAM,WAAW;AACrG,WAAO,CAACD,KAAwBA,MAAyBP;AAAA,EAC1D;AAAA,EACD,QAAQA,GAAU;;AAChB,UAAMS,KAAgBnC,IAAAc,EAAA,MAAKU,GAAW,IAAIM,EAASJ,CAAQ,CAAC,MAAtC,gBAAA1B,EAAyC,KAAK,CAACkC,MAAMA,MAAMR,KAAYQ,EAAE,MAAM;AACrG,YAAOC,KAAA,gBAAAA,EAAe,eAAc,QAAQ,QAAO;AAAA,EACpD;AAAA,EACD,QAAQ;AACN,IAAAnB,EAAc,MAAM,MAAM;AACxB,WAAK,OAAM,EAAG,QAAQ,CAACU,MAAa;AAClC,aAAK,OAAOA,CAAQ;AAAA,MAC5B,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAAA,EACD,SAAS;AACP,WAAO,CAAC,GAAGZ,EAAA,MAAKU,GAAW,OAAQ,CAAA,EAAE;EACtC;AAAA,EACD,KAAKP,GAAS;AACZ,UAAMC,IAAmB,EAAE,OAAO,IAAM,GAAGD,EAAO;AAClD,WAAO,KAAK,OAAM,EAAG;AAAA,MACnB,CAACS,MAAaU,EAAclB,GAAkBQ,CAAQ;AAAA,IAC5D;AAAA,EACG;AAAA,EACD,QAAQT,IAAU,IAAI;AACpB,WAAO,KAAK,OAAQ,EAAC,OAAO,CAACS,MAAaU,EAAcnB,GAASS,CAAQ,CAAC;AAAA,EAC3E;AAAA,EACD,OAAOL,GAAO;AACZ,IAAAL,EAAc,MAAM,MAAM;AACxB,WAAK,UAAU,QAAQ,CAACM,MAAa;AACnC,QAAAA,EAASD,CAAK;AAAA,MACtB,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAAA,EACD,wBAAwB;AACtB,UAAMgB,IAAkB,KAAK,SAAS,OAAO,CAACL,MAAMA,EAAE,MAAM,QAAQ;AACpE,WAAOhB,EAAc;AAAA,MACnB,MAAM,QAAQ;AAAA,QACZqB,EAAgB,IAAI,CAACX,MAAaA,EAAS,WAAW,MAAMY,CAAI,CAAC;AAAA,MAClE;AAAA,IACP;AAAA,EACG;AACH,GA3EEd,IAAA,eACAC,IAAA,eARkBzB;AAmFpB,SAAS8B,EAASJ,GAAU;;AAC1B,WAAO1B,IAAA0B,EAAS,QAAQ,UAAjB,gBAAA1B,EAAwB,OAAM,OAAO0B,EAAS,UAAU;AACjE;ACxFA,SAASa,GAAsBC,GAAO;AACpC,SAAO;AAAA,IACL,SAAS,CAACC,GAAS7B,MAAU;AAC3B,YAAM8B,IAAU,YAAY;;AAC1B,cAAMnC,IAAUkC,EAAQ,SAClBE,KAAYC,KAAAC,KAAA7C,IAAAyC,EAAQ,iBAAR,gBAAAzC,EAAsB,SAAtB,gBAAA6C,EAA4B,cAA5B,gBAAAD,EAAuC,WACnDE,MAAWC,IAAAN,EAAQ,MAAM,SAAd,gBAAAM,EAAoB,UAAS,CAAA,GACxCC,MAAgBC,IAAAR,EAAQ,MAAM,SAAd,gBAAAQ,EAAoB,eAAc,CAAA,GAClDC,IAAQ,EAAE,OAAO,CAAE,GAAE,YAAY,CAAE,EAAA;AACzC,YAAIC,IAAY;AAChB,cAAMC,KAAoB,CAACC,MAAW;AACpC,iBAAO,eAAeA,GAAQ,UAAU;AAAA,YACtC,YAAY;AAAA,YACZ,KAAK,OACCZ,EAAQ,OAAO,UACjBU,IAAY,KAEZV,EAAQ,OAAO,iBAAiB,SAAS,MAAM;AAC7C,cAAAU,IAAY;AAAA,YAC9B,CAAiB,GAEIV,EAAQ;AAAA,UAE7B,CAAW;AAAA,QACX,GACca,KAAUC,GAAcd,EAAQ,SAASA,EAAQ,YAAY,GAC7De,IAAY,OAAOC,GAAMC,GAAOC,MAAa;AACjD,cAAIR;AACF,mBAAO,QAAQ;AAEjB,cAAIO,KAAS,QAAQD,EAAK,MAAM;AAC9B,mBAAO,QAAQ,QAAQA,CAAI;AAE7B,gBAAMG,IAAiB;AAAA,YACrB,UAAUnB,EAAQ;AAAA,YAClB,WAAWiB;AAAA,YACX,WAAWC,IAAW,aAAa;AAAA,YACnC,MAAMlB,EAAQ,QAAQ;AAAA,UAClC;AACU,UAAAW,GAAkBQ,CAAc;AAChC,gBAAMC,KAAO,MAAMP;AAAA,YACjBM;AAAA,UACZ,GACgB,EAAE,UAAAE,EAAQ,IAAKrB,EAAQ,SACvBsB,IAAQJ,IAAWK,KAAaC;AACtC,iBAAO;AAAA,YACL,OAAOF,EAAMN,EAAK,OAAOI,IAAMC,CAAQ;AAAA,YACvC,YAAYC,EAAMN,EAAK,YAAYC,GAAOI,CAAQ;AAAA,UAC9D;AAAA,QACA;AACQ,YAAII;AACJ,YAAIvB,KAAaG,EAAS,QAAQ;AAChC,gBAAMa,IAAWhB,MAAc,YACzBwB,IAAcR,IAAWS,KAAuBC,IAChDC,IAAU;AAAA,YACd,OAAOxB;AAAA,YACP,YAAYE;AAAA,UACxB,GACgBU,IAAQS,EAAY5D,GAAS+D,CAAO;AAC1C,UAAAJ,IAAS,MAAMV,EAAUc,GAASZ,GAAOC,CAAQ;AAAA,QAC3D,OAAe;AACL,UAAAO,IAAS,MAAMV;AAAA,YACbN;AAAA,YACAF,EAAc,CAAC,KAAKzC,EAAQ;AAAA,UACxC;AACU,gBAAMgE,IAAiB/B,KAASM,EAAS;AACzC,mBAAS0B,IAAI,GAAGA,IAAID,GAAgBC,KAAK;AACvC,kBAAMd,IAAQW,GAAiB9D,GAAS2D,CAAM;AAC9C,YAAAA,IAAS,MAAMV,EAAUU,GAAQR,CAAK;AAAA,UACvC;AAAA,QACF;AACD,eAAOQ;AAAA,MACf;AACM,MAAIzB,EAAQ,QAAQ,YAClBA,EAAQ,UAAU,MAAM;;AACtB,gBAAOI,KAAA7C,IAAAyC,EAAQ,SAAQ,cAAhB,gBAAAI,EAAA;AAAA,UAAA7C;AAAA,UACL0C;AAAA,UACA;AAAA,YACE,UAAUD,EAAQ;AAAA,YAClB,MAAMA,EAAQ,QAAQ;AAAA,YACtB,QAAQA,EAAQ;AAAA,UACjB;AAAA,UACD7B;AAAA;AAAA,MAEZ,IAEQ6B,EAAQ,UAAUC;AAAA,IAErB;AAAA,EACL;AACA;AACA,SAAS2B,GAAiB9D,GAAS,EAAE,OAAAiC,GAAO,YAAAiC,EAAU,GAAI;AACxD,QAAMC,IAAYlC,EAAM,SAAS;AACjC,SAAOjC,EAAQ;AAAA,IACbiC,EAAMkC,CAAS;AAAA,IACflC;AAAA,IACAiC,EAAWC,CAAS;AAAA,IACpBD;AAAA,EACJ;AACA;AACA,SAASL,GAAqB7D,GAAS,EAAE,OAAAiC,GAAO,YAAAiC,EAAU,GAAI;;AAC5D,UAAOzE,IAAAO,EAAQ,yBAAR,gBAAAP,EAAA;AAAA,IAAAO;AAAA,IACLiC,EAAM,CAAC;AAAA,IACPA;AAAA,IACAiC,EAAW,CAAC;AAAA,IACZA;AAAA;AAEJ;gCC7FIE,MAAc3E,KAAA,MAAM;AAAA,EAStB,YAAYE,IAAS,IAAI;AARzB,IAAAC,EAAA,MAAAyE;AACA,IAAAzE,EAAA,MAAA0E;AACA,IAAA1E,EAAA,MAAA2E;AACA,IAAA3E,EAAA,MAAA4E;AACA,IAAA5E,EAAA,MAAA6E;AACA,IAAA7E,EAAA,MAAA8E;AACA,IAAA9E,EAAA,MAAA+E;AACA,IAAA/E,EAAA,MAAAgF;AAEE,IAAA9E,EAAA,MAAKuE,GAAc1E,EAAO,cAAc,IAAIH,GAAU,IACtDM,EAAA,MAAKwE,GAAiB3E,EAAO,iBAAiB,IAAIqB,GAAa,IAC/DlB,EAAA,MAAKyE,GAAkB5E,EAAO,kBAAkB,CAAA,IAChDG,EAAA,MAAK0E,GAAiC,oBAAI,QAC1C1E,EAAA,MAAK2E,GAAoC,oBAAI,QAC7C3E,EAAA,MAAK4E,GAAc;AAAA,EACpB;AAAA,EACD,QAAQ;AAEN,IADArD,EAAA,MAAKqD,GAAL,KACInE,EAAA,MAAKmE,OAAgB,MAEzB5E,EAAA,MAAK6E,GAAoBE,GAAa,UAAU,OAAOC,MAAY;AACjE,MAAIA,MACF,MAAM,KAAK,yBACXvE,EAAA,MAAK8D,GAAY;IAEzB,CAAK,IACDvE,EAAA,MAAK8E,GAAqBG,EAAc,UAAU,OAAOC,MAAW;AAClE,MAAIA,MACF,MAAM,KAAK,yBACXzE,EAAA,MAAK8D,GAAY;IAEzB,CAAK;AAAA,EACF;AAAA,EACD,UAAU;;AAER,IADAhD,EAAA,MAAKqD,GAAL,KACInE,EAAA,MAAKmE,OAAgB,OAEzBjF,IAAAc,EAAA,MAAKoE,OAAL,QAAAlF,EAAA,YACAK,EAAA,MAAK6E,GAAoB,UACzBrC,IAAA/B,EAAA,MAAKqE,OAAL,QAAAtC,EAAA,YACAxC,EAAA,MAAK8E,GAAqB;AAAA,EAC3B;AAAA,EACD,WAAWlE,GAAS;AAClB,WAAOH,EAAA,MAAK8D,GAAY,QAAQ,EAAE,GAAG3D,GAAS,aAAa,YAAY,EAAE;AAAA,EAC1E;AAAA,EACD,WAAWA,GAAS;AAClB,WAAOH,EAAA,MAAK+D,GAAe,QAAQ,EAAE,GAAG5D,GAAS,QAAQ,WAAW,EAAE;AAAA,EACvE;AAAA,EACD,aAAaR,GAAU;;AACrB,UAAMF,IAAU,KAAK,oBAAoB,EAAE,UAAAE,EAAU,CAAA;AACrD,YAAOT,IAAAc,EAAA,MAAK8D,GAAY,IAAIrE,EAAQ,SAAS,MAAtC,gBAAAP,EAAyC,MAAM;AAAA,EACvD;AAAA,EACD,gBAAgBO,GAAS;AACvB,UAAMiF,IAAa,KAAK,aAAajF,EAAQ,QAAQ;AACrD,QAAIiF,MAAe;AACjB,aAAO,KAAK,WAAWjF,CAAO;AAC3B;AACH,YAAMkF,IAAmB,KAAK,oBAAoBlF,CAAO,GACnDK,IAAQE,EAAA,MAAK8D,GAAY,MAAM,MAAMa,CAAgB;AAC3D,aAAIlF,EAAQ,qBAAqBK,EAAM,cAAc8E,EAAiBD,EAAiB,WAAW7E,CAAK,CAAC,KACjG,KAAK,cAAc6E,CAAgB,GAEnC,QAAQ,QAAQD,CAAU;AAAA,IAClC;AAAA,EACF;AAAA,EACD,eAAevE,GAAS;AACtB,WAAOH,EAAA,MAAK8D,GAAY,QAAQ3D,CAAO,EAAE,IAAI,CAAC,EAAE,UAAAR,GAAU,OAAAD,QAAY;AACpE,YAAMiD,IAAOjD,EAAM;AACnB,aAAO,CAACC,GAAUgD,CAAI;AAAA,IAC5B,CAAK;AAAA,EACF;AAAA,EACD,aAAahD,GAAUkF,GAASpF,GAAS;AACvC,UAAMkF,IAAmB,KAAK,oBAAoB,EAAE,UAAAhF,EAAU,CAAA,GACxDG,IAAQE,EAAA,MAAK8D,GAAY;AAAA,MAC7Ba,EAAiB;AAAA,IACvB,GACUG,IAAWhF,KAAA,gBAAAA,EAAO,MAAM,MACxB6C,IAAOoC,GAAiBF,GAASC,CAAQ;AAC/C,QAAInC,MAAS;AAGb,aAAO3C,EAAA,MAAK8D,GAAY,MAAM,MAAMa,CAAgB,EAAE,QAAQhC,GAAM,EAAE,GAAGlD,GAAS,QAAQ,GAAM,CAAA;AAAA,EACjG;AAAA,EACD,eAAeU,GAAS0E,GAASpF,GAAS;AACxC,WAAOS,EAAc;AAAA,MACnB,MAAMF,EAAA,MAAK8D,GAAY,QAAQ3D,CAAO,EAAE,IAAI,CAAC,EAAE,UAAAR,QAAe;AAAA,QAC5DA;AAAA,QACA,KAAK,aAAaA,GAAUkF,GAASpF,CAAO;AAAA,MACpD,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EACD,cAAcE,GAAU;;AACtB,UAAMF,IAAU,KAAK,oBAAoB,EAAE,UAAAE,EAAU,CAAA;AACrD,YAAOT,IAAAc,EAAA,MAAK8D,GAAY,IAAIrE,EAAQ,SAAS,MAAtC,gBAAAP,EAAyC;AAAA,EACjD;AAAA,EACD,cAAciB,GAAS;AACrB,UAAM6E,IAAahF,EAAA,MAAK8D;AACxB,IAAA5D,EAAc,MAAM,MAAM;AACxB,MAAA8E,EAAW,QAAQ7E,CAAO,EAAE,QAAQ,CAACL,MAAU;AAC7C,QAAAkF,EAAW,OAAOlF,CAAK;AAAA,MAC/B,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAAA,EACD,aAAaK,GAASV,GAAS;AAC7B,UAAMuF,IAAahF,EAAA,MAAK8D,IAClBmB,IAAiB;AAAA,MACrB,MAAM;AAAA,MACN,GAAG9E;AAAA,IACT;AACI,WAAOD,EAAc,MAAM,OACzB8E,EAAW,QAAQ7E,CAAO,EAAE,QAAQ,CAACL,MAAU;AAC7C,MAAAA,EAAM,MAAK;AAAA,IACnB,CAAO,GACM,KAAK,eAAemF,GAAgBxF,CAAO,EACnD;AAAA,EACF;AAAA,EACD,cAAcU,IAAU,IAAI+E,IAAgB,CAAA,GAAI;AAC9C,UAAMC,IAAyB,EAAE,QAAQ,IAAM,GAAGD,EAAa,GACzDE,IAAWlF,EAAc;AAAA,MAC7B,MAAMF,EAAA,MAAK8D,GAAY,QAAQ3D,CAAO,EAAE,IAAI,CAACL,MAAUA,EAAM,OAAOqF,CAAsB,CAAC;AAAA,IACjG;AACI,WAAO,QAAQ,IAAIC,CAAQ,EAAE,KAAK5D,CAAI,EAAE,MAAMA,CAAI;AAAA,EACnD;AAAA,EACD,kBAAkBrB,IAAU,IAAIV,IAAU,CAAA,GAAI;AAC5C,WAAOS,EAAc,MAAM,MAAM;AAI/B,UAHAF,EAAA,MAAK8D,GAAY,QAAQ3D,CAAO,EAAE,QAAQ,CAACL,MAAU;AACnD,QAAAA,EAAM,WAAU;AAAA,MACxB,CAAO,GACGK,EAAQ,gBAAgB;AAC1B,eAAO,QAAQ;AAEjB,YAAM8E,IAAiB;AAAA,QACrB,GAAG9E;AAAA,QACH,MAAMA,EAAQ,eAAeA,EAAQ,QAAQ;AAAA,MACrD;AACM,aAAO,KAAK,eAAe8E,GAAgBxF,CAAO;AAAA,IACxD,CAAK;AAAA,EACF;AAAA,EACD,eAAeU,IAAU,CAAE,GAAEV,GAAS;AACpC,UAAM4F,IAAe;AAAA,MACnB,GAAG5F;AAAA,MACH,gBAAeA,KAAA,gBAAAA,EAAS,kBAAiB;AAAA,IAC/C,GACU2F,IAAWlF,EAAc;AAAA,MAC7B,MAAMF,EAAA,MAAK8D,GAAY,QAAQ3D,CAAO,EAAE,OAAO,CAACL,MAAU,CAACA,EAAM,WAAU,CAAE,EAAE,IAAI,CAACA,MAAU;AAC5F,YAAIwF,IAAUxF,EAAM,MAAM,QAAQuF,CAAY;AAC9C,eAAKA,EAAa,iBAChBC,IAAUA,EAAQ,MAAM9D,CAAI,IAEvB1B,EAAM,MAAM,gBAAgB,WAAW,QAAQ,QAAS,IAAGwF;AAAA,MAC1E,CAAO;AAAA,IACP;AACI,WAAO,QAAQ,IAAIF,CAAQ,EAAE,KAAK5D,CAAI;AAAA,EACvC;AAAA,EACD,WAAW/B,GAAS;AAClB,UAAMkF,IAAmB,KAAK,oBAAoBlF,CAAO;AACzD,IAAIkF,EAAiB,UAAU,WAC7BA,EAAiB,QAAQ;AAE3B,UAAM7E,IAAQE,EAAA,MAAK8D,GAAY,MAAM,MAAMa,CAAgB;AAC3D,WAAO7E,EAAM;AAAA,MACX8E,EAAiBD,EAAiB,WAAW7E,CAAK;AAAA,IACxD,IAAQA,EAAM,MAAM6E,CAAgB,IAAI,QAAQ,QAAQ7E,EAAM,MAAM,IAAI;AAAA,EACrE;AAAA,EACD,cAAcL,GAAS;AACrB,WAAO,KAAK,WAAWA,CAAO,EAAE,KAAK+B,CAAI,EAAE,MAAMA,CAAI;AAAA,EACtD;AAAA,EACD,mBAAmB/B,GAAS;AAC1B,WAAAA,EAAQ,WAAWgC,GAAsBhC,EAAQ,KAAK,GAC/C,KAAK,WAAWA,CAAO;AAAA,EAC/B;AAAA,EACD,sBAAsBA,GAAS;AAC7B,WAAO,KAAK,mBAAmBA,CAAO,EAAE,KAAK+B,CAAI,EAAE,MAAMA,CAAI;AAAA,EAC9D;AAAA,EACD,wBAAwB;AACtB,WAAIgD,EAAc,aACTxE,EAAA,MAAK+D,GAAe,0BAEtB,QAAQ;EAChB;AAAA,EACD,gBAAgB;AACd,WAAO/D,EAAA,MAAK8D;AAAA,EACb;AAAA,EACD,mBAAmB;AACjB,WAAO9D,EAAA,MAAK+D;AAAA,EACb;AAAA,EACD,oBAAoB;AAClB,WAAO/D,EAAA,MAAKgE;AAAA,EACb;AAAA,EACD,kBAAkBvE,GAAS;AACzB,IAAAF,EAAA,MAAKyE,GAAkBvE;AAAA,EACxB;AAAA,EACD,iBAAiBE,GAAUF,GAAS;AAClC,IAAAO,EAAA,MAAKiE,GAAe,IAAIsB,EAAQ5F,CAAQ,GAAG;AAAA,MACzC,UAAAA;AAAA,MACA,gBAAgBF;AAAA,IACtB,CAAK;AAAA,EACF;AAAA,EACD,iBAAiBE,GAAU;AACzB,UAAM6F,IAAW,CAAC,GAAGxF,EAAA,MAAKiE,GAAe,OAAQ,CAAA;AACjD,QAAIb,IAAS,CAAA;AACb,WAAAoC,EAAS,QAAQ,CAACC,MAAiB;AACjC,MAAIC,EAAgB/F,GAAU8F,EAAa,QAAQ,MACjDrC,IAAS,EAAE,GAAGA,GAAQ,GAAGqC,EAAa,eAAc;AAAA,IAE5D,CAAK,GACMrC;AAAA,EACR;AAAA,EACD,oBAAoBuC,GAAalG,GAAS;AACxC,IAAAO,EAAA,MAAKkE,GAAkB,IAAIqB,EAAQI,CAAW,GAAG;AAAA,MAC/C,aAAAA;AAAA,MACA,gBAAgBlG;AAAA,IACtB,CAAK;AAAA,EACF;AAAA,EACD,oBAAoBkG,GAAa;AAC/B,UAAMH,IAAW,CAAC,GAAGxF,EAAA,MAAKkE,GAAkB,OAAQ,CAAA;AACpD,QAAId,IAAS,CAAA;AACb,WAAAoC,EAAS,QAAQ,CAACC,MAAiB;AACjC,MAAIC,EAAgBC,GAAaF,EAAa,WAAW,MACvDrC,IAAS,EAAE,GAAGA,GAAQ,GAAGqC,EAAa,eAAc;AAAA,IAE5D,CAAK,GACMrC;AAAA,EACR;AAAA,EACD,oBAAoB3D,GAAS;AAC3B,QAAIA,EAAQ;AACV,aAAOA;AAET,UAAMkF,IAAmB;AAAA,MACvB,GAAG3E,EAAA,MAAKgE,GAAgB;AAAA,MACxB,GAAG,KAAK,iBAAiBvE,EAAQ,QAAQ;AAAA,MACzC,GAAGA;AAAA,MACH,YAAY;AAAA,IAClB;AACI,WAAKkF,EAAiB,cACpBA,EAAiB,YAAY9E;AAAA,MAC3B8E,EAAiB;AAAA,MACjBA;AAAA,IACR,IAEQA,EAAiB,uBAAuB,WAC1CA,EAAiB,qBAAqBA,EAAiB,gBAAgB,WAErEA,EAAiB,iBAAiB,WACpCA,EAAiB,eAAe,CAAC,CAACA,EAAiB,WAEjD,CAACA,EAAiB,eAAeA,EAAiB,cACpDA,EAAiB,cAAc,iBAE7BA,EAAiB,YAAY,MAAQA,EAAiB,YAAYiB,OACpEjB,EAAiB,UAAU,KAEtBA;AAAA,EACR;AAAA,EACD,uBAAuBlF,GAAS;AAC9B,WAAIA,KAAA,QAAAA,EAAS,aACJA,IAEF;AAAA,MACL,GAAGO,EAAA,MAAKgE,GAAgB;AAAA,MACxB,IAAGvE,KAAA,gBAAAA,EAAS,gBAAe,KAAK,oBAAoBA,EAAQ,WAAW;AAAA,MACvE,GAAGA;AAAA,MACH,YAAY;AAAA,IAClB;AAAA,EACG;AAAA,EACD,QAAQ;AACN,IAAAO,EAAA,MAAK8D,GAAY,SACjB9D,EAAA,MAAK+D,GAAe;EACrB;AACH,GA7QED,IAAA,eACAC,IAAA,eACAC,IAAA,eACAC,IAAA,eACAC,IAAA,eACAC,IAAA,eACAC,IAAA,eACAC,IAAA,eARgBnF;ACblB,MAAM2G,KAAuBC,GAAc,IAAI,GAEzCC,IAAe;AAAA,EACnB,UAAU;AAAA,EACV,OAAO;AACT;AACA,MAAMC,WAAsBC,GAAU;AAAA,EACpC,YAAYC,GAAO;AACjB,UAAMA,CAAK,GACX,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI,GAC3D,KAAK,QAAQH;AAAA,EACd;AAAA,EACD,OAAO,yBAAyBI,GAAO;AACrC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAAA;AAAA,IACN;AAAA,EACG;AAAA,EACD,qBAAqB;AACnB,UAAM;AAAA,MACJ,OAAAA;AAAA,IACN,IAAQ,KAAK;AACT,QAAIA,MAAU,MAAM;AAElB,eADIC,GAAqBC,GAChBC,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,QAAAD,EAAKC,CAAI,IAAI,UAAUA,CAAI;AAE7B,OAACJ,KAAuBC,IAAc,KAAK,OAAO,aAAa,QAAQD,MAAwB,UAAkBA,EAAoB,KAAKC,GAAa;AAAA,QACrJ,MAAAE;AAAA,QACA,QAAQ;AAAA,MAChB,CAAO,GACD,KAAK,SAASR,CAAY;AAAA,IAC3B;AAAA,EACF;AAAA,EACD,kBAAkBI,GAAOM,GAAM;AAC7B,QAAIC,GAAqBC;AACzB,KAACD,KAAuBC,IAAe,KAAK,OAAO,aAAa,QAAQD,MAAwB,UAAkBA,EAAoB,KAAKC,GAAcR,GAAOM,CAAI;AAAA,EACrK;AAAA,EACD,mBAAmBG,GAAWC,GAAW;AACvC,UAAM;AAAA,MACJ,UAAAC;AAAA,IACN,IAAQ,KAAK,OACH;AAAA,MACJ,WAAAC;AAAA,IACN,IAAQ,KAAK;AAOT,QAAID,KAAYD,EAAU,UAAU,QAAQG,GAAgBJ,EAAU,WAAWG,CAAS,GAAG;AAC3F,UAAIE,GAAsBC;AAC1B,OAACD,KAAwBC,IAAe,KAAK,OAAO,aAAa,QAAQD,MAAyB,UAAkBA,EAAqB,KAAKC,GAAc;AAAA,QAC1J,MAAMH;AAAA,QACN,MAAMH,EAAU;AAAA,QAChB,QAAQ;AAAA,MAChB,CAAO,GACD,KAAK,SAASb,CAAY;AAAA,IAC3B;AAAA,EACF;AAAA,EACD,SAAS;AACP,UAAM;AAAA,MACJ,UAAAoB;AAAA,MACA,gBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,UAAAC;AAAA,IACN,IAAQ,KAAK,OACH;AAAA,MACJ,UAAAR;AAAA,MACA,OAAAX;AAAA,IACN,IAAQ,KAAK;AACT,QAAIoB,IAAgBJ;AACpB,QAAIL,GAAU;AACZ,YAAMZ,IAAQ;AAAA,QACZ,OAAAC;AAAA,QACA,oBAAoB,KAAK;AAAA,MACjC;AACM,UAAI,OAAOiB,KAAmB;AAC5B,QAAAG,IAAgBH,EAAelB,CAAK;AAAA,eAC3BmB;AACT,QAAAE,IAAgBC,EAAcH,GAAmBnB,CAAK;AAAA,eAC7CoB,MAAa,QAAQG,GAAeH,CAAQ;AACrD,QAAAC,IAAgBD;AAAA;AAEhB,cAAMnB;AAAA,IAET;AACD,WAAOqB,EAAc3B,GAAqB,UAAU;AAAA,MAClD,OAAO;AAAA,QACL,UAAAiB;AAAA,QACA,OAAAX;AAAA,QACA,oBAAoB,KAAK;AAAA,MAC1B;AAAA,IACF,GAAEoB,CAAa;AAAA,EACjB;AACH;AACA,SAASP,KAAkB;AACzB,MAAIU,IAAI,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GACxEC,IAAI,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAC5E,SAAOD,EAAE,WAAWC,EAAE,UAAUD,EAAE,KAAK,CAACE,GAAMC,MAAU,CAAC,OAAO,GAAGD,GAAMD,EAAEE,CAAK,CAAC,CAAC;AACpF;ACzEO,MAAMC,KAAqB,CAChCC,MAEA,eAAeA,KAAO,OAAOA,EAAI,aAAc,YAEpCC,KAAsB,CACjCD,MAEA,gBAAgBA,KAAO,OAAOA,EAAI,cAAe,YAEtCE,KAAU,CAACF,MACtB,aAAaA,KAAO,OAAOA,EAAI,WAAY,YAEhCG,KAAsB,CACjCH,MAEA,mBAAmBA,KAAO,OAAOA,EAAI,iBAAkB,YCa5CI,KAAc,IAAItE,MAElBuE,KAAkBC,GAAqB,OAAO,CAAG,EAAA;AAgCvD,MAAMC,GAAiB;AAAA,EAU5B,YAAYlJ,GAA8B;AATlC,IAAAmJ,EAAA,iBAA6B,CAAA;AAC7B,IAAAA,EAAA;AAED,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAYP,IAAAA,EAAA,oBAAa,YAAY;AACvB,YAAM,QAAQ,IAAI;AAAA,QAChB,KAAK,QACF,OAAOP,EAAmB,EAC1B,IAAI,CAACQ;;AAAW,kBAAAtJ,IAAAsJ,EAAO,eAAP,gBAAAtJ,EAAA,KAAAsJ,GAAoB;AAAA,SAAK;AAAA,MAAA,CAC7C;AAAA,IAAA;AAGH,IAAAD,EAAA,yBAAkB,OAAOE,MAA6B;AACpD,YAAMN,GAAY,kBAAkB,EAAE,UAAUM,EAAK,CAAA;AAAA,IAAA;AAGvD,IAAAF,EAAA,0BAAmB,aACJ,MAAM,QAAQ;AAAA,MACzB,KAAK,QACF,OAAOL,EAAmB,EAC1B,IAAI,CAACM,MAAWA,EAAO,cAAc,IAAI,CAAC;AAAA,IAAA,GAGnC;AAGd,IAAAD,EAAA,uBAAgB,OAAOG,OACD,MAAM,QAAQ;AAAA,MAChC,KAAK,kBAAkB;AAAA,QAAI,OAAOF,MAChC;;AAAA,kBAAAtJ,IAAAsJ,EAAO,kBAAP,gBAAAtJ,EAAA,KAAAsJ,GAAuBE;AAAA;AAAA,MACzB;AAAA,IAAA,GAGiB,QAAQ,CAACC,MAAQA,KAAO,CAAE,CAAA;AAtCxC,SAAA,UAAUvJ,EAAO,WAAW,CAAA,GACjC,KAAK,aAAaA,EAAO,YACzB,KAAK,oBAAoB,KAAK,QAAQ,OAAO0I,EAAkB,GAC/D,KAAK,iBAAiB1I,EAAO,gBAC7B,KAAK,OAAOA,EAAO,UACnB,KAAK,OAAOA,EAAO,MACnB,KAAK,QAAQgJ;AAAA,EACf;AAAA,EAkCA,MAAM,YAAYQ,GAAkB;AAC9B,QAAA,CAAC,KAAK;AACF,YAAA,IAAI,MAAM,uCAAuC;AAGzD,UAAMC,IAAc,MAAM,KAAK,eAAe,eAAe;AAE7D,WAAAD,EAAQ,QAAQ,IAAI,iBAAiB,UAAUC,CAAW,EAAE,GAErDD;AAAA,EACT;AACF;AC1JO,SAASE,GAAc,EAAE,OAAA3C,GAAO,oBAAA4C,KAAqC;AAGnE,SAAAC,gBAAAA,MAACC,MAAW,OAAA9C,EAAc,CAAA;AACnC;ACFO,MAAM+C,KAAgB,MAAM;AAC3B,QAAA,EAAE,YAAAC,MAAeC;AAGnB,SAAAD,EAAW,UAAU,IAChB,OAINH,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,6DACb,UAACA,gBAAAA,EAAAA,IAAA,MAAA,EAAG,WAAU,oCACX,UAAWG,EAAA,IAAI,CAACvB,4BACd,MACC,EAAA,UAAAoB,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,WAAW,CAAC,EAAE,UAAAC,EAAA,MACZC;AAAA,QACE;AAAA,QACAD,IACI,mCACA;AAAA,MACN;AAAA,MAEF,IAAI1B,EAAK;AAAA,MAER,UAAKA,EAAA;AAAA,IAAA;AAAA,EAZD,EAAA,GAAAA,EAAK,KAcd,CACD,EACH,CAAA,EACF,CAAA;AAEJ,GC5Ba4B,KAASC,GAAK,WAAuB;AAChD,QAAM,CAACC,GAAQC,CAAW,IAAIC,GAAS,GACjC,EAAE,iBAAAC,GAAiB,SAAAC,GAAS,eAAAC,GAAe,OAAAC,GAAO,QAAAC,EAAA,IAAWC,MAC7D,EAAE,MAAAnH,MAASqG,MAEXe,IAAYT,IAASU,KAAeC;AAE1C,+BACG,UAAO,EAAA,WAAU,0DAChB,UAACC,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAU,4BACb,UAAA;AAAA,IAACA,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,gIACb,UAAA;AAAA,MAACA,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,6BACZ,UAAA;AAAA,SAAMvH,KAAA,gBAAAA,EAAA,SACJiG,gBAAAA,EAAAA,IAAA,OAAA,EAAI,KAAKjG,EAAK,MAAM,KAAKA,EAAK,WAAW,WAAU,OAAO,CAAA;AAAA,QAE5DiG,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,uDACb,iCAAM,WACT;AAAA,MAAA,GACF;AAAA,MACAsB,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,2DACb,UAAA;AAAA,QAACtB,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,qBAUf,CAAA;AAAA,QAEAsB,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,wDACZ,UAAA;AAAA,UAAAP,yCAEI,UACCF,IAAAS,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAASL;AAAA,cACV,UAAA;AAAA,gBAAA;AAAA,gBACSH,KAAA,QAAAA,EAAS,QAAQ,IAAIA,EAAQ,KAAK,MAAM;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,IAGlDd,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAASgB;AAAA,cACV,UAAA;AAAA,YAAA;AAAA,UAAA,GAIL;AAAA,UAEFhB,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAASW;AAAA,cAET,UAAAX,gBAAAA,EAAAA,IAACmB,GAAU,EAAA,MAAM,GAAI,CAAA;AAAA,YAAA;AAAA,UACvB;AAAA,QAAA,GACF;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,0BACCjB,IAAc,EAAA;AAAA,EAAA,EACjB,CAAA,EACF,CAAA;AAEJ,CAAC,GCjEYqB,KAAqB;AAAA,EAChC,QAAAf;AACF,GAMMgB,KACJ1E,GAA+CyE,EAAkB,GAEtDE,KAAqBD,GAAkB,UCgB9CE,KAAiB,CAAC;AAAA,EACtB,UAAAvD;AAAA,EACA,GAAGjB;AACL,MAA+C;;AAC7C,QAAMyE,IAAaC;AAAA,IACjB,OAAO,EAAE,GAAGL,IAAoB,GAAGrE,EAAM,UAAU;AAAA,IACnD,CAACA,EAAM,SAAS;AAAA,EAAA,GAGZ2E,IAAgBD;AAAA,IACpB,OAAO,EAAE,GAAGE,IAAe,GAAG5E,EAAM,cAAc;AAAA,IAClD,CAACA,EAAM,aAAa;AAAA,EAAA,GAGhB6E,IAAmBH,EAAQ,MAAM,IAAItC,GAAiBpC,CAAK,GAAG,CAACA,CAAK,CAAC;AAE3E,EAAA8E,GAAU,MAAM;AACd,IAAKD,EAAiB;EAAW,GAChC,CAACA,CAAgB,CAAC;AAErB,QAAME,KAAQ/L,IAAAgH,EAAM,YAAN,gBAAAhH,EACV,OAAO+I,IAER,IAAI,CAACO,GAAQ9E,MAAA;;iCAAOwH,IAAkB,EAAA,WAAAhM,IAAAsJ,EAAO,YAAP,gBAAAtJ,EAAA,KAAAsJ,GAAiB,GAArB9E,CAAuB;AAAA;AAG1D,SAAA4G,gBAAAA,EAAA,KAACa,IAAoB,EAAA,QAAQhD,IAC3B,UAAA;AAAA,IAAAa,gBAAAA,EAAAA,IAACoC,MAAQ,UAAMH,EAAA,CAAA;AAAA,IACfjC,gBAAAA,EAAAA,IAACqC,MAAkB,OAAON,GACxB,gCAACO,IAAY,EAAA,YAAYT,GACvB,UAAC7B,gBAAAA,EAAAA,IAAAuC,IAAA,EACC,gCAACd,IAAmB,EAAA,OAAOE,GACzB,UAAC3B,gBAAAA,EAAA,IAAAwC,IAAA,EAAwB,UAAArE,GAAS,EACpC,CAAA,EAAA,CACF,GACF,EACF,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ,GAEMsE,KAAQhC,GAAKiB,EAAc,GAE3BgB,KAAY,CAACxF,MAEf8C,gBAAAA,MAAChD,MAAc,mBAAmB8C,IAChC,gCAAC2C,IAAO,EAAA,GAAGvF,EAAO,CAAA,EACpB,CAAA;AAGJwF,GAAU,cAAc;AChFjB,MAAMC,KAAiCC,IACjCC,KAAwBC,IACxBJ,KAA0BK,IAC1BC,KAAqBC;","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
@@ -59,11 +59,11 @@ caused by: ${c.fullStack(n)}` : t.stack;
|
|
|
59
59
|
return this.message && (t = `${t}: ${this.message}`), t;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
const f = "0123456789ABCDEFGHJKMNPQRSTVWXYZ", u = 32, p = 281474976710655, h = 10,
|
|
62
|
+
const f = "0123456789ABCDEFGHJKMNPQRSTVWXYZ", u = 32, p = 281474976710655, h = 10, j = 16, a = Object.freeze({
|
|
63
63
|
source: "ulid"
|
|
64
64
|
});
|
|
65
|
-
function
|
|
66
|
-
const t =
|
|
65
|
+
function C(e) {
|
|
66
|
+
const t = O(), n = t && (t.crypto || t.msCrypto) || null;
|
|
67
67
|
if (typeof (n == null ? void 0 : n.getRandomValues) == "function")
|
|
68
68
|
return () => {
|
|
69
69
|
const r = new Uint8Array(1);
|
|
@@ -78,13 +78,13 @@ function O(e) {
|
|
|
78
78
|
}
|
|
79
79
|
}, "Failed to find a reliable PRNG");
|
|
80
80
|
}
|
|
81
|
-
function
|
|
82
|
-
return
|
|
81
|
+
function O() {
|
|
82
|
+
return k() ? self : typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : null;
|
|
83
83
|
}
|
|
84
|
-
function
|
|
84
|
+
function R(e, t) {
|
|
85
85
|
let n = "";
|
|
86
86
|
for (; e > 0; e--)
|
|
87
|
-
n =
|
|
87
|
+
n = P(t) + n;
|
|
88
88
|
return n;
|
|
89
89
|
}
|
|
90
90
|
function E(e, t) {
|
|
@@ -147,11 +147,11 @@ function M(e) {
|
|
|
147
147
|
}
|
|
148
148
|
}, "Failed incrementing string");
|
|
149
149
|
}
|
|
150
|
-
function
|
|
150
|
+
function k() {
|
|
151
151
|
return typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope;
|
|
152
152
|
}
|
|
153
|
-
function
|
|
154
|
-
const t =
|
|
153
|
+
function x(e) {
|
|
154
|
+
const t = C();
|
|
155
155
|
let n = 0, r;
|
|
156
156
|
return function(s) {
|
|
157
157
|
const i = isNaN(s) ? Date.now() : s;
|
|
@@ -160,18 +160,18 @@ function k(e) {
|
|
|
160
160
|
return E(n, h) + b;
|
|
161
161
|
}
|
|
162
162
|
n = i;
|
|
163
|
-
const l = r = j
|
|
163
|
+
const l = r = R(j, t);
|
|
164
164
|
return E(i, h) + l;
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
|
-
function
|
|
167
|
+
function P(e) {
|
|
168
168
|
let t = Math.floor(e() * u);
|
|
169
169
|
return t === u && (t = u - 1), f.charAt(t);
|
|
170
170
|
}
|
|
171
171
|
function g(e, t, n) {
|
|
172
172
|
return t > e.length - 1 ? e : e.substr(0, t) + n + e.substr(t + 1);
|
|
173
173
|
}
|
|
174
|
-
const
|
|
174
|
+
const S = () => {
|
|
175
175
|
const e = /* @__PURE__ */ new Map();
|
|
176
176
|
return [(r) => new Promise((o) => {
|
|
177
177
|
e.set(r, o);
|
|
@@ -179,10 +179,10 @@ const $ = () => {
|
|
|
179
179
|
const s = e.get(r);
|
|
180
180
|
s && (s(o), e.delete(r));
|
|
181
181
|
}];
|
|
182
|
-
},
|
|
182
|
+
}, $ = x(), F = () => {
|
|
183
183
|
const e = new SharedWorker(new URL(
|
|
184
184
|
/* @vite-ignore */
|
|
185
|
-
"./assets/worker-
|
|
185
|
+
"./assets/worker-BjPv-hjP.js",
|
|
186
186
|
import.meta.url
|
|
187
187
|
), {
|
|
188
188
|
type: "module"
|
|
@@ -190,7 +190,7 @@ const $ = () => {
|
|
|
190
190
|
e.onerror = (r) => {
|
|
191
191
|
console.error(r);
|
|
192
192
|
}, e.port.start();
|
|
193
|
-
const [t, n] =
|
|
193
|
+
const [t, n] = S();
|
|
194
194
|
return e.port.onmessage = (r) => {
|
|
195
195
|
n(r.data.id, r.data.body);
|
|
196
196
|
}, new y({
|
|
@@ -198,7 +198,7 @@ const $ = () => {
|
|
|
198
198
|
// Custom fetch to send the GraphQL request to the worker and convert the response back to a `Response` object
|
|
199
199
|
fetch: async (r, o) => {
|
|
200
200
|
if (!(o != null && o.body)) throw new Error("No body");
|
|
201
|
-
const s =
|
|
201
|
+
const s = $();
|
|
202
202
|
e.port.postMessage({
|
|
203
203
|
id: s,
|
|
204
204
|
body: o.body
|
|
@@ -223,6 +223,6 @@ const $ = () => {
|
|
|
223
223
|
});
|
|
224
224
|
};
|
|
225
225
|
export {
|
|
226
|
-
|
|
226
|
+
F as createClient
|
|
227
227
|
};
|
|
228
228
|
//# sourceMappingURL=zudoku.openapi-worker.js.map
|