zudoku 0.0.0-f40ea27 → 0.0.0-f42e3678
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/README.md +2 -2
- package/dist/app/demo.js +16 -1
- package/dist/app/demo.js.map +1 -1
- package/dist/app/main.js +3 -9
- package/dist/app/main.js.map +1 -1
- package/dist/cli/build/handler.js +9 -1
- package/dist/cli/build/handler.js.map +1 -1
- package/dist/config/config.d.ts +1 -0
- package/dist/config/loader.js +2 -5
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/BuildSchema.js +5 -0
- package/dist/config/validators/BuildSchema.js.map +1 -1
- package/dist/config/validators/InputNavigationSchema.d.ts +254 -163
- package/dist/config/validators/InputNavigationSchema.js +4 -4
- package/dist/config/validators/InputNavigationSchema.js.map +1 -1
- package/dist/config/validators/InputNavigationSchema.test-d.js +0 -1
- package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -1
- package/dist/config/validators/NavigationSchema.js +3 -2
- package/dist/config/validators/NavigationSchema.js.map +1 -1
- package/dist/config/validators/ProtectedRoutesSchema.d.ts +12 -0
- package/dist/config/validators/ProtectedRoutesSchema.js +19 -0
- package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -0
- package/dist/config/validators/icon-types.d.ts +1 -1
- package/dist/config/validators/icon-types.js +16 -0
- package/dist/config/validators/icon-types.js.map +1 -1
- package/dist/config/validators/validate.d.ts +36 -20
- package/dist/config/validators/validate.js +18 -4
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/config/validators/validate.test.js +65 -2
- package/dist/config/validators/validate.test.js.map +1 -1
- package/dist/flat-config.d.ts +8 -6
- package/dist/lib/authentication/authentication.d.ts +2 -0
- package/dist/lib/authentication/components/CallbackHandler.js +11 -9
- package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
- package/dist/lib/authentication/components/OAuthErrorPage.d.ts +3 -0
- package/dist/lib/authentication/components/OAuthErrorPage.js +99 -0
- package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -0
- package/dist/lib/authentication/components/SignIn.js +4 -3
- package/dist/lib/authentication/components/SignIn.js.map +1 -1
- package/dist/lib/authentication/errors.d.ts +6 -12
- package/dist/lib/authentication/errors.js +2 -1
- package/dist/lib/authentication/errors.js.map +1 -1
- package/dist/lib/authentication/hook.d.ts +1 -0
- package/dist/lib/authentication/hook.js.map +1 -1
- package/dist/lib/authentication/providers/azureb2c.js +4 -2
- package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
- package/dist/lib/authentication/providers/clerk.js +4 -2
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +4 -2
- package/dist/lib/authentication/providers/openid.js +14 -6
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/components/Banner.js +1 -1
- package/dist/lib/components/Banner.js.map +1 -1
- package/dist/lib/components/CategoryHeading.js +1 -1
- package/dist/lib/components/CategoryHeading.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/Heading.js +1 -1
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/Markdown.js +2 -2
- package/dist/lib/components/Markdown.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +11 -6
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/NotFoundPage.js +1 -1
- package/dist/lib/components/NotFoundPage.js.map +1 -1
- package/dist/lib/components/Pagination.js +1 -1
- package/dist/lib/components/Pagination.js.map +1 -1
- package/dist/lib/components/StatusPage.js +4 -0
- package/dist/lib/components/StatusPage.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +5 -0
- package/dist/lib/components/TopNavigation.js +20 -15
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/Typography.d.ts +1 -1
- package/dist/lib/components/Typography.js +1 -1
- package/dist/lib/components/Typography.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.js +21 -13
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/navigation/NavigationItem.d.ts +1 -1
- package/dist/lib/components/navigation/NavigationItem.js +8 -1
- package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
- package/dist/lib/components/navigation/NavigationWrapper.js +1 -1
- package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -1
- package/dist/lib/components/navigation/utils.d.ts +3 -1
- package/dist/lib/components/navigation/utils.js +6 -3
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/RouteGuard.js +9 -9
- package/dist/lib/core/RouteGuard.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +5 -2
- package/dist/lib/core/ZudokuContext.js +27 -2
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +2 -1
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/errors/ErrorAlert.js +1 -1
- package/dist/lib/errors/ErrorAlert.js.map +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKey.js +7 -3
- package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js +6 -4
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
- package/dist/lib/plugins/api-keys/index.d.ts +1 -0
- package/dist/lib/plugins/api-keys/index.js +4 -8
- package/dist/lib/plugins/api-keys/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +4 -3
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +2 -1
- package/dist/lib/plugins/openapi/OperationList.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/graphql/gql.d.ts +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +1 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js +1 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +43 -11
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +4 -2
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/search-inkeep/index.d.ts +5 -22
- package/dist/lib/plugins/search-inkeep/index.js +35 -29
- package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
- package/dist/lib/plugins/search-inkeep/inkeep.d.ts +5 -21
- package/dist/lib/plugins/search-inkeep/inkeep.js +10 -19
- package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js +1 -1
- package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -1
- package/dist/lib/plugins/search-pagefind/ResultList.js +12 -5
- package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
- package/dist/lib/ui/ActionButton.js +1 -1
- package/dist/lib/ui/ActionButton.js.map +1 -1
- package/dist/lib/ui/Alert.d.ts +1 -1
- package/dist/lib/ui/Badge.d.ts +1 -1
- package/dist/lib/ui/Button.d.ts +2 -2
- package/dist/lib/ui/CodeBlock.js +1 -1
- package/dist/lib/ui/CodeBlock.js.map +1 -1
- package/dist/lib/ui/Command.d.ts +1 -1
- package/dist/lib/ui/EmbeddedCodeBlock.js +1 -1
- package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
- package/dist/lib/util/invariant.d.ts +6 -5
- package/dist/lib/util/invariant.js +1 -1
- package/dist/lib/util/invariant.js.map +1 -1
- package/dist/vite/build.js +7 -1
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/dev-server.js +9 -1
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/mdx/remark-last-modified.js +1 -28
- package/dist/vite/mdx/remark-last-modified.js.map +1 -1
- package/dist/vite/plugin-docs.js +20 -13
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-mdx.js +2 -3
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-theme.js +88 -49
- package/dist/vite/plugin-theme.js.map +1 -1
- package/dist/vite/plugin-theme.test.js +25 -4
- package/dist/vite/plugin-theme.test.js.map +1 -1
- package/dist/vite/prerender/worker.js +5 -1
- package/dist/vite/prerender/worker.js.map +1 -1
- package/dist/vite/shadcn-registry.d.ts +8 -8
- package/lib/{Button-BE9IVkWV.js → Button-B3o-2Xdf.js} +2 -2
- package/lib/{Button-BE9IVkWV.js.map → Button-B3o-2Xdf.js.map} +1 -1
- package/lib/{Card-DPhGbYUM.js → Card-CMDQUPM4.js} +2 -2
- package/lib/{Card-DPhGbYUM.js.map → Card-CMDQUPM4.js.map} +1 -1
- package/lib/ClientOnly-E7hGysn1.js.map +1 -1
- package/lib/{CodeBlock-DAKxs_Tu.js → CodeBlock-B-G0eKtw.js} +3 -3
- package/lib/{CodeBlock-DAKxs_Tu.js.map → CodeBlock-B-G0eKtw.js.map} +1 -1
- package/lib/{Command-xsbs2uhf.js → Command-BYukybsa.js} +3 -3
- package/lib/{Command-xsbs2uhf.js.map → Command-BYukybsa.js.map} +1 -1
- package/lib/{Dialog-CiIdyz6a.js → Dialog-u9Uz9sTt.js} +5 -5
- package/lib/{Dialog-CiIdyz6a.js.map → Dialog-u9Uz9sTt.js.map} +1 -1
- package/lib/{Drawer-BzkOKwgC.js → Drawer-DJ05s2pH.js} +86 -86
- package/lib/{Drawer-BzkOKwgC.js.map → Drawer-DJ05s2pH.js.map} +1 -1
- package/lib/{MdxPage-swXPJ0gf.js → MdxPage-Bsko6_kb.js} +34 -34
- package/lib/MdxPage-Bsko6_kb.js.map +1 -0
- package/lib/OAuthErrorPage-DJzGiIBt.js +150 -0
- package/lib/OAuthErrorPage-DJzGiIBt.js.map +1 -0
- package/lib/{OasProvider-CDAM3TB1.js → OasProvider-DQQRt3oS.js} +3 -3
- package/lib/{OasProvider-CDAM3TB1.js.map → OasProvider-DQQRt3oS.js.map} +1 -1
- package/lib/{OperationList-C9Hb9ql8.js → OperationList-DpmkHf26.js} +212 -210
- package/lib/OperationList-DpmkHf26.js.map +1 -0
- package/lib/{Pagination-VGlgeCmS.js → Pagination-kqFNgtnI.js} +10 -9
- package/lib/Pagination-kqFNgtnI.js.map +1 -0
- package/lib/{RouteGuard-CbKd7_9h.js → RouteGuard-0wPUKdxJ.js} +166 -165
- package/lib/{RouteGuard-CbKd7_9h.js.map → RouteGuard-0wPUKdxJ.js.map} +1 -1
- package/lib/{SchemaList-BAbh1BXO.js → SchemaList-DS-pMd6B.js} +9 -9
- package/lib/{SchemaList-BAbh1BXO.js.map → SchemaList-DS-pMd6B.js.map} +1 -1
- package/lib/{SchemaView-C2Io712T.js → SchemaView-BnN6WHjw.js} +6 -6
- package/lib/{SchemaView-C2Io712T.js.map → SchemaView-BnN6WHjw.js.map} +1 -1
- package/lib/Select-BmTTKNPp.js +273 -0
- package/lib/Select-BmTTKNPp.js.map +1 -0
- package/lib/SignUp-BwOSCD-6.js +56 -0
- package/lib/SignUp-BwOSCD-6.js.map +1 -0
- package/lib/{Slot-DwZlQ-vX.js → Slot-DAyXieeZ.js} +1634 -1643
- package/lib/Slot-DAyXieeZ.js.map +1 -0
- package/lib/Spinner-mNLZ6awP.js.map +1 -1
- package/lib/{SyntaxHighlight-CrjhGEwT.js → SyntaxHighlight-BMKR4pl6.js} +757 -757
- package/lib/SyntaxHighlight-BMKR4pl6.js.map +1 -0
- package/lib/{Toc-WCmwFkX-.js → Toc-BKDRCQzU.js} +3 -3
- package/lib/{Toc-WCmwFkX-.js.map → Toc-BKDRCQzU.js.map} +1 -1
- package/lib/ZudokuContext-CLl5w57E.js +1278 -0
- package/lib/ZudokuContext-CLl5w57E.js.map +1 -0
- package/lib/{chunk-DQRVZFIR-DHK7_Ilc.js → chunk-QMGIS6GS-CEOk3lro.js} +3 -3
- package/lib/chunk-QMGIS6GS-CEOk3lro.js.map +1 -0
- package/lib/{circular-B42RaanD.js → circular-8GWQDvCW.js} +2 -2
- package/lib/{circular-B42RaanD.js.map → circular-8GWQDvCW.js.map} +1 -1
- package/lib/{cn-wvCW-ho6.js → cn-dYga0KKN.js} +2 -2
- package/lib/cn-dYga0KKN.js.map +1 -0
- package/lib/{createServer-BKFsRuuk.js → createServer-BsezSzvV.js} +3398 -3552
- package/lib/createServer-BsezSzvV.js.map +1 -0
- package/lib/errors-Cs7hKmdL.js +45 -0
- package/lib/errors-Cs7hKmdL.js.map +1 -0
- package/lib/hook-DbUCLQNg.js +247 -0
- package/lib/hook-DbUCLQNg.js.map +1 -0
- package/lib/index-A5Qdwj1B.js +4081 -0
- package/lib/index-A5Qdwj1B.js.map +1 -0
- package/lib/{index-B6Re5_cx.js → index-Bg7Js3jB.js} +873 -951
- package/lib/index-Bg7Js3jB.js.map +1 -0
- package/lib/{index-CcV90rin.js → index-BkW9tJ6j.js} +2 -2
- package/lib/{index-CcV90rin.js.map → index-BkW9tJ6j.js.map} +1 -1
- package/lib/index-Bm35Tkgf.js +107 -0
- package/lib/index-Bm35Tkgf.js.map +1 -0
- package/lib/index-CrcNWbel.js.map +1 -1
- package/lib/index-DI5SPFK9.js.map +1 -1
- package/lib/index-DmNq2fbN.js.map +1 -1
- package/lib/index.esm-CdzlRw50.js +1254 -0
- package/lib/index.esm-CdzlRw50.js.map +1 -0
- package/lib/{invariant-DAFpPywt.js → invariant-Bm-FVUQE.js} +2 -6
- package/lib/invariant-Bm-FVUQE.js.map +1 -0
- package/lib/jsx-runtime-C5mzlN2N.js.map +1 -1
- package/lib/processors/removeExtensions.js.map +1 -1
- package/lib/processors/removeParameters.js.map +1 -1
- package/lib/processors/removePaths.js.map +1 -1
- package/lib/processors/traverse.js.map +1 -1
- package/lib/ui/Accordion.js +1 -1
- package/lib/ui/Accordion.js.map +1 -1
- package/lib/ui/ActionButton.js +10 -10
- package/lib/ui/ActionButton.js.map +1 -1
- package/lib/ui/Alert.js +1 -1
- package/lib/ui/Alert.js.map +1 -1
- package/lib/ui/AlertDialog.js +1 -1
- package/lib/ui/AlertDialog.js.map +1 -1
- package/lib/ui/Badge.js +1 -1
- package/lib/ui/Badge.js.map +1 -1
- package/lib/ui/Breadcrumb.js +1 -1
- package/lib/ui/Breadcrumb.js.map +1 -1
- package/lib/ui/Button.js +1 -1
- package/lib/ui/Button.js.map +1 -1
- package/lib/ui/Callout.js +1 -1
- package/lib/ui/Callout.js.map +1 -1
- package/lib/ui/Card.js +1 -1
- package/lib/ui/Card.js.map +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/Checkbox.js.map +1 -1
- package/lib/ui/CodeBlock.js +2 -2
- package/lib/ui/Command.js +2 -2
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Dialog.js +1 -1
- 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/DropdownMenu.js.map +1 -1
- package/lib/ui/EmbeddedCodeBlock.js +2 -2
- package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
- package/lib/ui/Form.js +2 -2
- package/lib/ui/Form.js.map +1 -1
- package/lib/ui/HoverCard.js +1 -1
- package/lib/ui/HoverCard.js.map +1 -1
- package/lib/ui/Input.js +1 -1
- package/lib/ui/Input.js.map +1 -1
- package/lib/ui/Label.js +1 -1
- package/lib/ui/Label.js.map +1 -1
- package/lib/ui/Pagination.js +1 -1
- package/lib/ui/Pagination.js.map +1 -1
- package/lib/ui/Popover.js +1 -1
- package/lib/ui/Popover.js.map +1 -1
- package/lib/ui/Progress.js +1 -1
- package/lib/ui/Progress.js.map +1 -1
- package/lib/ui/RadioGroup.js +1 -1
- package/lib/ui/RadioGroup.js.map +1 -1
- package/lib/ui/ScrollArea.js +1 -1
- package/lib/ui/ScrollArea.js.map +1 -1
- package/lib/ui/Select.js +1 -1
- package/lib/ui/Select.js.map +1 -1
- package/lib/ui/Skeleton.js +1 -1
- package/lib/ui/Skeleton.js.map +1 -1
- package/lib/ui/Slider.js +1 -1
- package/lib/ui/Slider.js.map +1 -1
- package/lib/ui/Stepper.js.map +1 -1
- package/lib/ui/Switch.js +1 -1
- package/lib/ui/Switch.js.map +1 -1
- package/lib/ui/SyntaxHighlight.js +4 -4
- package/lib/ui/Tabs.js +1 -1
- package/lib/ui/Tabs.js.map +1 -1
- package/lib/ui/Textarea.js +1 -1
- package/lib/ui/Textarea.js.map +1 -1
- package/lib/ui/Toggle.js +1 -1
- package/lib/ui/Toggle.js.map +1 -1
- package/lib/ui/ToggleGroup.js +1 -1
- package/lib/ui/ToggleGroup.js.map +1 -1
- package/lib/ui/Tooltip.js +1 -1
- package/lib/ui/Tooltip.js.map +1 -1
- package/lib/ui/util.js +1 -1
- package/lib/{useExposedProps-BIYjecPD.js → useExposedProps-KcgXHKeE.js} +2 -2
- package/lib/{useExposedProps-BIYjecPD.js.map → useExposedProps-KcgXHKeE.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-azureb2c.js +46 -9883
- package/lib/zudoku.auth-azureb2c.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +25 -22
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +249 -231
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.auth-supabase.js +97 -0
- package/lib/zudoku.auth-supabase.js.map +1 -0
- package/lib/zudoku.components.js +30 -29
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.hooks.js +17 -16
- package/lib/zudoku.hooks.js.map +1 -1
- package/lib/zudoku.icons.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +26 -25
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +428 -299
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-pages.js +1 -1
- package/lib/zudoku.plugin-custom-pages.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +7 -6
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-redirect.js.map +1 -1
- package/lib/zudoku.plugin-search-inkeep.js +54 -57
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +123 -118
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/lib/zudoku.plugins.js.map +1 -1
- package/package.json +34 -33
- package/src/app/demo.tsx +19 -2
- package/src/app/main.css +26 -5
- package/src/app/main.tsx +6 -14
- package/src/lib/authentication/authentication.ts +2 -2
- package/src/lib/authentication/components/CallbackHandler.tsx +22 -15
- package/src/lib/authentication/components/OAuthErrorPage.tsx +171 -0
- package/src/lib/authentication/components/SignIn.tsx +5 -12
- package/src/lib/authentication/errors.ts +27 -13
- package/src/lib/authentication/hook.ts +2 -0
- package/src/lib/authentication/providers/azureb2c.tsx +8 -3
- package/src/lib/authentication/providers/clerk.tsx +4 -1
- package/src/lib/authentication/providers/openid.tsx +30 -5
- package/src/lib/components/Banner.tsx +0 -1
- package/src/lib/components/CategoryHeading.tsx +4 -1
- package/src/lib/components/Header.tsx +5 -2
- package/src/lib/components/Heading.tsx +1 -1
- package/src/lib/components/Markdown.tsx +3 -3
- package/src/lib/components/MobileTopNavigation.tsx +60 -8
- package/src/lib/components/NotFoundPage.tsx +3 -2
- package/src/lib/components/Pagination.tsx +1 -0
- package/src/lib/components/StatusPage.tsx +5 -0
- package/src/lib/components/TopNavigation.tsx +34 -18
- package/src/lib/components/Typography.tsx +1 -1
- package/src/lib/components/context/ZudokuContext.ts +25 -18
- package/src/lib/components/navigation/NavigationItem.tsx +9 -1
- package/src/lib/components/navigation/NavigationWrapper.tsx +4 -1
- package/src/lib/components/navigation/utils.ts +9 -3
- package/src/lib/core/RouteGuard.tsx +13 -13
- package/src/lib/core/ZudokuContext.ts +40 -5
- package/src/lib/core/plugins.ts +2 -1
- package/src/lib/errors/ErrorAlert.tsx +5 -7
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +12 -1
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +37 -13
- package/src/lib/plugins/api-keys/index.tsx +8 -9
- package/src/lib/plugins/markdown/MdxPage.tsx +4 -3
- package/src/lib/plugins/openapi/OperationList.tsx +4 -2
- package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
- package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -1
- package/src/lib/plugins/openapi/graphql/gql.ts +3 -3
- package/src/lib/plugins/openapi/graphql/graphql.ts +2 -0
- package/src/lib/plugins/openapi/index.tsx +67 -17
- package/src/lib/plugins/openapi/playground/PathParams.tsx +1 -1
- package/src/lib/plugins/openapi/playground/Playground.tsx +8 -2
- package/src/lib/plugins/search-inkeep/index.tsx +54 -58
- package/src/lib/plugins/search-inkeep/inkeep.ts +19 -21
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +1 -0
- package/src/lib/plugins/search-pagefind/ResultList.tsx +13 -4
- package/src/lib/ui/ActionButton.tsx +3 -1
- package/src/lib/ui/Alert.tsx +1 -1
- package/src/lib/ui/CodeBlock.tsx +1 -1
- package/src/lib/ui/EmbeddedCodeBlock.tsx +1 -1
- package/src/lib/util/invariant.ts +7 -5
- package/lib/Alert-CT_ViLrJ.js +0 -161
- package/lib/Alert-CT_ViLrJ.js.map +0 -1
- package/lib/MdxPage-swXPJ0gf.js.map +0 -1
- package/lib/OperationList-C9Hb9ql8.js.map +0 -1
- package/lib/Pagination-VGlgeCmS.js.map +0 -1
- package/lib/SignUp-5RUdVhnq.js +0 -63
- package/lib/SignUp-5RUdVhnq.js.map +0 -1
- package/lib/Slot-DwZlQ-vX.js.map +0 -1
- package/lib/SyntaxHighlight-CrjhGEwT.js.map +0 -1
- package/lib/chunk-DQRVZFIR-DHK7_Ilc.js.map +0 -1
- package/lib/clerk-BDZ31hjU.js +0 -25190
- package/lib/clerk-BDZ31hjU.js.map +0 -1
- package/lib/cn-wvCW-ho6.js.map +0 -1
- package/lib/createServer-BKFsRuuk.js.map +0 -1
- package/lib/errors-CF2X_x5o.js +0 -78
- package/lib/errors-CF2X_x5o.js.map +0 -1
- package/lib/hook-Bd0yS8M0.js +0 -1503
- package/lib/hook-Bd0yS8M0.js.map +0 -1
- package/lib/index-B6Re5_cx.js.map +0 -1
- package/lib/index-CLy1XyH0.js +0 -3919
- package/lib/index-CLy1XyH0.js.map +0 -1
- package/lib/index-ClhS5TxS.js +0 -107
- package/lib/index-ClhS5TxS.js.map +0 -1
- package/lib/index.esm-Cp4wkyud.js +0 -1236
- package/lib/index.esm-Cp4wkyud.js.map +0 -1
- package/lib/invariant-DAFpPywt.js.map +0 -1
|
@@ -1,102 +1,98 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
InkeepBaseSettings,
|
|
3
|
+
InkeepComponentInstance,
|
|
4
|
+
InkeepJS,
|
|
5
|
+
InkeepSettings,
|
|
6
|
+
} from "@inkeep/cxkit-types";
|
|
7
|
+
import { useEffect, useMemo, useState } from "react";
|
|
2
8
|
import { ClientOnly } from "../../components/ClientOnly.js";
|
|
3
9
|
import type { ZudokuPlugin } from "../../core/plugins.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
organizationDisplayName?: string;
|
|
11
|
-
primaryBrandColor: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface InkeepEmbedConfig {
|
|
15
|
-
componentType: string;
|
|
16
|
-
targetElement: HTMLElement;
|
|
17
|
-
properties: unknown;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
interface InkeepWidget {
|
|
21
|
-
render: (config: InkeepEmbedConfig & { isOpen: boolean }) => void;
|
|
22
|
-
}
|
|
10
|
+
import {
|
|
11
|
+
aiChatSettings,
|
|
12
|
+
baseSettings,
|
|
13
|
+
modalSettings,
|
|
14
|
+
searchSettings,
|
|
15
|
+
} from "./inkeep.js";
|
|
23
16
|
|
|
24
17
|
declare global {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
18
|
+
interface Window {
|
|
19
|
+
Inkeep: InkeepJS | undefined;
|
|
20
|
+
}
|
|
28
21
|
}
|
|
29
22
|
|
|
30
23
|
const InkeepSearch = ({
|
|
31
|
-
prefilledQuery,
|
|
32
24
|
isOpen,
|
|
33
25
|
onClose,
|
|
34
26
|
settings,
|
|
35
27
|
}: {
|
|
36
28
|
isOpen: boolean;
|
|
37
29
|
onClose: () => void;
|
|
38
|
-
|
|
39
|
-
settings: PluginInkeepBaseSettings;
|
|
30
|
+
settings: InkeepBaseSettings;
|
|
40
31
|
}) => {
|
|
41
|
-
const
|
|
42
|
-
const widgetRef = useRef<InkeepWidget | null>(null);
|
|
43
|
-
const [isInkeepAvailable, setIsInkeepAvailable] = useState(
|
|
44
|
-
typeof Inkeep !== "undefined",
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
const config: InkeepEmbedConfig = useMemo(
|
|
32
|
+
const config = useMemo<InkeepSettings>(
|
|
48
33
|
() => ({
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
34
|
+
baseSettings: {
|
|
35
|
+
...baseSettings,
|
|
36
|
+
...settings,
|
|
37
|
+
colorMode: {
|
|
38
|
+
sync: {
|
|
39
|
+
target: "html",
|
|
40
|
+
attributes: ["class"],
|
|
41
|
+
isDarkMode: (attrs) => attrs["class"]?.includes("dark") ?? false,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
modalSettings: {
|
|
46
|
+
...modalSettings,
|
|
47
|
+
onOpenChange: (newOpen: boolean) => {
|
|
48
|
+
if (!newOpen) onClose();
|
|
58
49
|
},
|
|
59
|
-
aiChatSettings,
|
|
60
50
|
},
|
|
51
|
+
searchSettings,
|
|
52
|
+
aiChatSettings,
|
|
61
53
|
}),
|
|
62
|
-
[
|
|
54
|
+
[onClose, settings],
|
|
55
|
+
);
|
|
56
|
+
const [searchInstance, setSearchInstance] = useState<
|
|
57
|
+
InkeepComponentInstance | undefined
|
|
58
|
+
>(
|
|
59
|
+
typeof window !== "undefined" && window.Inkeep?.ModalSearchAndChat
|
|
60
|
+
? window.Inkeep.ModalSearchAndChat(config)!
|
|
61
|
+
: undefined,
|
|
63
62
|
);
|
|
64
63
|
|
|
65
64
|
useEffect(() => {
|
|
66
|
-
if (
|
|
65
|
+
if (searchInstance) return;
|
|
67
66
|
|
|
68
67
|
const checkInkeep = setInterval(() => {
|
|
69
|
-
if (typeof
|
|
70
|
-
|
|
68
|
+
if (typeof window !== "undefined" && window.Inkeep?.ModalSearchAndChat) {
|
|
69
|
+
const inkeep = window.Inkeep.ModalSearchAndChat(config)!;
|
|
70
|
+
setSearchInstance(inkeep);
|
|
71
71
|
clearInterval(checkInkeep);
|
|
72
72
|
}
|
|
73
73
|
}, 100);
|
|
74
74
|
|
|
75
75
|
return () => clearInterval(checkInkeep);
|
|
76
|
-
}, [
|
|
76
|
+
}, [config, searchInstance]);
|
|
77
77
|
|
|
78
78
|
useEffect(() => {
|
|
79
|
-
if (!
|
|
80
|
-
|
|
81
|
-
widgetRef.current = Inkeep().embed(config);
|
|
82
|
-
}, [config, isInkeepAvailable]);
|
|
79
|
+
if (!searchInstance) return;
|
|
83
80
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}, [config, isOpen]);
|
|
81
|
+
searchInstance.update({ modalSettings: { isOpen } });
|
|
82
|
+
}, [isOpen, searchInstance]);
|
|
87
83
|
|
|
88
|
-
return
|
|
84
|
+
return null;
|
|
89
85
|
};
|
|
90
86
|
|
|
91
87
|
export const inkeepSearchPlugin = (
|
|
92
|
-
settings:
|
|
88
|
+
settings: InkeepBaseSettings,
|
|
93
89
|
): ZudokuPlugin => {
|
|
94
90
|
return {
|
|
95
91
|
getHead: () => {
|
|
96
92
|
return (
|
|
97
93
|
<script
|
|
98
94
|
type="module"
|
|
99
|
-
src="https://
|
|
95
|
+
src="https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5.90/+esm"
|
|
100
96
|
defer
|
|
101
97
|
/>
|
|
102
98
|
);
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
variant: "no-shadow",
|
|
8
|
-
},
|
|
9
|
-
},
|
|
10
|
-
SearchBarTrigger: {
|
|
11
|
-
defaultProps: {
|
|
12
|
-
size: "expand",
|
|
13
|
-
variant: "subtle", // Choose from 'emphasized' or 'subtle'
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
} as const;
|
|
1
|
+
import type {
|
|
2
|
+
InkeepAIChatSettings,
|
|
3
|
+
InkeepBaseSettings,
|
|
4
|
+
InkeepModalSettings,
|
|
5
|
+
InkeepSearchSettings,
|
|
6
|
+
} from "@inkeep/cxkit-types";
|
|
19
7
|
|
|
20
|
-
const
|
|
8
|
+
const baseSettings: InkeepBaseSettings = {
|
|
9
|
+
primaryBrandColor: "#26D6FF",
|
|
10
|
+
};
|
|
21
11
|
|
|
22
|
-
const
|
|
12
|
+
const modalSettings: InkeepModalSettings = {
|
|
13
|
+
shortcutKey: "k",
|
|
14
|
+
};
|
|
23
15
|
|
|
24
|
-
const
|
|
16
|
+
const searchSettings: InkeepSearchSettings = {
|
|
17
|
+
placeholder: "Search...",
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const aiChatSettings: InkeepAIChatSettings = {
|
|
21
|
+
aiAssistantName: "Assistant",
|
|
22
|
+
};
|
|
25
23
|
|
|
26
24
|
export { aiChatSettings, baseSettings, modalSettings, searchSettings };
|
|
@@ -2,6 +2,7 @@ import { BracketsIcon, FileTextIcon } from "lucide-react";
|
|
|
2
2
|
import { useLayoutEffect, useRef } from "react";
|
|
3
3
|
import { Link, useNavigate } from "react-router";
|
|
4
4
|
import { CommandGroup, CommandItem, CommandList } from "zudoku/ui/Command.js";
|
|
5
|
+
import { joinUrl } from "../../util/joinUrl.js";
|
|
5
6
|
import {
|
|
6
7
|
type PagefindSearchFragment,
|
|
7
8
|
type PagefindSubResult,
|
|
@@ -22,6 +23,7 @@ const sortSubResults = (a: PagefindSubResult, b: PagefindSubResult) => {
|
|
|
22
23
|
const hoverClassname = `cursor-pointer border border-transparent data-[selected=true]:border-border`;
|
|
23
24
|
|
|
24
25
|
export const ResultList = ({
|
|
26
|
+
basePath,
|
|
25
27
|
searchResults,
|
|
26
28
|
searchTerm,
|
|
27
29
|
onClose,
|
|
@@ -42,6 +44,13 @@ export const ResultList = ({
|
|
|
42
44
|
});
|
|
43
45
|
}, [searchTerm]);
|
|
44
46
|
|
|
47
|
+
const stripBasePath = (url: string) => {
|
|
48
|
+
if (basePath && url.startsWith(basePath)) {
|
|
49
|
+
return joinUrl(url.slice(basePath.length));
|
|
50
|
+
}
|
|
51
|
+
return url;
|
|
52
|
+
};
|
|
53
|
+
|
|
45
54
|
return (
|
|
46
55
|
<CommandList className="max-h-[450px]" ref={commandListRef}>
|
|
47
56
|
{searchTerm && searchResults.length > 0 && (
|
|
@@ -60,11 +69,11 @@ export const ResultList = ({
|
|
|
60
69
|
value={`${result.meta.title}-${result.url}`}
|
|
61
70
|
className={hoverClassname}
|
|
62
71
|
onSelect={() => {
|
|
63
|
-
void navigate(result.url);
|
|
72
|
+
void navigate(stripBasePath(result.url));
|
|
64
73
|
onClose();
|
|
65
74
|
}}
|
|
66
75
|
>
|
|
67
|
-
<Link to={result.url}>
|
|
76
|
+
<Link to={stripBasePath(result.url)}>
|
|
68
77
|
{result.meta.section === "openapi" ? (
|
|
69
78
|
<BracketsIcon />
|
|
70
79
|
) : (
|
|
@@ -83,11 +92,11 @@ export const ResultList = ({
|
|
|
83
92
|
value={`sub-${result.meta.title}-${subResult.url}`}
|
|
84
93
|
className={hoverClassname}
|
|
85
94
|
onSelect={() => {
|
|
86
|
-
void navigate(subResult.url);
|
|
95
|
+
void navigate(stripBasePath(subResult.url));
|
|
87
96
|
onClose();
|
|
88
97
|
}}
|
|
89
98
|
>
|
|
90
|
-
<Link to={subResult.url} onClick={onClose}>
|
|
99
|
+
<Link to={stripBasePath(subResult.url)} onClick={onClose}>
|
|
91
100
|
<div className="flex flex-col items-start gap-2 ms-2.5 ps-5 border-l border-muted-foreground/50">
|
|
92
101
|
<span className="font-bold">{subResult.title}</span>
|
|
93
102
|
<span
|
|
@@ -19,7 +19,9 @@ export const ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>(
|
|
|
19
19
|
<Spinner />
|
|
20
20
|
</div>
|
|
21
21
|
)}
|
|
22
|
-
<
|
|
22
|
+
<span className={cn("block", isPending && "invisible")}>
|
|
23
|
+
{children}
|
|
24
|
+
</span>
|
|
23
25
|
</Button>
|
|
24
26
|
);
|
|
25
27
|
},
|
package/src/lib/ui/Alert.tsx
CHANGED
package/src/lib/ui/CodeBlock.tsx
CHANGED
|
@@ -76,7 +76,7 @@ export const CodeBlock = ({
|
|
|
76
76
|
</div>
|
|
77
77
|
<div
|
|
78
78
|
className={cn(
|
|
79
|
-
"code-block text-sm not-prose scrollbar overflow-x-auto scrollbar p-4",
|
|
79
|
+
"code-block text-sm not-prose scrollbar overflow-x-auto scrollbar [&>code]:p-4",
|
|
80
80
|
props.className,
|
|
81
81
|
)}
|
|
82
82
|
ref={ref}
|
|
@@ -40,7 +40,7 @@ export const EmbeddedCodeBlock = ({
|
|
|
40
40
|
>
|
|
41
41
|
<div
|
|
42
42
|
className={cn(
|
|
43
|
-
"code-block text-sm not-prose scrollbar overflow-x-auto scrollbar p-4",
|
|
43
|
+
"code-block text-sm not-prose scrollbar overflow-x-auto scrollbar [&>pre]:p-4",
|
|
44
44
|
props.className,
|
|
45
45
|
)}
|
|
46
46
|
ref={ref}
|
|
@@ -18,17 +18,19 @@ export default function invariant(
|
|
|
18
18
|
throw new ZudokuError(provided ?? "Invariant failed");
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export type ZudokuErrorOptions = {
|
|
22
|
+
developerHint?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
cause?: Error;
|
|
25
|
+
};
|
|
26
|
+
|
|
21
27
|
export class ZudokuError extends Error {
|
|
22
28
|
public developerHint: string | undefined;
|
|
23
29
|
public title: string | undefined;
|
|
24
30
|
|
|
25
31
|
constructor(
|
|
26
32
|
message: string,
|
|
27
|
-
{
|
|
28
|
-
developerHint,
|
|
29
|
-
title,
|
|
30
|
-
cause,
|
|
31
|
-
}: { developerHint?: string; title?: string; cause?: Error } = {},
|
|
33
|
+
{ developerHint, title, cause }: ZudokuErrorOptions = {},
|
|
32
34
|
) {
|
|
33
35
|
super(message, { cause });
|
|
34
36
|
this.name = "ZudokuError";
|
package/lib/Alert-CT_ViLrJ.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import * as a from "react";
|
|
2
|
-
import { g as p } from "./Slot-DwZlQ-vX.js";
|
|
3
|
-
import { S as m, s as f, h, n as l, g as v, i as g, k as b } from "./hook-Bd0yS8M0.js";
|
|
4
|
-
import { j as n } from "./jsx-runtime-C5mzlN2N.js";
|
|
5
|
-
import { c as x } from "./index-DI5SPFK9.js";
|
|
6
|
-
import { c as u } from "./cn-wvCW-ho6.js";
|
|
7
|
-
var y = class extends m {
|
|
8
|
-
#e;
|
|
9
|
-
#r = void 0;
|
|
10
|
-
#t;
|
|
11
|
-
#s;
|
|
12
|
-
constructor(t, s) {
|
|
13
|
-
super(), this.#e = t, this.setOptions(s), this.bindMethods(), this.#i();
|
|
14
|
-
}
|
|
15
|
-
bindMethods() {
|
|
16
|
-
this.mutate = this.mutate.bind(this), this.reset = this.reset.bind(this);
|
|
17
|
-
}
|
|
18
|
-
setOptions(t) {
|
|
19
|
-
const s = this.options;
|
|
20
|
-
this.options = this.#e.defaultMutationOptions(t), f(this.options, s) || this.#e.getMutationCache().notify({
|
|
21
|
-
type: "observerOptionsUpdated",
|
|
22
|
-
mutation: this.#t,
|
|
23
|
-
observer: this
|
|
24
|
-
}), s?.mutationKey && this.options.mutationKey && h(s.mutationKey) !== h(this.options.mutationKey) ? this.reset() : this.#t?.state.status === "pending" && this.#t.setOptions(this.options);
|
|
25
|
-
}
|
|
26
|
-
onUnsubscribe() {
|
|
27
|
-
this.hasListeners() || this.#t?.removeObserver(this);
|
|
28
|
-
}
|
|
29
|
-
onMutationUpdate(t) {
|
|
30
|
-
this.#i(), this.#a(t);
|
|
31
|
-
}
|
|
32
|
-
getCurrentResult() {
|
|
33
|
-
return this.#r;
|
|
34
|
-
}
|
|
35
|
-
reset() {
|
|
36
|
-
this.#t?.removeObserver(this), this.#t = void 0, this.#i(), this.#a();
|
|
37
|
-
}
|
|
38
|
-
mutate(t, s) {
|
|
39
|
-
return this.#s = s, this.#t?.removeObserver(this), this.#t = this.#e.getMutationCache().build(this.#e, this.options), this.#t.addObserver(this), this.#t.execute(t);
|
|
40
|
-
}
|
|
41
|
-
#i() {
|
|
42
|
-
const t = this.#t?.state ?? p();
|
|
43
|
-
this.#r = {
|
|
44
|
-
...t,
|
|
45
|
-
isPending: t.status === "pending",
|
|
46
|
-
isSuccess: t.status === "success",
|
|
47
|
-
isError: t.status === "error",
|
|
48
|
-
isIdle: t.status === "idle",
|
|
49
|
-
mutate: this.mutate,
|
|
50
|
-
reset: this.reset
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
#a(t) {
|
|
54
|
-
l.batch(() => {
|
|
55
|
-
if (this.#s && this.hasListeners()) {
|
|
56
|
-
const s = this.#r.variables, r = this.#r.context;
|
|
57
|
-
t?.type === "success" ? (this.#s.onSuccess?.(t.data, s, r), this.#s.onSettled?.(t.data, null, s, r)) : t?.type === "error" && (this.#s.onError?.(t.error, s, r), this.#s.onSettled?.(
|
|
58
|
-
void 0,
|
|
59
|
-
t.error,
|
|
60
|
-
s,
|
|
61
|
-
r
|
|
62
|
-
));
|
|
63
|
-
}
|
|
64
|
-
this.listeners.forEach((s) => {
|
|
65
|
-
s(this.#r);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
function R(t, s) {
|
|
71
|
-
const r = v(s), [e] = a.useState(
|
|
72
|
-
() => new y(
|
|
73
|
-
r,
|
|
74
|
-
t
|
|
75
|
-
)
|
|
76
|
-
);
|
|
77
|
-
a.useEffect(() => {
|
|
78
|
-
e.setOptions(t);
|
|
79
|
-
}, [e, t]);
|
|
80
|
-
const i = a.useSyncExternalStore(
|
|
81
|
-
a.useCallback(
|
|
82
|
-
(o) => e.subscribe(l.batchCalls(o)),
|
|
83
|
-
[e]
|
|
84
|
-
),
|
|
85
|
-
() => e.getCurrentResult(),
|
|
86
|
-
() => e.getCurrentResult()
|
|
87
|
-
), c = a.useCallback(
|
|
88
|
-
(o, d) => {
|
|
89
|
-
e.mutate(o, d).catch(g);
|
|
90
|
-
},
|
|
91
|
-
[e]
|
|
92
|
-
);
|
|
93
|
-
if (i.error && b(e.options.throwOnError, [i.error]))
|
|
94
|
-
throw i.error;
|
|
95
|
-
return { ...i, mutate: c, mutateAsync: i.mutate };
|
|
96
|
-
}
|
|
97
|
-
const O = x(
|
|
98
|
-
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
99
|
-
{
|
|
100
|
-
variants: {
|
|
101
|
-
variant: {
|
|
102
|
-
default: "bg-card text-card-foreground",
|
|
103
|
-
destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
defaultVariants: {
|
|
107
|
-
variant: "default"
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
);
|
|
111
|
-
function w({
|
|
112
|
-
className: t,
|
|
113
|
-
variant: s,
|
|
114
|
-
...r
|
|
115
|
-
}) {
|
|
116
|
-
return /* @__PURE__ */ n.jsx(
|
|
117
|
-
"div",
|
|
118
|
-
{
|
|
119
|
-
"data-slot": "alert",
|
|
120
|
-
role: "alert",
|
|
121
|
-
className: u(O({ variant: s }), t),
|
|
122
|
-
...r
|
|
123
|
-
}
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
function A({ className: t, ...s }) {
|
|
127
|
-
return /* @__PURE__ */ n.jsx(
|
|
128
|
-
"div",
|
|
129
|
-
{
|
|
130
|
-
"data-slot": "alert-title",
|
|
131
|
-
className: u(
|
|
132
|
-
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
133
|
-
t
|
|
134
|
-
),
|
|
135
|
-
...s
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
function K({
|
|
140
|
-
className: t,
|
|
141
|
-
...s
|
|
142
|
-
}) {
|
|
143
|
-
return /* @__PURE__ */ n.jsx(
|
|
144
|
-
"div",
|
|
145
|
-
{
|
|
146
|
-
"data-slot": "alert-description",
|
|
147
|
-
className: u(
|
|
148
|
-
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
149
|
-
t
|
|
150
|
-
),
|
|
151
|
-
...s
|
|
152
|
-
}
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
export {
|
|
156
|
-
w as A,
|
|
157
|
-
A as a,
|
|
158
|
-
K as b,
|
|
159
|
-
R as u
|
|
160
|
-
};
|
|
161
|
-
//# sourceMappingURL=Alert-CT_ViLrJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Alert-CT_ViLrJ.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.74.3/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.74.3_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useMutation.js","../src/lib/ui/Alert.tsx"],"sourcesContent":["// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const context = this.#currentResult.context;\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(action.data, variables, context);\n this.#mutateOptions.onSettled?.(action.data, null, variables, context);\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(action.error, variables, context);\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport { MutationObserver, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { noop, shouldThrowError } from \"./utils.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"names":["MutationObserver","Subscribable","#client","#currentResult","#currentMutation","#mutateOptions","client","options","#updateResult","prevOptions","shallowEqualObjects","hashKey","action","#notify","variables","state","getDefaultState","notifyManager","context","listener","useMutation","queryClient","useQueryClient","observer","React","result","onStoreChange","mutate","mutateOptions","noop","shouldThrowError","alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MdxPage-swXPJ0gf.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { EditIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useEffect } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { type MarkdownPluginDefaultOptions, type MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n\n const title = frontmatter.title;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n tableOfContents.find((item) => item.depth === 1)?.value ?? title;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {excerpt && <meta name=\"description\" content={excerpt} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </header>\n )}\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(undefined, {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label } : undefined}\n next={next ? { to: next.id, label: next.label } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","title","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","useMDXComponents","Button","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
|