@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
|
@@ -1214,9 +1214,10 @@ var init_fileAssetDeletion = __esmMin((() => {
|
|
|
1214
1214
|
init_src$3();
|
|
1215
1215
|
init_fileDomain();
|
|
1216
1216
|
init_fileStorage();
|
|
1217
|
-
}))
|
|
1217
|
+
}));
|
|
1218
|
+
var init_fileMimeDetection = __esmMin((() => {
|
|
1218
1219
|
new TextDecoder("latin1");
|
|
1219
|
-
})), init_filename = __esmMin((() => {})), PRODUCT_FILE_EXTENSION_TAGS;
|
|
1220
|
+
})), init_mimeType = __esmMin((() => {})), init_filename = __esmMin((() => {})), PRODUCT_FILE_EXTENSION_TAGS;
|
|
1220
1221
|
var init_uploadVerificationContract = __esmMin((() => {
|
|
1221
1222
|
init_fileDomain();
|
|
1222
1223
|
init_fileMimeDetection();
|
|
@@ -1894,6 +1895,7 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {
|
|
|
1894
1895
|
init_fileAssetDeletion();
|
|
1895
1896
|
init_fileAssetCompatibility();
|
|
1896
1897
|
init_fileMimeDetection();
|
|
1898
|
+
init_mimeType();
|
|
1897
1899
|
init_filename();
|
|
1898
1900
|
init_uploadVerificationContract();
|
|
1899
1901
|
init_videoPrep();
|
|
@@ -8081,6 +8083,7 @@ var init_palette$1 = __esmMin((() => {
|
|
|
8081
8083
|
init_suggestRecipes();
|
|
8082
8084
|
init_allRecipes();
|
|
8083
8085
|
init_curated();
|
|
8086
|
+
init_curated();
|
|
8084
8087
|
})), defaultThemeTokens;
|
|
8085
8088
|
var init_tokens$1 = __esmMin((() => {
|
|
8086
8089
|
defaultThemeTokens = {
|
|
@@ -8309,49 +8312,22 @@ var init_backgroundAppearance = __esmMin((() => {
|
|
|
8309
8312
|
var init_compositionBudget = __esmMin((() => {
|
|
8310
8313
|
init_types$14();
|
|
8311
8314
|
}));
|
|
8312
|
-
var init_headerStyleParts = __esmMin((() => {}));
|
|
8313
|
-
var headerInteractionPaletteValues, headerInteractionPaletteSchema;
|
|
8314
|
-
var init_interactionPalette = __esmMin((() => {
|
|
8315
|
-
headerInteractionPaletteValues = [
|
|
8316
|
-
"primary",
|
|
8317
|
-
"secondary",
|
|
8318
|
-
"accent"
|
|
8319
|
-
];
|
|
8320
|
-
headerInteractionPaletteSchema = z$1.enum(headerInteractionPaletteValues);
|
|
8321
|
-
}));
|
|
8322
|
-
var clearSplitInteractionPalette;
|
|
8323
|
-
var init_headerInteractionPalette = __esmMin((() => {
|
|
8324
|
-
init_interactionPalette();
|
|
8325
|
-
init_lookOptionGroups();
|
|
8326
|
-
clearSplitInteractionPalette = defineLookOptionGroup({
|
|
8327
|
-
id: "interaction-palette",
|
|
8328
|
-
label: "Hover colour",
|
|
8329
|
-
defaultOptionId: "accent",
|
|
8330
|
-
options: [
|
|
8331
|
-
{
|
|
8332
|
-
id: "accent",
|
|
8333
|
-
label: "Accent"
|
|
8334
|
-
},
|
|
8335
|
-
{
|
|
8336
|
-
id: "primary",
|
|
8337
|
-
label: "Primary"
|
|
8338
|
-
},
|
|
8339
|
-
{
|
|
8340
|
-
id: "secondary",
|
|
8341
|
-
label: "Secondary"
|
|
8342
|
-
}
|
|
8343
|
-
]
|
|
8344
|
-
});
|
|
8345
|
-
}));
|
|
8346
|
-
var init_headerOpeningForeground = __esmMin((() => {
|
|
8347
|
-
init_expandPalette();
|
|
8348
|
-
init_colorConversion();
|
|
8349
|
-
init_tokens();
|
|
8350
|
-
init_colorTokenParts();
|
|
8351
|
-
init_types$14();
|
|
8352
|
-
}));
|
|
8353
8315
|
var init_customizableSurfaces = __esmMin((() => {
|
|
8354
8316
|
init_types$14();
|
|
8317
|
+
}));
|
|
8318
|
+
//#endregion
|
|
8319
|
+
//#region ../theme-core/src/site-styles/headerLookTypes.ts
|
|
8320
|
+
function asHeaderLookId(value) {
|
|
8321
|
+
return value;
|
|
8322
|
+
}
|
|
8323
|
+
function asHeaderLayoutId(value) {
|
|
8324
|
+
return value;
|
|
8325
|
+
}
|
|
8326
|
+
function asHeaderStyleId(value) {
|
|
8327
|
+
return value;
|
|
8328
|
+
}
|
|
8329
|
+
var init_headerLookTypes = __esmMin((() => {
|
|
8330
|
+
init_customizableSurfaces();
|
|
8355
8331
|
})), logoTextConfidenceValues, logoAssetShapeValues, logoKindValues, logoDensityValues, logoContainsTextSchema, logoAnalysisSourceSchema, brandDisplayModeValues, logoAccommodationPatternValues, logoSizePolicyValues;
|
|
8356
8332
|
var init_logoBranding = __esmMin((() => {
|
|
8357
8333
|
init_types$14();
|
|
@@ -8444,388 +8420,8 @@ var init_logoBranding = __esmMin((() => {
|
|
|
8444
8420
|
"display"
|
|
8445
8421
|
];
|
|
8446
8422
|
}));
|
|
8447
|
-
|
|
8448
|
-
|
|
8449
|
-
function asHeaderLookId(value) {
|
|
8450
|
-
return value;
|
|
8451
|
-
}
|
|
8452
|
-
function asHeaderLayoutId(value) {
|
|
8453
|
-
return value;
|
|
8454
|
-
}
|
|
8455
|
-
function asHeaderStyleId(value) {
|
|
8456
|
-
return value;
|
|
8457
|
-
}
|
|
8458
|
-
/**
|
|
8459
|
-
* Starts every Look from the generated theme's header branch, then clears
|
|
8460
|
-
* optional nested styling fields that would otherwise leak from another Look.
|
|
8461
|
-
*/
|
|
8462
|
-
function baseHeader(theme) {
|
|
8463
|
-
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;
|
|
8464
|
-
return {
|
|
8465
|
-
...header,
|
|
8466
|
-
navContainer: {
|
|
8467
|
-
type: "none",
|
|
8468
|
-
tint: null,
|
|
8469
|
-
opacity: .15
|
|
8470
|
-
}
|
|
8471
|
-
};
|
|
8472
|
-
}
|
|
8473
|
-
function supportedLayouts(ids) {
|
|
8474
|
-
return ids.map(asHeaderLayoutId);
|
|
8475
|
-
}
|
|
8476
|
-
function headerStyleRepairChain(values) {
|
|
8477
|
-
return values.map(asHeaderStyleId);
|
|
8478
|
-
}
|
|
8479
|
-
function getHeaderStyle(id) {
|
|
8480
|
-
return headerStylesById.get(id) ?? null;
|
|
8481
|
-
}
|
|
8482
|
-
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
8483
|
-
return style.supportedLayoutIds.includes(layoutId);
|
|
8484
|
-
}
|
|
8485
|
-
function getHeaderStyleOrThrow(id) {
|
|
8486
|
-
const style = getHeaderStyle(id);
|
|
8487
|
-
if (!style) throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
8488
|
-
return style;
|
|
8489
|
-
}
|
|
8490
|
-
function resolveLegacyHeaderLookAlias(lookId) {
|
|
8491
|
-
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
8492
|
-
}
|
|
8493
|
-
function getCompatibleHeaderStyleIds(layoutId) {
|
|
8494
|
-
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter((styleId) => {
|
|
8495
|
-
return isHeaderStyleCompatibleWithLayout(getHeaderStyleOrThrow(styleId), layoutId);
|
|
8496
|
-
});
|
|
8497
|
-
}
|
|
8498
|
-
function applyNavTypography(style, typography) {
|
|
8499
|
-
switch (typography) {
|
|
8500
|
-
case "plain": return style;
|
|
8501
|
-
case "heading": return {
|
|
8502
|
-
...style,
|
|
8503
|
-
typography: "heading",
|
|
8504
|
-
fontWeight: "medium",
|
|
8505
|
-
letterSpacing: "wide"
|
|
8506
|
-
};
|
|
8507
|
-
case "quiet-caps": return {
|
|
8508
|
-
...style,
|
|
8509
|
-
textTransform: "uppercase",
|
|
8510
|
-
textSize: "sm",
|
|
8511
|
-
letterSpacing: "wide"
|
|
8512
|
-
};
|
|
8513
|
-
case "brand-caps": return {
|
|
8514
|
-
...style,
|
|
8515
|
-
textTransform: "uppercase",
|
|
8516
|
-
textSize: "sm",
|
|
8517
|
-
letterSpacing: "wider"
|
|
8518
|
-
};
|
|
8519
|
-
default: return assertNever$12(typography, "Unhandled header nav typography");
|
|
8520
|
-
}
|
|
8521
|
-
}
|
|
8522
|
-
function underlineNavLinkStyle(colorToken, underlineColorToken, typography = "plain") {
|
|
8523
|
-
return applyNavTypography({
|
|
8524
|
-
name: "Underline grow",
|
|
8525
|
-
typography: "body",
|
|
8526
|
-
fontWeight: "medium",
|
|
8527
|
-
textTransform: "none",
|
|
8528
|
-
italic: false,
|
|
8529
|
-
colorToken,
|
|
8530
|
-
padding: "compact",
|
|
8531
|
-
paddingX: "compact",
|
|
8532
|
-
borderRadius: "none",
|
|
8533
|
-
effects: { hover: [{
|
|
8534
|
-
effectId: "nav-underline",
|
|
8535
|
-
options: {
|
|
8536
|
-
style: "grow",
|
|
8537
|
-
...underlineColorToken ? { colorToken: underlineColorToken } : {}
|
|
8538
|
-
}
|
|
8539
|
-
}] }
|
|
8540
|
-
}, typography);
|
|
8541
|
-
}
|
|
8542
|
-
function themedHeaderShadow(theme) {
|
|
8543
|
-
switch (theme.shadow.elevation) {
|
|
8544
|
-
case "none": return;
|
|
8545
|
-
case "low": return { elevation: "sm" };
|
|
8546
|
-
case "medium": return { elevation: "md" };
|
|
8547
|
-
case "high": return { elevation: "lg" };
|
|
8548
|
-
default: return assertNever$12(theme.shadow.elevation, "Unhandled theme shadow elevation");
|
|
8549
|
-
}
|
|
8550
|
-
}
|
|
8551
|
-
function solidBrandHeader(theme) {
|
|
8552
|
-
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
8553
|
-
return {
|
|
8554
|
-
...baseHeader(theme),
|
|
8555
|
-
variant: "classic",
|
|
8556
|
-
positioning: "sticky",
|
|
8557
|
-
shrinkOnScroll: true,
|
|
8558
|
-
background: {
|
|
8559
|
-
type: "color",
|
|
8560
|
-
color: "primary"
|
|
8561
|
-
},
|
|
8562
|
-
textColor: "primaryForeground",
|
|
8563
|
-
navColor: "primaryForeground",
|
|
8564
|
-
navStyle: "underline-grow",
|
|
8565
|
-
navWeight: "bold",
|
|
8566
|
-
navLinkStyle: {
|
|
8567
|
-
typography: "body",
|
|
8568
|
-
fontWeight: "bold",
|
|
8569
|
-
textTransform: "uppercase",
|
|
8570
|
-
italic: false,
|
|
8571
|
-
colorToken: "primaryForeground",
|
|
8572
|
-
hoverColorToken: "secondary",
|
|
8573
|
-
textSize: "sm",
|
|
8574
|
-
letterSpacing: "wider",
|
|
8575
|
-
padding: "compact",
|
|
8576
|
-
paddingX: "compact",
|
|
8577
|
-
borderRadius: "none",
|
|
8578
|
-
effects: { hover: [{
|
|
8579
|
-
effectId: "text-color-change",
|
|
8580
|
-
options: { hoverColorToken: "secondary" }
|
|
8581
|
-
}, {
|
|
8582
|
-
effectId: "nav-underline",
|
|
8583
|
-
options: {
|
|
8584
|
-
style: "grow",
|
|
8585
|
-
colorToken: "secondary"
|
|
8586
|
-
}
|
|
8587
|
-
}] }
|
|
8588
|
-
},
|
|
8589
|
-
dropdownStyle: {
|
|
8590
|
-
background: "primary-700",
|
|
8591
|
-
textColor: "primaryForeground",
|
|
8592
|
-
borderColor: null,
|
|
8593
|
-
shadow: "md",
|
|
8594
|
-
borderRadius: "md",
|
|
8595
|
-
hoverBackground: "primary-900",
|
|
8596
|
-
hoverTextColor: "secondary",
|
|
8597
|
-
textTransform: "uppercase",
|
|
8598
|
-
letterSpacing: "wider",
|
|
8599
|
-
fontWeight: "bold",
|
|
8600
|
-
textSize: "sm"
|
|
8601
|
-
},
|
|
8602
|
-
border: {
|
|
8603
|
-
style: "solid",
|
|
8604
|
-
width: "none",
|
|
8605
|
-
position: "none"
|
|
8606
|
-
},
|
|
8607
|
-
logoText: {
|
|
8608
|
-
hideOnShrink: true,
|
|
8609
|
-
mobileMaxWidth: "sm",
|
|
8610
|
-
mobileWrapLines: 2
|
|
8611
|
-
},
|
|
8612
|
-
ctaGap: "compact",
|
|
8613
|
-
ctaTreatment: "inverted",
|
|
8614
|
-
...ctaVariant ? { ctaVariant } : {}
|
|
8615
|
-
};
|
|
8616
|
-
}
|
|
8617
|
-
function cleanBaseHeader(theme) {
|
|
8618
|
-
return {
|
|
8619
|
-
...baseHeader(theme),
|
|
8620
|
-
variant: "classic",
|
|
8621
|
-
positioning: "sticky",
|
|
8622
|
-
shrinkOnScroll: false,
|
|
8623
|
-
background: {
|
|
8624
|
-
type: "color",
|
|
8625
|
-
color: "surface"
|
|
8626
|
-
},
|
|
8627
|
-
textColor: "text",
|
|
8628
|
-
navColor: "text",
|
|
8629
|
-
navStyle: "minimal",
|
|
8630
|
-
navWeight: "medium",
|
|
8631
|
-
border: {
|
|
8632
|
-
style: "solid",
|
|
8633
|
-
width: "thin",
|
|
8634
|
-
position: "bottom",
|
|
8635
|
-
colorToken: "border"
|
|
8636
|
-
},
|
|
8637
|
-
ctaTreatment: "default",
|
|
8638
|
-
ctaGap: "default"
|
|
8639
|
-
};
|
|
8640
|
-
}
|
|
8641
|
-
function classicCenteredNavHeader(theme) {
|
|
8642
|
-
return {
|
|
8643
|
-
...baseHeader(theme),
|
|
8644
|
-
variant: "classic",
|
|
8645
|
-
navPlacement: "center",
|
|
8646
|
-
positioning: "sticky",
|
|
8647
|
-
shrinkOnScroll: false,
|
|
8648
|
-
background: {
|
|
8649
|
-
type: "color",
|
|
8650
|
-
color: "surface"
|
|
8651
|
-
},
|
|
8652
|
-
textColor: "text",
|
|
8653
|
-
navColor: "text",
|
|
8654
|
-
navStyle: "underline-grow",
|
|
8655
|
-
navWeight: "medium",
|
|
8656
|
-
navLinkStyle: underlineNavLinkStyle("text", "accent"),
|
|
8657
|
-
border: {
|
|
8658
|
-
style: "solid",
|
|
8659
|
-
width: "thin",
|
|
8660
|
-
position: "bottom",
|
|
8661
|
-
colorToken: "border"
|
|
8662
|
-
},
|
|
8663
|
-
ctaTreatment: "primary",
|
|
8664
|
-
ctaVariant: resolveHeaderCtaVariant(theme, "primary"),
|
|
8665
|
-
ctaGap: "default",
|
|
8666
|
-
logoText: {
|
|
8667
|
-
mobileMaxWidth: "sm",
|
|
8668
|
-
mobileWrapLines: 1,
|
|
8669
|
-
hideOnShrink: false
|
|
8670
|
-
}
|
|
8671
|
-
};
|
|
8672
|
-
}
|
|
8673
|
-
function serifLineHeader(theme) {
|
|
8674
|
-
return {
|
|
8675
|
-
...baseHeader(theme),
|
|
8676
|
-
variant: "centered",
|
|
8677
|
-
positioning: "sticky",
|
|
8678
|
-
shrinkOnScroll: false,
|
|
8679
|
-
background: {
|
|
8680
|
-
type: "color",
|
|
8681
|
-
color: "background"
|
|
8682
|
-
},
|
|
8683
|
-
textColor: "text",
|
|
8684
|
-
navColor: "text",
|
|
8685
|
-
navStyle: "underline-grow",
|
|
8686
|
-
navWeight: "medium",
|
|
8687
|
-
logo: {
|
|
8688
|
-
fontFamily: "heading",
|
|
8689
|
-
letterSpacing: "wide",
|
|
8690
|
-
gradient: false
|
|
8691
|
-
},
|
|
8692
|
-
border: {
|
|
8693
|
-
style: "solid",
|
|
8694
|
-
width: "none",
|
|
8695
|
-
position: "none"
|
|
8696
|
-
},
|
|
8697
|
-
shadow: { elevation: "none" },
|
|
8698
|
-
ctaTreatment: "outline",
|
|
8699
|
-
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
8700
|
-
ctaGap: "relaxed"
|
|
8701
|
-
};
|
|
8702
|
-
}
|
|
8703
|
-
function centeredCalmHeader(theme) {
|
|
8704
|
-
return {
|
|
8705
|
-
...baseHeader(theme),
|
|
8706
|
-
variant: "centered",
|
|
8707
|
-
positioning: "static",
|
|
8708
|
-
shrinkOnScroll: false,
|
|
8709
|
-
background: {
|
|
8710
|
-
type: "color",
|
|
8711
|
-
color: "surface"
|
|
8712
|
-
},
|
|
8713
|
-
textColor: "text",
|
|
8714
|
-
navColor: "text",
|
|
8715
|
-
navStyle: "minimal",
|
|
8716
|
-
navWeight: "medium",
|
|
8717
|
-
ctaTreatment: "ghost",
|
|
8718
|
-
ctaVariant: resolveHeaderCtaVariant(theme, "ghost"),
|
|
8719
|
-
ctaGap: "none"
|
|
8720
|
-
};
|
|
8721
|
-
}
|
|
8722
|
-
function practicalUtilityHeader(theme) {
|
|
8723
|
-
return {
|
|
8724
|
-
...baseHeader(theme),
|
|
8725
|
-
variant: "classic",
|
|
8726
|
-
positioning: "sticky",
|
|
8727
|
-
shrinkOnScroll: true,
|
|
8728
|
-
background: {
|
|
8729
|
-
type: "color",
|
|
8730
|
-
color: "surface"
|
|
8731
|
-
},
|
|
8732
|
-
textColor: "text",
|
|
8733
|
-
navColor: "text",
|
|
8734
|
-
navStyle: "solid",
|
|
8735
|
-
navWeight: "semibold",
|
|
8736
|
-
shadow: themedHeaderShadow(theme),
|
|
8737
|
-
border: {
|
|
8738
|
-
style: "solid",
|
|
8739
|
-
width: "thin",
|
|
8740
|
-
position: "bottom",
|
|
8741
|
-
colorToken: "border"
|
|
8742
|
-
},
|
|
8743
|
-
ctaTreatment: "primary",
|
|
8744
|
-
ctaVariant: resolveHeaderCtaVariant(theme, "primary"),
|
|
8745
|
-
ctaGap: "compact",
|
|
8746
|
-
logoText: {
|
|
8747
|
-
mobileMaxWidth: "sm",
|
|
8748
|
-
mobileWrapLines: 1,
|
|
8749
|
-
hideOnShrink: false
|
|
8750
|
-
}
|
|
8751
|
-
};
|
|
8752
|
-
}
|
|
8753
|
-
function minimalTransparentHeader(theme) {
|
|
8754
|
-
return {
|
|
8755
|
-
...baseHeader(theme),
|
|
8756
|
-
variant: "classic",
|
|
8757
|
-
positioning: "static",
|
|
8758
|
-
shrinkOnScroll: false,
|
|
8759
|
-
background: {
|
|
8760
|
-
type: "color",
|
|
8761
|
-
color: "transparent"
|
|
8762
|
-
},
|
|
8763
|
-
textColor: "text",
|
|
8764
|
-
navColor: "text",
|
|
8765
|
-
navStyle: "underline",
|
|
8766
|
-
navWeight: "medium",
|
|
8767
|
-
border: {
|
|
8768
|
-
style: "solid",
|
|
8769
|
-
width: "none",
|
|
8770
|
-
position: "none"
|
|
8771
|
-
},
|
|
8772
|
-
ctaTreatment: "outline",
|
|
8773
|
-
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
8774
|
-
ctaGap: "default"
|
|
8775
|
-
};
|
|
8776
|
-
}
|
|
8777
|
-
function transparentOverlayHeader(theme) {
|
|
8778
|
-
return {
|
|
8779
|
-
...baseHeader(theme),
|
|
8780
|
-
variant: "transparent",
|
|
8781
|
-
positioning: "fixed",
|
|
8782
|
-
shrinkOnScroll: true,
|
|
8783
|
-
background: {
|
|
8784
|
-
type: "color",
|
|
8785
|
-
color: "transparent"
|
|
8786
|
-
},
|
|
8787
|
-
textColor: "background",
|
|
8788
|
-
navColor: "background",
|
|
8789
|
-
navStyle: "frosted",
|
|
8790
|
-
navWeight: "semibold",
|
|
8791
|
-
border: {
|
|
8792
|
-
style: "solid",
|
|
8793
|
-
width: "none",
|
|
8794
|
-
position: "none"
|
|
8795
|
-
},
|
|
8796
|
-
ctaTreatment: "inverted",
|
|
8797
|
-
ctaVariant: resolveHeaderCtaVariant(theme, "inverted"),
|
|
8798
|
-
ctaGap: "compact"
|
|
8799
|
-
};
|
|
8800
|
-
}
|
|
8801
|
-
function floatingGlassHeader(theme) {
|
|
8802
|
-
return {
|
|
8803
|
-
...transparentOverlayHeader(theme),
|
|
8804
|
-
variant: "floating",
|
|
8805
|
-
positioning: "sticky",
|
|
8806
|
-
navStyle: "frosted",
|
|
8807
|
-
navContainer: {
|
|
8808
|
-
type: "glass",
|
|
8809
|
-
tint: "text",
|
|
8810
|
-
opacity: .16
|
|
8811
|
-
},
|
|
8812
|
-
container: {
|
|
8813
|
-
rounded: "2xl",
|
|
8814
|
-
border: true,
|
|
8815
|
-
shadow: true,
|
|
8816
|
-
padding: "sm",
|
|
8817
|
-
tint: "background",
|
|
8818
|
-
opacity: .12
|
|
8819
|
-
}
|
|
8820
|
-
};
|
|
8821
|
-
}
|
|
8822
|
-
var titleOnlyLogoAccommodation, inlineWordmarkLogoAccommodation, inlineMarkWithTitleLogoAccommodation, logoPlateAccommodation, centeredBadgeAccommodation, popoutBadgeAccommodation, centeredMastheadAccommodation, unbackedOverlayLogoAccommodation, inlineClassicLogoAccommodations, centeredLogoAccommodations, overlayLogoAccommodations, headerLayoutCatalog, headerStyleCatalog, headerStylesById, headerStyleCompatibilityOrder, legacyHeaderLookAliases, legacyHeaderLookAliasesById, headerLookCatalog;
|
|
8823
|
-
var init_headerLooks = __esmMin((() => {
|
|
8824
|
-
init_headerCtaVariants();
|
|
8825
|
-
init_headerStyleParts();
|
|
8826
|
-
init_headerInteractionPalette();
|
|
8827
|
-
init_headerOpeningForeground();
|
|
8828
|
-
init_customizableSurfaces();
|
|
8423
|
+
var titleOnlyLogoAccommodation, inlineWordmarkLogoAccommodation, inlineMarkWithTitleLogoAccommodation, logoPlateAccommodation, centeredBadgeAccommodation, popoutBadgeAccommodation, centeredMastheadAccommodation, unbackedOverlayLogoAccommodation, inlineClassicLogoAccommodations, centeredLogoAccommodations, overlayLogoAccommodations;
|
|
8424
|
+
var init_headerLookBranding = __esmMin((() => {
|
|
8829
8425
|
init_logoBranding();
|
|
8830
8426
|
init_types$14();
|
|
8831
8427
|
titleOnlyLogoAccommodation = {
|
|
@@ -8946,6 +8542,72 @@ var init_headerLooks = __esmMin((() => {
|
|
|
8946
8542
|
inlineMarkWithTitleLogoAccommodation,
|
|
8947
8543
|
unbackedOverlayLogoAccommodation
|
|
8948
8544
|
];
|
|
8545
|
+
}));
|
|
8546
|
+
var headerInteractionPaletteValues, headerInteractionPaletteSchema;
|
|
8547
|
+
var init_interactionPalette = __esmMin((() => {
|
|
8548
|
+
headerInteractionPaletteValues = [
|
|
8549
|
+
"primary",
|
|
8550
|
+
"secondary",
|
|
8551
|
+
"accent"
|
|
8552
|
+
];
|
|
8553
|
+
headerInteractionPaletteSchema = z$1.enum(headerInteractionPaletteValues);
|
|
8554
|
+
}));
|
|
8555
|
+
var clearSplitInteractionPalette;
|
|
8556
|
+
var init_headerInteractionPalette = __esmMin((() => {
|
|
8557
|
+
init_interactionPalette();
|
|
8558
|
+
init_lookOptionGroups();
|
|
8559
|
+
clearSplitInteractionPalette = defineLookOptionGroup({
|
|
8560
|
+
id: "interaction-palette",
|
|
8561
|
+
label: "Hover colour",
|
|
8562
|
+
defaultOptionId: "accent",
|
|
8563
|
+
options: [
|
|
8564
|
+
{
|
|
8565
|
+
id: "accent",
|
|
8566
|
+
label: "Accent"
|
|
8567
|
+
},
|
|
8568
|
+
{
|
|
8569
|
+
id: "primary",
|
|
8570
|
+
label: "Primary"
|
|
8571
|
+
},
|
|
8572
|
+
{
|
|
8573
|
+
id: "secondary",
|
|
8574
|
+
label: "Secondary"
|
|
8575
|
+
}
|
|
8576
|
+
]
|
|
8577
|
+
});
|
|
8578
|
+
}));
|
|
8579
|
+
//#endregion
|
|
8580
|
+
//#region ../theme-core/src/site-styles/headerLayoutStyleCatalog.ts
|
|
8581
|
+
function supportedLayouts(ids) {
|
|
8582
|
+
return ids.map(asHeaderLayoutId);
|
|
8583
|
+
}
|
|
8584
|
+
function headerStyleRepairChain(values) {
|
|
8585
|
+
return values.map(asHeaderStyleId);
|
|
8586
|
+
}
|
|
8587
|
+
function getHeaderStyle(id) {
|
|
8588
|
+
return headerStylesById.get(id) ?? null;
|
|
8589
|
+
}
|
|
8590
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
8591
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
8592
|
+
}
|
|
8593
|
+
function getHeaderStyleOrThrow(id) {
|
|
8594
|
+
const style = getHeaderStyle(id);
|
|
8595
|
+
if (!style) throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
8596
|
+
return style;
|
|
8597
|
+
}
|
|
8598
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
8599
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
8600
|
+
}
|
|
8601
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
8602
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter((styleId) => {
|
|
8603
|
+
return isHeaderStyleCompatibleWithLayout(getHeaderStyleOrThrow(styleId), layoutId);
|
|
8604
|
+
});
|
|
8605
|
+
}
|
|
8606
|
+
var headerLayoutCatalog, headerStyleCatalog, headerStylesById, headerStyleCompatibilityOrder, legacyHeaderLookAliases, legacyHeaderLookAliasesById;
|
|
8607
|
+
var init_headerLayoutStyleCatalog = __esmMin((() => {
|
|
8608
|
+
init_types$14();
|
|
8609
|
+
init_headerInteractionPalette();
|
|
8610
|
+
init_headerLookTypes();
|
|
8949
8611
|
headerLayoutCatalog = defineExactCatalog()([
|
|
8950
8612
|
{
|
|
8951
8613
|
id: asHeaderLayoutId("classic"),
|
|
@@ -9325,6 +8987,373 @@ var init_headerLooks = __esmMin((() => {
|
|
|
9325
8987
|
}
|
|
9326
8988
|
]);
|
|
9327
8989
|
legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
8990
|
+
}));
|
|
8991
|
+
var init_headerOpeningForeground = __esmMin((() => {
|
|
8992
|
+
init_expandPalette();
|
|
8993
|
+
init_colorConversion();
|
|
8994
|
+
init_tokens();
|
|
8995
|
+
init_colorTokenParts();
|
|
8996
|
+
init_types$14();
|
|
8997
|
+
}));
|
|
8998
|
+
//#endregion
|
|
8999
|
+
//#region ../theme-core/src/site-styles/headerStyleCompilerPrimitives.ts
|
|
9000
|
+
function baseHeader(theme) {
|
|
9001
|
+
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;
|
|
9002
|
+
return {
|
|
9003
|
+
...header,
|
|
9004
|
+
navContainer: {
|
|
9005
|
+
type: "none",
|
|
9006
|
+
tint: null,
|
|
9007
|
+
opacity: .15
|
|
9008
|
+
}
|
|
9009
|
+
};
|
|
9010
|
+
}
|
|
9011
|
+
function applyNavTypography(style, typography) {
|
|
9012
|
+
switch (typography) {
|
|
9013
|
+
case "plain": return style;
|
|
9014
|
+
case "heading": return {
|
|
9015
|
+
...style,
|
|
9016
|
+
typography: "heading",
|
|
9017
|
+
fontWeight: "medium",
|
|
9018
|
+
letterSpacing: "wide"
|
|
9019
|
+
};
|
|
9020
|
+
case "quiet-caps": return {
|
|
9021
|
+
...style,
|
|
9022
|
+
textTransform: "uppercase",
|
|
9023
|
+
textSize: "sm",
|
|
9024
|
+
letterSpacing: "wide"
|
|
9025
|
+
};
|
|
9026
|
+
case "brand-caps": return {
|
|
9027
|
+
...style,
|
|
9028
|
+
textTransform: "uppercase",
|
|
9029
|
+
textSize: "sm",
|
|
9030
|
+
letterSpacing: "wider"
|
|
9031
|
+
};
|
|
9032
|
+
default: return assertNever$12(typography, "Unhandled header nav typography");
|
|
9033
|
+
}
|
|
9034
|
+
}
|
|
9035
|
+
function underlineNavLinkStyle(colorToken, underlineColorToken, typography = "plain") {
|
|
9036
|
+
return applyNavTypography({
|
|
9037
|
+
name: "Underline grow",
|
|
9038
|
+
typography: "body",
|
|
9039
|
+
fontWeight: "medium",
|
|
9040
|
+
textTransform: "none",
|
|
9041
|
+
italic: false,
|
|
9042
|
+
colorToken,
|
|
9043
|
+
padding: "compact",
|
|
9044
|
+
paddingX: "compact",
|
|
9045
|
+
borderRadius: "none",
|
|
9046
|
+
effects: { hover: [{
|
|
9047
|
+
effectId: "nav-underline",
|
|
9048
|
+
options: {
|
|
9049
|
+
style: "grow",
|
|
9050
|
+
...underlineColorToken ? { colorToken: underlineColorToken } : {}
|
|
9051
|
+
}
|
|
9052
|
+
}] }
|
|
9053
|
+
}, typography);
|
|
9054
|
+
}
|
|
9055
|
+
function themedHeaderShadow(theme) {
|
|
9056
|
+
switch (theme.shadow.elevation) {
|
|
9057
|
+
case "none": return;
|
|
9058
|
+
case "low": return { elevation: "sm" };
|
|
9059
|
+
case "medium": return { elevation: "md" };
|
|
9060
|
+
case "high": return { elevation: "lg" };
|
|
9061
|
+
default: return assertNever$12(theme.shadow.elevation, "Unhandled theme shadow elevation");
|
|
9062
|
+
}
|
|
9063
|
+
}
|
|
9064
|
+
var init_headerStyleCompilerPrimitives = __esmMin((() => {
|
|
9065
|
+
init_headerCtaVariants();
|
|
9066
|
+
init_headerLookTypes();
|
|
9067
|
+
init_types$14();
|
|
9068
|
+
}));
|
|
9069
|
+
var init_headerStyleCompiler = __esmMin((() => {
|
|
9070
|
+
init_headerCtaVariants();
|
|
9071
|
+
init_headerInteractionPalette();
|
|
9072
|
+
init_headerOpeningForeground();
|
|
9073
|
+
init_headerLayoutStyleCatalog();
|
|
9074
|
+
init_headerStyleCompilerPrimitives();
|
|
9075
|
+
init_types$14();
|
|
9076
|
+
}));
|
|
9077
|
+
//#endregion
|
|
9078
|
+
//#region ../theme-core/src/site-styles/headerLegacyLooks.ts
|
|
9079
|
+
function solidBrandHeader(theme) {
|
|
9080
|
+
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
9081
|
+
return {
|
|
9082
|
+
...baseHeader(theme),
|
|
9083
|
+
variant: "classic",
|
|
9084
|
+
positioning: "sticky",
|
|
9085
|
+
shrinkOnScroll: true,
|
|
9086
|
+
background: {
|
|
9087
|
+
type: "color",
|
|
9088
|
+
color: "primary"
|
|
9089
|
+
},
|
|
9090
|
+
textColor: "primaryForeground",
|
|
9091
|
+
navColor: "primaryForeground",
|
|
9092
|
+
navStyle: "underline-grow",
|
|
9093
|
+
navWeight: "bold",
|
|
9094
|
+
navLinkStyle: {
|
|
9095
|
+
typography: "body",
|
|
9096
|
+
fontWeight: "bold",
|
|
9097
|
+
textTransform: "uppercase",
|
|
9098
|
+
italic: false,
|
|
9099
|
+
colorToken: "primaryForeground",
|
|
9100
|
+
hoverColorToken: "secondary",
|
|
9101
|
+
textSize: "sm",
|
|
9102
|
+
letterSpacing: "wider",
|
|
9103
|
+
padding: "compact",
|
|
9104
|
+
paddingX: "compact",
|
|
9105
|
+
borderRadius: "none",
|
|
9106
|
+
effects: { hover: [{
|
|
9107
|
+
effectId: "text-color-change",
|
|
9108
|
+
options: { hoverColorToken: "secondary" }
|
|
9109
|
+
}, {
|
|
9110
|
+
effectId: "nav-underline",
|
|
9111
|
+
options: {
|
|
9112
|
+
style: "grow",
|
|
9113
|
+
colorToken: "secondary"
|
|
9114
|
+
}
|
|
9115
|
+
}] }
|
|
9116
|
+
},
|
|
9117
|
+
dropdownStyle: {
|
|
9118
|
+
background: "primary-700",
|
|
9119
|
+
textColor: "primaryForeground",
|
|
9120
|
+
borderColor: null,
|
|
9121
|
+
shadow: "md",
|
|
9122
|
+
borderRadius: "md",
|
|
9123
|
+
hoverBackground: "primary-900",
|
|
9124
|
+
hoverTextColor: "secondary",
|
|
9125
|
+
textTransform: "uppercase",
|
|
9126
|
+
letterSpacing: "wider",
|
|
9127
|
+
fontWeight: "bold",
|
|
9128
|
+
textSize: "sm"
|
|
9129
|
+
},
|
|
9130
|
+
border: {
|
|
9131
|
+
style: "solid",
|
|
9132
|
+
width: "none",
|
|
9133
|
+
position: "none"
|
|
9134
|
+
},
|
|
9135
|
+
logoText: {
|
|
9136
|
+
hideOnShrink: true,
|
|
9137
|
+
mobileMaxWidth: "sm",
|
|
9138
|
+
mobileWrapLines: 2
|
|
9139
|
+
},
|
|
9140
|
+
ctaGap: "compact",
|
|
9141
|
+
ctaTreatment: "inverted",
|
|
9142
|
+
...ctaVariant ? { ctaVariant } : {}
|
|
9143
|
+
};
|
|
9144
|
+
}
|
|
9145
|
+
function cleanBaseHeader(theme) {
|
|
9146
|
+
return {
|
|
9147
|
+
...baseHeader(theme),
|
|
9148
|
+
variant: "classic",
|
|
9149
|
+
positioning: "sticky",
|
|
9150
|
+
shrinkOnScroll: false,
|
|
9151
|
+
background: {
|
|
9152
|
+
type: "color",
|
|
9153
|
+
color: "surface"
|
|
9154
|
+
},
|
|
9155
|
+
textColor: "text",
|
|
9156
|
+
navColor: "text",
|
|
9157
|
+
navStyle: "minimal",
|
|
9158
|
+
navWeight: "medium",
|
|
9159
|
+
border: {
|
|
9160
|
+
style: "solid",
|
|
9161
|
+
width: "thin",
|
|
9162
|
+
position: "bottom",
|
|
9163
|
+
colorToken: "border"
|
|
9164
|
+
},
|
|
9165
|
+
ctaTreatment: "default",
|
|
9166
|
+
ctaGap: "default"
|
|
9167
|
+
};
|
|
9168
|
+
}
|
|
9169
|
+
function classicCenteredNavHeader(theme) {
|
|
9170
|
+
return {
|
|
9171
|
+
...baseHeader(theme),
|
|
9172
|
+
variant: "classic",
|
|
9173
|
+
navPlacement: "center",
|
|
9174
|
+
positioning: "sticky",
|
|
9175
|
+
shrinkOnScroll: false,
|
|
9176
|
+
background: {
|
|
9177
|
+
type: "color",
|
|
9178
|
+
color: "surface"
|
|
9179
|
+
},
|
|
9180
|
+
textColor: "text",
|
|
9181
|
+
navColor: "text",
|
|
9182
|
+
navStyle: "underline-grow",
|
|
9183
|
+
navWeight: "medium",
|
|
9184
|
+
navLinkStyle: underlineNavLinkStyle("text", "accent"),
|
|
9185
|
+
border: {
|
|
9186
|
+
style: "solid",
|
|
9187
|
+
width: "thin",
|
|
9188
|
+
position: "bottom",
|
|
9189
|
+
colorToken: "border"
|
|
9190
|
+
},
|
|
9191
|
+
ctaTreatment: "primary",
|
|
9192
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "primary"),
|
|
9193
|
+
ctaGap: "default",
|
|
9194
|
+
logoText: {
|
|
9195
|
+
mobileMaxWidth: "sm",
|
|
9196
|
+
mobileWrapLines: 1,
|
|
9197
|
+
hideOnShrink: false
|
|
9198
|
+
}
|
|
9199
|
+
};
|
|
9200
|
+
}
|
|
9201
|
+
function serifLineHeader(theme) {
|
|
9202
|
+
return {
|
|
9203
|
+
...baseHeader(theme),
|
|
9204
|
+
variant: "centered",
|
|
9205
|
+
positioning: "sticky",
|
|
9206
|
+
shrinkOnScroll: false,
|
|
9207
|
+
background: {
|
|
9208
|
+
type: "color",
|
|
9209
|
+
color: "background"
|
|
9210
|
+
},
|
|
9211
|
+
textColor: "text",
|
|
9212
|
+
navColor: "text",
|
|
9213
|
+
navStyle: "underline-grow",
|
|
9214
|
+
navWeight: "medium",
|
|
9215
|
+
logo: {
|
|
9216
|
+
fontFamily: "heading",
|
|
9217
|
+
letterSpacing: "wide",
|
|
9218
|
+
gradient: false
|
|
9219
|
+
},
|
|
9220
|
+
border: {
|
|
9221
|
+
style: "solid",
|
|
9222
|
+
width: "none",
|
|
9223
|
+
position: "none"
|
|
9224
|
+
},
|
|
9225
|
+
shadow: { elevation: "none" },
|
|
9226
|
+
ctaTreatment: "outline",
|
|
9227
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
9228
|
+
ctaGap: "relaxed"
|
|
9229
|
+
};
|
|
9230
|
+
}
|
|
9231
|
+
function centeredCalmHeader(theme) {
|
|
9232
|
+
return {
|
|
9233
|
+
...baseHeader(theme),
|
|
9234
|
+
variant: "centered",
|
|
9235
|
+
positioning: "static",
|
|
9236
|
+
shrinkOnScroll: false,
|
|
9237
|
+
background: {
|
|
9238
|
+
type: "color",
|
|
9239
|
+
color: "surface"
|
|
9240
|
+
},
|
|
9241
|
+
textColor: "text",
|
|
9242
|
+
navColor: "text",
|
|
9243
|
+
navStyle: "minimal",
|
|
9244
|
+
navWeight: "medium",
|
|
9245
|
+
ctaTreatment: "ghost",
|
|
9246
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "ghost"),
|
|
9247
|
+
ctaGap: "none"
|
|
9248
|
+
};
|
|
9249
|
+
}
|
|
9250
|
+
function practicalUtilityHeader(theme) {
|
|
9251
|
+
return {
|
|
9252
|
+
...baseHeader(theme),
|
|
9253
|
+
variant: "classic",
|
|
9254
|
+
positioning: "sticky",
|
|
9255
|
+
shrinkOnScroll: true,
|
|
9256
|
+
background: {
|
|
9257
|
+
type: "color",
|
|
9258
|
+
color: "surface"
|
|
9259
|
+
},
|
|
9260
|
+
textColor: "text",
|
|
9261
|
+
navColor: "text",
|
|
9262
|
+
navStyle: "solid",
|
|
9263
|
+
navWeight: "semibold",
|
|
9264
|
+
shadow: themedHeaderShadow(theme),
|
|
9265
|
+
border: {
|
|
9266
|
+
style: "solid",
|
|
9267
|
+
width: "thin",
|
|
9268
|
+
position: "bottom",
|
|
9269
|
+
colorToken: "border"
|
|
9270
|
+
},
|
|
9271
|
+
ctaTreatment: "primary",
|
|
9272
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "primary"),
|
|
9273
|
+
ctaGap: "compact",
|
|
9274
|
+
logoText: {
|
|
9275
|
+
mobileMaxWidth: "sm",
|
|
9276
|
+
mobileWrapLines: 1,
|
|
9277
|
+
hideOnShrink: false
|
|
9278
|
+
}
|
|
9279
|
+
};
|
|
9280
|
+
}
|
|
9281
|
+
function minimalTransparentHeader(theme) {
|
|
9282
|
+
return {
|
|
9283
|
+
...baseHeader(theme),
|
|
9284
|
+
variant: "classic",
|
|
9285
|
+
positioning: "static",
|
|
9286
|
+
shrinkOnScroll: false,
|
|
9287
|
+
background: {
|
|
9288
|
+
type: "color",
|
|
9289
|
+
color: "transparent"
|
|
9290
|
+
},
|
|
9291
|
+
textColor: "text",
|
|
9292
|
+
navColor: "text",
|
|
9293
|
+
navStyle: "underline",
|
|
9294
|
+
navWeight: "medium",
|
|
9295
|
+
border: {
|
|
9296
|
+
style: "solid",
|
|
9297
|
+
width: "none",
|
|
9298
|
+
position: "none"
|
|
9299
|
+
},
|
|
9300
|
+
ctaTreatment: "outline",
|
|
9301
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
9302
|
+
ctaGap: "default"
|
|
9303
|
+
};
|
|
9304
|
+
}
|
|
9305
|
+
function transparentOverlayHeader(theme) {
|
|
9306
|
+
return {
|
|
9307
|
+
...baseHeader(theme),
|
|
9308
|
+
variant: "transparent",
|
|
9309
|
+
positioning: "fixed",
|
|
9310
|
+
shrinkOnScroll: true,
|
|
9311
|
+
background: {
|
|
9312
|
+
type: "color",
|
|
9313
|
+
color: "transparent"
|
|
9314
|
+
},
|
|
9315
|
+
textColor: "background",
|
|
9316
|
+
navColor: "background",
|
|
9317
|
+
navStyle: "frosted",
|
|
9318
|
+
navWeight: "semibold",
|
|
9319
|
+
border: {
|
|
9320
|
+
style: "solid",
|
|
9321
|
+
width: "none",
|
|
9322
|
+
position: "none"
|
|
9323
|
+
},
|
|
9324
|
+
ctaTreatment: "inverted",
|
|
9325
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "inverted"),
|
|
9326
|
+
ctaGap: "compact"
|
|
9327
|
+
};
|
|
9328
|
+
}
|
|
9329
|
+
function floatingGlassHeader(theme) {
|
|
9330
|
+
return {
|
|
9331
|
+
...transparentOverlayHeader(theme),
|
|
9332
|
+
variant: "floating",
|
|
9333
|
+
positioning: "sticky",
|
|
9334
|
+
navStyle: "frosted",
|
|
9335
|
+
navContainer: {
|
|
9336
|
+
type: "glass",
|
|
9337
|
+
tint: "text",
|
|
9338
|
+
opacity: .16
|
|
9339
|
+
},
|
|
9340
|
+
container: {
|
|
9341
|
+
rounded: "2xl",
|
|
9342
|
+
border: true,
|
|
9343
|
+
shadow: true,
|
|
9344
|
+
padding: "sm",
|
|
9345
|
+
tint: "background",
|
|
9346
|
+
opacity: .12
|
|
9347
|
+
}
|
|
9348
|
+
};
|
|
9349
|
+
}
|
|
9350
|
+
var headerLookCatalog;
|
|
9351
|
+
var init_headerLegacyLooks = __esmMin((() => {
|
|
9352
|
+
init_headerCtaVariants();
|
|
9353
|
+
init_headerLookBranding();
|
|
9354
|
+
init_headerLookTypes();
|
|
9355
|
+
init_headerStyleCompilerPrimitives();
|
|
9356
|
+
init_types$14();
|
|
9328
9357
|
headerLookCatalog = defineExactCatalog()([
|
|
9329
9358
|
{
|
|
9330
9359
|
id: asHeaderLookId("clean-base"),
|
|
@@ -9398,6 +9427,22 @@ var init_headerLooks = __esmMin((() => {
|
|
|
9398
9427
|
]);
|
|
9399
9428
|
new Map(headerLookCatalog.map((look) => [look.id, look]));
|
|
9400
9429
|
}));
|
|
9430
|
+
var init_headerLookSelection = __esmMin((() => {
|
|
9431
|
+
init_customizableSurfaces();
|
|
9432
|
+
init_headerLookBranding();
|
|
9433
|
+
init_headerLookTypes();
|
|
9434
|
+
init_headerLegacyLooks();
|
|
9435
|
+
}));
|
|
9436
|
+
//#endregion
|
|
9437
|
+
//#region ../theme-core/src/site-styles/headerLooks.ts
|
|
9438
|
+
var init_headerLooks = __esmMin((() => {
|
|
9439
|
+
init_headerLookTypes();
|
|
9440
|
+
init_headerLookBranding();
|
|
9441
|
+
init_headerLayoutStyleCatalog();
|
|
9442
|
+
init_headerStyleCompiler();
|
|
9443
|
+
init_headerLegacyLooks();
|
|
9444
|
+
init_headerLookSelection();
|
|
9445
|
+
}));
|
|
9401
9446
|
var init_compilationPlan = __esmMin((() => {
|
|
9402
9447
|
init_headerLooks();
|
|
9403
9448
|
}));
|
|
@@ -15447,6 +15492,7 @@ var init_buttons = __esmMin((() => {
|
|
|
15447
15492
|
init_constants$2();
|
|
15448
15493
|
init_presets$1();
|
|
15449
15494
|
init_styles();
|
|
15495
|
+
init_styles();
|
|
15450
15496
|
}));
|
|
15451
15497
|
//#endregion
|
|
15452
15498
|
//#region ../theme-core/src/cards/types.ts
|
|
@@ -132101,6 +132147,216 @@ init_node();
|
|
|
132101
132147
|
init_fragments();
|
|
132102
132148
|
init_defineBlock();
|
|
132103
132149
|
//#endregion
|
|
132150
|
+
//#region ../blocks/src/system/manifest/hydrateLinks.ts
|
|
132151
|
+
init_typeGuards();
|
|
132152
|
+
/**
|
|
132153
|
+
* Hydrates link objects within block content using the provided route map. Returns
|
|
132154
|
+
* the original content reference when no mutations are required to avoid unnecessary renders.
|
|
132155
|
+
*/
|
|
132156
|
+
function hydrateManifestLinks(manifest, content, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
132157
|
+
if (!routes || !manifest?.fields?.length) return content;
|
|
132158
|
+
return hydrateValue(content, {
|
|
132159
|
+
routes,
|
|
132160
|
+
pagesByIdentifier,
|
|
132161
|
+
entriesByIdentifier
|
|
132162
|
+
});
|
|
132163
|
+
}
|
|
132164
|
+
function hydrateValue(value, context) {
|
|
132165
|
+
try {
|
|
132166
|
+
if (Array.isArray(value)) {
|
|
132167
|
+
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
132168
|
+
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
132169
|
+
}
|
|
132170
|
+
if (isRecord$32(value)) {
|
|
132171
|
+
if (isInternalLink$1(value)) return hydrateInternalLink(value, context.routes);
|
|
132172
|
+
if (isPageLink$1(value)) return hydratePageLink(value, context);
|
|
132173
|
+
if (isEntryLink$1(value)) return hydrateEntryLink(value, context);
|
|
132174
|
+
const resolvedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateValue(entry, context)]);
|
|
132175
|
+
return resolvedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(resolvedEntries);
|
|
132176
|
+
}
|
|
132177
|
+
return value;
|
|
132178
|
+
} catch (err) {
|
|
132179
|
+
console.error("[hydrateLinks] Error hydrating value:", err, value);
|
|
132180
|
+
return value;
|
|
132181
|
+
}
|
|
132182
|
+
}
|
|
132183
|
+
function hydrateInternalLink(link, routes) {
|
|
132184
|
+
const resolved = resolveRouteTarget(link.routeId, routes);
|
|
132185
|
+
if (!resolved) return link;
|
|
132186
|
+
const nextHref = resolved.href;
|
|
132187
|
+
const currentHref = typeof link.href === "string" && link.href.length > 0 ? link.href : null;
|
|
132188
|
+
const nextUpdatedAt = resolved.updatedAt;
|
|
132189
|
+
const updates = {};
|
|
132190
|
+
if (nextHref && nextHref !== currentHref) updates.href = nextHref;
|
|
132191
|
+
if (nextUpdatedAt && link.updatedAt !== nextUpdatedAt) updates.updatedAt = nextUpdatedAt;
|
|
132192
|
+
return Object.keys(updates).length > 0 ? {
|
|
132193
|
+
...link,
|
|
132194
|
+
...updates
|
|
132195
|
+
} : link;
|
|
132196
|
+
}
|
|
132197
|
+
function isInternalLink$1(value) {
|
|
132198
|
+
if (value.kind !== "internal") return false;
|
|
132199
|
+
if (typeof value.routeId !== "string" || value.routeId.length === 0) return false;
|
|
132200
|
+
return true;
|
|
132201
|
+
}
|
|
132202
|
+
function isPageLink$1(value) {
|
|
132203
|
+
if (value.kind !== "page") return false;
|
|
132204
|
+
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
132205
|
+
return true;
|
|
132206
|
+
}
|
|
132207
|
+
function hydratePageLink(link, context) {
|
|
132208
|
+
const resolved = resolvePageRouteTarget(link, context);
|
|
132209
|
+
if (!resolved) return link;
|
|
132210
|
+
return {
|
|
132211
|
+
...link,
|
|
132212
|
+
href: resolved.href,
|
|
132213
|
+
routeId: resolved.routeId
|
|
132214
|
+
};
|
|
132215
|
+
}
|
|
132216
|
+
function isEntryLink$1(value) {
|
|
132217
|
+
if (value.kind !== "entry") return false;
|
|
132218
|
+
if (typeof value.contentType !== "string" || value.contentType.length === 0) return false;
|
|
132219
|
+
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
132220
|
+
return true;
|
|
132221
|
+
}
|
|
132222
|
+
function hydrateEntryLink(link, context) {
|
|
132223
|
+
const resolved = resolveEntryRouteTarget(link, context);
|
|
132224
|
+
if (!resolved) return link;
|
|
132225
|
+
return {
|
|
132226
|
+
...link,
|
|
132227
|
+
href: resolved.href,
|
|
132228
|
+
routeId: resolved.routeId
|
|
132229
|
+
};
|
|
132230
|
+
}
|
|
132231
|
+
//#endregion
|
|
132232
|
+
//#region ../blocks/src/sdkBlockTransform.ts
|
|
132233
|
+
init_augmentManifest();
|
|
132234
|
+
/**
|
|
132235
|
+
* Transforms an SDK custom block into a BlockManifest.
|
|
132236
|
+
*
|
|
132237
|
+
* If the block has a `layout`, it can be rendered declaratively without React code.
|
|
132238
|
+
* If no layout, the block MUST use blockOverrides for rendering.
|
|
132239
|
+
*/
|
|
132240
|
+
function transformSdkBlockToManifest(sdkBlock) {
|
|
132241
|
+
const hasLayout = Boolean(sdkBlock.layout) || Boolean(sdkBlock.variants && Object.keys(sdkBlock.variants).length > 0);
|
|
132242
|
+
return augmentManifest({
|
|
132243
|
+
name: sdkBlock.id,
|
|
132244
|
+
version: "1.0.0",
|
|
132245
|
+
title: sdkBlock.title,
|
|
132246
|
+
titleSource: sdkBlock.titleSource,
|
|
132247
|
+
description: sdkBlock.description,
|
|
132248
|
+
component: sdkBlock.id,
|
|
132249
|
+
fields: sdkBlock.fields,
|
|
132250
|
+
slots: [],
|
|
132251
|
+
category: sdkBlock.category,
|
|
132252
|
+
tags: sdkBlock.tags,
|
|
132253
|
+
icon: sdkBlock.icon,
|
|
132254
|
+
layout: sdkBlock.layout,
|
|
132255
|
+
variants: sdkBlock.variants,
|
|
132256
|
+
defaultVariant: sdkBlock.defaultVariant,
|
|
132257
|
+
variantOptions: sdkBlock.variantOptions,
|
|
132258
|
+
previewCustomize: sdkBlock.previewCustomize,
|
|
132259
|
+
behaviours: {
|
|
132260
|
+
supportsThemeSwitching: true,
|
|
132261
|
+
inlineEditing: hasLayout,
|
|
132262
|
+
animation: hasLayout,
|
|
132263
|
+
paletteHidden: false
|
|
132264
|
+
}
|
|
132265
|
+
});
|
|
132266
|
+
}
|
|
132267
|
+
/**
|
|
132268
|
+
* Transforms an SDK custom block into a SystemBlockDefinition.
|
|
132269
|
+
*
|
|
132270
|
+
* This creates a minimal definition with just the manifest - no data loaders
|
|
132271
|
+
* or content normalizers since SDK blocks handle their own rendering.
|
|
132272
|
+
*/
|
|
132273
|
+
function transformSdkBlockToDefinition(sdkBlock) {
|
|
132274
|
+
return {
|
|
132275
|
+
manifest: transformSdkBlockToManifest(sdkBlock),
|
|
132276
|
+
dataLoaders: sdkBlock.dataLoaders
|
|
132277
|
+
};
|
|
132278
|
+
}
|
|
132279
|
+
//#endregion
|
|
132280
|
+
//#region ../blocks/src/customBlockRegistry.ts
|
|
132281
|
+
init_src$3();
|
|
132282
|
+
const defaultCustomBlockSourcePolicy = { kind: "canonical-db-fallback-sdk" };
|
|
132283
|
+
function isCustomBlockKind(blockKind) {
|
|
132284
|
+
return blockKind.startsWith("custom.");
|
|
132285
|
+
}
|
|
132286
|
+
function transformToBlockDescriptor(sdkBlock, source = "sdk") {
|
|
132287
|
+
return {
|
|
132288
|
+
name: sdkBlock.id,
|
|
132289
|
+
title: sdkBlock.title,
|
|
132290
|
+
description: sdkBlock.description,
|
|
132291
|
+
category: sdkBlock.category,
|
|
132292
|
+
tags: sdkBlock.tags,
|
|
132293
|
+
icon: sdkBlock.icon,
|
|
132294
|
+
definition: transformSdkBlockToDefinition(sdkBlock),
|
|
132295
|
+
source
|
|
132296
|
+
};
|
|
132297
|
+
}
|
|
132298
|
+
function toResolvedCustomBlock(manifest, source) {
|
|
132299
|
+
return {
|
|
132300
|
+
blockKind: manifest.id,
|
|
132301
|
+
manifest: transformSdkBlockToManifest(manifest),
|
|
132302
|
+
source,
|
|
132303
|
+
descriptor: transformToBlockDescriptor(manifest, source.kind === "managed-database" ? "database" : "sdk")
|
|
132304
|
+
};
|
|
132305
|
+
}
|
|
132306
|
+
function planCustomBlockRegistryResolution({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy }) {
|
|
132307
|
+
switch (policy.kind) {
|
|
132308
|
+
case "canonical-db-fallback-sdk": {
|
|
132309
|
+
const entriesByKind = /* @__PURE__ */ new Map();
|
|
132310
|
+
const conflicts = [];
|
|
132311
|
+
for (const customBlock of customBlocks) entriesByKind.set(customBlock.manifest.id, toResolvedCustomBlock(customBlock.manifest, customBlock.source));
|
|
132312
|
+
for (const sdkBlock of sdkConfig?.customBlocks ?? []) {
|
|
132313
|
+
const existing = entriesByKind.get(sdkBlock.id);
|
|
132314
|
+
if (existing) {
|
|
132315
|
+
conflicts.push({
|
|
132316
|
+
kind: "conflict",
|
|
132317
|
+
blockKind: existing.blockKind,
|
|
132318
|
+
winner: existing.source,
|
|
132319
|
+
loser: { kind: "sdk-config" },
|
|
132320
|
+
reason: "db-canonical-sdk-fallback"
|
|
132321
|
+
});
|
|
132322
|
+
continue;
|
|
132323
|
+
}
|
|
132324
|
+
entriesByKind.set(sdkBlock.id, toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" }));
|
|
132325
|
+
}
|
|
132326
|
+
return {
|
|
132327
|
+
policy,
|
|
132328
|
+
entries: Array.from(entriesByKind.values()),
|
|
132329
|
+
conflicts
|
|
132330
|
+
};
|
|
132331
|
+
}
|
|
132332
|
+
}
|
|
132333
|
+
}
|
|
132334
|
+
function createCustomBlockRegistry({ sdkConfig, customBlocks = [], policy = defaultCustomBlockSourcePolicy, onConflict }) {
|
|
132335
|
+
const plan = planCustomBlockRegistryResolution({
|
|
132336
|
+
sdkConfig,
|
|
132337
|
+
customBlocks,
|
|
132338
|
+
policy
|
|
132339
|
+
});
|
|
132340
|
+
const entriesByKind = new Map(plan.entries.map((entry) => [entry.blockKind, entry]));
|
|
132341
|
+
for (const conflict of plan.conflicts) onConflict?.(`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`);
|
|
132342
|
+
return {
|
|
132343
|
+
entries: plan.entries,
|
|
132344
|
+
conflicts: plan.conflicts,
|
|
132345
|
+
findManifest: (blockKind) => {
|
|
132346
|
+
if (!isCustomBlockKind(blockKind)) return void 0;
|
|
132347
|
+
return entriesByKind.get(blockKind);
|
|
132348
|
+
}
|
|
132349
|
+
};
|
|
132350
|
+
}
|
|
132351
|
+
function sourceLabel(source) {
|
|
132352
|
+
switch (source.kind) {
|
|
132353
|
+
case "managed-database": return "DB";
|
|
132354
|
+
case "sdk-synced": return "SDK-synced DB";
|
|
132355
|
+
case "sdk-config": return "SDK config";
|
|
132356
|
+
default: return assertNever$20(source);
|
|
132357
|
+
}
|
|
132358
|
+
}
|
|
132359
|
+
//#endregion
|
|
132104
132360
|
//#region ../theme-core/src/runtime/fontFamily.ts
|
|
132105
132361
|
/**
|
|
132106
132362
|
* Font Family Formatting Utilities
|
|
@@ -135870,214 +136126,111 @@ function mapFontStyle(italic) {
|
|
|
135870
136126
|
return italic ? "italic" : "normal";
|
|
135871
136127
|
}
|
|
135872
136128
|
//#endregion
|
|
135873
|
-
//#region ../blocks/src/
|
|
135874
|
-
|
|
135875
|
-
|
|
135876
|
-
|
|
135877
|
-
|
|
135878
|
-
|
|
135879
|
-
|
|
135880
|
-
if (!routes || !manifest?.fields?.length) return content;
|
|
135881
|
-
return hydrateValue(content, {
|
|
135882
|
-
routes,
|
|
135883
|
-
pagesByIdentifier,
|
|
135884
|
-
entriesByIdentifier
|
|
135885
|
-
});
|
|
135886
|
-
}
|
|
135887
|
-
function hydrateValue(value, context) {
|
|
135888
|
-
try {
|
|
135889
|
-
if (Array.isArray(value)) {
|
|
135890
|
-
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
135891
|
-
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
135892
|
-
}
|
|
135893
|
-
if (isRecord$32(value)) {
|
|
135894
|
-
if (isInternalLink$1(value)) return hydrateInternalLink(value, context.routes);
|
|
135895
|
-
if (isPageLink$1(value)) return hydratePageLink(value, context);
|
|
135896
|
-
if (isEntryLink$1(value)) return hydrateEntryLink(value, context);
|
|
135897
|
-
const resolvedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateValue(entry, context)]);
|
|
135898
|
-
return resolvedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(resolvedEntries);
|
|
135899
|
-
}
|
|
135900
|
-
return value;
|
|
135901
|
-
} catch (err) {
|
|
135902
|
-
console.error("[hydrateLinks] Error hydrating value:", err, value);
|
|
135903
|
-
return value;
|
|
136129
|
+
//#region ../blocks/src/pageRenderingMode.ts
|
|
136130
|
+
var MissingBlockOverrideError$1 = class extends Error {
|
|
136131
|
+
constructor(blockKind) {
|
|
136132
|
+
super(`Override-only rendering requires an override for block kind "${blockKind}".`);
|
|
136133
|
+
this.blockKind = blockKind;
|
|
136134
|
+
this.code = "missing_block_override";
|
|
136135
|
+
this.name = "MissingBlockOverrideError";
|
|
135904
136136
|
}
|
|
136137
|
+
};
|
|
136138
|
+
function isOverrideOnlyResourceInput(props) {
|
|
136139
|
+
return props.rendering?.kind === "overrides-only";
|
|
135905
136140
|
}
|
|
135906
|
-
function
|
|
135907
|
-
|
|
135908
|
-
if (!resolved) return link;
|
|
135909
|
-
const nextHref = resolved.href;
|
|
135910
|
-
const currentHref = typeof link.href === "string" && link.href.length > 0 ? link.href : null;
|
|
135911
|
-
const nextUpdatedAt = resolved.updatedAt;
|
|
135912
|
-
const updates = {};
|
|
135913
|
-
if (nextHref && nextHref !== currentHref) updates.href = nextHref;
|
|
135914
|
-
if (nextUpdatedAt && link.updatedAt !== nextUpdatedAt) updates.updatedAt = nextUpdatedAt;
|
|
135915
|
-
return Object.keys(updates).length > 0 ? {
|
|
135916
|
-
...link,
|
|
135917
|
-
...updates
|
|
135918
|
-
} : link;
|
|
135919
|
-
}
|
|
135920
|
-
function isInternalLink$1(value) {
|
|
135921
|
-
if (value.kind !== "internal") return false;
|
|
135922
|
-
if (typeof value.routeId !== "string" || value.routeId.length === 0) return false;
|
|
135923
|
-
return true;
|
|
135924
|
-
}
|
|
135925
|
-
function isPageLink$1(value) {
|
|
135926
|
-
if (value.kind !== "page") return false;
|
|
135927
|
-
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
135928
|
-
return true;
|
|
135929
|
-
}
|
|
135930
|
-
function hydratePageLink(link, context) {
|
|
135931
|
-
const resolved = resolvePageRouteTarget(link, context);
|
|
135932
|
-
if (!resolved) return link;
|
|
136141
|
+
function resolvePageThemeResources(props) {
|
|
136142
|
+
if (isOverrideOnlyResourceInput(props)) return { kind: "unavailable" };
|
|
135933
136143
|
return {
|
|
135934
|
-
|
|
135935
|
-
|
|
135936
|
-
|
|
136144
|
+
kind: "available",
|
|
136145
|
+
tokens: props.themeTokens ?? buildThemeRuntime$1(props.theme).tokens,
|
|
136146
|
+
config: props.theme
|
|
135937
136147
|
};
|
|
135938
136148
|
}
|
|
135939
|
-
function
|
|
135940
|
-
if (
|
|
135941
|
-
if (typeof value.contentType !== "string" || value.contentType.length === 0) return false;
|
|
135942
|
-
if (typeof value.identifier !== "string" || value.identifier.length === 0) return false;
|
|
135943
|
-
return true;
|
|
136149
|
+
function requireBlockOverride(resources, override, blockKind) {
|
|
136150
|
+
if (resources.kind === "unavailable" && !override) throw new MissingBlockOverrideError$1(blockKind);
|
|
135944
136151
|
}
|
|
135945
|
-
function
|
|
135946
|
-
|
|
135947
|
-
|
|
135948
|
-
|
|
135949
|
-
|
|
135950
|
-
|
|
135951
|
-
|
|
135952
|
-
|
|
136152
|
+
function overrideThemeProps(resources) {
|
|
136153
|
+
return resources.kind === "available" ? {
|
|
136154
|
+
theme: resources.tokens,
|
|
136155
|
+
themeConfig: resources.config
|
|
136156
|
+
} : {};
|
|
136157
|
+
}
|
|
136158
|
+
function requireThemeResources(resources, blockKind) {
|
|
136159
|
+
if (resources.kind === "unavailable") throw new MissingBlockOverrideError$1(blockKind);
|
|
136160
|
+
return resources;
|
|
135953
136161
|
}
|
|
135954
136162
|
//#endregion
|
|
135955
|
-
//#region ../blocks/src/
|
|
135956
|
-
|
|
135957
|
-
|
|
135958
|
-
|
|
135959
|
-
|
|
135960
|
-
* If the block has a `layout`, it can be rendered declaratively without React code.
|
|
135961
|
-
* If no layout, the block MUST use blockOverrides for rendering.
|
|
135962
|
-
*/
|
|
135963
|
-
function transformSdkBlockToManifest(sdkBlock) {
|
|
135964
|
-
const hasLayout = Boolean(sdkBlock.layout) || Boolean(sdkBlock.variants && Object.keys(sdkBlock.variants).length > 0);
|
|
135965
|
-
return augmentManifest({
|
|
135966
|
-
name: sdkBlock.id,
|
|
135967
|
-
version: "1.0.0",
|
|
135968
|
-
title: sdkBlock.title,
|
|
135969
|
-
titleSource: sdkBlock.titleSource,
|
|
135970
|
-
description: sdkBlock.description,
|
|
135971
|
-
component: sdkBlock.id,
|
|
135972
|
-
fields: sdkBlock.fields,
|
|
135973
|
-
slots: [],
|
|
135974
|
-
category: sdkBlock.category,
|
|
135975
|
-
tags: sdkBlock.tags,
|
|
135976
|
-
icon: sdkBlock.icon,
|
|
135977
|
-
layout: sdkBlock.layout,
|
|
135978
|
-
variants: sdkBlock.variants,
|
|
135979
|
-
defaultVariant: sdkBlock.defaultVariant,
|
|
135980
|
-
variantOptions: sdkBlock.variantOptions,
|
|
135981
|
-
previewCustomize: sdkBlock.previewCustomize,
|
|
135982
|
-
behaviours: {
|
|
135983
|
-
supportsThemeSwitching: true,
|
|
135984
|
-
inlineEditing: hasLayout,
|
|
135985
|
-
animation: hasLayout,
|
|
135986
|
-
paletteHidden: false
|
|
135987
|
-
}
|
|
135988
|
-
});
|
|
136163
|
+
//#region ../blocks/src/pageRendererBoundaries.tsx
|
|
136164
|
+
init_typeGuards();
|
|
136165
|
+
const boundaryKey = (previousBlockId, nextBlockId) => `${previousBlockId}\u0000${nextBlockId}`;
|
|
136166
|
+
function isSiteStyleTransitionStyleGroup(value) {
|
|
136167
|
+
return value?.startsWith("site-style-transition-") === true;
|
|
135989
136168
|
}
|
|
135990
|
-
|
|
135991
|
-
|
|
135992
|
-
*
|
|
135993
|
-
* This creates a minimal definition with just the manifest - no data loaders
|
|
135994
|
-
* or content normalizers since SDK blocks handle their own rendering.
|
|
135995
|
-
*/
|
|
135996
|
-
function transformSdkBlockToDefinition(sdkBlock) {
|
|
135997
|
-
return {
|
|
135998
|
-
manifest: transformSdkBlockToManifest(sdkBlock),
|
|
135999
|
-
dataLoaders: sdkBlock.dataLoaders
|
|
136000
|
-
};
|
|
136169
|
+
function boundaryMapForAdjacentBlockIds(boundaries) {
|
|
136170
|
+
return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
|
|
136001
136171
|
}
|
|
136002
|
-
|
|
136003
|
-
|
|
136004
|
-
|
|
136005
|
-
|
|
136006
|
-
|
|
136007
|
-
return blockKind.startsWith("custom.");
|
|
136172
|
+
function boundaryBetweenBlocks(previousBlock, nextBlock, boundaries) {
|
|
136173
|
+
const previousBlockId = previousBlock?.id ?? null;
|
|
136174
|
+
const nextBlockId = nextBlock?.id ?? null;
|
|
136175
|
+
if (!previousBlockId || !nextBlockId) return null;
|
|
136176
|
+
return boundaries.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
|
|
136008
136177
|
}
|
|
136009
|
-
function
|
|
136178
|
+
function renderBoundaryAfterBlock(input) {
|
|
136179
|
+
const previousBlockId = input.block.id;
|
|
136180
|
+
const nextBlockId = input.nextBlock?.id ?? null;
|
|
136181
|
+
if (!previousBlockId || !nextBlockId) return null;
|
|
136182
|
+
const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
|
|
136183
|
+
if (!boundary) return null;
|
|
136184
|
+
const rendered = /* @__PURE__ */ jsx("div", {
|
|
136185
|
+
"aria-hidden": "true",
|
|
136186
|
+
"data-block-boundary": "",
|
|
136187
|
+
"data-boundary-id": boundary.boundaryId,
|
|
136188
|
+
"data-boundary-previous-block-id": boundary.previousBlockId,
|
|
136189
|
+
"data-boundary-next-block-id": boundary.nextBlockId,
|
|
136190
|
+
"data-style-group": boundary.styleGroup,
|
|
136191
|
+
style: boundaryCssVarsStyle(boundary)
|
|
136192
|
+
}, `${input.blockKey}:boundary`);
|
|
136193
|
+
return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
|
|
136194
|
+
}
|
|
136195
|
+
function boundaryCssVarsStyle(boundary) {
|
|
136010
136196
|
return {
|
|
136011
|
-
|
|
136012
|
-
|
|
136013
|
-
description: sdkBlock.description,
|
|
136014
|
-
category: sdkBlock.category,
|
|
136015
|
-
tags: sdkBlock.tags,
|
|
136016
|
-
icon: sdkBlock.icon,
|
|
136017
|
-
definition: transformSdkBlockToDefinition(sdkBlock),
|
|
136018
|
-
source
|
|
136197
|
+
"--site-style-transition-from": boundary.cssVars.from,
|
|
136198
|
+
"--site-style-transition-to": boundary.cssVars.to
|
|
136019
136199
|
};
|
|
136020
136200
|
}
|
|
136021
|
-
function
|
|
136201
|
+
function boundaryReserveCssVarsStyle(input) {
|
|
136202
|
+
const before = input.before?.metrics.reserveCss ?? null;
|
|
136203
|
+
const after = input.after?.metrics.reserveCss ?? null;
|
|
136204
|
+
if (!before && !after) return void 0;
|
|
136022
136205
|
return {
|
|
136023
|
-
|
|
136024
|
-
|
|
136025
|
-
source,
|
|
136026
|
-
descriptor: transformToBlockDescriptor(manifest, source.kind === "managed-database" ? "database" : "sdk")
|
|
136206
|
+
...before ? { "--site-style-boundary-before-reserve": before } : {},
|
|
136207
|
+
...after ? { "--site-style-boundary-after-reserve": after } : {}
|
|
136027
136208
|
};
|
|
136028
136209
|
}
|
|
136029
|
-
function
|
|
136030
|
-
|
|
136031
|
-
|
|
136032
|
-
|
|
136033
|
-
|
|
136034
|
-
|
|
136035
|
-
|
|
136036
|
-
|
|
136037
|
-
|
|
136038
|
-
|
|
136039
|
-
kind: "conflict",
|
|
136040
|
-
blockKind: existing.blockKind,
|
|
136041
|
-
winner: existing.source,
|
|
136042
|
-
loser: { kind: "sdk-config" },
|
|
136043
|
-
reason: "db-canonical-sdk-fallback"
|
|
136044
|
-
});
|
|
136045
|
-
continue;
|
|
136046
|
-
}
|
|
136047
|
-
entriesByKind.set(sdkBlock.id, toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" }));
|
|
136048
|
-
}
|
|
136049
|
-
return {
|
|
136050
|
-
policy,
|
|
136051
|
-
entries: Array.from(entriesByKind.values()),
|
|
136052
|
-
conflicts
|
|
136053
|
-
};
|
|
136054
|
-
}
|
|
136055
|
-
}
|
|
136210
|
+
function transitionCssVarsStyle(content) {
|
|
136211
|
+
const transitionStyles = isObjectRecord$1(content._transitionStyles) ? content._transitionStyles : null;
|
|
136212
|
+
const cssVars = isObjectRecord$1(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
|
|
136213
|
+
const from = typeof cssVars?.from === "string" ? cssVars.from : null;
|
|
136214
|
+
const to = typeof cssVars?.to === "string" ? cssVars.to : null;
|
|
136215
|
+
if (!from && !to) return void 0;
|
|
136216
|
+
return {
|
|
136217
|
+
...from ? { "--site-style-transition-from": from } : {},
|
|
136218
|
+
...to ? { "--site-style-transition-to": to } : {}
|
|
136219
|
+
};
|
|
136056
136220
|
}
|
|
136057
|
-
function
|
|
136058
|
-
|
|
136059
|
-
|
|
136060
|
-
customBlocks,
|
|
136061
|
-
policy
|
|
136062
|
-
});
|
|
136063
|
-
const entriesByKind = new Map(plan.entries.map((entry) => [entry.blockKind, entry]));
|
|
136064
|
-
for (const conflict of plan.conflicts) onConflict?.(`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`);
|
|
136221
|
+
function mergeStyleObjects(left, right) {
|
|
136222
|
+
if (!left) return right;
|
|
136223
|
+
if (!right) return left;
|
|
136065
136224
|
return {
|
|
136066
|
-
|
|
136067
|
-
|
|
136068
|
-
findManifest: (blockKind) => {
|
|
136069
|
-
if (!isCustomBlockKind(blockKind)) return void 0;
|
|
136070
|
-
return entriesByKind.get(blockKind);
|
|
136071
|
-
}
|
|
136225
|
+
...left,
|
|
136226
|
+
...right
|
|
136072
136227
|
};
|
|
136073
136228
|
}
|
|
136074
|
-
function
|
|
136075
|
-
|
|
136076
|
-
|
|
136077
|
-
|
|
136078
|
-
|
|
136079
|
-
default: return assertNever$20(source);
|
|
136080
|
-
}
|
|
136229
|
+
function pageBlockPosition(index, blockCount) {
|
|
136230
|
+
if (blockCount <= 1) return "only";
|
|
136231
|
+
if (index === 0) return "first";
|
|
136232
|
+
if (index === blockCount - 1) return "last";
|
|
136233
|
+
return "middle";
|
|
136081
136234
|
}
|
|
136082
136235
|
//#endregion
|
|
136083
136236
|
//#region ../blocks/src/PageRenderer.tsx
|
|
@@ -136085,7 +136238,8 @@ init_fragments();
|
|
|
136085
136238
|
init_colorStyles();
|
|
136086
136239
|
init_typeGuards();
|
|
136087
136240
|
init_media();
|
|
136088
|
-
function PageRenderer$1(
|
|
136241
|
+
function PageRenderer$1(props) {
|
|
136242
|
+
const { page, runtimeBoundaries, usePlaceholders = false, dataContext, wrapBlock, wrapBoundary, registry, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring } = props;
|
|
136089
136243
|
const imageResolveContext = React$1.useMemo(() => resolvePageRendererImageResolveContext(dataContext), [
|
|
136090
136244
|
dataContext?.imageResolveContext,
|
|
136091
136245
|
dataContext?.mediaAssets,
|
|
@@ -136094,12 +136248,16 @@ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = fals
|
|
|
136094
136248
|
]);
|
|
136095
136249
|
const boundaryByAdjacentBlockIds = React$1.useMemo(() => boundaryMapForAdjacentBlockIds(runtimeBoundaries ?? []), [runtimeBoundaries]);
|
|
136096
136250
|
const usesRuntimeBoundaries = runtimeBoundaries !== void 0;
|
|
136251
|
+
const themeResources = React$1.useMemo(() => resolvePageThemeResources(props), [
|
|
136252
|
+
props.rendering,
|
|
136253
|
+
props.theme,
|
|
136254
|
+
props.themeTokens
|
|
136255
|
+
]);
|
|
136097
136256
|
if (!page || page.blocks.length === 0) return /* @__PURE__ */ jsx("div", {
|
|
136098
136257
|
className: "rb-p-6 rb-caption",
|
|
136099
136258
|
style: textColorStyle("mutedText"),
|
|
136100
136259
|
children: "No blocks found."
|
|
136101
136260
|
});
|
|
136102
|
-
const themeTokens = providedThemeTokens ?? buildThemeRuntime$1(theme).tokens;
|
|
136103
136261
|
const resolvedRegistry = registry ?? getDefaultComponentRegistry();
|
|
136104
136262
|
setContextResolveImageUrlContext(imageResolveContext);
|
|
136105
136263
|
return /* @__PURE__ */ jsx("div", { children: page.blocks.map((block, index) => {
|
|
@@ -136122,22 +136280,14 @@ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = fals
|
|
|
136122
136280
|
const renderableContent = getRenderableContent(block, dataContext?.previewStage);
|
|
136123
136281
|
const variantKey = definition?.manifest ? resolveVariantKey(definition.manifest, renderableContent) : null;
|
|
136124
136282
|
const shouldUseWrapper = !managesOwnWrapper || Boolean(wrapBlock);
|
|
136125
|
-
const blockSectionProps = {
|
|
136126
|
-
|
|
136127
|
-
|
|
136283
|
+
const blockSectionProps = buildBlockSectionProps({
|
|
136284
|
+
props,
|
|
136285
|
+
themeResources,
|
|
136128
136286
|
block,
|
|
136129
|
-
usePlaceholders,
|
|
136130
|
-
dataContext,
|
|
136131
136287
|
blockKey,
|
|
136132
|
-
registry: resolvedRegistry,
|
|
136133
|
-
routeMap,
|
|
136134
|
-
wrapBlock,
|
|
136135
|
-
blockOverrides,
|
|
136136
|
-
sdkConfig,
|
|
136137
|
-
customBlocks,
|
|
136138
136288
|
imageResolveContext,
|
|
136139
|
-
|
|
136140
|
-
};
|
|
136289
|
+
registry: resolvedRegistry
|
|
136290
|
+
});
|
|
136141
136291
|
if (!shouldUseWrapper) {
|
|
136142
136292
|
const rendered = /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, `${blockKey}:block`);
|
|
136143
136293
|
return boundaryElement ? /* @__PURE__ */ jsxs(React$1.Fragment, { children: [rendered, boundaryElement] }, blockKey) : rendered;
|
|
@@ -136179,81 +136329,6 @@ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = fals
|
|
|
136179
136329
|
})] }, blockKey);
|
|
136180
136330
|
}) });
|
|
136181
136331
|
}
|
|
136182
|
-
function isSiteStyleTransitionStyleGroup(value) {
|
|
136183
|
-
return value?.startsWith("site-style-transition-") === true;
|
|
136184
|
-
}
|
|
136185
|
-
function boundaryMapForAdjacentBlockIds(boundaries) {
|
|
136186
|
-
return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
|
|
136187
|
-
}
|
|
136188
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
136189
|
-
return `${previousBlockId}\u0000${nextBlockId}`;
|
|
136190
|
-
}
|
|
136191
|
-
function boundaryBetweenBlocks(previousBlock, nextBlock, boundaryByAdjacentBlockIds) {
|
|
136192
|
-
const previousBlockId = previousBlock?.id ?? null;
|
|
136193
|
-
const nextBlockId = nextBlock?.id ?? null;
|
|
136194
|
-
if (!previousBlockId || !nextBlockId) return null;
|
|
136195
|
-
return boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
|
|
136196
|
-
}
|
|
136197
|
-
function renderBoundaryAfterBlock(input) {
|
|
136198
|
-
const previousBlockId = input.block.id;
|
|
136199
|
-
const nextBlockId = input.nextBlock?.id ?? null;
|
|
136200
|
-
if (!previousBlockId || !nextBlockId) return null;
|
|
136201
|
-
const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
|
|
136202
|
-
if (!boundary) return null;
|
|
136203
|
-
const rendered = /* @__PURE__ */ jsx("div", {
|
|
136204
|
-
"aria-hidden": "true",
|
|
136205
|
-
"data-block-boundary": "",
|
|
136206
|
-
"data-boundary-id": boundary.boundaryId,
|
|
136207
|
-
"data-boundary-previous-block-id": boundary.previousBlockId,
|
|
136208
|
-
"data-boundary-next-block-id": boundary.nextBlockId,
|
|
136209
|
-
"data-style-group": boundary.styleGroup,
|
|
136210
|
-
style: boundaryCssVarsStyle(boundary)
|
|
136211
|
-
}, `${input.blockKey}:boundary`);
|
|
136212
|
-
return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
|
|
136213
|
-
}
|
|
136214
|
-
function boundaryCssVarsStyle(boundary) {
|
|
136215
|
-
return {
|
|
136216
|
-
"--site-style-transition-from": boundary.cssVars.from,
|
|
136217
|
-
"--site-style-transition-to": boundary.cssVars.to
|
|
136218
|
-
};
|
|
136219
|
-
}
|
|
136220
|
-
function boundaryReserveCssVarsStyle(input) {
|
|
136221
|
-
const before = input.before ? boundaryReserveValueForTreatment(input.before) : null;
|
|
136222
|
-
const after = input.after ? boundaryReserveValueForTreatment(input.after) : null;
|
|
136223
|
-
if (!before && !after) return void 0;
|
|
136224
|
-
return {
|
|
136225
|
-
...before ? { "--site-style-boundary-before-reserve": before } : {},
|
|
136226
|
-
...after ? { "--site-style-boundary-after-reserve": after } : {}
|
|
136227
|
-
};
|
|
136228
|
-
}
|
|
136229
|
-
function boundaryReserveValueForTreatment(boundary) {
|
|
136230
|
-
return boundary.metrics.reserveCss;
|
|
136231
|
-
}
|
|
136232
|
-
function transitionCssVarsStyle(content) {
|
|
136233
|
-
const transitionStyles = isObjectRecord$1(content._transitionStyles) ? content._transitionStyles : null;
|
|
136234
|
-
const cssVars = isObjectRecord$1(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
|
|
136235
|
-
const from = typeof cssVars?.from === "string" ? cssVars.from : null;
|
|
136236
|
-
const to = typeof cssVars?.to === "string" ? cssVars.to : null;
|
|
136237
|
-
if (!from && !to) return void 0;
|
|
136238
|
-
return {
|
|
136239
|
-
...from ? { "--site-style-transition-from": from } : {},
|
|
136240
|
-
...to ? { "--site-style-transition-to": to } : {}
|
|
136241
|
-
};
|
|
136242
|
-
}
|
|
136243
|
-
function mergeStyleObjects(left, right) {
|
|
136244
|
-
if (!left) return right;
|
|
136245
|
-
if (!right) return left;
|
|
136246
|
-
return {
|
|
136247
|
-
...left,
|
|
136248
|
-
...right
|
|
136249
|
-
};
|
|
136250
|
-
}
|
|
136251
|
-
function pageBlockPosition(index, blockCount) {
|
|
136252
|
-
if (blockCount <= 1) return "only";
|
|
136253
|
-
if (index === 0) return "first";
|
|
136254
|
-
if (index === blockCount - 1) return "last";
|
|
136255
|
-
return "middle";
|
|
136256
|
-
}
|
|
136257
136332
|
function resolvePageRendererImageResolveContext(dataContext) {
|
|
136258
136333
|
const input = dataContext?.imageResolveContext;
|
|
136259
136334
|
return buildResolveImageUrlContext({
|
|
@@ -136263,6 +136338,23 @@ function resolvePageRendererImageResolveContext(dataContext) {
|
|
|
136263
136338
|
mediaAssets: input?.mediaAssets ?? dataContext?.mediaAssets
|
|
136264
136339
|
});
|
|
136265
136340
|
}
|
|
136341
|
+
function buildBlockSectionProps(input) {
|
|
136342
|
+
return {
|
|
136343
|
+
themeResources: input.themeResources,
|
|
136344
|
+
block: input.block,
|
|
136345
|
+
usePlaceholders: input.props.usePlaceholders ?? false,
|
|
136346
|
+
dataContext: input.props.dataContext,
|
|
136347
|
+
blockKey: input.blockKey,
|
|
136348
|
+
registry: input.registry,
|
|
136349
|
+
routeMap: input.props.routeMap,
|
|
136350
|
+
wrapBlock: input.props.wrapBlock,
|
|
136351
|
+
blockOverrides: input.props.blockOverrides,
|
|
136352
|
+
sdkConfig: input.props.sdkConfig,
|
|
136353
|
+
customBlocks: input.props.customBlocks,
|
|
136354
|
+
imageResolveContext: input.imageResolveContext,
|
|
136355
|
+
previewAuthoring: input.props.previewAuthoring
|
|
136356
|
+
};
|
|
136357
|
+
}
|
|
136266
136358
|
/**
|
|
136267
136359
|
* Look up a block override component by block kind.
|
|
136268
136360
|
* Supports both full ("block.hero") and short ("hero") keys.
|
|
@@ -136329,7 +136421,7 @@ function getCachedValidator(manifest, flavour) {
|
|
|
136329
136421
|
* referential equality of all props that affect rendering. Standard React.memo
|
|
136330
136422
|
* wouldn't catch all the render triggers from the editor store.
|
|
136331
136423
|
*/
|
|
136332
|
-
const MemoBlockSection = React$1.memo(function MemoBlockSection({
|
|
136424
|
+
const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources, block, usePlaceholders, dataContext, registry, routeMap, wrapBlock, blockOverrides, sdkConfig, customBlocks, imageResolveContext, previewAuthoring }) {
|
|
136333
136425
|
const perfStart = globalThis.process?.env?.DEBUG_PERF === "1" && typeof window === "undefined" ? Date.now() : 0;
|
|
136334
136426
|
const fallbackImageResolveContext = getCurrentResolveImageUrlContext();
|
|
136335
136427
|
const resolvedImageResolveContext = imageResolveContext ?? fallbackImageResolveContext;
|
|
@@ -136350,6 +136442,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
136350
136442
|
return node;
|
|
136351
136443
|
}
|
|
136352
136444
|
const OverrideComponent = getBlockOverride(block.kind, blockOverrides);
|
|
136445
|
+
requireBlockOverride(themeResources, OverrideComponent, block.kind);
|
|
136353
136446
|
let definition = getBlockDefinition(block.kind);
|
|
136354
136447
|
if (!definition && block.kind.startsWith("custom.")) definition = createCustomBlockRegistry({
|
|
136355
136448
|
sdkConfig,
|
|
@@ -136362,8 +136455,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
136362
136455
|
if (OverrideComponent) {
|
|
136363
136456
|
const rendered = /* @__PURE__ */ jsx(OverrideComponent, {
|
|
136364
136457
|
content: getRenderableContent(block, dataContext?.previewStage),
|
|
136365
|
-
|
|
136366
|
-
themeConfig,
|
|
136458
|
+
...overrideThemeProps(themeResources),
|
|
136367
136459
|
data: void 0,
|
|
136368
136460
|
siteId: dataContext?.siteId,
|
|
136369
136461
|
apiBaseUrl: dataContext?.apiBaseUrl,
|
|
@@ -136462,8 +136554,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
136462
136554
|
const hasResolvedData = !!resolved && typeof resolved === "object" && Object.keys(resolved).length > 0;
|
|
136463
136555
|
const baseProps = {
|
|
136464
136556
|
content: hydratedContent,
|
|
136465
|
-
|
|
136466
|
-
themeConfig,
|
|
136557
|
+
...overrideThemeProps(themeResources),
|
|
136467
136558
|
data: resolved,
|
|
136468
136559
|
siteId: dataContext?.siteId,
|
|
136469
136560
|
apiBaseUrl: dataContext?.apiBaseUrl,
|
|
@@ -136483,6 +136574,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
136483
136574
|
let rendered;
|
|
136484
136575
|
if (OverrideComponent) rendered = /* @__PURE__ */ jsx(OverrideComponent, { ...baseProps });
|
|
136485
136576
|
else {
|
|
136577
|
+
requireThemeResources(themeResources, block.kind);
|
|
136486
136578
|
const BlockComponent = getCachedBlockComponent(definition.manifest);
|
|
136487
136579
|
const pathBase = typeof block.id === "string" && block.id.length > 0 ? `blocks.${block.id}.` : void 0;
|
|
136488
136580
|
const rootContext = { $root: {
|
|
@@ -136532,7 +136624,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeTokens, t
|
|
|
136532
136624
|
});
|
|
136533
136625
|
}
|
|
136534
136626
|
}, (prev, next) => {
|
|
136535
|
-
return prev.block === next.block && prev.registry === next.registry && prev.dataContext === next.dataContext && prev.
|
|
136627
|
+
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;
|
|
136536
136628
|
});
|
|
136537
136629
|
function fallback(message) {
|
|
136538
136630
|
return /* @__PURE__ */ jsx("div", {
|
|
@@ -149769,6 +149861,10 @@ function buildThemeRuntime(theme) {
|
|
|
149769
149861
|
}
|
|
149770
149862
|
//#endregion
|
|
149771
149863
|
//#region src/rendering/blocks-page-renderer.ts
|
|
149864
|
+
const MissingBlockOverrideError = MissingBlockOverrideError$1;
|
|
149865
|
+
function isOverrideOnlyPageRenderer(props) {
|
|
149866
|
+
return props.rendering?.kind === "overrides-only";
|
|
149867
|
+
}
|
|
149772
149868
|
function normalizeSdkCustomBlocks(customBlocks) {
|
|
149773
149869
|
if (!customBlocks) return void 0;
|
|
149774
149870
|
return customBlocks.map((block) => {
|
|
@@ -149799,15 +149895,23 @@ function toBlocksPageRendererDataContext(dataContext) {
|
|
|
149799
149895
|
}
|
|
149800
149896
|
function PageRenderer(props) {
|
|
149801
149897
|
const blocksSdkConfig = props.sdkConfig ? { customBlocks: normalizeSdkCustomBlocks(props.sdkConfig.customBlocks) } : props.sdkConfig;
|
|
149802
|
-
const
|
|
149803
|
-
const
|
|
149804
|
-
...
|
|
149805
|
-
theme: blocksTheme,
|
|
149898
|
+
const { rendering: _rendering, theme: _theme, themeTokens: _themeTokens, ...commonProps } = props;
|
|
149899
|
+
const commonBlocksProps = {
|
|
149900
|
+
...commonProps,
|
|
149806
149901
|
dataContext: props.dataContext ? toBlocksPageRendererDataContext(props.dataContext) : void 0,
|
|
149807
149902
|
blockOverrides: toBlocksBlockOverrides(props.blockOverrides),
|
|
149808
149903
|
sdkConfig: blocksSdkConfig,
|
|
149809
149904
|
customBlocks: normalizeSdkCustomBlocks(props.customBlocks)
|
|
149810
149905
|
};
|
|
149906
|
+
const blocksProps = isOverrideOnlyPageRenderer(props) ? {
|
|
149907
|
+
...commonBlocksProps,
|
|
149908
|
+
rendering: { kind: "overrides-only" },
|
|
149909
|
+
blockOverrides: toBlocksBlockOverrides(props.blockOverrides) ?? {}
|
|
149910
|
+
} : {
|
|
149911
|
+
...commonBlocksProps,
|
|
149912
|
+
theme: parseBlocksTheme(props.theme),
|
|
149913
|
+
themeTokens: props.themeTokens
|
|
149914
|
+
};
|
|
149811
149915
|
return React$1.createElement(PageRenderer$1, blocksProps);
|
|
149812
149916
|
}
|
|
149813
149917
|
//#endregion
|
|
@@ -149850,8 +149954,31 @@ function renderWithSdkThemeRuntime({ themeRuntime, theme, children }) {
|
|
|
149850
149954
|
default: return assertNever$20(themeRuntime);
|
|
149851
149955
|
}
|
|
149852
149956
|
}
|
|
149957
|
+
function renderWithOverrideOnlyRuntime({ runtime, children }) {
|
|
149958
|
+
switch (runtime.kind) {
|
|
149959
|
+
case "responsive-only": return /* @__PURE__ */ jsx(ResponsiveScope, {
|
|
149960
|
+
responsiveMode: runtime.responsiveMode,
|
|
149961
|
+
children
|
|
149962
|
+
});
|
|
149963
|
+
case "none": return /* @__PURE__ */ jsx(Fragment, { children });
|
|
149964
|
+
default: return assertNever$20(runtime);
|
|
149965
|
+
}
|
|
149966
|
+
}
|
|
149853
149967
|
//#endregion
|
|
149854
149968
|
//#region src/rendering/components/pageShared.tsx
|
|
149969
|
+
function isOverrideOnlyPage(props) {
|
|
149970
|
+
return props.rendering?.kind === "overrides-only";
|
|
149971
|
+
}
|
|
149972
|
+
function resolvePageThemeTokens(props) {
|
|
149973
|
+
const baseTokens = props.themeTokens ?? buildThemeRuntime(props.theme).tokens;
|
|
149974
|
+
return props.sdkConfig?.theme?.palette ? {
|
|
149975
|
+
...baseTokens,
|
|
149976
|
+
palette: {
|
|
149977
|
+
...baseTokens.palette,
|
|
149978
|
+
...props.sdkConfig.theme.palette
|
|
149979
|
+
}
|
|
149980
|
+
} : baseTokens;
|
|
149981
|
+
}
|
|
149855
149982
|
function toPageHydrationBootstrapConfig(props) {
|
|
149856
149983
|
return {
|
|
149857
149984
|
siteId: props.siteId,
|
|
@@ -149859,55 +149986,60 @@ function toPageHydrationBootstrapConfig(props) {
|
|
|
149859
149986
|
mediaAssets: props.mediaAssets
|
|
149860
149987
|
};
|
|
149861
149988
|
}
|
|
149862
|
-
function PageContent(
|
|
149863
|
-
const
|
|
149864
|
-
|
|
149865
|
-
|
|
149866
|
-
|
|
149867
|
-
|
|
149868
|
-
|
|
149869
|
-
|
|
149870
|
-
|
|
149871
|
-
|
|
149872
|
-
|
|
149873
|
-
|
|
149874
|
-
|
|
149875
|
-
|
|
149876
|
-
|
|
149877
|
-
|
|
149878
|
-
|
|
149879
|
-
|
|
149989
|
+
function PageContent(props) {
|
|
149990
|
+
const { page, runtimeBoundaries, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders = false, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext } = props;
|
|
149991
|
+
const rendererCommonProps = {
|
|
149992
|
+
page,
|
|
149993
|
+
runtimeBoundaries,
|
|
149994
|
+
usePlaceholders,
|
|
149995
|
+
dataContext: {
|
|
149996
|
+
siteId,
|
|
149997
|
+
apiBaseUrl,
|
|
149998
|
+
portalToken,
|
|
149999
|
+
previewToken,
|
|
150000
|
+
resolvedData,
|
|
150001
|
+
bookingOfferingPresets: bookingOfferingPresets ?? [],
|
|
150002
|
+
routes: routeMap,
|
|
150003
|
+
pagesByIdentifier,
|
|
150004
|
+
entriesByIdentifier,
|
|
150005
|
+
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
150006
|
+
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
150007
|
+
contentEntry: dataContext?.contentEntry ?? null,
|
|
150008
|
+
pageSurface: dataContext?.pageSurface ?? null,
|
|
150009
|
+
subject: dataContext?.subject ?? null,
|
|
150010
|
+
editableRouteMetadataFieldIds: dataContext?.editableRouteMetadataFieldIds ?? null,
|
|
150011
|
+
previewStage: dataContext?.previewStage,
|
|
150012
|
+
supabaseUrl,
|
|
150013
|
+
mediaAssets,
|
|
150014
|
+
imageResolveContext: {
|
|
149880
150015
|
siteId,
|
|
149881
|
-
apiBaseUrl,
|
|
149882
|
-
portalToken,
|
|
149883
|
-
previewToken,
|
|
149884
|
-
resolvedData,
|
|
149885
|
-
bookingOfferingPresets: bookingOfferingPresets ?? [],
|
|
149886
|
-
routes: routeMap,
|
|
149887
|
-
pagesByIdentifier,
|
|
149888
|
-
entriesByIdentifier,
|
|
149889
|
-
occurrenceContext: dataContext?.occurrenceContext ?? null,
|
|
149890
|
-
entrySubrouteContext: dataContext?.entrySubrouteContext ?? null,
|
|
149891
|
-
contentEntry: dataContext?.contentEntry ?? null,
|
|
149892
|
-
pageSurface: dataContext?.pageSurface ?? null,
|
|
149893
|
-
subject: dataContext?.subject ?? null,
|
|
149894
|
-
editableRouteMetadataFieldIds: dataContext?.editableRouteMetadataFieldIds ?? null,
|
|
149895
|
-
previewStage: dataContext?.previewStage,
|
|
149896
150016
|
supabaseUrl,
|
|
149897
|
-
mediaAssets
|
|
149898
|
-
|
|
149899
|
-
|
|
149900
|
-
|
|
149901
|
-
|
|
149902
|
-
|
|
149903
|
-
|
|
149904
|
-
|
|
149905
|
-
|
|
149906
|
-
|
|
149907
|
-
|
|
149908
|
-
|
|
149909
|
-
|
|
149910
|
-
|
|
150017
|
+
mediaAssets
|
|
150018
|
+
}
|
|
150019
|
+
},
|
|
150020
|
+
routeMap,
|
|
150021
|
+
wrapBlock,
|
|
150022
|
+
registry,
|
|
150023
|
+
sdkConfig: sdkConfig ? { customBlocks: sdkConfig.customBlocks } : null,
|
|
150024
|
+
customBlocks
|
|
150025
|
+
};
|
|
150026
|
+
const content = isOverrideOnlyPage(props) ? /* @__PURE__ */ jsx(PageRenderer, {
|
|
150027
|
+
...rendererCommonProps,
|
|
150028
|
+
rendering: { kind: "overrides-only" },
|
|
150029
|
+
blockOverrides: props.blockOverrides
|
|
150030
|
+
}) : /* @__PURE__ */ jsx(PageRenderer, {
|
|
150031
|
+
...rendererCommonProps,
|
|
150032
|
+
theme: props.theme,
|
|
150033
|
+
themeTokens: resolvePageThemeTokens(props),
|
|
150034
|
+
blockOverrides
|
|
150035
|
+
});
|
|
150036
|
+
return isOverrideOnlyPage(props) ? renderWithOverrideOnlyRuntime({
|
|
150037
|
+
runtime: props.rendering.runtime,
|
|
150038
|
+
children: content
|
|
150039
|
+
}) : renderWithSdkThemeRuntime({
|
|
150040
|
+
themeRuntime: props.themeRuntime ?? defaultPageThemeRuntime,
|
|
150041
|
+
theme: props.theme,
|
|
150042
|
+
children: content
|
|
149911
150043
|
});
|
|
149912
150044
|
}
|
|
149913
150045
|
//#endregion
|
|
@@ -150430,12 +150562,48 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
150430
150562
|
return result;
|
|
150431
150563
|
}
|
|
150432
150564
|
//#endregion
|
|
150565
|
+
//#region src/rendering/renderingMode.ts
|
|
150566
|
+
const defaultOverrideOnlyRuntime = { kind: "responsive-only" };
|
|
150567
|
+
//#endregion
|
|
150433
150568
|
//#region src/rendering/components/Layout.tsx
|
|
150434
150569
|
/**
|
|
150435
150570
|
* Layout component with header and footer
|
|
150436
150571
|
*
|
|
150437
150572
|
* Renders site header and footer around content. Fetches site data if not provided.
|
|
150438
150573
|
*/
|
|
150574
|
+
function isOverrideOnlyLayout(props) {
|
|
150575
|
+
return props.rendering?.kind === "overrides-only";
|
|
150576
|
+
}
|
|
150577
|
+
var UnsupportedOverrideOnlyLayoutChromeError = class extends Error {
|
|
150578
|
+
constructor(surface) {
|
|
150579
|
+
super(`Override-only Layout requires a custom or disabled ${surface}; SDK default chrome is unavailable.`);
|
|
150580
|
+
this.surface = surface;
|
|
150581
|
+
this.code = "unsupported_override_only_layout_chrome";
|
|
150582
|
+
this.name = "UnsupportedOverrideOnlyLayoutChromeError";
|
|
150583
|
+
}
|
|
150584
|
+
};
|
|
150585
|
+
async function resolveLayoutSiteData(props) {
|
|
150586
|
+
if (props.siteData) return props.siteData;
|
|
150587
|
+
if (!props.client) throw new Error("Layout: must provide either siteData or client");
|
|
150588
|
+
if (!props.siteId && !props.slug && !props.domain) throw new Error("Layout: must provide siteId, slug, or domain when using client");
|
|
150589
|
+
return props.client.getSite({
|
|
150590
|
+
id: props.siteId,
|
|
150591
|
+
slug: props.slug,
|
|
150592
|
+
domain: props.domain
|
|
150593
|
+
});
|
|
150594
|
+
}
|
|
150595
|
+
function renderOverrideOnlyLayout(props, data) {
|
|
150596
|
+
if (data.header === true) throw new UnsupportedOverrideOnlyLayoutChromeError("header");
|
|
150597
|
+
if (data.footer === true) throw new UnsupportedOverrideOnlyLayoutChromeError("footer");
|
|
150598
|
+
return renderWithOverrideOnlyRuntime({
|
|
150599
|
+
runtime: props.rendering.runtime ?? defaultOverrideOnlyRuntime,
|
|
150600
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
150601
|
+
typeof props.header === "function" ? props.header(data.headerData) : null,
|
|
150602
|
+
props.children,
|
|
150603
|
+
typeof props.footer === "function" ? props.footer(data.footerData) : null
|
|
150604
|
+
] })
|
|
150605
|
+
});
|
|
150606
|
+
}
|
|
150439
150607
|
/**
|
|
150440
150608
|
* Layout component that wraps content with site header and footer.
|
|
150441
150609
|
*
|
|
@@ -150471,20 +150639,13 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
150471
150639
|
* </Layout>
|
|
150472
150640
|
* ```
|
|
150473
150641
|
*/
|
|
150474
|
-
async function Layout(
|
|
150475
|
-
|
|
150476
|
-
|
|
150477
|
-
|
|
150478
|
-
|
|
150479
|
-
|
|
150480
|
-
id: siteId,
|
|
150481
|
-
slug,
|
|
150482
|
-
domain
|
|
150483
|
-
});
|
|
150484
|
-
}
|
|
150485
|
-
const { site, theme, navigation, layout, routes } = siteData;
|
|
150642
|
+
async function Layout(props) {
|
|
150643
|
+
const { children, hasPortalSession = false, previewStage = "published" } = props;
|
|
150644
|
+
const header = props.header ?? true;
|
|
150645
|
+
const footer = props.footer ?? true;
|
|
150646
|
+
const siteData = await resolveLayoutSiteData(props);
|
|
150647
|
+
const { site, navigation, layout, routes } = siteData;
|
|
150486
150648
|
const footerBlocks = siteData.footerBlocks ?? [];
|
|
150487
|
-
const builtThemeRuntime = buildThemeRuntime(theme);
|
|
150488
150649
|
const navigationOptions = {
|
|
150489
150650
|
hasPortalSession,
|
|
150490
150651
|
previewStage,
|
|
@@ -150498,22 +150659,38 @@ async function Layout({ siteData: providedSiteData, client, siteId, slug, domain
|
|
|
150498
150659
|
const footerMenuViewModel = buildFooterMenu(navigation, routes, navigationOptions);
|
|
150499
150660
|
const legalFooterMenuViewModel = buildFooterMenuForRole(navigation, routes, "legal-policy", navigationOptions);
|
|
150500
150661
|
const logoViewModel = buildLogo(layout.logo ?? null, site.title);
|
|
150501
|
-
const
|
|
150662
|
+
const customHeaderData = {
|
|
150502
150663
|
menu: menuViewModel,
|
|
150503
150664
|
logo: logoViewModel,
|
|
150504
150665
|
site,
|
|
150505
|
-
theme,
|
|
150506
150666
|
routes
|
|
150507
150667
|
};
|
|
150508
|
-
const
|
|
150668
|
+
const customFooterData = {
|
|
150509
150669
|
menu: menuViewModel,
|
|
150510
150670
|
footerMenu: footerMenuViewModel,
|
|
150511
150671
|
legalFooterMenu: legalFooterMenuViewModel,
|
|
150512
150672
|
logo: logoViewModel,
|
|
150513
150673
|
site,
|
|
150514
|
-
theme,
|
|
150515
150674
|
routes
|
|
150516
150675
|
};
|
|
150676
|
+
if (isOverrideOnlyLayout(props)) return renderOverrideOnlyLayout(props, {
|
|
150677
|
+
header: props.header ?? true,
|
|
150678
|
+
footer: props.footer ?? true,
|
|
150679
|
+
headerData: customHeaderData,
|
|
150680
|
+
footerData: customFooterData
|
|
150681
|
+
});
|
|
150682
|
+
const { theme } = siteData;
|
|
150683
|
+
const builtThemeRuntime = buildThemeRuntime(theme);
|
|
150684
|
+
const headerVariant = props.headerVariant;
|
|
150685
|
+
const themeRuntime = props.themeRuntime;
|
|
150686
|
+
const headerData = {
|
|
150687
|
+
...customHeaderData,
|
|
150688
|
+
theme
|
|
150689
|
+
};
|
|
150690
|
+
const footerData = {
|
|
150691
|
+
...customFooterData,
|
|
150692
|
+
theme
|
|
150693
|
+
};
|
|
150517
150694
|
const headerContent = headerVariant ? {
|
|
150518
150695
|
...layout.header,
|
|
150519
150696
|
variant: headerVariant
|
|
@@ -152884,6 +153061,26 @@ z$1.object({
|
|
|
152884
153061
|
mode: z$1.enum(["apply", "preview"]).optional()
|
|
152885
153062
|
}).strict();
|
|
152886
153063
|
//#endregion
|
|
153064
|
+
//#region ../api/src/sdkThemeWire.ts
|
|
153065
|
+
init_schema$1();
|
|
153066
|
+
/**
|
|
153067
|
+
* Validate a wire value without replacing it with the schema's parsed output.
|
|
153068
|
+
* The returned type is deliberately the schema input, not its canonical output.
|
|
153069
|
+
*/
|
|
153070
|
+
function losslessValidatedSchema(schema) {
|
|
153071
|
+
return z$1.unknown().superRefine((value, ctx) => {
|
|
153072
|
+
const parsed = schema.safeParse(value);
|
|
153073
|
+
if (parsed.success) return;
|
|
153074
|
+
for (const issue of parsed.error.issues) ctx.addIssue({
|
|
153075
|
+
code: "custom",
|
|
153076
|
+
path: issue.path,
|
|
153077
|
+
message: issue.message,
|
|
153078
|
+
params: { validationCode: issue.code }
|
|
153079
|
+
});
|
|
153080
|
+
}).transform((value) => value);
|
|
153081
|
+
}
|
|
153082
|
+
losslessValidatedSchema(themeSchema);
|
|
153083
|
+
//#endregion
|
|
152887
153084
|
//#region ../api/src/siteOnboarding.ts
|
|
152888
153085
|
const LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = { configure_appointments: {
|
|
152889
153086
|
requirementId: "configure_appointments",
|
|
@@ -153991,6 +154188,17 @@ async function prefetchBlockDataWithDeps(deps, page, context, client, options) {
|
|
|
153991
154188
|
* hydration; the strict `@riverbankcms/sdk/rendering/server` surface exports it
|
|
153992
154189
|
* directly.
|
|
153993
154190
|
*/
|
|
154191
|
+
function isOverrideOnlyBlock(props) {
|
|
154192
|
+
return props.rendering?.kind === "overrides-only";
|
|
154193
|
+
}
|
|
154194
|
+
var MissingStandaloneBlockOverrideError = class extends Error {
|
|
154195
|
+
constructor(blockKind) {
|
|
154196
|
+
super(`Override-only standalone rendering requires an override for block kind "${blockKind}".`);
|
|
154197
|
+
this.blockKind = blockKind;
|
|
154198
|
+
this.code = "missing_standalone_block_override";
|
|
154199
|
+
this.name = "MissingStandaloneBlockOverrideError";
|
|
154200
|
+
}
|
|
154201
|
+
};
|
|
153994
154202
|
function toBlockHydrationBootstrapConfig(props) {
|
|
153995
154203
|
return {
|
|
153996
154204
|
siteId: props.siteId,
|
|
@@ -154060,14 +154268,16 @@ function buildStandaloneBlockViewModel({ siteId, pageId, previewStage, apiBaseUr
|
|
|
154060
154268
|
function renderBlockOverride({ OverrideComponent, props, runtime, resolvedData }) {
|
|
154061
154269
|
return /* @__PURE__ */ jsx(OverrideComponent, {
|
|
154062
154270
|
content: props.content,
|
|
154063
|
-
theme
|
|
154064
|
-
|
|
154271
|
+
...runtime && "theme" in props ? {
|
|
154272
|
+
theme: runtime.themeRuntime.tokens,
|
|
154273
|
+
themeConfig: props.theme
|
|
154274
|
+
} : {},
|
|
154065
154275
|
data: resolvedData,
|
|
154066
154276
|
siteId: props.siteId,
|
|
154067
154277
|
apiBaseUrl: props.apiBaseUrl,
|
|
154068
154278
|
portalToken: props.portalToken ?? null,
|
|
154069
154279
|
supabaseUrl: props.supabaseUrl,
|
|
154070
|
-
imageResolveContext: runtime
|
|
154280
|
+
imageResolveContext: runtime?.imageResolveContext,
|
|
154071
154281
|
blockId: props.blockId ?? null,
|
|
154072
154282
|
blockKind: props.blockKind
|
|
154073
154283
|
});
|
|
@@ -154096,8 +154306,8 @@ function renderManifestBlock({ definition, props, runtime, resolvedData }) {
|
|
|
154096
154306
|
async function BlockContent(props) {
|
|
154097
154307
|
const definition = getBlockDefinition(props.blockKind);
|
|
154098
154308
|
const OverrideComponent = props.override;
|
|
154309
|
+
if (isOverrideOnlyBlock(props) && !OverrideComponent) throw new MissingStandaloneBlockOverrideError(props.blockKind);
|
|
154099
154310
|
if (!definition && !OverrideComponent) return renderUnknownBlock(props.blockKind);
|
|
154100
|
-
const runtime = buildBlockContentRuntime(props);
|
|
154101
154311
|
const resolvedData = await loadStandaloneBlockData({
|
|
154102
154312
|
...props,
|
|
154103
154313
|
hasDefinition: Boolean(definition)
|
|
@@ -154105,13 +154315,14 @@ async function BlockContent(props) {
|
|
|
154105
154315
|
if (OverrideComponent) return renderBlockOverride({
|
|
154106
154316
|
OverrideComponent,
|
|
154107
154317
|
props,
|
|
154108
|
-
runtime,
|
|
154318
|
+
runtime: isOverrideOnlyBlock(props) ? void 0 : buildBlockContentRuntime(props),
|
|
154109
154319
|
resolvedData
|
|
154110
154320
|
});
|
|
154321
|
+
if (isOverrideOnlyBlock(props)) throw new MissingStandaloneBlockOverrideError(props.blockKind);
|
|
154111
154322
|
return renderManifestBlock({
|
|
154112
154323
|
definition,
|
|
154113
154324
|
props,
|
|
154114
|
-
runtime,
|
|
154325
|
+
runtime: buildBlockContentRuntime(props),
|
|
154115
154326
|
resolvedData
|
|
154116
154327
|
});
|
|
154117
154328
|
}
|
|
@@ -157923,4 +158134,4 @@ function defineBlockOverrideRegistrations(registrations) {
|
|
|
157923
158134
|
* ```
|
|
157924
158135
|
*/
|
|
157925
158136
|
//#endregion
|
|
157926
|
-
export { Block, ImagePresets, Layout, Page, PageRenderer, RichText, ThemeScope, buildThemeRuntime, defineBlockOverrideRegistrations, defineBlockOverrides, defineLazyBlockOverride, isEntryContent, isPageContent, isPageSurfaceContent, loadContent, loadPage, resolveImageSourceSetWithContext, resolveImageUrl, resolveImageUrlWithContext, toBlocksImageResolveContextInput, toBlocksMediaAssets, toBlocksPageRendererDataContext };
|
|
158137
|
+
export { Block, ImagePresets, Layout, MissingBlockOverrideError, Page, PageRenderer, RichText, ThemeScope, UnsupportedOverrideOnlyLayoutChromeError, buildThemeRuntime, defineBlockOverrideRegistrations, defineBlockOverrides, defineLazyBlockOverride, isEntryContent, isPageContent, isPageSurfaceContent, loadContent, loadPage, resolveImageSourceSetWithContext, resolveImageUrl, resolveImageUrlWithContext, toBlocksImageResolveContextInput, toBlocksMediaAssets, toBlocksPageRendererDataContext };
|