eddev 2.0.0-beta.14 → 2.0.0-beta.140
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/css/editor-styles.css +4 -0
- package/dist/app/entry/HydrationOverlay.d.ts +2 -0
- package/dist/app/entry/HydrationOverlay.d.ts.map +1 -0
- package/dist/app/entry/HydrationOverlay.js +2 -0
- package/dist/app/entry/MetaTags.d.ts +8 -0
- package/dist/app/entry/MetaTags.d.ts.map +1 -0
- package/dist/app/entry/MetaTags.js +30 -0
- package/dist/app/entry/boot-admin.d.ts +1 -0
- package/dist/app/entry/boot-admin.d.ts.map +1 -0
- package/dist/app/entry/boot-admin.js +8 -3
- package/dist/app/entry/hydration-script.d.ts +2 -0
- package/dist/app/entry/hydration-script.d.ts.map +1 -0
- package/dist/app/entry/hydration-script.js +18 -0
- package/dist/app/entry/spa-root.d.ts +1 -0
- package/dist/app/entry/spa-root.d.ts.map +1 -0
- package/dist/app/entry/spa-root.js +3 -5
- package/dist/app/entry/ssr-root-client.d.ts +4 -1
- package/dist/app/entry/ssr-root-client.d.ts.map +1 -0
- package/dist/app/entry/ssr-root-client.js +18 -6
- package/dist/app/entry/ssr-root.d.ts +4 -4
- package/dist/app/entry/ssr-root.d.ts.map +1 -0
- package/dist/app/entry/ssr-root.js +19 -19
- package/dist/app/lib/admin/defineField.d.ts +1 -0
- package/dist/app/lib/admin/defineField.d.ts.map +1 -0
- package/dist/app/lib/admin/defineWidget.d.ts +1 -0
- package/dist/app/lib/admin/defineWidget.d.ts.map +1 -0
- package/dist/app/lib/admin/index.d.ts +1 -0
- package/dist/app/lib/admin/index.d.ts.map +1 -0
- package/dist/app/lib/admin/installFieldTypes.d.ts +1 -0
- package/dist/app/lib/admin/installFieldTypes.d.ts.map +1 -0
- package/dist/app/lib/admin/installFieldTypes.js +2 -0
- package/dist/app/lib/admin/runWidgets.d.ts +1 -0
- package/dist/app/lib/admin/runWidgets.d.ts.map +1 -0
- package/dist/app/lib/admin/runWidgets.js +7 -2
- package/dist/app/lib/blocks/ContentBlocks.d.ts +7 -4
- package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/ContentBlocks.js +4 -3
- package/dist/app/lib/blocks/EditableText.d.ts +15 -1
- package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
- package/dist/app/lib/blocks/EditableText.js +10 -3
- package/dist/app/lib/blocks/InnerBlocks.d.ts +20 -5
- package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/InnerBlocks.js +72 -25
- package/dist/app/lib/blocks/block-utils.d.ts +2 -1
- package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
- package/dist/app/lib/blocks/block-utils.js +1 -1
- package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
- package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
- package/dist/app/lib/blocks/defineBlock.js +9 -0
- package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +8 -0
- package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/EditorHighlights.js +164 -0
- package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -0
- package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/EditorSupport.js +15 -10
- package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +2 -1
- package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/block-templates.d.ts +7 -0
- package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/block-templates.js +64 -0
- package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
- package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
- package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
- package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/create-block.js +13 -0
- package/dist/app/lib/blocks/editor/editor-config.d.ts +70 -6
- package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/editor-config.js +29 -62
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/installGutenbergHooks.js +92 -14
- package/dist/app/lib/blocks/editor/root-blocks.d.ts +7 -0
- package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
- package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
- package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/usePostEditor.js +28 -13
- package/dist/app/lib/blocks/index.d.ts +6 -4
- package/dist/app/lib/blocks/index.d.ts.map +1 -0
- package/dist/app/lib/blocks/index.js +5 -4
- package/dist/app/lib/blocks/inline-editing.d.ts +10 -0
- package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
- package/dist/app/lib/blocks/inline-editing.js +13 -3
- package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
- package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/BreakpointIndicator.js +2 -2
- package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
- package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/DevUI.js +3 -2
- package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
- package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
- package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
- package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
- package/dist/app/lib/devtools/hooks/usePersistState.d.ts +2 -1
- package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
- package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1376 -331
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
- package/dist/app/lib/devtools/index.d.ts +1 -0
- package/dist/app/lib/devtools/index.d.ts.map +1 -0
- package/dist/app/lib/devtools/loader.d.ts +1 -0
- package/dist/app/lib/devtools/loader.d.ts.map +1 -0
- package/dist/app/lib/devtools/loader.js +7 -6
- package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
- package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
- package/dist/app/lib/devtools/useQueryDebug.d.ts +8 -1
- package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
- package/dist/app/lib/devtools/useQueryDebug.js +5 -8
- package/dist/app/lib/dynamic/dynamic.d.ts +2 -1
- package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
- package/dist/app/lib/dynamic/dynamic.js +5 -1
- package/dist/app/lib/dynamic/index.d.ts +1 -0
- package/dist/app/lib/dynamic/index.d.ts.map +1 -0
- package/dist/app/lib/hooks/index.d.ts +2 -2
- package/dist/app/lib/hooks/index.d.ts.map +1 -0
- package/dist/app/lib/hooks/index.js +1 -2
- package/dist/app/lib/hooks/queryUtils.d.ts +38 -2
- package/dist/app/lib/hooks/queryUtils.d.ts.map +1 -0
- package/dist/app/lib/hooks/queryUtils.js +73 -24
- package/dist/app/lib/hooks/useAppData.d.ts +1 -0
- package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
- package/dist/app/lib/hooks/useAppData.js +12 -1
- package/dist/app/lib/hooks/useRPC.d.ts +1 -4
- package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
- package/dist/app/lib/hooks/useRPC.js +1 -8
- package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
- package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/index.js +2 -0
- package/dist/app/lib/integrations/gravityforms/types.d.ts +141 -0
- package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/types.js +1 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.js +285 -0
- package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
- package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
- package/dist/app/lib/internal/finalize-rpc.js +3 -0
- package/dist/app/lib/internal/index.d.ts +2 -0
- package/dist/app/lib/internal/index.d.ts.map +1 -0
- package/dist/app/lib/internal/index.js +1 -0
- package/dist/app/lib/internal/internal-store.d.ts +1 -0
- package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
- package/dist/app/lib/internal/read-block-manifest.d.ts +1 -0
- package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
- package/dist/app/lib/internal/read-view-manifest.d.ts +1 -0
- package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
- package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
- package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
- package/dist/app/lib/legacy-stitches/createStitches.js +1 -1
- package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
- package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
- package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
- package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
- package/dist/app/lib/routing/components/BackButton.js +47 -0
- package/dist/app/lib/routing/components/BrowserRouter.d.ts +6 -1
- package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
- package/dist/app/lib/routing/components/BrowserRouter.js +96 -17
- package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
- package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
- package/dist/app/lib/routing/components/ClientOnly.js +1 -1
- package/dist/app/lib/routing/components/Link.d.ts +2 -0
- package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
- package/dist/app/lib/routing/components/Link.js +11 -9
- package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
- package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
- package/dist/app/lib/routing/components/RouteRenderer.js +4 -3
- package/dist/app/lib/routing/components/SSRRouter.d.ts +1 -0
- package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
- package/dist/app/lib/routing/components/SSRRouter.js +1 -2
- package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
- package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
- package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
- package/dist/app/lib/routing/context.d.ts +6 -1
- package/dist/app/lib/routing/context.d.ts.map +1 -0
- package/dist/app/lib/routing/context.js +12 -0
- package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
- package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRestorableState.js +2 -1
- package/dist/app/lib/routing/hooks/useRoute.d.ts +17 -1
- package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRoute.js +21 -0
- package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
- package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
- package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useSearchParams.d.ts +76 -4
- package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useSearchParams.js +70 -11
- package/dist/app/lib/routing/index.d.ts +2 -0
- package/dist/app/lib/routing/index.d.ts.map +1 -0
- package/dist/app/lib/routing/index.js +1 -0
- package/dist/app/lib/routing/loader.d.ts +1 -0
- package/dist/app/lib/routing/loader.d.ts.map +1 -0
- package/dist/app/lib/routing/loader.js +19 -10
- package/dist/app/lib/routing/types.d.ts +49 -8
- package/dist/app/lib/routing/types.d.ts.map +1 -0
- package/dist/app/lib/routing/utils.d.ts +6 -2
- package/dist/app/lib/routing/utils.d.ts.map +1 -0
- package/dist/app/lib/routing/utils.js +36 -3
- package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +7 -2
- package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
- package/dist/app/lib/runtime/apiConfig.js +6 -0
- package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
- package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
- package/dist/app/lib/runtime/errorHandling.js +6 -0
- package/dist/app/lib/runtime/index.d.ts +3 -0
- package/dist/app/lib/runtime/index.d.ts.map +1 -0
- package/dist/app/lib/runtime/index.js +2 -0
- package/dist/app/lib/views/defineView.d.ts +2 -1
- package/dist/app/lib/views/defineView.d.ts.map +1 -0
- package/dist/app/lib/views/index.d.ts +1 -0
- package/dist/app/lib/views/index.d.ts.map +1 -0
- package/dist/app/server/index.d.ts +2 -0
- package/dist/app/server/index.d.ts.map +1 -0
- package/dist/app/server/index.js +1 -0
- package/dist/app/server/proxy-wp-admin.d.ts +2 -2
- package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
- package/dist/app/server/proxy-wp-admin.js +43 -14
- package/dist/app/server/render-ssr-page.d.ts +27 -2
- package/dist/app/server/render-ssr-page.d.ts.map +1 -0
- package/dist/app/server/render-ssr-page.js +212 -12
- package/dist/app/server/rpc.d.ts +49 -0
- package/dist/app/server/rpc.d.ts.map +1 -0
- package/dist/app/server/rpc.js +18 -0
- package/dist/app/server/server-context.d.ts +45 -4
- package/dist/app/server/server-context.d.ts.map +1 -0
- package/dist/app/server/server-context.js +329 -33
- package/dist/app/server/utils/headers.d.ts +1 -0
- package/dist/app/server/utils/headers.d.ts.map +1 -0
- package/dist/app/server/utils/replace-host.d.ts +2 -1
- package/dist/app/server/utils/replace-host.d.ts.map +1 -0
- package/dist/app/server/utils/replace-host.js +10 -2
- package/dist/app/server/utils/swr-cache.d.ts +5 -0
- package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
- package/dist/app/server/utils/swr-cache.js +31 -0
- package/dist/app/utils/APIProvider.d.ts +3 -0
- package/dist/app/utils/APIProvider.d.ts.map +1 -0
- package/dist/app/utils/APIProvider.js +5 -0
- package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
- package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
- package/dist/app/utils/BlockErrorBoundary.js +38 -0
- package/dist/app/utils/ErrorMessage.d.ts +6 -0
- package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
- package/dist/app/utils/ErrorMessage.js +14 -0
- package/dist/app/utils/RouteErrorBoundary.d.ts +19 -0
- package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
- package/dist/app/utils/RouteErrorBoundary.js +38 -0
- package/dist/app/utils/asset-capture.d.ts +3 -0
- package/dist/app/utils/asset-capture.d.ts.map +1 -0
- package/dist/app/utils/asset-capture.js +5 -0
- package/dist/app/utils/hydration-debugger.d.ts +14 -0
- package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
- package/dist/app/utils/hydration-debugger.js +11 -0
- package/dist/app/utils/query-client.d.ts +3 -0
- package/dist/app/utils/query-client.d.ts.map +1 -0
- package/dist/app/utils/query-client.js +5 -1
- package/dist/app/utils/query-monitor.d.ts +27 -0
- package/dist/app/utils/query-monitor.d.ts.map +1 -0
- package/dist/app/utils/query-monitor.js +7 -0
- package/dist/app/utils/trpc-client.d.ts +3 -0
- package/dist/app/utils/trpc-client.d.ts.map +1 -0
- package/dist/app/utils/trpc-client.js +39 -0
- package/dist/app/utils/wp.d.ts +11 -10
- package/dist/app/utils/wp.d.ts.map +1 -0
- package/dist/node/cli/cli-mode.d.ts +1 -0
- package/dist/node/cli/cli-mode.d.ts.map +1 -0
- package/dist/node/cli/cli-worker.d.ts +1 -0
- package/dist/node/cli/cli-worker.d.ts.map +1 -0
- package/dist/node/cli/cli-worker.js +11 -5
- package/dist/node/cli/cli.d.ts +1 -0
- package/dist/node/cli/cli.d.ts.map +1 -0
- package/dist/node/cli/cli.js +85 -11
- package/dist/node/cli/display/CLIApp.d.ts +1 -0
- package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
- package/dist/node/cli/display/CLIApp.js +3 -6
- package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
- package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
- package/dist/node/cli/display/boot-cli-app.js +1 -1
- package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
- package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
- package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
- package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
- package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
- package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
- package/dist/node/cli/display/components/TextInput.d.ts +1 -0
- package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
- package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
- package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
- package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
- package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
- package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
- package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
- package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
- package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
- package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
- package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
- package/dist/node/cli/display/tools/cli-tools.d.ts +2 -1
- package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
- package/dist/node/cli/display/util/colors.d.ts +1 -0
- package/dist/node/cli/display/util/colors.d.ts.map +1 -0
- package/dist/node/cli/version.d.ts +2 -1
- package/dist/node/cli/version.d.ts.map +1 -0
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/build-vinxi.d.ts +1 -0
- package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
- package/dist/node/compiler/build-vinxi.js +2 -1
- package/dist/node/compiler/bundler.admin.d.ts +2 -1
- package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
- package/dist/node/compiler/bundler.admin.js +1 -1
- package/dist/node/compiler/bundler.frontend.d.ts +1 -0
- package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
- package/dist/node/compiler/bundler.frontend.js +1 -1
- package/dist/node/compiler/dev-server.d.ts +1 -0
- package/dist/node/compiler/dev-server.d.ts.map +1 -0
- package/dist/node/compiler/dev-server.js +11 -0
- package/dist/node/compiler/get-vite-config.d.ts +12 -1
- package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
- package/dist/node/compiler/get-vite-config.js +170 -41
- package/dist/node/compiler/vinxi-app.d.ts +13 -0
- package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
- package/dist/node/compiler/vinxi-app.js +140 -32
- package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
- package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
- package/dist/node/compiler/vinxi-codegen.js +367 -111
- package/dist/node/graphql/graphql-codegen.d.ts +12 -1
- package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
- package/dist/node/graphql/graphql-codegen.js +216 -34
- package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
- package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
- package/dist/node/graphql/graphql-schema-loader.js +5 -16
- package/dist/node/graphql/plugins/gql-plugin-files.d.ts +2 -0
- package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
- package/dist/node/graphql/plugins/gql-plugin-files.js +1 -0
- package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
- package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.js +1 -1
- package/dist/node/graphql/query-files-loader.d.ts +4 -0
- package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
- package/dist/node/graphql/query-files-loader.js +5 -0
- package/dist/node/graphql/wp-info-query.d.ts +1 -0
- package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
- package/dist/node/project/config.d.ts +160 -73
- package/dist/node/project/config.d.ts.map +1 -0
- package/dist/node/project/config.js +69 -20
- package/dist/node/project/eddev-build-file.d.ts +1 -0
- package/dist/node/project/eddev-build-file.d.ts.map +1 -0
- package/dist/node/project/eddev-build-file.js +2 -2
- package/dist/node/project/env.d.ts +5 -0
- package/dist/node/project/env.d.ts.map +1 -0
- package/dist/node/project/env.js +1 -0
- package/dist/node/project/favicons.d.ts +1 -1
- package/dist/node/project/favicons.d.ts.map +1 -0
- package/dist/node/project/favicons.js +1 -1
- package/dist/node/project/manifest/block-manifest.d.ts +1 -0
- package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/block-manifest.js +3 -1
- package/dist/node/project/manifest/field-manifest.d.ts +1 -0
- package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/manifest.d.ts +2 -0
- package/dist/node/project/manifest/manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/manifest.js +14 -10
- package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
- package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/routes-manifest.js +74 -0
- package/dist/node/project/manifest/view-manifest.d.ts +1 -0
- package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/view-manifest.js +1 -1
- package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
- package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
- package/dist/node/project/project.d.ts +12 -1
- package/dist/node/project/project.d.ts.map +1 -0
- package/dist/node/project/project.js +61 -7
- package/dist/node/project/wp-info.d.ts +2 -0
- package/dist/node/project/wp-info.d.ts.map +1 -0
- package/dist/node/project/wp-info.js +13 -1
- package/dist/node/storybook/index.d.ts +3 -0
- package/dist/node/storybook/index.d.ts.map +1 -0
- package/dist/node/storybook/index.js +13 -0
- package/dist/node/types/block-type.d.ts +22 -16
- package/dist/node/types/block-type.d.ts.map +1 -0
- package/dist/node/types/block-type.js +1 -0
- package/dist/node/types/view-type.d.ts +8 -7
- package/dist/node/types/view-type.d.ts.map +1 -0
- package/dist/node/utils/fetch-wp.d.ts +2 -0
- package/dist/node/utils/fetch-wp.d.ts.map +1 -0
- package/dist/node/utils/fetch-wp.js +27 -0
- package/dist/node/utils/format-zod-error.d.ts +1 -0
- package/dist/node/utils/format-zod-error.d.ts.map +1 -0
- package/dist/node/utils/fs-codegen.d.ts +3 -0
- package/dist/node/utils/fs-codegen.d.ts.map +1 -0
- package/dist/node/utils/fs-codegen.js +2 -1
- package/dist/node/utils/fs.d.ts +5 -0
- package/dist/node/utils/fs.d.ts.map +1 -0
- package/dist/node/utils/get-repo-info.d.ts +1 -0
- package/dist/node/utils/get-repo-info.d.ts.map +1 -0
- package/dist/node/utils/helpers.d.ts +1 -0
- package/dist/node/utils/helpers.d.ts.map +1 -0
- package/dist/node/utils/highlight-code.d.ts +1 -0
- package/dist/node/utils/highlight-code.d.ts.map +1 -0
- package/dist/node/utils/is-deploying.d.ts +1 -0
- package/dist/node/utils/is-deploying.d.ts.map +1 -0
- package/dist/node/utils/is-deploying.js +1 -1
- package/dist/node/utils/report-builder.d.ts +7 -6
- package/dist/node/utils/report-builder.d.ts.map +1 -0
- package/dist/node/utils/self-signed-cert.d.ts +3 -0
- package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
- package/dist/node/utils/self-signed-cert.js +10 -2
- package/dist/node/utils/stateful-log.d.ts +1 -0
- package/dist/node/utils/stateful-log.d.ts.map +1 -0
- package/dist/node/utils/stateful-log.js +2 -0
- package/dist/node/utils/ts-export-extractor.d.ts +1 -0
- package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
- package/dist/node/utils/watch-file-tree.d.ts +18 -3
- package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
- package/dist/node/utils/watch-file-tree.js +12 -5
- package/package.json +36 -24
- package/tsconfig.app.json +10 -5
- package/tsconfig.node.json +3 -2
- package/types.app.d.ts +2 -0
- package/types.meta.d.ts +116 -0
- package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
- package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
- package/dist/app/lib/hooks/apiConfig.js +0 -4
- package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
- package/dist/app/lib/hooks/usePageLoad.js +0 -5
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useRoute } from "../hooks/useRoute";
|
|
3
|
+
import { useRouter } from "../hooks/useRouter";
|
|
4
|
+
import { useRouterState } from "../hooks/useRouterState";
|
|
5
|
+
import { getLinkHandlerMode } from "../utils";
|
|
6
|
+
/**
|
|
7
|
+
* Display a back button that will navigate to the previous page in the router's history.
|
|
8
|
+
*
|
|
9
|
+
* This will allow you to render a back button on the condition that the back button will not send the user to a different website.
|
|
10
|
+
*/
|
|
11
|
+
export function BackButton(props) {
|
|
12
|
+
const router = useRouter();
|
|
13
|
+
const prevRoute = useRouterState((state) => state.history[state.history.length - 2]);
|
|
14
|
+
const contextRoute = useRoute();
|
|
15
|
+
const activeRoute = useRouterState((state) => state.activeRoute);
|
|
16
|
+
const route = props.mode === "global" ? activeRoute : contextRoute;
|
|
17
|
+
const backAction = useMemo(() => {
|
|
18
|
+
if (prevRoute && (!props.filter || props.filter(prevRoute))) {
|
|
19
|
+
return (e) => {
|
|
20
|
+
const { mode } = getLinkHandlerMode(e, prevRoute.uri);
|
|
21
|
+
if (mode === "navigate") {
|
|
22
|
+
e.preventDefault();
|
|
23
|
+
history.back();
|
|
24
|
+
// history.length
|
|
25
|
+
}
|
|
26
|
+
else if (mode === "ignore") {
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else if (props.fallbackHref) {
|
|
32
|
+
return (e) => {
|
|
33
|
+
const { mode } = getLinkHandlerMode(e, props.fallbackHref);
|
|
34
|
+
if (mode === "navigate") {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
router.navigate(props.fallbackHref);
|
|
37
|
+
}
|
|
38
|
+
else if (mode === "ignore") {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}, [route, props.filter, props.fallbackHref]);
|
|
44
|
+
if (backAction) {
|
|
45
|
+
return props.render ? props.render({ route: prevRoute, onClick: backAction }) : null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { PropsWithChildren } from "react";
|
|
2
|
-
type
|
|
2
|
+
import { type RouterAPI } from "../types.js";
|
|
3
|
+
type Props = PropsWithChildren<{
|
|
4
|
+
routerRef?: React.MutableRefObject<RouterAPI | null>;
|
|
5
|
+
onReady?: () => void;
|
|
6
|
+
}>;
|
|
3
7
|
export declare function BrowserRouter(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
4
8
|
export {};
|
|
9
|
+
//# sourceMappingURL=BrowserRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/BrowserRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuD,MAAM,OAAO,CAAA;AAK9F,OAAO,EAML,KAAK,SAAS,EAGf,MAAM,aAAa,CAAA;AAWpB,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAC,CAAA;AAuEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,2CA2ZzC"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useMemo, useRef, useState, useTransition } from "react";
|
|
3
|
-
import { isRelative, parseURL, resolveURL } from "ufo";
|
|
4
|
-
import { RouterContext, RouterStateContext } from "../context.js";
|
|
3
|
+
import { isEqual, isRelative, parseURL, resolveURL } from "ufo";
|
|
4
|
+
import { clientMetaTags, RouterContext, RouterStateContext } from "../context.js";
|
|
5
|
+
import { $routeMetaStore } from "../hooks/useRouteMeta.js";
|
|
5
6
|
import { RouteLoader } from "../loader.js";
|
|
6
|
-
import { getLinkHandlerMode, normalizeRoute, parseQuery, stringifyRouteLink } from "../utils.js";
|
|
7
|
+
import { getLinkHandlerMode, getRouteMeta, isSamePathname, normalizeRoute, parseQuery, stringifyRouteLink, } from "../utils.js";
|
|
7
8
|
import { AppRenderer } from "./RouteRenderer.js";
|
|
9
|
+
// Create a global RouteLoader instance
|
|
8
10
|
const loader = new RouteLoader();
|
|
11
|
+
// Create a unique ID for each history entry
|
|
12
|
+
let historyStamp = String(new Date().getTime());
|
|
13
|
+
let historyIndex = 0;
|
|
14
|
+
function getHistoryId() {
|
|
15
|
+
return historyStamp + historyIndex++;
|
|
16
|
+
}
|
|
17
|
+
// Set up the initial route data
|
|
9
18
|
let initialRoute;
|
|
10
19
|
let initialRouteHydrated = false;
|
|
11
20
|
if (env.client && !env.admin) {
|
|
@@ -23,7 +32,10 @@ if (env.client && !env.admin) {
|
|
|
23
32
|
search: "",
|
|
24
33
|
query: {},
|
|
25
34
|
view: initialData.view,
|
|
35
|
+
meta: getRouteMeta(initialData),
|
|
26
36
|
});
|
|
37
|
+
history.replaceState(historyStateForRoute(initialRoute), "", document.location.href);
|
|
38
|
+
$routeMetaStore.data = getRouteMeta(initialData);
|
|
27
39
|
}
|
|
28
40
|
function parseHrefPath(url) {
|
|
29
41
|
if (isRelative(url)) {
|
|
@@ -54,14 +66,9 @@ function historyStateForRoute(route) {
|
|
|
54
66
|
state: route.returnState,
|
|
55
67
|
};
|
|
56
68
|
}
|
|
57
|
-
let index = 0;
|
|
58
|
-
function getHistoryId() {
|
|
59
|
-
return String(index++);
|
|
60
|
-
}
|
|
61
69
|
let lastRouterState = null;
|
|
62
70
|
export function BrowserRouter(props) {
|
|
63
71
|
const pendingRoute = useRef(null);
|
|
64
|
-
// const [activeRoute, setActiveRoute] = useState<RouteState>(initialRoute)
|
|
65
72
|
const [transitioning, startTransition] = useTransition();
|
|
66
73
|
const [routerState, setRouterState] = useState(() => ({
|
|
67
74
|
activeRoute: initialRoute,
|
|
@@ -79,6 +86,16 @@ export function BrowserRouter(props) {
|
|
|
79
86
|
...state,
|
|
80
87
|
...update,
|
|
81
88
|
};
|
|
89
|
+
if (state?.activeRoute?.meta?.tags) {
|
|
90
|
+
if (env.serverless) {
|
|
91
|
+
clientMetaTags.setMetaTags(state.activeRoute.meta.tags ?? []);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const title = state.activeRoute.meta.tags.find((tag) => tag.tagName === "title")?.inner;
|
|
95
|
+
if (title)
|
|
96
|
+
document.title = title;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
82
99
|
setRouterState(state);
|
|
83
100
|
};
|
|
84
101
|
const internals = {
|
|
@@ -181,11 +198,20 @@ export function BrowserRouter(props) {
|
|
|
181
198
|
});
|
|
182
199
|
if (cancelled)
|
|
183
200
|
return;
|
|
184
|
-
const data = await loader.loadRouteData(parseHrefPath(args.url))
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
201
|
+
const data = await loader.loadRouteData(parseHrefPath(args.url)).catch((err) => {
|
|
202
|
+
emitEvent({ type: "error", url: args.url, error: err, critical: true });
|
|
203
|
+
return {
|
|
204
|
+
view: "_error",
|
|
205
|
+
viewType: "react",
|
|
206
|
+
appData: loader.appData,
|
|
207
|
+
viewData: {
|
|
208
|
+
data: {
|
|
209
|
+
code: 500,
|
|
210
|
+
error: err,
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
});
|
|
189
215
|
const lazyComponent = loader.getRouteComponent(data.view);
|
|
190
216
|
if (!lazyComponent) {
|
|
191
217
|
console.error(`No component found for view: ${data.view}`);
|
|
@@ -196,11 +222,12 @@ export function BrowserRouter(props) {
|
|
|
196
222
|
hash: link.hash,
|
|
197
223
|
search: "",
|
|
198
224
|
query: link.query,
|
|
199
|
-
pathname: link.pathname,
|
|
225
|
+
pathname: data.canonical ?? link.pathname,
|
|
200
226
|
view: data.view,
|
|
201
227
|
props: data.viewData?.data ?? {},
|
|
202
228
|
component: lazyComponent,
|
|
203
229
|
returnState: args.restoreState ?? {},
|
|
230
|
+
meta: getRouteMeta(data),
|
|
204
231
|
});
|
|
205
232
|
setState({
|
|
206
233
|
pendingRoute: route,
|
|
@@ -229,6 +256,7 @@ export function BrowserRouter(props) {
|
|
|
229
256
|
lastRoute: currentRoute,
|
|
230
257
|
link,
|
|
231
258
|
});
|
|
259
|
+
$routeMetaStore.data = route.meta;
|
|
232
260
|
};
|
|
233
261
|
startTransition(() => {
|
|
234
262
|
pendingRoute.current = route;
|
|
@@ -247,6 +275,9 @@ export function BrowserRouter(props) {
|
|
|
247
275
|
goingBack: false,
|
|
248
276
|
});
|
|
249
277
|
},
|
|
278
|
+
getState() {
|
|
279
|
+
return state;
|
|
280
|
+
},
|
|
250
281
|
replaceHash(hash) {
|
|
251
282
|
replaceRoute({
|
|
252
283
|
...getActiveRoute(),
|
|
@@ -257,6 +288,7 @@ export function BrowserRouter(props) {
|
|
|
257
288
|
replaceRoute({
|
|
258
289
|
...getActiveRoute(),
|
|
259
290
|
query,
|
|
291
|
+
returnState: captureState(),
|
|
260
292
|
});
|
|
261
293
|
},
|
|
262
294
|
async prefetch(url) {
|
|
@@ -265,7 +297,7 @@ export function BrowserRouter(props) {
|
|
|
265
297
|
if (loader.hasRouteData(link.pathname))
|
|
266
298
|
return;
|
|
267
299
|
emitEvent({ type: "preload:start", currentRoute: getActiveRoute(), link });
|
|
268
|
-
|
|
300
|
+
await loader.loadRouteData(link.pathname).then((data) => {
|
|
269
301
|
emitEvent({ type: "preload:data-ready", currentRoute: getActiveRoute(), link, data });
|
|
270
302
|
});
|
|
271
303
|
}
|
|
@@ -297,8 +329,8 @@ export function BrowserRouter(props) {
|
|
|
297
329
|
subscribers.delete(fn);
|
|
298
330
|
};
|
|
299
331
|
},
|
|
300
|
-
handleClickEvent(e, originalHref) {
|
|
301
|
-
const { mode, href } = getLinkHandlerMode(e, originalHref);
|
|
332
|
+
handleClickEvent(e, originalHref, preferBack) {
|
|
333
|
+
const { mode, href } = getLinkHandlerMode(e, originalHref, state.activeRoute);
|
|
302
334
|
if (mode === "ignore") {
|
|
303
335
|
e.preventDefault();
|
|
304
336
|
return;
|
|
@@ -308,10 +340,53 @@ export function BrowserRouter(props) {
|
|
|
308
340
|
}
|
|
309
341
|
else if (mode === "navigate" && href) {
|
|
310
342
|
e.preventDefault();
|
|
343
|
+
if (preferBack) {
|
|
344
|
+
const lastState = state.history.length > 1 && state.history[state.history.length - 2];
|
|
345
|
+
if (lastState) {
|
|
346
|
+
const doesMatch = preferBack === "exact" ? isEqual(href, lastState.uri) : isSamePathname(href, lastState.uri);
|
|
347
|
+
if (doesMatch) {
|
|
348
|
+
history.back();
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
311
353
|
api.navigate(href);
|
|
312
354
|
}
|
|
313
355
|
},
|
|
314
356
|
emitEvent,
|
|
357
|
+
restoreRoute(route) {
|
|
358
|
+
const stack = state.history;
|
|
359
|
+
// Is the route in our history stack? (going back)
|
|
360
|
+
const index = stack.findIndex((item) => item.id === route.id);
|
|
361
|
+
if (index >= 0) {
|
|
362
|
+
return doRouteTransition({
|
|
363
|
+
url: route.uri,
|
|
364
|
+
route,
|
|
365
|
+
goingBack: true,
|
|
366
|
+
history: stack.slice(0, index),
|
|
367
|
+
restoreState: route.returnState,
|
|
368
|
+
shouldPush: false,
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
// Is the route in our history _cache_? (probably going forward)
|
|
372
|
+
if (historyCache.has(route.id)) {
|
|
373
|
+
return doRouteTransition({
|
|
374
|
+
url: route.uri,
|
|
375
|
+
route,
|
|
376
|
+
goingBack: false,
|
|
377
|
+
history: stack,
|
|
378
|
+
restoreState: route.returnState,
|
|
379
|
+
shouldPush: false,
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
return doRouteTransition({
|
|
383
|
+
url: route.uri,
|
|
384
|
+
goingBack: false,
|
|
385
|
+
history: stack,
|
|
386
|
+
restoreState: route.returnState,
|
|
387
|
+
shouldPush: false,
|
|
388
|
+
});
|
|
389
|
+
},
|
|
315
390
|
};
|
|
316
391
|
return {
|
|
317
392
|
api,
|
|
@@ -340,6 +415,7 @@ export function BrowserRouter(props) {
|
|
|
340
415
|
// Handle popState
|
|
341
416
|
// const router = useRouterStore.getState()
|
|
342
417
|
const onPopState = (e) => {
|
|
418
|
+
// console.log("Popped", e.state)
|
|
343
419
|
internals.poppedState?.(document.location.href, e.state ?? {});
|
|
344
420
|
};
|
|
345
421
|
window.addEventListener("popstate", onPopState);
|
|
@@ -347,5 +423,8 @@ export function BrowserRouter(props) {
|
|
|
347
423
|
window.removeEventListener("popstate", onPopState);
|
|
348
424
|
};
|
|
349
425
|
}, []);
|
|
426
|
+
useEffect(() => {
|
|
427
|
+
props.onReady?.();
|
|
428
|
+
}, []);
|
|
350
429
|
return (_jsx(RouterContext.Provider, { value: api, children: _jsx(RouterStateContext.Provider, { value: routerState, children: _jsx(AppRenderer, {}) }) }));
|
|
351
430
|
}
|
|
@@ -8,5 +8,6 @@ type Props = PropsWithChildren<{
|
|
|
8
8
|
*
|
|
9
9
|
* The optional 'fallback' prop can be used to show a loading state or placeholder content while the client bundle is loading.
|
|
10
10
|
*/
|
|
11
|
-
export declare function ClientOnly(props: Props): string | number | boolean | import("react
|
|
11
|
+
export declare function ClientOnly(props: Props): string | number | boolean | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element | null;
|
|
12
12
|
export {};
|
|
13
|
+
//# sourceMappingURL=ClientOnly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientOnly.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/ClientOnly.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGnD,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAC,CAAA;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,oHAMtC"}
|
|
@@ -3,6 +3,7 @@ type Props<T extends ElementType = "a"> = NoInfer<Omit<ComponentPropsWithRef<T>,
|
|
|
3
3
|
href?: string | null;
|
|
4
4
|
target?: string | null;
|
|
5
5
|
as?: T;
|
|
6
|
+
preferBack?: boolean | "exact";
|
|
6
7
|
};
|
|
7
8
|
export declare const Link: <T extends ElementType = "a">(props: Props<T>) => ReactElement;
|
|
8
9
|
/**
|
|
@@ -24,3 +25,4 @@ export declare function useLinkState(href: string): {
|
|
|
24
25
|
pending: "path" | "query" | "exact" | undefined;
|
|
25
26
|
};
|
|
26
27
|
export {};
|
|
28
|
+
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAA;AAS7F,KAAK,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG;IAC1F,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,EAAE,CAAC,EAAE,CAAC,CAAA;IACN,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,IAAI,EA0CX,CAAC,CAAC,SAAS,WAAW,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,CAAA;AAKpE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;EA6BxC"}
|
|
@@ -2,12 +2,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef, useMemo } from "react";
|
|
3
3
|
import { parseURL, resolveURL, withoutTrailingSlash } from "ufo";
|
|
4
4
|
import { useIsSSR } from "../hooks/useIsSSR.js";
|
|
5
|
-
import { useRoute } from "../hooks/useRoute.js";
|
|
6
5
|
import { useRouter } from "../hooks/useRouter.js";
|
|
6
|
+
import { addTrailingSlash, getLinkHandlerMode, isSameOrigin } from "../utils.js";
|
|
7
|
+
import { useRoute } from "../hooks/useRoute.js";
|
|
7
8
|
import { useRouterState } from "../hooks/useRouterState.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const Comp = props.as || "a";
|
|
9
|
+
export const Link = forwardRef(({ preferBack, as, ...props }, ref) => {
|
|
10
|
+
const Comp = as || "a";
|
|
11
11
|
if (env.admin) {
|
|
12
12
|
return (_jsx(Comp, { ref: ref, ...props, href: props.href ?? undefined, onClick: (e) => {
|
|
13
13
|
props.onClick?.(e);
|
|
@@ -15,17 +15,19 @@ export const Link = forwardRef((props, ref) => {
|
|
|
15
15
|
} }));
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
|
-
const
|
|
19
|
-
const handleClickEvent = useRouter((r) => r.handleClickEvent);
|
|
18
|
+
const router = useRouter();
|
|
20
19
|
const state = useLinkState(props.href ?? "");
|
|
21
|
-
return (_jsx(Comp, { ref: ref, "data-active": state.active ?? undefined, "data-child-active": state.childActive ?? undefined, "data-pending": state.pending ?? undefined, ...props, href: props.href
|
|
20
|
+
return (_jsx(Comp, { ref: ref, "data-active": state.active ?? undefined, "data-child-active": state.childActive ?? undefined, "data-pending": state.pending ?? undefined, ...props, href: addTrailingSlash(props.href), onMouseEnter: (e) => {
|
|
22
21
|
if (props.onMouseEnter) {
|
|
23
22
|
props.onMouseEnter(e);
|
|
24
23
|
}
|
|
25
|
-
|
|
24
|
+
const mode = getLinkHandlerMode(e, props.href);
|
|
25
|
+
if (mode.mode === "navigate") {
|
|
26
|
+
router.preload(props.href);
|
|
27
|
+
}
|
|
26
28
|
}, onClick: (e) => {
|
|
27
29
|
props.onClick?.(e);
|
|
28
|
-
handleClickEvent(e, props.href ?? undefined);
|
|
30
|
+
router.handleClickEvent(e, props.href ?? undefined, preferBack);
|
|
29
31
|
} }));
|
|
30
32
|
}
|
|
31
33
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouteRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/RouteRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,eAAO,MAAM,WAAW,oFAatB,CAAA;AAEF,wBAAgB,SAAS,4CAGxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,2CAcxD;yBAde,YAAY"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo,
|
|
2
|
+
import { memo, useMemo } from "react";
|
|
3
|
+
import { RouteErrorBoundary } from "../../../utils/RouteErrorBoundary.js";
|
|
3
4
|
import { RouteItemContext } from "../context.js";
|
|
4
5
|
import { useRouter } from "../hooks/useRouter.js";
|
|
5
6
|
import { useRouterState } from "../hooks/useRouterState.js";
|
|
@@ -9,7 +10,7 @@ export const AppRenderer = memo(() => {
|
|
|
9
10
|
const app = useMemo(() => {
|
|
10
11
|
return (_jsx(AppComponent, { ...appData, children: _jsx(MainRoute, {}) }));
|
|
11
12
|
}, [AppComponent, appData]);
|
|
12
|
-
return
|
|
13
|
+
return _jsx(RouteItemContext.Provider, { value: activeRoute, children: app });
|
|
13
14
|
});
|
|
14
15
|
export function MainRoute() {
|
|
15
16
|
const activeRoute = useRouterState((s) => s.activeRoute);
|
|
@@ -22,7 +23,7 @@ export function RouteDisplay(props) {
|
|
|
22
23
|
}
|
|
23
24
|
return useMemo(() => {
|
|
24
25
|
let child = !!Component && _jsx(Component, { ...props.route.props });
|
|
25
|
-
return _jsx(RouteItemContext.Provider, { value: props.route, children: child });
|
|
26
|
+
return (_jsx(RouteErrorBoundary, { route: props.route, children: _jsx(RouteItemContext.Provider, { value: props.route, children: child }) }));
|
|
26
27
|
}, [Component, props.route, props.route]);
|
|
27
28
|
}
|
|
28
29
|
RouteDisplay.displayName = "RouteDisplay";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SSRRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/SSRRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;CACpB,CAAC,CAAA;AAEF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,2CAerC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Suspense } from "react";
|
|
3
2
|
import { RouterContext, RouterStateContext } from "../context.js";
|
|
4
3
|
import { useRouter } from "../hooks/useRouter.js";
|
|
5
4
|
import { useRouterState } from "../hooks/useRouterState.js";
|
|
@@ -10,5 +9,5 @@ export function SSRRouter(props) {
|
|
|
10
9
|
router.loader = props.loader;
|
|
11
10
|
routerState.history = [props.route];
|
|
12
11
|
routerState.activeRoute = props.route;
|
|
13
|
-
return (_jsx(
|
|
12
|
+
return (_jsx(RouterContext.Provider, { value: router, children: _jsx(RouterStateContext.Provider, { value: routerState, children: _jsx(AppRenderer, {}) }) }));
|
|
14
13
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollRestoration.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/ScrollRestoration.tsx"],"names":[],"mappings":"AAEA,KAAK,KAAK,GAAG;IACX,2FAA2F;IAC3F,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;IACxF,4CAA4C;IAC5C,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,QAiC7C"}
|
|
@@ -11,7 +11,10 @@ export function ScrollRestoration(props) {
|
|
|
11
11
|
}));
|
|
12
12
|
useRouterEvents((event) => {
|
|
13
13
|
if (event.type === "navigate:changed") {
|
|
14
|
-
//
|
|
14
|
+
// If the pathname and search term are the same, then we're on the same page
|
|
15
|
+
const isSameRoute = event.currentRoute.pathname === event.lastRoute.pathname && event.currentRoute.search === event.lastRoute.search;
|
|
16
|
+
if (isSameRoute)
|
|
17
|
+
return;
|
|
15
18
|
if (event.currentRoute.returnState) {
|
|
16
19
|
restore({
|
|
17
20
|
top: event.currentRoute.returnState.scrollTop ?? 0,
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { RouterAPI, RouterAPIState } from "./types.js";
|
|
1
|
+
import { RouteMetaTag, RouterAPI, RouterAPIState } from "./types.js";
|
|
2
2
|
export declare const RouterContext: import("react").Context<RouterAPI>;
|
|
3
3
|
export declare const RouterStateContext: import("react").Context<RouterAPIState>;
|
|
4
4
|
export declare const RouteItemContext: import("react").Context<import("./types.js").TypedRouteState<"_unknown", {}>>;
|
|
5
|
+
export declare const clientMetaTags: {
|
|
6
|
+
tags: null | RouteMetaTag[];
|
|
7
|
+
setMetaTags(tags: RouteMetaTag[]): void;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAc,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAkBhF,eAAO,MAAM,aAAa,oCAgBxB,CAAA;AAEF,eAAO,MAAM,kBAAkB,yCAI7B,CAAA;AAEF,eAAO,MAAM,gBAAgB,+EAAwC,CAAA;AAErE,eAAO,MAAM,cAAc;UACX,IAAI,GAAG,YAAY,EAAE;sBACjB,YAAY,EAAE;CAGhC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createContext } from "react";
|
|
2
2
|
import { RouteLoader } from "./loader.js";
|
|
3
|
+
import { proxy } from "valtio";
|
|
3
4
|
const NOOP_ROUTE = {
|
|
4
5
|
component: () => null,
|
|
5
6
|
id: "initial",
|
|
@@ -12,6 +13,7 @@ const NOOP_ROUTE = {
|
|
|
12
13
|
search: "",
|
|
13
14
|
query: {},
|
|
14
15
|
returnState: undefined,
|
|
16
|
+
meta: {},
|
|
15
17
|
};
|
|
16
18
|
export const RouterContext = createContext({
|
|
17
19
|
loader: new RouteLoader(),
|
|
@@ -25,6 +27,10 @@ export const RouterContext = createContext({
|
|
|
25
27
|
replaceQuery(query) { },
|
|
26
28
|
handleClickEvent(e, originalHref) { },
|
|
27
29
|
emitEvent(event) { },
|
|
30
|
+
getState() {
|
|
31
|
+
return null;
|
|
32
|
+
},
|
|
33
|
+
restoreRoute(route) { },
|
|
28
34
|
});
|
|
29
35
|
export const RouterStateContext = createContext({
|
|
30
36
|
history: [NOOP_ROUTE],
|
|
@@ -32,3 +38,9 @@ export const RouterStateContext = createContext({
|
|
|
32
38
|
blockers: [],
|
|
33
39
|
});
|
|
34
40
|
export const RouteItemContext = createContext(NOOP_ROUTE);
|
|
41
|
+
export const clientMetaTags = proxy({
|
|
42
|
+
tags: null,
|
|
43
|
+
setMetaTags(tags) {
|
|
44
|
+
clientMetaTags.tags = tags;
|
|
45
|
+
},
|
|
46
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsSSR.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useIsSSR.tsx"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAgB,QAAQ,YAavB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { Dispatch } from "react";
|
|
1
2
|
/**
|
|
2
3
|
* Works exactly like useState, but allows back and forward navigation to restore the previous state.
|
|
3
4
|
* You must pass a unique ID as an additional first parameter to ensure the state is restored correctly.
|
|
4
5
|
*/
|
|
5
|
-
export declare function useRestorableState<T>(key: string, fallback
|
|
6
|
+
export declare function useRestorableState<T>(key: string, fallback: T): [T, Dispatch<T>];
|
|
7
|
+
//# sourceMappingURL=useRestorableState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRestorableState.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRestorableState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,MAAM,OAAO,CAAA;AAI1C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYhF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { useRouterEvents } from "./useRouterEvents.js";
|
|
3
|
+
import { useRoute } from "./useRoute.js";
|
|
3
4
|
/**
|
|
4
5
|
* Works exactly like useState, but allows back and forward navigation to restore the previous state.
|
|
5
6
|
* You must pass a unique ID as an additional first parameter to ensure the state is restored correctly.
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
import { RouteState } from "../types.js";
|
|
1
|
+
import type { RouteState } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the current route object.
|
|
4
|
+
*
|
|
5
|
+
* In most circumstances, this will be the active top-level route.
|
|
6
|
+
*
|
|
7
|
+
* In cases where manual rendering of routes is taking place, such as during page transitions or in some modal cases.
|
|
8
|
+
*
|
|
9
|
+
* @returns The current route
|
|
10
|
+
*/
|
|
2
11
|
export declare function useRoute(): RouteState;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the current route, if it matches the specified view, otherwise null.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useViewRoute<V extends keyof ViewProps>(view: V): Extract<RouteState, {
|
|
16
|
+
view: V;
|
|
17
|
+
}> | null;
|
|
18
|
+
//# sourceMappingURL=useRoute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRoute.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRoute.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,UAAU,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,GAAG,IAAI,CAOxG"}
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { useContext } from "react";
|
|
2
2
|
import { RouteItemContext } from "../context.js";
|
|
3
|
+
/**
|
|
4
|
+
* Returns the current route object.
|
|
5
|
+
*
|
|
6
|
+
* In most circumstances, this will be the active top-level route.
|
|
7
|
+
*
|
|
8
|
+
* In cases where manual rendering of routes is taking place, such as during page transitions or in some modal cases.
|
|
9
|
+
*
|
|
10
|
+
* @returns The current route
|
|
11
|
+
*/
|
|
3
12
|
export function useRoute() {
|
|
4
13
|
return useContext(RouteItemContext);
|
|
5
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns the current route, if it matches the specified view, otherwise null.
|
|
17
|
+
*/
|
|
18
|
+
export function useViewRoute(view) {
|
|
19
|
+
const route = useContext(RouteItemContext);
|
|
20
|
+
if (route.view === view) {
|
|
21
|
+
return route;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRouteMeta.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRouteMeta.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,eAAO,MAAM,eAAe;UACd,SAAS;CACrB,CAAA;AAEF,wBAAgB,YAAY,IAGf,SAAS,CACrB"}
|
|
@@ -2,3 +2,4 @@ import type { RouteState } from "../types.js";
|
|
|
2
2
|
type TransitionFunction = (currentRoute: RouteState, nextRoute: RouteState) => void | Promise<any | void>;
|
|
3
3
|
export declare function useRouteTransition(func: TransitionFunction): void;
|
|
4
4
|
export {};
|
|
5
|
+
//# sourceMappingURL=useRouteTransition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRouteTransition.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRouteTransition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,KAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;AAEzG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,QAe1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,wBAAgB,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,CAAC,CAO1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRouterEvents.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRouterEvents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,wBAAgB,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,QAWpE"}
|