zudoku 0.62.0 → 0.63.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/entry.server.js +14 -1
- package/dist/app/entry.server.js.map +1 -1
- package/dist/cli/cli.d.ts +9 -0
- package/dist/cli/cli.js +4 -10
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/common/version-check.d.ts +2 -0
- package/dist/cli/common/version-check.js +58 -0
- package/dist/cli/common/version-check.js.map +1 -0
- package/dist/config/config.d.ts +3 -0
- package/dist/config/validators/InputNavigationSchema.d.ts +64 -4
- package/dist/config/validators/icon-types.d.ts +1 -1
- package/dist/config/validators/icon-types.js +15 -0
- package/dist/config/validators/icon-types.js.map +1 -1
- package/dist/config/validators/validate.d.ts +29 -9
- package/dist/config/validators/validate.js +22 -0
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/flat-config.d.ts +21 -2
- package/dist/lib/assets/language-icons/c.d.ts +3 -0
- package/dist/lib/assets/language-icons/c.js +4 -0
- package/dist/lib/assets/language-icons/c.js.map +1 -0
- package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
- package/dist/lib/assets/language-icons/commonlisp.js +4 -0
- package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
- package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
- package/dist/lib/assets/language-icons/cpp.js +4 -0
- package/dist/lib/assets/language-icons/cpp.js.map +1 -0
- package/dist/lib/assets/language-icons/dart.d.ts +3 -0
- package/dist/lib/assets/language-icons/dart.js +4 -0
- package/dist/lib/assets/language-icons/dart.js.map +1 -0
- package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
- package/dist/lib/assets/language-icons/elixir.js +4 -0
- package/dist/lib/assets/language-icons/elixir.js.map +1 -0
- package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
- package/dist/lib/assets/language-icons/ocaml.js +4 -0
- package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
- package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
- package/dist/lib/assets/language-icons/powershell.js +4 -0
- package/dist/lib/assets/language-icons/powershell.js.map +1 -0
- package/dist/lib/assets/language-icons/scala.d.ts +3 -0
- package/dist/lib/assets/language-icons/scala.js +4 -0
- package/dist/lib/assets/language-icons/scala.js.map +1 -0
- package/dist/lib/assets/language-icons/zig.d.ts +3 -0
- package/dist/lib/assets/language-icons/zig.js +4 -0
- package/dist/lib/assets/language-icons/zig.js.map +1 -0
- package/dist/lib/authentication/authentication.d.ts +3 -0
- package/dist/lib/authentication/providers/auth0.js +7 -3
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/components/Heading.js +1 -5
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/LanguageIcon.js +45 -0
- package/dist/lib/components/LanguageIcon.js.map +1 -1
- package/dist/lib/components/Main.js +1 -1
- package/dist/lib/components/Main.js.map +1 -1
- package/dist/lib/components/cache.d.ts +3 -1
- package/dist/lib/components/cache.js +3 -5
- package/dist/lib/components/cache.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.js +10 -2
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/index.d.ts +1 -2
- package/dist/lib/core/ZudokuContext.d.ts +1 -0
- package/dist/lib/core/ZudokuContext.js +2 -0
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/hooks/index.d.ts +1 -1
- package/dist/lib/oas/graphql/index.js +17 -0
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
- package/dist/lib/plugins/markdown/MdxPage.js +28 -4
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
- package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
- package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
- package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
- package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
- package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
- package/dist/lib/plugins/markdown/index.d.ts +3 -1
- package/dist/lib/plugins/markdown/index.js +1 -1
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +7 -2
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -2
- package/dist/lib/plugins/openapi/OperationListItem.js +6 -3
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -1
- package/dist/lib/plugins/openapi/Sidecar.js +6 -9
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +8 -2
- package/dist/lib/plugins/openapi/graphql/graphql.js +8 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +5 -10
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
- package/dist/lib/shiki.js +9 -0
- package/dist/lib/shiki.js.map +1 -1
- package/dist/lib/ui/Carousel.js.map +1 -1
- package/dist/lib/ui/Dialog.d.ts +12 -18
- package/dist/lib/ui/Dialog.js +30 -17
- package/dist/lib/ui/Dialog.js.map +1 -1
- package/dist/lib/util/pastellize.js +4 -4
- package/dist/lib/util/pastellize.js.map +1 -1
- package/dist/vite/api/SchemaManager.js.map +1 -1
- package/dist/vite/llms.d.ts +12 -0
- package/dist/vite/llms.js +66 -0
- package/dist/vite/llms.js.map +1 -0
- package/dist/vite/plugin-docs.d.ts +9 -0
- package/dist/vite/plugin-docs.js +68 -49
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-markdown-export.d.ts +21 -0
- package/dist/vite/plugin-markdown-export.js +141 -0
- package/dist/vite/plugin-markdown-export.js.map +1 -0
- package/dist/vite/plugin-navigation.js +4 -0
- package/dist/vite/plugin-navigation.js.map +1 -1
- package/dist/vite/plugin.js +2 -0
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender/prerender.js +30 -0
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/lib/{Button-DTDRi4CT.js → Button-DmS4u8Lj.js} +2 -2
- package/lib/{Button-DTDRi4CT.js.map → Button-DmS4u8Lj.js.map} +1 -1
- package/lib/{Card-hTy9PAnh.js → Card-KFniaZn5.js} +2 -2
- package/lib/{Card-hTy9PAnh.js.map → Card-KFniaZn5.js.map} +1 -1
- package/lib/{CategoryHeading-BGCNu3VK.js → CategoryHeading-DhmodDcq.js} +2 -2
- package/lib/{CategoryHeading-BGCNu3VK.js.map → CategoryHeading-DhmodDcq.js.map} +1 -1
- package/lib/CodeBlock-CanTUJLl.js +221 -0
- package/lib/CodeBlock-CanTUJLl.js.map +1 -0
- package/lib/{Command-TEBTONf1.js → Command-CUcrW3qs.js} +3 -3
- package/lib/{Command-TEBTONf1.js.map → Command-CUcrW3qs.js.map} +1 -1
- package/lib/Dialog-BQciPiHN.js +144 -0
- package/lib/Dialog-BQciPiHN.js.map +1 -0
- package/lib/{Drawer-DM9wJUC6.js → Drawer-Ci7XwhqT.js} +2 -2
- package/lib/Drawer-Ci7XwhqT.js.map +1 -0
- package/lib/DropdownMenu-BZ2NKQ3K.js +126 -0
- package/lib/DropdownMenu-BZ2NKQ3K.js.map +1 -0
- package/lib/{ErrorAlert-xpVkFS_n.js → ErrorAlert-VBJ8aHH7.js} +100 -103
- package/lib/ErrorAlert-VBJ8aHH7.js.map +1 -0
- package/lib/MdxPage-1xaNI6q_.js +240 -0
- package/lib/MdxPage-1xaNI6q_.js.map +1 -0
- package/lib/{OAuthErrorPage-DCjFngGS.js → OAuthErrorPage-Du_4sFER.js} +7 -7
- package/lib/{OAuthErrorPage-DCjFngGS.js.map → OAuthErrorPage-Du_4sFER.js.map} +1 -1
- package/lib/{OasProvider-B6Co-6Vj.js → OasProvider-0xiB5cKH.js} +3 -3
- package/lib/{OasProvider-B6Co-6Vj.js.map → OasProvider-0xiB5cKH.js.map} +1 -1
- package/lib/{OperationList-uu04Ezta.js → OperationList-BzWKTkNq.js} +1328 -1319
- package/lib/OperationList-BzWKTkNq.js.map +1 -0
- package/lib/{Pagination-Cdi_qiXc.js → Pagination-DOcPyfy_.js} +3 -3
- package/lib/{Pagination-Cdi_qiXc.js.map → Pagination-DOcPyfy_.js.map} +1 -1
- package/lib/{RouteGuard-dji1UEYe.js → RouteGuard-Bg0Lu0OU.js} +5 -5
- package/lib/{RouteGuard-dji1UEYe.js.map → RouteGuard-Bg0Lu0OU.js.map} +1 -1
- package/lib/{RouterError-D1I15Qyy.js → RouterError-fm21cqlj.js} +4 -4
- package/lib/{RouterError-D1I15Qyy.js.map → RouterError-fm21cqlj.js.map} +1 -1
- package/lib/{SchemaList-BExl5RED.js → SchemaList-Dea2Skqv.js} +10 -10
- package/lib/{SchemaList-BExl5RED.js.map → SchemaList-Dea2Skqv.js.map} +1 -1
- package/lib/{SchemaView-BYH_AirG.js → SchemaView-H9glU5P7.js} +5 -5
- package/lib/{SchemaView-BYH_AirG.js.map → SchemaView-H9glU5P7.js.map} +1 -1
- package/lib/{Select-CegS9OKH.js → Select-CPoGZU_V.js} +4 -4
- package/lib/{Select-CegS9OKH.js.map → Select-CPoGZU_V.js.map} +1 -1
- package/lib/{SignUp-C-YP_Rxi.js → SignUp-DUZ4yUmQ.js} +9 -9
- package/lib/{SignUp-C-YP_Rxi.js.map → SignUp-DUZ4yUmQ.js.map} +1 -1
- package/lib/{Spinner-Cf6E803I.js → Spinner-CI6bRyZw.js} +2 -2
- package/lib/{Spinner-Cf6E803I.js.map → Spinner-CI6bRyZw.js.map} +1 -1
- package/lib/{SyntaxHighlight-CPF64UHi.js → SyntaxHighlight-B0laqAqK.js} +6 -6
- package/lib/{SyntaxHighlight-CPF64UHi.js.map → SyntaxHighlight-B0laqAqK.js.map} +1 -1
- package/lib/{Toc-Cf5UojVb.js → Toc-KzXCRqrX.js} +3 -3
- package/lib/{Toc-Cf5UojVb.js.map → Toc-KzXCRqrX.js.map} +1 -1
- package/lib/ZudokuContext-BXTZApgy.js +1506 -0
- package/lib/ZudokuContext-BXTZApgy.js.map +1 -0
- package/lib/c-B-NUhs61.js +46 -0
- package/lib/c-B-NUhs61.js.map +1 -0
- package/lib/chunk-PVWAREVJ-BO6B-RAk.js.map +1 -1
- package/lib/{circular-06Yrxzsw.js → circular-OGtD_zFg.js} +30 -30
- package/lib/{circular-06Yrxzsw.js.map → circular-OGtD_zFg.js.map} +1 -1
- package/lib/commonlisp-De080z23.js +28 -0
- package/lib/commonlisp-De080z23.js.map +1 -0
- package/lib/cpp-79Paht7T.js +53 -0
- package/lib/cpp-79Paht7T.js.map +1 -0
- package/lib/{createServer-BA0aitmR.js → createServer-DyUc5BPr.js} +1120 -1083
- package/lib/createServer-DyUc5BPr.js.map +1 -0
- package/lib/{csharp-rrJEDRrV.js → csharp-D8MIL50B.js} +2 -2
- package/lib/{csharp-rrJEDRrV.js.map → csharp-D8MIL50B.js.map} +1 -1
- package/lib/{css-Dpk9bCql.js → css-Bt6hr1td.js} +2 -2
- package/lib/{css-Dpk9bCql.js.map → css-Bt6hr1td.js.map} +1 -1
- package/lib/dart-B0vy1jWB.js +60 -0
- package/lib/dart-B0vy1jWB.js.map +1 -0
- package/lib/elixir-Ds8r0sF8.js +25 -0
- package/lib/elixir-Ds8r0sF8.js.map +1 -0
- package/lib/{errors-ouIp07AW.js → errors-7_i0Oyw4.js} +3 -3
- package/lib/{errors-ouIp07AW.js.map → errors-7_i0Oyw4.js.map} +1 -1
- package/lib/{go-D8SJIQ0Z.js → go-D2VsmIOS.js} +2 -2
- package/lib/{go-D8SJIQ0Z.js.map → go-D2VsmIOS.js.map} +1 -1
- package/lib/{graphql-aeVKJNa2.js → graphql-BtA6M4m5.js} +2 -2
- package/lib/{graphql-aeVKJNa2.js.map → graphql-BtA6M4m5.js.map} +1 -1
- package/lib/hook-CAebs2rv.js +31 -0
- package/lib/hook-CAebs2rv.js.map +1 -0
- package/lib/{html-D_7om-nA.js → html-MGnI2uzP.js} +2 -2
- package/lib/{html-D_7om-nA.js.map → html-MGnI2uzP.js.map} +1 -1
- package/lib/{index-DhL3LhWV.js → index-C5L4favO.js} +166 -50
- package/lib/index-C5L4favO.js.map +1 -0
- package/lib/{index-CVfG8Pb4.js → index-CLJGtw_S.js} +157 -156
- package/lib/index-CLJGtw_S.js.map +1 -0
- package/lib/index-CrcNWbel.js.map +1 -1
- package/lib/{index-BRQDtecD.js → index-PdgTSEkk.js} +779 -896
- package/lib/index-PdgTSEkk.js.map +1 -0
- package/lib/index.esm-BYObtETB.js +1294 -0
- package/lib/index.esm-BYObtETB.js.map +1 -0
- package/lib/index.esm-BnYHxCYC.js.map +1 -1
- package/lib/{java-DUh-EL8n.js → java-CVLzHfb1.js} +2 -2
- package/lib/{java-DUh-EL8n.js.map → java-CVLzHfb1.js.map} +1 -1
- package/lib/{javascript-CrY8dcGu.js → javascript-CcmIpL4G.js} +2 -2
- package/lib/{javascript-CrY8dcGu.js.map → javascript-CcmIpL4G.js.map} +1 -1
- package/lib/{json-DLK2_sdf.js → json-4AyP4uiY.js} +2 -2
- package/lib/{json-DLK2_sdf.js.map → json-4AyP4uiY.js.map} +1 -1
- package/lib/{jsx-runtime-DywqP_6a.js → jsx-runtime-BzflLqGi.js} +109 -111
- package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
- package/lib/{kotlin-rJMOGl7D.js → kotlin-v2plddBQ.js} +2 -2
- package/lib/{kotlin-rJMOGl7D.js.map → kotlin-v2plddBQ.js.map} +1 -1
- package/lib/{markdown-BD9bIU5J.js → markdown-DYGWCmGQ.js} +2 -2
- package/lib/{markdown-BD9bIU5J.js.map → markdown-DYGWCmGQ.js.map} +1 -1
- package/lib/{mdx-G25UCvf3.js → mdx-CHwYvXd4.js} +2 -2
- package/lib/{mdx-G25UCvf3.js.map → mdx-CHwYvXd4.js.map} +1 -1
- package/lib/{mutation-De-1gXxl.js → mutation-CdGPxHNX.js} +2 -2
- package/lib/{mutation-De-1gXxl.js.map → mutation-CdGPxHNX.js.map} +1 -1
- package/lib/{objectivec-DDpj0aWX.js → objectivec-HZY8shkd.js} +2 -2
- package/lib/{objectivec-DDpj0aWX.js.map → objectivec-HZY8shkd.js.map} +1 -1
- package/lib/ocaml-DqsdDdwb.js +52 -0
- package/lib/ocaml-DqsdDdwb.js.map +1 -0
- package/lib/{php-BeG18bSy.js → php-rQXzo7K_.js} +2 -2
- package/lib/{php-BeG18bSy.js.map → php-rQXzo7K_.js.map} +1 -1
- package/lib/powershell-CQje9pm1.js +39 -0
- package/lib/powershell-CQje9pm1.js.map +1 -0
- package/lib/{python-BaF2byD-.js → python-QIQAE5Ei.js} +2 -2
- package/lib/{python-BaF2byD-.js.map → python-QIQAE5Ei.js.map} +1 -1
- package/lib/{react-CQvDN20M.js → react-DHpVpxRv.js} +2 -2
- package/lib/{react-CQvDN20M.js.map → react-DHpVpxRv.js.map} +1 -1
- package/lib/{ruby-CmxRVHMR.js → ruby-B2dU8Ny5.js} +2 -2
- package/lib/{ruby-CmxRVHMR.js.map → ruby-B2dU8Ny5.js.map} +1 -1
- package/lib/{rust-IfSC62c5.js → rust-DYnLHAi2.js} +2 -2
- package/lib/{rust-IfSC62c5.js.map → rust-DYnLHAi2.js.map} +1 -1
- package/lib/scala-CeKInBR8.js +25 -0
- package/lib/scala-CeKInBR8.js.map +1 -0
- package/lib/{shell-BFu0M6m4.js → shell-HUv9oVtp.js} +2 -2
- package/lib/{shell-BFu0M6m4.js.map → shell-HUv9oVtp.js.map} +1 -1
- package/lib/{swift-DckbsN4v.js → swift-B4z6ig1Z.js} +2 -2
- package/lib/{swift-DckbsN4v.js.map → swift-B4z6ig1Z.js.map} +1 -1
- package/lib/{toml-BJsCc8TC.js → toml-Co9mpdct.js} +2 -2
- package/lib/{toml-BJsCc8TC.js.map → toml-Co9mpdct.js.map} +1 -1
- package/lib/{typescript-7qOVMjOC.js → typescript-C26xdBDC.js} +2 -2
- package/lib/{typescript-7qOVMjOC.js.map → typescript-C26xdBDC.js.map} +1 -1
- package/lib/ui/Accordion.js +1 -1
- package/lib/ui/ActionButton.js +3 -3
- package/lib/ui/Alert.js +1 -1
- package/lib/ui/AlertDialog.js +1 -1
- package/lib/ui/Badge.js +1 -1
- package/lib/ui/Breadcrumb.js +1 -1
- package/lib/ui/Button.js +1 -1
- package/lib/ui/Callout.js +1 -1
- package/lib/ui/Card.js +1 -1
- package/lib/ui/Carousel.js +1 -1
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/Checkbox.js +1 -1
- package/lib/ui/CodeBlock.js +2 -2
- package/lib/ui/Command.js +2 -2
- package/lib/ui/Dialog.js +135 -105
- package/lib/ui/Dialog.js.map +1 -1
- package/lib/ui/Drawer.js +2 -2
- package/lib/ui/DropdownMenu.js +1 -1
- package/lib/ui/EmbeddedCodeBlock.js +1 -1
- package/lib/ui/Form.js +2 -2
- package/lib/ui/HoverCard.js +1 -1
- package/lib/ui/Input.js +1 -1
- package/lib/ui/Label.js +1 -1
- 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/ReactComponentDoc.js +1 -1
- package/lib/ui/ScrollArea.js +1 -1
- package/lib/ui/Secret.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/Stepper.js +1 -1
- package/lib/ui/Switch.js +1 -1
- package/lib/ui/SyntaxHighlight.js +4 -4
- package/lib/ui/Tabs.js +1 -1
- package/lib/ui/Textarea.js +1 -1
- package/lib/ui/Toggle.js +1 -1
- package/lib/ui/ToggleGroup.js +1 -1
- package/lib/ui/Tooltip.js +1 -1
- package/lib/ui/Value.js +1 -1
- package/lib/{useExposedProps-B8NHdNRq.js → useExposedProps-Cd7Yg_uG.js} +3 -3
- package/lib/useExposedProps-Cd7Yg_uG.js.map +1 -0
- package/lib/{xml-DAaTIkBX.js → xml-BQOOC04j.js} +2 -2
- package/lib/{xml-DAaTIkBX.js.map → xml-BQOOC04j.js.map} +1 -1
- package/lib/{yaml-DUi-dbfu.js → yaml-BGsJItKv.js} +2 -2
- package/lib/{yaml-DUi-dbfu.js.map → yaml-BGsJItKv.js.map} +1 -1
- package/lib/zig-CUV2sTct.js +35 -0
- package/lib/zig-CUV2sTct.js.map +1 -0
- package/lib/zudoku.__internal.js +1040 -937
- package/lib/zudoku.__internal.js.map +1 -1
- package/lib/zudoku.auth-auth0.js +22 -21
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-azureb2c.js +14 -15
- package/lib/zudoku.auth-azureb2c.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +3 -3
- package/lib/zudoku.auth-openid.js +57 -58
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.auth-supabase.js +2 -2
- package/lib/zudoku.components.js +6 -6
- package/lib/zudoku.hooks.js +6 -6
- package/lib/zudoku.hooks.js.map +1 -1
- package/lib/zudoku.icons.js +1 -1
- package/lib/zudoku.plugin-api-catalog.js +27 -28
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +89 -89
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-pages.js +1 -1
- package/lib/zudoku.plugin-markdown.js +10 -9
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +6 -7
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/lib/zudoku.plugin-search-inkeep.js +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +27 -28
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/lib/zudoku.router.js +1 -1
- package/lib/zudoku.router.js.map +1 -1
- package/package.json +40 -40
- package/src/app/entry.server.tsx +16 -6
- package/src/app/main.css +42 -0
- package/src/lib/assets/language-icons/c.tsx +31 -0
- package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
- package/src/lib/assets/language-icons/cpp.tsx +35 -0
- package/src/lib/assets/language-icons/dart.tsx +39 -0
- package/src/lib/assets/language-icons/elixir.tsx +19 -0
- package/src/lib/assets/language-icons/ocaml.tsx +34 -0
- package/src/lib/assets/language-icons/powershell.tsx +27 -0
- package/src/lib/assets/language-icons/scala.tsx +19 -0
- package/src/lib/assets/language-icons/zig.tsx +32 -0
- package/src/lib/authentication/authentication.ts +3 -1
- package/src/lib/authentication/providers/auth0.tsx +7 -3
- package/src/lib/components/Heading.tsx +2 -6
- package/src/lib/components/LanguageIcon.tsx +45 -0
- package/src/lib/components/Main.tsx +1 -1
- package/src/lib/components/cache.ts +9 -5
- package/src/lib/components/context/ZudokuContext.ts +11 -2
- package/src/lib/core/ZudokuContext.ts +3 -0
- package/src/lib/oas/graphql/index.ts +19 -0
- package/src/lib/plugins/markdown/MdxPage.tsx +125 -8
- package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
- package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
- package/src/lib/plugins/markdown/index.tsx +5 -7
- package/src/lib/plugins/openapi/OperationList.tsx +9 -2
- package/src/lib/plugins/openapi/OperationListItem.tsx +10 -5
- package/src/lib/plugins/openapi/Sidecar.tsx +8 -8
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +1 -0
- package/src/lib/plugins/openapi/graphql/gql.ts +4 -3
- package/src/lib/plugins/openapi/graphql/graphql.ts +20 -3
- package/src/lib/plugins/openapi/index.tsx +10 -30
- package/src/lib/plugins/openapi/playground/Playground.tsx +1 -1
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
- package/src/lib/shiki.ts +9 -0
- package/src/lib/ui/Carousel.tsx +0 -1
- package/src/lib/ui/Dialog.tsx +112 -106
- package/src/lib/util/pastellize.ts +4 -4
- package/src/shiki/langs/hurl.js +1 -0
- package/src/shiki/langs/kdl.js +1 -0
- package/src/shiki/langs/pkl.js +1 -0
- package/src/shiki/langs/rosmsg.js +1 -0
- package/lib/CodeBlock-i0BM_QFf.js +0 -176
- package/lib/CodeBlock-i0BM_QFf.js.map +0 -1
- package/lib/Dialog-VIMic7xI.js +0 -114
- package/lib/Dialog-VIMic7xI.js.map +0 -1
- package/lib/Drawer-DM9wJUC6.js.map +0 -1
- package/lib/ErrorAlert-xpVkFS_n.js.map +0 -1
- package/lib/MdxPage-Ud1w_GV-.js +0 -111
- package/lib/MdxPage-Ud1w_GV-.js.map +0 -1
- package/lib/OperationList-uu04Ezta.js.map +0 -1
- package/lib/ZudokuContext-BcqSiygJ.js +0 -1294
- package/lib/ZudokuContext-BcqSiygJ.js.map +0 -1
- package/lib/createServer-BA0aitmR.js.map +0 -1
- package/lib/hook-BkLXq8pm.js +0 -243
- package/lib/hook-BkLXq8pm.js.map +0 -1
- package/lib/index-BRQDtecD.js.map +0 -1
- package/lib/index-CVfG8Pb4.js.map +0 -1
- package/lib/index-DhL3LhWV.js.map +0 -1
- package/lib/index.esm-DpgNxKa2.js +0 -1267
- package/lib/index.esm-DpgNxKa2.js.map +0 -1
- package/lib/jsx-runtime-DywqP_6a.js.map +0 -1
- package/lib/useExposedProps-B8NHdNRq.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ZudokuContext-BcqSiygJ.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/utils.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/thenable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/retryer.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/removable.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/query.js","../../../node_modules/.pnpm/@tanstack+query-core@5.85.5/node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/suspense.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../node_modules/.pnpm/@tanstack+react-query@5.85.5_react@19.1.1/node_modules/@tanstack/react-query/build/modern/useSuspenseQuery.js","../src/lib/util/joinUrl.ts","../src/lib/components/cache.ts","../src/lib/components/navigation/utils.ts","../src/lib/components/context/ZudokuContext.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 const aItemsSet = new Set(aItems);\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if ((!array && aItemsSet.has(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}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\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 shouldThrowError,\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\nimport { noop } from \"./utils.js\";\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}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\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 continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\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 continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\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 status: () => thenable.status,\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 resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } 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 isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !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 async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retyer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\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 createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\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 createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\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 this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\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 try {\n const data = await this.#retryer.start();\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 throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\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 throw error;\n } finally {\n this.scheduleGc();\n }\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 const newState = {\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 this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\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 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 return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\" && !this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n return Reflect.get(target, key);\n }\n });\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 isEnabled: resolveEnabled(options.enabled, query) !== false\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 && resolveStaleTime(options.staleTime, query) !== \"static\") {\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/IsRestoringProvider.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=IsRestoringProvider.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","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\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 if (defaultedOptions.suspense) {\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? 1e3, 1e3);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\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, noop, 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 \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.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 isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\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","import { cva } from \"class-variance-authority\";\nimport { useLocation } from \"react-router\";\nimport type {\n NavigationCategory,\n NavigationItem,\n} from \"../../../config/validators/NavigationSchema.js\";\nimport type { UseAuthReturn } from \"../../authentication/hook.js\";\nimport type { ZudokuContext } from \"../../core/ZudokuContext.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { useCurrentNavigation } from \"../context/ZudokuContext.js\";\n\nexport type TraverseCallback<T> = (\n item: NavigationItem,\n parentCategories: NavigationItem[],\n) => T | void;\n\nexport const traverseNavigation = <T>(\n navigation: NavigationItem[],\n callback: TraverseCallback<T>,\n): T | undefined => {\n for (const item of navigation) {\n const result = traverseNavigationItem(item, callback);\n if (result !== undefined) return result;\n }\n};\n\nexport const traverseNavigationItem = <T>(\n item: NavigationItem,\n callback: TraverseCallback<T>,\n parentCategories: NavigationItem[] = [],\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 = traverseNavigationItem(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 { navigation } = useCurrentNavigation();\n\n return traverseNavigation(navigation, (item) => {\n if (item.type === \"doc\" && joinUrl(item.path) === location.pathname) {\n return item;\n }\n });\n};\n\nexport const useIsCategoryOpen = (category: NavigationCategory) => {\n const location = useLocation();\n\n return traverseNavigationItem(category, (item) => {\n switch (item.type) {\n case \"category\":\n if (!item.link) {\n return undefined;\n }\n return joinUrl(item.link.path) === location.pathname ? true : undefined;\n case \"custom-page\":\n case \"doc\":\n return joinUrl(item.path) === location.pathname ? true : undefined;\n default:\n return undefined;\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 { navigation } = useCurrentNavigation();\n\n let prev: { label?: string; id: string } | undefined;\n let next: { label?: string; id: string } | undefined;\n\n let foundCurrent = false;\n\n traverseNavigation(navigation, (item) => {\n const itemId =\n item.type === \"doc\"\n ? joinUrl(item.path)\n : item.type === \"category\" && item.link\n ? joinUrl(item.link.path)\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\nexport const navigationListItem = cva(\n \"relative flex items-center gap-2 px-(--padding-nav-item) my-0.5 py-1.5 rounded-lg hover:bg-accent tabular-nums\",\n {\n variants: {\n isActive: {\n true: \"bg-accent font-medium\",\n false: \"text-foreground/80\",\n },\n isMuted: {\n true: \"text-foreground/30\",\n false: \"\",\n },\n isPending: {\n true: \"bg-accent animate-pulse\",\n false: \"\",\n },\n },\n defaultVariants: {\n isActive: false,\n },\n },\n);\n\nexport const shouldShowItem =\n (auth: UseAuthReturn, context: ZudokuContext) =>\n (item: NavigationItem): boolean => {\n if (typeof item.display === \"function\") {\n return item.display({ context, auth });\n }\n\n if (item.display === \"hide\") return false;\n if (!item.label) return false;\n\n return (\n (item.display === \"auth\" && auth.isAuthenticated) ||\n (item.display === \"anon\" && !auth.isAuthenticated) ||\n !item.display ||\n item.display === \"always\"\n );\n };\n","import { useQuery, useSuspenseQuery } from \"@tanstack/react-query\";\nimport { createContext, useContext } from \"react\";\nimport { matchPath, useLocation } from \"react-router\";\nimport type { NavigationItem } from \"../../../config/validators/NavigationSchema.js\";\nimport type { ZudokuContext } from \"../../core/ZudokuContext.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { CACHE_KEYS } from \"../cache.js\";\nimport { traverseNavigation } 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\nconst getItemPath = (item: NavigationItem) => {\n switch (item.type) {\n case \"doc\":\n return joinUrl(item.path);\n case \"category\":\n return item.link ? joinUrl(item.link.path) : undefined;\n case \"link\":\n return item.to;\n case \"custom-page\":\n return joinUrl(item.path);\n default:\n return undefined;\n }\n};\n\nconst extractAllPaths = (items: NavigationItem[]) => {\n const paths = new Set<string>();\n\n const collectPaths = (items: NavigationItem[]) => {\n for (const item of items) {\n const itemPath = getItemPath(item)?.split(\"?\").at(0)?.split(\"#\").at(0);\n\n if (itemPath) paths.add(itemPath);\n if (item.type === \"category\") {\n collectPaths(item.items);\n }\n }\n };\n collectPaths(items);\n\n return [...paths];\n};\n\nexport const useCurrentNavigation = () => {\n const { getPluginNavigation, navigation } = useZudoku();\n const location = useLocation();\n\n const navItem = traverseNavigation(navigation, (item, parentCategories) => {\n if (getItemPath(item) === location.pathname) {\n return parentCategories.at(0) ?? item;\n }\n });\n\n const { data } = useSuspenseQuery({\n queryFn: () => getPluginNavigation(location.pathname),\n queryKey: [\"plugin-navigation\", location.pathname],\n });\n\n let topNavItem = navItem;\n if (!navItem && data.length > 0) {\n const pluginBasePaths = extractAllPaths(data);\n\n topNavItem = navigation\n .flatMap((item) => {\n const itemPath = getItemPath(item);\n return itemPath ? [{ item, path: itemPath }] : [];\n })\n .sort((a, b) => b.path.length - a.path.length)\n .find(({ path }) => {\n return pluginBasePaths.some(\n (basePath) =>\n matchPath({ path, end: false }, basePath) ??\n matchPath({ path: basePath, end: false }, path),\n );\n })?.item;\n }\n\n return {\n navigation: [\n ...(navItem?.type === \"category\" ? navItem.items : []),\n ...data,\n ],\n topNavItem,\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","aItemsSet","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","shouldThrowError","throwOnError","params","FocusManager","#focused","#cleanup","#setup","onFocus","setup","focused","isFocused","focusManager","OnlineManager","#online","onOnline","onlineListener","offlineListener","online","onlineManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","tryResolveSync","promise","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","createRetryer","config","isRetryCancelled","continueFn","isResolved","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","#initialState","#revertState","#cache","#client","#retryer","#defaultOptions","#abortSignalConsumed","getDefaultState","newData","#dispatch","state","setStateOptions","observer","x","abortController","addSignalProperty","object","fetchFn","queryFn","queryFnContext","queryFnContext2","context","context2","action","reducer","fetchState","newState","hasData","initialDataUpdatedAt","QueryObserver","client","#selectError","#currentThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","#updateQuery","mounted","shouldFetchOptionally","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","nextInterval","prevResult","prevResultState","prevResultOptions","queryInitialState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","shouldLoadOnMount","field","optimisticResult","QueryClientContext","React","useQueryClient","queryClient","QueryClientProvider","children","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","defaultThrowOnError","_error","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","shouldSubscribe","onStoreChange","unsubscribe","useQuery","useSuspenseQuery","defaultUrlRegExp","normalizeParts","parts","part","parseParts","partsStr","prefix","pathname","buildUrl","parsedParts","url","joinUrl","normalizedParts","CACHE_KEYS","useCache","NO_DEHYDRATE","traverseNavigation","navigation","traverseNavigationItem","parentCategories","child","childResult","useCurrentItem","location","useLocation","useCurrentNavigation","useIsCategoryOpen","category","usePrevNext","currentId","prev","next","foundCurrent","itemId","navigationListItem","cva","shouldShowItem","auth","ZudokuReactContext","createContext","useZudoku","useContext","useApiIdentities","getApiIdentities","getItemPath","extractAllPaths","paths","collectPaths","itemPath","getPluginNavigation","navItem","topNavItem","pluginBasePaths","path","basePath","matchPath"],"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]}
|