zudoku 0.44.1 → 0.45.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +8 -2
- package/dist/app/entry.client.js +34 -21
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/main.js +7 -0
- package/dist/app/main.js.map +1 -1
- package/dist/config/validators/common.d.ts +420 -288
- package/dist/config/validators/common.js +10 -0
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +161 -108
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/components/Footer.js +2 -2
- package/dist/lib/components/Footer.js.map +1 -1
- package/dist/lib/components/Header.js +1 -1
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Markdown.d.ts +3 -1
- package/dist/lib/components/Markdown.js +8 -14
- package/dist/lib/components/Markdown.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
- package/dist/lib/components/context/ZudokuContext.js +2 -3
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/index.d.ts +2 -1
- package/dist/lib/core/ZudokuContext.d.ts +8 -0
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/errors/ErrorAlert.js +1 -1
- package/dist/lib/errors/ErrorAlert.js.map +1 -1
- package/dist/lib/oas/graphql/circular.js +23 -18
- package/dist/lib/oas/graphql/circular.js.map +1 -1
- package/dist/lib/oas/parser/index.d.ts +3 -0
- package/dist/lib/oas/parser/index.js +6 -1
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/plugins/openapi/CollapsibleCode.js +1 -1
- package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.js +3 -1
- package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarExamples.js +1 -1
- package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -3
- package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +4 -1
- package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +11 -12
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/utils.d.ts +5 -1
- package/dist/lib/plugins/openapi/schema/utils.js +9 -5
- package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
- package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js +4 -0
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
- package/dist/lib/shiki.d.ts +35 -0
- package/dist/lib/shiki.js +103 -0
- package/dist/lib/shiki.js.map +1 -0
- package/dist/lib/ui/Callout.js +1 -1
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/CodeBlock.d.ts +16 -0
- package/dist/lib/ui/CodeBlock.js +18 -0
- package/dist/lib/ui/CodeBlock.js.map +1 -0
- package/dist/lib/ui/SyntaxHighlight.d.ts +10 -15
- package/dist/lib/ui/SyntaxHighlight.js +12 -60
- package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
- package/dist/lib/util/MdxComponents.d.ts +9 -3
- package/dist/lib/util/MdxComponents.js +9 -10
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/vite/api/SchemaManager.js +2 -0
- package/dist/vite/api/SchemaManager.js.map +1 -1
- package/dist/vite/config.js +34 -0
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/plugin-mdx.js +4 -11
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-shiki-register.d.ts +3 -0
- package/dist/vite/plugin-shiki-register.js +38 -0
- package/dist/vite/plugin-shiki-register.js.map +1 -0
- package/dist/vite/plugin.js +2 -0
- package/dist/vite/plugin.js.map +1 -1
- package/lib/AuthenticationPlugin-BTJ37DKg.js +90 -0
- package/lib/{AuthenticationPlugin-BlJsiGuX.js.map → AuthenticationPlugin-BTJ37DKg.js.map} +1 -1
- package/lib/{Button-BBNrKpQd.js → Button-Bdk_Ij3U.js} +3 -3
- package/lib/{Button-BBNrKpQd.js.map → Button-Bdk_Ij3U.js.map} +1 -1
- package/lib/{Callout-D3Ja4OPX.js → Callout-XadUe37J.js} +12 -12
- package/lib/{Callout-D3Ja4OPX.js.map → Callout-XadUe37J.js.map} +1 -1
- package/lib/{Card-BtheiD7j.js → Card-BlCYNw5W.js} +2 -2
- package/lib/{Card-BtheiD7j.js.map → Card-BlCYNw5W.js.map} +1 -1
- package/lib/{CategoryHeading-D06WK_Wo.js → CategoryHeading-DZi-Szor.js} +2 -2
- package/lib/{CategoryHeading-D06WK_Wo.js.map → CategoryHeading-DZi-Szor.js.map} +1 -1
- package/lib/{Dialog-ByYz4ABw.js → Dialog-CNf2oWXG.js} +2 -2
- package/lib/{Dialog-ByYz4ABw.js.map → Dialog-CNf2oWXG.js.map} +1 -1
- package/lib/{Drawer-CEwbkLDb.js → Drawer-BPBxzel2.js} +25 -25
- package/lib/{Drawer-CEwbkLDb.js.map → Drawer-BPBxzel2.js.map} +1 -1
- package/lib/Markdown-D96AphCL.js +7691 -0
- package/lib/Markdown-D96AphCL.js.map +1 -0
- package/lib/MdxPage-tTTaDsLc.js +84 -0
- package/lib/{MdxPage-DlJaCSPf.js.map → MdxPage-tTTaDsLc.js.map} +1 -1
- package/lib/{OasProvider-CsUksaAo.js → OasProvider-DalHQixM.js} +4 -4
- package/lib/{OasProvider-CsUksaAo.js.map → OasProvider-DalHQixM.js.map} +1 -1
- package/lib/{OperationList-BlUBNsw2.js → OperationList-BB09ENaq.js} +1896 -1932
- package/lib/{OperationList-BlUBNsw2.js.map → OperationList-BB09ENaq.js.map} +1 -1
- package/lib/{Pagination-C5Fi7z_v.js → Pagination-CtmnJOJi.js} +4 -4
- package/lib/{Pagination-C5Fi7z_v.js.map → Pagination-CtmnJOJi.js.map} +1 -1
- package/lib/RouteGuard-lkdEJoDV.js +732 -0
- package/lib/{RouteGuard-D2gX29iI.js.map → RouteGuard-lkdEJoDV.js.map} +1 -1
- package/lib/{SchemaList-BQiBukIP.js → SchemaList-BH9bgMRw.js} +40 -41
- package/lib/{SchemaList-BQiBukIP.js.map → SchemaList-BH9bgMRw.js.map} +1 -1
- package/lib/{SchemaView-Bt95NiyQ.js → SchemaView-BsB7EFRl.js} +120 -115
- package/lib/SchemaView-BsB7EFRl.js.map +1 -0
- package/lib/Select-HTio1oSE.js +211 -0
- package/lib/{Select-CYaEBIYK.js.map → Select-HTio1oSE.js.map} +1 -1
- package/lib/SlotletProvider-CTgIBRWg.js +257 -0
- package/lib/SlotletProvider-CTgIBRWg.js.map +1 -0
- package/lib/SyntaxHighlight-UxOF1xNb.js +9107 -0
- package/lib/SyntaxHighlight-UxOF1xNb.js.map +1 -0
- package/lib/{Toc-BnN4zBb3.js → Toc-Ax54Pw8S.js} +3 -3
- package/lib/{Toc-BnN4zBb3.js.map → Toc-Ax54Pw8S.js.map} +1 -1
- package/lib/{chunk-BAXFHI7N-BLTsN6tl.js → chunk-BAXFHI7N-C9WnHsLV.js} +510 -517
- package/lib/{chunk-BAXFHI7N-BLTsN6tl.js.map → chunk-BAXFHI7N-C9WnHsLV.js.map} +1 -1
- package/lib/{circular-tOWjsgLZ.js → circular-CZaZtOBs.js} +1636 -1633
- package/lib/{circular-tOWjsgLZ.js.map → circular-CZaZtOBs.js.map} +1 -1
- package/lib/{cn-qaFjX9_3.js → cn-CwJPJKOE.js} +28 -29
- package/lib/{cn-qaFjX9_3.js.map → cn-CwJPJKOE.js.map} +1 -1
- package/lib/{createServer-XtO-PVox.js → createServer-DmqFeMgf.js} +3980 -3832
- package/lib/createServer-DmqFeMgf.js.map +1 -0
- package/lib/hook-BwOB_iZo.js +1442 -0
- package/lib/hook-BwOB_iZo.js.map +1 -0
- package/lib/{index-DwT-v3zK.js → index--oeBayMa.js} +2 -2
- package/lib/{index-DwT-v3zK.js.map → index--oeBayMa.js.map} +1 -1
- package/lib/index-BnT4-Efz.js +4975 -0
- package/lib/index-BnT4-Efz.js.map +1 -0
- package/lib/{index-LNp6rxyU.js → index-BvvmIczU.js} +2 -2
- package/lib/{index-LNp6rxyU.js.map → index-BvvmIczU.js.map} +1 -1
- package/lib/{index-CuBIgTKC.js → index-CrcNWbel.js} +9 -9
- package/lib/{index-CuBIgTKC.js.map → index-CrcNWbel.js.map} +1 -1
- package/lib/{index-CPNSgwSb.js → index-Z13x6tPX.js} +5 -5
- package/lib/{index-CPNSgwSb.js.map → index-Z13x6tPX.js.map} +1 -1
- package/lib/{index-CZnufgn5.js → index-sS7O9W-R.js} +899 -949
- package/lib/index-sS7O9W-R.js.map +1 -0
- package/lib/{index-DcHeSvkE.js → index-zddirpDj.js} +581 -609
- package/lib/{index-DcHeSvkE.js.map → index-zddirpDj.js.map} +1 -1
- package/lib/invariant-DAFpPywt.js +48 -0
- package/lib/{invariant-Caa8-XvF.js.map → invariant-DAFpPywt.js.map} +1 -1
- package/lib/mutation-CL2MCRQL.js +196 -0
- package/lib/{mutation-Bq5bn7Hf.js.map → mutation-CL2MCRQL.js.map} +1 -1
- package/lib/processors/removeParameters.js +27 -28
- package/lib/processors/removeParameters.js.map +1 -1
- package/lib/processors/removePaths.js +17 -17
- package/lib/processors/removePaths.js.map +1 -1
- package/lib/ui/Accordion.js +1 -1
- package/lib/ui/ActionButton.js +2 -2
- package/lib/ui/Alert.js +2 -2
- package/lib/ui/AlertDialog.js +1 -1
- package/lib/ui/Badge.js +2 -2
- package/lib/ui/Breadcrumb.js +1 -1
- package/lib/ui/Button.js +2 -2
- package/lib/ui/Callout.js +7 -7
- package/lib/ui/Callout.js.map +1 -1
- package/lib/ui/Card.js +1 -1
- package/lib/ui/Carousel.js +175 -175
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/Checkbox.js +1 -1
- package/lib/ui/CodeBlock.js +83 -0
- package/lib/ui/CodeBlock.js.map +1 -0
- package/lib/ui/Command.js +58 -58
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Dialog.js +1 -1
- package/lib/ui/Drawer.js +2 -2
- package/lib/ui/DropdownMenu.js +1 -1
- package/lib/ui/Form.js +1 -1
- package/lib/ui/HoverCard.js +1 -1
- package/lib/ui/Input.js +1 -1
- package/lib/ui/Label.js +2 -2
- package/lib/ui/Pagination.js +1 -1
- package/lib/ui/Popover.js +1 -1
- package/lib/ui/Progress.js +1 -1
- package/lib/ui/RadioGroup.js +1 -1
- package/lib/ui/ScrollArea.js +1 -1
- package/lib/ui/Select.js +1 -1
- package/lib/ui/Skeleton.js +1 -1
- package/lib/ui/Slider.js +1 -1
- package/lib/ui/Switch.js +1 -1
- package/lib/ui/SyntaxHighlight.js +5 -6
- package/lib/ui/SyntaxHighlight.js.map +1 -1
- package/lib/ui/Tabs.js +1 -1
- package/lib/ui/Textarea.js +1 -1
- package/lib/ui/Toggle.js +2 -2
- package/lib/ui/ToggleGroup.js +1 -1
- package/lib/ui/Tooltip.js +1 -1
- package/lib/ui/util.js +1 -1
- package/lib/{useExposedProps-DmTJxEXG.js → useExposedProps-DG8J6ewJ.js} +2 -2
- package/lib/{useExposedProps-DmTJxEXG.js.map → useExposedProps-DG8J6ewJ.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +28 -31
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +64 -70
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +373 -382
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +7 -7
- package/lib/zudoku.hooks.js +2 -2
- package/lib/zudoku.plugin-api-catalog.js +45 -45
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +6 -6
- package/lib/zudoku.plugin-custom-pages.js +3 -3
- package/lib/zudoku.plugin-markdown.js +25 -28
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +3 -3
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-search-inkeep.js +26 -27
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +107 -110
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/package.json +39 -29
- package/src/app/entry.client.tsx +40 -25
- package/src/app/main.css +54 -3
- package/src/app/main.tsx +8 -0
- package/src/lib/components/Footer.tsx +3 -6
- package/src/lib/components/Header.tsx +1 -1
- package/src/lib/components/Markdown.tsx +29 -24
- package/src/lib/components/context/ZudokuContext.ts +2 -3
- package/src/lib/core/ZudokuContext.ts +5 -0
- package/src/lib/errors/ErrorAlert.tsx +1 -1
- package/src/lib/oas/graphql/circular.ts +27 -19
- package/src/lib/oas/parser/index.ts +6 -1
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -2
- package/src/lib/plugins/openapi/ParamInfos.tsx +3 -1
- package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
- package/src/lib/plugins/openapi/SidecarExamples.tsx +2 -2
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +22 -35
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +5 -2
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +23 -17
- package/src/lib/plugins/openapi/schema/utils.ts +18 -6
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +6 -1
- package/src/lib/shiki.ts +133 -0
- package/src/lib/ui/Callout.tsx +1 -1
- package/src/lib/ui/CodeBlock.tsx +102 -0
- package/src/lib/ui/SyntaxHighlight.tsx +23 -182
- package/src/lib/util/MdxComponents.tsx +27 -14
- package/src/shiki/langs/abap.js +1 -0
- package/src/shiki/langs/actionscript-3.js +1 -0
- package/src/shiki/langs/ada.js +1 -0
- package/src/shiki/langs/angular-expression.js +1 -0
- package/src/shiki/langs/angular-html.js +1 -0
- package/src/shiki/langs/angular-inline-style.js +1 -0
- package/src/shiki/langs/angular-inline-template.js +1 -0
- package/src/shiki/langs/angular-let-declaration.js +1 -0
- package/src/shiki/langs/angular-template-blocks.js +1 -0
- package/src/shiki/langs/angular-template.js +1 -0
- package/src/shiki/langs/angular-ts.js +1 -0
- package/src/shiki/langs/apache.js +1 -0
- package/src/shiki/langs/apex.js +1 -0
- package/src/shiki/langs/apl.js +1 -0
- package/src/shiki/langs/applescript.js +1 -0
- package/src/shiki/langs/ara.js +1 -0
- package/src/shiki/langs/asciidoc.js +1 -0
- package/src/shiki/langs/asm.js +1 -0
- package/src/shiki/langs/astro.js +1 -0
- package/src/shiki/langs/awk.js +1 -0
- package/src/shiki/langs/ballerina.js +1 -0
- package/src/shiki/langs/bat.js +1 -0
- package/src/shiki/langs/beancount.js +1 -0
- package/src/shiki/langs/berry.js +1 -0
- package/src/shiki/langs/bibtex.js +1 -0
- package/src/shiki/langs/bicep.js +1 -0
- package/src/shiki/langs/blade.js +1 -0
- package/src/shiki/langs/bsl.js +1 -0
- package/src/shiki/langs/c.js +1 -0
- package/src/shiki/langs/cadence.js +1 -0
- package/src/shiki/langs/cairo.js +1 -0
- package/src/shiki/langs/clarity.js +1 -0
- package/src/shiki/langs/clojure.js +1 -0
- package/src/shiki/langs/cmake.js +1 -0
- package/src/shiki/langs/cobol.js +1 -0
- package/src/shiki/langs/codeowners.js +1 -0
- package/src/shiki/langs/codeql.js +1 -0
- package/src/shiki/langs/coffee.js +1 -0
- package/src/shiki/langs/common-lisp.js +1 -0
- package/src/shiki/langs/coq.js +1 -0
- package/src/shiki/langs/cpp-macro.js +1 -0
- package/src/shiki/langs/cpp.js +1 -0
- package/src/shiki/langs/crystal.js +1 -0
- package/src/shiki/langs/csharp.js +1 -0
- package/src/shiki/langs/css.js +1 -0
- package/src/shiki/langs/csv.js +1 -0
- package/src/shiki/langs/cue.js +1 -0
- package/src/shiki/langs/cypher.js +1 -0
- package/src/shiki/langs/d.js +1 -0
- package/src/shiki/langs/dart.js +1 -0
- package/src/shiki/langs/dax.js +1 -0
- package/src/shiki/langs/desktop.js +1 -0
- package/src/shiki/langs/diff.js +1 -0
- package/src/shiki/langs/docker.js +1 -0
- package/src/shiki/langs/dotenv.js +1 -0
- package/src/shiki/langs/dream-maker.js +1 -0
- package/src/shiki/langs/edge.js +1 -0
- package/src/shiki/langs/elixir.js +1 -0
- package/src/shiki/langs/elm.js +1 -0
- package/src/shiki/langs/emacs-lisp.js +1 -0
- package/src/shiki/langs/erb.js +1 -0
- package/src/shiki/langs/erlang.js +1 -0
- package/src/shiki/langs/es-tag-css.js +1 -0
- package/src/shiki/langs/es-tag-glsl.js +1 -0
- package/src/shiki/langs/es-tag-html.js +1 -0
- package/src/shiki/langs/es-tag-sql.js +1 -0
- package/src/shiki/langs/es-tag-xml.js +1 -0
- package/src/shiki/langs/fennel.js +1 -0
- package/src/shiki/langs/fish.js +1 -0
- package/src/shiki/langs/fluent.js +1 -0
- package/src/shiki/langs/fortran-fixed-form.js +1 -0
- package/src/shiki/langs/fortran-free-form.js +1 -0
- package/src/shiki/langs/fsharp.js +1 -0
- package/src/shiki/langs/gdresource.js +1 -0
- package/src/shiki/langs/gdscript.js +1 -0
- package/src/shiki/langs/gdshader.js +1 -0
- package/src/shiki/langs/genie.js +1 -0
- package/src/shiki/langs/gherkin.js +1 -0
- package/src/shiki/langs/git-commit.js +1 -0
- package/src/shiki/langs/git-rebase.js +1 -0
- package/src/shiki/langs/gleam.js +1 -0
- package/src/shiki/langs/glimmer-js.js +1 -0
- package/src/shiki/langs/glimmer-ts.js +1 -0
- package/src/shiki/langs/glsl.js +1 -0
- package/src/shiki/langs/gnuplot.js +1 -0
- package/src/shiki/langs/go.js +1 -0
- package/src/shiki/langs/graphql.js +1 -0
- package/src/shiki/langs/groovy.js +1 -0
- package/src/shiki/langs/hack.js +1 -0
- package/src/shiki/langs/haml.js +1 -0
- package/src/shiki/langs/handlebars.js +1 -0
- package/src/shiki/langs/haskell.js +1 -0
- package/src/shiki/langs/haxe.js +1 -0
- package/src/shiki/langs/hcl.js +1 -0
- package/src/shiki/langs/hjson.js +1 -0
- package/src/shiki/langs/hlsl.js +1 -0
- package/src/shiki/langs/html-derivative.js +1 -0
- package/src/shiki/langs/html.js +1 -0
- package/src/shiki/langs/http.js +1 -0
- package/src/shiki/langs/hxml.js +1 -0
- package/src/shiki/langs/hy.js +1 -0
- package/src/shiki/langs/imba.js +1 -0
- package/src/shiki/langs/ini.js +1 -0
- package/src/shiki/langs/java.js +1 -0
- package/src/shiki/langs/javascript.js +1 -0
- package/src/shiki/langs/jinja-html.js +1 -0
- package/src/shiki/langs/jinja.js +1 -0
- package/src/shiki/langs/jison.js +1 -0
- package/src/shiki/langs/json.js +1 -0
- package/src/shiki/langs/json5.js +1 -0
- package/src/shiki/langs/jsonc.js +1 -0
- package/src/shiki/langs/jsonl.js +1 -0
- package/src/shiki/langs/jsonnet.js +1 -0
- package/src/shiki/langs/jssm.js +1 -0
- package/src/shiki/langs/jsx.js +1 -0
- package/src/shiki/langs/julia.js +1 -0
- package/src/shiki/langs/kotlin.js +1 -0
- package/src/shiki/langs/kusto.js +1 -0
- package/src/shiki/langs/latex.js +1 -0
- package/src/shiki/langs/lean.js +1 -0
- package/src/shiki/langs/less.js +1 -0
- package/src/shiki/langs/liquid.js +1 -0
- package/src/shiki/langs/llvm.js +1 -0
- package/src/shiki/langs/log.js +1 -0
- package/src/shiki/langs/logo.js +1 -0
- package/src/shiki/langs/lua.js +1 -0
- package/src/shiki/langs/luau.js +1 -0
- package/src/shiki/langs/make.js +1 -0
- package/src/shiki/langs/markdown-vue.js +1 -0
- package/src/shiki/langs/markdown.js +1 -0
- package/src/shiki/langs/marko.js +1 -0
- package/src/shiki/langs/matlab.js +1 -0
- package/src/shiki/langs/mdc.js +1 -0
- package/src/shiki/langs/mdx.js +1 -0
- package/src/shiki/langs/mermaid.js +1 -0
- package/src/shiki/langs/mipsasm.js +1 -0
- package/src/shiki/langs/mojo.js +1 -0
- package/src/shiki/langs/move.js +1 -0
- package/src/shiki/langs/narrat.js +1 -0
- package/src/shiki/langs/nextflow.js +1 -0
- package/src/shiki/langs/nginx.js +1 -0
- package/src/shiki/langs/nim.js +1 -0
- package/src/shiki/langs/nix.js +1 -0
- package/src/shiki/langs/nushell.js +1 -0
- package/src/shiki/langs/objective-c.js +1 -0
- package/src/shiki/langs/objective-cpp.js +1 -0
- package/src/shiki/langs/ocaml.js +1 -0
- package/src/shiki/langs/pascal.js +1 -0
- package/src/shiki/langs/perl.js +1 -0
- package/src/shiki/langs/php.js +1 -0
- package/src/shiki/langs/plsql.js +1 -0
- package/src/shiki/langs/po.js +1 -0
- package/src/shiki/langs/polar.js +1 -0
- package/src/shiki/langs/postcss.js +1 -0
- package/src/shiki/langs/powerquery.js +1 -0
- package/src/shiki/langs/powershell.js +1 -0
- package/src/shiki/langs/prisma.js +1 -0
- package/src/shiki/langs/prolog.js +1 -0
- package/src/shiki/langs/proto.js +1 -0
- package/src/shiki/langs/pug.js +1 -0
- package/src/shiki/langs/puppet.js +1 -0
- package/src/shiki/langs/purescript.js +1 -0
- package/src/shiki/langs/python.js +1 -0
- package/src/shiki/langs/qml.js +1 -0
- package/src/shiki/langs/qmldir.js +1 -0
- package/src/shiki/langs/qss.js +1 -0
- package/src/shiki/langs/r.js +1 -0
- package/src/shiki/langs/racket.js +1 -0
- package/src/shiki/langs/raku.js +1 -0
- package/src/shiki/langs/razor.js +1 -0
- package/src/shiki/langs/reg.js +1 -0
- package/src/shiki/langs/regexp.js +1 -0
- package/src/shiki/langs/rel.js +1 -0
- package/src/shiki/langs/riscv.js +1 -0
- package/src/shiki/langs/rst.js +1 -0
- package/src/shiki/langs/ruby.js +1 -0
- package/src/shiki/langs/rust.js +1 -0
- package/src/shiki/langs/sas.js +1 -0
- package/src/shiki/langs/sass.js +1 -0
- package/src/shiki/langs/scala.js +1 -0
- package/src/shiki/langs/scheme.js +1 -0
- package/src/shiki/langs/scss.js +1 -0
- package/src/shiki/langs/sdbl.js +1 -0
- package/src/shiki/langs/shaderlab.js +1 -0
- package/src/shiki/langs/shellscript.js +1 -0
- package/src/shiki/langs/shellsession.js +1 -0
- package/src/shiki/langs/smalltalk.js +1 -0
- package/src/shiki/langs/solidity.js +1 -0
- package/src/shiki/langs/soy.js +1 -0
- package/src/shiki/langs/sparql.js +1 -0
- package/src/shiki/langs/splunk.js +1 -0
- package/src/shiki/langs/sql.js +1 -0
- package/src/shiki/langs/ssh-config.js +1 -0
- package/src/shiki/langs/stata.js +1 -0
- package/src/shiki/langs/stylus.js +1 -0
- package/src/shiki/langs/svelte.js +1 -0
- package/src/shiki/langs/swift.js +1 -0
- package/src/shiki/langs/system-verilog.js +1 -0
- package/src/shiki/langs/systemd.js +1 -0
- package/src/shiki/langs/talonscript.js +1 -0
- package/src/shiki/langs/tasl.js +1 -0
- package/src/shiki/langs/tcl.js +1 -0
- package/src/shiki/langs/templ.js +1 -0
- package/src/shiki/langs/terraform.js +1 -0
- package/src/shiki/langs/tex.js +1 -0
- package/src/shiki/langs/toml.js +1 -0
- package/src/shiki/langs/ts-tags.js +1 -0
- package/src/shiki/langs/tsv.js +1 -0
- package/src/shiki/langs/tsx.js +1 -0
- package/src/shiki/langs/turtle.js +1 -0
- package/src/shiki/langs/twig.js +1 -0
- package/src/shiki/langs/typescript.js +1 -0
- package/src/shiki/langs/typespec.js +1 -0
- package/src/shiki/langs/typst.js +1 -0
- package/src/shiki/langs/v.js +1 -0
- package/src/shiki/langs/vala.js +1 -0
- package/src/shiki/langs/vb.js +1 -0
- package/src/shiki/langs/verilog.js +1 -0
- package/src/shiki/langs/vhdl.js +1 -0
- package/src/shiki/langs/viml.js +1 -0
- package/src/shiki/langs/vue-directives.js +1 -0
- package/src/shiki/langs/vue-html.js +1 -0
- package/src/shiki/langs/vue-interpolations.js +1 -0
- package/src/shiki/langs/vue-sfc-style-variable-injection.js +1 -0
- package/src/shiki/langs/vue.js +1 -0
- package/src/shiki/langs/vyper.js +1 -0
- package/src/shiki/langs/wasm.js +1 -0
- package/src/shiki/langs/wenyan.js +1 -0
- package/src/shiki/langs/wgsl.js +1 -0
- package/src/shiki/langs/wikitext.js +1 -0
- package/src/shiki/langs/wit.js +1 -0
- package/src/shiki/langs/wolfram.js +1 -0
- package/src/shiki/langs/xml.js +1 -0
- package/src/shiki/langs/xsl.js +1 -0
- package/src/shiki/langs/yaml.js +1 -0
- package/src/shiki/langs/zenscript.js +1 -0
- package/src/shiki/langs/zig.js +1 -0
- package/src/shiki/themes/andromeeda.js +1 -0
- package/src/shiki/themes/aurora-x.js +1 -0
- package/src/shiki/themes/ayu-dark.js +1 -0
- package/src/shiki/themes/catppuccin-frappe.js +1 -0
- package/src/shiki/themes/catppuccin-latte.js +1 -0
- package/src/shiki/themes/catppuccin-macchiato.js +1 -0
- package/src/shiki/themes/catppuccin-mocha.js +1 -0
- package/src/shiki/themes/dark-plus.js +1 -0
- package/src/shiki/themes/dracula-soft.js +1 -0
- package/src/shiki/themes/dracula.js +1 -0
- package/src/shiki/themes/everforest-dark.js +1 -0
- package/src/shiki/themes/everforest-light.js +1 -0
- package/src/shiki/themes/github-dark-default.js +1 -0
- package/src/shiki/themes/github-dark-dimmed.js +1 -0
- package/src/shiki/themes/github-dark-high-contrast.js +1 -0
- package/src/shiki/themes/github-dark.js +1 -0
- package/src/shiki/themes/github-light-default.js +1 -0
- package/src/shiki/themes/github-light-high-contrast.js +1 -0
- package/src/shiki/themes/github-light.js +1 -0
- package/src/shiki/themes/gruvbox-dark-hard.js +1 -0
- package/src/shiki/themes/gruvbox-dark-medium.js +1 -0
- package/src/shiki/themes/gruvbox-dark-soft.js +1 -0
- package/src/shiki/themes/gruvbox-light-hard.js +1 -0
- package/src/shiki/themes/gruvbox-light-medium.js +1 -0
- package/src/shiki/themes/gruvbox-light-soft.js +1 -0
- package/src/shiki/themes/houston.js +1 -0
- package/src/shiki/themes/kanagawa-dragon.js +1 -0
- package/src/shiki/themes/kanagawa-lotus.js +1 -0
- package/src/shiki/themes/kanagawa-wave.js +1 -0
- package/src/shiki/themes/laserwave.js +1 -0
- package/src/shiki/themes/light-plus.js +1 -0
- package/src/shiki/themes/material-theme-darker.js +1 -0
- package/src/shiki/themes/material-theme-lighter.js +1 -0
- package/src/shiki/themes/material-theme-ocean.js +1 -0
- package/src/shiki/themes/material-theme-palenight.js +1 -0
- package/src/shiki/themes/material-theme.js +1 -0
- package/src/shiki/themes/min-dark.js +1 -0
- package/src/shiki/themes/min-light.js +1 -0
- package/src/shiki/themes/monokai.js +1 -0
- package/src/shiki/themes/night-owl.js +1 -0
- package/src/shiki/themes/nord.js +1 -0
- package/src/shiki/themes/one-dark-pro.js +1 -0
- package/src/shiki/themes/one-light.js +1 -0
- package/src/shiki/themes/plastic.js +1 -0
- package/src/shiki/themes/poimandres.js +1 -0
- package/src/shiki/themes/red.js +1 -0
- package/src/shiki/themes/rose-pine-dawn.js +1 -0
- package/src/shiki/themes/rose-pine-moon.js +1 -0
- package/src/shiki/themes/rose-pine.js +1 -0
- package/src/shiki/themes/slack-dark.js +1 -0
- package/src/shiki/themes/slack-ochin.js +1 -0
- package/src/shiki/themes/snazzy-light.js +1 -0
- package/src/shiki/themes/solarized-dark.js +1 -0
- package/src/shiki/themes/solarized-light.js +1 -0
- package/src/shiki/themes/synthwave-84.js +1 -0
- package/src/shiki/themes/tokyo-night.js +1 -0
- package/src/shiki/themes/vesper.js +1 -0
- package/src/shiki/themes/vitesse-black.js +1 -0
- package/src/shiki/themes/vitesse-dark.js +1 -0
- package/src/shiki/themes/vitesse-light.js +1 -0
- package/lib/AuthenticationPlugin-BlJsiGuX.js +0 -99
- package/lib/Markdown-DvdVn1O7.js +0 -17128
- package/lib/Markdown-DvdVn1O7.js.map +0 -1
- package/lib/MdxPage-DlJaCSPf.js +0 -85
- package/lib/RouteGuard-D2gX29iI.js +0 -744
- package/lib/SchemaView-Bt95NiyQ.js.map +0 -1
- package/lib/Select-CYaEBIYK.js +0 -223
- package/lib/SlotletProvider-wWbHYqWf.js +0 -340
- package/lib/SlotletProvider-wWbHYqWf.js.map +0 -1
- package/lib/SyntaxHighlight-o7q0acut.js +0 -2890
- package/lib/SyntaxHighlight-o7q0acut.js.map +0 -1
- package/lib/_commonjsHelpers-B4e78b8K.js +0 -29
- package/lib/_commonjsHelpers-B4e78b8K.js.map +0 -1
- package/lib/createServer-XtO-PVox.js.map +0 -1
- package/lib/hook-8GM2HXNM.js +0 -1478
- package/lib/hook-8GM2HXNM.js.map +0 -1
- package/lib/index-CZnufgn5.js.map +0 -1
- package/lib/index-CzUOM_vE.js +0 -5039
- package/lib/index-CzUOM_vE.js.map +0 -1
- package/lib/invariant-Caa8-XvF.js +0 -26
- package/lib/mutation-Bq5bn7Hf.js +0 -211
- package/lib/prism-bash.min-HHIMdNJ_.js +0 -7
- package/lib/prism-bash.min-HHIMdNJ_.js.map +0 -1
- package/lib/prism-csharp.min-C43x1RY2.js +0 -63
- package/lib/prism-csharp.min-C43x1RY2.js.map +0 -1
- package/lib/prism-java.min-CQzr40NQ.js +0 -35
- package/lib/prism-java.min-CQzr40NQ.js.map +0 -1
- package/lib/prism-javascript.min-CEqHqgbm.js +0 -9
- package/lib/prism-javascript.min-CEqHqgbm.js.map +0 -1
- package/lib/prism-json.min-B1GJqK1k.js +0 -2
- package/lib/prism-json.min-B1GJqK1k.js.map +0 -1
- package/lib/prism-jsstacktrace.min-BfobCF2F.js +0 -2
- package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +0 -1
- package/lib/prism-markdown.min-C0Qn0m-5.js +0 -61
- package/lib/prism-markdown.min-C0Qn0m-5.js.map +0 -1
- package/lib/prism-markup-BNGj0Tvm.js +0 -174
- package/lib/prism-markup-BNGj0Tvm.js.map +0 -1
- package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
- package/lib/prism-objectivec.min-BXSWqpJJ.js.map +0 -1
- package/lib/prism-ruby.min-L9OdQ6tU.js +0 -38
- package/lib/prism-ruby.min-L9OdQ6tU.js.map +0 -1
- package/lib/prism-typescript.min-qTySPvCh.js +0 -34
- package/lib/prism-typescript.min-qTySPvCh.js.map +0 -1
package/lib/hook-8GM2HXNM.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-8GM2HXNM.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/utils.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/thenable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/retryer.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/removable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/query.js","../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/utils.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/suspense.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.js","../src/lib/util/joinUrl.ts","../src/lib/components/cache.ts","../src/lib/util/joinPath.tsx","../src/lib/components/navigation/utils.ts","../src/lib/components/context/ZudokuContext.ts","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.1_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.1_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.1_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/middleware.mjs","../src/lib/authentication/state.ts","../src/lib/authentication/hook.ts"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if ((!array && aItems.includes(key) || array) && a[key] === void 0 && b[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nexport {\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/thenable.ts\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nexport {\n pendingThenable\n};\n//# sourceMappingURL=thenable.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n const thenable = pendingThenable();\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/notifyManager.ts\nvar defaultScheduler = (cb) => setTimeout(cb, 0);\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n }\n isStale() {\n if (this.state.isInvalidated) {\n return true;\n }\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0;\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const queryFnContext = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext);\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n this.scheduleGc();\n };\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n try {\n this.setData(data);\n } catch (error) {\n onError(error);\n return;\n }\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n this.scheduleGc();\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n return this.#retryer.start();\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error(\"experimental_prefetchInRender feature flag is not enabled\")\n );\n }\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackProp(key);\n onPropTracked?.(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable) => {\n if (nextResult.status === \"error\") {\n thenable.reject(nextResult.error);\n } else if (nextResult.data !== void 0) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (nextResult.status !== \"error\" || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false) {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/isRestoring.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=isRestoring.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","// src/utils.ts\nfunction shouldThrowError(throwError, params) {\n if (typeof throwError === \"function\") {\n return throwError(...params);\n }\n return !!throwError;\n}\nfunction noop() {\n}\nexport {\n noop,\n shouldThrowError\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"./utils.js\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n const originalStaleTime = defaultedOptions.staleTime;\n if (defaultedOptions.suspense) {\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => Math.max(originalStaleTime(...args), 1e3) : Math.max(originalStaleTime ?? 1e3, 1e3);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1e3);\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./isRestoring.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nimport { noop } from \"./utils.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client.getQueryCache().get(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useSuspenseQuery.ts\nimport { QueryObserver, skipToken } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nimport { defaultThrowOnError } from \"./suspense.js\";\nfunction useSuspenseQuery(options, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\"skipToken is not allowed for useSuspenseQuery\");\n }\n }\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n placeholderData: void 0\n },\n QueryObserver,\n queryClient\n );\n}\nexport {\n useSuspenseQuery\n};\n//# sourceMappingURL=useSuspenseQuery.js.map","// Mostly adapted from https://github.com/moxystudio/js-proper-url-join\nconst defaultUrlRegExp = /^(\\w+:\\/\\/[^/?]+)?([^?]*)(\\?.*)?$/;\n\nconst normalizeParts = (\n parts: (string | number | null | undefined | false)[],\n): string[] =>\n parts\n .filter(\n (part): part is string | number =>\n part !== null &&\n part !== undefined &&\n part !== false &&\n (typeof part === \"string\" || typeof part === \"number\"),\n )\n .map((part) => `${part}`)\n .filter((part) => part);\n\ninterface ParsedParts {\n prefix: string;\n pathname: string[];\n}\n\nconst parseParts = (parts: string[]): ParsedParts => {\n const partsStr = parts.join(\"/\");\n const [, prefix = \"\", pathname = \"\"] = partsStr.match(defaultUrlRegExp) ?? [];\n\n return {\n prefix,\n pathname: pathname.split(\"/\").filter((part) => part !== \"\"),\n };\n};\n\nconst buildUrl = (parsedParts: ParsedParts): string => {\n const { prefix, pathname } = parsedParts;\n let url = prefix;\n\n if (pathname.length > 0) {\n if (url) {\n url += \"/\";\n } else {\n url = \"/\";\n }\n url += pathname.join(\"/\");\n } else if (!url) {\n url = \"/\";\n }\n\n return url;\n};\n\nexport const joinUrl = (\n ...parts: Array<string | number | null | undefined | false>\n): string => {\n const normalizedParts = normalizeParts(parts);\n const parsedParts = parseParts(normalizedParts);\n return buildUrl(parsedParts);\n};\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nexport const CACHE_KEYS = Object.freeze({\n API_IDENTITIES: [\"api-identities\"],\n});\n\nexport const useCache = () => {\n const queryClient = useQueryClient();\n\n return {\n invalidateCache: async (key: keyof typeof CACHE_KEYS) => {\n await queryClient.invalidateQueries({ queryKey: CACHE_KEYS[key] });\n },\n };\n};\n\n/**\n * If a query has this key in its queryKey, it will not put its result in the dehydrated state in the SSR.\n *\n * This is useful if the query should only be suspended and not included in the initial HTML response.\n * (e.g. too large in size, or not needed for the initial page load)\n */\nexport const NO_DEHYDRATE = \"no-dehydrate\";\n","/**\n * @deprecated Use `joinUrl` instead.\n */\nexport const joinPath = (\n ...parts: Array<string | null | undefined | boolean>\n) => {\n const cleanPath = parts\n .filter((part): part is string => Boolean(part))\n .map((part) => part.replace(/(^\\/+|\\/+$)/g, \"\")) // Strip leading and trailing slashes\n .join(\"/\")\n .replace(/(^\\/+|\\/+$)/g, \"\");\n\n return cleanPath ? `/${cleanPath}` : \"/\";\n};\n","import { useLocation } from \"react-router\";\nimport type {\n SidebarItem,\n SidebarItemCategory,\n} from \"../../../config/validators/SidebarSchema.js\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport { useCurrentNavigation } from \"../context/ZudokuContext.js\";\n\nexport type TraverseCallback<T> = (\n item: SidebarItem,\n parentCategories: SidebarItem[],\n) => T | void;\n\nexport const traverseSidebar = <T>(\n sidebar: SidebarItem[],\n callback: TraverseCallback<T>,\n): T | undefined => {\n for (const item of sidebar) {\n const result = traverseSidebarItem(item, callback);\n if (result !== undefined) return result;\n }\n};\n\nexport const traverseSidebarItem = <T>(\n item: SidebarItem,\n callback: TraverseCallback<T>,\n parentCategories: SidebarItem[] = [],\n): T | undefined => {\n const result = callback(item, parentCategories);\n if (result !== undefined) return result;\n\n if (item.type === \"category\") {\n for (const child of item.items) {\n const childResult = traverseSidebarItem(child, callback, [\n ...parentCategories,\n item,\n ]);\n if (childResult !== undefined) return childResult;\n }\n }\n};\n\nexport const useCurrentItem = () => {\n const location = useLocation();\n const nav = useCurrentNavigation();\n\n const currentSidebar = nav.sidebar;\n\n return traverseSidebar(currentSidebar, (item) => {\n if (item.type === \"doc\" && joinPath(item.id) === location.pathname) {\n return item;\n }\n });\n};\n\nexport const useIsCategoryOpen = (category: SidebarItemCategory) => {\n const location = useLocation();\n\n return traverseSidebarItem(category, (item) => {\n if (item.type === \"category\" && item.link) {\n const categoryLinkPath = joinPath(item.link.id);\n if (categoryLinkPath === location.pathname) {\n return true;\n }\n }\n\n if (item.type === \"doc\") {\n const docPath = joinPath(item.id);\n if (docPath === location.pathname) {\n return true;\n }\n }\n });\n};\n\nexport const usePrevNext = (): {\n prev?: { label: string; id: string };\n next?: { label: string; id: string };\n} => {\n const currentId = useLocation().pathname;\n const nav = useCurrentNavigation();\n const currentSidebar = nav.sidebar;\n\n let prev;\n let next;\n\n let foundCurrent = false;\n\n traverseSidebar(currentSidebar, (item) => {\n const itemId =\n item.type === \"doc\"\n ? joinPath(item.id)\n : item.type === \"category\" && item.link\n ? joinPath(item.link.id)\n : undefined;\n\n if (!itemId) return;\n\n if (foundCurrent) {\n next = { label: item.label, id: itemId };\n return true;\n }\n\n if (currentId === itemId) {\n foundCurrent = true;\n } else {\n prev = { label: item.label, id: itemId };\n }\n });\n\n return { prev, next };\n};\n","import { useQuery, useSuspenseQuery } from \"@tanstack/react-query\";\nimport { createContext, useContext } from \"react\";\nimport { matchPath, useLocation } from \"react-router\";\nimport { useAuth } from \"../../authentication/hook.js\";\nimport type { ZudokuContext } from \"../../core/ZudokuContext.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { CACHE_KEYS, NO_DEHYDRATE } from \"../cache.js\";\nimport { traverseSidebar } from \"../navigation/utils.js\";\n\nexport const ZudokuReactContext = createContext<ZudokuContext | undefined>(\n undefined,\n);\n\nexport const useZudoku = () => {\n const context = useContext(ZudokuReactContext);\n\n if (!context) {\n throw new Error(\"useZudoku must be used within a ZudokuProvider.\");\n }\n\n return context;\n};\n\nexport const useApiIdentities = () => {\n const { getApiIdentities } = useZudoku();\n\n return useQuery({\n queryFn: getApiIdentities,\n queryKey: CACHE_KEYS.API_IDENTITIES,\n });\n};\n\nexport const useCurrentNavigation = () => {\n const { getPluginSidebar, sidebars, topNavigation, options } = useZudoku();\n const location = useLocation();\n const auth = useAuth();\n\n const isProtectedRoute = options.protectedRoutes?.some((route) =>\n matchPath(route, location.pathname),\n );\n\n let currentSidebarItem = Object.entries(sidebars).find(([, sidebar]) => {\n return traverseSidebar(sidebar, (item) => {\n const itemId =\n item.type === \"doc\"\n ? joinUrl(item.id)\n : item.type === \"category\" && item.link\n ? joinUrl(item.link.id)\n : undefined;\n\n if (itemId === location.pathname) {\n return item;\n }\n });\n });\n const currentTopNavItem =\n topNavigation.find((t) => t.id === currentSidebarItem?.[0]) ??\n topNavigation.find((item) => matchPath(item.id, location.pathname));\n\n if (\n currentTopNavItem &&\n !currentSidebarItem &&\n currentTopNavItem.id in sidebars\n ) {\n currentSidebarItem = [\"\", sidebars[currentTopNavItem.id]!];\n }\n\n const { data } = useSuspenseQuery({\n queryFn: () => getPluginSidebar(location.pathname),\n // We just want to suspend here and don't store in SSR dehydrated state\n queryKey: [\"plugin-sidebar\", NO_DEHYDRATE, location.pathname],\n });\n\n const hideSidebar =\n auth.isAuthEnabled && !auth.isAuthenticated && isProtectedRoute;\n\n return {\n sidebar: hideSidebar\n ? []\n : [...(currentSidebarItem ? currentSidebarItem[1] : []), ...data],\n topNavItem: currentTopNavItem,\n };\n};\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === undefined) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === undefined ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === undefined) {\n connection == null ? undefined : connection.send(action, get());\n return r;\n }\n connection == null ? undefined : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? undefined : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? undefined : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : undefined) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === undefined) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === undefined || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === undefined) {\n return connection == null ? undefined : connection.init(api.getState());\n }\n return connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === undefined) {\n connection == null ? undefined : connection.init(api.getState());\n return;\n }\n return connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === undefined) {\n setStateFromDevtools(state);\n connection == null ? undefined : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === undefined) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? undefined : _a.state;\n if (!lastComputedState) return;\n if (store === undefined) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? undefined : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== undefined) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? undefined : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? undefined : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? undefined : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? undefined : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? undefined : _b.call(options, (_a = get()) != null ? _a : configResult)) || undefined;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, undefined];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? undefined : postRehydrationCallback(stateFromStorage, undefined);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? undefined : postRehydrationCallback(undefined, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? undefined : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { create, type Mutate, type StoreApi } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\nexport interface AuthState<ProviderData = unknown> {\n isAuthenticated: boolean;\n isPending: boolean;\n profile: UserProfile | null;\n providerData: ProviderData | null;\n}\n\nexport class Authentication {\n async setLoggedIn(isLoggedIn: boolean) {}\n async setProfile() {}\n async setPersistentProviderData() {}\n}\n\nexport type StoreWithPersist<T> = Mutate<\n StoreApi<T>,\n [[\"zustand/persist\", unknown]]\n>;\n\nconst withStorageDOMEvents = <T>(store: StoreWithPersist<T>) => {\n const storageEventCallback = (e: StorageEvent) => {\n if (e.key === store.persist.getOptions().name && e.newValue) {\n void store.persist.rehydrate();\n }\n };\n\n window.addEventListener(\"storage\", storageEventCallback);\n\n return () => {\n window.removeEventListener(\"storage\", storageEventCallback);\n };\n};\n\nexport const useAuthState = create<AuthState>()(\n persist(\n (state) => ({\n isAuthenticated: false,\n isPending: true,\n profile: null,\n providerData: null,\n }),\n {\n merge: (persistedState, currentState) => {\n return {\n ...currentState,\n isPending: false,\n ...(typeof persistedState === \"object\" ? persistedState : {}),\n };\n },\n name: \"auth-state\",\n storage: createJSONStorage(() => localStorage),\n },\n ),\n);\n\nif (typeof window !== \"undefined\") {\n withStorageDOMEvents(useAuthState);\n}\n\nexport interface UserProfile {\n sub: string;\n email: string | undefined;\n emailVerified: boolean;\n name: string | undefined;\n pictureUrl: string | undefined;\n [key: string]: string | boolean | undefined;\n}\n","import { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useZudoku();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n ...authState,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signIn({\n redirectTo: window.location.href,\n });\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signOut();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n\n signup: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n await authentication.signUp({\n redirectTo: window.location.href,\n });\n },\n };\n};\n"],"names":["Subscribable","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveEnabled","enabled","matchQuery","filters","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","key","a","b","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","error","keepPreviousData","previousData","addToEnd","items","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","FocusManager","_a","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","config","isRetryCancelled","isResolved","continueFn","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","delay","shouldRetry","defaultScheduler","cb","createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","Removable","_gcTimeout","newGcTime","Query","_Query_instances","_initialState","_revertState","_cache","_client","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","newData","__privateMethod","dispatch_fn","state","setStateOptions","promise","_b","observer","x","abortController","addSignalProperty","object","fetchFn","queryFn","queryFnContext","context","_c","onError","_d","action","reducer","fetchState","hasData","initialDataUpdatedAt","QueryObserver","client","_QueryObserver_instances","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_currentThenable","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","trackedResult","defaultedOptions","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","notifyOptions","shouldLoadOnMount","field","optimisticResult","QueryClientContext","React","useQueryClient","queryClient","QueryClientProvider","children","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","shouldThrowError","throwError","params","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","throwOnError","suspense","defaultThrowOnError","_error","ensureSuspenseTimers","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","shouldSubscribe","onStoreChange","unsubscribe","_e","useQuery","useSuspenseQuery","defaultUrlRegExp","normalizeParts","parts","part","parseParts","partsStr","prefix","pathname","buildUrl","parsedParts","url","joinUrl","normalizedParts","CACHE_KEYS","useCache","NO_DEHYDRATE","joinPath","cleanPath","traverseSidebar","sidebar","traverseSidebarItem","parentCategories","child","childResult","useCurrentItem","location","useLocation","currentSidebar","useCurrentNavigation","useIsCategoryOpen","category","usePrevNext","currentId","prev","next","foundCurrent","itemId","ZudokuReactContext","createContext","useZudoku","useContext","useApiIdentities","getApiIdentities","getPluginSidebar","sidebars","topNavigation","auth","useAuth","isProtectedRoute","route","matchPath","currentSidebarItem","currentTopNavItem","t","createStoreImpl","createState","listeners","setState","partial","replace","nextState","previousState","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","createImpl","useBoundStore","create","createJSONStorage","getStorage","storage","name","parse","str2","str","newValue","toThenable","onFulfilled","_onRejected","e","_onFulfilled","onRejected","persistImpl","baseOptions","set","get","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","setItem","savedSetState","configResult","stateFromStorage","hydrate","_a2","postRehydrationCallback","deserializedStorageValue","migration","migrationResult","migrated","migratedState","newOptions","persist","withStorageDOMEvents","store","storageEventCallback","useAuthState","authentication","authState","isAuthEnabled"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,24,25,26]}
|