@riverbankcms/sdk 0.128.0 → 0.129.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -256
- package/dist/{PreviewEditorSidebar-Dbvb7GIr.mjs → PreviewEditorSidebar-DceRseRV.mjs} +3 -3
- package/dist/{PreviewEditorUI-e9O9l20X.mjs → PreviewEditorUI-BNunq3kk.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-BZHt6e9w.mjs → SdkPreviewModeRuntime-Bt87-62u.mjs} +495 -292
- package/dist/{SiteChromeCustomizeContext-CvuGbHJX.mjs → SiteChromeCustomizeContext-BLl-OlL4.mjs} +600 -533
- package/dist/_dts/ai/src/contracts/commandExposure.d.ts +1 -1
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4897 -4897
- package/dist/_dts/api/src/index.d.ts +2 -1
- package/dist/_dts/api/src/sdk-event-management.d.ts +53 -0
- package/dist/_dts/api/src/sdk-event-schedule.d.ts +3 -6
- package/dist/_dts/api/src/sdkContracts.d.ts +37 -50
- package/dist/_dts/api/src/sdkThemeWire.d.ts +2595 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +13 -29
- package/dist/_dts/blocks/src/PageRenderer.d.ts +20 -10
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +30 -0
- package/dist/_dts/blocks/src/pageRenderingMode.d.ts +37 -0
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +14 -0
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +47 -47
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +18 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +30 -21
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -5
- package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +21 -6
- package/dist/_dts/preview-next/src/client/sdk-runtime.d.ts +8 -8
- package/dist/_dts/sdk/src/config/types.d.ts +4 -4
- package/dist/_dts/sdk/src/next/catch-all.d.ts +6 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +33 -0
- package/dist/_dts/sdk/src/next/types.d.ts +23 -9
- package/dist/_dts/sdk/src/preview-next/before-render.d.ts +4 -6
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +3 -3
- package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +25 -3
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +13 -2
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +31 -18
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +20 -9
- package/dist/_dts/sdk/src/rendering/index.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/renderingMode.d.ts +23 -0
- package/dist/_dts/sdk/src/rendering/server.d.ts +5 -3
- package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +6 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyleCatalog.d.ts +254 -0
- package/dist/_dts/theme-core/src/site-styles/headerLegacyLooks.d.ts +372 -0
- package/dist/_dts/theme-core/src/site-styles/headerLookBranding.d.ts +106 -0
- package/dist/_dts/theme-core/src/site-styles/headerLookSelection.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/headerLookTypes.d.ts +212 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +7 -841
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompilerPrimitives.d.ts +23 -0
- package/dist/client/client.mjs +911 -762
- package/dist/client/hooks.mjs +59 -36
- package/dist/client/rendering/client.mjs +593 -547
- package/dist/client/rendering.mjs +994 -783
- package/dist/preview-next/before-render.mjs +10 -3
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-Cn_QSCOg.mjs → sdk-runtime-C20CVWbb.mjs} +1 -1
- package/dist/{separator-CEoGABRc.mjs → separator-BE3NCquy.mjs} +1 -1
- package/dist/server/components.mjs +549 -399
- package/dist/server/config-validation.mjs +59 -36
- package/dist/server/config.mjs +59 -36
- package/dist/server/data.mjs +59 -36
- package/dist/server/index.mjs +1 -1
- package/dist/server/manifest.mjs +4966 -0
- package/dist/server/next.mjs +700 -537
- package/dist/server/page-converter.mjs +40 -36
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +571 -404
- package/dist/server/rendering.mjs +571 -404
- package/dist/server/routing.mjs +472 -402
- package/dist/server/server.mjs +60 -37
- package/dist/server/theme-bridge.mjs +70 -66
- package/package.json +9 -12
- package/dist/_dts/api/src/event-presentation.d.ts +0 -14
- package/dist/_dts/blocks/src/definitions.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/canonical-entry-policy.d.ts +0 -53
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +0 -101
- package/dist/_dts/sdk/src/cli/commands/block.d.ts +0 -24
- package/dist/_dts/sdk/src/cli/commands/compare.d.ts +0 -62
- package/dist/_dts/sdk/src/cli/commands/content-type.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/content.d.ts +0 -56
- package/dist/_dts/sdk/src/cli/commands/delete.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +0 -43
- package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/commands/entry.d.ts +0 -55
- package/dist/_dts/sdk/src/cli/commands/env.d.ts +0 -31
- package/dist/_dts/sdk/src/cli/commands/event.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/commands/identifiers.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +0 -13
- package/dist/_dts/sdk/src/cli/commands/manifest.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/media-validation.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/commands/migrate.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/commands/navigation.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/commands/page.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +0 -50
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +0 -70
- package/dist/_dts/sdk/src/cli/commands/pull-scope-diff.d.ts +0 -8
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +0 -43
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +0 -19
- package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +0 -42
- package/dist/_dts/sdk/src/cli/commands/push/execute/localMediaReporting.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/commands/push/execute/media.d.ts +0 -22
- package/dist/_dts/sdk/src/cli/commands/push/execute/metadata.d.ts +0 -1
- package/dist/_dts/sdk/src/cli/commands/push/execute/reporting.d.ts +0 -7
- package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +0 -63
- package/dist/_dts/sdk/src/cli/commands/push/filter.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +0 -29
- package/dist/_dts/sdk/src/cli/commands/push/normalizeLocalContent.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +0 -32
- package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -25
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +0 -83
- package/dist/_dts/sdk/src/cli/commands/push/scopes/eventCategories.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/push/scopes/events.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/push/scopes/mediaPrep.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/commands/push/scopes/pushScopeGeneric.d.ts +0 -6
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +0 -87
- package/dist/_dts/sdk/src/cli/commands/push/scopes/venues.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +0 -48
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +0 -17
- package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +0 -56
- package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +0 -34
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +0 -54
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +0 -40
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +0 -60
- package/dist/_dts/sdk/src/cli/commands/verify.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +0 -44
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +0 -47
- package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +0 -46
- package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +0 -6
- package/dist/_dts/sdk/src/cli/content/footerFile.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +0 -39
- package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +0 -5
- package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +0 -17
- package/dist/_dts/sdk/src/cli/content/media-manifest.d.ts +0 -13
- package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +0 -25
- package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +0 -29
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -488
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +0 -142
- package/dist/_dts/sdk/src/cli/env-scope.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/env.d.ts +0 -71
- package/dist/_dts/sdk/src/cli/errors.d.ts +0 -62
- package/dist/_dts/sdk/src/cli/helpers/ai-runtime.d.ts +0 -2
- package/dist/_dts/sdk/src/cli/helpers.d.ts +0 -399
- package/dist/_dts/sdk/src/cli/index.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/init-docs/constants.d.ts +0 -16
- package/dist/_dts/sdk/src/cli/init-docs/index.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/init-docs/templates.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/init-docs/zod-to-markdown.d.ts +0 -28
- package/dist/_dts/sdk/src/cli/load-config.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/media/identifiers.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/media/local-media.d.ts +0 -14
- package/dist/_dts/sdk/src/cli/media/local-sync.d.ts +0 -91
- package/dist/_dts/sdk/src/cli/media/portable.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/media/rich-text.d.ts +0 -12
- package/dist/_dts/sdk/src/cli/media/value-utils.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/media/write-guard.d.ts +0 -52
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +0 -78
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +0 -45
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +0 -24
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +0 -18
- package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +0 -9
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +0 -48
- package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +0 -22
- package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +0 -3
- package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +0 -78
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +0 -36
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +0 -23
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +0 -17
- package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +0 -46
- package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +0 -32
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +0 -27
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +0 -63
- package/dist/_dts/sdk/src/cli/migrations/entries.d.ts +0 -28
- package/dist/_dts/sdk/src/cli/migrations/events.d.ts +0 -73
- package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +0 -11
- package/dist/_dts/sdk/src/cli/output.d.ts +0 -133
- package/dist/_dts/sdk/src/cli/program.d.ts +0 -29
- package/dist/_dts/sdk/src/cli/push-config.d.ts +0 -49
- package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +0 -51
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +0 -13
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +0 -170
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntimeCompat.d.ts +0 -21
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +0 -32
- package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +0 -53
- package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +0 -65
- package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +0 -24
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +0 -68
- package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +0 -53
- package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +0 -8
- package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +0 -31
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +0 -57
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +0 -82
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +0 -84
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +0 -39
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionPlan.d.ts +0 -8
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +0 -97
- package/dist/_dts/sdk/src/cli/site-commands/residualSettingsTrimming.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/sync/diff.d.ts +0 -222
- package/dist/_dts/sdk/src/cli/sync/executor.d.ts +0 -84
- package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +0 -39
- package/dist/_dts/sdk/src/cli/sync/index.d.ts +0 -10
- package/dist/_dts/sdk/src/cli/sync/mapper.d.ts +0 -41
- package/dist/_dts/sdk/src/cli/sync/media-sync.d.ts +0 -15
- package/dist/_dts/sdk/src/cli/sync/media.d.ts +0 -158
- package/dist/_dts/sdk/src/cli/sync/syncResultAggregation.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/sync/validation.d.ts +0 -68
- package/dist/_dts/sdk/src/cli/utils/checksum.d.ts +0 -1
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +0 -19
- package/dist/_dts/sdk/src/client/management/catalog.d.ts +0 -10
- package/dist/_dts/sdk/src/client/management/entries.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/eventCategories.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/events.d.ts +0 -7
- package/dist/_dts/sdk/src/client/management/footer.d.ts +0 -9
- package/dist/_dts/sdk/src/client/management/forms.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/http.d.ts +0 -79
- package/dist/_dts/sdk/src/client/management/identifiers.d.ts +0 -11
- package/dist/_dts/sdk/src/client/management/index.d.ts +0 -41
- package/dist/_dts/sdk/src/client/management/media.d.ts +0 -72
- package/dist/_dts/sdk/src/client/management/navigation.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/pages.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/pull.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/settings-branding.d.ts +0 -32
- package/dist/_dts/sdk/src/client/management/settings.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/theme.d.ts +0 -8
- package/dist/_dts/sdk/src/client/management/types.d.ts +0 -1069
- package/dist/_dts/sdk/src/client/management/venues.d.ts +0 -6
- package/dist/_dts/sdk/src/client/management/webhooks.d.ts +0 -3
- package/dist/_dts/sdk/src/test/env.d.ts +0 -4
- package/dist/_dts/site-commands/src/adapter.d.ts +0 -23
- package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +0 -100
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +0 -8
- package/dist/_dts/site-commands/src/commandContract.d.ts +0 -1277
- package/dist/_dts/site-commands/src/commandDomain.d.ts +0 -20
- package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +0 -7
- package/dist/_dts/site-commands/src/commandValidation.d.ts +0 -10
- package/dist/_dts/site-commands/src/commands.d.ts +0 -1983
- package/dist/_dts/site-commands/src/domain.d.ts +0 -104
- package/dist/_dts/site-commands/src/eventCommandContent.d.ts +0 -11
- package/dist/_dts/site-commands/src/exposure.d.ts +0 -41
- package/dist/_dts/site-commands/src/guards.d.ts +0 -1
- package/dist/_dts/site-commands/src/index.d.ts +0 -18
- package/dist/_dts/site-commands/src/metadata.d.ts +0 -555
- package/dist/_dts/site-commands/src/pagePaths.d.ts +0 -6
- package/dist/_dts/site-commands/src/planner.d.ts +0 -58
- package/dist/_dts/site-commands/src/refContributions.d.ts +0 -11
- package/dist/_dts/site-commands/src/refs.d.ts +0 -90
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +0 -405
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +0 -46
- package/dist/_dts/site-commands/src/stableJson.d.ts +0 -5
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +0 -10
- package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +0 -21
- package/dist/_dts/theme-core/src/data.d.ts +0 -12
- package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +0 -4
- package/dist/cli/index.mjs +0 -162962
- package/dist/cli/init-docs/content/agents-section.md +0 -67
- package/dist/cli/init-docs/content/cli-reference.md +0 -1238
- package/dist/cli/init-docs/content/content-management.md +0 -792
- package/dist/cli/init-docs/content/context-brand.md +0 -125
- package/dist/cli/init-docs/content/context-brief.md +0 -77
- package/dist/cli/init-docs/content/context-knowledge.md +0 -111
- package/dist/cli/init-docs/content/getting-started.md +0 -171
- package/dist/cli/init-docs/content/site-workflows-readme.md +0 -96
- package/dist/cli/init-docs/content/workflow-add-block.md +0 -299
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +0 -83
- package/dist/cli/init-docs/content/workflow-block-extensions.md +0 -370
- package/dist/cli/init-docs/content/workflow-cmsify-page.md +0 -357
- package/dist/cli/init-docs/content/workflow-content-types.md +0 -330
- package/dist/cli/init-docs/content/workflow-create-page.md +0 -212
- package/dist/cli/init-docs/content/workflow-custom-block.md +0 -470
- package/dist/cli/init-docs/content/workflow-editor-workflows.md +0 -130
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +0 -158
- package/dist/cli/init-docs/content/workflow-preview-mode.md +0 -239
- package/dist/cli/init-docs/content/workflow-publish.md +0 -285
- package/dist/cli/init-docs/content/workflow-remote-setup.md +0 -51
- package/dist/cli/init-docs/content/workflow-templates.md +0 -381
- /package/dist/_dts/{sdk/src/cli/utils/mime.d.ts → media-core/src/mimeType.d.ts} +0 -0
|
@@ -8723,32 +8723,15 @@ function parseBackgroundAppearanceColorToken(value) {
|
|
|
8723
8723
|
function uniqueStrings(values) {
|
|
8724
8724
|
return Array.from(new Set(values));
|
|
8725
8725
|
}
|
|
8726
|
-
|
|
8727
|
-
|
|
8728
|
-
|
|
8729
|
-
|
|
8730
|
-
|
|
8731
|
-
|
|
8732
|
-
|
|
8733
|
-
|
|
8734
|
-
|
|
8735
|
-
label: "Hover colour",
|
|
8736
|
-
defaultOptionId: "accent",
|
|
8737
|
-
options: [
|
|
8738
|
-
{
|
|
8739
|
-
id: "accent",
|
|
8740
|
-
label: "Accent"
|
|
8741
|
-
},
|
|
8742
|
-
{
|
|
8743
|
-
id: "primary",
|
|
8744
|
-
label: "Primary"
|
|
8745
|
-
},
|
|
8746
|
-
{
|
|
8747
|
-
id: "secondary",
|
|
8748
|
-
label: "Secondary"
|
|
8749
|
-
}
|
|
8750
|
-
]
|
|
8751
|
-
});
|
|
8726
|
+
function asHeaderLookId(value) {
|
|
8727
|
+
return value;
|
|
8728
|
+
}
|
|
8729
|
+
function asHeaderLayoutId(value) {
|
|
8730
|
+
return value;
|
|
8731
|
+
}
|
|
8732
|
+
function asHeaderStyleId(value) {
|
|
8733
|
+
return value;
|
|
8734
|
+
}
|
|
8752
8735
|
//#endregion
|
|
8753
8736
|
//#region ../theme-core/src/site-styles/logoBranding.ts
|
|
8754
8737
|
const logoTextConfidenceValues = [
|
|
@@ -8839,15 +8822,8 @@ const logoSizePolicyValues = [
|
|
|
8839
8822
|
"generous",
|
|
8840
8823
|
"display"
|
|
8841
8824
|
];
|
|
8842
|
-
|
|
8843
|
-
|
|
8844
|
-
}
|
|
8845
|
-
function asHeaderLayoutId(value) {
|
|
8846
|
-
return value;
|
|
8847
|
-
}
|
|
8848
|
-
function asHeaderStyleId(value) {
|
|
8849
|
-
return value;
|
|
8850
|
-
}
|
|
8825
|
+
//#endregion
|
|
8826
|
+
//#region ../theme-core/src/site-styles/headerLookBranding.ts
|
|
8851
8827
|
const titleOnlyLogoAccommodation = {
|
|
8852
8828
|
pattern: "title-only",
|
|
8853
8829
|
supportedShapes: [
|
|
@@ -8966,21 +8942,34 @@ const overlayLogoAccommodations = [
|
|
|
8966
8942
|
inlineMarkWithTitleLogoAccommodation,
|
|
8967
8943
|
unbackedOverlayLogoAccommodation
|
|
8968
8944
|
];
|
|
8969
|
-
|
|
8970
|
-
|
|
8971
|
-
|
|
8972
|
-
|
|
8973
|
-
|
|
8974
|
-
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8979
|
-
|
|
8980
|
-
|
|
8945
|
+
const headerInteractionPaletteSchema = z$1.enum([
|
|
8946
|
+
"primary",
|
|
8947
|
+
"secondary",
|
|
8948
|
+
"accent"
|
|
8949
|
+
]);
|
|
8950
|
+
//#endregion
|
|
8951
|
+
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
8952
|
+
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
8953
|
+
id: "interaction-palette",
|
|
8954
|
+
label: "Hover colour",
|
|
8955
|
+
defaultOptionId: "accent",
|
|
8956
|
+
options: [
|
|
8957
|
+
{
|
|
8958
|
+
id: "accent",
|
|
8959
|
+
label: "Accent"
|
|
8960
|
+
},
|
|
8961
|
+
{
|
|
8962
|
+
id: "primary",
|
|
8963
|
+
label: "Primary"
|
|
8964
|
+
},
|
|
8965
|
+
{
|
|
8966
|
+
id: "secondary",
|
|
8967
|
+
label: "Secondary"
|
|
8981
8968
|
}
|
|
8982
|
-
|
|
8983
|
-
}
|
|
8969
|
+
]
|
|
8970
|
+
});
|
|
8971
|
+
//#endregion
|
|
8972
|
+
//#region ../theme-core/src/site-styles/headerLayoutStyleCatalog.ts
|
|
8984
8973
|
const headerLayoutCatalog = defineExactCatalog()([
|
|
8985
8974
|
{
|
|
8986
8975
|
id: asHeaderLayoutId("classic"),
|
|
@@ -9385,6 +9374,19 @@ function getCompatibleHeaderStyleIds(layoutId) {
|
|
|
9385
9374
|
return isHeaderStyleCompatibleWithLayout(getHeaderStyleOrThrow(styleId), layoutId);
|
|
9386
9375
|
});
|
|
9387
9376
|
}
|
|
9377
|
+
//#endregion
|
|
9378
|
+
//#region ../theme-core/src/site-styles/headerStyleCompilerPrimitives.ts
|
|
9379
|
+
function baseHeader(theme) {
|
|
9380
|
+
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
9381
|
+
return {
|
|
9382
|
+
...header,
|
|
9383
|
+
navContainer: {
|
|
9384
|
+
type: "none",
|
|
9385
|
+
tint: null,
|
|
9386
|
+
opacity: .15
|
|
9387
|
+
}
|
|
9388
|
+
};
|
|
9389
|
+
}
|
|
9388
9390
|
function applyNavTypography(style, typography) {
|
|
9389
9391
|
switch (typography) {
|
|
9390
9392
|
case "plain": return style;
|
|
@@ -9438,6 +9440,8 @@ function themedHeaderShadow(theme) {
|
|
|
9438
9440
|
default: return assertNever$15(theme.shadow.elevation, "Unhandled theme shadow elevation");
|
|
9439
9441
|
}
|
|
9440
9442
|
}
|
|
9443
|
+
//#endregion
|
|
9444
|
+
//#region ../theme-core/src/site-styles/headerLegacyLooks.ts
|
|
9441
9445
|
function solidBrandHeader(theme) {
|
|
9442
9446
|
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
9443
9447
|
return {
|
|
@@ -51671,6 +51675,213 @@ function collectConstrainedVideoMediaValues(options) {
|
|
|
51671
51675
|
return values;
|
|
51672
51676
|
}
|
|
51673
51677
|
//#endregion
|
|
51678
|
+
//#region ../blocks/src/system/manifest/hydrateLinks.ts
|
|
51679
|
+
/**
|
|
51680
|
+
* Hydrates link objects within block content using the provided route map. Returns
|
|
51681
|
+
* the original content reference when no mutations are required to avoid unnecessary renders.
|
|
51682
|
+
*/
|
|
51683
|
+
function hydrateManifestLinks(manifest, content, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
51684
|
+
if (!routes || !manifest?.fields?.length) return content;
|
|
51685
|
+
return hydrateValue(content, {
|
|
51686
|
+
routes,
|
|
51687
|
+
pagesByIdentifier,
|
|
51688
|
+
entriesByIdentifier
|
|
51689
|
+
});
|
|
51690
|
+
}
|
|
51691
|
+
function hydrateValue(value, context) {
|
|
51692
|
+
try {
|
|
51693
|
+
if (Array.isArray(value)) {
|
|
51694
|
+
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
51695
|
+
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
51696
|
+
}
|
|
51697
|
+
if (isRecord$27(value)) {
|
|
51698
|
+
if (isInternalLink$1(value)) return hydrateInternalLink(value, context.routes);
|
|
51699
|
+
if (isPageLink$1(value)) return hydratePageLink(value, context);
|
|
51700
|
+
if (isEntryLink$1(value)) return hydrateEntryLink(value, context);
|
|
51701
|
+
const resolvedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateValue(entry, context)]);
|
|
51702
|
+
return resolvedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(resolvedEntries);
|
|
51703
|
+
}
|
|
51704
|
+
return value;
|
|
51705
|
+
} catch (err) {
|
|
51706
|
+
console.error("[hydrateLinks] Error hydrating value:", err, value);
|
|
51707
|
+
return value;
|
|
51708
|
+
}
|
|
51709
|
+
}
|
|
51710
|
+
function hydrateInternalLink(link, routes) {
|
|
51711
|
+
const resolved = resolveRouteTarget(link.routeId, routes);
|
|
51712
|
+
if (!resolved) return link;
|
|
51713
|
+
const nextHref = resolved.href;
|
|
51714
|
+
const currentHref = typeof link.href === "string" && link.href.length > 0 ? link.href : null;
|
|
51715
|
+
const nextUpdatedAt = resolved.updatedAt;
|
|
51716
|
+
const updates = {};
|
|
51717
|
+
if (nextHref && nextHref !== currentHref) updates.href = nextHref;
|
|
51718
|
+
if (nextUpdatedAt && link.updatedAt !== nextUpdatedAt) updates.updatedAt = nextUpdatedAt;
|
|
51719
|
+
return Object.keys(updates).length > 0 ? {
|
|
51720
|
+
...link,
|
|
51721
|
+
...updates
|
|
51722
|
+
} : link;
|
|
51723
|
+
}
|
|
51724
|
+
function isInternalLink$1(value) {
|
|
51725
|
+
if (value.kind !== "internal") return false;
|
|
51726
|
+
if (typeof value.routeId !== "string" || value.routeId.length === 0) return false;
|
|
51727
|
+
return true;
|
|
51728
|
+
}
|
|
51729
|
+
function isPageLink$1(value) {
|
|
51730
|
+
if (value.kind !== "page") return false;
|
|
51731
|
+
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
51732
|
+
return true;
|
|
51733
|
+
}
|
|
51734
|
+
function hydratePageLink(link, context) {
|
|
51735
|
+
const resolved = resolvePageRouteTarget(link, context);
|
|
51736
|
+
if (!resolved) return link;
|
|
51737
|
+
return {
|
|
51738
|
+
...link,
|
|
51739
|
+
href: resolved.href,
|
|
51740
|
+
routeId: resolved.routeId
|
|
51741
|
+
};
|
|
51742
|
+
}
|
|
51743
|
+
function isEntryLink$1(value) {
|
|
51744
|
+
if (value.kind !== "entry") return false;
|
|
51745
|
+
if (typeof value.contentType !== "string" || value.contentType.length === 0) return false;
|
|
51746
|
+
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
51747
|
+
return true;
|
|
51748
|
+
}
|
|
51749
|
+
function hydrateEntryLink(link, context) {
|
|
51750
|
+
const resolved = resolveEntryRouteTarget(link, context);
|
|
51751
|
+
if (!resolved) return link;
|
|
51752
|
+
return {
|
|
51753
|
+
...link,
|
|
51754
|
+
href: resolved.href,
|
|
51755
|
+
routeId: resolved.routeId
|
|
51756
|
+
};
|
|
51757
|
+
}
|
|
51758
|
+
//#endregion
|
|
51759
|
+
//#region ../blocks/src/sdkBlockTransform.ts
|
|
51760
|
+
/**
|
|
51761
|
+
* Transforms an SDK custom block into a BlockManifest.
|
|
51762
|
+
*
|
|
51763
|
+
* If the block has a `layout`, it can be rendered declaratively without React code.
|
|
51764
|
+
* If no layout, the block MUST use blockOverrides for rendering.
|
|
51765
|
+
*/
|
|
51766
|
+
function transformSdkBlockToManifest(sdkBlock) {
|
|
51767
|
+
const hasLayout = Boolean(sdkBlock.layout) || Boolean(sdkBlock.variants && Object.keys(sdkBlock.variants).length > 0);
|
|
51768
|
+
return augmentManifest({
|
|
51769
|
+
name: sdkBlock.id,
|
|
51770
|
+
version: "1.0.0",
|
|
51771
|
+
title: sdkBlock.title,
|
|
51772
|
+
titleSource: sdkBlock.titleSource,
|
|
51773
|
+
description: sdkBlock.description,
|
|
51774
|
+
component: sdkBlock.id,
|
|
51775
|
+
fields: sdkBlock.fields,
|
|
51776
|
+
slots: [],
|
|
51777
|
+
category: sdkBlock.category,
|
|
51778
|
+
tags: sdkBlock.tags,
|
|
51779
|
+
icon: sdkBlock.icon,
|
|
51780
|
+
layout: sdkBlock.layout,
|
|
51781
|
+
variants: sdkBlock.variants,
|
|
51782
|
+
defaultVariant: sdkBlock.defaultVariant,
|
|
51783
|
+
variantOptions: sdkBlock.variantOptions,
|
|
51784
|
+
previewCustomize: sdkBlock.previewCustomize,
|
|
51785
|
+
behaviours: {
|
|
51786
|
+
supportsThemeSwitching: true,
|
|
51787
|
+
inlineEditing: hasLayout,
|
|
51788
|
+
animation: hasLayout,
|
|
51789
|
+
paletteHidden: false
|
|
51790
|
+
}
|
|
51791
|
+
});
|
|
51792
|
+
}
|
|
51793
|
+
/**
|
|
51794
|
+
* Transforms an SDK custom block into a SystemBlockDefinition.
|
|
51795
|
+
*
|
|
51796
|
+
* This creates a minimal definition with just the manifest - no data loaders
|
|
51797
|
+
* or content normalizers since SDK blocks handle their own rendering.
|
|
51798
|
+
*/
|
|
51799
|
+
function transformSdkBlockToDefinition(sdkBlock) {
|
|
51800
|
+
return {
|
|
51801
|
+
manifest: transformSdkBlockToManifest(sdkBlock),
|
|
51802
|
+
dataLoaders: sdkBlock.dataLoaders
|
|
51803
|
+
};
|
|
51804
|
+
}
|
|
51805
|
+
//#endregion
|
|
51806
|
+
//#region ../blocks/src/customBlockRegistry.ts
|
|
51807
|
+
const defaultCustomBlockSourcePolicy = { kind: "canonical-db-fallback-sdk" };
|
|
51808
|
+
function isCustomBlockKind(blockKind) {
|
|
51809
|
+
return blockKind.startsWith("custom.");
|
|
51810
|
+
}
|
|
51811
|
+
function transformToBlockDescriptor(sdkBlock, source = "sdk") {
|
|
51812
|
+
return {
|
|
51813
|
+
name: sdkBlock.id,
|
|
51814
|
+
title: sdkBlock.title,
|
|
51815
|
+
description: sdkBlock.description,
|
|
51816
|
+
category: sdkBlock.category,
|
|
51817
|
+
tags: sdkBlock.tags,
|
|
51818
|
+
icon: sdkBlock.icon,
|
|
51819
|
+
definition: transformSdkBlockToDefinition(sdkBlock),
|
|
51820
|
+
source
|
|
51821
|
+
};
|
|
51822
|
+
}
|
|
51823
|
+
function toResolvedCustomBlock(manifest, source) {
|
|
51824
|
+
return {
|
|
51825
|
+
blockKind: manifest.id,
|
|
51826
|
+
manifest: transformSdkBlockToManifest(manifest),
|
|
51827
|
+
source,
|
|
51828
|
+
descriptor: transformToBlockDescriptor(manifest, source.kind === "managed-database" ? "database" : "sdk")
|
|
51829
|
+
};
|
|
51830
|
+
}
|
|
51831
|
+
function planCustomBlockRegistryResolution({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy }) {
|
|
51832
|
+
switch (policy.kind) {
|
|
51833
|
+
case "canonical-db-fallback-sdk": {
|
|
51834
|
+
const entriesByKind = /* @__PURE__ */ new Map();
|
|
51835
|
+
const conflicts = [];
|
|
51836
|
+
for (const customBlock of customBlocks) entriesByKind.set(customBlock.manifest.id, toResolvedCustomBlock(customBlock.manifest, customBlock.source));
|
|
51837
|
+
for (const sdkBlock of sdkConfig?.customBlocks ?? []) {
|
|
51838
|
+
const existing = entriesByKind.get(sdkBlock.id);
|
|
51839
|
+
if (existing) {
|
|
51840
|
+
conflicts.push({
|
|
51841
|
+
kind: "conflict",
|
|
51842
|
+
blockKind: existing.blockKind,
|
|
51843
|
+
winner: existing.source,
|
|
51844
|
+
loser: { kind: "sdk-config" },
|
|
51845
|
+
reason: "db-canonical-sdk-fallback"
|
|
51846
|
+
});
|
|
51847
|
+
continue;
|
|
51848
|
+
}
|
|
51849
|
+
entriesByKind.set(sdkBlock.id, toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" }));
|
|
51850
|
+
}
|
|
51851
|
+
return {
|
|
51852
|
+
policy,
|
|
51853
|
+
entries: Array.from(entriesByKind.values()),
|
|
51854
|
+
conflicts
|
|
51855
|
+
};
|
|
51856
|
+
}
|
|
51857
|
+
}
|
|
51858
|
+
}
|
|
51859
|
+
function createCustomBlockRegistry({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy, onConflict }) {
|
|
51860
|
+
const plan = planCustomBlockRegistryResolution({
|
|
51861
|
+
sdkConfig,
|
|
51862
|
+
customBlocks,
|
|
51863
|
+
policy
|
|
51864
|
+
});
|
|
51865
|
+
const entriesByKind = new Map(plan.entries.map((entry) => [entry.blockKind, entry]));
|
|
51866
|
+
for (const conflict of plan.conflicts) onConflict?.(`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`);
|
|
51867
|
+
return {
|
|
51868
|
+
entries: plan.entries,
|
|
51869
|
+
conflicts: plan.conflicts,
|
|
51870
|
+
findManifest: (blockKind) => {
|
|
51871
|
+
if (!isCustomBlockKind(blockKind)) return void 0;
|
|
51872
|
+
return entriesByKind.get(blockKind);
|
|
51873
|
+
}
|
|
51874
|
+
};
|
|
51875
|
+
}
|
|
51876
|
+
function sourceLabel(source) {
|
|
51877
|
+
switch (source.kind) {
|
|
51878
|
+
case "managed-database": return "DB";
|
|
51879
|
+
case "sdk-synced": return "SDK-synced DB";
|
|
51880
|
+
case "sdk-config": return "SDK config";
|
|
51881
|
+
default: return assertNever$24(source);
|
|
51882
|
+
}
|
|
51883
|
+
}
|
|
51884
|
+
//#endregion
|
|
51674
51885
|
//#region ../theme-core/src/runtime/fontFamily.ts
|
|
51675
51886
|
/**
|
|
51676
51887
|
* Font Family Formatting Utilities
|
|
@@ -55408,215 +55619,115 @@ function mapFontStyle(italic) {
|
|
|
55408
55619
|
return italic ? "italic" : "normal";
|
|
55409
55620
|
}
|
|
55410
55621
|
//#endregion
|
|
55411
|
-
//#region ../blocks/src/
|
|
55412
|
-
|
|
55413
|
-
|
|
55414
|
-
|
|
55415
|
-
|
|
55416
|
-
|
|
55417
|
-
|
|
55418
|
-
return hydrateValue(content, {
|
|
55419
|
-
routes,
|
|
55420
|
-
pagesByIdentifier,
|
|
55421
|
-
entriesByIdentifier
|
|
55422
|
-
});
|
|
55423
|
-
}
|
|
55424
|
-
function hydrateValue(value, context) {
|
|
55425
|
-
try {
|
|
55426
|
-
if (Array.isArray(value)) {
|
|
55427
|
-
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
55428
|
-
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
55429
|
-
}
|
|
55430
|
-
if (isRecord$27(value)) {
|
|
55431
|
-
if (isInternalLink$1(value)) return hydrateInternalLink(value, context.routes);
|
|
55432
|
-
if (isPageLink$1(value)) return hydratePageLink(value, context);
|
|
55433
|
-
if (isEntryLink$1(value)) return hydrateEntryLink(value, context);
|
|
55434
|
-
const resolvedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateValue(entry, context)]);
|
|
55435
|
-
return resolvedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(resolvedEntries);
|
|
55436
|
-
}
|
|
55437
|
-
return value;
|
|
55438
|
-
} catch (err) {
|
|
55439
|
-
console.error("[hydrateLinks] Error hydrating value:", err, value);
|
|
55440
|
-
return value;
|
|
55622
|
+
//#region ../blocks/src/pageRenderingMode.ts
|
|
55623
|
+
var MissingBlockOverrideError$1 = class extends Error {
|
|
55624
|
+
constructor(blockKind) {
|
|
55625
|
+
super(`Override-only rendering requires an override for block kind "${blockKind}".`);
|
|
55626
|
+
this.blockKind = blockKind;
|
|
55627
|
+
this.code = "missing_block_override";
|
|
55628
|
+
this.name = "MissingBlockOverrideError";
|
|
55441
55629
|
}
|
|
55630
|
+
};
|
|
55631
|
+
function isOverrideOnlyResourceInput(props) {
|
|
55632
|
+
return props.rendering?.kind === "overrides-only";
|
|
55442
55633
|
}
|
|
55443
|
-
function
|
|
55444
|
-
|
|
55445
|
-
if (!resolved) return link;
|
|
55446
|
-
const nextHref = resolved.href;
|
|
55447
|
-
const currentHref = typeof link.href === "string" && link.href.length > 0 ? link.href : null;
|
|
55448
|
-
const nextUpdatedAt = resolved.updatedAt;
|
|
55449
|
-
const updates = {};
|
|
55450
|
-
if (nextHref && nextHref !== currentHref) updates.href = nextHref;
|
|
55451
|
-
if (nextUpdatedAt && link.updatedAt !== nextUpdatedAt) updates.updatedAt = nextUpdatedAt;
|
|
55452
|
-
return Object.keys(updates).length > 0 ? {
|
|
55453
|
-
...link,
|
|
55454
|
-
...updates
|
|
55455
|
-
} : link;
|
|
55456
|
-
}
|
|
55457
|
-
function isInternalLink$1(value) {
|
|
55458
|
-
if (value.kind !== "internal") return false;
|
|
55459
|
-
if (typeof value.routeId !== "string" || value.routeId.length === 0) return false;
|
|
55460
|
-
return true;
|
|
55461
|
-
}
|
|
55462
|
-
function isPageLink$1(value) {
|
|
55463
|
-
if (value.kind !== "page") return false;
|
|
55464
|
-
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
55465
|
-
return true;
|
|
55466
|
-
}
|
|
55467
|
-
function hydratePageLink(link, context) {
|
|
55468
|
-
const resolved = resolvePageRouteTarget(link, context);
|
|
55469
|
-
if (!resolved) return link;
|
|
55634
|
+
function resolvePageThemeResources(props) {
|
|
55635
|
+
if (isOverrideOnlyResourceInput(props)) return { kind: "unavailable" };
|
|
55470
55636
|
return {
|
|
55471
|
-
|
|
55472
|
-
|
|
55473
|
-
|
|
55637
|
+
kind: "available",
|
|
55638
|
+
tokens: props.themeTokens ?? buildThemeRuntime$1(props.theme).tokens,
|
|
55639
|
+
config: props.theme
|
|
55474
55640
|
};
|
|
55475
55641
|
}
|
|
55476
|
-
function
|
|
55477
|
-
if (
|
|
55478
|
-
if (typeof value.contentType !== "string" || value.contentType.length === 0) return false;
|
|
55479
|
-
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
55480
|
-
return true;
|
|
55642
|
+
function requireBlockOverride(resources, override, blockKind) {
|
|
55643
|
+
if (resources.kind === "unavailable" && !override) throw new MissingBlockOverrideError$1(blockKind);
|
|
55481
55644
|
}
|
|
55482
|
-
function
|
|
55483
|
-
|
|
55484
|
-
|
|
55485
|
-
|
|
55486
|
-
|
|
55487
|
-
|
|
55488
|
-
|
|
55489
|
-
|
|
55645
|
+
function overrideThemeProps(resources) {
|
|
55646
|
+
return resources.kind === "available" ? {
|
|
55647
|
+
theme: resources.tokens,
|
|
55648
|
+
themeConfig: resources.config
|
|
55649
|
+
} : {};
|
|
55650
|
+
}
|
|
55651
|
+
function requireThemeResources(resources, blockKind) {
|
|
55652
|
+
if (resources.kind === "unavailable") throw new MissingBlockOverrideError$1(blockKind);
|
|
55653
|
+
return resources;
|
|
55490
55654
|
}
|
|
55491
55655
|
//#endregion
|
|
55492
|
-
//#region ../blocks/src/
|
|
55493
|
-
|
|
55494
|
-
|
|
55495
|
-
|
|
55496
|
-
* If the block has a `layout`, it can be rendered declaratively without React code.
|
|
55497
|
-
* If no layout, the block MUST use blockOverrides for rendering.
|
|
55498
|
-
*/
|
|
55499
|
-
function transformSdkBlockToManifest(sdkBlock) {
|
|
55500
|
-
const hasLayout = Boolean(sdkBlock.layout) || Boolean(sdkBlock.variants && Object.keys(sdkBlock.variants).length > 0);
|
|
55501
|
-
return augmentManifest({
|
|
55502
|
-
name: sdkBlock.id,
|
|
55503
|
-
version: "1.0.0",
|
|
55504
|
-
title: sdkBlock.title,
|
|
55505
|
-
titleSource: sdkBlock.titleSource,
|
|
55506
|
-
description: sdkBlock.description,
|
|
55507
|
-
component: sdkBlock.id,
|
|
55508
|
-
fields: sdkBlock.fields,
|
|
55509
|
-
slots: [],
|
|
55510
|
-
category: sdkBlock.category,
|
|
55511
|
-
tags: sdkBlock.tags,
|
|
55512
|
-
icon: sdkBlock.icon,
|
|
55513
|
-
layout: sdkBlock.layout,
|
|
55514
|
-
variants: sdkBlock.variants,
|
|
55515
|
-
defaultVariant: sdkBlock.defaultVariant,
|
|
55516
|
-
variantOptions: sdkBlock.variantOptions,
|
|
55517
|
-
previewCustomize: sdkBlock.previewCustomize,
|
|
55518
|
-
behaviours: {
|
|
55519
|
-
supportsThemeSwitching: true,
|
|
55520
|
-
inlineEditing: hasLayout,
|
|
55521
|
-
animation: hasLayout,
|
|
55522
|
-
paletteHidden: false
|
|
55523
|
-
}
|
|
55524
|
-
});
|
|
55656
|
+
//#region ../blocks/src/pageRendererBoundaries.tsx
|
|
55657
|
+
const boundaryKey = (previousBlockId, nextBlockId) => `${previousBlockId}\u0000${nextBlockId}`;
|
|
55658
|
+
function isSiteStyleTransitionStyleGroup(value) {
|
|
55659
|
+
return value?.startsWith("site-style-transition-") === true;
|
|
55525
55660
|
}
|
|
55526
|
-
|
|
55527
|
-
|
|
55528
|
-
*
|
|
55529
|
-
* This creates a minimal definition with just the manifest - no data loaders
|
|
55530
|
-
* or content normalizers since SDK blocks handle their own rendering.
|
|
55531
|
-
*/
|
|
55532
|
-
function transformSdkBlockToDefinition(sdkBlock) {
|
|
55533
|
-
return {
|
|
55534
|
-
manifest: transformSdkBlockToManifest(sdkBlock),
|
|
55535
|
-
dataLoaders: sdkBlock.dataLoaders
|
|
55536
|
-
};
|
|
55661
|
+
function boundaryMapForAdjacentBlockIds(boundaries) {
|
|
55662
|
+
return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
|
|
55537
55663
|
}
|
|
55538
|
-
|
|
55539
|
-
|
|
55540
|
-
const
|
|
55541
|
-
|
|
55542
|
-
return
|
|
55664
|
+
function boundaryBetweenBlocks(previousBlock, nextBlock, boundaries) {
|
|
55665
|
+
const previousBlockId = previousBlock?.id ?? null;
|
|
55666
|
+
const nextBlockId = nextBlock?.id ?? null;
|
|
55667
|
+
if (!previousBlockId || !nextBlockId) return null;
|
|
55668
|
+
return boundaries.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
|
|
55543
55669
|
}
|
|
55544
|
-
function
|
|
55670
|
+
function renderBoundaryAfterBlock(input) {
|
|
55671
|
+
const previousBlockId = input.block.id;
|
|
55672
|
+
const nextBlockId = input.nextBlock?.id ?? null;
|
|
55673
|
+
if (!previousBlockId || !nextBlockId) return null;
|
|
55674
|
+
const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
|
|
55675
|
+
if (!boundary) return null;
|
|
55676
|
+
const rendered = /* @__PURE__ */ jsx("div", {
|
|
55677
|
+
"aria-hidden": "true",
|
|
55678
|
+
"data-block-boundary": "",
|
|
55679
|
+
"data-boundary-id": boundary.boundaryId,
|
|
55680
|
+
"data-boundary-previous-block-id": boundary.previousBlockId,
|
|
55681
|
+
"data-boundary-next-block-id": boundary.nextBlockId,
|
|
55682
|
+
"data-style-group": boundary.styleGroup,
|
|
55683
|
+
style: boundaryCssVarsStyle(boundary)
|
|
55684
|
+
}, `${input.blockKey}:boundary`);
|
|
55685
|
+
return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
|
|
55686
|
+
}
|
|
55687
|
+
function boundaryCssVarsStyle(boundary) {
|
|
55545
55688
|
return {
|
|
55546
|
-
|
|
55547
|
-
|
|
55548
|
-
description: sdkBlock.description,
|
|
55549
|
-
category: sdkBlock.category,
|
|
55550
|
-
tags: sdkBlock.tags,
|
|
55551
|
-
icon: sdkBlock.icon,
|
|
55552
|
-
definition: transformSdkBlockToDefinition(sdkBlock),
|
|
55553
|
-
source
|
|
55689
|
+
"--site-style-transition-from": boundary.cssVars.from,
|
|
55690
|
+
"--site-style-transition-to": boundary.cssVars.to
|
|
55554
55691
|
};
|
|
55555
55692
|
}
|
|
55556
|
-
function
|
|
55693
|
+
function boundaryReserveCssVarsStyle(input) {
|
|
55694
|
+
const before = input.before?.metrics.reserveCss ?? null;
|
|
55695
|
+
const after = input.after?.metrics.reserveCss ?? null;
|
|
55696
|
+
if (!before && !after) return void 0;
|
|
55557
55697
|
return {
|
|
55558
|
-
|
|
55559
|
-
|
|
55560
|
-
source,
|
|
55561
|
-
descriptor: transformToBlockDescriptor(manifest, source.kind === "managed-database" ? "database" : "sdk")
|
|
55698
|
+
...before ? { "--site-style-boundary-before-reserve": before } : {},
|
|
55699
|
+
...after ? { "--site-style-boundary-after-reserve": after } : {}
|
|
55562
55700
|
};
|
|
55563
55701
|
}
|
|
55564
|
-
function
|
|
55565
|
-
|
|
55566
|
-
|
|
55567
|
-
|
|
55568
|
-
|
|
55569
|
-
|
|
55570
|
-
|
|
55571
|
-
|
|
55572
|
-
|
|
55573
|
-
|
|
55574
|
-
kind: "conflict",
|
|
55575
|
-
blockKind: existing.blockKind,
|
|
55576
|
-
winner: existing.source,
|
|
55577
|
-
loser: { kind: "sdk-config" },
|
|
55578
|
-
reason: "db-canonical-sdk-fallback"
|
|
55579
|
-
});
|
|
55580
|
-
continue;
|
|
55581
|
-
}
|
|
55582
|
-
entriesByKind.set(sdkBlock.id, toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" }));
|
|
55583
|
-
}
|
|
55584
|
-
return {
|
|
55585
|
-
policy,
|
|
55586
|
-
entries: Array.from(entriesByKind.values()),
|
|
55587
|
-
conflicts
|
|
55588
|
-
};
|
|
55589
|
-
}
|
|
55590
|
-
}
|
|
55702
|
+
function transitionCssVarsStyle(content) {
|
|
55703
|
+
const transitionStyles = isObjectRecord$1(content._transitionStyles) ? content._transitionStyles : null;
|
|
55704
|
+
const cssVars = isObjectRecord$1(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
|
|
55705
|
+
const from = typeof cssVars?.from === "string" ? cssVars.from : null;
|
|
55706
|
+
const to = typeof cssVars?.to === "string" ? cssVars.to : null;
|
|
55707
|
+
if (!from && !to) return void 0;
|
|
55708
|
+
return {
|
|
55709
|
+
...from ? { "--site-style-transition-from": from } : {},
|
|
55710
|
+
...to ? { "--site-style-transition-to": to } : {}
|
|
55711
|
+
};
|
|
55591
55712
|
}
|
|
55592
|
-
function
|
|
55593
|
-
|
|
55594
|
-
|
|
55595
|
-
customBlocks,
|
|
55596
|
-
policy
|
|
55597
|
-
});
|
|
55598
|
-
const entriesByKind = new Map(plan.entries.map((entry) => [entry.blockKind, entry]));
|
|
55599
|
-
for (const conflict of plan.conflicts) onConflict?.(`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`);
|
|
55713
|
+
function mergeStyleObjects(left, right) {
|
|
55714
|
+
if (!left) return right;
|
|
55715
|
+
if (!right) return left;
|
|
55600
55716
|
return {
|
|
55601
|
-
|
|
55602
|
-
|
|
55603
|
-
findManifest: (blockKind) => {
|
|
55604
|
-
if (!isCustomBlockKind(blockKind)) return void 0;
|
|
55605
|
-
return entriesByKind.get(blockKind);
|
|
55606
|
-
}
|
|
55717
|
+
...left,
|
|
55718
|
+
...right
|
|
55607
55719
|
};
|
|
55608
55720
|
}
|
|
55609
|
-
function
|
|
55610
|
-
|
|
55611
|
-
|
|
55612
|
-
|
|
55613
|
-
|
|
55614
|
-
default: return assertNever$24(source);
|
|
55615
|
-
}
|
|
55721
|
+
function pageBlockPosition(index, blockCount) {
|
|
55722
|
+
if (blockCount <= 1) return "only";
|
|
55723
|
+
if (index === 0) return "first";
|
|
55724
|
+
if (index === blockCount - 1) return "last";
|
|
55725
|
+
return "middle";
|
|
55616
55726
|
}
|
|
55617
55727
|
//#endregion
|
|
55618
55728
|
//#region ../blocks/src/PageRenderer.tsx
|
|
55619
|
-
function PageRenderer$1(
|
|
55729
|
+
function PageRenderer$1(props) {
|
|
55730
|
+
const { page, runtimeBoundaries, usePlaceholders = false, dataContext, wrapBlock, wrapBoundary, registry, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring } = props;
|
|
55620
55731
|
const imageResolveContext = React$1.useMemo(() => resolvePageRendererImageResolveContext(dataContext), [
|
|
55621
55732
|
dataContext?.imageResolveContext,
|
|
55622
55733
|
dataContext?.mediaAssets,
|
|
@@ -55625,12 +55736,16 @@ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = fals
|
|
|
55625
55736
|
]);
|
|
55626
55737
|
const boundaryByAdjacentBlockIds = React$1.useMemo(() => boundaryMapForAdjacentBlockIds(runtimeBoundaries ?? []), [runtimeBoundaries]);
|
|
55627
55738
|
const usesRuntimeBoundaries = runtimeBoundaries !== void 0;
|
|
55739
|
+
const themeResources = React$1.useMemo(() => resolvePageThemeResources(props), [
|
|
55740
|
+
props.rendering,
|
|
55741
|
+
props.theme,
|
|
55742
|
+
props.themeTokens
|
|
55743
|
+
]);
|
|
55628
55744
|
if (!page || page.blocks.length === 0) return /* @__PURE__ */ jsx("div", {
|
|
55629
55745
|
className: "rb-p-6 rb-caption",
|
|
55630
55746
|
style: textColorStyle("mutedText"),
|
|
55631
55747
|
children: "No blocks found."
|
|
55632
55748
|
});
|
|
55633
|
-
const themeTokens = providedThemeTokens ?? buildThemeRuntime$1(theme).tokens;
|
|
55634
55749
|
const resolvedRegistry = registry ?? getDefaultComponentRegistry();
|
|
55635
55750
|
setContextResolveImageUrlContext(imageResolveContext);
|
|
55636
55751
|
return /* @__PURE__ */ jsx("div", { children: page.blocks.map((block, index) => {
|
|
@@ -55653,22 +55768,14 @@ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = fals
|
|
|
55653
55768
|
const renderableContent = getRenderableContent(block, dataContext?.previewStage);
|
|
55654
55769
|
const variantKey = definition?.manifest ? resolveVariantKey(definition.manifest, renderableContent) : null;
|
|
55655
55770
|
const shouldUseWrapper = !managesOwnWrapper || Boolean(wrapBlock);
|
|
55656
|
-
const blockSectionProps = {
|
|
55657
|
-
|
|
55658
|
-
|
|
55771
|
+
const blockSectionProps = buildBlockSectionProps({
|
|
55772
|
+
props,
|
|
55773
|
+
themeResources,
|
|
55659
55774
|
block,
|
|
55660
|
-
usePlaceholders,
|
|
55661
|
-
dataContext,
|
|
55662
55775
|
blockKey,
|
|
55663
|
-
registry: resolvedRegistry,
|
|
55664
|
-
routeMap,
|
|
55665
|
-
wrapBlock,
|
|
55666
|
-
blockOverrides,
|
|
55667
|
-
sdkConfig,
|
|
55668
|
-
customBlocks,
|
|
55669
55776
|
imageResolveContext,
|
|
55670
|
-
|
|
55671
|
-
};
|
|
55777
|
+
registry: resolvedRegistry
|
|
55778
|
+
});
|
|
55672
55779
|
if (!shouldUseWrapper) {
|
|
55673
55780
|
const rendered = /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, `${blockKey}:block`);
|
|
55674
55781
|
return boundaryElement ? /* @__PURE__ */ jsxs(React$1.Fragment, { children: [rendered, boundaryElement] }, blockKey) : rendered;
|
|
@@ -55710,81 +55817,6 @@ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = fals
|
|
|
55710
55817
|
})] }, blockKey);
|
|
55711
55818
|
}) });
|
|
55712
55819
|
}
|
|
55713
|
-
function isSiteStyleTransitionStyleGroup(value) {
|
|
55714
|
-
return value?.startsWith("site-style-transition-") === true;
|
|
55715
|
-
}
|
|
55716
|
-
function boundaryMapForAdjacentBlockIds(boundaries) {
|
|
55717
|
-
return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
|
|
55718
|
-
}
|
|
55719
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
55720
|
-
return `${previousBlockId}\u0000${nextBlockId}`;
|
|
55721
|
-
}
|
|
55722
|
-
function boundaryBetweenBlocks(previousBlock, nextBlock, boundaryByAdjacentBlockIds) {
|
|
55723
|
-
const previousBlockId = previousBlock?.id ?? null;
|
|
55724
|
-
const nextBlockId = nextBlock?.id ?? null;
|
|
55725
|
-
if (!previousBlockId || !nextBlockId) return null;
|
|
55726
|
-
return boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
|
|
55727
|
-
}
|
|
55728
|
-
function renderBoundaryAfterBlock(input) {
|
|
55729
|
-
const previousBlockId = input.block.id;
|
|
55730
|
-
const nextBlockId = input.nextBlock?.id ?? null;
|
|
55731
|
-
if (!previousBlockId || !nextBlockId) return null;
|
|
55732
|
-
const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
|
|
55733
|
-
if (!boundary) return null;
|
|
55734
|
-
const rendered = /* @__PURE__ */ jsx("div", {
|
|
55735
|
-
"aria-hidden": "true",
|
|
55736
|
-
"data-block-boundary": "",
|
|
55737
|
-
"data-boundary-id": boundary.boundaryId,
|
|
55738
|
-
"data-boundary-previous-block-id": boundary.previousBlockId,
|
|
55739
|
-
"data-boundary-next-block-id": boundary.nextBlockId,
|
|
55740
|
-
"data-style-group": boundary.styleGroup,
|
|
55741
|
-
style: boundaryCssVarsStyle(boundary)
|
|
55742
|
-
}, `${input.blockKey}:boundary`);
|
|
55743
|
-
return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
|
|
55744
|
-
}
|
|
55745
|
-
function boundaryCssVarsStyle(boundary) {
|
|
55746
|
-
return {
|
|
55747
|
-
"--site-style-transition-from": boundary.cssVars.from,
|
|
55748
|
-
"--site-style-transition-to": boundary.cssVars.to
|
|
55749
|
-
};
|
|
55750
|
-
}
|
|
55751
|
-
function boundaryReserveCssVarsStyle(input) {
|
|
55752
|
-
const before = input.before ? boundaryReserveValueForTreatment(input.before) : null;
|
|
55753
|
-
const after = input.after ? boundaryReserveValueForTreatment(input.after) : null;
|
|
55754
|
-
if (!before && !after) return void 0;
|
|
55755
|
-
return {
|
|
55756
|
-
...before ? { "--site-style-boundary-before-reserve": before } : {},
|
|
55757
|
-
...after ? { "--site-style-boundary-after-reserve": after } : {}
|
|
55758
|
-
};
|
|
55759
|
-
}
|
|
55760
|
-
function boundaryReserveValueForTreatment(boundary) {
|
|
55761
|
-
return boundary.metrics.reserveCss;
|
|
55762
|
-
}
|
|
55763
|
-
function transitionCssVarsStyle(content) {
|
|
55764
|
-
const transitionStyles = isObjectRecord$1(content._transitionStyles) ? content._transitionStyles : null;
|
|
55765
|
-
const cssVars = isObjectRecord$1(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
|
|
55766
|
-
const from = typeof cssVars?.from === "string" ? cssVars.from : null;
|
|
55767
|
-
const to = typeof cssVars?.to === "string" ? cssVars.to : null;
|
|
55768
|
-
if (!from && !to) return void 0;
|
|
55769
|
-
return {
|
|
55770
|
-
...from ? { "--site-style-transition-from": from } : {},
|
|
55771
|
-
...to ? { "--site-style-transition-to": to } : {}
|
|
55772
|
-
};
|
|
55773
|
-
}
|
|
55774
|
-
function mergeStyleObjects(left, right) {
|
|
55775
|
-
if (!left) return right;
|
|
55776
|
-
if (!right) return left;
|
|
55777
|
-
return {
|
|
55778
|
-
...left,
|
|
55779
|
-
...right
|
|
55780
|
-
};
|
|
55781
|
-
}
|
|
55782
|
-
function pageBlockPosition(index, blockCount) {
|
|
55783
|
-
if (blockCount <= 1) return "only";
|
|
55784
|
-
if (index === 0) return "first";
|
|
55785
|
-
if (index === blockCount - 1) return "last";
|
|
55786
|
-
return "middle";
|
|
55787
|
-
}
|
|
55788
55820
|
function resolvePageRendererImageResolveContext(dataContext) {
|
|
55789
55821
|
const input = dataContext?.imageResolveContext;
|
|
55790
55822
|
return buildResolveImageUrlContext({
|
|
@@ -55794,6 +55826,23 @@ function resolvePageRendererImageResolveContext(dataContext) {
|
|
|
55794
55826
|
mediaAssets: input?.mediaAssets ?? dataContext?.mediaAssets
|
|
55795
55827
|
});
|
|
55796
55828
|
}
|
|
55829
|
+
function buildBlockSectionProps(input) {
|
|
55830
|
+
return {
|
|
55831
|
+
themeResources: input.themeResources,
|
|
55832
|
+
block: input.block,
|
|
55833
|
+
usePlaceholders: input.props.usePlaceholders ?? false,
|
|
55834
|
+
dataContext: input.props.dataContext,
|
|
55835
|
+
blockKey: input.blockKey,
|
|
55836
|
+
registry: input.registry,
|
|
55837
|
+
routeMap: input.props.routeMap,
|
|
55838
|
+
wrapBlock: input.props.wrapBlock,
|
|
55839
|
+
blockOverrides: input.props.blockOverrides,
|
|
55840
|
+
sdkConfig: input.props.sdkConfig,
|
|
55841
|
+
customBlocks: input.props.customBlocks,
|
|
55842
|
+
imageResolveContext: input.imageResolveContext,
|
|
55843
|
+
previewAuthoring: input.props.previewAuthoring
|
|
55844
|
+
};
|
|
55845
|
+
}
|
|
55797
55846
|
/**
|
|
55798
55847
|
* Look up a block override component by block kind.
|
|
55799
55848
|
* Supports both full ("block.hero") and short ("hero") keys.
|
|
@@ -55860,7 +55909,7 @@ function getCachedValidator(manifest, flavour) {
|
|
|
55860
55909
|
* referential equality of all props that affect rendering. Standard React.memo
|
|
55861
55910
|
* wouldn't catch all the render triggers from the editor store.
|
|
55862
55911
|
*/
|
|
55863
|
-
const MemoBlockSection = React$1.memo(function MemoBlockSection({
|
|
55912
|
+
const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources, block, usePlaceholders, dataContext, registry, routeMap, wrapBlock, blockOverrides, sdkConfig, customBlocks, imageResolveContext, previewAuthoring }) {
|
|
55864
55913
|
const perfStart = globalThis.process?.env?.DEBUG_PERF === "1" && typeof window === "undefined" ? Date.now() : 0;
|
|
55865
55914
|
const fallbackImageResolveContext = getCurrentResolveImageUrlContext();
|
|
55866
55915
|
const resolvedImageResolveContext = imageResolveContext ?? fallbackImageResolveContext;
|
|
@@ -55881,6 +55930,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
55881
55930
|
return node;
|
|
55882
55931
|
}
|
|
55883
55932
|
const OverrideComponent = getBlockOverride(block.kind, blockOverrides);
|
|
55933
|
+
requireBlockOverride(themeResources, OverrideComponent, block.kind);
|
|
55884
55934
|
let definition = getBlockDefinition(block.kind);
|
|
55885
55935
|
if (!definition && block.kind.startsWith("custom.")) definition = createCustomBlockRegistry({
|
|
55886
55936
|
sdkConfig,
|
|
@@ -55893,8 +55943,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
55893
55943
|
if (OverrideComponent) {
|
|
55894
55944
|
const rendered = /* @__PURE__ */ jsx(OverrideComponent, {
|
|
55895
55945
|
content: getRenderableContent(block, dataContext?.previewStage),
|
|
55896
|
-
|
|
55897
|
-
themeConfig,
|
|
55946
|
+
...overrideThemeProps(themeResources),
|
|
55898
55947
|
data: void 0,
|
|
55899
55948
|
siteId: dataContext?.siteId,
|
|
55900
55949
|
apiBaseUrl: dataContext?.apiBaseUrl,
|
|
@@ -55993,8 +56042,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
55993
56042
|
const hasResolvedData = !!resolved && typeof resolved === "object" && Object.keys(resolved).length > 0;
|
|
55994
56043
|
const baseProps = {
|
|
55995
56044
|
content: hydratedContent,
|
|
55996
|
-
|
|
55997
|
-
themeConfig,
|
|
56045
|
+
...overrideThemeProps(themeResources),
|
|
55998
56046
|
data: resolved,
|
|
55999
56047
|
siteId: dataContext?.siteId,
|
|
56000
56048
|
apiBaseUrl: dataContext?.apiBaseUrl,
|
|
@@ -56014,6 +56062,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
56014
56062
|
let rendered;
|
|
56015
56063
|
if (OverrideComponent) rendered = /* @__PURE__ */ jsx(OverrideComponent, { ...baseProps });
|
|
56016
56064
|
else {
|
|
56065
|
+
requireThemeResources(themeResources, block.kind);
|
|
56017
56066
|
const BlockComponent = getCachedBlockComponent(definition.manifest);
|
|
56018
56067
|
const pathBase = typeof block.id === "string" && block.id.length > 0 ? `blocks.${block.id}.` : void 0;
|
|
56019
56068
|
const rootContext = { $root: {
|
|
@@ -56063,7 +56112,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
56063
56112
|
});
|
|
56064
56113
|
}
|
|
56065
56114
|
}, (prev, next) => {
|
|
56066
|
-
return prev.block === next.block && prev.registry === next.registry && prev.dataContext === next.dataContext && prev.
|
|
56115
|
+
return prev.block === next.block && prev.registry === next.registry && prev.dataContext === next.dataContext && prev.themeResources === next.themeResources && prev.routeMap === next.routeMap && prev.usePlaceholders === next.usePlaceholders && prev.wrapBlock === next.wrapBlock && prev.blockOverrides === next.blockOverrides && prev.sdkConfig === next.sdkConfig && prev.customBlocks === next.customBlocks && prev.imageResolveContext === next.imageResolveContext && prev.previewAuthoring === next.previewAuthoring;
|
|
56067
56116
|
});
|
|
56068
56117
|
function fallback(message) {
|
|
56069
56118
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -69278,8 +69327,9 @@ function toBlocksImageResolveContextInput(context) {
|
|
|
69278
69327
|
mediaAssets: toBlocksMediaAssets(context.mediaAssets)
|
|
69279
69328
|
};
|
|
69280
69329
|
}
|
|
69281
|
-
|
|
69282
|
-
|
|
69330
|
+
function isOverrideOnlyPageRenderer(props) {
|
|
69331
|
+
return props.rendering?.kind === "overrides-only";
|
|
69332
|
+
}
|
|
69283
69333
|
function normalizeSdkCustomBlocks(customBlocks) {
|
|
69284
69334
|
if (!customBlocks) return void 0;
|
|
69285
69335
|
return customBlocks.map((block) => {
|
|
@@ -69310,15 +69360,23 @@ function toBlocksPageRendererDataContext(dataContext) {
|
|
|
69310
69360
|
}
|
|
69311
69361
|
function PageRenderer(props) {
|
|
69312
69362
|
const blocksSdkConfig = props.sdkConfig ? { customBlocks: normalizeSdkCustomBlocks(props.sdkConfig.customBlocks) } : props.sdkConfig;
|
|
69313
|
-
const
|
|
69314
|
-
const
|
|
69315
|
-
...
|
|
69316
|
-
theme: blocksTheme,
|
|
69363
|
+
const { rendering: _rendering, theme: _theme, themeTokens: _themeTokens, ...commonProps } = props;
|
|
69364
|
+
const commonBlocksProps = {
|
|
69365
|
+
...commonProps,
|
|
69317
69366
|
dataContext: props.dataContext ? toBlocksPageRendererDataContext(props.dataContext) : void 0,
|
|
69318
69367
|
blockOverrides: toBlocksBlockOverrides(props.blockOverrides),
|
|
69319
69368
|
sdkConfig: blocksSdkConfig,
|
|
69320
69369
|
customBlocks: normalizeSdkCustomBlocks(props.customBlocks)
|
|
69321
69370
|
};
|
|
69371
|
+
const blocksProps = isOverrideOnlyPageRenderer(props) ? {
|
|
69372
|
+
...commonBlocksProps,
|
|
69373
|
+
rendering: { kind: "overrides-only" },
|
|
69374
|
+
blockOverrides: toBlocksBlockOverrides(props.blockOverrides) ?? {}
|
|
69375
|
+
} : {
|
|
69376
|
+
...commonBlocksProps,
|
|
69377
|
+
theme: parseBlocksTheme(props.theme),
|
|
69378
|
+
themeTokens: props.themeTokens
|
|
69379
|
+
};
|
|
69322
69380
|
return React$1.createElement(PageRenderer$1, blocksProps);
|
|
69323
69381
|
}
|
|
69324
69382
|
//#endregion
|
|
@@ -69360,8 +69418,31 @@ function renderWithSdkThemeRuntime({ themeRuntime, theme, children }) {
|
|
|
69360
69418
|
default: return assertNever$24(themeRuntime);
|
|
69361
69419
|
}
|
|
69362
69420
|
}
|
|
69421
|
+
function renderWithOverrideOnlyRuntime({ runtime, children }) {
|
|
69422
|
+
switch (runtime.kind) {
|
|
69423
|
+
case "responsive-only": return /* @__PURE__ */ jsx(ResponsiveScope, {
|
|
69424
|
+
responsiveMode: runtime.responsiveMode,
|
|
69425
|
+
children
|
|
69426
|
+
});
|
|
69427
|
+
case "none": return /* @__PURE__ */ jsx(Fragment, { children });
|
|
69428
|
+
default: return assertNever$24(runtime);
|
|
69429
|
+
}
|
|
69430
|
+
}
|
|
69363
69431
|
//#endregion
|
|
69364
69432
|
//#region src/rendering/components/pageShared.tsx
|
|
69433
|
+
function isOverrideOnlyPage(props) {
|
|
69434
|
+
return props.rendering?.kind === "overrides-only";
|
|
69435
|
+
}
|
|
69436
|
+
function resolvePageThemeTokens(props) {
|
|
69437
|
+
const baseTokens = props.themeTokens ?? buildThemeRuntime(props.theme).tokens;
|
|
69438
|
+
return props.sdkConfig?.theme?.palette ? {
|
|
69439
|
+
...baseTokens,
|
|
69440
|
+
palette: {
|
|
69441
|
+
...baseTokens.palette,
|
|
69442
|
+
...props.sdkConfig.theme.palette
|
|
69443
|
+
}
|
|
69444
|
+
} : baseTokens;
|
|
69445
|
+
}
|
|
69365
69446
|
function toPageHydrationBootstrapConfig(props) {
|
|
69366
69447
|
return {
|
|
69367
69448
|
siteId: props.siteId,
|
|
@@ -69369,55 +69450,60 @@ function toPageHydrationBootstrapConfig(props) {
|
|
|
69369
69450
|
mediaAssets: props.mediaAssets
|
|
69370
69451
|
};
|
|
69371
69452
|
}
|
|
69372
|
-
function PageContent(
|
|
69373
|
-
const
|
|
69374
|
-
|
|
69375
|
-
|
|
69376
|
-
|
|
69377
|
-
|
|
69378
|
-
|
|
69379
|
-
|
|
69380
|
-
|
|
69381
|
-
|
|
69382
|
-
|
|
69383
|
-
|
|
69384
|
-
|
|
69385
|
-
|
|
69386
|
-
|
|
69387
|
-
|
|
69388
|
-
|
|
69389
|
-
|
|
69453
|
+
function PageContent(props) {
|
|
69454
|
+
const { page, runtimeBoundaries, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders = false, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext } = props;
|
|
69455
|
+
const rendererCommonProps = {
|
|
69456
|
+
page,
|
|
69457
|
+
runtimeBoundaries,
|
|
69458
|
+
usePlaceholders,
|
|
69459
|
+
dataContext: {
|
|
69460
|
+
siteId,
|
|
69461
|
+
apiBaseUrl,
|
|
69462
|
+
portalToken,
|
|
69463
|
+
previewToken,
|
|
69464
|
+
resolvedData,
|
|
69465
|
+
bookingOfferingPresets: bookingOfferingPresets ?? [],
|
|
69466
|
+
routes: routeMap,
|
|
69467
|
+
pagesByIdentifier,
|
|
69468
|
+
entriesByIdentifier,
|
|
69469
|
+
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
69470
|
+
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
69471
|
+
contentEntry: dataContext?.contentEntry ?? null,
|
|
69472
|
+
pageSurface: dataContext?.pageSurface ?? null,
|
|
69473
|
+
subject: dataContext?.subject ?? null,
|
|
69474
|
+
editableRouteMetadataFieldIds: dataContext?.editableRouteMetadataFieldIds ?? null,
|
|
69475
|
+
previewStage: dataContext?.previewStage,
|
|
69476
|
+
supabaseUrl,
|
|
69477
|
+
mediaAssets,
|
|
69478
|
+
imageResolveContext: {
|
|
69390
69479
|
siteId,
|
|
69391
|
-
apiBaseUrl,
|
|
69392
|
-
portalToken,
|
|
69393
|
-
previewToken,
|
|
69394
|
-
resolvedData,
|
|
69395
|
-
bookingOfferingPresets: bookingOfferingPresets ?? [],
|
|
69396
|
-
routes: routeMap,
|
|
69397
|
-
pagesByIdentifier,
|
|
69398
|
-
entriesByIdentifier,
|
|
69399
|
-
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
69400
|
-
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
69401
|
-
contentEntry: dataContext?.contentEntry ?? null,
|
|
69402
|
-
pageSurface: dataContext?.pageSurface ?? null,
|
|
69403
|
-
subject: dataContext?.subject ?? null,
|
|
69404
|
-
editableRouteMetadataFieldIds: dataContext?.editableRouteMetadataFieldIds ?? null,
|
|
69405
|
-
previewStage: dataContext?.previewStage,
|
|
69406
69480
|
supabaseUrl,
|
|
69407
|
-
mediaAssets
|
|
69408
|
-
|
|
69409
|
-
|
|
69410
|
-
|
|
69411
|
-
|
|
69412
|
-
|
|
69413
|
-
|
|
69414
|
-
|
|
69415
|
-
|
|
69416
|
-
|
|
69417
|
-
|
|
69418
|
-
|
|
69419
|
-
|
|
69420
|
-
|
|
69481
|
+
mediaAssets
|
|
69482
|
+
}
|
|
69483
|
+
},
|
|
69484
|
+
routeMap,
|
|
69485
|
+
wrapBlock,
|
|
69486
|
+
registry,
|
|
69487
|
+
sdkConfig: sdkConfig ? { customBlocks: sdkConfig.customBlocks } : null,
|
|
69488
|
+
customBlocks
|
|
69489
|
+
};
|
|
69490
|
+
const content = isOverrideOnlyPage(props) ? /* @__PURE__ */ jsx(PageRenderer, {
|
|
69491
|
+
...rendererCommonProps,
|
|
69492
|
+
rendering: { kind: "overrides-only" },
|
|
69493
|
+
blockOverrides: props.blockOverrides
|
|
69494
|
+
}) : /* @__PURE__ */ jsx(PageRenderer, {
|
|
69495
|
+
...rendererCommonProps,
|
|
69496
|
+
theme: props.theme,
|
|
69497
|
+
themeTokens: resolvePageThemeTokens(props),
|
|
69498
|
+
blockOverrides
|
|
69499
|
+
});
|
|
69500
|
+
return isOverrideOnlyPage(props) ? renderWithOverrideOnlyRuntime({
|
|
69501
|
+
runtime: props.rendering.runtime,
|
|
69502
|
+
children: content
|
|
69503
|
+
}) : renderWithSdkThemeRuntime({
|
|
69504
|
+
themeRuntime: props.themeRuntime ?? defaultPageThemeRuntime,
|
|
69505
|
+
theme: props.theme,
|
|
69506
|
+
children: content
|
|
69421
69507
|
});
|
|
69422
69508
|
}
|
|
69423
69509
|
//#endregion
|
|
@@ -69940,12 +70026,48 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
69940
70026
|
return result;
|
|
69941
70027
|
}
|
|
69942
70028
|
//#endregion
|
|
70029
|
+
//#region src/rendering/renderingMode.ts
|
|
70030
|
+
const defaultOverrideOnlyRuntime = { kind: "responsive-only" };
|
|
70031
|
+
//#endregion
|
|
69943
70032
|
//#region src/rendering/components/Layout.tsx
|
|
69944
70033
|
/**
|
|
69945
70034
|
* Layout component with header and footer
|
|
69946
70035
|
*
|
|
69947
70036
|
* Renders site header and footer around content. Fetches site data if not provided.
|
|
69948
70037
|
*/
|
|
70038
|
+
function isOverrideOnlyLayout(props) {
|
|
70039
|
+
return props.rendering?.kind === "overrides-only";
|
|
70040
|
+
}
|
|
70041
|
+
var UnsupportedOverrideOnlyLayoutChromeError = class extends Error {
|
|
70042
|
+
constructor(surface) {
|
|
70043
|
+
super(`Override-only Layout requires a custom or disabled ${surface}; SDK default chrome is unavailable.`);
|
|
70044
|
+
this.surface = surface;
|
|
70045
|
+
this.code = "unsupported_override_only_layout_chrome";
|
|
70046
|
+
this.name = "UnsupportedOverrideOnlyLayoutChromeError";
|
|
70047
|
+
}
|
|
70048
|
+
};
|
|
70049
|
+
async function resolveLayoutSiteData(props) {
|
|
70050
|
+
if (props.siteData) return props.siteData;
|
|
70051
|
+
if (!props.client) throw new Error("Layout: must provide either siteData or client");
|
|
70052
|
+
if (!props.siteId && !props.slug && !props.domain) throw new Error("Layout: must provide siteId, slug, or domain when using client");
|
|
70053
|
+
return props.client.getSite({
|
|
70054
|
+
id: props.siteId,
|
|
70055
|
+
slug: props.slug,
|
|
70056
|
+
domain: props.domain
|
|
70057
|
+
});
|
|
70058
|
+
}
|
|
70059
|
+
function renderOverrideOnlyLayout(props, data) {
|
|
70060
|
+
if (data.header === true) throw new UnsupportedOverrideOnlyLayoutChromeError("header");
|
|
70061
|
+
if (data.footer === true) throw new UnsupportedOverrideOnlyLayoutChromeError("footer");
|
|
70062
|
+
return renderWithOverrideOnlyRuntime({
|
|
70063
|
+
runtime: props.rendering.runtime ?? defaultOverrideOnlyRuntime,
|
|
70064
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
70065
|
+
typeof props.header === "function" ? props.header(data.headerData) : null,
|
|
70066
|
+
props.children,
|
|
70067
|
+
typeof props.footer === "function" ? props.footer(data.footerData) : null
|
|
70068
|
+
] })
|
|
70069
|
+
});
|
|
70070
|
+
}
|
|
69949
70071
|
/**
|
|
69950
70072
|
* Layout component that wraps content with site header and footer.
|
|
69951
70073
|
*
|
|
@@ -69981,20 +70103,13 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
69981
70103
|
* </Layout>
|
|
69982
70104
|
* ```
|
|
69983
70105
|
*/
|
|
69984
|
-
async function Layout(
|
|
69985
|
-
|
|
69986
|
-
|
|
69987
|
-
|
|
69988
|
-
|
|
69989
|
-
|
|
69990
|
-
id: siteId,
|
|
69991
|
-
slug,
|
|
69992
|
-
domain
|
|
69993
|
-
});
|
|
69994
|
-
}
|
|
69995
|
-
const { site, theme, navigation, layout, routes } = siteData;
|
|
70106
|
+
async function Layout(props) {
|
|
70107
|
+
const { children, hasPortalSession = false, previewStage = "published" } = props;
|
|
70108
|
+
const header = props.header ?? true;
|
|
70109
|
+
const footer = props.footer ?? true;
|
|
70110
|
+
const siteData = await resolveLayoutSiteData(props);
|
|
70111
|
+
const { site, navigation, layout, routes } = siteData;
|
|
69996
70112
|
const footerBlocks = siteData.footerBlocks ?? [];
|
|
69997
|
-
const builtThemeRuntime = buildThemeRuntime(theme);
|
|
69998
70113
|
const navigationOptions = {
|
|
69999
70114
|
hasPortalSession,
|
|
70000
70115
|
previewStage,
|
|
@@ -70008,22 +70123,38 @@ async function Layout({ siteData: providedSiteData, client, siteId, slug, domain
|
|
|
70008
70123
|
const footerMenuViewModel = buildFooterMenu(navigation, routes, navigationOptions);
|
|
70009
70124
|
const legalFooterMenuViewModel = buildFooterMenuForRole(navigation, routes, "legal-policy", navigationOptions);
|
|
70010
70125
|
const logoViewModel = buildLogo(layout.logo ?? null, site.title);
|
|
70011
|
-
const
|
|
70126
|
+
const customHeaderData = {
|
|
70012
70127
|
menu: menuViewModel,
|
|
70013
70128
|
logo: logoViewModel,
|
|
70014
70129
|
site,
|
|
70015
|
-
theme,
|
|
70016
70130
|
routes
|
|
70017
70131
|
};
|
|
70018
|
-
const
|
|
70132
|
+
const customFooterData = {
|
|
70019
70133
|
menu: menuViewModel,
|
|
70020
70134
|
footerMenu: footerMenuViewModel,
|
|
70021
70135
|
legalFooterMenu: legalFooterMenuViewModel,
|
|
70022
70136
|
logo: logoViewModel,
|
|
70023
70137
|
site,
|
|
70024
|
-
theme,
|
|
70025
70138
|
routes
|
|
70026
70139
|
};
|
|
70140
|
+
if (isOverrideOnlyLayout(props)) return renderOverrideOnlyLayout(props, {
|
|
70141
|
+
header: props.header ?? true,
|
|
70142
|
+
footer: props.footer ?? true,
|
|
70143
|
+
headerData: customHeaderData,
|
|
70144
|
+
footerData: customFooterData
|
|
70145
|
+
});
|
|
70146
|
+
const { theme } = siteData;
|
|
70147
|
+
const builtThemeRuntime = buildThemeRuntime(theme);
|
|
70148
|
+
const headerVariant = props.headerVariant;
|
|
70149
|
+
const themeRuntime = props.themeRuntime;
|
|
70150
|
+
const headerData = {
|
|
70151
|
+
...customHeaderData,
|
|
70152
|
+
theme
|
|
70153
|
+
};
|
|
70154
|
+
const footerData = {
|
|
70155
|
+
...customFooterData,
|
|
70156
|
+
theme
|
|
70157
|
+
};
|
|
70027
70158
|
const headerContent = headerVariant ? {
|
|
70028
70159
|
...layout.header,
|
|
70029
70160
|
variant: headerVariant
|
|
@@ -72125,6 +72256,25 @@ z$1.object({
|
|
|
72125
72256
|
mode: z$1.enum(["apply", "preview"]).optional()
|
|
72126
72257
|
}).strict();
|
|
72127
72258
|
//#endregion
|
|
72259
|
+
//#region ../api/src/sdkThemeWire.ts
|
|
72260
|
+
/**
|
|
72261
|
+
* Validate a wire value without replacing it with the schema's parsed output.
|
|
72262
|
+
* The returned type is deliberately the schema input, not its canonical output.
|
|
72263
|
+
*/
|
|
72264
|
+
function losslessValidatedSchema(schema) {
|
|
72265
|
+
return z$1.unknown().superRefine((value, ctx) => {
|
|
72266
|
+
const parsed = schema.safeParse(value);
|
|
72267
|
+
if (parsed.success) return;
|
|
72268
|
+
for (const issue of parsed.error.issues) ctx.addIssue({
|
|
72269
|
+
code: "custom",
|
|
72270
|
+
path: issue.path,
|
|
72271
|
+
message: issue.message,
|
|
72272
|
+
params: { validationCode: issue.code }
|
|
72273
|
+
});
|
|
72274
|
+
}).transform((value) => value);
|
|
72275
|
+
}
|
|
72276
|
+
losslessValidatedSchema(themeSchema);
|
|
72277
|
+
//#endregion
|
|
72128
72278
|
//#region ../api/src/siteOnboarding.ts
|
|
72129
72279
|
const LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = { configure_appointments: {
|
|
72130
72280
|
requirementId: "configure_appointments",
|