zudoku 0.0.0-fix-image-base-path.c9e0e61c → 0.0.0-fix-create-zudoku-copy-templates.1ca222e6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +1 -0
- package/dist/app/ZuploBuildConfig.d.ts +1 -1
- package/dist/app/ZuploBuildConfig.js +1 -1
- package/dist/app/ZuploBuildConfig.js.map +1 -1
- package/dist/app/demo.js +1 -1
- package/dist/app/entry.client.js +6 -5
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/entry.server.js +3 -3
- package/dist/app/entry.server.js.map +1 -1
- package/dist/app/env.js +6 -6
- package/dist/app/env.js.map +1 -1
- package/dist/app/main.js +12 -4
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.js +5 -2
- package/dist/app/standalone.js.map +1 -1
- package/dist/cli/cli.js +2 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/cmds/build.d.ts +1 -1
- package/dist/cli/cmds/dev.d.ts +1 -1
- package/dist/cli/cmds/preview.d.ts +1 -1
- package/dist/cli/common/analytics/lib.js +1 -1
- package/dist/cli/common/analytics/lib.js.map +1 -1
- package/dist/cli/common/logger.js +0 -1
- package/dist/cli/common/logger.js.map +1 -1
- package/dist/cli/common/machine-id/lib.js +3 -2
- package/dist/cli/common/machine-id/lib.js.map +1 -1
- package/dist/cli/common/outdated.js +2 -1
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/cli/common/output.js +2 -3
- package/dist/cli/common/output.js.map +1 -1
- package/dist/cli/common/utils/box.js +2 -2
- package/dist/cli/common/utils/box.js.map +1 -1
- package/dist/cli/common/validators/lib.js +1 -1
- package/dist/cli/common/validators/lib.js.map +1 -1
- package/dist/cli/dev/handler.js +0 -4
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/codegen.js +2 -2
- package/dist/codegen.js.map +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/BuildSchema.d.ts +1 -1
- package/dist/config/validators/BuildSchema.js +3 -3
- package/dist/config/validators/BuildSchema.js.map +1 -1
- package/dist/config/validators/InputNavigationSchema.d.ts +27 -1
- package/dist/config/validators/InputNavigationSchema.js +5 -2
- package/dist/config/validators/InputNavigationSchema.js.map +1 -1
- package/dist/config/validators/InputNavigationSchema.test-d.js +2 -1
- package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -1
- package/dist/config/validators/NavigationSchema.d.ts +1 -1
- package/dist/config/validators/NavigationSchema.js +2 -2
- package/dist/config/validators/NavigationSchema.js.map +1 -1
- package/dist/config/validators/ProtectedRoutesSchema.d.ts +6 -5
- package/dist/config/validators/ProtectedRoutesSchema.js +5 -14
- package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -1
- package/dist/config/validators/auth.d.ts +2 -2
- package/dist/config/validators/auth.js +1 -1
- package/dist/config/validators/auth.js.map +1 -1
- package/dist/config/validators/icon-types.d.ts +1 -1
- package/dist/config/validators/icon-types.js +4 -0
- package/dist/config/validators/icon-types.js.map +1 -1
- package/dist/config/validators/validate.d.ts +3 -14
- package/dist/config/validators/validate.js +4 -3
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/config/validators/validate.test.js +1 -2
- package/dist/config/validators/validate.test.js.map +1 -1
- package/dist/flat-config.d.ts +331 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/MissingIcon.d.ts +1 -1
- package/dist/lib/MissingIcon.js.map +1 -1
- package/dist/lib/auth/issuer.test.js +1 -0
- package/dist/lib/auth/issuer.test.js.map +1 -1
- package/dist/lib/authentication/AuthenticationPlugin.d.ts +1 -1
- package/dist/lib/authentication/authentication.d.ts +1 -3
- package/dist/lib/authentication/components/OAuthErrorPage.d.ts +1 -1
- package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
- package/dist/lib/authentication/components/SignOut.js +1 -1
- package/dist/lib/authentication/components/SignOut.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.d.ts +2 -2
- package/dist/lib/authentication/providers/auth0.js +1 -1
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/azureb2c.d.ts +2 -2
- package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
- package/dist/lib/authentication/providers/clerk.d.ts +2 -2
- package/dist/lib/authentication/providers/openid.d.ts +2 -2
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/authentication/providers/supabase.d.ts +2 -2
- package/dist/lib/authentication/providers/supabase.js +1 -0
- package/dist/lib/authentication/providers/supabase.js.map +1 -1
- package/dist/lib/authentication/use-broadcast/shared.d.ts +1 -1
- package/dist/lib/authentication/use-broadcast/shared.js +3 -3
- package/dist/lib/authentication/use-broadcast/shared.js.map +1 -1
- package/dist/lib/authentication/use-broadcast/useBroadcast.js +2 -2
- package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -1
- package/dist/lib/components/Autocomplete.js.map +1 -1
- package/dist/lib/components/Bootstrap.js.map +1 -1
- package/dist/lib/components/BuildCheck.js +9 -1
- package/dist/lib/components/BuildCheck.js.map +1 -1
- package/dist/lib/components/Header.js +2 -4
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/Heading.js +1 -1
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/Layout.js +4 -7
- package/dist/lib/components/Layout.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/Meta.d.ts +2 -0
- package/dist/lib/components/Meta.js +11 -0
- package/dist/lib/components/Meta.js.map +1 -0
- package/dist/lib/components/MobileTopNavigation.js +4 -4
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/PathRenderer.js +1 -1
- package/dist/lib/components/PathRenderer.js.map +1 -1
- package/dist/lib/components/Search.js +1 -1
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/Slot.js.map +1 -1
- package/dist/lib/components/Slot.test.js +7 -3
- package/dist/lib/components/Slot.test.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +1 -1
- package/dist/lib/components/TopNavigation.js +2 -2
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/Zudoku.js +2 -2
- package/dist/lib/components/Zudoku.js.map +1 -1
- package/dist/lib/components/context/ComponentsContext.js.map +1 -1
- package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -1
- package/dist/lib/components/context/SlotProvider.js.map +1 -1
- package/dist/lib/components/context/ViewportAnchorContext.js +1 -1
- package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
- package/dist/lib/components/context/ZudokuProvider.d.ts +1 -1
- package/dist/lib/components/index.d.ts +0 -28
- package/dist/lib/components/index.js +1 -16
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/components/navigation/NavigationCategory.js +6 -1
- package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
- package/dist/lib/components/navigation/NavigationItem.js +2 -2
- package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
- package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -1
- package/dist/lib/components/navigation/Toc.js.map +1 -1
- package/dist/lib/components/navigation/ZudokuLogo.d.ts +1 -1
- package/dist/lib/components/navigation/utils.d.ts +3 -3
- package/dist/lib/components/navigation/utils.js +1 -2
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +4 -2
- package/dist/lib/core/ZudokuContext.js +14 -3
- package/dist/lib/core/ZudokuContext.js.map +1 -1
- package/dist/lib/core/__internal.d.ts +37 -0
- package/dist/lib/core/__internal.js +26 -0
- package/dist/lib/core/__internal.js.map +1 -0
- package/dist/lib/core/router.d.ts +1 -0
- package/dist/lib/core/router.js +2 -0
- package/dist/lib/core/router.js.map +1 -0
- package/dist/lib/errors/ErrorAlert.js +0 -1
- package/dist/lib/errors/ErrorAlert.js.map +1 -1
- package/dist/lib/errors/TopLevelError.d.ts +2 -2
- package/dist/lib/errors/TopLevelError.js +1 -2
- package/dist/lib/errors/TopLevelError.js.map +1 -1
- package/dist/lib/oas/graphql/circular.js +2 -2
- package/dist/lib/oas/graphql/circular.js.map +1 -1
- package/dist/lib/oas/graphql/index.js +2 -1
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/oas/parser/dereference/index.js +2 -1
- package/dist/lib/oas/parser/dereference/index.js.map +1 -1
- package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
- package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
- package/dist/lib/oas/parser/index.js +1 -1
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/oas/parser/upgrade/index.js +2 -1
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +1 -1
- package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js +5 -6
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
- package/dist/lib/plugins/api-keys/index.d.ts +3 -3
- package/dist/lib/plugins/api-keys/index.js +1 -1
- package/dist/lib/plugins/api-keys/index.js.map +1 -1
- package/dist/lib/plugins/custom-pages/index.d.ts +1 -1
- package/dist/lib/plugins/custom-pages/index.js +3 -0
- package/dist/lib/plugins/custom-pages/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +3 -3
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/markdown/index.d.ts +1 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js +4 -1
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
- package/dist/lib/plugins/openapi/Endpoint.js +2 -2
- package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
- package/dist/lib/plugins/openapi/OasProvider.d.ts +1 -1
- package/dist/lib/plugins/openapi/OasProvider.js +1 -0
- package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +8 -4
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +6 -4
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.d.ts +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.js +11 -9
- package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +4 -2
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/createServer.js +1 -2
- package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
- package/dist/lib/plugins/openapi/context.d.ts +1 -1
- package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js +0 -1
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.d.ts +2 -2
- package/dist/lib/plugins/openapi/index.js +2 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +3 -3
- package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/Headers.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +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/QueryParams.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +3 -1
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +2 -2
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +1 -0
- package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/removeParameters.test.js +1 -0
- package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
- package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -1
- package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +5 -0
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +7 -0
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/{LogicalGroup/LogicalGroupItem.d.ts → AllOfGroup/AllOfGroupItem.d.ts} +1 -3
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +10 -0
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +4 -0
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +16 -0
- package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +0 -3
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +7 -15
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +2 -1
- package/dist/lib/plugins/openapi/schema/SchemaView.js +13 -8
- package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/UnionView.d.ts +4 -0
- package/dist/lib/plugins/openapi/schema/UnionView.js +30 -0
- package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
- package/dist/lib/plugins/openapi/schema/union-helpers.js +48 -0
- package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/utils.d.ts +0 -7
- package/dist/lib/plugins/openapi/schema/utils.js +0 -6
- package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
- package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +1 -1
- package/dist/lib/plugins/openapi/util/createHttpSnippet.js +1 -1
- package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
- package/dist/lib/plugins/openapi/util/createNavigationCategory.js +1 -0
- package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -1
- package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js +1 -2
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
- package/dist/lib/plugins/openapi/util/getRoutes.js +1 -1
- package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
- package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
- package/dist/lib/plugins/search-inkeep/index.js +1 -1
- package/dist/lib/plugins/search-inkeep/index.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 +4 -1
- package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
- package/dist/lib/plugins/search-pagefind/get-results.js +0 -1
- package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
- package/dist/lib/shiki.d.ts +2 -5
- package/dist/lib/shiki.js +3 -6
- package/dist/lib/shiki.js.map +1 -1
- package/dist/lib/ui/Breadcrumb.js +1 -1
- package/dist/lib/ui/Breadcrumb.js.map +1 -1
- package/dist/lib/ui/Carousel.js.map +1 -1
- package/dist/lib/ui/CodeBlock.js +3 -3
- package/dist/lib/ui/CodeBlock.js.map +1 -1
- package/dist/lib/ui/Command.d.ts +2 -2
- package/dist/lib/ui/Command.js +2 -6
- package/dist/lib/ui/Command.js.map +1 -1
- package/dist/lib/ui/Dialog.js +2 -2
- package/dist/lib/ui/Dialog.js.map +1 -1
- package/dist/lib/ui/Form.d.ts +2 -2
- package/dist/lib/ui/Pagination.d.ts +1 -1
- package/dist/lib/ui/Pagination.js +1 -1
- package/dist/lib/ui/Pagination.js.map +1 -1
- package/dist/lib/ui/ToggleGroup.d.ts +1 -1
- package/dist/lib/util/MdxComponents.d.ts +1 -1
- package/dist/lib/util/MdxComponents.js +4 -2
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/cn.js.map +1 -1
- package/dist/lib/util/createVariantComponent.d.ts +2 -2
- package/dist/lib/util/createVariantComponent.js.map +1 -1
- package/dist/lib/util/groupBy.js +1 -0
- package/dist/lib/util/groupBy.js.map +1 -1
- package/dist/lib/util/humanFileSize.js +1 -1
- package/dist/lib/util/humanFileSize.js.map +1 -1
- package/dist/lib/util/invariant.js +3 -1
- package/dist/lib/util/invariant.js.map +1 -1
- package/dist/lib/util/pastellize.js +2 -2
- package/dist/lib/util/pastellize.js.map +1 -1
- package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/lib/util/useScrollToAnchor.js +2 -0
- package/dist/lib/util/useScrollToAnchor.js.map +1 -1
- package/dist/ts.js +3 -3
- package/dist/ts.js.map +1 -1
- package/dist/vite/api/SchemaManager.js +6 -6
- package/dist/vite/api/SchemaManager.js.map +1 -1
- package/dist/vite/api/schema-codegen.js +1 -2
- package/dist/vite/api/schema-codegen.js.map +1 -1
- package/dist/vite/api/schema-codegen.test.js +1 -1
- package/dist/vite/api/schema-codegen.test.js.map +1 -1
- package/dist/vite/build.js +1 -1
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/dev-server.js +2 -2
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/error-handler.d.ts +2 -2
- package/dist/vite/error-handler.js.map +1 -1
- package/dist/vite/mdx/remark-inject-filepath.js.map +1 -1
- package/dist/vite/mdx/remark-last-modified.js +0 -1
- package/dist/vite/mdx/remark-last-modified.js.map +1 -1
- package/dist/vite/mdx/remark-link-rewrite.js +1 -1
- package/dist/vite/mdx/remark-link-rewrite.js.map +1 -1
- package/dist/vite/mdx/remark-static-generation.js +1 -1
- package/dist/vite/mdx/remark-static-generation.js.map +1 -1
- package/dist/vite/output.d.ts +1 -1
- package/dist/vite/output.js +1 -1
- package/dist/vite/output.js.map +1 -1
- package/dist/vite/plugin-api-keys.d.ts +1 -1
- package/dist/vite/plugin-api-keys.js +1 -1
- package/dist/vite/plugin-api-keys.js.map +1 -1
- package/dist/vite/plugin-api.js +4 -4
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.d.ts +1 -1
- package/dist/vite/plugin-auth.js +1 -1
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.d.ts +1 -1
- package/dist/vite/plugin-config-reload.d.ts +1 -1
- package/dist/vite/plugin-custom-pages.d.ts +1 -1
- package/dist/vite/plugin-custom-pages.js +1 -1
- package/dist/vite/plugin-custom-pages.js.map +1 -1
- package/dist/vite/plugin-docs.js +2 -2
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-frontmatter.js +1 -1
- package/dist/vite/plugin-frontmatter.js.map +1 -1
- package/dist/vite/plugin-mdx.d.ts +1 -1
- package/dist/vite/plugin-mdx.js +3 -2
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-metadata.d.ts +1 -1
- package/dist/vite/plugin-navigation.d.ts +2 -2
- package/dist/vite/plugin-navigation.js +34 -35
- package/dist/vite/plugin-navigation.js.map +1 -1
- package/dist/vite/plugin-redirect.d.ts +1 -1
- package/dist/vite/plugin-redirect.js +1 -1
- package/dist/vite/plugin-redirect.js.map +1 -1
- package/dist/vite/plugin-search.d.ts +1 -1
- package/dist/vite/plugin-search.js +1 -1
- package/dist/vite/plugin-search.js.map +1 -1
- package/dist/vite/plugin-shiki-register.js +1 -1
- package/dist/vite/plugin-shiki-register.js.map +1 -1
- package/dist/vite/plugin-theme.js +6 -6
- package/dist/vite/plugin-theme.js.map +1 -1
- package/dist/vite/plugin-theme.test.js +2 -0
- package/dist/vite/plugin-theme.test.js.map +1 -1
- package/dist/vite/plugin.d.ts +1 -1
- package/dist/vite/plugin.js +2 -2
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender/FileWritingResponse.js +5 -3
- package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
- package/dist/vite/prerender/InMemoryResponse.js +3 -1
- package/dist/vite/prerender/InMemoryResponse.js.map +1 -1
- package/dist/vite/prerender/prerender.js +1 -1
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.d.ts +1 -1
- package/dist/vite/prerender/worker.js.map +1 -1
- package/dist/vite/reporter.js +2 -2
- package/dist/vite/reporter.js.map +1 -1
- package/dist/vite/shadcn-registry.d.ts +8 -33
- package/dist/vite/sitemap.js +14 -13
- package/dist/vite/sitemap.js.map +1 -1
- package/dist/zuplo/enrich-with-zuplo.js +3 -3
- package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
- package/dist/zuplo/policy-types.js +0 -1
- package/dist/zuplo/policy-types.js.map +1 -1
- package/dist/zuplo/with-zuplo.js +1 -1
- package/dist/zuplo/with-zuplo.js.map +1 -1
- package/lib/CategoryHeading-DCpZu3yG.js +17 -0
- package/lib/CategoryHeading-DCpZu3yG.js.map +1 -0
- package/lib/{CodeBlock-CVT6z0PP.js → CodeBlock-CX_J17Hf.js} +12 -12
- package/lib/CodeBlock-CX_J17Hf.js.map +1 -0
- package/lib/{Command-BYukybsa.js → Command-CUSlH0gJ.js} +21 -27
- package/lib/Command-CUSlH0gJ.js.map +1 -0
- package/lib/Dialog-BmgXWOaz.js +114 -0
- package/lib/Dialog-BmgXWOaz.js.map +1 -0
- package/lib/{MdxPage-plD-n8fm.js → MdxPage-yXbTtcWf.js} +19 -18
- package/lib/MdxPage-yXbTtcWf.js.map +1 -0
- package/lib/{OAuthErrorPage-BTP-t8Fq.js → OAuthErrorPage-rAKHHveX.js} +7 -7
- package/lib/OAuthErrorPage-rAKHHveX.js.map +1 -0
- package/lib/{OasProvider-CYf5xe1a.js → OasProvider-BW4OzAuR.js} +4 -3
- package/lib/OasProvider-BW4OzAuR.js.map +1 -0
- package/lib/{OperationList-C_-vAmhs.js → OperationList-CWxpdIbO.js} +309 -312
- package/lib/OperationList-CWxpdIbO.js.map +1 -0
- package/lib/{Pagination-BAO0V4os.js → Pagination-ZI2yyuxj.js} +3 -3
- package/lib/{Pagination-BAO0V4os.js.map → Pagination-ZI2yyuxj.js.map} +1 -1
- package/lib/RouteGuard-BIksrt_C.js +56 -0
- package/lib/RouteGuard-BIksrt_C.js.map +1 -0
- package/lib/RouterError-BYHrbLtD.js +41 -0
- package/lib/RouterError-BYHrbLtD.js.map +1 -0
- package/lib/{SchemaList-B8Ws7y1f.js → SchemaList-C4Sk-tLI.js} +15 -14
- package/lib/{SchemaList-B8Ws7y1f.js.map → SchemaList-C4Sk-tLI.js.map} +1 -1
- package/lib/SchemaView-B2BeAuci.js +429 -0
- package/lib/SchemaView-B2BeAuci.js.map +1 -0
- package/lib/{Select-ByPbK6BU.js → Select-DWh0wSay.js} +8 -8
- package/lib/{Select-ByPbK6BU.js.map → Select-DWh0wSay.js.map} +1 -1
- package/lib/{SignUp-BXxkBCGy.js → SignUp-CznaQsRx.js} +12 -12
- package/lib/SignUp-CznaQsRx.js.map +1 -0
- package/lib/{Slot-DDNiyFIv.js → Slot-BbdqiRXo.js} +1923 -2129
- package/lib/{Slot-DDNiyFIv.js.map → Slot-BbdqiRXo.js.map} +1 -1
- package/lib/{SyntaxHighlight-jSFm3PeK.js → SyntaxHighlight-CvzJ7DNa.js} +6 -9
- package/lib/{SyntaxHighlight-jSFm3PeK.js.map → SyntaxHighlight-CvzJ7DNa.js.map} +1 -1
- package/lib/{Toc-CKEI04R5.js → Toc-BAa-kpqN.js} +2 -2
- package/lib/{Toc-CKEI04R5.js.map → Toc-BAa-kpqN.js.map} +1 -1
- package/lib/{ZudokuContext-mDDq1hft.js → ZudokuContext-BR-lnR7O.js} +42 -43
- package/lib/{ZudokuContext-mDDq1hft.js.map → ZudokuContext-BR-lnR7O.js.map} +1 -1
- package/lib/chunk-QMGIS6GS-DqecZ6nq.js +9204 -0
- package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +1 -0
- package/lib/{circular-CyP38iiX.js → circular-BFte5TUt.js} +2 -2
- package/lib/{circular-CyP38iiX.js.map → circular-BFte5TUt.js.map} +1 -1
- package/lib/cn-dYga0KKN.js.map +1 -1
- package/lib/{createServer-B4w9HCV7.js → createServer-B4giw6jv.js} +12 -27
- package/lib/createServer-B4giw6jv.js.map +1 -0
- package/lib/{errors-v4zc7txj.js → errors-CjmCml50.js} +2 -2
- package/lib/errors-CjmCml50.js.map +1 -0
- package/lib/{hook-CGx8MPrU.js → hook-B4Q30zMI.js} +2 -2
- package/lib/{hook-CGx8MPrU.js.map → hook-B4Q30zMI.js.map} +1 -1
- package/lib/index-BuKx9nrj.js +1057 -0
- package/lib/index-BuKx9nrj.js.map +1 -0
- package/lib/{index-C5fXNRSh.js → index-CQGi1b3U.js} +2 -2
- package/lib/{index-C5fXNRSh.js.map → index-CQGi1b3U.js.map} +1 -1
- package/lib/{index-DnkZAg98.js → index-Dp3Fmnfq.js} +58 -55
- package/lib/index-Dp3Fmnfq.js.map +1 -0
- package/lib/{RouteGuard-gznKADdm.js → index.esm-BnYHxCYC.js} +226 -281
- package/lib/index.esm-BnYHxCYC.js.map +1 -0
- package/lib/invariant-Bm-FVUQE.js.map +1 -1
- package/lib/mutation-CiMUdKRU.js +196 -0
- package/lib/mutation-CiMUdKRU.js.map +1 -0
- package/lib/ui/Breadcrumb.js +22 -21
- package/lib/ui/Breadcrumb.js.map +1 -1
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/CodeBlock.js +1 -1
- package/lib/ui/Command.js +20 -26
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Dialog.js +56 -41
- package/lib/ui/Dialog.js.map +1 -1
- package/lib/ui/Form.js.map +1 -1
- package/lib/ui/Pagination.js +28 -29
- package/lib/ui/Pagination.js.map +1 -1
- package/lib/ui/SyntaxHighlight.js +3 -3
- package/lib/ui/ToggleGroup.js.map +1 -1
- package/lib/{useExposedProps-DUoV7MCU.js → useExposedProps-BH9aq4MD.js} +32 -32
- package/lib/{useExposedProps-DUoV7MCU.js.map → useExposedProps-BH9aq4MD.js.map} +1 -1
- package/lib/useLatest-hmRS46UF.js +11 -0
- package/lib/useLatest-hmRS46UF.js.map +1 -0
- package/lib/zudoku.__internal.js +2974 -0
- package/lib/zudoku.__internal.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-azureb2c.js +5 -5
- package/lib/zudoku.auth-azureb2c.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +5 -5
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.auth-supabase.js +3 -2
- package/lib/zudoku.auth-supabase.js.map +1 -1
- package/lib/zudoku.components.js +20 -28
- package/lib/zudoku.hooks.js +4 -4
- package/lib/zudoku.icons.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +18 -18
- package/lib/zudoku.plugin-api-keys.js +60 -59
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-pages.js +8 -5
- 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 +4 -4
- package/lib/zudoku.plugin-redirect.js +3 -3
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +15 -15
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/lib/zudoku.router.js +123 -0
- package/lib/zudoku.router.js.map +1 -0
- package/package.json +17 -24
- package/src/app/ZuploBuildConfig.ts +1 -1
- package/src/app/demo.tsx +1 -1
- package/src/app/entry.client.tsx +7 -6
- package/src/app/entry.server.tsx +4 -4
- package/src/app/env.ts +6 -6
- package/src/app/main.tsx +22 -7
- package/src/app/standalone.tsx +8 -3
- package/src/lib/MissingIcon.tsx +1 -1
- package/src/lib/auth/issuer.test.ts +1 -0
- package/src/lib/authentication/AuthenticationPlugin.tsx +4 -4
- package/src/lib/authentication/authentication.ts +3 -3
- package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
- package/src/lib/authentication/components/SignOut.tsx +1 -1
- package/src/lib/authentication/providers/auth0.tsx +5 -5
- package/src/lib/authentication/providers/azureb2c.tsx +5 -5
- package/src/lib/authentication/providers/clerk.tsx +5 -5
- package/src/lib/authentication/providers/openid.tsx +6 -6
- package/src/lib/authentication/providers/supabase.tsx +7 -6
- package/src/lib/authentication/use-broadcast/shared.ts +4 -4
- package/src/lib/authentication/use-broadcast/useBroadcast.ts +2 -2
- package/src/lib/components/AnchorLink.tsx +1 -1
- package/src/lib/components/Autocomplete.tsx +1 -1
- package/src/lib/components/Bootstrap.tsx +1 -0
- package/src/lib/components/BuildCheck.tsx +12 -1
- package/src/lib/components/Header.tsx +5 -5
- package/src/lib/components/Heading.tsx +2 -3
- package/src/lib/components/Layout.tsx +3 -22
- package/src/lib/components/Markdown.tsx +5 -2
- package/src/lib/components/Meta.tsx +32 -0
- package/src/lib/components/MobileTopNavigation.tsx +11 -13
- package/src/lib/components/PathRenderer.tsx +2 -2
- package/src/lib/components/Search.tsx +1 -1
- package/src/lib/components/Slot.test.tsx +8 -8
- package/src/lib/components/Slot.tsx +2 -2
- package/src/lib/components/TopNavigation.tsx +3 -3
- package/src/lib/components/Zudoku.tsx +2 -2
- package/src/lib/components/context/ComponentsContext.tsx +2 -2
- package/src/lib/components/context/RouterEventsEmitter.tsx +1 -1
- package/src/lib/components/context/SlotProvider.tsx +4 -4
- package/src/lib/components/context/ViewportAnchorContext.tsx +2 -2
- package/src/lib/components/context/ZudokuContext.ts +1 -1
- package/src/lib/components/context/ZudokuProvider.tsx +1 -1
- package/src/lib/components/index.ts +1 -19
- package/src/lib/components/navigation/NavigationCategory.tsx +8 -1
- package/src/lib/components/navigation/NavigationItem.tsx +2 -2
- package/src/lib/components/navigation/NavigationWrapper.tsx +1 -1
- package/src/lib/components/navigation/Toc.tsx +2 -2
- package/src/lib/components/navigation/ZudokuLogo.tsx +1 -1
- package/src/lib/components/navigation/utils.ts +5 -6
- package/src/lib/core/ZudokuContext.ts +25 -6
- package/src/lib/core/__internal.tsx +30 -0
- package/src/lib/core/router.ts +1 -0
- package/src/lib/errors/ErrorAlert.tsx +0 -1
- package/src/lib/errors/TopLevelError.tsx +2 -4
- package/src/lib/hooks/useEvent.test.tsx +2 -2
- package/src/lib/oas/graphql/circular.ts +3 -3
- package/src/lib/oas/graphql/index.ts +2 -1
- package/src/lib/oas/parser/dereference/index.ts +2 -1
- package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
- package/src/lib/oas/parser/index.ts +2 -2
- package/src/lib/oas/parser/upgrade/index.ts +2 -1
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +5 -6
- package/src/lib/plugins/api-keys/index.tsx +8 -8
- package/src/lib/plugins/custom-pages/index.tsx +4 -1
- package/src/lib/plugins/markdown/MdxPage.tsx +5 -5
- package/src/lib/plugins/markdown/index.tsx +1 -1
- package/src/lib/plugins/openapi/ColorizedParam.tsx +3 -1
- package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
- package/src/lib/plugins/openapi/OasProvider.tsx +2 -1
- package/src/lib/plugins/openapi/OperationList.tsx +5 -4
- package/src/lib/plugins/openapi/OperationListItem.tsx +18 -20
- package/src/lib/plugins/openapi/ParamInfos.tsx +10 -9
- package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -3
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -3
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +1 -1
- package/src/lib/plugins/openapi/Sidecar.tsx +2 -1
- package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -1
- package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +1 -1
- package/src/lib/plugins/openapi/client/createServer.ts +1 -2
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +3 -2
- package/src/lib/plugins/openapi/context.tsx +1 -1
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +0 -1
- package/src/lib/plugins/openapi/graphql/gql.ts +0 -1
- package/src/lib/plugins/openapi/graphql/graphql.ts +0 -1
- package/src/lib/plugins/openapi/index.tsx +5 -4
- package/src/lib/plugins/openapi/interfaces.ts +5 -3
- package/src/lib/plugins/openapi/playground/BodyPanel.tsx +2 -2
- package/src/lib/plugins/openapi/playground/Headers.tsx +1 -1
- package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +1 -1
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +1 -1
- package/src/lib/plugins/openapi/playground/Playground.tsx +2 -2
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +1 -1
- package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +1 -1
- package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
- package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +3 -1
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +3 -3
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +1 -1
- package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +1 -0
- package/src/lib/plugins/openapi/processors/removeParameters.test.ts +1 -0
- package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
- package/src/lib/plugins/openapi/schema/{LogicalGroup/LogicalGroupConnector.tsx → AllOfGroup/AllOfGroupConnector.tsx} +4 -25
- package/src/lib/plugins/openapi/schema/{LogicalGroup/LogicalGroupItem.tsx → AllOfGroup/AllOfGroupItem.tsx} +3 -11
- package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +35 -0
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +9 -27
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +19 -13
- package/src/lib/plugins/openapi/schema/UnionView.tsx +123 -0
- package/src/lib/plugins/openapi/schema/union-helpers.ts +96 -0
- package/src/lib/plugins/openapi/schema/utils.ts +0 -11
- package/src/lib/plugins/openapi/util/createHttpSnippet.ts +2 -2
- package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +1 -0
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +3 -4
- package/src/lib/plugins/openapi/util/getRoutes.tsx +2 -2
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
- package/src/lib/plugins/search-inkeep/index.tsx +3 -3
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +2 -4
- package/src/lib/plugins/search-pagefind/ResultList.tsx +3 -4
- package/src/lib/plugins/search-pagefind/get-results.tsx +0 -1
- package/src/lib/shiki.ts +6 -6
- package/src/lib/ui/Breadcrumb.tsx +1 -0
- package/src/lib/ui/Carousel.tsx +1 -0
- package/src/lib/ui/CodeBlock.tsx +5 -3
- package/src/lib/ui/Command.tsx +2 -4
- package/src/lib/ui/Dialog.tsx +12 -4
- package/src/lib/ui/Form.tsx +4 -4
- package/src/lib/ui/Pagination.tsx +1 -2
- package/src/lib/ui/ToggleGroup.tsx +1 -1
- package/src/lib/util/MdxComponents.tsx +9 -2
- package/src/lib/util/cn.ts +1 -1
- package/src/lib/util/createVariantComponent.tsx +2 -2
- package/src/lib/util/groupBy.ts +1 -0
- package/src/lib/util/humanFileSize.ts +2 -3
- package/src/lib/util/invariant.ts +1 -0
- package/src/lib/util/pastellize.ts +2 -2
- package/src/lib/util/types.ts +1 -1
- package/src/lib/util/useIsomorphicLayoutEffect.ts +1 -0
- package/src/lib/util/useScrollToAnchor.ts +3 -1
- package/src/shiki/langs/vue-vine.js +1 -0
- package/dist/lib/components/ReactMarkdown.d.ts +0 -29
- package/dist/lib/components/ReactMarkdown.js +0 -182
- package/dist/lib/components/ReactMarkdown.js.map +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +0 -8
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +0 -14
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +0 -7
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +0 -17
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +0 -1
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +0 -10
- package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +0 -1
- package/lib/CodeBlock-CVT6z0PP.js.map +0 -1
- package/lib/Command-BYukybsa.js.map +0 -1
- package/lib/Dialog-u9Uz9sTt.js +0 -99
- package/lib/Dialog-u9Uz9sTt.js.map +0 -1
- package/lib/MdxPage-plD-n8fm.js.map +0 -1
- package/lib/OAuthErrorPage-BTP-t8Fq.js.map +0 -1
- package/lib/OasProvider-CYf5xe1a.js.map +0 -1
- package/lib/OperationList-C_-vAmhs.js.map +0 -1
- package/lib/RouteGuard-gznKADdm.js.map +0 -1
- package/lib/SchemaView-CHb3DJ6D.js +0 -366
- package/lib/SchemaView-CHb3DJ6D.js.map +0 -1
- package/lib/SignUp-BXxkBCGy.js.map +0 -1
- package/lib/chunk-QMGIS6GS-CdEm9pzB.js +0 -1839
- package/lib/chunk-QMGIS6GS-CdEm9pzB.js.map +0 -1
- package/lib/createServer-B4w9HCV7.js.map +0 -1
- package/lib/errors-v4zc7txj.js.map +0 -1
- package/lib/index-D1LmO5Bn.js +0 -4082
- package/lib/index-D1LmO5Bn.js.map +0 -1
- package/lib/index-DnkZAg98.js.map +0 -1
- package/src/lib/components/ReactMarkdown.license.txt +0 -21
- package/src/lib/components/ReactMarkdown.tsx +0 -264
- package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +0 -40
package/src/app/main.tsx
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { RouteObject } from "react-router";
|
|
2
1
|
import { configuredApiKeysPlugin } from "virtual:zudoku-api-keys-plugin";
|
|
3
2
|
import {
|
|
4
3
|
configuredApiCatalogPlugins,
|
|
@@ -11,18 +10,21 @@ import { configuredNavigation } from "virtual:zudoku-navigation";
|
|
|
11
10
|
import { configuredRedirectPlugin } from "virtual:zudoku-redirect-plugin";
|
|
12
11
|
import { configuredSearchPlugin } from "virtual:zudoku-search-plugin";
|
|
13
12
|
import { registerShiki } from "virtual:zudoku-shiki-register";
|
|
13
|
+
import type { RouteObject } from "react-router";
|
|
14
14
|
import "virtual:zudoku-theme.css";
|
|
15
15
|
import {
|
|
16
16
|
BuildCheck,
|
|
17
17
|
Layout,
|
|
18
|
+
Meta,
|
|
18
19
|
RouteGuard,
|
|
19
20
|
RouterError,
|
|
20
21
|
StatusPage,
|
|
21
|
-
|
|
22
|
-
} from "zudoku/components";
|
|
22
|
+
} from "zudoku/__internal";
|
|
23
|
+
import { Zudoku } from "zudoku/components";
|
|
24
|
+
import { Outlet } from "zudoku/router";
|
|
23
25
|
import type { ZudokuConfig } from "../config/config.js";
|
|
24
|
-
import type { ZudokuContextOptions } from "../lib/core/ZudokuContext.js";
|
|
25
26
|
import { isNavigationPlugin } from "../lib/core/plugins.js";
|
|
27
|
+
import type { ZudokuContextOptions } from "../lib/core/ZudokuContext.js";
|
|
26
28
|
import { highlighter } from "../lib/shiki.js";
|
|
27
29
|
import { ZuploEnv } from "./env.js";
|
|
28
30
|
import "./main.css";
|
|
@@ -110,17 +112,30 @@ export const getRoutesByConfig = (config: ZudokuConfig): RouteObject[] => {
|
|
|
110
112
|
buildId={import.meta.env.ZUPLO_BUILD_ID}
|
|
111
113
|
environmentType={import.meta.env.ZUPLO_ENVIRONMENT_TYPE}
|
|
112
114
|
/>
|
|
113
|
-
<
|
|
115
|
+
<Outlet />
|
|
114
116
|
</Zudoku>
|
|
115
117
|
),
|
|
116
118
|
hydrateFallbackElement: <div>Loading...</div>,
|
|
117
119
|
children: [
|
|
118
120
|
{
|
|
119
|
-
element:
|
|
121
|
+
element: (
|
|
122
|
+
<Meta>
|
|
123
|
+
<RouteGuard />
|
|
124
|
+
</Meta>
|
|
125
|
+
),
|
|
120
126
|
errorElement: <RouterError />,
|
|
121
|
-
children: routes
|
|
127
|
+
children: routes.map((r) =>
|
|
128
|
+
r.handle?.layout === "none" ? r : wrapWithLayout(r),
|
|
129
|
+
),
|
|
122
130
|
},
|
|
123
131
|
],
|
|
124
132
|
},
|
|
125
133
|
];
|
|
126
134
|
};
|
|
135
|
+
|
|
136
|
+
const wrapWithLayout = (route: RouteObject) => {
|
|
137
|
+
return {
|
|
138
|
+
element: <Layout />,
|
|
139
|
+
children: [route],
|
|
140
|
+
};
|
|
141
|
+
};
|
package/src/app/standalone.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRoot } from "react-dom/client";
|
|
2
2
|
import { createBrowserRouter } from "react-router";
|
|
3
|
-
import { Bootstrap } from "zudoku/
|
|
3
|
+
import { Bootstrap } from "zudoku/__internal";
|
|
4
4
|
import type { ZudokuConfig } from "../config/validators/validate.js";
|
|
5
5
|
import { openApiPlugin } from "../lib/plugins/openapi/index.js";
|
|
6
6
|
import "../lib/util/logInit.js";
|
|
@@ -13,7 +13,12 @@ if (!root) {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
const apiUrl = root.getAttribute("data-api-url");
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
if (!apiUrl) {
|
|
18
|
+
throw new Error("No api url found");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const title = document.getElementsByTagName("title")[0]?.innerText;
|
|
17
22
|
const logoUrl = root.getAttribute("data-logo-url");
|
|
18
23
|
|
|
19
24
|
// IMPORTANT: This component must not contain tailwind classes
|
|
@@ -42,7 +47,7 @@ const config = {
|
|
|
42
47
|
// Using the plugin directly because there's no config file to load in the virtual plugins
|
|
43
48
|
openApiPlugin({
|
|
44
49
|
type: "url",
|
|
45
|
-
input: apiUrl
|
|
50
|
+
input: apiUrl,
|
|
46
51
|
path: "/",
|
|
47
52
|
}),
|
|
48
53
|
],
|
package/src/lib/MissingIcon.tsx
CHANGED
|
@@ -109,6 +109,7 @@ describe("getIssuer", () => {
|
|
|
109
109
|
it("should throw error for unsupported authentication type", async () => {
|
|
110
110
|
const config = {
|
|
111
111
|
authentication: {
|
|
112
|
+
// biome-ignore lint/suspicious/noExplicitAny: Allow any type
|
|
112
113
|
type: "unsupported" as any,
|
|
113
114
|
},
|
|
114
115
|
} as ZudokuConfig;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LogOutIcon } from "lucide-react";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import type {
|
|
3
|
+
CommonPlugin,
|
|
4
|
+
NavigationPlugin,
|
|
5
|
+
ProfileMenuPlugin,
|
|
6
6
|
} from "../core/plugins.js";
|
|
7
7
|
import { SignIn } from "./components/SignIn.js";
|
|
8
8
|
import { SignOut } from "./components/SignOut.js";
|
|
@@ -8,6 +8,6 @@ export interface AuthenticationPlugin {
|
|
|
8
8
|
signRequest(request: Request): Promise<Request>;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export type AuthenticationProviderInitializer<TConfig> = (
|
|
12
|
+
config: TConfig,
|
|
13
|
+
) => AuthenticationPlugin;
|
|
@@ -72,7 +72,7 @@ const errorDetailsMap: Record<string, { message: string }> = {
|
|
|
72
72
|
},
|
|
73
73
|
};
|
|
74
74
|
|
|
75
|
-
export function OAuthErrorPage({ error }: { error:
|
|
75
|
+
export function OAuthErrorPage({ error }: { error: unknown }) {
|
|
76
76
|
const { login } = useAuth();
|
|
77
77
|
|
|
78
78
|
if (!(error instanceof OAuthAuthorizationError)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { Auth0AuthenticationConfig } from "../../../config/config.js";
|
|
2
|
+
import type {
|
|
3
|
+
AuthenticationPlugin,
|
|
4
|
+
AuthenticationProviderInitializer,
|
|
5
5
|
} from "../authentication.js";
|
|
6
6
|
import { useAuthState } from "../state.js";
|
|
7
7
|
import { OpenIDAuthenticationProvider } from "./openid.js";
|
|
@@ -64,7 +64,7 @@ class Auth0AuthenticationProvider
|
|
|
64
64
|
|
|
65
65
|
// window.location.href = logoutUrl.toString();
|
|
66
66
|
} else {
|
|
67
|
-
const
|
|
67
|
+
const _logoutUrl = new URL(
|
|
68
68
|
`${this.issuer.replace(/\/$/, "")}/oidc/logout`,
|
|
69
69
|
);
|
|
70
70
|
// window.location.href = logoutUrl.toString();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { AuthenticationResult, EventMessage } from "@azure/msal-browser";
|
|
2
2
|
import { EventType, PublicClientApplication } from "@azure/msal-browser";
|
|
3
3
|
import { ErrorBoundary } from "react-error-boundary";
|
|
4
|
-
import {
|
|
4
|
+
import type { AzureB2CAuthenticationConfig } from "../../../config/config.js";
|
|
5
5
|
import { ClientOnly } from "../../components/ClientOnly.js";
|
|
6
6
|
import { joinUrl } from "../../util/joinUrl.js";
|
|
7
|
-
import {
|
|
8
|
-
type AuthenticationPlugin,
|
|
9
|
-
type AuthenticationProviderInitializer,
|
|
10
|
-
} from "../authentication.js";
|
|
11
7
|
import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
|
|
8
|
+
import type {
|
|
9
|
+
AuthenticationPlugin,
|
|
10
|
+
AuthenticationProviderInitializer,
|
|
11
|
+
} from "../authentication.js";
|
|
12
12
|
import { CallbackHandler } from "../components/CallbackHandler.js";
|
|
13
13
|
import { OAuthErrorPage } from "../components/OAuthErrorPage.js";
|
|
14
14
|
import { AuthorizationError } from "../errors.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Clerk } from "@clerk/clerk-js";
|
|
2
2
|
import { LogOutIcon } from "lucide-react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import type { ZudokuPlugin } from "zudoku/plugins";
|
|
4
|
+
import type { ClerkAuthenticationConfig } from "../../../config/config.js";
|
|
5
|
+
import type {
|
|
6
|
+
AuthenticationPlugin,
|
|
7
|
+
AuthenticationProviderInitializer,
|
|
8
8
|
} from "../authentication.js";
|
|
9
9
|
import { SignIn } from "../components/SignIn.js";
|
|
10
10
|
import { SignOut } from "../components/SignOut.js";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import logger from "loglevel";
|
|
2
2
|
import * as oauth from "oauth4webapi";
|
|
3
3
|
import { ErrorBoundary } from "react-error-boundary";
|
|
4
|
-
import {
|
|
4
|
+
import type { OpenIDAuthenticationConfig } from "../../../config/config.js";
|
|
5
5
|
import { ClientOnly } from "../../components/ClientOnly.js";
|
|
6
6
|
import { joinUrl } from "../../util/joinUrl.js";
|
|
7
|
-
import {
|
|
8
|
-
type AuthenticationPlugin,
|
|
9
|
-
type AuthenticationProviderInitializer,
|
|
10
|
-
} from "../authentication.js";
|
|
11
7
|
import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
|
|
8
|
+
import type {
|
|
9
|
+
AuthenticationPlugin,
|
|
10
|
+
AuthenticationProviderInitializer,
|
|
11
|
+
} from "../authentication.js";
|
|
12
12
|
import { CallbackHandler } from "../components/CallbackHandler.js";
|
|
13
13
|
import { OAuthErrorPage } from "../components/OAuthErrorPage.js";
|
|
14
14
|
import { AuthorizationError, OAuthAuthorizationError } from "../errors.js";
|
|
15
|
-
import {
|
|
15
|
+
import { type UserProfile, useAuthState } from "../state.js";
|
|
16
16
|
|
|
17
17
|
const CODE_VERIFIER_KEY = "code-verifier";
|
|
18
18
|
const STATE_KEY = "oauth-state";
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
type Session,
|
|
5
5
|
type SupabaseClient,
|
|
6
6
|
} from "@supabase/supabase-js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
type AuthenticationPlugin,
|
|
10
|
-
type AuthenticationProviderInitializer,
|
|
11
|
-
} from "../authentication.js";
|
|
7
|
+
import type { SupabaseAuthenticationConfig } from "../../../config/config.js";
|
|
12
8
|
import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
|
|
9
|
+
import type {
|
|
10
|
+
AuthenticationPlugin,
|
|
11
|
+
AuthenticationProviderInitializer,
|
|
12
|
+
} from "../authentication.js";
|
|
13
13
|
import { AuthorizationError } from "../errors.js";
|
|
14
|
-
import {
|
|
14
|
+
import { type UserProfile, useAuthState } from "../state.js";
|
|
15
15
|
|
|
16
16
|
class SupabaseAuthenticationProvider
|
|
17
17
|
extends CoreAuthenticationPlugin
|
|
@@ -21,6 +21,7 @@ class SupabaseAuthenticationProvider
|
|
|
21
21
|
private readonly provider: Provider;
|
|
22
22
|
private readonly redirectToAfterSignUp: string;
|
|
23
23
|
private readonly redirectToAfterSignIn: string;
|
|
24
|
+
// biome-ignore lint/correctness/noUnusedPrivateClassMembers: Keep around
|
|
24
25
|
private readonly redirectToAfterSignOut: string;
|
|
25
26
|
|
|
26
27
|
constructor({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// https://github.com/Romainlg29/use-broadcast/
|
|
2
2
|
|
|
3
|
-
import { StateCreator, StoreMutatorIdentifier } from "zustand";
|
|
3
|
+
import type { StateCreator, StoreMutatorIdentifier } from "zustand";
|
|
4
4
|
|
|
5
5
|
export type SharedOptions = {
|
|
6
6
|
/**
|
|
@@ -71,7 +71,7 @@ const sharedImpl: SharedImpl = (f, options) => (set, get, store) => {
|
|
|
71
71
|
self instanceof WorkerGlobalScope
|
|
72
72
|
)
|
|
73
73
|
) {
|
|
74
|
-
//
|
|
74
|
+
// biome-ignore lint/suspicious/noConsole: Logging allowed here
|
|
75
75
|
console.warn(
|
|
76
76
|
"BroadcastChannel is not supported in this environment. The store will not be shared.",
|
|
77
77
|
);
|
|
@@ -82,7 +82,7 @@ const sharedImpl: SharedImpl = (f, options) => (set, get, store) => {
|
|
|
82
82
|
* If BroadcastChannel is not supported, return the basic store
|
|
83
83
|
*/
|
|
84
84
|
if (typeof BroadcastChannel === "undefined") {
|
|
85
|
-
//
|
|
85
|
+
// biome-ignore lint/suspicious/noConsole: Logging allowed here
|
|
86
86
|
console.warn(
|
|
87
87
|
"BroadcastChannel is not supported in this browser. The store will not be shared.",
|
|
88
88
|
);
|
|
@@ -220,7 +220,7 @@ const sharedImpl: SharedImpl = (f, options) => (set, get, store) => {
|
|
|
220
220
|
/**
|
|
221
221
|
* Set the new tab / window id
|
|
222
222
|
*/
|
|
223
|
-
const new_id = tabs[tabs.length - 1]
|
|
223
|
+
const new_id = (tabs[tabs.length - 1] ?? 0) + 1;
|
|
224
224
|
tabs.push(new_id);
|
|
225
225
|
|
|
226
226
|
options?.onTabsChange?.(tabs);
|
|
@@ -93,13 +93,13 @@ export const useBroadcast = <T>(
|
|
|
93
93
|
* If BroadcastChannel is not supported, we log an error and return
|
|
94
94
|
*/
|
|
95
95
|
if (typeof window === "undefined") {
|
|
96
|
-
//
|
|
96
|
+
// biome-ignore lint/suspicious/noConsole: Logging allowed here
|
|
97
97
|
console.error("Window is undefined!");
|
|
98
98
|
return;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
if (!window.BroadcastChannel) {
|
|
102
|
-
//
|
|
102
|
+
// biome-ignore lint/suspicious/noConsole: Logging allowed here
|
|
103
103
|
console.error("BroadcastChannel is not supported!");
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PopoverAnchor } from "@radix-ui/react-popover";
|
|
2
2
|
import { useCommandState } from "cmdk";
|
|
3
|
-
import {
|
|
3
|
+
import { type KeyboardEvent, type Ref, useRef, useState } from "react";
|
|
4
4
|
import {
|
|
5
5
|
Command,
|
|
6
6
|
CommandInlineInput,
|
|
@@ -32,6 +32,7 @@ const Bootstrap = ({
|
|
|
32
32
|
}) => (
|
|
33
33
|
<StrictMode>
|
|
34
34
|
<QueryClientProvider client={queryClient}>
|
|
35
|
+
{/* biome-ignore lint/suspicious/noExplicitAny: Allow any type */}
|
|
35
36
|
<HydrationBoundary state={hydrate ? (window as any).DATA : undefined}>
|
|
36
37
|
<BypassProtectedRoutesContext value={false}>
|
|
37
38
|
<HelmetProvider>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useQuery } from "@tanstack/react-query";
|
|
2
2
|
import { CircleFadingArrowUpIcon, LoaderCircleIcon } from "lucide-react";
|
|
3
|
-
import {
|
|
3
|
+
import { useEffect } from "react";
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
import { Button } from "../ui/Button.js";
|
|
5
6
|
|
|
6
7
|
const BuildStatusSchema = z.object({
|
|
@@ -32,6 +33,16 @@ export const BuildCheck = ({
|
|
|
32
33
|
.then((data) => BuildStatusSchema.parse(data)),
|
|
33
34
|
});
|
|
34
35
|
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (
|
|
38
|
+
buildStatusQuery.data?.status === "success" &&
|
|
39
|
+
buildStatusQuery.data.buildId
|
|
40
|
+
) {
|
|
41
|
+
// biome-ignore lint/suspicious/noDocumentCookie: CookieStore too new to use
|
|
42
|
+
document.cookie = `zuplo-build=${buildStatusQuery.data.buildId}; path=/; max-age=300; secure; SameSite=None`;
|
|
43
|
+
}
|
|
44
|
+
}, [buildStatusQuery.data]);
|
|
45
|
+
|
|
35
46
|
if (
|
|
36
47
|
buildStatusQuery.isError ||
|
|
37
48
|
!buildStatusQuery.data ||
|
|
@@ -37,9 +37,8 @@ const RecursiveMenu = ({ item }: { item: ProfileNavigationItem }) => {
|
|
|
37
37
|
<DropdownMenuSubTrigger>{item.label}</DropdownMenuSubTrigger>
|
|
38
38
|
<DropdownMenuPortal>
|
|
39
39
|
<DropdownMenuSubContent>
|
|
40
|
-
{item.children.map((
|
|
41
|
-
|
|
42
|
-
<RecursiveMenu key={i} item={item} />
|
|
40
|
+
{item.children.map((child) => (
|
|
41
|
+
<RecursiveMenu key={child.label} item={child} />
|
|
43
42
|
))}
|
|
44
43
|
</DropdownMenuSubContent>
|
|
45
44
|
</DropdownMenuPortal>
|
|
@@ -92,7 +91,7 @@ export const Header = memo(function HeaderInner() {
|
|
|
92
91
|
<div className="flex">
|
|
93
92
|
<Link to={site?.logo?.href ?? "/"}>
|
|
94
93
|
<div className="flex items-center gap-3.5">
|
|
95
|
-
{site?.logo
|
|
94
|
+
{site?.logo ? (
|
|
96
95
|
<>
|
|
97
96
|
<img
|
|
98
97
|
src={logoLightSrc}
|
|
@@ -109,8 +108,9 @@ export const Header = memo(function HeaderInner() {
|
|
|
109
108
|
loading="lazy"
|
|
110
109
|
/>
|
|
111
110
|
</>
|
|
111
|
+
) : (
|
|
112
|
+
<span className="font-semibold text-2xl">{site?.title}</span>
|
|
112
113
|
)}
|
|
113
|
-
<span className="font-semibold text-2xl">{site?.title}</span>
|
|
114
114
|
</div>
|
|
115
115
|
</Link>
|
|
116
116
|
</div>
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
-
import { useRegisterAnchorElement } from "./context/ViewportAnchorContext.js";
|
|
3
|
-
|
|
4
1
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
5
2
|
import { LinkIcon } from "lucide-react";
|
|
3
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
6
4
|
import { cn } from "../util/cn.js";
|
|
5
|
+
import { useRegisterAnchorElement } from "./context/ViewportAnchorContext.js";
|
|
7
6
|
|
|
8
7
|
const heading = cva("group relative", {
|
|
9
8
|
variants: {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Outlet, useLocation } from "react-router";
|
|
1
|
+
import { type ReactNode, Suspense, useEffect } from "react";
|
|
2
|
+
import { Outlet } from "react-router";
|
|
4
3
|
import { cn } from "../util/cn.js";
|
|
5
|
-
import { joinUrl } from "../util/joinUrl.js";
|
|
6
4
|
import { useScrollToAnchor } from "../util/useScrollToAnchor.js";
|
|
7
5
|
import { useScrollToTop } from "../util/useScrollToTop.js";
|
|
8
6
|
import { useZudoku } from "./context/ZudokuContext.js";
|
|
@@ -19,8 +17,7 @@ const LoadingFallback = () => (
|
|
|
19
17
|
);
|
|
20
18
|
|
|
21
19
|
export const Layout = ({ children }: { children?: ReactNode }) => {
|
|
22
|
-
const {
|
|
23
|
-
const location = useLocation();
|
|
20
|
+
const { authentication } = useZudoku();
|
|
24
21
|
|
|
25
22
|
useScrollToAnchor();
|
|
26
23
|
useScrollToTop();
|
|
@@ -32,22 +29,6 @@ export const Layout = ({ children }: { children?: ReactNode }) => {
|
|
|
32
29
|
|
|
33
30
|
return (
|
|
34
31
|
<>
|
|
35
|
-
<Helmet titleTemplate={meta?.title}>
|
|
36
|
-
{options.canonicalUrlOrigin && (
|
|
37
|
-
<link
|
|
38
|
-
rel="canonical"
|
|
39
|
-
href={joinUrl(
|
|
40
|
-
options.canonicalUrlOrigin,
|
|
41
|
-
options.basePath,
|
|
42
|
-
location.pathname,
|
|
43
|
-
)}
|
|
44
|
-
/>
|
|
45
|
-
)}
|
|
46
|
-
{meta?.description && (
|
|
47
|
-
<meta name="description" content={meta.description} />
|
|
48
|
-
)}
|
|
49
|
-
{meta?.favicon && <link rel="icon" href={meta.favicon} />}
|
|
50
|
-
</Helmet>
|
|
51
32
|
<Slot.Target name="layout-before-head" />
|
|
52
33
|
<Header />
|
|
53
34
|
<Slot.Target name="layout-after-head" />
|
|
@@ -23,9 +23,12 @@ export const Markdown = memo(
|
|
|
23
23
|
const rehypePlugins = useMemo(
|
|
24
24
|
() => [
|
|
25
25
|
rehypeRaw,
|
|
26
|
-
...createConfiguredShikiRehypePlugins(
|
|
26
|
+
...createConfiguredShikiRehypePlugins(
|
|
27
|
+
syntaxHighlighting?.themes,
|
|
28
|
+
syntaxHighlighting?.highlighter,
|
|
29
|
+
),
|
|
27
30
|
],
|
|
28
|
-
[syntaxHighlighting?.themes],
|
|
31
|
+
[syntaxHighlighting?.themes, syntaxHighlighting?.highlighter],
|
|
29
32
|
);
|
|
30
33
|
|
|
31
34
|
const mdComponents = useMemo(
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Helmet } from "@zudoku/react-helmet-async";
|
|
2
|
+
import type { PropsWithChildren } from "react";
|
|
3
|
+
import { useLocation } from "react-router";
|
|
4
|
+
import { joinUrl } from "../util/joinUrl.js";
|
|
5
|
+
import { useZudoku } from "./context/ZudokuContext.js";
|
|
6
|
+
|
|
7
|
+
export const Meta = ({ children }: PropsWithChildren) => {
|
|
8
|
+
const { meta, options } = useZudoku();
|
|
9
|
+
const location = useLocation();
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
<Helmet titleTemplate={meta?.title} defaultTitle={meta?.defaultTitle}>
|
|
14
|
+
{options.canonicalUrlOrigin && (
|
|
15
|
+
<link
|
|
16
|
+
rel="canonical"
|
|
17
|
+
href={joinUrl(
|
|
18
|
+
options.canonicalUrlOrigin,
|
|
19
|
+
options.basePath,
|
|
20
|
+
location.pathname,
|
|
21
|
+
)}
|
|
22
|
+
/>
|
|
23
|
+
)}
|
|
24
|
+
{meta?.description && (
|
|
25
|
+
<meta name="description" content={meta.description} />
|
|
26
|
+
)}
|
|
27
|
+
{meta?.favicon && <link rel="icon" href={meta.favicon} />}
|
|
28
|
+
</Helmet>
|
|
29
|
+
{children}
|
|
30
|
+
</>
|
|
31
|
+
);
|
|
32
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
2
2
|
import { MenuIcon } from "lucide-react";
|
|
3
|
-
import {
|
|
3
|
+
import { useState } from "react";
|
|
4
4
|
import { Skeleton } from "zudoku/ui/Skeleton.js";
|
|
5
5
|
import { useAuth } from "../authentication/hook.js";
|
|
6
6
|
import {
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import { ClientOnly } from "./ClientOnly.js";
|
|
13
13
|
import { useZudoku } from "./context/ZudokuContext.js";
|
|
14
14
|
import { PoweredByZudoku } from "./navigation/PoweredByZudoku.js";
|
|
15
|
-
import {
|
|
15
|
+
import { shouldShowItem } from "./navigation/utils.js";
|
|
16
16
|
import { PageProgress } from "./PageProgress.js";
|
|
17
17
|
import { Search } from "./Search.js";
|
|
18
18
|
import { Slot } from "./Slot.js";
|
|
@@ -28,7 +28,7 @@ export const MobileTopNavigation = () => {
|
|
|
28
28
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
29
29
|
|
|
30
30
|
const accountItems = getProfileMenuItems();
|
|
31
|
-
const filteredItems = navigation.filter(
|
|
31
|
+
const filteredItems = navigation.filter(shouldShowItem(authState, context));
|
|
32
32
|
|
|
33
33
|
return (
|
|
34
34
|
<Drawer
|
|
@@ -72,16 +72,14 @@ export const MobileTopNavigation = () => {
|
|
|
72
72
|
</li>
|
|
73
73
|
) : (
|
|
74
74
|
Object.values(getProfileMenuItems()).length > 0 && (
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
</li>
|
|
84
|
-
</Fragment>
|
|
75
|
+
<li>
|
|
76
|
+
{profile?.name ? `${profile.name}` : "My Account"}
|
|
77
|
+
{profile?.email && (
|
|
78
|
+
<div className="font-normal text-muted-foreground">
|
|
79
|
+
{profile.email}
|
|
80
|
+
</div>
|
|
81
|
+
)}
|
|
82
|
+
</li>
|
|
85
83
|
)
|
|
86
84
|
)}
|
|
87
85
|
</ClientOnly>
|
|
@@ -22,7 +22,7 @@ export const PathRenderer = ({
|
|
|
22
22
|
matches.forEach((match) => {
|
|
23
23
|
const [originalValue, name] = match;
|
|
24
24
|
if (!name) return;
|
|
25
|
-
const startIndex = match.index
|
|
25
|
+
const startIndex = match.index;
|
|
26
26
|
|
|
27
27
|
if (startIndex > lastIndex) {
|
|
28
28
|
elements.push(
|
|
@@ -50,7 +50,7 @@ export const PathRenderer = ({
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
return (
|
|
53
|
-
//
|
|
53
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: index should be stable
|
|
54
54
|
<Fragment key={`${part}-${i}`}>
|
|
55
55
|
{elements}
|
|
56
56
|
{i < arr.length - 1 && "/"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
2
2
|
import {
|
|
3
3
|
act,
|
|
4
|
+
type RenderResult,
|
|
4
5
|
screen,
|
|
5
6
|
render as testRender,
|
|
6
|
-
type RenderResult,
|
|
7
7
|
} from "@testing-library/react";
|
|
8
8
|
import type { PropsWithChildren, ReactNode } from "react";
|
|
9
9
|
import { useEffect, useState } from "react";
|
|
10
10
|
import { MemoryRouter } from "react-router";
|
|
11
11
|
import { describe, expect, it } from "vitest";
|
|
12
12
|
import { ZudokuContext } from "../core/ZudokuContext.js";
|
|
13
|
-
import { Slot } from "./Slot.js";
|
|
14
13
|
import { SlotProvider } from "./context/SlotProvider.js";
|
|
15
14
|
import { ZudokuProvider } from "./context/ZudokuProvider.js";
|
|
15
|
+
import { Slot } from "./Slot.js";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* @vitest-environment happy-dom
|
|
@@ -196,12 +196,10 @@ describe("Slot", () => {
|
|
|
196
196
|
expect(screen.getByText("Source content")).toBeInTheDocument();
|
|
197
197
|
|
|
198
198
|
rerender(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
/>
|
|
204
|
-
</>,
|
|
199
|
+
<Slot.Target
|
|
200
|
+
name="footer-after"
|
|
201
|
+
fallback={<div>Fallback content</div>}
|
|
202
|
+
/>,
|
|
205
203
|
);
|
|
206
204
|
|
|
207
205
|
expect(screen.getByText("Fallback content")).toBeInTheDocument();
|
|
@@ -374,11 +372,13 @@ describe("Slot", () => {
|
|
|
374
372
|
await render(
|
|
375
373
|
<>
|
|
376
374
|
{manySlots.map((name) => (
|
|
375
|
+
// biome-ignore lint/suspicious/noExplicitAny: Allow any type
|
|
377
376
|
<Slot.Source key={name} name={name as any}>
|
|
378
377
|
<div>Content {name}</div>
|
|
379
378
|
</Slot.Source>
|
|
380
379
|
))}
|
|
381
380
|
{manySlots.map((name) => (
|
|
381
|
+
// biome-ignore lint/suspicious/noExplicitAny: Allow any type
|
|
382
382
|
<Slot.Target key={name} name={name as any} />
|
|
383
383
|
))}
|
|
384
384
|
</>,
|