@riverbankcms/sdk 0.80.0 → 0.81.0
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/dist/{PreviewEditorSidebar-QZG37QIF.mjs → PreviewEditorSidebar-RDCMEXIJ.mjs} +763 -255
- package/dist/{PreviewEditorUI-AXIKSMZA.mjs → PreviewEditorUI-NYGQ6K7B.mjs} +170 -29
- package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +8 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +12 -0
- package/dist/_dts/api/src/contentTypes.d.ts +6 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +53 -0
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
- package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -28
- package/dist/_dts/blocks/src/index.d.ts +6 -4
- package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +135 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +19 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +134 -0
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +13 -3
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +64 -0
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +6 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -1
- package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +44 -50
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -24
- package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +17 -28
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +7 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +4 -2
- package/dist/_dts/calendar/src/grid.d.ts +27 -0
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
- package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
- package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
- package/dist/_dts/content-editor/src/index.d.ts +3 -1
- package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
- package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
- package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +60 -3
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -0
- package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
- package/dist/_dts/core/src/branded.d.ts +5 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/stable-json.d.ts +1 -0
- package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
- package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
- package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
- package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
- package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
- package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
- package/dist/_dts/editor/src/index.d.ts +29 -0
- package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
- package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
- package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
- package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
- package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
- package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
- package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
- package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
- package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
- package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +4 -4
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
- package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
- package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -19
- package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +47 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
- package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +46 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
- package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +101 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -2
- package/dist/_dts/preview-next/src/constants.d.ts +0 -1
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -3
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +28 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +10 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +42 -0
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -0
- package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +44 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -6
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
- package/dist/_dts/theme-core/src/schema.d.ts +40 -3
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +87 -31
- package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +87 -31
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +30 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +18 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +6 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +5 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -3
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +24 -6
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
- package/dist/{chunk-7PCYG6YV.mjs → chunk-3PTVPAT4.mjs} +1863 -1099
- package/dist/{chunk-5NZGBSJF.mjs → chunk-3QWQ2MUQ.mjs} +469 -1000
- package/dist/{chunk-HTB4BMKD.mjs → chunk-3VT7LZY2.mjs} +321 -113
- package/dist/{chunk-MPBNEVPB.mjs → chunk-4T5JIPWY.mjs} +1 -1
- package/dist/{chunk-BBLZSQEY.mjs → chunk-E3NZYEKF.mjs} +1 -7
- package/dist/{chunk-GYXKAUFV.mjs → chunk-WUHKQBB6.mjs} +9509 -2658
- package/dist/cli/index.mjs +1347 -324
- package/dist/client/{accordion-QFZMNB7O.mjs → accordion-SFIIZWNH.mjs} +2 -2
- package/dist/client/{bookingForm-NCIXFWIG.mjs → bookingForm-CFKZVWGA.mjs} +5 -5
- package/dist/client/bookings.mjs +281 -19
- package/dist/client/{carousel-EO4BJMWD.mjs → carousel-ELXWSBLA.mjs} +3 -3
- package/dist/client/{cart-FTYCLYUW.mjs → cart-6SSCPYY5.mjs} +6 -6
- package/dist/client/{checkout-NFGLVCOX.mjs → checkout-UFQ34HPV.mjs} +6 -6
- package/dist/client/{chunk-6GVVWSPU.mjs → chunk-76JUETXQ.mjs} +139 -186
- package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-7BXX7WXH.mjs} +112 -28
- package/dist/client/{chunk-IWFZSQNZ.mjs → chunk-G56BSZAM.mjs} +2 -2
- package/dist/client/{chunk-VDS5YFLX.mjs → chunk-IUEDYLFJ.mjs} +1 -1
- package/dist/client/{chunk-PYRBIURC.mjs → chunk-NP47RHIX.mjs} +5 -5
- package/dist/client/{chunk-PUOELU4O.mjs → chunk-NX6X3GRF.mjs} +330 -80
- package/dist/client/{chunk-Y37KDO7P.mjs → chunk-PA2LJH2M.mjs} +2 -2
- package/dist/client/{chunk-CE7IBGVW.mjs → chunk-RMWMT3ZD.mjs} +1 -1
- package/dist/client/{chunk-4W66ALYT.mjs → chunk-TCJS3NY5.mjs} +1 -1
- package/dist/client/{chunk-T6UIP6UZ.mjs → chunk-V6XI4M2Q.mjs} +1 -1
- package/dist/client/client.mjs +5924 -3138
- package/dist/client/{courseRegistration-2EORROPS.mjs → courseRegistration-HJIISAAG.mjs} +5 -5
- package/dist/client/{eventCalendar-WZI4VL6N.mjs → eventCalendar-F6YVUCZR.mjs} +7 -7
- package/dist/client/{eventCombined-QCB2TCNL.mjs → eventCombined-B5DSTIOK.mjs} +7 -7
- package/dist/client/{eventDetails-TFTATAPH.mjs → eventDetails-SEJDDHQC.mjs} +7 -7
- package/dist/client/{eventListing-A2CQEHEQ.mjs → eventListing-TPMWIIBO.mjs} +7 -7
- package/dist/client/{eventRegistration-OELPVLUY.mjs → eventRegistration-QU6W2PV6.mjs} +7 -7
- package/dist/client/{form-NTIFD6WQ.mjs → form-LVTYNTDE.mjs} +2 -2
- package/dist/client/{headerSection-7TBNKCLA.mjs → headerSection-SO3MFC4U.mjs} +54 -13
- package/dist/client/hooks.mjs +2266 -1179
- package/dist/client/{locationMap-LRLB5A3H.mjs → locationMap-5E5FLAKO.mjs} +2 -2
- package/dist/client/{newsletterForm-XI52RZSN.mjs → newsletterForm-GN32JEBQ.mjs} +2 -2
- package/dist/client/{productDetail-GSNKBFLY.mjs → productDetail-Q346KSVR.mjs} +6 -6
- package/dist/client/{productList-BGCGT4KZ.mjs → productList-DTDMQYGZ.mjs} +6 -6
- package/dist/client/rendering/client.mjs +4618 -3318
- package/dist/client/rendering/islands.mjs +32 -20
- package/dist/client/rendering.mjs +4898 -2108
- package/dist/client/{shop-RQHUCLNY.mjs → shop-OFUW7KPN.mjs} +6 -6
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/constants.mjs +0 -2
- package/dist/preview-next/index.mjs +0 -2
- package/dist/{sdk-runtime-A4LHT2RS.mjs → sdk-runtime-2GIX6I7X.mjs} +6 -6
- package/dist/server/components.mjs +4377 -1852
- package/dist/server/config-validation.mjs +2283 -1303
- package/dist/server/config.mjs +2283 -1303
- package/dist/server/data.mjs +2267 -1180
- package/dist/server/index.mjs +2 -1
- package/dist/server/next.mjs +4394 -1773
- package/dist/server/page-converter.mjs +1999 -1015
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4482 -1857
- package/dist/server/rendering.mjs +4484 -1859
- package/dist/server/routing.mjs +2302 -1120
- package/dist/server/server.mjs +2284 -1197
- package/dist/server/theme-bridge.mjs +757 -85
- package/dist/server/theme.mjs +69 -4
- package/dist/styles/index.css +474 -65
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +0 -8
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
- package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
|
@@ -186,6 +186,7 @@ var ALLOWED_NODE_TYPES = [
|
|
|
186
186
|
"event-spotlight",
|
|
187
187
|
"event-listing",
|
|
188
188
|
"event-calendar",
|
|
189
|
+
"offerings-preview",
|
|
189
190
|
"event-combined",
|
|
190
191
|
// Commerce
|
|
191
192
|
"shop",
|
|
@@ -991,25 +992,10 @@ function registerManifest(manifest) {
|
|
|
991
992
|
return manifest;
|
|
992
993
|
}
|
|
993
994
|
|
|
994
|
-
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
995
|
-
function assertValidOptionGroups(preset) {
|
|
996
|
-
preset.optionGroups?.forEach((group) => {
|
|
997
|
-
const selectedOption = group.options.find(
|
|
998
|
-
(option) => option.id === group.selectedOptionId
|
|
999
|
-
);
|
|
1000
|
-
if (!selectedOption) {
|
|
1001
|
-
throw new Error(
|
|
1002
|
-
`Appearance preset "${preset.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
1003
|
-
);
|
|
1004
|
-
}
|
|
1005
|
-
});
|
|
1006
|
-
}
|
|
1007
|
-
function defineBlockAppearancePreset(preset) {
|
|
1008
|
-
assertValidOptionGroups(preset);
|
|
1009
|
-
return preset;
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
995
|
// ../theme-core/src/site-styles/types.ts
|
|
996
|
+
function defineExactCatalog() {
|
|
997
|
+
return (entries) => entries;
|
|
998
|
+
}
|
|
1013
999
|
function asDesignBlockId(value) {
|
|
1014
1000
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
1015
1001
|
}
|
|
@@ -1158,11 +1144,31 @@ function defineBlockDesignCapability(capability) {
|
|
|
1158
1144
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
1159
1145
|
eventListTreatments: capability.eventListTreatments ?? ["plain"],
|
|
1160
1146
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
1161
|
-
|
|
1162
|
-
|
|
1147
|
+
headingDecorationCapability: capability.headingDecorationCapability ?? {
|
|
1148
|
+
kind: "unsupported"
|
|
1149
|
+
},
|
|
1150
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
1163
1151
|
};
|
|
1164
1152
|
}
|
|
1165
1153
|
|
|
1154
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
1155
|
+
function assertValidOptionGroups(preset) {
|
|
1156
|
+
preset.optionGroups?.forEach((group) => {
|
|
1157
|
+
const selectedOption = group.options.find(
|
|
1158
|
+
(option) => option.id === group.selectedOptionId
|
|
1159
|
+
);
|
|
1160
|
+
if (!selectedOption) {
|
|
1161
|
+
throw new Error(
|
|
1162
|
+
`Appearance preset "${preset.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
1163
|
+
);
|
|
1164
|
+
}
|
|
1165
|
+
});
|
|
1166
|
+
}
|
|
1167
|
+
function defineBlockAppearancePreset(preset) {
|
|
1168
|
+
assertValidOptionGroups(preset);
|
|
1169
|
+
return preset;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1166
1172
|
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
1167
1173
|
var blockAppearancePresets = [
|
|
1168
1174
|
defineBlockAppearancePreset({
|
|
@@ -1524,8 +1530,25 @@ var blockAppearancePresets = [
|
|
|
1524
1530
|
kind: "block-design",
|
|
1525
1531
|
id: "intro-organic-statement",
|
|
1526
1532
|
target: "intro",
|
|
1527
|
-
label: "
|
|
1533
|
+
label: "Intro statement",
|
|
1534
|
+
blockKinds: ["block.intro"],
|
|
1535
|
+
design: {
|
|
1536
|
+
sectionSurface: "base",
|
|
1537
|
+
contentFrame: plainFrame,
|
|
1538
|
+
itemSurface: "none",
|
|
1539
|
+
transitionAfter: "soft-fade-short",
|
|
1540
|
+
emphasis: "high"
|
|
1541
|
+
}
|
|
1542
|
+
}),
|
|
1543
|
+
defineBlockAppearancePreset({
|
|
1544
|
+
kind: "block-design",
|
|
1545
|
+
id: "intro-editorial-statement",
|
|
1546
|
+
target: "intro",
|
|
1547
|
+
label: "Editorial intro statement",
|
|
1528
1548
|
blockKinds: ["block.intro"],
|
|
1549
|
+
constraints: {
|
|
1550
|
+
layoutVariantKeys: ["centered-copy", "statement-copy"]
|
|
1551
|
+
},
|
|
1529
1552
|
design: {
|
|
1530
1553
|
sectionSurface: "base",
|
|
1531
1554
|
contentFrame: plainFrame,
|
|
@@ -1548,12 +1571,7 @@ var blockAppearancePresets = [
|
|
|
1548
1571
|
contentFrame: plainFrame,
|
|
1549
1572
|
itemSurface: "none",
|
|
1550
1573
|
transitionAfter: "soft-fade-short",
|
|
1551
|
-
emphasis: "medium"
|
|
1552
|
-
headingDecoration: {
|
|
1553
|
-
family: "organic-squiggle",
|
|
1554
|
-
placement: "after-heading",
|
|
1555
|
-
colorToken: "primary"
|
|
1556
|
-
}
|
|
1574
|
+
emphasis: "medium"
|
|
1557
1575
|
}
|
|
1558
1576
|
}),
|
|
1559
1577
|
defineBlockAppearancePreset({
|
|
@@ -1570,6 +1588,48 @@ var blockAppearancePresets = [
|
|
|
1570
1588
|
emphasis: "medium"
|
|
1571
1589
|
}
|
|
1572
1590
|
}),
|
|
1591
|
+
defineBlockAppearancePreset({
|
|
1592
|
+
kind: "block-design",
|
|
1593
|
+
id: "offerings-preview-default-cards",
|
|
1594
|
+
target: "offerings",
|
|
1595
|
+
label: "Default offering cards",
|
|
1596
|
+
blockKinds: ["block.offerings-preview"],
|
|
1597
|
+
design: {
|
|
1598
|
+
sectionSurface: "base",
|
|
1599
|
+
contentFrame: plainFrame,
|
|
1600
|
+
itemSurface: "default",
|
|
1601
|
+
transitionAfter: "soft-fade-short",
|
|
1602
|
+
emphasis: "medium"
|
|
1603
|
+
}
|
|
1604
|
+
}),
|
|
1605
|
+
defineBlockAppearancePreset({
|
|
1606
|
+
kind: "block-design",
|
|
1607
|
+
id: "offerings-preview-secondary-cards",
|
|
1608
|
+
target: "offerings",
|
|
1609
|
+
label: "Secondary offering cards",
|
|
1610
|
+
blockKinds: ["block.offerings-preview"],
|
|
1611
|
+
design: {
|
|
1612
|
+
sectionSurface: "muted-band",
|
|
1613
|
+
contentFrame: plainFrame,
|
|
1614
|
+
itemSurface: "inset",
|
|
1615
|
+
transitionAfter: "soft-fade-short",
|
|
1616
|
+
emphasis: "medium"
|
|
1617
|
+
}
|
|
1618
|
+
}),
|
|
1619
|
+
defineBlockAppearancePreset({
|
|
1620
|
+
kind: "block-design",
|
|
1621
|
+
id: "offerings-preview-non-carded",
|
|
1622
|
+
target: "offerings",
|
|
1623
|
+
label: "Non-carded offerings",
|
|
1624
|
+
blockKinds: ["block.offerings-preview"],
|
|
1625
|
+
design: {
|
|
1626
|
+
sectionSurface: "muted-band",
|
|
1627
|
+
contentFrame: plainFrame,
|
|
1628
|
+
itemSurface: "editorial",
|
|
1629
|
+
transitionAfter: "soft-fade-short",
|
|
1630
|
+
emphasis: "medium"
|
|
1631
|
+
}
|
|
1632
|
+
}),
|
|
1573
1633
|
defineBlockAppearancePreset({
|
|
1574
1634
|
kind: "block-design",
|
|
1575
1635
|
id: "feature-cards-raised-rule",
|
|
@@ -1584,6 +1644,20 @@ var blockAppearancePresets = [
|
|
|
1584
1644
|
emphasis: "high"
|
|
1585
1645
|
}
|
|
1586
1646
|
}),
|
|
1647
|
+
defineBlockAppearancePreset({
|
|
1648
|
+
kind: "block-design",
|
|
1649
|
+
id: "feature-cards-bold-colors",
|
|
1650
|
+
target: "feature-cards",
|
|
1651
|
+
label: "Bold colour-blocked cards",
|
|
1652
|
+
blockKinds: ["block.feature-cards"],
|
|
1653
|
+
design: {
|
|
1654
|
+
sectionSurface: "base",
|
|
1655
|
+
contentFrame: plainFrame,
|
|
1656
|
+
itemSurface: "color-blocked",
|
|
1657
|
+
transitionAfter: "none",
|
|
1658
|
+
emphasis: "high"
|
|
1659
|
+
}
|
|
1660
|
+
}),
|
|
1587
1661
|
defineBlockAppearancePreset({
|
|
1588
1662
|
kind: "block-design",
|
|
1589
1663
|
id: "feature-cards-editorial-columns",
|
|
@@ -1837,7 +1911,7 @@ var blockAppearancePresets = [
|
|
|
1837
1911
|
kind: "block-design",
|
|
1838
1912
|
id: "contact-form-panel",
|
|
1839
1913
|
target: "contact-form",
|
|
1840
|
-
label: "
|
|
1914
|
+
label: "Raised form panel",
|
|
1841
1915
|
blockKinds: ["block.form"],
|
|
1842
1916
|
design: {
|
|
1843
1917
|
sectionSurface: "muted-band",
|
|
@@ -1849,30 +1923,16 @@ var blockAppearancePresets = [
|
|
|
1849
1923
|
}),
|
|
1850
1924
|
defineBlockAppearancePreset({
|
|
1851
1925
|
kind: "block-design",
|
|
1852
|
-
id: "contact-form-
|
|
1853
|
-
target: "contact-form",
|
|
1854
|
-
label: "Dark form card",
|
|
1855
|
-
blockKinds: ["block.form"],
|
|
1856
|
-
design: {
|
|
1857
|
-
sectionSurface: "accent-band",
|
|
1858
|
-
contentFrame: panelFrame("raised"),
|
|
1859
|
-
itemSurface: "none",
|
|
1860
|
-
transitionAfter: "soft-fade-short",
|
|
1861
|
-
emphasis: "high"
|
|
1862
|
-
}
|
|
1863
|
-
}),
|
|
1864
|
-
defineBlockAppearancePreset({
|
|
1865
|
-
kind: "block-design",
|
|
1866
|
-
id: "contact-form-brand-depth-card",
|
|
1926
|
+
id: "contact-form-open",
|
|
1867
1927
|
target: "contact-form",
|
|
1868
|
-
label: "
|
|
1928
|
+
label: "Open form",
|
|
1869
1929
|
blockKinds: ["block.form"],
|
|
1870
1930
|
design: {
|
|
1871
|
-
sectionSurface: "
|
|
1872
|
-
contentFrame:
|
|
1931
|
+
sectionSurface: "muted-band",
|
|
1932
|
+
contentFrame: plainFrame,
|
|
1873
1933
|
itemSurface: "none",
|
|
1874
1934
|
transitionAfter: "none",
|
|
1875
|
-
emphasis: "
|
|
1935
|
+
emphasis: "medium"
|
|
1876
1936
|
}
|
|
1877
1937
|
}),
|
|
1878
1938
|
defineBlockAppearancePreset({
|
|
@@ -1950,7 +2010,130 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
1950
2010
|
|
|
1951
2011
|
// ../theme-core/src/site-styles/pageDesignIntent.ts
|
|
1952
2012
|
import { z as z3 } from "zod";
|
|
1953
|
-
|
|
2013
|
+
|
|
2014
|
+
// ../theme-core/src/site-styles/sectionTransitions.ts
|
|
2015
|
+
var noneBoundaryOption = {
|
|
2016
|
+
id: asBoundaryOptionId("break:none"),
|
|
2017
|
+
label: "None",
|
|
2018
|
+
transitionAfter: "none",
|
|
2019
|
+
treatment: { kind: "none" }
|
|
2020
|
+
};
|
|
2021
|
+
var softBoundaryOption = {
|
|
2022
|
+
id: asBoundaryOptionId("break:soft"),
|
|
2023
|
+
label: "Soft",
|
|
2024
|
+
transitionAfter: "soft-fade-short",
|
|
2025
|
+
treatment: { kind: "soft-fade", height: "medium", curve: "soft" }
|
|
2026
|
+
};
|
|
2027
|
+
var spaciousBoundaryOption = {
|
|
2028
|
+
id: asBoundaryOptionId("break:spacious"),
|
|
2029
|
+
label: "Spacious",
|
|
2030
|
+
transitionAfter: "soft-fade-long",
|
|
2031
|
+
treatment: { kind: "soft-fade", height: "large", curve: "spacious" }
|
|
2032
|
+
};
|
|
2033
|
+
var expansiveBoundaryOption = {
|
|
2034
|
+
id: asBoundaryOptionId("break:expansive"),
|
|
2035
|
+
label: "Expansive",
|
|
2036
|
+
transitionAfter: "soft-fade-expansive",
|
|
2037
|
+
treatment: { kind: "soft-fade", height: "expansive", curve: "expansive" }
|
|
2038
|
+
};
|
|
2039
|
+
var waveBoundaryOption = {
|
|
2040
|
+
id: asBoundaryOptionId("break:wave"),
|
|
2041
|
+
label: "Classic wave",
|
|
2042
|
+
transitionAfter: "wave-edge",
|
|
2043
|
+
treatment: {
|
|
2044
|
+
kind: "wave-edge",
|
|
2045
|
+
height: "medium",
|
|
2046
|
+
amplitude: "balanced",
|
|
2047
|
+
rhythm: "double",
|
|
2048
|
+
symmetry: "asymmetrical"
|
|
2049
|
+
}
|
|
2050
|
+
};
|
|
2051
|
+
var balancedWaveBoundaryOption = {
|
|
2052
|
+
id: asBoundaryOptionId("break:wave-balanced"),
|
|
2053
|
+
label: "Balanced wave",
|
|
2054
|
+
transitionAfter: "wave-edge-balanced",
|
|
2055
|
+
treatment: {
|
|
2056
|
+
kind: "wave-edge",
|
|
2057
|
+
height: "medium",
|
|
2058
|
+
amplitude: "balanced",
|
|
2059
|
+
rhythm: "double",
|
|
2060
|
+
symmetry: "symmetrical"
|
|
2061
|
+
}
|
|
2062
|
+
};
|
|
2063
|
+
var gentleWaveBoundaryOption = {
|
|
2064
|
+
id: asBoundaryOptionId("break:wave-gentle"),
|
|
2065
|
+
label: "Gentle wave",
|
|
2066
|
+
transitionAfter: "wave-edge-gentle",
|
|
2067
|
+
treatment: {
|
|
2068
|
+
kind: "wave-edge",
|
|
2069
|
+
height: "compact",
|
|
2070
|
+
amplitude: "subtle",
|
|
2071
|
+
rhythm: "single",
|
|
2072
|
+
symmetry: "symmetrical"
|
|
2073
|
+
}
|
|
2074
|
+
};
|
|
2075
|
+
var boldWaveBoundaryOption = {
|
|
2076
|
+
id: asBoundaryOptionId("break:wave-bold"),
|
|
2077
|
+
label: "Bold wave",
|
|
2078
|
+
transitionAfter: "wave-edge-bold",
|
|
2079
|
+
treatment: {
|
|
2080
|
+
kind: "wave-edge",
|
|
2081
|
+
height: "large",
|
|
2082
|
+
amplitude: "bold",
|
|
2083
|
+
rhythm: "double",
|
|
2084
|
+
symmetry: "symmetrical"
|
|
2085
|
+
}
|
|
2086
|
+
};
|
|
2087
|
+
var driftWaveBoundaryOption = {
|
|
2088
|
+
id: asBoundaryOptionId("break:wave-drift"),
|
|
2089
|
+
label: "Drift wave",
|
|
2090
|
+
transitionAfter: "wave-edge-drift",
|
|
2091
|
+
treatment: {
|
|
2092
|
+
kind: "wave-edge",
|
|
2093
|
+
height: "medium",
|
|
2094
|
+
amplitude: "balanced",
|
|
2095
|
+
rhythm: "double",
|
|
2096
|
+
symmetry: "drift"
|
|
2097
|
+
}
|
|
2098
|
+
};
|
|
2099
|
+
var subtleAngleBoundaryOption = {
|
|
2100
|
+
id: asBoundaryOptionId("break:angle-subtle"),
|
|
2101
|
+
label: "Subtle angle",
|
|
2102
|
+
transitionAfter: "angle-edge-subtle",
|
|
2103
|
+
treatment: {
|
|
2104
|
+
kind: "angle-edge",
|
|
2105
|
+
height: "compact",
|
|
2106
|
+
slope: "subtle",
|
|
2107
|
+
direction: "forward"
|
|
2108
|
+
}
|
|
2109
|
+
};
|
|
2110
|
+
var balancedAngleBoundaryOption = {
|
|
2111
|
+
id: asBoundaryOptionId("break:angle-balanced"),
|
|
2112
|
+
label: "Balanced angle",
|
|
2113
|
+
transitionAfter: "angle-edge",
|
|
2114
|
+
treatment: {
|
|
2115
|
+
kind: "angle-edge",
|
|
2116
|
+
height: "medium",
|
|
2117
|
+
slope: "balanced",
|
|
2118
|
+
direction: "forward"
|
|
2119
|
+
}
|
|
2120
|
+
};
|
|
2121
|
+
var steepAngleBoundaryOption = {
|
|
2122
|
+
id: asBoundaryOptionId("break:angle-steep"),
|
|
2123
|
+
label: "Steep angle",
|
|
2124
|
+
transitionAfter: "angle-edge-steep",
|
|
2125
|
+
treatment: {
|
|
2126
|
+
kind: "angle-edge",
|
|
2127
|
+
height: "large",
|
|
2128
|
+
slope: "steep",
|
|
2129
|
+
direction: "forward"
|
|
2130
|
+
}
|
|
2131
|
+
};
|
|
2132
|
+
|
|
2133
|
+
// ../theme-core/src/site-styles/pageDesignIntent.ts
|
|
2134
|
+
var pageDesignIntentSchemaVersion = 2;
|
|
2135
|
+
var legacyPageDesignIntentSchemaVersion = 1;
|
|
2136
|
+
var unknownBoundaryOptionId = asBoundaryOptionId("break:unknown");
|
|
1954
2137
|
var pageDesignUserPinnedAppearanceChoiceSchema = z3.object({
|
|
1955
2138
|
kind: z3.literal("user-pinned"),
|
|
1956
2139
|
value: z3.string().min(1).transform(asAppearancePresetId)
|
|
@@ -1959,17 +2142,84 @@ var pageDesignUserPinnedBoundaryChoiceSchema = z3.object({
|
|
|
1959
2142
|
kind: z3.literal("user-pinned"),
|
|
1960
2143
|
value: z3.string().min(1).transform(asBoundaryOptionId)
|
|
1961
2144
|
}).strict();
|
|
2145
|
+
var pageDesignBoundaryTreatmentSchema = z3.discriminatedUnion("kind", [
|
|
2146
|
+
z3.object({ kind: z3.literal("none") }).strict(),
|
|
2147
|
+
z3.object({
|
|
2148
|
+
kind: z3.literal("soft-fade"),
|
|
2149
|
+
height: z3.enum(["compact", "medium", "large", "expansive"]),
|
|
2150
|
+
curve: z3.enum(["soft", "spacious", "expansive"])
|
|
2151
|
+
}).strict(),
|
|
2152
|
+
z3.object({
|
|
2153
|
+
kind: z3.literal("wave-edge"),
|
|
2154
|
+
height: z3.enum(["compact", "medium", "large"]),
|
|
2155
|
+
amplitude: z3.enum(["subtle", "balanced", "bold"]),
|
|
2156
|
+
rhythm: z3.enum(["single", "double"]),
|
|
2157
|
+
symmetry: z3.enum(["symmetrical", "asymmetrical", "drift"])
|
|
2158
|
+
}).strict(),
|
|
2159
|
+
z3.object({
|
|
2160
|
+
kind: z3.literal("angle-edge"),
|
|
2161
|
+
height: z3.enum(["compact", "medium", "large"]),
|
|
2162
|
+
slope: z3.enum(["subtle", "balanced", "steep"]),
|
|
2163
|
+
direction: z3.enum(["forward", "reverse"])
|
|
2164
|
+
}).strict(),
|
|
2165
|
+
z3.object({
|
|
2166
|
+
kind: z3.literal("legacy-unsupported"),
|
|
2167
|
+
boundaryOptionId: z3.string().min(1).transform(asBoundaryOptionId)
|
|
2168
|
+
}).strict()
|
|
2169
|
+
]);
|
|
2170
|
+
var pageDesignUserPinnedBoundaryTreatmentChoiceSchema = z3.object({
|
|
2171
|
+
kind: z3.literal("user-pinned"),
|
|
2172
|
+
value: pageDesignBoundaryTreatmentSchema
|
|
2173
|
+
}).strict();
|
|
1962
2174
|
var pageDesignBlockLookPinSchema = z3.object({
|
|
1963
2175
|
blockId: z3.string().min(1).transform(asDesignBlockId),
|
|
1964
2176
|
blockKind: z3.string().min(1),
|
|
1965
2177
|
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
1966
2178
|
}).strict();
|
|
1967
2179
|
var pageDesignBoundaryPinSchema = z3.object({
|
|
2180
|
+
boundaryId: z3.string().min(1).transform(asDesignBoundaryId),
|
|
2181
|
+
previousBlockId: z3.string().min(1).transform(asDesignBlockId),
|
|
2182
|
+
nextBlockId: z3.string().min(1).transform(asDesignBlockId),
|
|
2183
|
+
choice: pageDesignUserPinnedBoundaryTreatmentChoiceSchema
|
|
2184
|
+
}).strict().superRefine(validateBoundaryPinIdMatchesBlocks);
|
|
2185
|
+
var legacyPageDesignBoundaryPinSchema = z3.object({
|
|
1968
2186
|
boundaryId: z3.string().min(1).transform(asDesignBoundaryId),
|
|
1969
2187
|
previousBlockId: z3.string().min(1).transform(asDesignBlockId),
|
|
1970
2188
|
nextBlockId: z3.string().min(1).transform(asDesignBlockId),
|
|
1971
2189
|
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
1972
|
-
}).strict().superRefine(
|
|
2190
|
+
}).strict().superRefine(validateBoundaryPinIdMatchesBlocks);
|
|
2191
|
+
var pageDesignIntentV1Schema = z3.object({
|
|
2192
|
+
schemaVersion: z3.literal(legacyPageDesignIntentSchemaVersion),
|
|
2193
|
+
siteStyleId: z3.string().min(1).transform(asSiteStyleId),
|
|
2194
|
+
pageFlowPresetId: z3.string().min(1).transform(asPageFlowPresetId),
|
|
2195
|
+
blockLookPins: z3.array(pageDesignBlockLookPinSchema),
|
|
2196
|
+
boundaryPins: z3.array(legacyPageDesignBoundaryPinSchema)
|
|
2197
|
+
}).strict().superRefine(validateUniquePageDesignPins);
|
|
2198
|
+
var pageDesignIntentV2Schema = z3.object({
|
|
2199
|
+
schemaVersion: z3.literal(pageDesignIntentSchemaVersion),
|
|
2200
|
+
siteStyleId: z3.string().min(1).transform(asSiteStyleId),
|
|
2201
|
+
pageFlowPresetId: z3.string().min(1).transform(asPageFlowPresetId),
|
|
2202
|
+
blockLookPins: z3.array(pageDesignBlockLookPinSchema),
|
|
2203
|
+
boundaryPins: z3.array(pageDesignBoundaryPinSchema)
|
|
2204
|
+
}).strict().superRefine(validateUniquePageDesignPins);
|
|
2205
|
+
function addDuplicateStringIssues(ctx, input) {
|
|
2206
|
+
const seen = /* @__PURE__ */ new Set();
|
|
2207
|
+
const duplicates = /* @__PURE__ */ new Set();
|
|
2208
|
+
for (const value of input.values) {
|
|
2209
|
+
if (seen.has(value)) {
|
|
2210
|
+
duplicates.add(value);
|
|
2211
|
+
}
|
|
2212
|
+
seen.add(value);
|
|
2213
|
+
}
|
|
2214
|
+
for (const duplicate of duplicates) {
|
|
2215
|
+
ctx.addIssue({
|
|
2216
|
+
code: z3.ZodIssueCode.custom,
|
|
2217
|
+
path: [...input.path],
|
|
2218
|
+
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
2219
|
+
});
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
function validateBoundaryPinIdMatchesBlocks(pin, ctx) {
|
|
1973
2223
|
const expectedBoundaryId = makeBoundaryId(
|
|
1974
2224
|
pin.previousBlockId,
|
|
1975
2225
|
pin.nextBlockId
|
|
@@ -1981,14 +2231,8 @@ var pageDesignBoundaryPinSchema = z3.object({
|
|
|
1981
2231
|
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
1982
2232
|
});
|
|
1983
2233
|
}
|
|
1984
|
-
}
|
|
1985
|
-
|
|
1986
|
-
schemaVersion: z3.literal(pageDesignIntentSchemaVersion),
|
|
1987
|
-
siteStyleId: z3.string().min(1).transform(asSiteStyleId),
|
|
1988
|
-
pageFlowPresetId: z3.string().min(1).transform(asPageFlowPresetId),
|
|
1989
|
-
blockLookPins: z3.array(pageDesignBlockLookPinSchema),
|
|
1990
|
-
boundaryPins: z3.array(pageDesignBoundaryPinSchema)
|
|
1991
|
-
}).strict().superRefine((intent, ctx) => {
|
|
2234
|
+
}
|
|
2235
|
+
function validateUniquePageDesignPins(intent, ctx) {
|
|
1992
2236
|
addDuplicateStringIssues(ctx, {
|
|
1993
2237
|
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
1994
2238
|
path: ["blockLookPins"],
|
|
@@ -2001,23 +2245,6 @@ var pageDesignIntentV1Schema = z3.object({
|
|
|
2001
2245
|
path: ["boundaryPins"],
|
|
2002
2246
|
label: "boundary pin"
|
|
2003
2247
|
});
|
|
2004
|
-
});
|
|
2005
|
-
function addDuplicateStringIssues(ctx, input) {
|
|
2006
|
-
const seen = /* @__PURE__ */ new Set();
|
|
2007
|
-
const duplicates = /* @__PURE__ */ new Set();
|
|
2008
|
-
for (const value of input.values) {
|
|
2009
|
-
if (seen.has(value)) {
|
|
2010
|
-
duplicates.add(value);
|
|
2011
|
-
}
|
|
2012
|
-
seen.add(value);
|
|
2013
|
-
}
|
|
2014
|
-
for (const duplicate of duplicates) {
|
|
2015
|
-
ctx.addIssue({
|
|
2016
|
-
code: z3.ZodIssueCode.custom,
|
|
2017
|
-
path: [...input.path],
|
|
2018
|
-
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
2019
|
-
});
|
|
2020
|
-
}
|
|
2021
2248
|
}
|
|
2022
2249
|
function boundaryKey(previousBlockId, nextBlockId) {
|
|
2023
2250
|
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
@@ -2263,7 +2490,9 @@ var buttonBorderSchema = z5.object({
|
|
|
2263
2490
|
var variantShadowSchema = z5.object({
|
|
2264
2491
|
elevation: z5.enum(["none", "low", "medium", "high"]),
|
|
2265
2492
|
softness: z5.enum(["crisp", "soft", "hard"]).nullable(),
|
|
2266
|
-
position: z5.enum(["bottom", "bottom-right"]).default("bottom")
|
|
2493
|
+
position: z5.enum(["bottom", "bottom-right"]).default("bottom"),
|
|
2494
|
+
// Optional palette token for a coloured offset shadow; omit for neutral black.
|
|
2495
|
+
colorToken: themeColorTokenSchema.optional()
|
|
2267
2496
|
});
|
|
2268
2497
|
var variantEffectsSchema = z5.object({
|
|
2269
2498
|
base: z5.array(effectApplicationSchema).optional(),
|
|
@@ -2787,6 +3016,65 @@ var inkStamp = defineButtonPersonality({
|
|
|
2787
3016
|
}
|
|
2788
3017
|
});
|
|
2789
3018
|
|
|
3019
|
+
// ../theme-core/src/buttons/personalities/joy-stamp.ts
|
|
3020
|
+
var joyStamp = defineButtonPersonality({
|
|
3021
|
+
id: "joy-stamp",
|
|
3022
|
+
name: "Joy Stamp",
|
|
3023
|
+
description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
|
|
3024
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "organic" },
|
|
3025
|
+
buttonSystem: {
|
|
3026
|
+
global: {
|
|
3027
|
+
cornerStyle: "pill",
|
|
3028
|
+
shadow: "high",
|
|
3029
|
+
textTransform: "none",
|
|
3030
|
+
// Bold display type on the buttons: use the heading font (Bricolage) at
|
|
3031
|
+
// 700, matching the mockup's chunky button labels.
|
|
3032
|
+
typography: "heading",
|
|
3033
|
+
fontWeight: 700,
|
|
3034
|
+
borderWidth: 2,
|
|
3035
|
+
hoverTransform: "none",
|
|
3036
|
+
hoverColor: "none"
|
|
3037
|
+
},
|
|
3038
|
+
sizes: {
|
|
3039
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
|
|
3040
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
|
|
3041
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
|
|
3042
|
+
xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
|
|
3043
|
+
},
|
|
3044
|
+
variants: [
|
|
3045
|
+
{
|
|
3046
|
+
id: "primary",
|
|
3047
|
+
name: "Primary",
|
|
3048
|
+
enabled: true,
|
|
3049
|
+
priority: 1,
|
|
3050
|
+
background: { type: "solid", colorToken: "primary" },
|
|
3051
|
+
textColorToken: "primaryForeground",
|
|
3052
|
+
borderRadius: "rounded-full",
|
|
3053
|
+
// Cream stamp shadow under the burnt-orange fill.
|
|
3054
|
+
shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "text" },
|
|
3055
|
+
effects: {
|
|
3056
|
+
hover: [{ effectId: "press-down" }]
|
|
3057
|
+
}
|
|
3058
|
+
},
|
|
3059
|
+
{
|
|
3060
|
+
id: "secondary",
|
|
3061
|
+
name: "Secondary",
|
|
3062
|
+
enabled: true,
|
|
3063
|
+
priority: 2,
|
|
3064
|
+
background: { type: "transparent" },
|
|
3065
|
+
textColorToken: "text",
|
|
3066
|
+
borderRadius: "rounded-full",
|
|
3067
|
+
border: { widthClass: "border-2", colorToken: "text" },
|
|
3068
|
+
// Brown stamp shadow under the cream outline.
|
|
3069
|
+
shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "secondary" },
|
|
3070
|
+
effects: {
|
|
3071
|
+
hover: [{ effectId: "press-down" }]
|
|
3072
|
+
}
|
|
3073
|
+
}
|
|
3074
|
+
]
|
|
3075
|
+
}
|
|
3076
|
+
});
|
|
3077
|
+
|
|
2790
3078
|
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
2791
3079
|
var pebble = defineButtonPersonality({
|
|
2792
3080
|
id: "pebble",
|
|
@@ -3060,7 +3348,8 @@ var buttonPersonalities = [
|
|
|
3060
3348
|
pebble,
|
|
3061
3349
|
inkStamp,
|
|
3062
3350
|
brushedWash,
|
|
3063
|
-
showtimePill
|
|
3351
|
+
showtimePill,
|
|
3352
|
+
joyStamp
|
|
3064
3353
|
];
|
|
3065
3354
|
var personalitiesById = new Map(
|
|
3066
3355
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -3857,7 +4146,9 @@ var boxBackgroundSchema = z20.object({
|
|
|
3857
4146
|
motion: z20.enum(["static", "fixed-frame"]).nullable().optional(),
|
|
3858
4147
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
3859
4148
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
3860
|
-
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
4149
|
+
headingColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
4150
|
+
linkColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
4151
|
+
supportingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
3861
4152
|
});
|
|
3862
4153
|
var noHeadingDecorationSchema = z20.object({
|
|
3863
4154
|
family: z20.literal("none")
|
|
@@ -3920,7 +4211,8 @@ var cardStylesOverrideSchema = z20.object({
|
|
|
3920
4211
|
"editorial-rule",
|
|
3921
4212
|
"soft-panel",
|
|
3922
4213
|
"editorial-serif-quote",
|
|
3923
|
-
"editorial-open"
|
|
4214
|
+
"editorial-open",
|
|
4215
|
+
"color-blocked"
|
|
3924
4216
|
]).nullable().optional(),
|
|
3925
4217
|
// Which site-style card variant the card adopts (emits a `.card-{id}` class).
|
|
3926
4218
|
// 'none' is boxless. Driven by the block look via testimonialCardTreatment.
|
|
@@ -4745,6 +5037,30 @@ var warmNeutralForest = definePaletteVariant({
|
|
|
4745
5037
|
]
|
|
4746
5038
|
});
|
|
4747
5039
|
|
|
5040
|
+
// ../theme-core/src/palette/variants/warm-dark.ts
|
|
5041
|
+
var warmDarkEmber = definePaletteVariant({
|
|
5042
|
+
id: "warm-dark-ember",
|
|
5043
|
+
name: "Warm Dark \u2014 Ember",
|
|
5044
|
+
description: "Deep clay-brown ground with burnt-orange accent and warm cream text.",
|
|
5045
|
+
tags: { tone: "bold", energy: "vibrant", era: "organic" },
|
|
5046
|
+
mode: "dark",
|
|
5047
|
+
colors: [
|
|
5048
|
+
{ name: "primary", hex: "#ce612f" },
|
|
5049
|
+
{ name: "secondary", hex: "#894e31" },
|
|
5050
|
+
{ name: "accent", hex: "#ce612f" },
|
|
5051
|
+
{ name: "success", hex: "#6f8f57" },
|
|
5052
|
+
{ name: "warning", hex: "#c98a3c" },
|
|
5053
|
+
{ name: "destructive", hex: "#c0492f" },
|
|
5054
|
+
{ name: "background", hex: "#4f2415" },
|
|
5055
|
+
{ name: "surface", hex: "#5c3320" },
|
|
5056
|
+
{ name: "surfaceAlt", hex: "#693a25" },
|
|
5057
|
+
{ name: "muted", hex: "#6a3d27" },
|
|
5058
|
+
{ name: "text", hex: "#f0e1d0" },
|
|
5059
|
+
{ name: "primaryForeground", hex: "#4f2415" },
|
|
5060
|
+
{ name: "border", hex: "#894e31" }
|
|
5061
|
+
]
|
|
5062
|
+
});
|
|
5063
|
+
|
|
4748
5064
|
// ../theme-core/src/palette/variants/index.ts
|
|
4749
5065
|
var paletteVariants = [
|
|
4750
5066
|
// Brand-led family
|
|
@@ -4765,7 +5081,9 @@ var paletteVariants = [
|
|
|
4765
5081
|
softNaturalSage,
|
|
4766
5082
|
softNaturalStone,
|
|
4767
5083
|
softNaturalWatercolor,
|
|
4768
|
-
softNaturalLilac
|
|
5084
|
+
softNaturalLilac,
|
|
5085
|
+
// Warm-dark family (dark mode)
|
|
5086
|
+
warmDarkEmber
|
|
4769
5087
|
];
|
|
4770
5088
|
var paletteVariantsById = new Map(
|
|
4771
5089
|
paletteVariants.map((v) => [v.id, v])
|
|
@@ -5046,7 +5364,33 @@ var clarityZenCardSystem = {
|
|
|
5046
5364
|
}
|
|
5047
5365
|
]
|
|
5048
5366
|
};
|
|
5049
|
-
|
|
5367
|
+
var originalJoyCardSystem = {
|
|
5368
|
+
variants: [
|
|
5369
|
+
{
|
|
5370
|
+
id: "default",
|
|
5371
|
+
name: "Default",
|
|
5372
|
+
enabled: true,
|
|
5373
|
+
priority: 1,
|
|
5374
|
+
background: { type: "solid", colorToken: "surface" },
|
|
5375
|
+
foregroundToken: "text",
|
|
5376
|
+
spacing: "comfortable",
|
|
5377
|
+
corners: "rounded",
|
|
5378
|
+
shadow: { elevation: "none", softness: null, position: "bottom" }
|
|
5379
|
+
},
|
|
5380
|
+
{
|
|
5381
|
+
id: "alternative",
|
|
5382
|
+
name: "Statement",
|
|
5383
|
+
enabled: true,
|
|
5384
|
+
priority: 2,
|
|
5385
|
+
background: { type: "solid", colorToken: "primary" },
|
|
5386
|
+
foregroundToken: "primaryForeground",
|
|
5387
|
+
spacing: "comfortable",
|
|
5388
|
+
corners: "rounded",
|
|
5389
|
+
shadow: { elevation: "none", softness: null, position: "bottom" }
|
|
5390
|
+
}
|
|
5391
|
+
]
|
|
5392
|
+
};
|
|
5393
|
+
|
|
5050
5394
|
// ../theme-core/src/site-styles/testimonialQuotePresets.ts
|
|
5051
5395
|
var serifDisplayQuote = {
|
|
5052
5396
|
style: "serif-display"
|
|
@@ -5166,7 +5510,7 @@ function baseHeader(theme) {
|
|
|
5166
5510
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
5167
5511
|
};
|
|
5168
5512
|
}
|
|
5169
|
-
var headerLayoutCatalog = [
|
|
5513
|
+
var headerLayoutCatalog = defineExactCatalog()([
|
|
5170
5514
|
{
|
|
5171
5515
|
id: asHeaderLayoutId("classic"),
|
|
5172
5516
|
label: "Classic",
|
|
@@ -5198,11 +5542,11 @@ var headerLayoutCatalog = [
|
|
|
5198
5542
|
maxRecommendedNavItems: 5,
|
|
5199
5543
|
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
5200
5544
|
}
|
|
5201
|
-
];
|
|
5545
|
+
]);
|
|
5202
5546
|
function supportedLayouts(ids) {
|
|
5203
5547
|
return ids.map(asHeaderLayoutId);
|
|
5204
5548
|
}
|
|
5205
|
-
var headerStyleCatalog = [
|
|
5549
|
+
var headerStyleCatalog = defineExactCatalog()([
|
|
5206
5550
|
{
|
|
5207
5551
|
id: asHeaderStyleId("minimal"),
|
|
5208
5552
|
label: "Minimal",
|
|
@@ -5357,7 +5701,7 @@ var headerStyleCatalog = [
|
|
|
5357
5701
|
navTypography: "heading",
|
|
5358
5702
|
moods: ["calm", "editorial"]
|
|
5359
5703
|
}
|
|
5360
|
-
];
|
|
5704
|
+
]);
|
|
5361
5705
|
var headerLayoutsById = new Map(
|
|
5362
5706
|
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
5363
5707
|
);
|
|
@@ -5470,7 +5814,7 @@ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
|
5470
5814
|
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
5471
5815
|
]
|
|
5472
5816
|
);
|
|
5473
|
-
var legacyHeaderLookAliases = [
|
|
5817
|
+
var legacyHeaderLookAliases = defineExactCatalog()([
|
|
5474
5818
|
{
|
|
5475
5819
|
lookId: asHeaderLookId("clean-base"),
|
|
5476
5820
|
selection: {
|
|
@@ -5527,7 +5871,7 @@ var legacyHeaderLookAliases = [
|
|
|
5527
5871
|
styleId: asHeaderStyleId("glass")
|
|
5528
5872
|
}
|
|
5529
5873
|
}
|
|
5530
|
-
];
|
|
5874
|
+
]);
|
|
5531
5875
|
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
5532
5876
|
function getHeaderStyle(id) {
|
|
5533
5877
|
return headerStylesById.get(id) ?? null;
|
|
@@ -5681,6 +6025,12 @@ function serifLineHeader(theme) {
|
|
|
5681
6025
|
letterSpacing: "wide",
|
|
5682
6026
|
gradient: false
|
|
5683
6027
|
},
|
|
6028
|
+
border: {
|
|
6029
|
+
style: "solid",
|
|
6030
|
+
width: "none",
|
|
6031
|
+
position: "none"
|
|
6032
|
+
},
|
|
6033
|
+
shadow: { elevation: "none" },
|
|
5684
6034
|
ctaTreatment: "outline",
|
|
5685
6035
|
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
5686
6036
|
ctaGap: "relaxed"
|
|
@@ -5805,7 +6155,7 @@ function floatingGlassHeader(theme) {
|
|
|
5805
6155
|
}
|
|
5806
6156
|
};
|
|
5807
6157
|
}
|
|
5808
|
-
var headerLookCatalog = [
|
|
6158
|
+
var headerLookCatalog = defineExactCatalog()([
|
|
5809
6159
|
{
|
|
5810
6160
|
id: asHeaderLookId("clean-base"),
|
|
5811
6161
|
label: "Clean base",
|
|
@@ -5923,7 +6273,7 @@ var headerLookCatalog = [
|
|
|
5923
6273
|
logoAccommodations: overlayLogoAccommodations,
|
|
5924
6274
|
compile: floatingGlassHeader
|
|
5925
6275
|
}
|
|
5926
|
-
];
|
|
6276
|
+
]);
|
|
5927
6277
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
5928
6278
|
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
5929
6279
|
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
@@ -6089,7 +6439,7 @@ function editorialColumnsFooter(theme) {
|
|
|
6089
6439
|
}
|
|
6090
6440
|
};
|
|
6091
6441
|
}
|
|
6092
|
-
var footerLookCatalog = [
|
|
6442
|
+
var footerLookCatalog = defineExactCatalog()([
|
|
6093
6443
|
{
|
|
6094
6444
|
id: asFooterLookId("footer-muted-grounding"),
|
|
6095
6445
|
label: "Muted grounding footer",
|
|
@@ -6112,7 +6462,7 @@ var footerLookCatalog = [
|
|
|
6112
6462
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
6113
6463
|
compile: brandTwoBandFooter
|
|
6114
6464
|
}
|
|
6115
|
-
];
|
|
6465
|
+
]);
|
|
6116
6466
|
var footerLooksById = new Map(
|
|
6117
6467
|
footerLookCatalog.map((look) => [look.id, look])
|
|
6118
6468
|
);
|
|
@@ -6134,7 +6484,7 @@ var generatedDesignOptionCatalog = {
|
|
|
6134
6484
|
source: "generated",
|
|
6135
6485
|
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
6136
6486
|
contentFrames: generatedContentFrames,
|
|
6137
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial"],
|
|
6487
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"],
|
|
6138
6488
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
6139
6489
|
emphases: ["low", "medium", "high"],
|
|
6140
6490
|
detachedCustom: false
|
|
@@ -6146,8 +6496,15 @@ var userDesignOptionCatalog = {
|
|
|
6146
6496
|
itemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
6147
6497
|
transitions: [
|
|
6148
6498
|
...generatedDesignOptionCatalog.transitions,
|
|
6499
|
+
"soft-fade-expansive",
|
|
6149
6500
|
"wave-edge",
|
|
6150
|
-
"
|
|
6501
|
+
"wave-edge-balanced",
|
|
6502
|
+
"wave-edge-gentle",
|
|
6503
|
+
"wave-edge-bold",
|
|
6504
|
+
"wave-edge-drift",
|
|
6505
|
+
"angle-edge",
|
|
6506
|
+
"angle-edge-subtle",
|
|
6507
|
+
"angle-edge-steep"
|
|
6151
6508
|
],
|
|
6152
6509
|
emphases: generatedDesignOptionCatalog.emphases,
|
|
6153
6510
|
detachedCustom: false
|
|
@@ -6328,6 +6685,29 @@ var boldDisplayTypography = {
|
|
|
6328
6685
|
},
|
|
6329
6686
|
scale: "balanced"
|
|
6330
6687
|
};
|
|
6688
|
+
var originalJoyTypography = {
|
|
6689
|
+
body: {
|
|
6690
|
+
family: "DM Sans, system-ui, sans-serif",
|
|
6691
|
+
size: "md",
|
|
6692
|
+
weight: "regular",
|
|
6693
|
+
lineHeight: "relaxed",
|
|
6694
|
+
letterSpacing: "normal"
|
|
6695
|
+
},
|
|
6696
|
+
headings: {
|
|
6697
|
+
default: {
|
|
6698
|
+
family: "Bricolage Grotesque, system-ui, sans-serif",
|
|
6699
|
+
weight: "bold",
|
|
6700
|
+
lineHeight: "normal",
|
|
6701
|
+
letterSpacing: "tight",
|
|
6702
|
+
italic: null,
|
|
6703
|
+
case: null
|
|
6704
|
+
},
|
|
6705
|
+
h1: { size: "2xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6706
|
+
h2: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6707
|
+
h3: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null }
|
|
6708
|
+
},
|
|
6709
|
+
scale: "balanced"
|
|
6710
|
+
};
|
|
6331
6711
|
var typographyPresets = [
|
|
6332
6712
|
defineTypographyPreset({
|
|
6333
6713
|
id: "typography-preset:modern-sans",
|
|
@@ -6414,6 +6794,32 @@ var typographyPresets = [
|
|
|
6414
6794
|
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
6415
6795
|
}
|
|
6416
6796
|
}
|
|
6797
|
+
}),
|
|
6798
|
+
defineTypographyPreset({
|
|
6799
|
+
id: "typography-preset:original-joy",
|
|
6800
|
+
name: "Original Joy",
|
|
6801
|
+
description: "Bold Bricolage Grotesque display headings over a clean DM Sans body, editorial and warm.",
|
|
6802
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Bricolage Grotesque, system-ui, sans-serif" },
|
|
6803
|
+
recommendedFonts: {
|
|
6804
|
+
body: ["DM Sans", "Inter", "Manrope"],
|
|
6805
|
+
heading: ["Bricolage Grotesque", "Space Grotesk", "Archivo"]
|
|
6806
|
+
},
|
|
6807
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
6808
|
+
typography: originalJoyTypography,
|
|
6809
|
+
heroTypography: {
|
|
6810
|
+
headlineSize: "6xl",
|
|
6811
|
+
headlineLineHeight: "tight",
|
|
6812
|
+
subheadlineSize: "xl",
|
|
6813
|
+
subheadlineLineHeight: "normal",
|
|
6814
|
+
microHeadlineSize: "6xl",
|
|
6815
|
+
microHeadlineLineHeight: "tight",
|
|
6816
|
+
microSubheadlineSize: "lg",
|
|
6817
|
+
microSubheadlineLineHeight: "normal",
|
|
6818
|
+
responsive: {
|
|
6819
|
+
tablet: { headlineSize: "5xl" },
|
|
6820
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
6821
|
+
}
|
|
6822
|
+
}
|
|
6417
6823
|
})
|
|
6418
6824
|
];
|
|
6419
6825
|
var typographyPresetsById = new Map(
|
|
@@ -6437,7 +6843,8 @@ var curatedSiteStyleIdValues = [
|
|
|
6437
6843
|
"site-style:clarity-zen-blue",
|
|
6438
6844
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
6439
6845
|
"site-style:bold-launch",
|
|
6440
|
-
"site-style:south-west-twerk-school"
|
|
6846
|
+
"site-style:south-west-twerk-school",
|
|
6847
|
+
"site-style:original-joy"
|
|
6441
6848
|
];
|
|
6442
6849
|
var quietBudget = {
|
|
6443
6850
|
accentDensity: "low",
|
|
@@ -7483,7 +7890,7 @@ var curatedSiteStyles = [
|
|
|
7483
7890
|
"body-text-editorial-intro",
|
|
7484
7891
|
"schedule-details-brand-depth",
|
|
7485
7892
|
"testimonials-statement-cards",
|
|
7486
|
-
"contact-form-
|
|
7893
|
+
"contact-form-panel"
|
|
7487
7894
|
],
|
|
7488
7895
|
recommendedHeaderLookIds: [
|
|
7489
7896
|
"brand-solid",
|
|
@@ -7506,6 +7913,74 @@ var curatedSiteStyles = [
|
|
|
7506
7913
|
paletteChoice("brand-led-warm"),
|
|
7507
7914
|
paletteChoice("high-contrast-ink")
|
|
7508
7915
|
]
|
|
7916
|
+
}),
|
|
7917
|
+
defineCuratedSiteStyle({
|
|
7918
|
+
id: "site-style:original-joy",
|
|
7919
|
+
name: "Original Joy",
|
|
7920
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
7921
|
+
description: "Warm, dark, and editorial: deep clay grounds, cream type, and bold burnt-orange accents for soulful community brands.",
|
|
7922
|
+
generationBrief: "Use a deep brown ground with cream text and burnt-orange accents, large display headings, generous spacing, organic rounded shapes, and bold colour-blocked feature sections. Lead with warmth and belonging; calls to action should feel strong but unhurried.",
|
|
7923
|
+
tokenRecipes: {
|
|
7924
|
+
palette: "brand-led",
|
|
7925
|
+
contrast: "maximum",
|
|
7926
|
+
radius: "rounded",
|
|
7927
|
+
shadow: "subtle",
|
|
7928
|
+
typography: "clean-sans",
|
|
7929
|
+
spacing: "airy",
|
|
7930
|
+
motion: "expressive"
|
|
7931
|
+
},
|
|
7932
|
+
compositionBudget: expressiveBudget,
|
|
7933
|
+
typographyPresetChoices: [
|
|
7934
|
+
typographyChoice("typography-preset:original-joy"),
|
|
7935
|
+
typographyChoice("typography-preset:bold-display"),
|
|
7936
|
+
typographyChoice("typography-preset:modern-sans")
|
|
7937
|
+
],
|
|
7938
|
+
defaultTypographyPresetId: "typography-preset:original-joy",
|
|
7939
|
+
themeOverrides: {
|
|
7940
|
+
accordions: boldBorderedAccordionSystem,
|
|
7941
|
+
// Shared card system: warm rounded brown cards (event + testimonial cards
|
|
7942
|
+
// pick this up automatically) with a burnt-orange statement variant.
|
|
7943
|
+
cards: originalJoyCardSystem,
|
|
7944
|
+
testimonialQuote: accentGlyphQuote,
|
|
7945
|
+
bodyText: {
|
|
7946
|
+
intro: {
|
|
7947
|
+
paragraphSize: "editorial",
|
|
7948
|
+
headingSize: "editorial"
|
|
7949
|
+
}
|
|
7950
|
+
}
|
|
7951
|
+
},
|
|
7952
|
+
// Recommended block looks: the bold colour-blocked feature cards, a calm
|
|
7953
|
+
// band for the events spotlight, and statement testimonial cards.
|
|
7954
|
+
recommendedAppearancePresetIds: [
|
|
7955
|
+
"feature-cards-bold-colors",
|
|
7956
|
+
"offerings-calm-list",
|
|
7957
|
+
"testimonials-statement-cards"
|
|
7958
|
+
],
|
|
7959
|
+
// Floating, transparent "Clear Split" header (no fill behind the nav links).
|
|
7960
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
7961
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
7962
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
7963
|
+
floating: [
|
|
7964
|
+
headerStyleChoice("minimal-surface"),
|
|
7965
|
+
headerStyleChoice("split-glass"),
|
|
7966
|
+
headerStyleChoice("glass")
|
|
7967
|
+
]
|
|
7968
|
+
},
|
|
7969
|
+
// Legacy bridge only (the real curation is the explicit selection above).
|
|
7970
|
+
// Kept to a reserved-space, non-overlay look on purpose: the split hero
|
|
7971
|
+
// flows below the Clear Split header, so we must NOT trigger the immersive
|
|
7972
|
+
// overlay-hero promotion that looks like `floating-glass` would force.
|
|
7973
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
7974
|
+
recommendedFooterLookIds: [
|
|
7975
|
+
"site-footer-brand-two-band",
|
|
7976
|
+
"footer-muted-grounding"
|
|
7977
|
+
],
|
|
7978
|
+
buttonPersonalityChoices: [
|
|
7979
|
+
buttonChoice("joy-stamp"),
|
|
7980
|
+
buttonChoice("ink-stamp"),
|
|
7981
|
+
buttonChoice("showtime-pill")
|
|
7982
|
+
],
|
|
7983
|
+
paletteVariantChoices: [paletteChoice("warm-dark-ember")]
|
|
7509
7984
|
})
|
|
7510
7985
|
];
|
|
7511
7986
|
var curatedSiteStylesById = new Map(
|
|
@@ -7521,26 +7996,6 @@ var microHeroLayoutVariantKey = asLayoutVariantKey("micro");
|
|
|
7521
7996
|
var waveBoundaryOptionId = asBoundaryOptionId("break:wave");
|
|
7522
7997
|
|
|
7523
7998
|
// ../theme-core/src/site-styles/pageDesignEditorModel.ts
|
|
7524
|
-
var noneBoundaryOption = {
|
|
7525
|
-
id: asBoundaryOptionId("break:none"),
|
|
7526
|
-
label: "None",
|
|
7527
|
-
transitionAfter: "none"
|
|
7528
|
-
};
|
|
7529
|
-
var softBoundaryOption = {
|
|
7530
|
-
id: asBoundaryOptionId("break:soft"),
|
|
7531
|
-
label: "Soft",
|
|
7532
|
-
transitionAfter: "soft-fade-short"
|
|
7533
|
-
};
|
|
7534
|
-
var waveBoundaryOption = {
|
|
7535
|
-
id: asBoundaryOptionId("break:wave"),
|
|
7536
|
-
label: "Wave",
|
|
7537
|
-
transitionAfter: "wave-edge"
|
|
7538
|
-
};
|
|
7539
|
-
var spaciousBoundaryOption = {
|
|
7540
|
-
id: asBoundaryOptionId("break:spacious"),
|
|
7541
|
-
label: "Spacious",
|
|
7542
|
-
transitionAfter: "soft-fade-long"
|
|
7543
|
-
};
|
|
7544
7999
|
var pageFlowPresets = [
|
|
7545
8000
|
{
|
|
7546
8001
|
id: asPageFlowPresetId("flow:quiet"),
|
|
@@ -7740,8 +8195,7 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
7740
8195
|
type: "image",
|
|
7741
8196
|
opacity: 1,
|
|
7742
8197
|
position: "center center",
|
|
7743
|
-
|
|
7744
|
-
headingColor: "text"
|
|
8198
|
+
...uniformSectionForeground("text")
|
|
7745
8199
|
}
|
|
7746
8200
|
}
|
|
7747
8201
|
},
|
|
@@ -7851,9 +8305,30 @@ var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
|
7851
8305
|
border: {
|
|
7852
8306
|
enabled: false
|
|
7853
8307
|
}
|
|
8308
|
+
},
|
|
8309
|
+
"color-blocked": {
|
|
8310
|
+
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
8311
|
+
// (by position) and staggered offset live in
|
|
8312
|
+
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
8313
|
+
// generous padding, large radius, no border, flat (no shadow).
|
|
8314
|
+
treatment: "color-blocked",
|
|
8315
|
+
spacing: "spacious",
|
|
8316
|
+
rounded: "2xl",
|
|
8317
|
+
raised: false,
|
|
8318
|
+
border: {
|
|
8319
|
+
enabled: false
|
|
8320
|
+
}
|
|
7854
8321
|
}
|
|
7855
8322
|
}
|
|
7856
8323
|
});
|
|
8324
|
+
function uniformSectionForeground(token) {
|
|
8325
|
+
return {
|
|
8326
|
+
textColor: token,
|
|
8327
|
+
headingColor: token,
|
|
8328
|
+
linkColor: token,
|
|
8329
|
+
supportingColor: token
|
|
8330
|
+
};
|
|
8331
|
+
}
|
|
7857
8332
|
|
|
7858
8333
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
7859
8334
|
import { z as z23 } from "zod";
|
|
@@ -9751,46 +10226,6 @@ function sectionState(opts) {
|
|
|
9751
10226
|
);
|
|
9752
10227
|
}
|
|
9753
10228
|
|
|
9754
|
-
// ../blocks/src/system/node/fragments/headingDecoration.ts
|
|
9755
|
-
var defaultBindFrom = "_sectionStyles.headingDecoration";
|
|
9756
|
-
function headingDecoration({
|
|
9757
|
-
bindFrom = defaultBindFrom,
|
|
9758
|
-
className
|
|
9759
|
-
} = {}) {
|
|
9760
|
-
return el(
|
|
9761
|
-
"div",
|
|
9762
|
-
// Full-width block row so the mark inherits the heading's alignment. The
|
|
9763
|
-
// heading stacks are flexbox; `text-align` positions inline content, not flex
|
|
9764
|
-
// items, so the inline-block mark must sit inside a stretched block for a
|
|
9765
|
-
// centred heading to centre it (and a left heading to keep it at the start).
|
|
9766
|
-
{ "aria-hidden": "true", className: "rb-heading-decoration-row" },
|
|
9767
|
-
[
|
|
9768
|
-
el("div", {
|
|
9769
|
-
className: {
|
|
9770
|
-
$bind: {
|
|
9771
|
-
from: bindFrom,
|
|
9772
|
-
transforms: [
|
|
9773
|
-
{
|
|
9774
|
-
id: "ui.headingDecorationClassName",
|
|
9775
|
-
options: { baseClass: className }
|
|
9776
|
-
}
|
|
9777
|
-
]
|
|
9778
|
-
}
|
|
9779
|
-
}
|
|
9780
|
-
})
|
|
9781
|
-
],
|
|
9782
|
-
// Gate on the presence of `family`. The render-time theme projection omits
|
|
9783
|
-
// `headingDecoration` entirely for absent/none signatures, so the
|
|
9784
|
-
// dominant "no decoration" case is absent → falsy → not rendered. A presence
|
|
9785
|
-
// check (rather than `family !== 'none'`) is deliberate: `when`'s only
|
|
9786
|
-
// negation form would render on *absent* values, which would emit a stub on
|
|
9787
|
-
// every undecorated heading. The remaining edge — hand-authored content with
|
|
9788
|
-
// an explicit `{ family: 'none' }` — renders an aria-hidden `rb-hidden`
|
|
9789
|
-
// (display:none) stub with no visual or layout impact.
|
|
9790
|
-
when(`${bindFrom}.family`)
|
|
9791
|
-
);
|
|
9792
|
-
}
|
|
9793
|
-
|
|
9794
10229
|
// ../blocks/src/system/fragments/types.ts
|
|
9795
10230
|
import { z as z26 } from "zod";
|
|
9796
10231
|
var FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
|
|
@@ -10263,6 +10698,9 @@ var heroCopyFragment = defineFragment({
|
|
|
10263
10698
|
maxLength: 600
|
|
10264
10699
|
}
|
|
10265
10700
|
],
|
|
10701
|
+
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
10702
|
+
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
10703
|
+
// (it fails fast at import if the count changes).
|
|
10266
10704
|
layout: [
|
|
10267
10705
|
text(
|
|
10268
10706
|
{
|
|
@@ -10485,6 +10923,7 @@ var heroCtaRowFragment = defineFragment({
|
|
|
10485
10923
|
ctaRow({
|
|
10486
10924
|
collectionPath: "content.ctas",
|
|
10487
10925
|
itemName: "cta",
|
|
10926
|
+
gap: "md",
|
|
10488
10927
|
justify: {
|
|
10489
10928
|
$bind: {
|
|
10490
10929
|
from: "content",
|
|
@@ -10570,7 +11009,6 @@ var testimonialsHeadingFragment = defineFragment({
|
|
|
10570
11009
|
when("content.heading"),
|
|
10571
11010
|
bind("content.heading")
|
|
10572
11011
|
),
|
|
10573
|
-
headingDecoration(),
|
|
10574
11012
|
text(
|
|
10575
11013
|
{
|
|
10576
11014
|
as: "p",
|
|
@@ -11201,7 +11639,7 @@ var blogFeaturedPostFragment = defineFragment({
|
|
|
11201
11639
|
});
|
|
11202
11640
|
|
|
11203
11641
|
// ../blocks/src/system/fragments/library/faqHeading.ts
|
|
11204
|
-
function faqHeadingLayout(
|
|
11642
|
+
function faqHeadingLayout() {
|
|
11205
11643
|
return stack(
|
|
11206
11644
|
{
|
|
11207
11645
|
gap: "sm",
|
|
@@ -11226,7 +11664,6 @@ function faqHeadingLayout(options = {}) {
|
|
|
11226
11664
|
when("content.title"),
|
|
11227
11665
|
bind("content.title")
|
|
11228
11666
|
),
|
|
11229
|
-
...options.decorated ? [headingDecoration()] : [],
|
|
11230
11667
|
richText(
|
|
11231
11668
|
{
|
|
11232
11669
|
className: "faq-description rb-prose rb-mx-auto rb-max-w-none",
|
|
@@ -11268,7 +11705,6 @@ var faqHeadingFragment = defineFragment({
|
|
|
11268
11705
|
],
|
|
11269
11706
|
layout: faqHeadingLayout()
|
|
11270
11707
|
});
|
|
11271
|
-
var decoratedFaqHeadingLayout = faqHeadingLayout({ decorated: true });
|
|
11272
11708
|
|
|
11273
11709
|
// ../blocks/src/system/fragments/library/faqAccordion.ts
|
|
11274
11710
|
function createFaqAccordionLayout(options = {}) {
|
|
@@ -12425,12 +12861,38 @@ function splitLayoutWith(children) {
|
|
|
12425
12861
|
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
12426
12862
|
var splitImageColumn = heroSplitImagePane();
|
|
12427
12863
|
var splitLayout = splitLayoutWith([
|
|
12864
|
+
splitImageColumn,
|
|
12865
|
+
splitContentColumn
|
|
12866
|
+
]);
|
|
12867
|
+
var splitReverseLayout = splitLayoutWith([
|
|
12428
12868
|
splitContentColumn,
|
|
12429
12869
|
splitImageColumn
|
|
12430
12870
|
]);
|
|
12431
|
-
var
|
|
12432
|
-
|
|
12433
|
-
|
|
12871
|
+
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
12872
|
+
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
12873
|
+
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
12874
|
+
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
12875
|
+
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
12876
|
+
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
12877
|
+
}
|
|
12878
|
+
var heroEditorialBottomRow = inline(
|
|
12879
|
+
{
|
|
12880
|
+
gap: "lg",
|
|
12881
|
+
align: "end",
|
|
12882
|
+
justify: "start",
|
|
12883
|
+
wrap: true,
|
|
12884
|
+
className: "rb-w-full"
|
|
12885
|
+
},
|
|
12886
|
+
[heroSubheadlineNode, heroCtaRowNode]
|
|
12887
|
+
);
|
|
12888
|
+
var splitEditorialContentColumn = heroContentWrapper(
|
|
12889
|
+
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
12890
|
+
"md",
|
|
12891
|
+
"rb-w-full rb-text-left"
|
|
12892
|
+
);
|
|
12893
|
+
var splitEditorialLayout = splitLayoutWith([
|
|
12894
|
+
splitEditorialContentColumn,
|
|
12895
|
+
splitImageColumn
|
|
12434
12896
|
]);
|
|
12435
12897
|
var heroConfig = {
|
|
12436
12898
|
id: "block.hero",
|
|
@@ -12457,7 +12919,8 @@ var heroConfig = {
|
|
|
12457
12919
|
classic: classicLayout,
|
|
12458
12920
|
micro: microLayout,
|
|
12459
12921
|
split: splitLayout,
|
|
12460
|
-
splitReverse: splitReverseLayout
|
|
12922
|
+
splitReverse: splitReverseLayout,
|
|
12923
|
+
splitEditorial: splitEditorialLayout
|
|
12461
12924
|
},
|
|
12462
12925
|
defaultVariant: "classic",
|
|
12463
12926
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -12572,18 +13035,6 @@ function introHeading(className) {
|
|
|
12572
13035
|
bind("content.title")
|
|
12573
13036
|
);
|
|
12574
13037
|
}
|
|
12575
|
-
function introHeadingGroup(className) {
|
|
12576
|
-
return stack(
|
|
12577
|
-
{
|
|
12578
|
-
gap: "sm",
|
|
12579
|
-
className: "rb-intro-heading-group"
|
|
12580
|
-
},
|
|
12581
|
-
[
|
|
12582
|
-
introHeading(className),
|
|
12583
|
-
headingDecoration()
|
|
12584
|
-
]
|
|
12585
|
-
);
|
|
12586
|
-
}
|
|
12587
13038
|
function introBody(className = "rb-prose rb-max-w-none") {
|
|
12588
13039
|
return richText({ className }, bind("content.body"));
|
|
12589
13040
|
}
|
|
@@ -12602,7 +13053,6 @@ function introCopyStack(options = {}) {
|
|
|
12602
13053
|
},
|
|
12603
13054
|
[
|
|
12604
13055
|
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
12605
|
-
headingDecoration(),
|
|
12606
13056
|
introBody(options.bodyClassName),
|
|
12607
13057
|
introCtas(options.ctaJustify)
|
|
12608
13058
|
]
|
|
@@ -12642,7 +13092,7 @@ var statementCopyLayout = styledSection({
|
|
|
12642
13092
|
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
12643
13093
|
},
|
|
12644
13094
|
[
|
|
12645
|
-
|
|
13095
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
12646
13096
|
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
12647
13097
|
introBody(),
|
|
12648
13098
|
introCtas("start")
|
|
@@ -12663,7 +13113,7 @@ var statementMediaLayout = styledSection({
|
|
|
12663
13113
|
className: "rb-intro rb-intro-statement-media rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-3 rb-lg-items-center"
|
|
12664
13114
|
},
|
|
12665
13115
|
[
|
|
12666
|
-
|
|
13116
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
12667
13117
|
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
12668
13118
|
introBody(),
|
|
12669
13119
|
introCtas("start")
|
|
@@ -13606,16 +14056,59 @@ var formComposition = composeFragments([
|
|
|
13606
14056
|
{ fragment: formCopyFragment },
|
|
13607
14057
|
{ fragment: formEmbedFragment }
|
|
13608
14058
|
]);
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
14059
|
+
function fragmentLayoutNode(layout) {
|
|
14060
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
14061
|
+
}
|
|
14062
|
+
function isNodeDefinitionArray(layout) {
|
|
14063
|
+
return Array.isArray(layout);
|
|
14064
|
+
}
|
|
14065
|
+
var copyLayout = fragmentLayoutNode(formCopyFragment.layout);
|
|
14066
|
+
var embedLayout = fragmentLayoutNode(formEmbedFragment.layout);
|
|
14067
|
+
var formSurface = styledContainer({
|
|
14068
|
+
bindFrom: "_containerStyles",
|
|
14069
|
+
constrainWidth: false,
|
|
14070
|
+
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-hidden",
|
|
14071
|
+
children: embedLayout
|
|
14072
|
+
});
|
|
14073
|
+
function createFormLayout(variant) {
|
|
14074
|
+
if (variant === "two-column") {
|
|
14075
|
+
return styledSection({
|
|
14076
|
+
children: el(
|
|
14077
|
+
"div",
|
|
14078
|
+
{
|
|
14079
|
+
className: "rb-container"
|
|
14080
|
+
},
|
|
14081
|
+
[
|
|
14082
|
+
el(
|
|
14083
|
+
"div",
|
|
14084
|
+
{
|
|
14085
|
+
className: "rb-form-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
14086
|
+
},
|
|
14087
|
+
[
|
|
14088
|
+
stack({ gap: "md", className: "rb-form-copy-column" }, [copyLayout]),
|
|
14089
|
+
formSurface
|
|
14090
|
+
]
|
|
14091
|
+
)
|
|
14092
|
+
]
|
|
14093
|
+
),
|
|
14094
|
+
baseClass: "",
|
|
14095
|
+
spacing: "medium",
|
|
14096
|
+
background: "surface"
|
|
14097
|
+
});
|
|
14098
|
+
}
|
|
14099
|
+
return styledSection({
|
|
14100
|
+
children: styledContainer({
|
|
14101
|
+
rootType: "stack",
|
|
14102
|
+
rootProps: { gap: "lg" },
|
|
14103
|
+
children: formComposition.layout
|
|
14104
|
+
}),
|
|
14105
|
+
baseClass: "",
|
|
14106
|
+
spacing: "medium",
|
|
14107
|
+
background: "surface"
|
|
14108
|
+
});
|
|
14109
|
+
}
|
|
14110
|
+
var formLayout = createFormLayout("default");
|
|
14111
|
+
var twoColumnFormLayout = createFormLayout("two-column");
|
|
13619
14112
|
var dataLoaders = buildFragmentDataLoaders(formComposition);
|
|
13620
14113
|
var formManifest = createBlockManifest({
|
|
13621
14114
|
id: "block.form",
|
|
@@ -13628,6 +14121,23 @@ var formManifest = createBlockManifest({
|
|
|
13628
14121
|
{ fragment: formEmbedFragment }
|
|
13629
14122
|
],
|
|
13630
14123
|
layout: formLayout,
|
|
14124
|
+
variants: {
|
|
14125
|
+
default: formLayout,
|
|
14126
|
+
"two-column": twoColumnFormLayout
|
|
14127
|
+
},
|
|
14128
|
+
defaultVariant: "default",
|
|
14129
|
+
variantOptions: {
|
|
14130
|
+
default: {
|
|
14131
|
+
label: "Stacked",
|
|
14132
|
+
description: "Copy above the form.",
|
|
14133
|
+
icon: "PanelTop"
|
|
14134
|
+
},
|
|
14135
|
+
"two-column": {
|
|
14136
|
+
label: "Two column",
|
|
14137
|
+
description: "Copy on the left and form on the right.",
|
|
14138
|
+
icon: "Columns2"
|
|
14139
|
+
}
|
|
14140
|
+
},
|
|
13631
14141
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
13632
14142
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: false },
|
|
13633
14143
|
category: "interactive",
|
|
@@ -13653,15 +14163,14 @@ var formBlockDefinition = {
|
|
|
13653
14163
|
};
|
|
13654
14164
|
|
|
13655
14165
|
// ../blocks/src/system/blocks/faq.ts
|
|
13656
|
-
function
|
|
13657
|
-
return
|
|
14166
|
+
function fragmentLayoutNode2(layout) {
|
|
14167
|
+
return isNodeDefinitionArray2(layout) ? el("div", {}, [...layout]) : layout;
|
|
13658
14168
|
}
|
|
13659
|
-
function
|
|
14169
|
+
function isNodeDefinitionArray2(layout) {
|
|
13660
14170
|
return Array.isArray(layout);
|
|
13661
14171
|
}
|
|
13662
|
-
var headingLayout =
|
|
13663
|
-
var accordionLayout =
|
|
13664
|
-
var decoratedHeadingLayout = fragmentLayoutNode(decoratedFaqHeadingLayout);
|
|
14172
|
+
var headingLayout = fragmentLayoutNode2(faqHeadingFragment.layout);
|
|
14173
|
+
var accordionLayout = fragmentLayoutNode2(faqAccordionFragment.layout);
|
|
13665
14174
|
var questionColumnsAccordionLayout = createFaqAccordionLayout({
|
|
13666
14175
|
rootClassName: "accordion-root rb-faq-question-columns rb-grid rb-grid-cols-1 rb-gap-4 rb-lg-grid-cols-2"
|
|
13667
14176
|
});
|
|
@@ -13669,7 +14178,7 @@ var defaultLayout = styledSection({
|
|
|
13669
14178
|
children: styledContainer({
|
|
13670
14179
|
baseClassName: "rb-relative rb-isolate",
|
|
13671
14180
|
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, [
|
|
13672
|
-
|
|
14181
|
+
headingLayout,
|
|
13673
14182
|
accordionLayout
|
|
13674
14183
|
])
|
|
13675
14184
|
}),
|
|
@@ -13697,7 +14206,7 @@ var questionColumnsLayout = styledSection({
|
|
|
13697
14206
|
children: stack(
|
|
13698
14207
|
{ gap: "xl", className: "rb-w-full" },
|
|
13699
14208
|
[
|
|
13700
|
-
|
|
14209
|
+
headingLayout,
|
|
13701
14210
|
questionColumnsAccordionLayout
|
|
13702
14211
|
]
|
|
13703
14212
|
)
|
|
@@ -14155,7 +14664,7 @@ var floatingLayout = inline(
|
|
|
14155
14664
|
),
|
|
14156
14665
|
fallback: `rb-header-layout header-floating-container rb-absolute rb-left-1/2 rb-top-4 ${desktopOnlyDisplay("flex")} rb-w-calc-100-minus-2rem rb-max-w-7xl rb-translate-x-neg-1/2 rb-items-start rb-gap-6 rb-px-6`
|
|
14157
14666
|
}),
|
|
14158
|
-
align: "
|
|
14667
|
+
align: "start"
|
|
14159
14668
|
},
|
|
14160
14669
|
[
|
|
14161
14670
|
logoRow,
|
|
@@ -14674,7 +15183,6 @@ var splitHeading = stack(
|
|
|
14674
15183
|
when("content.heading"),
|
|
14675
15184
|
bind("content.heading")
|
|
14676
15185
|
),
|
|
14677
|
-
headingDecoration(),
|
|
14678
15186
|
text(
|
|
14679
15187
|
{
|
|
14680
15188
|
as: "p",
|
|
@@ -15212,7 +15720,6 @@ var sectionHeading = stack(
|
|
|
15212
15720
|
when("content.title"),
|
|
15213
15721
|
bind("content.title")
|
|
15214
15722
|
),
|
|
15215
|
-
headingDecoration(),
|
|
15216
15723
|
richText(
|
|
15217
15724
|
{
|
|
15218
15725
|
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
@@ -15245,6 +15752,17 @@ var featureCard = styledCard(
|
|
|
15245
15752
|
null,
|
|
15246
15753
|
bind("card.icon")
|
|
15247
15754
|
),
|
|
15755
|
+
// Auto-numbered marker (01, 02, …). Always in the DOM; CSS shows it only
|
|
15756
|
+
// when cardMarker === 'numbers' and fills it via a counter. Its own class
|
|
15757
|
+
// (not the icon zone) so the icon-zone collapse behaviour is unaffected.
|
|
15758
|
+
el(
|
|
15759
|
+
"div",
|
|
15760
|
+
{
|
|
15761
|
+
className: "rb-feature-card-number-zone",
|
|
15762
|
+
"aria-hidden": "true"
|
|
15763
|
+
},
|
|
15764
|
+
null
|
|
15765
|
+
),
|
|
15248
15766
|
text(
|
|
15249
15767
|
{
|
|
15250
15768
|
as: "h3",
|
|
@@ -15284,6 +15802,12 @@ var cardsLayout = styledSection({
|
|
|
15284
15802
|
sectionHeading,
|
|
15285
15803
|
grid3(
|
|
15286
15804
|
{
|
|
15805
|
+
className: "rb-feature-cards-grid",
|
|
15806
|
+
// Drives which marker shows (icons / numbers / none) via CSS; the
|
|
15807
|
+
// fallback keeps legacy content (no cardMarker) showing icons.
|
|
15808
|
+
"data-card-marker": {
|
|
15809
|
+
$bind: { from: "content.cardMarker", fallback: "icons" }
|
|
15810
|
+
},
|
|
15287
15811
|
cols: {
|
|
15288
15812
|
$bind: {
|
|
15289
15813
|
from: "content.columns",
|
|
@@ -15411,6 +15935,20 @@ var featureCardsConfig = {
|
|
|
15411
15935
|
]
|
|
15412
15936
|
}
|
|
15413
15937
|
},
|
|
15938
|
+
{
|
|
15939
|
+
id: "cardMarker",
|
|
15940
|
+
type: "select",
|
|
15941
|
+
label: "Card marker",
|
|
15942
|
+
required: false,
|
|
15943
|
+
defaultValue: "icons",
|
|
15944
|
+
multiple: false,
|
|
15945
|
+
options: [
|
|
15946
|
+
{ value: "icons", label: "Icons" },
|
|
15947
|
+
{ value: "numbers", label: "Numbers (01, 02, \u2026)" },
|
|
15948
|
+
{ value: "none", label: "None" }
|
|
15949
|
+
],
|
|
15950
|
+
ui: { intent: "display" }
|
|
15951
|
+
},
|
|
15414
15952
|
{
|
|
15415
15953
|
id: "_iconTreatment",
|
|
15416
15954
|
type: "select",
|
|
@@ -16179,6 +16717,22 @@ var eventCategorySchema = z35.object({
|
|
|
16179
16717
|
var pricingTypeSchema = z35.enum(["free", "paid", "pass_only", "membership_only"]);
|
|
16180
16718
|
var accessRestrictionSchema = z35.enum(["none", "category"]);
|
|
16181
16719
|
var eventPricingModeSchema = z35.enum(["single", "ticket_types"]);
|
|
16720
|
+
var publicCoursePriceDisplaySchema = z35.discriminatedUnion("kind", [
|
|
16721
|
+
z35.object({ kind: z35.literal("free"), currency: z35.string() }),
|
|
16722
|
+
z35.object({ kind: z35.literal("exact"), amount: z35.number(), currency: z35.string() }),
|
|
16723
|
+
z35.object({ kind: z35.literal("from"), amount: z35.number(), currency: z35.string() }),
|
|
16724
|
+
z35.object({ kind: z35.literal("unavailable"), currency: z35.string() })
|
|
16725
|
+
]);
|
|
16726
|
+
var publicEventPriceDisplaySchema = z35.discriminatedUnion("kind", [
|
|
16727
|
+
z35.object({ kind: z35.literal("free"), currency: z35.string() }),
|
|
16728
|
+
z35.object({ kind: z35.literal("exact"), amount: z35.number(), currency: z35.string() }),
|
|
16729
|
+
z35.object({ kind: z35.literal("from"), amount: z35.number(), currency: z35.string() }),
|
|
16730
|
+
z35.object({ kind: z35.literal("mixed"), paidFromAmount: z35.number(), currency: z35.string() }),
|
|
16731
|
+
z35.object({ kind: z35.literal("pass_only") }),
|
|
16732
|
+
z35.object({ kind: z35.literal("membership_only") }),
|
|
16733
|
+
z35.object({ kind: z35.literal("unavailable"), currency: z35.string() }),
|
|
16734
|
+
z35.object({ kind: z35.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
16735
|
+
]);
|
|
16182
16736
|
var publicEventAttendanceModeSchema = z35.enum(["in_person", "online"]);
|
|
16183
16737
|
var publicEventAttendanceModeAvailabilitySchema = z35.object({
|
|
16184
16738
|
mode: publicEventAttendanceModeSchema,
|
|
@@ -16260,6 +16814,7 @@ var publicEventSchema = z35.object({
|
|
|
16260
16814
|
pricingType: pricingTypeSchema,
|
|
16261
16815
|
price: z35.number().nullable(),
|
|
16262
16816
|
currency: z35.string(),
|
|
16817
|
+
priceDisplay: publicEventPriceDisplaySchema,
|
|
16263
16818
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
16264
16819
|
pricingMode: eventPricingModeSchema.optional(),
|
|
16265
16820
|
ticketTypes: z35.array(publicEventTicketTypeSchema).optional(),
|
|
@@ -16305,7 +16860,7 @@ var cardStylingFields = [
|
|
|
16305
16860
|
description: "Text for the event action button",
|
|
16306
16861
|
required: false,
|
|
16307
16862
|
multiline: false,
|
|
16308
|
-
defaultValue: "Book
|
|
16863
|
+
defaultValue: "Book",
|
|
16309
16864
|
maxLength: 40
|
|
16310
16865
|
}
|
|
16311
16866
|
];
|
|
@@ -17658,7 +18213,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
17658
18213
|
};
|
|
17659
18214
|
|
|
17660
18215
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
17661
|
-
import { z as
|
|
18216
|
+
import { z as z44 } from "zod";
|
|
17662
18217
|
|
|
17663
18218
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
17664
18219
|
var COLUMN_CLASSES = {
|
|
@@ -17688,92 +18243,130 @@ function getCardOrientation(layout) {
|
|
|
17688
18243
|
}
|
|
17689
18244
|
}
|
|
17690
18245
|
|
|
18246
|
+
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
18247
|
+
import { z as z43 } from "zod";
|
|
18248
|
+
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
18249
|
+
var eventPageSizeSchema = z43.union([
|
|
18250
|
+
z43.literal(3),
|
|
18251
|
+
z43.literal(6),
|
|
18252
|
+
z43.literal(10),
|
|
18253
|
+
z43.literal(12),
|
|
18254
|
+
z43.literal(20),
|
|
18255
|
+
z43.literal(24),
|
|
18256
|
+
z43.literal(30)
|
|
18257
|
+
]);
|
|
18258
|
+
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
18259
|
+
function resolveEventPageSize(value, fallback = 12) {
|
|
18260
|
+
const candidate = typeof value === "number" ? value : typeof value === "string" && value.trim() !== "" ? Number(value.trim()) : null;
|
|
18261
|
+
return candidate != null && Number.isInteger(candidate) && eventPageSizeSet.has(candidate) ? candidate : fallback;
|
|
18262
|
+
}
|
|
18263
|
+
function resolveEventCalendarListPageSize(input) {
|
|
18264
|
+
return resolveEventPageSize(input.eventsPerPage);
|
|
18265
|
+
}
|
|
18266
|
+
var eventListPaginationActionSchema = z43.discriminatedUnion("kind", [
|
|
18267
|
+
z43.object({
|
|
18268
|
+
kind: z43.literal("loadMore"),
|
|
18269
|
+
label: z43.string()
|
|
18270
|
+
}),
|
|
18271
|
+
z43.object({
|
|
18272
|
+
kind: z43.literal("seeAllLink"),
|
|
18273
|
+
label: z43.string(),
|
|
18274
|
+
href: z43.string()
|
|
18275
|
+
})
|
|
18276
|
+
]);
|
|
18277
|
+
function resolveEventListPaginationAction(input) {
|
|
18278
|
+
const label = input.loadMoreText?.trim() || input.defaultLabel || "Load more events";
|
|
18279
|
+
const href = input.seeAllUrl?.trim();
|
|
18280
|
+
if (input.paginationMode === "seeAllLink" && href) {
|
|
18281
|
+
return { kind: "seeAllLink", label, href };
|
|
18282
|
+
}
|
|
18283
|
+
return { kind: "loadMore", label };
|
|
18284
|
+
}
|
|
18285
|
+
|
|
17691
18286
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
17692
|
-
var legacyEventCardVariantSchema =
|
|
17693
|
-
var eventCardVariantInputSchema =
|
|
18287
|
+
var legacyEventCardVariantSchema = z44.enum(["variant1", "variant2"]);
|
|
18288
|
+
var eventCardVariantInputSchema = z44.union([
|
|
17694
18289
|
cardVariantRoleSchema,
|
|
17695
18290
|
legacyEventCardVariantSchema
|
|
17696
18291
|
]);
|
|
17697
|
-
var cardOrientationSchema =
|
|
17698
|
-
var eventBlockKindSchema =
|
|
17699
|
-
var eventSurfaceScopeSchema =
|
|
17700
|
-
var eventScheduleScopeSchema2 =
|
|
17701
|
-
var eventListingSourceSchema =
|
|
17702
|
-
events:
|
|
17703
|
-
siteId:
|
|
17704
|
-
apiBaseUrl:
|
|
18292
|
+
var cardOrientationSchema = z44.enum(["vertical", "horizontal"]);
|
|
18293
|
+
var eventBlockKindSchema = z44.enum(eventBlockKindValues);
|
|
18294
|
+
var eventSurfaceScopeSchema = z44.enum(eventSurfaceScopeValues);
|
|
18295
|
+
var eventScheduleScopeSchema2 = z44.enum(eventScheduleScopeValues);
|
|
18296
|
+
var eventListingSourceSchema = z44.object({
|
|
18297
|
+
events: z44.array(publicEventSchema).nullable().optional(),
|
|
18298
|
+
siteId: z44.string(),
|
|
18299
|
+
apiBaseUrl: z44.string().optional(),
|
|
17705
18300
|
stage: previewStageSchema.optional(),
|
|
17706
18301
|
layout: eventLayoutSchema.optional(),
|
|
17707
18302
|
columns: columnOptionSchema.optional(),
|
|
17708
|
-
eventsPerPage:
|
|
17709
|
-
paginationMode:
|
|
17710
|
-
seeAllUrl:
|
|
17711
|
-
loadMoreText:
|
|
18303
|
+
eventsPerPage: z44.string().optional(),
|
|
18304
|
+
paginationMode: z44.enum(["loadMore", "seeAllLink"]).optional(),
|
|
18305
|
+
seeAllUrl: z44.string().optional(),
|
|
18306
|
+
loadMoreText: z44.string().optional(),
|
|
17712
18307
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
17713
18308
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
17714
|
-
buttonText:
|
|
17715
|
-
showVenue:
|
|
17716
|
-
showMap:
|
|
17717
|
-
showCapacity:
|
|
17718
|
-
emptyMessage:
|
|
17719
|
-
className:
|
|
17720
|
-
showFilters:
|
|
18309
|
+
buttonText: z44.string().optional(),
|
|
18310
|
+
showVenue: z44.boolean().optional(),
|
|
18311
|
+
showMap: z44.boolean().optional(),
|
|
18312
|
+
showCapacity: z44.boolean().optional(),
|
|
18313
|
+
emptyMessage: z44.string().optional(),
|
|
18314
|
+
className: z44.string().optional(),
|
|
18315
|
+
showFilters: z44.boolean().nullable().optional(),
|
|
17721
18316
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
17722
|
-
showVenueFilter:
|
|
17723
|
-
showStaffFilter:
|
|
18317
|
+
showVenueFilter: z44.boolean().nullable().optional(),
|
|
18318
|
+
showStaffFilter: z44.boolean().nullable().optional(),
|
|
17724
18319
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
17725
18320
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
17726
|
-
filterEventPresets:
|
|
18321
|
+
filterEventPresets: z44.union([z44.string(), z44.array(z44.string())]).nullable().optional(),
|
|
17727
18322
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
17728
|
-
filterCategoryIds:
|
|
17729
|
-
filterStaffMemberId:
|
|
17730
|
-
filterVenueId:
|
|
18323
|
+
filterCategoryIds: z44.string().nullable().optional(),
|
|
18324
|
+
filterStaffMemberId: z44.string().nullable().optional(),
|
|
18325
|
+
filterVenueId: z44.string().nullable().optional()
|
|
17731
18326
|
});
|
|
17732
|
-
var eventListingDisplaySchema =
|
|
17733
|
-
kind:
|
|
17734
|
-
state:
|
|
18327
|
+
var eventListingDisplaySchema = z44.object({
|
|
18328
|
+
kind: z44.literal("event-listing"),
|
|
18329
|
+
state: z44.enum(["loading", "empty", "ready"]),
|
|
17735
18330
|
listLayout: eventLayoutSchema,
|
|
17736
|
-
className:
|
|
17737
|
-
emptyMessage:
|
|
17738
|
-
loadingMessage:
|
|
17739
|
-
containerClass:
|
|
18331
|
+
className: z44.string().nullable(),
|
|
18332
|
+
emptyMessage: z44.string(),
|
|
18333
|
+
loadingMessage: z44.string(),
|
|
18334
|
+
containerClass: z44.string(),
|
|
17740
18335
|
cardVariant: cardVariantRoleSchema,
|
|
17741
18336
|
buttonVariant: eventButtonVariantSchema,
|
|
17742
|
-
buttonText:
|
|
17743
|
-
showVenue:
|
|
17744
|
-
showMap:
|
|
17745
|
-
showCapacity:
|
|
18337
|
+
buttonText: z44.string(),
|
|
18338
|
+
showVenue: z44.boolean(),
|
|
18339
|
+
showMap: z44.boolean(),
|
|
18340
|
+
showCapacity: z44.boolean(),
|
|
17746
18341
|
orientation: cardOrientationSchema,
|
|
17747
|
-
events:
|
|
18342
|
+
events: z44.array(publicEventSchema)
|
|
17748
18343
|
});
|
|
17749
|
-
var eventListingHydrationSchema =
|
|
17750
|
-
siteId:
|
|
18344
|
+
var eventListingHydrationSchema = z44.object({
|
|
18345
|
+
siteId: z44.string(),
|
|
17751
18346
|
stage: previewStageSchema.optional(),
|
|
17752
|
-
eventsPerPage:
|
|
17753
|
-
|
|
17754
|
-
|
|
17755
|
-
loadMoreText: z43.string(),
|
|
17756
|
-
showFilters: z43.boolean(),
|
|
18347
|
+
eventsPerPage: eventPageSizeSchema,
|
|
18348
|
+
paginationAction: eventListPaginationActionSchema,
|
|
18349
|
+
showFilters: z44.boolean(),
|
|
17757
18350
|
showCategoryFilter: filterAutoShowSchema,
|
|
17758
|
-
showVenueFilter:
|
|
17759
|
-
showStaffFilter:
|
|
18351
|
+
showVenueFilter: z44.boolean(),
|
|
18352
|
+
showStaffFilter: z44.boolean(),
|
|
17760
18353
|
eventKind: eventBlockKindSchema,
|
|
17761
18354
|
eventSurface: eventSurfaceScopeSchema,
|
|
17762
|
-
filterEventPresets:
|
|
18355
|
+
filterEventPresets: z44.string().nullable(),
|
|
17763
18356
|
scheduleScope: eventScheduleScopeSchema2,
|
|
17764
|
-
filterCategoryIds:
|
|
17765
|
-
filterStaffMemberId:
|
|
17766
|
-
filterVenueId:
|
|
17767
|
-
fetchInitialEventsOnMount:
|
|
18357
|
+
filterCategoryIds: z44.string().nullable().optional(),
|
|
18358
|
+
filterStaffMemberId: z44.string().nullable().optional(),
|
|
18359
|
+
filterVenueId: z44.string().nullable().optional(),
|
|
18360
|
+
fetchInitialEventsOnMount: z44.boolean()
|
|
17768
18361
|
});
|
|
17769
|
-
var eventListingRenderSchema =
|
|
18362
|
+
var eventListingRenderSchema = z44.object({
|
|
17770
18363
|
display: eventListingDisplaySchema,
|
|
17771
18364
|
hydration: eventListingHydrationSchema
|
|
17772
18365
|
});
|
|
17773
18366
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
17774
|
-
|
|
17775
|
-
siteId:
|
|
17776
|
-
apiBaseUrl:
|
|
18367
|
+
z44.object({
|
|
18368
|
+
siteId: z44.string(),
|
|
18369
|
+
apiBaseUrl: z44.string().optional(),
|
|
17777
18370
|
stage: previewStageSchema.optional()
|
|
17778
18371
|
})
|
|
17779
18372
|
);
|
|
@@ -17785,7 +18378,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
17785
18378
|
},
|
|
17786
18379
|
buildRender: (source) => {
|
|
17787
18380
|
const normalizedEvents = Array.isArray(source.events) ? source.events : [];
|
|
17788
|
-
const pageSize =
|
|
18381
|
+
const pageSize = resolveEventPageSize(source.eventsPerPage);
|
|
17789
18382
|
const initialEvents = normalizedEvents.slice(0, pageSize);
|
|
17790
18383
|
const didPrefetchEvents = source.events != null;
|
|
17791
18384
|
const layout = source.layout ?? "grid";
|
|
@@ -17800,7 +18393,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
17800
18393
|
containerClass: getContainerClass(layout, source.columns ?? "3"),
|
|
17801
18394
|
cardVariant: normalizeCardVariantRole(source.cardVariant) ?? "default",
|
|
17802
18395
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
17803
|
-
buttonText: source.buttonText ?? "Book
|
|
18396
|
+
buttonText: source.buttonText ?? "Book",
|
|
17804
18397
|
showVenue: source.showVenue ?? true,
|
|
17805
18398
|
showMap: source.showMap ?? true,
|
|
17806
18399
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -17810,10 +18403,12 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
17810
18403
|
hydration: {
|
|
17811
18404
|
siteId: source.siteId,
|
|
17812
18405
|
stage: source.stage,
|
|
17813
|
-
eventsPerPage:
|
|
17814
|
-
|
|
17815
|
-
|
|
17816
|
-
|
|
18406
|
+
eventsPerPage: pageSize,
|
|
18407
|
+
paginationAction: resolveEventListPaginationAction({
|
|
18408
|
+
paginationMode: source.paginationMode,
|
|
18409
|
+
seeAllUrl: source.seeAllUrl,
|
|
18410
|
+
loadMoreText: source.loadMoreText
|
|
18411
|
+
}),
|
|
17817
18412
|
showFilters: source.showFilters ?? false,
|
|
17818
18413
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
17819
18414
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -18035,7 +18630,7 @@ var eventListingLayout = [
|
|
|
18035
18630
|
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
18036
18631
|
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
18037
18632
|
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
18038
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "Book
|
|
18633
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "Book" } },
|
|
18039
18634
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
18040
18635
|
showMap: { $bind: { from: "content.showMap" } },
|
|
18041
18636
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
@@ -18130,15 +18725,15 @@ var eventListingBlockDefinition = {
|
|
|
18130
18725
|
};
|
|
18131
18726
|
|
|
18132
18727
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
18133
|
-
import { z as
|
|
18134
|
-
var eventBlockKindSchema2 =
|
|
18135
|
-
var eventSurfaceScopeSchema2 =
|
|
18136
|
-
var eventScheduleScopeSchema3 =
|
|
18137
|
-
var eventCalendarSourceSchema =
|
|
18728
|
+
import { z as z45 } from "zod";
|
|
18729
|
+
var eventBlockKindSchema2 = z45.enum(eventBlockKindValues);
|
|
18730
|
+
var eventSurfaceScopeSchema2 = z45.enum(eventSurfaceScopeValues);
|
|
18731
|
+
var eventScheduleScopeSchema3 = z45.enum(eventScheduleScopeValues);
|
|
18732
|
+
var eventCalendarSourceSchema = z45.object(
|
|
18138
18733
|
{
|
|
18139
|
-
events:
|
|
18140
|
-
siteId:
|
|
18141
|
-
apiBaseUrl:
|
|
18734
|
+
events: z45.array(publicEventSchema).nullable().optional(),
|
|
18735
|
+
siteId: z45.string(),
|
|
18736
|
+
apiBaseUrl: z45.string().optional(),
|
|
18142
18737
|
stage: previewStageSchema.optional(),
|
|
18143
18738
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
18144
18739
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -18146,77 +18741,78 @@ var eventCalendarSourceSchema = z44.object(
|
|
|
18146
18741
|
listColumns: columnOptionSchema.optional(),
|
|
18147
18742
|
layout: eventLayoutSchema.optional(),
|
|
18148
18743
|
columns: columnOptionSchema.optional(),
|
|
18149
|
-
eventsPerPage:
|
|
18150
|
-
|
|
18151
|
-
|
|
18744
|
+
eventsPerPage: z45.string().optional(),
|
|
18745
|
+
paginationMode: z45.enum(["loadMore", "seeAllLink"]).optional(),
|
|
18746
|
+
seeAllUrl: z45.string().optional(),
|
|
18747
|
+
loadMoreText: z45.string().optional(),
|
|
18152
18748
|
startOfWeek: weekStartSchema.optional(),
|
|
18153
18749
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
18154
|
-
showFilters:
|
|
18750
|
+
showFilters: z45.boolean().nullable().optional(),
|
|
18155
18751
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
18156
|
-
showVenueFilter:
|
|
18157
|
-
showStaffFilter:
|
|
18752
|
+
showVenueFilter: z45.boolean().nullable().optional(),
|
|
18753
|
+
showStaffFilter: z45.boolean().nullable().optional(),
|
|
18158
18754
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
18159
18755
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
18160
|
-
filterEventPresets:
|
|
18756
|
+
filterEventPresets: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
|
|
18161
18757
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
18162
|
-
filterCategoryIds:
|
|
18163
|
-
filterStaffMemberId:
|
|
18164
|
-
filterVenueId:
|
|
18758
|
+
filterCategoryIds: z45.union([z45.string(), z45.array(z45.string())]).nullable().optional(),
|
|
18759
|
+
filterStaffMemberId: z45.string().nullable().optional(),
|
|
18760
|
+
filterVenueId: z45.string().nullable().optional(),
|
|
18165
18761
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
18166
|
-
buttonText:
|
|
18167
|
-
showVenue:
|
|
18168
|
-
showMap:
|
|
18169
|
-
showCapacity:
|
|
18170
|
-
emptyMessage:
|
|
18171
|
-
className:
|
|
18762
|
+
buttonText: z45.string().optional(),
|
|
18763
|
+
showVenue: z45.boolean().nullable().optional(),
|
|
18764
|
+
showMap: z45.boolean().nullable().optional(),
|
|
18765
|
+
showCapacity: z45.boolean().nullable().optional(),
|
|
18766
|
+
emptyMessage: z45.string().optional(),
|
|
18767
|
+
className: z45.string().optional()
|
|
18172
18768
|
}
|
|
18173
18769
|
);
|
|
18174
|
-
var eventCalendarDisplaySchema =
|
|
18175
|
-
kind:
|
|
18770
|
+
var eventCalendarDisplaySchema = z45.object({
|
|
18771
|
+
kind: z45.literal("event-calendar"),
|
|
18176
18772
|
displayMode: eventCalendarDisplayModeSchema,
|
|
18177
|
-
className:
|
|
18178
|
-
events:
|
|
18773
|
+
className: z45.string().nullable(),
|
|
18774
|
+
events: z45.array(publicEventSchema),
|
|
18179
18775
|
listLayout: eventLayoutSchema,
|
|
18180
18776
|
listColumns: columnOptionSchema,
|
|
18181
|
-
eventsPerPage:
|
|
18182
|
-
|
|
18777
|
+
eventsPerPage: eventPageSizeSchema,
|
|
18778
|
+
paginationAction: eventListPaginationActionSchema,
|
|
18183
18779
|
startOfWeek: weekStartSchema,
|
|
18184
18780
|
calendarTabViews: calendarTabViewsSchema,
|
|
18185
|
-
showFilters:
|
|
18781
|
+
showFilters: z45.boolean(),
|
|
18186
18782
|
showCategoryFilter: filterAutoShowSchema,
|
|
18187
|
-
showVenueFilter:
|
|
18188
|
-
showStaffFilter:
|
|
18783
|
+
showVenueFilter: z45.boolean(),
|
|
18784
|
+
showStaffFilter: z45.boolean(),
|
|
18189
18785
|
eventKind: eventBlockKindSchema2,
|
|
18190
18786
|
eventSurface: eventSurfaceScopeSchema2,
|
|
18191
|
-
filterEventPresets:
|
|
18787
|
+
filterEventPresets: z45.string().nullable(),
|
|
18192
18788
|
scheduleScope: eventScheduleScopeSchema3,
|
|
18193
|
-
filterCategoryIds:
|
|
18194
|
-
filterStaffMemberId:
|
|
18195
|
-
filterVenueId:
|
|
18789
|
+
filterCategoryIds: z45.string().nullable(),
|
|
18790
|
+
filterStaffMemberId: z45.string().nullable(),
|
|
18791
|
+
filterVenueId: z45.string().nullable(),
|
|
18196
18792
|
buttonVariant: eventButtonVariantSchema,
|
|
18197
|
-
buttonText:
|
|
18198
|
-
showVenue:
|
|
18199
|
-
showMap:
|
|
18200
|
-
showCapacity:
|
|
18201
|
-
emptyMessage:
|
|
18202
|
-
});
|
|
18203
|
-
var eventCalendarHydrationSchema =
|
|
18204
|
-
siteId:
|
|
18793
|
+
buttonText: z45.string(),
|
|
18794
|
+
showVenue: z45.boolean(),
|
|
18795
|
+
showMap: z45.boolean(),
|
|
18796
|
+
showCapacity: z45.boolean(),
|
|
18797
|
+
emptyMessage: z45.string()
|
|
18798
|
+
});
|
|
18799
|
+
var eventCalendarHydrationSchema = z45.object({
|
|
18800
|
+
siteId: z45.string(),
|
|
18205
18801
|
stage: previewStageSchema.optional(),
|
|
18206
|
-
prefetchedEvents:
|
|
18802
|
+
prefetchedEvents: z45.boolean(),
|
|
18207
18803
|
eventKind: eventBlockKindSchema2,
|
|
18208
18804
|
eventSurface: eventSurfaceScopeSchema2,
|
|
18209
|
-
filterEventPresets:
|
|
18805
|
+
filterEventPresets: z45.string().nullable(),
|
|
18210
18806
|
scheduleScope: eventScheduleScopeSchema3
|
|
18211
18807
|
});
|
|
18212
|
-
var eventCalendarRenderSchema =
|
|
18808
|
+
var eventCalendarRenderSchema = z45.object({
|
|
18213
18809
|
display: eventCalendarDisplaySchema,
|
|
18214
18810
|
hydration: eventCalendarHydrationSchema
|
|
18215
18811
|
});
|
|
18216
18812
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
18217
|
-
|
|
18218
|
-
siteId:
|
|
18219
|
-
apiBaseUrl:
|
|
18813
|
+
z45.object({
|
|
18814
|
+
siteId: z45.string(),
|
|
18815
|
+
apiBaseUrl: z45.string().optional(),
|
|
18220
18816
|
stage: previewStageSchema.optional()
|
|
18221
18817
|
})
|
|
18222
18818
|
);
|
|
@@ -18226,6 +18822,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
18226
18822
|
"stage"
|
|
18227
18823
|
);
|
|
18228
18824
|
function buildEventCalendarDisplay(source) {
|
|
18825
|
+
const listLayout = source.listLayout ?? source.layout ?? "stack";
|
|
18229
18826
|
return {
|
|
18230
18827
|
kind: "event-calendar",
|
|
18231
18828
|
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
@@ -18233,10 +18830,16 @@ function buildEventCalendarDisplay(source) {
|
|
|
18233
18830
|
events: (source.events ?? []).slice().sort(
|
|
18234
18831
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
18235
18832
|
),
|
|
18236
|
-
listLayout
|
|
18833
|
+
listLayout,
|
|
18237
18834
|
listColumns: source.listColumns ?? source.columns ?? "3",
|
|
18238
|
-
eventsPerPage: (
|
|
18239
|
-
|
|
18835
|
+
eventsPerPage: resolveEventCalendarListPageSize({
|
|
18836
|
+
eventsPerPage: source.eventsPerPage
|
|
18837
|
+
}),
|
|
18838
|
+
paginationAction: resolveEventListPaginationAction({
|
|
18839
|
+
paginationMode: source.paginationMode,
|
|
18840
|
+
seeAllUrl: source.seeAllUrl,
|
|
18841
|
+
loadMoreText: source.loadMoreText
|
|
18842
|
+
}),
|
|
18240
18843
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
18241
18844
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
18242
18845
|
showFilters: source.showFilters ?? true,
|
|
@@ -18253,7 +18856,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
18253
18856
|
),
|
|
18254
18857
|
filterVenueId: normalizeEventVenueId(source.filterVenueId),
|
|
18255
18858
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
18256
|
-
buttonText: source.buttonText ?? "Book
|
|
18859
|
+
buttonText: source.buttonText ?? "Book",
|
|
18257
18860
|
showVenue: source.showVenue ?? true,
|
|
18258
18861
|
showMap: source.showMap ?? true,
|
|
18259
18862
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -18353,10 +18956,16 @@ var eventCalendarLayout = [
|
|
|
18353
18956
|
layout: { $bind: { from: "content.layout" } },
|
|
18354
18957
|
columns: { $bind: { from: "content.columns" } },
|
|
18355
18958
|
eventsPerPage: {
|
|
18356
|
-
$bind: { from: "content.eventsPerPage"
|
|
18959
|
+
$bind: { from: "content.eventsPerPage" }
|
|
18357
18960
|
},
|
|
18358
|
-
|
|
18359
|
-
$bind: { from: "content.
|
|
18961
|
+
paginationMode: {
|
|
18962
|
+
$bind: { from: "content.paginationMode", fallback: "loadMore" }
|
|
18963
|
+
},
|
|
18964
|
+
seeAllUrl: {
|
|
18965
|
+
$bind: {
|
|
18966
|
+
from: "content.seeAllUrl",
|
|
18967
|
+
transforms: [{ id: "links.resolve" }]
|
|
18968
|
+
}
|
|
18360
18969
|
},
|
|
18361
18970
|
loadMoreText: {
|
|
18362
18971
|
$bind: {
|
|
@@ -18409,7 +19018,7 @@ var eventCalendarLayout = [
|
|
|
18409
19018
|
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
18410
19019
|
},
|
|
18411
19020
|
buttonText: {
|
|
18412
|
-
$bind: { from: "content.buttonText", fallback: "Book
|
|
19021
|
+
$bind: { from: "content.buttonText", fallback: "Book" }
|
|
18413
19022
|
},
|
|
18414
19023
|
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
18415
19024
|
})
|
|
@@ -18483,15 +19092,18 @@ var eventCalendarAdditionalFields = [
|
|
|
18483
19092
|
{
|
|
18484
19093
|
id: "eventsPerPage",
|
|
18485
19094
|
type: "select",
|
|
18486
|
-
label: "Events per page
|
|
18487
|
-
description: "Number of events to load initially
|
|
19095
|
+
label: "Events per page",
|
|
19096
|
+
description: "Number of events to load initially",
|
|
18488
19097
|
required: false,
|
|
18489
19098
|
multiple: false,
|
|
18490
19099
|
defaultValue: "12",
|
|
18491
19100
|
options: [
|
|
18492
19101
|
{ value: "6", label: "6" },
|
|
19102
|
+
{ value: "10", label: "10" },
|
|
18493
19103
|
{ value: "12", label: "12" },
|
|
18494
|
-
{ value: "
|
|
19104
|
+
{ value: "20", label: "20" },
|
|
19105
|
+
{ value: "24", label: "24" },
|
|
19106
|
+
{ value: "30", label: "30" }
|
|
18495
19107
|
],
|
|
18496
19108
|
ui: {
|
|
18497
19109
|
intent: "display",
|
|
@@ -18499,33 +19111,42 @@ var eventCalendarAdditionalFields = [
|
|
|
18499
19111
|
}
|
|
18500
19112
|
},
|
|
18501
19113
|
{
|
|
18502
|
-
id: "
|
|
19114
|
+
id: "paginationMode",
|
|
18503
19115
|
type: "select",
|
|
18504
|
-
label: "
|
|
18505
|
-
description: "
|
|
19116
|
+
label: "More events",
|
|
19117
|
+
description: "How to access events beyond the initial list",
|
|
18506
19118
|
required: false,
|
|
18507
19119
|
multiple: false,
|
|
18508
|
-
defaultValue: "
|
|
19120
|
+
defaultValue: "loadMore",
|
|
18509
19121
|
options: [
|
|
18510
|
-
{ value: "
|
|
18511
|
-
{ value: "
|
|
18512
|
-
{ value: "30", label: "30" }
|
|
19122
|
+
{ value: "loadMore", label: "Load more button" },
|
|
19123
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
18513
19124
|
],
|
|
18514
19125
|
ui: {
|
|
18515
19126
|
intent: "display",
|
|
18516
|
-
visibleWhen: { field: "
|
|
19127
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
19128
|
+
}
|
|
19129
|
+
},
|
|
19130
|
+
{
|
|
19131
|
+
id: "seeAllUrl",
|
|
19132
|
+
type: "link",
|
|
19133
|
+
label: "See all destination",
|
|
19134
|
+
required: false,
|
|
19135
|
+
ui: {
|
|
19136
|
+
intent: "display",
|
|
19137
|
+
visibleWhen: { field: "paginationMode", equals: "seeAllLink" }
|
|
18517
19138
|
}
|
|
18518
19139
|
},
|
|
18519
19140
|
{
|
|
18520
19141
|
id: "loadMoreText",
|
|
18521
19142
|
type: "text",
|
|
18522
|
-
label: "
|
|
18523
|
-
description: "Text for the load more button",
|
|
19143
|
+
label: "CTA button text",
|
|
19144
|
+
description: "Text for the load more button or linked CTA",
|
|
18524
19145
|
required: false,
|
|
18525
19146
|
multiline: false,
|
|
18526
19147
|
defaultValue: "Load more events",
|
|
18527
19148
|
ui: {
|
|
18528
|
-
intent: "
|
|
19149
|
+
intent: "display",
|
|
18529
19150
|
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
18530
19151
|
}
|
|
18531
19152
|
},
|
|
@@ -18785,42 +19406,384 @@ var eventCalendarVariants = {
|
|
|
18785
19406
|
};
|
|
18786
19407
|
var eventCalendarDerivedFields = [
|
|
18787
19408
|
{
|
|
18788
|
-
id: "displayMode",
|
|
19409
|
+
id: "displayMode",
|
|
19410
|
+
type: "select",
|
|
19411
|
+
required: false,
|
|
19412
|
+
multiple: false,
|
|
19413
|
+
options: [
|
|
19414
|
+
{ value: "combined" },
|
|
19415
|
+
{ value: "month" },
|
|
19416
|
+
{ value: "week" },
|
|
19417
|
+
{ value: "timetable" },
|
|
19418
|
+
{ value: "list" }
|
|
19419
|
+
]
|
|
19420
|
+
},
|
|
19421
|
+
{
|
|
19422
|
+
id: "listLayout",
|
|
19423
|
+
type: "select",
|
|
19424
|
+
required: false,
|
|
19425
|
+
multiple: false,
|
|
19426
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
19427
|
+
value: option.id
|
|
19428
|
+
}))
|
|
19429
|
+
}
|
|
19430
|
+
];
|
|
19431
|
+
var eventCalendarContentShape = {
|
|
19432
|
+
additionalFields: eventCalendarDerivedFields,
|
|
19433
|
+
variants: eventCalendarVariants,
|
|
19434
|
+
skipSectionStyles: true
|
|
19435
|
+
};
|
|
19436
|
+
var eventCalendarConfig = {
|
|
19437
|
+
id: "block.event-calendar",
|
|
19438
|
+
version: "3.6.0",
|
|
19439
|
+
title: "Event Calendar",
|
|
19440
|
+
titleSource: "heading",
|
|
19441
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
19442
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
19443
|
+
skipSectionStyles: true,
|
|
19444
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
19445
|
+
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
19446
|
+
behaviours: {
|
|
19447
|
+
supportsThemeSwitching: true,
|
|
19448
|
+
inlineEditing: false,
|
|
19449
|
+
animation: false,
|
|
19450
|
+
paletteHidden: false
|
|
19451
|
+
},
|
|
19452
|
+
category: "interactive",
|
|
19453
|
+
tags: [
|
|
19454
|
+
"events",
|
|
19455
|
+
"calendar",
|
|
19456
|
+
"month",
|
|
19457
|
+
"week",
|
|
19458
|
+
"schedule",
|
|
19459
|
+
"interactive",
|
|
19460
|
+
"list",
|
|
19461
|
+
"filter"
|
|
19462
|
+
],
|
|
19463
|
+
icon: "CalendarDays",
|
|
19464
|
+
layout: eventCalendarLayout,
|
|
19465
|
+
variants: eventCalendarVariants,
|
|
19466
|
+
defaultVariant: "combined",
|
|
19467
|
+
variantOptions: {
|
|
19468
|
+
combined: { label: "Combined" },
|
|
19469
|
+
month: { label: "Month" },
|
|
19470
|
+
week: { label: "Week" },
|
|
19471
|
+
timetable: { label: "Timetable" },
|
|
19472
|
+
list: { label: "List" }
|
|
19473
|
+
}
|
|
19474
|
+
};
|
|
19475
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
19476
|
+
eventCalendarConfig,
|
|
19477
|
+
eventCalendarContentShape
|
|
19478
|
+
);
|
|
19479
|
+
var eventCalendarBlockDefinition = {
|
|
19480
|
+
manifest: eventCalendarManifest,
|
|
19481
|
+
normalizeContent: normalizeEventCalendarContent,
|
|
19482
|
+
dataSchemas: {
|
|
19483
|
+
events: publicEventsArraySchema.optional()
|
|
19484
|
+
},
|
|
19485
|
+
dataLoaders: {
|
|
19486
|
+
events: {
|
|
19487
|
+
endpoint: "listPublicEvents",
|
|
19488
|
+
params: {
|
|
19489
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
19490
|
+
// Pre-fetch events - limit varies by mode but default to high for calendar
|
|
19491
|
+
limit: 100,
|
|
19492
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19493
|
+
detailLevel: "listing",
|
|
19494
|
+
readProfile: { $bind: { from: "content.variant", fallback: "listing-card" } },
|
|
19495
|
+
// Pass filter params if configured
|
|
19496
|
+
kind: { $bind: { from: "content.kind" } },
|
|
19497
|
+
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
19498
|
+
eventPresets: {
|
|
19499
|
+
$bind: {
|
|
19500
|
+
from: "content.filterEventPresets",
|
|
19501
|
+
transforms: [{ id: "value.csv" }]
|
|
19502
|
+
}
|
|
19503
|
+
},
|
|
19504
|
+
scheduleScope: { $bind: { from: "content.scheduleScope" } },
|
|
19505
|
+
categoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
19506
|
+
staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
19507
|
+
venueId: { $bind: { from: "content.filterVenueId" } }
|
|
19508
|
+
},
|
|
19509
|
+
mode: "server"
|
|
19510
|
+
}
|
|
19511
|
+
},
|
|
19512
|
+
runtime: eventCalendarBlockRuntime
|
|
19513
|
+
};
|
|
19514
|
+
|
|
19515
|
+
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
19516
|
+
import { z as z46 } from "zod";
|
|
19517
|
+
|
|
19518
|
+
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
19519
|
+
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
19520
|
+
var OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT = "Book";
|
|
19521
|
+
var OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE = "Nothing scheduled just yet.";
|
|
19522
|
+
var OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS = [
|
|
19523
|
+
{
|
|
19524
|
+
preset: "class",
|
|
19525
|
+
sourceKey: "eventPreset:class",
|
|
19526
|
+
dataKey: "classEvents",
|
|
19527
|
+
label: "Classes"
|
|
19528
|
+
},
|
|
19529
|
+
{
|
|
19530
|
+
preset: "workshop",
|
|
19531
|
+
sourceKey: "eventPreset:workshop",
|
|
19532
|
+
dataKey: "workshopEvents",
|
|
19533
|
+
label: "Workshops"
|
|
19534
|
+
},
|
|
19535
|
+
{
|
|
19536
|
+
preset: "retreat",
|
|
19537
|
+
sourceKey: "eventPreset:retreat",
|
|
19538
|
+
dataKey: "retreatEvents",
|
|
19539
|
+
label: "Retreats"
|
|
19540
|
+
},
|
|
19541
|
+
{
|
|
19542
|
+
preset: "performance",
|
|
19543
|
+
sourceKey: "eventPreset:performance",
|
|
19544
|
+
dataKey: "performanceEvents",
|
|
19545
|
+
label: "Performances"
|
|
19546
|
+
}
|
|
19547
|
+
];
|
|
19548
|
+
var OFFERINGS_PREVIEW_EVENT_PRESETS = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => definition.preset);
|
|
19549
|
+
var OFFERINGS_PREVIEW_AUTHORABLE_SOURCE_KEYS = [
|
|
19550
|
+
...OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => definition.sourceKey),
|
|
19551
|
+
"course"
|
|
19552
|
+
];
|
|
19553
|
+
var eventPresetSourceByKey = Object.fromEntries(
|
|
19554
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
19555
|
+
definition.sourceKey,
|
|
19556
|
+
{ kind: "eventPreset", preset: definition.preset }
|
|
19557
|
+
])
|
|
19558
|
+
);
|
|
19559
|
+
|
|
19560
|
+
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
19561
|
+
var publicRouteCandidatesSchema = z46.object({
|
|
19562
|
+
routes: z46.array(z46.object({
|
|
19563
|
+
entityId: z46.string(),
|
|
19564
|
+
path: z46.string(),
|
|
19565
|
+
title: z46.string(),
|
|
19566
|
+
kind: z46.enum(["page", "content"]),
|
|
19567
|
+
contentTypeKey: z46.string().nullable().optional()
|
|
19568
|
+
}))
|
|
19569
|
+
});
|
|
19570
|
+
var groupOverrideFields = [
|
|
19571
|
+
{
|
|
19572
|
+
id: "sourceKey",
|
|
19573
|
+
type: "select",
|
|
19574
|
+
label: "Offering",
|
|
19575
|
+
required: true,
|
|
19576
|
+
multiple: false,
|
|
19577
|
+
options: [
|
|
19578
|
+
...OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => ({
|
|
19579
|
+
value: definition.sourceKey,
|
|
19580
|
+
label: definition.label
|
|
19581
|
+
})),
|
|
19582
|
+
{ value: "course", label: "Courses" }
|
|
19583
|
+
],
|
|
19584
|
+
ui: { intent: "behavior" }
|
|
19585
|
+
},
|
|
19586
|
+
{
|
|
19587
|
+
id: "title",
|
|
19588
|
+
type: "text",
|
|
19589
|
+
label: "Title",
|
|
19590
|
+
required: false,
|
|
19591
|
+
multiline: false,
|
|
19592
|
+
maxLength: 80,
|
|
19593
|
+
ui: { intent: "content" }
|
|
19594
|
+
},
|
|
19595
|
+
{
|
|
19596
|
+
id: "intro",
|
|
19597
|
+
type: "text",
|
|
19598
|
+
label: "Intro",
|
|
19599
|
+
required: false,
|
|
19600
|
+
multiline: true,
|
|
19601
|
+
maxLength: 220,
|
|
19602
|
+
ui: { intent: "content" }
|
|
19603
|
+
},
|
|
19604
|
+
{
|
|
19605
|
+
id: "hidden",
|
|
19606
|
+
type: "boolean",
|
|
19607
|
+
label: "Hide this card",
|
|
19608
|
+
required: false,
|
|
19609
|
+
defaultValue: false,
|
|
19610
|
+
ui: { intent: "display" }
|
|
19611
|
+
},
|
|
19612
|
+
{
|
|
19613
|
+
id: "presentation",
|
|
19614
|
+
type: "select",
|
|
19615
|
+
label: "Items",
|
|
19616
|
+
required: false,
|
|
19617
|
+
multiple: false,
|
|
19618
|
+
defaultValue: "compact-list",
|
|
19619
|
+
options: [
|
|
19620
|
+
{ value: "compact-list", label: "Compact list" },
|
|
19621
|
+
{ value: "single-card", label: "Single card" }
|
|
19622
|
+
],
|
|
19623
|
+
ui: { intent: "display" }
|
|
19624
|
+
},
|
|
19625
|
+
{
|
|
19626
|
+
id: "ctaMode",
|
|
19627
|
+
type: "select",
|
|
19628
|
+
label: "Card link",
|
|
19629
|
+
required: false,
|
|
19630
|
+
multiple: false,
|
|
19631
|
+
defaultValue: "auto",
|
|
19632
|
+
options: [
|
|
19633
|
+
{ value: "auto", label: "Auto" },
|
|
19634
|
+
{ value: "custom", label: "Custom link" },
|
|
19635
|
+
{ value: "hidden", label: "Hidden" }
|
|
19636
|
+
],
|
|
19637
|
+
ui: { intent: "behavior" }
|
|
19638
|
+
},
|
|
19639
|
+
{
|
|
19640
|
+
id: "ctaLabel",
|
|
19641
|
+
type: "text",
|
|
19642
|
+
label: "Card link label",
|
|
19643
|
+
required: false,
|
|
19644
|
+
multiline: false,
|
|
19645
|
+
maxLength: 40,
|
|
19646
|
+
ui: { intent: "content" }
|
|
19647
|
+
},
|
|
19648
|
+
{
|
|
19649
|
+
id: "ctaHref",
|
|
19650
|
+
type: "text",
|
|
19651
|
+
label: "Custom card link",
|
|
19652
|
+
required: false,
|
|
19653
|
+
multiline: false,
|
|
19654
|
+
maxLength: 160,
|
|
19655
|
+
ui: { intent: "behavior" }
|
|
19656
|
+
}
|
|
19657
|
+
];
|
|
19658
|
+
var offeringsPreviewFields = [
|
|
19659
|
+
...sectionHeaderFields("Offerings"),
|
|
19660
|
+
{
|
|
19661
|
+
id: "itemLimit",
|
|
18789
19662
|
type: "select",
|
|
19663
|
+
label: "Items per card",
|
|
18790
19664
|
required: false,
|
|
18791
19665
|
multiple: false,
|
|
19666
|
+
defaultValue: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT,
|
|
18792
19667
|
options: [
|
|
18793
|
-
{ value: "
|
|
18794
|
-
{ value: "
|
|
18795
|
-
{ value: "
|
|
18796
|
-
{ value: "
|
|
18797
|
-
{ value: "
|
|
18798
|
-
|
|
19668
|
+
{ value: "1", label: "1 item" },
|
|
19669
|
+
{ value: "2", label: "2 items" },
|
|
19670
|
+
{ value: "3", label: "3 items" },
|
|
19671
|
+
{ value: "4", label: "4 items" },
|
|
19672
|
+
{ value: "5", label: "5 items" },
|
|
19673
|
+
{ value: "6", label: "6 items" }
|
|
19674
|
+
],
|
|
19675
|
+
ui: { intent: "display" }
|
|
18799
19676
|
},
|
|
18800
19677
|
{
|
|
18801
|
-
id: "
|
|
19678
|
+
id: "groupOverrides",
|
|
19679
|
+
type: "repeater",
|
|
19680
|
+
label: "Card overrides",
|
|
19681
|
+
description: "Edit card copy, order, or visibility for enabled offering presets.",
|
|
19682
|
+
required: false,
|
|
19683
|
+
maxItems: 5,
|
|
19684
|
+
itemLabel: "Offering card",
|
|
19685
|
+
itemLabelSource: "title",
|
|
19686
|
+
allowConversion: false,
|
|
19687
|
+
ui: { intent: "content" },
|
|
19688
|
+
schema: { fields: groupOverrideFields }
|
|
19689
|
+
},
|
|
19690
|
+
{
|
|
19691
|
+
id: "buttonVariant",
|
|
18802
19692
|
type: "select",
|
|
19693
|
+
label: "Item button style",
|
|
18803
19694
|
required: false,
|
|
18804
19695
|
multiple: false,
|
|
18805
|
-
|
|
18806
|
-
|
|
18807
|
-
|
|
18808
|
-
|
|
19696
|
+
defaultValue: "primary",
|
|
19697
|
+
options: [
|
|
19698
|
+
{ value: "primary", label: "Primary" },
|
|
19699
|
+
{ value: "secondary", label: "Secondary" },
|
|
19700
|
+
{ value: "outline", label: "Outline" },
|
|
19701
|
+
{ value: "link", label: "Link" }
|
|
19702
|
+
],
|
|
19703
|
+
ui: { intent: "display" }
|
|
19704
|
+
},
|
|
19705
|
+
{
|
|
19706
|
+
id: "buttonText",
|
|
19707
|
+
type: "text",
|
|
19708
|
+
label: "Item button text",
|
|
19709
|
+
required: false,
|
|
19710
|
+
multiline: false,
|
|
19711
|
+
defaultValue: OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT,
|
|
19712
|
+
maxLength: 40,
|
|
19713
|
+
ui: { intent: "content" }
|
|
19714
|
+
},
|
|
19715
|
+
{
|
|
19716
|
+
id: "emptyMessage",
|
|
19717
|
+
type: "text",
|
|
19718
|
+
label: "Empty card message",
|
|
19719
|
+
required: false,
|
|
19720
|
+
multiline: false,
|
|
19721
|
+
defaultValue: OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE,
|
|
19722
|
+
maxLength: 120,
|
|
19723
|
+
ui: { intent: "content" }
|
|
19724
|
+
},
|
|
19725
|
+
cardStylesField({
|
|
19726
|
+
id: "_cardStyles",
|
|
19727
|
+
label: "Offering card styles"
|
|
19728
|
+
}),
|
|
19729
|
+
sectionStylesField({
|
|
19730
|
+
id: "_sectionStyles",
|
|
19731
|
+
label: "Section styles",
|
|
19732
|
+
renderInHeader: false
|
|
19733
|
+
})
|
|
18809
19734
|
];
|
|
18810
|
-
var
|
|
18811
|
-
|
|
18812
|
-
|
|
18813
|
-
|
|
18814
|
-
|
|
18815
|
-
|
|
18816
|
-
|
|
18817
|
-
|
|
18818
|
-
|
|
19735
|
+
var offeringsPreviewEventDataBindings = Object.fromEntries(
|
|
19736
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
19737
|
+
definition.dataKey,
|
|
19738
|
+
{ $bind: { from: `data.${definition.dataKey}` } }
|
|
19739
|
+
])
|
|
19740
|
+
);
|
|
19741
|
+
var offeringsPreviewLayout = [
|
|
19742
|
+
styledSection({
|
|
19743
|
+
children: sectionContainer([
|
|
19744
|
+
text(
|
|
19745
|
+
{ as: "h2", className: "rb-text-center" },
|
|
19746
|
+
bind("content.heading"),
|
|
19747
|
+
when("content.heading")
|
|
19748
|
+
),
|
|
19749
|
+
richText(
|
|
19750
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
19751
|
+
bind("content.description"),
|
|
19752
|
+
when("content.description")
|
|
19753
|
+
),
|
|
19754
|
+
el("offerings-preview", {
|
|
19755
|
+
bookingOfferingPresets: {
|
|
19756
|
+
$bind: { from: "$root.bookingOfferingPresets", fallback: [] }
|
|
19757
|
+
},
|
|
19758
|
+
groupOverrides: { $bind: { from: "content.groupOverrides", fallback: [] } },
|
|
19759
|
+
cardStyles: { $bind: { from: "content._cardStyles" } },
|
|
19760
|
+
itemLimit: { $bind: { from: "content.itemLimit", fallback: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT } },
|
|
19761
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
19762
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT } },
|
|
19763
|
+
emptyMessage: {
|
|
19764
|
+
$bind: {
|
|
19765
|
+
from: "content.emptyMessage",
|
|
19766
|
+
fallback: OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE
|
|
19767
|
+
}
|
|
19768
|
+
},
|
|
19769
|
+
previewStage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19770
|
+
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
19771
|
+
courses: { $bind: { from: "data.courses" } },
|
|
19772
|
+
...offeringsPreviewEventDataBindings
|
|
19773
|
+
})
|
|
19774
|
+
], { gap: "lg" }),
|
|
19775
|
+
baseClass: "",
|
|
19776
|
+
spacing: "comfortable"
|
|
19777
|
+
})
|
|
19778
|
+
];
|
|
19779
|
+
var offeringsPreviewConfig = {
|
|
19780
|
+
id: "block.offerings-preview",
|
|
19781
|
+
version: "1.0.0",
|
|
19782
|
+
title: "Offerings Preview",
|
|
18819
19783
|
titleSource: "heading",
|
|
18820
|
-
description: "
|
|
18821
|
-
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
19784
|
+
description: "Show enabled offering presets as compact cards",
|
|
18822
19785
|
skipSectionStyles: true,
|
|
18823
|
-
additionalFields:
|
|
19786
|
+
additionalFields: offeringsPreviewFields,
|
|
18824
19787
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
18825
19788
|
behaviours: {
|
|
18826
19789
|
supportsThemeSwitching: true,
|
|
@@ -18828,71 +19791,68 @@ var eventCalendarConfig = {
|
|
|
18828
19791
|
animation: false,
|
|
18829
19792
|
paletteHidden: false
|
|
18830
19793
|
},
|
|
18831
|
-
category: "
|
|
18832
|
-
tags: [
|
|
18833
|
-
|
|
18834
|
-
|
|
18835
|
-
"month",
|
|
18836
|
-
"week",
|
|
18837
|
-
"schedule",
|
|
18838
|
-
"interactive",
|
|
18839
|
-
"list",
|
|
18840
|
-
"filter"
|
|
18841
|
-
],
|
|
18842
|
-
icon: "CalendarDays",
|
|
18843
|
-
layout: eventCalendarLayout,
|
|
18844
|
-
variants: eventCalendarVariants,
|
|
18845
|
-
defaultVariant: "combined",
|
|
18846
|
-
variantOptions: {
|
|
18847
|
-
combined: { label: "Combined" },
|
|
18848
|
-
month: { label: "Month" },
|
|
18849
|
-
week: { label: "Week" },
|
|
18850
|
-
timetable: { label: "Timetable" },
|
|
18851
|
-
list: { label: "List" }
|
|
18852
|
-
}
|
|
19794
|
+
category: "content",
|
|
19795
|
+
tags: ["offerings", "events", "classes", "workshops", "retreats"],
|
|
19796
|
+
icon: "PanelsTopLeft",
|
|
19797
|
+
layout: offeringsPreviewLayout
|
|
18853
19798
|
};
|
|
18854
|
-
var
|
|
18855
|
-
|
|
18856
|
-
|
|
19799
|
+
var offeringsPreviewManifest = createBlockManifest(offeringsPreviewConfig);
|
|
19800
|
+
var optionalPublicEventsArraySchema = publicEventsArraySchema.optional();
|
|
19801
|
+
var offeringsPreviewEventDataSchemas = Object.fromEntries(
|
|
19802
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
19803
|
+
definition.dataKey,
|
|
19804
|
+
optionalPublicEventsArraySchema
|
|
19805
|
+
])
|
|
18857
19806
|
);
|
|
18858
|
-
var
|
|
18859
|
-
|
|
18860
|
-
|
|
19807
|
+
var offeringsPreviewEventDataLoaders = Object.fromEntries(
|
|
19808
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
19809
|
+
definition.dataKey,
|
|
19810
|
+
eventPresetLoader(definition.preset)
|
|
19811
|
+
])
|
|
19812
|
+
);
|
|
19813
|
+
var offeringsPreviewBlockDefinition = {
|
|
19814
|
+
manifest: offeringsPreviewManifest,
|
|
18861
19815
|
dataSchemas: {
|
|
18862
|
-
|
|
19816
|
+
...offeringsPreviewEventDataSchemas,
|
|
19817
|
+
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
19818
|
+
courses: publicCoursesArraySchema.optional()
|
|
18863
19819
|
},
|
|
18864
19820
|
dataLoaders: {
|
|
18865
|
-
|
|
18866
|
-
|
|
19821
|
+
...offeringsPreviewEventDataLoaders,
|
|
19822
|
+
routeCandidates: {
|
|
19823
|
+
endpoint: "listPublicRouteCandidates",
|
|
19824
|
+
params: {},
|
|
19825
|
+
mode: "server"
|
|
19826
|
+
},
|
|
19827
|
+
courses: {
|
|
19828
|
+
endpoint: "listPublicCourses",
|
|
18867
19829
|
params: {
|
|
18868
19830
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
18869
|
-
|
|
18870
|
-
|
|
18871
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
18872
|
-
detailLevel: "listing",
|
|
18873
|
-
readProfile: { $bind: { from: "content.variant", fallback: "listing-card" } },
|
|
18874
|
-
// Pass filter params if configured
|
|
18875
|
-
kind: { $bind: { from: "content.kind" } },
|
|
18876
|
-
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
18877
|
-
eventPresets: {
|
|
18878
|
-
$bind: {
|
|
18879
|
-
from: "content.filterEventPresets",
|
|
18880
|
-
transforms: [{ id: "value.csv" }]
|
|
18881
|
-
}
|
|
18882
|
-
},
|
|
18883
|
-
scheduleScope: { $bind: { from: "content.scheduleScope" } },
|
|
18884
|
-
categoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
18885
|
-
staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
18886
|
-
venueId: { $bind: { from: "content.filterVenueId" } }
|
|
19831
|
+
limit: { $bind: { from: "content.itemLimit", fallback: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT } },
|
|
19832
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
|
|
18887
19833
|
},
|
|
18888
19834
|
mode: "server"
|
|
18889
19835
|
}
|
|
18890
|
-
}
|
|
18891
|
-
runtime: eventCalendarBlockRuntime
|
|
19836
|
+
}
|
|
18892
19837
|
};
|
|
19838
|
+
function eventPresetLoader(preset) {
|
|
19839
|
+
return {
|
|
19840
|
+
endpoint: "listPublicEvents",
|
|
19841
|
+
params: {
|
|
19842
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
19843
|
+
limit: { $bind: { from: "content.itemLimit", fallback: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT } },
|
|
19844
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19845
|
+
detailLevel: "listing",
|
|
19846
|
+
readProfile: "listing-card",
|
|
19847
|
+
kind: "events",
|
|
19848
|
+
eventPresets: preset
|
|
19849
|
+
},
|
|
19850
|
+
mode: "server"
|
|
19851
|
+
};
|
|
19852
|
+
}
|
|
18893
19853
|
|
|
18894
19854
|
// ../blocks/src/system/blocks/embed.ts
|
|
18895
|
-
import { z as
|
|
19855
|
+
import { z as z47 } from "zod";
|
|
18896
19856
|
var embedFields = [
|
|
18897
19857
|
// Section heading
|
|
18898
19858
|
parseFieldDefinition({
|
|
@@ -19027,7 +19987,7 @@ var embedFields = [
|
|
|
19027
19987
|
ui: { intent: "display" }
|
|
19028
19988
|
})
|
|
19029
19989
|
];
|
|
19030
|
-
var
|
|
19990
|
+
var embedLayout2 = styledSection({
|
|
19031
19991
|
children: sectionContainer([
|
|
19032
19992
|
// Heading
|
|
19033
19993
|
text(
|
|
@@ -19115,7 +20075,7 @@ var embedManifest = createBlockManifest({
|
|
|
19115
20075
|
category: "content",
|
|
19116
20076
|
titleSource: "heading",
|
|
19117
20077
|
additionalFields: embedFields,
|
|
19118
|
-
layout:
|
|
20078
|
+
layout: embedLayout2,
|
|
19119
20079
|
description: "Embed content entries from any content type. Sites provide custom layouts via block overrides.",
|
|
19120
20080
|
tags: ["embed", "content", "dynamic", "collection", "entries", "listing"],
|
|
19121
20081
|
icon: "LayoutList",
|
|
@@ -19123,18 +20083,18 @@ var embedManifest = createBlockManifest({
|
|
|
19123
20083
|
spacing: "lg"
|
|
19124
20084
|
}
|
|
19125
20085
|
});
|
|
19126
|
-
var embedEntrySchema =
|
|
19127
|
-
id:
|
|
19128
|
-
identifier:
|
|
19129
|
-
title:
|
|
19130
|
-
slug:
|
|
19131
|
-
content:
|
|
19132
|
-
publishedAt:
|
|
20086
|
+
var embedEntrySchema = z47.object({
|
|
20087
|
+
id: z47.string(),
|
|
20088
|
+
identifier: z47.string(),
|
|
20089
|
+
title: z47.string(),
|
|
20090
|
+
slug: z47.string().nullable().optional(),
|
|
20091
|
+
content: z47.record(z47.string(), z47.unknown()).optional(),
|
|
20092
|
+
publishedAt: z47.string().nullable().optional()
|
|
19133
20093
|
});
|
|
19134
20094
|
var embedBlockDefinition = {
|
|
19135
20095
|
manifest: embedManifest,
|
|
19136
20096
|
dataSchemas: {
|
|
19137
|
-
entries:
|
|
20097
|
+
entries: z47.array(embedEntrySchema).optional()
|
|
19138
20098
|
},
|
|
19139
20099
|
dataLoaders: {
|
|
19140
20100
|
entries: {
|
|
@@ -20309,54 +21269,54 @@ var fileDownloadBlockDefinition = {
|
|
|
20309
21269
|
};
|
|
20310
21270
|
|
|
20311
21271
|
// ../blocks/src/system/blocks/shop.ts
|
|
20312
|
-
import { z as
|
|
21272
|
+
import { z as z51 } from "zod";
|
|
20313
21273
|
|
|
20314
21274
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
20315
|
-
import { z as
|
|
21275
|
+
import { z as z50 } from "zod";
|
|
20316
21276
|
|
|
20317
21277
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
20318
|
-
import { z as
|
|
20319
|
-
var publicProductVariantSchema =
|
|
20320
|
-
id:
|
|
20321
|
-
title:
|
|
20322
|
-
sku:
|
|
20323
|
-
priceCents:
|
|
20324
|
-
stockQuantity:
|
|
20325
|
-
soldOut:
|
|
20326
|
-
});
|
|
20327
|
-
var publicProductSchema =
|
|
20328
|
-
id:
|
|
20329
|
-
contentEntryId:
|
|
20330
|
-
title:
|
|
20331
|
-
slug:
|
|
20332
|
-
path:
|
|
20333
|
-
status:
|
|
20334
|
-
priceCents:
|
|
20335
|
-
currency:
|
|
20336
|
-
productType:
|
|
20337
|
-
requiresShipping:
|
|
20338
|
-
hasVariants:
|
|
20339
|
-
trackInventory:
|
|
20340
|
-
soldOut:
|
|
20341
|
-
category:
|
|
20342
|
-
id:
|
|
20343
|
-
name:
|
|
20344
|
-
slug:
|
|
21278
|
+
import { z as z48 } from "zod";
|
|
21279
|
+
var publicProductVariantSchema = z48.object({
|
|
21280
|
+
id: z48.string(),
|
|
21281
|
+
title: z48.string(),
|
|
21282
|
+
sku: z48.string().nullable(),
|
|
21283
|
+
priceCents: z48.number(),
|
|
21284
|
+
stockQuantity: z48.number().nullable(),
|
|
21285
|
+
soldOut: z48.boolean()
|
|
21286
|
+
});
|
|
21287
|
+
var publicProductSchema = z48.object({
|
|
21288
|
+
id: z48.string(),
|
|
21289
|
+
contentEntryId: z48.string().nullable(),
|
|
21290
|
+
title: z48.string(),
|
|
21291
|
+
slug: z48.string(),
|
|
21292
|
+
path: z48.string().nullable(),
|
|
21293
|
+
status: z48.enum(["draft", "active"]),
|
|
21294
|
+
priceCents: z48.number(),
|
|
21295
|
+
currency: z48.string(),
|
|
21296
|
+
productType: z48.enum(["physical", "digital"]),
|
|
21297
|
+
requiresShipping: z48.boolean(),
|
|
21298
|
+
hasVariants: z48.boolean(),
|
|
21299
|
+
trackInventory: z48.boolean(),
|
|
21300
|
+
soldOut: z48.boolean(),
|
|
21301
|
+
category: z48.object({
|
|
21302
|
+
id: z48.string(),
|
|
21303
|
+
name: z48.string(),
|
|
21304
|
+
slug: z48.string()
|
|
20345
21305
|
}).nullable(),
|
|
20346
|
-
summary:
|
|
20347
|
-
badges:
|
|
20348
|
-
ctaLabel:
|
|
20349
|
-
body:
|
|
20350
|
-
gallery:
|
|
20351
|
-
|
|
20352
|
-
url:
|
|
20353
|
-
alt:
|
|
21306
|
+
summary: z48.string().nullable(),
|
|
21307
|
+
badges: z48.array(z48.string()),
|
|
21308
|
+
ctaLabel: z48.string().nullable(),
|
|
21309
|
+
body: z48.unknown().nullable(),
|
|
21310
|
+
gallery: z48.array(
|
|
21311
|
+
z48.object({
|
|
21312
|
+
url: z48.string(),
|
|
21313
|
+
alt: z48.string().nullable()
|
|
20354
21314
|
})
|
|
20355
21315
|
),
|
|
20356
|
-
variants:
|
|
21316
|
+
variants: z48.array(publicProductVariantSchema)
|
|
20357
21317
|
});
|
|
20358
|
-
var publicProductsResponseSchema =
|
|
20359
|
-
products:
|
|
21318
|
+
var publicProductsResponseSchema = z48.object({
|
|
21319
|
+
products: z48.array(publicProductSchema)
|
|
20360
21320
|
});
|
|
20361
21321
|
|
|
20362
21322
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
@@ -20420,27 +21380,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
20420
21380
|
}
|
|
20421
21381
|
|
|
20422
21382
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
20423
|
-
import { z as
|
|
20424
|
-
var storedProductCartItemSchema =
|
|
20425
|
-
kind:
|
|
20426
|
-
productId:
|
|
20427
|
-
productCategoryId:
|
|
20428
|
-
variantId:
|
|
20429
|
-
title:
|
|
20430
|
-
variantTitle:
|
|
20431
|
-
quantity:
|
|
20432
|
-
unitPriceCents:
|
|
20433
|
-
currency:
|
|
20434
|
-
imageUrl:
|
|
20435
|
-
soldOut:
|
|
20436
|
-
});
|
|
20437
|
-
var storedPassCartItemSchema =
|
|
20438
|
-
kind:
|
|
20439
|
-
passId:
|
|
20440
|
-
title:
|
|
20441
|
-
quantity:
|
|
20442
|
-
unitPriceCents:
|
|
20443
|
-
currency:
|
|
21383
|
+
import { z as z49 } from "zod";
|
|
21384
|
+
var storedProductCartItemSchema = z49.object({
|
|
21385
|
+
kind: z49.literal("product"),
|
|
21386
|
+
productId: z49.string().min(1),
|
|
21387
|
+
productCategoryId: z49.string().min(1).optional().nullable(),
|
|
21388
|
+
variantId: z49.string().min(1).optional().nullable(),
|
|
21389
|
+
title: z49.string().min(1),
|
|
21390
|
+
variantTitle: z49.string().optional().nullable(),
|
|
21391
|
+
quantity: z49.number().finite(),
|
|
21392
|
+
unitPriceCents: z49.number().finite(),
|
|
21393
|
+
currency: z49.string().min(1),
|
|
21394
|
+
imageUrl: z49.string().optional().nullable(),
|
|
21395
|
+
soldOut: z49.boolean().optional()
|
|
21396
|
+
});
|
|
21397
|
+
var storedPassCartItemSchema = z49.object({
|
|
21398
|
+
kind: z49.literal("pass"),
|
|
21399
|
+
passId: z49.string().min(1),
|
|
21400
|
+
title: z49.string().min(1),
|
|
21401
|
+
quantity: z49.number().finite().optional(),
|
|
21402
|
+
unitPriceCents: z49.number().finite(),
|
|
21403
|
+
currency: z49.string().min(1)
|
|
20444
21404
|
});
|
|
20445
21405
|
function deriveCommerceCheckoutState(state) {
|
|
20446
21406
|
if (state.items.length === 0) {
|
|
@@ -20679,219 +21639,219 @@ function formatValidity(days) {
|
|
|
20679
21639
|
}
|
|
20680
21640
|
|
|
20681
21641
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
20682
|
-
var shopModeSchema =
|
|
20683
|
-
var contentEntrySchema3 =
|
|
20684
|
-
id:
|
|
20685
|
-
slug:
|
|
21642
|
+
var shopModeSchema = z50.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
21643
|
+
var contentEntrySchema3 = z50.object({
|
|
21644
|
+
id: z50.string().nullable().optional(),
|
|
21645
|
+
slug: z50.string().nullable().optional()
|
|
20686
21646
|
}).nullable();
|
|
20687
|
-
var shopSourceSchema =
|
|
20688
|
-
className:
|
|
21647
|
+
var shopSourceSchema = z50.object({
|
|
21648
|
+
className: z50.string().nullable().optional(),
|
|
20689
21649
|
mode: shopModeSchema.optional(),
|
|
20690
|
-
heading:
|
|
20691
|
-
productSlug:
|
|
20692
|
-
showPasses:
|
|
20693
|
-
showMemberships:
|
|
20694
|
-
layout:
|
|
20695
|
-
columns:
|
|
20696
|
-
showDescriptions:
|
|
20697
|
-
showSummary:
|
|
20698
|
-
showBody:
|
|
20699
|
-
showBadges:
|
|
20700
|
-
showPrices:
|
|
20701
|
-
showValidityPeriod:
|
|
20702
|
-
showPricePerCredit:
|
|
20703
|
-
passesHeading:
|
|
20704
|
-
membershipsHeading:
|
|
20705
|
-
buyButtonText:
|
|
20706
|
-
addButtonText:
|
|
20707
|
-
passPurchaseMode:
|
|
20708
|
-
subscribeButtonText:
|
|
20709
|
-
emptyStateText:
|
|
20710
|
-
checkoutButtonText:
|
|
20711
|
-
clearButtonText:
|
|
20712
|
-
submitButtonText:
|
|
21650
|
+
heading: z50.string().nullable().optional(),
|
|
21651
|
+
productSlug: z50.string().nullable().optional(),
|
|
21652
|
+
showPasses: z50.boolean().optional(),
|
|
21653
|
+
showMemberships: z50.boolean().optional(),
|
|
21654
|
+
layout: z50.enum(["grid", "list"]).optional(),
|
|
21655
|
+
columns: z50.string().optional(),
|
|
21656
|
+
showDescriptions: z50.boolean().optional(),
|
|
21657
|
+
showSummary: z50.boolean().optional(),
|
|
21658
|
+
showBody: z50.boolean().optional(),
|
|
21659
|
+
showBadges: z50.boolean().optional(),
|
|
21660
|
+
showPrices: z50.boolean().optional(),
|
|
21661
|
+
showValidityPeriod: z50.boolean().optional(),
|
|
21662
|
+
showPricePerCredit: z50.boolean().nullable().optional(),
|
|
21663
|
+
passesHeading: z50.string().optional(),
|
|
21664
|
+
membershipsHeading: z50.string().optional(),
|
|
21665
|
+
buyButtonText: z50.string().optional(),
|
|
21666
|
+
addButtonText: z50.string().optional(),
|
|
21667
|
+
passPurchaseMode: z50.enum(["add_to_cart", "buy_now"]).optional(),
|
|
21668
|
+
subscribeButtonText: z50.string().optional(),
|
|
21669
|
+
emptyStateText: z50.string().optional(),
|
|
21670
|
+
checkoutButtonText: z50.string().optional(),
|
|
21671
|
+
clearButtonText: z50.string().optional(),
|
|
21672
|
+
submitButtonText: z50.string().optional(),
|
|
20713
21673
|
contentEntry: contentEntrySchema3.optional(),
|
|
20714
|
-
passes:
|
|
20715
|
-
memberships:
|
|
20716
|
-
products:
|
|
20717
|
-
siteId:
|
|
20718
|
-
apiBaseUrl:
|
|
21674
|
+
passes: z50.array(publicPassProductSchema).nullable().optional(),
|
|
21675
|
+
memberships: z50.array(publicMembershipProductSchema).nullable().optional(),
|
|
21676
|
+
products: z50.array(publicProductSchema).nullable().optional(),
|
|
21677
|
+
siteId: z50.string().optional(),
|
|
21678
|
+
apiBaseUrl: z50.string().optional(),
|
|
20719
21679
|
stage: previewStageSchema.optional()
|
|
20720
21680
|
});
|
|
20721
|
-
var productVariantOptionDisplaySchema =
|
|
20722
|
-
id:
|
|
20723
|
-
label:
|
|
20724
|
-
soldOut:
|
|
20725
|
-
});
|
|
20726
|
-
var productCardDisplaySchema =
|
|
20727
|
-
productId:
|
|
20728
|
-
title:
|
|
20729
|
-
path:
|
|
20730
|
-
summary:
|
|
20731
|
-
priceLabel:
|
|
20732
|
-
badges:
|
|
20733
|
-
image:
|
|
20734
|
-
url:
|
|
20735
|
-
alt:
|
|
21681
|
+
var productVariantOptionDisplaySchema = z50.object({
|
|
21682
|
+
id: z50.string(),
|
|
21683
|
+
label: z50.string(),
|
|
21684
|
+
soldOut: z50.boolean()
|
|
21685
|
+
});
|
|
21686
|
+
var productCardDisplaySchema = z50.object({
|
|
21687
|
+
productId: z50.string(),
|
|
21688
|
+
title: z50.string(),
|
|
21689
|
+
path: z50.string().nullable(),
|
|
21690
|
+
summary: z50.string().nullable(),
|
|
21691
|
+
priceLabel: z50.string().nullable(),
|
|
21692
|
+
badges: z50.array(z50.string()),
|
|
21693
|
+
image: z50.object({
|
|
21694
|
+
url: z50.string(),
|
|
21695
|
+
alt: z50.string().nullable()
|
|
20736
21696
|
}).nullable(),
|
|
20737
|
-
variantOptions:
|
|
20738
|
-
selectedVariantId:
|
|
20739
|
-
selectionLabel:
|
|
20740
|
-
actionLabel:
|
|
20741
|
-
soldOut:
|
|
20742
|
-
});
|
|
20743
|
-
var productListDisplaySchema =
|
|
20744
|
-
kind:
|
|
20745
|
-
state:
|
|
20746
|
-
heading:
|
|
20747
|
-
className:
|
|
20748
|
-
layout:
|
|
20749
|
-
columns:
|
|
20750
|
-
emptyMessage:
|
|
20751
|
-
cards:
|
|
20752
|
-
});
|
|
20753
|
-
var productDetailDisplaySchema =
|
|
20754
|
-
|
|
20755
|
-
kind:
|
|
20756
|
-
state:
|
|
20757
|
-
heading:
|
|
20758
|
-
className:
|
|
20759
|
-
emptyMessage:
|
|
21697
|
+
variantOptions: z50.array(productVariantOptionDisplaySchema),
|
|
21698
|
+
selectedVariantId: z50.string().nullable(),
|
|
21699
|
+
selectionLabel: z50.string(),
|
|
21700
|
+
actionLabel: z50.string(),
|
|
21701
|
+
soldOut: z50.boolean()
|
|
21702
|
+
});
|
|
21703
|
+
var productListDisplaySchema = z50.object({
|
|
21704
|
+
kind: z50.literal("product-list"),
|
|
21705
|
+
state: z50.enum(["empty", "ready"]),
|
|
21706
|
+
heading: z50.string().nullable(),
|
|
21707
|
+
className: z50.string().nullable(),
|
|
21708
|
+
layout: z50.enum(["grid", "list"]),
|
|
21709
|
+
columns: z50.string(),
|
|
21710
|
+
emptyMessage: z50.string(),
|
|
21711
|
+
cards: z50.array(productCardDisplaySchema)
|
|
21712
|
+
});
|
|
21713
|
+
var productDetailDisplaySchema = z50.discriminatedUnion("state", [
|
|
21714
|
+
z50.object({
|
|
21715
|
+
kind: z50.literal("product-detail"),
|
|
21716
|
+
state: z50.literal("empty"),
|
|
21717
|
+
heading: z50.string().nullable(),
|
|
21718
|
+
className: z50.string().nullable(),
|
|
21719
|
+
emptyMessage: z50.string()
|
|
20760
21720
|
}),
|
|
20761
|
-
|
|
20762
|
-
kind:
|
|
20763
|
-
state:
|
|
20764
|
-
heading:
|
|
20765
|
-
className:
|
|
20766
|
-
title:
|
|
20767
|
-
priceLabel:
|
|
20768
|
-
summary:
|
|
20769
|
-
badges:
|
|
20770
|
-
categoryLabel:
|
|
20771
|
-
gallery:
|
|
20772
|
-
url:
|
|
20773
|
-
alt:
|
|
21721
|
+
z50.object({
|
|
21722
|
+
kind: z50.literal("product-detail"),
|
|
21723
|
+
state: z50.literal("ready"),
|
|
21724
|
+
heading: z50.string().nullable(),
|
|
21725
|
+
className: z50.string().nullable(),
|
|
21726
|
+
title: z50.string(),
|
|
21727
|
+
priceLabel: z50.string(),
|
|
21728
|
+
summary: z50.string().nullable(),
|
|
21729
|
+
badges: z50.array(z50.string()),
|
|
21730
|
+
categoryLabel: z50.string().nullable(),
|
|
21731
|
+
gallery: z50.array(z50.object({
|
|
21732
|
+
url: z50.string(),
|
|
21733
|
+
alt: z50.string().nullable()
|
|
20774
21734
|
})),
|
|
20775
|
-
variantOptions:
|
|
20776
|
-
selectedVariantId:
|
|
20777
|
-
selectionLabel:
|
|
20778
|
-
actionLabel:
|
|
20779
|
-
soldOut:
|
|
20780
|
-
body:
|
|
21735
|
+
variantOptions: z50.array(productVariantOptionDisplaySchema),
|
|
21736
|
+
selectedVariantId: z50.string().nullable(),
|
|
21737
|
+
selectionLabel: z50.string(),
|
|
21738
|
+
actionLabel: z50.string(),
|
|
21739
|
+
soldOut: z50.boolean(),
|
|
21740
|
+
body: z50.unknown().nullable()
|
|
20781
21741
|
})
|
|
20782
21742
|
]);
|
|
20783
|
-
var passCardDisplaySchema =
|
|
20784
|
-
id:
|
|
20785
|
-
title:
|
|
20786
|
-
description:
|
|
20787
|
-
priceLabel:
|
|
20788
|
-
creditsLabel:
|
|
20789
|
-
perCreditLabel:
|
|
20790
|
-
validityLabel:
|
|
20791
|
-
actionLabel:
|
|
20792
|
-
});
|
|
20793
|
-
var membershipCardDisplaySchema =
|
|
20794
|
-
id:
|
|
20795
|
-
title:
|
|
20796
|
-
description:
|
|
20797
|
-
priceLabel:
|
|
20798
|
-
intervalLabel:
|
|
20799
|
-
actionLabel:
|
|
20800
|
-
});
|
|
20801
|
-
var passesMembershipsDisplaySchema =
|
|
20802
|
-
kind:
|
|
20803
|
-
state:
|
|
20804
|
-
className:
|
|
20805
|
-
layout:
|
|
20806
|
-
columns:
|
|
20807
|
-
emptyMessage:
|
|
20808
|
-
passesHeading:
|
|
20809
|
-
membershipsHeading:
|
|
20810
|
-
passes:
|
|
20811
|
-
memberships:
|
|
20812
|
-
});
|
|
20813
|
-
var cartLineDisplaySchema =
|
|
20814
|
-
key:
|
|
20815
|
-
title:
|
|
20816
|
-
priceLabel:
|
|
20817
|
-
quantity:
|
|
20818
|
-
quantityEditable:
|
|
20819
|
-
});
|
|
20820
|
-
var cartDisplaySchema =
|
|
20821
|
-
kind:
|
|
20822
|
-
state:
|
|
20823
|
-
heading:
|
|
20824
|
-
className:
|
|
20825
|
-
emptyMessage:
|
|
20826
|
-
supportText:
|
|
20827
|
-
items:
|
|
20828
|
-
subtotalLabel:
|
|
20829
|
-
checkoutButtonText:
|
|
20830
|
-
clearButtonText:
|
|
20831
|
-
});
|
|
20832
|
-
var checkoutDisplaySchema =
|
|
20833
|
-
kind:
|
|
20834
|
-
state:
|
|
20835
|
-
heading:
|
|
20836
|
-
className:
|
|
20837
|
-
message:
|
|
20838
|
-
submitButtonText:
|
|
20839
|
-
});
|
|
20840
|
-
var passesMembershipsHydrationSchema =
|
|
20841
|
-
passes:
|
|
20842
|
-
memberships:
|
|
20843
|
-
passPurchaseMode:
|
|
20844
|
-
});
|
|
20845
|
-
var productListHydrationSchema =
|
|
20846
|
-
products:
|
|
20847
|
-
showSummary:
|
|
20848
|
-
showBadges:
|
|
20849
|
-
showPrices:
|
|
20850
|
-
addButtonText:
|
|
20851
|
-
});
|
|
20852
|
-
var productDetailHydrationSchema =
|
|
20853
|
-
products:
|
|
20854
|
-
productId:
|
|
20855
|
-
showSummary:
|
|
20856
|
-
showBadges:
|
|
20857
|
-
showBody:
|
|
20858
|
-
addButtonText:
|
|
20859
|
-
});
|
|
20860
|
-
var cartHydrationSchema =
|
|
20861
|
-
emptyStateText:
|
|
20862
|
-
checkoutButtonText:
|
|
20863
|
-
clearButtonText:
|
|
20864
|
-
});
|
|
20865
|
-
var checkoutHydrationSchema =
|
|
20866
|
-
emptyStateText:
|
|
20867
|
-
submitButtonText:
|
|
20868
|
-
});
|
|
20869
|
-
var passesMembershipsRenderSchema =
|
|
21743
|
+
var passCardDisplaySchema = z50.object({
|
|
21744
|
+
id: z50.string(),
|
|
21745
|
+
title: z50.string(),
|
|
21746
|
+
description: z50.string().nullable(),
|
|
21747
|
+
priceLabel: z50.string(),
|
|
21748
|
+
creditsLabel: z50.string(),
|
|
21749
|
+
perCreditLabel: z50.string().nullable(),
|
|
21750
|
+
validityLabel: z50.string().nullable(),
|
|
21751
|
+
actionLabel: z50.string()
|
|
21752
|
+
});
|
|
21753
|
+
var membershipCardDisplaySchema = z50.object({
|
|
21754
|
+
id: z50.string(),
|
|
21755
|
+
title: z50.string(),
|
|
21756
|
+
description: z50.string().nullable(),
|
|
21757
|
+
priceLabel: z50.string(),
|
|
21758
|
+
intervalLabel: z50.string(),
|
|
21759
|
+
actionLabel: z50.string()
|
|
21760
|
+
});
|
|
21761
|
+
var passesMembershipsDisplaySchema = z50.object({
|
|
21762
|
+
kind: z50.literal("passes-memberships"),
|
|
21763
|
+
state: z50.enum(["empty", "ready"]),
|
|
21764
|
+
className: z50.string().nullable(),
|
|
21765
|
+
layout: z50.enum(["grid", "list"]),
|
|
21766
|
+
columns: z50.string(),
|
|
21767
|
+
emptyMessage: z50.string(),
|
|
21768
|
+
passesHeading: z50.string(),
|
|
21769
|
+
membershipsHeading: z50.string(),
|
|
21770
|
+
passes: z50.array(passCardDisplaySchema),
|
|
21771
|
+
memberships: z50.array(membershipCardDisplaySchema)
|
|
21772
|
+
});
|
|
21773
|
+
var cartLineDisplaySchema = z50.object({
|
|
21774
|
+
key: z50.string(),
|
|
21775
|
+
title: z50.string(),
|
|
21776
|
+
priceLabel: z50.string(),
|
|
21777
|
+
quantity: z50.number(),
|
|
21778
|
+
quantityEditable: z50.boolean()
|
|
21779
|
+
});
|
|
21780
|
+
var cartDisplaySchema = z50.object({
|
|
21781
|
+
kind: z50.literal("cart"),
|
|
21782
|
+
state: z50.enum(["empty", "ready"]),
|
|
21783
|
+
heading: z50.string().nullable(),
|
|
21784
|
+
className: z50.string().nullable(),
|
|
21785
|
+
emptyMessage: z50.string(),
|
|
21786
|
+
supportText: z50.string().nullable(),
|
|
21787
|
+
items: z50.array(cartLineDisplaySchema),
|
|
21788
|
+
subtotalLabel: z50.string().nullable(),
|
|
21789
|
+
checkoutButtonText: z50.string(),
|
|
21790
|
+
clearButtonText: z50.string()
|
|
21791
|
+
});
|
|
21792
|
+
var checkoutDisplaySchema = z50.object({
|
|
21793
|
+
kind: z50.literal("checkout"),
|
|
21794
|
+
state: z50.enum(["empty", "blocked", "ready"]),
|
|
21795
|
+
heading: z50.string().nullable(),
|
|
21796
|
+
className: z50.string().nullable(),
|
|
21797
|
+
message: z50.string().nullable(),
|
|
21798
|
+
submitButtonText: z50.string()
|
|
21799
|
+
});
|
|
21800
|
+
var passesMembershipsHydrationSchema = z50.object({
|
|
21801
|
+
passes: z50.array(publicPassProductSchema),
|
|
21802
|
+
memberships: z50.array(publicMembershipProductSchema),
|
|
21803
|
+
passPurchaseMode: z50.enum(["add_to_cart", "buy_now"])
|
|
21804
|
+
});
|
|
21805
|
+
var productListHydrationSchema = z50.object({
|
|
21806
|
+
products: z50.array(publicProductSchema),
|
|
21807
|
+
showSummary: z50.boolean(),
|
|
21808
|
+
showBadges: z50.boolean(),
|
|
21809
|
+
showPrices: z50.boolean(),
|
|
21810
|
+
addButtonText: z50.string()
|
|
21811
|
+
});
|
|
21812
|
+
var productDetailHydrationSchema = z50.object({
|
|
21813
|
+
products: z50.array(publicProductSchema),
|
|
21814
|
+
productId: z50.string().nullable(),
|
|
21815
|
+
showSummary: z50.boolean(),
|
|
21816
|
+
showBadges: z50.boolean(),
|
|
21817
|
+
showBody: z50.boolean(),
|
|
21818
|
+
addButtonText: z50.string()
|
|
21819
|
+
});
|
|
21820
|
+
var cartHydrationSchema = z50.object({
|
|
21821
|
+
emptyStateText: z50.string(),
|
|
21822
|
+
checkoutButtonText: z50.string(),
|
|
21823
|
+
clearButtonText: z50.string()
|
|
21824
|
+
});
|
|
21825
|
+
var checkoutHydrationSchema = z50.object({
|
|
21826
|
+
emptyStateText: z50.string(),
|
|
21827
|
+
submitButtonText: z50.string()
|
|
21828
|
+
});
|
|
21829
|
+
var passesMembershipsRenderSchema = z50.object({
|
|
20870
21830
|
display: passesMembershipsDisplaySchema,
|
|
20871
21831
|
hydration: passesMembershipsHydrationSchema
|
|
20872
21832
|
});
|
|
20873
|
-
var productListRenderSchema =
|
|
21833
|
+
var productListRenderSchema = z50.object({
|
|
20874
21834
|
display: productListDisplaySchema,
|
|
20875
21835
|
hydration: productListHydrationSchema
|
|
20876
21836
|
});
|
|
20877
|
-
var productDetailRenderSchema =
|
|
21837
|
+
var productDetailRenderSchema = z50.object({
|
|
20878
21838
|
display: productDetailDisplaySchema,
|
|
20879
21839
|
hydration: productDetailHydrationSchema
|
|
20880
21840
|
});
|
|
20881
|
-
var cartRenderSchema =
|
|
21841
|
+
var cartRenderSchema = z50.object({
|
|
20882
21842
|
display: cartDisplaySchema,
|
|
20883
21843
|
hydration: cartHydrationSchema
|
|
20884
21844
|
});
|
|
20885
|
-
var checkoutRenderSchema =
|
|
21845
|
+
var checkoutRenderSchema = z50.object({
|
|
20886
21846
|
display: checkoutDisplaySchema,
|
|
20887
21847
|
hydration: checkoutHydrationSchema
|
|
20888
21848
|
});
|
|
20889
21849
|
function resolveShowPricePerCredit(source) {
|
|
20890
21850
|
return source.showPricePerCredit ?? true;
|
|
20891
21851
|
}
|
|
20892
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
20893
|
-
siteId:
|
|
20894
|
-
apiBaseUrl:
|
|
21852
|
+
var shopIslandMetaCodec = createZodCodec(z50.object({
|
|
21853
|
+
siteId: z50.string().optional(),
|
|
21854
|
+
apiBaseUrl: z50.string().optional(),
|
|
20895
21855
|
stage: previewStageSchema.optional()
|
|
20896
21856
|
}));
|
|
20897
21857
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -21273,9 +22233,9 @@ var shopBlockDefinition = {
|
|
|
21273
22233
|
runtime: shopBlockRuntime,
|
|
21274
22234
|
dataSchemas: {
|
|
21275
22235
|
// listPublicPasses returns { passes: [...] }
|
|
21276
|
-
passes:
|
|
22236
|
+
passes: z51.object({ passes: z51.array(publicPassProductSchema) }).optional(),
|
|
21277
22237
|
// listPublicMemberships returns { memberships: [...] }
|
|
21278
|
-
memberships:
|
|
22238
|
+
memberships: z51.object({ memberships: z51.array(publicMembershipProductSchema) }).optional()
|
|
21279
22239
|
},
|
|
21280
22240
|
dataLoaders: {
|
|
21281
22241
|
// Load passes for display
|
|
@@ -21298,7 +22258,7 @@ var shopBlockDefinition = {
|
|
|
21298
22258
|
};
|
|
21299
22259
|
|
|
21300
22260
|
// ../blocks/src/system/blocks/product-list.ts
|
|
21301
|
-
import { z as
|
|
22261
|
+
import { z as z52 } from "zod";
|
|
21302
22262
|
var productListManifest = createBlockManifest({
|
|
21303
22263
|
id: "block.product-list",
|
|
21304
22264
|
version: "1.0.0",
|
|
@@ -21440,7 +22400,7 @@ var productListBlockDefinition = {
|
|
|
21440
22400
|
}
|
|
21441
22401
|
}
|
|
21442
22402
|
};
|
|
21443
|
-
var productListDataSchema =
|
|
22403
|
+
var productListDataSchema = z52.object({
|
|
21444
22404
|
products: publicProductsResponseSchema.optional()
|
|
21445
22405
|
});
|
|
21446
22406
|
|
|
@@ -21710,72 +22670,72 @@ var checkoutBlockDefinition = {
|
|
|
21710
22670
|
};
|
|
21711
22671
|
|
|
21712
22672
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
21713
|
-
import { z as
|
|
21714
|
-
var publicGiftCardOfferSchema =
|
|
21715
|
-
id:
|
|
21716
|
-
kind:
|
|
21717
|
-
title:
|
|
21718
|
-
description:
|
|
21719
|
-
sortOrder:
|
|
21720
|
-
giftCard:
|
|
21721
|
-
fixedDenominations:
|
|
21722
|
-
customAmountEnabled:
|
|
21723
|
-
customAmountMinCents:
|
|
21724
|
-
customAmountMaxCents:
|
|
22673
|
+
import { z as z53 } from "zod";
|
|
22674
|
+
var publicGiftCardOfferSchema = z53.object({
|
|
22675
|
+
id: z53.string(),
|
|
22676
|
+
kind: z53.literal("gift_card"),
|
|
22677
|
+
title: z53.string(),
|
|
22678
|
+
description: z53.string().nullable(),
|
|
22679
|
+
sortOrder: z53.number().int(),
|
|
22680
|
+
giftCard: z53.object({
|
|
22681
|
+
fixedDenominations: z53.array(z53.number().int().positive()),
|
|
22682
|
+
customAmountEnabled: z53.boolean(),
|
|
22683
|
+
customAmountMinCents: z53.number().int().positive(),
|
|
22684
|
+
customAmountMaxCents: z53.number().int().positive()
|
|
21725
22685
|
}),
|
|
21726
|
-
voucher:
|
|
21727
|
-
});
|
|
21728
|
-
var publicVoucherOfferSchema =
|
|
21729
|
-
id:
|
|
21730
|
-
kind:
|
|
21731
|
-
title:
|
|
21732
|
-
description:
|
|
21733
|
-
sortOrder:
|
|
21734
|
-
giftCard:
|
|
21735
|
-
voucher:
|
|
21736
|
-
purchaseAmountCents:
|
|
22686
|
+
voucher: z53.null()
|
|
22687
|
+
});
|
|
22688
|
+
var publicVoucherOfferSchema = z53.object({
|
|
22689
|
+
id: z53.string(),
|
|
22690
|
+
kind: z53.literal("voucher"),
|
|
22691
|
+
title: z53.string(),
|
|
22692
|
+
description: z53.string().nullable(),
|
|
22693
|
+
sortOrder: z53.number().int(),
|
|
22694
|
+
giftCard: z53.null(),
|
|
22695
|
+
voucher: z53.object({
|
|
22696
|
+
purchaseAmountCents: z53.number().int().positive()
|
|
21737
22697
|
})
|
|
21738
22698
|
});
|
|
21739
|
-
var publicGiftingOffersResponseSchema =
|
|
21740
|
-
currency:
|
|
21741
|
-
giftCards:
|
|
21742
|
-
vouchers:
|
|
22699
|
+
var publicGiftingOffersResponseSchema = z53.object({
|
|
22700
|
+
currency: z53.string(),
|
|
22701
|
+
giftCards: z53.array(publicGiftCardOfferSchema),
|
|
22702
|
+
vouchers: z53.array(publicVoucherOfferSchema)
|
|
21743
22703
|
});
|
|
21744
|
-
var giftingSourceSchema =
|
|
21745
|
-
siteId:
|
|
21746
|
-
apiBaseUrl:
|
|
22704
|
+
var giftingSourceSchema = z53.object({
|
|
22705
|
+
siteId: z53.string().optional(),
|
|
22706
|
+
apiBaseUrl: z53.string().optional(),
|
|
21747
22707
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
21748
|
-
className:
|
|
21749
|
-
heading:
|
|
21750
|
-
intro:
|
|
21751
|
-
giftCardsHeading:
|
|
21752
|
-
vouchersHeading:
|
|
21753
|
-
emptyStateText:
|
|
21754
|
-
checkoutButtonText:
|
|
21755
|
-
successMessage:
|
|
21756
|
-
});
|
|
21757
|
-
var giftingDisplaySchema =
|
|
21758
|
-
kind:
|
|
21759
|
-
state:
|
|
21760
|
-
className:
|
|
21761
|
-
heading:
|
|
21762
|
-
intro:
|
|
21763
|
-
giftCardsHeading:
|
|
21764
|
-
vouchersHeading:
|
|
21765
|
-
emptyStateText:
|
|
21766
|
-
});
|
|
21767
|
-
var giftingHydrationSchema =
|
|
22708
|
+
className: z53.string().nullable().optional(),
|
|
22709
|
+
heading: z53.string().nullable().optional(),
|
|
22710
|
+
intro: z53.string().nullable().optional(),
|
|
22711
|
+
giftCardsHeading: z53.string().nullable().optional(),
|
|
22712
|
+
vouchersHeading: z53.string().nullable().optional(),
|
|
22713
|
+
emptyStateText: z53.string().nullable().optional(),
|
|
22714
|
+
checkoutButtonText: z53.string().nullable().optional(),
|
|
22715
|
+
successMessage: z53.string().nullable().optional()
|
|
22716
|
+
});
|
|
22717
|
+
var giftingDisplaySchema = z53.object({
|
|
22718
|
+
kind: z53.literal("gifting"),
|
|
22719
|
+
state: z53.literal("ready"),
|
|
22720
|
+
className: z53.string().nullable(),
|
|
22721
|
+
heading: z53.string(),
|
|
22722
|
+
intro: z53.string().nullable(),
|
|
22723
|
+
giftCardsHeading: z53.string(),
|
|
22724
|
+
vouchersHeading: z53.string(),
|
|
22725
|
+
emptyStateText: z53.string()
|
|
22726
|
+
});
|
|
22727
|
+
var giftingHydrationSchema = z53.object({
|
|
21768
22728
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
21769
|
-
checkoutButtonText:
|
|
21770
|
-
successMessage:
|
|
22729
|
+
checkoutButtonText: z53.string(),
|
|
22730
|
+
successMessage: z53.string()
|
|
21771
22731
|
});
|
|
21772
|
-
var giftingRenderSchema =
|
|
22732
|
+
var giftingRenderSchema = z53.object({
|
|
21773
22733
|
display: giftingDisplaySchema,
|
|
21774
22734
|
hydration: giftingHydrationSchema
|
|
21775
22735
|
});
|
|
21776
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
21777
|
-
siteId:
|
|
21778
|
-
apiBaseUrl:
|
|
22736
|
+
var giftingIslandMetaCodec = createZodCodec(z53.object({
|
|
22737
|
+
siteId: z53.string().optional(),
|
|
22738
|
+
apiBaseUrl: z53.string().optional()
|
|
21779
22739
|
}));
|
|
21780
22740
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
21781
22741
|
"siteId",
|
|
@@ -21946,7 +22906,7 @@ var giftingBlockDefinition = {
|
|
|
21946
22906
|
};
|
|
21947
22907
|
|
|
21948
22908
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
21949
|
-
import { z as
|
|
22909
|
+
import { z as z54 } from "zod";
|
|
21950
22910
|
|
|
21951
22911
|
// ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
|
|
21952
22912
|
function getPresetFields(preset, options) {
|
|
@@ -22000,49 +22960,49 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
22000
22960
|
}
|
|
22001
22961
|
|
|
22002
22962
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
22003
|
-
var newsletterPresetSchema =
|
|
22004
|
-
var newsletterFieldSchema =
|
|
22005
|
-
id:
|
|
22006
|
-
type:
|
|
22007
|
-
label:
|
|
22008
|
-
required:
|
|
22009
|
-
placeholder:
|
|
22010
|
-
});
|
|
22011
|
-
var newsletterSourceSchema =
|
|
22012
|
-
siteId:
|
|
22013
|
-
apiBaseUrl:
|
|
22014
|
-
listId:
|
|
22963
|
+
var newsletterPresetSchema = z54.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
22964
|
+
var newsletterFieldSchema = z54.object({
|
|
22965
|
+
id: z54.string(),
|
|
22966
|
+
type: z54.enum(["email", "text"]),
|
|
22967
|
+
label: z54.string(),
|
|
22968
|
+
required: z54.boolean(),
|
|
22969
|
+
placeholder: z54.string().optional()
|
|
22970
|
+
});
|
|
22971
|
+
var newsletterSourceSchema = z54.object({
|
|
22972
|
+
siteId: z54.string().optional(),
|
|
22973
|
+
apiBaseUrl: z54.string().optional(),
|
|
22974
|
+
listId: z54.string().nullable().optional(),
|
|
22015
22975
|
preset: newsletterPresetSchema.optional(),
|
|
22016
|
-
includePhone:
|
|
22017
|
-
buttonLabel:
|
|
22018
|
-
successMessage:
|
|
22019
|
-
privacyNote:
|
|
22020
|
-
tags:
|
|
22021
|
-
spamProtectionEnabled:
|
|
22022
|
-
className:
|
|
22023
|
-
});
|
|
22024
|
-
var newsletterDisplaySchema =
|
|
22025
|
-
kind:
|
|
22026
|
-
className:
|
|
22027
|
-
buttonLabel:
|
|
22028
|
-
successMessage:
|
|
22029
|
-
privacyNote:
|
|
22030
|
-
fields:
|
|
22031
|
-
});
|
|
22032
|
-
var newsletterHydrationSchema =
|
|
22033
|
-
listId:
|
|
22976
|
+
includePhone: z54.boolean().optional(),
|
|
22977
|
+
buttonLabel: z54.string().nullable().optional(),
|
|
22978
|
+
successMessage: z54.string().nullable().optional(),
|
|
22979
|
+
privacyNote: z54.string().nullable().optional(),
|
|
22980
|
+
tags: z54.string().nullable().optional(),
|
|
22981
|
+
spamProtectionEnabled: z54.boolean().optional(),
|
|
22982
|
+
className: z54.string().nullable().optional()
|
|
22983
|
+
});
|
|
22984
|
+
var newsletterDisplaySchema = z54.object({
|
|
22985
|
+
kind: z54.literal("newsletter-form"),
|
|
22986
|
+
className: z54.string().nullable(),
|
|
22987
|
+
buttonLabel: z54.string(),
|
|
22988
|
+
successMessage: z54.string().nullable(),
|
|
22989
|
+
privacyNote: z54.string().nullable(),
|
|
22990
|
+
fields: z54.array(newsletterFieldSchema)
|
|
22991
|
+
});
|
|
22992
|
+
var newsletterHydrationSchema = z54.object({
|
|
22993
|
+
listId: z54.string().nullable().optional(),
|
|
22034
22994
|
preset: newsletterPresetSchema,
|
|
22035
|
-
includePhone:
|
|
22036
|
-
tags:
|
|
22037
|
-
spamProtectionEnabled:
|
|
22995
|
+
includePhone: z54.boolean(),
|
|
22996
|
+
tags: z54.string().nullable().optional(),
|
|
22997
|
+
spamProtectionEnabled: z54.boolean().optional()
|
|
22038
22998
|
});
|
|
22039
|
-
var newsletterRenderSchema =
|
|
22999
|
+
var newsletterRenderSchema = z54.object({
|
|
22040
23000
|
display: newsletterDisplaySchema,
|
|
22041
23001
|
hydration: newsletterHydrationSchema
|
|
22042
23002
|
});
|
|
22043
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
22044
|
-
siteId:
|
|
22045
|
-
apiBaseUrl:
|
|
23003
|
+
var newsletterIslandMetaCodec = createZodCodec(z54.object({
|
|
23004
|
+
siteId: z54.string().optional(),
|
|
23005
|
+
apiBaseUrl: z54.string().optional()
|
|
22046
23006
|
}));
|
|
22047
23007
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
22048
23008
|
function buildNewsletterDisplay(source) {
|
|
@@ -22163,23 +23123,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
22163
23123
|
};
|
|
22164
23124
|
|
|
22165
23125
|
// ../blocks/src/system/blocks/team-members.ts
|
|
22166
|
-
import { z as
|
|
23126
|
+
import { z as z55 } from "zod";
|
|
22167
23127
|
var ITEM_NAME2 = "member";
|
|
22168
23128
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
22169
23129
|
message: "Team member photos must be image media"
|
|
22170
23130
|
}).nullable();
|
|
22171
|
-
var teamMemberDataSchema =
|
|
22172
|
-
_type:
|
|
22173
|
-
id:
|
|
22174
|
-
name:
|
|
22175
|
-
role:
|
|
22176
|
-
roleLabel:
|
|
22177
|
-
bio:
|
|
22178
|
-
summary:
|
|
23131
|
+
var teamMemberDataSchema = z55.object({
|
|
23132
|
+
_type: z55.literal("teamMember"),
|
|
23133
|
+
id: z55.string(),
|
|
23134
|
+
name: z55.string(),
|
|
23135
|
+
role: z55.string().nullable(),
|
|
23136
|
+
roleLabel: z55.string().nullable(),
|
|
23137
|
+
bio: z55.string().nullable(),
|
|
23138
|
+
summary: z55.string().nullable(),
|
|
22179
23139
|
photo: teamMemberPhotoSchema,
|
|
22180
|
-
profilePath:
|
|
23140
|
+
profilePath: z55.string().nullable()
|
|
22181
23141
|
});
|
|
22182
|
-
var teamMembersDataSchema =
|
|
23142
|
+
var teamMembersDataSchema = z55.array(teamMemberDataSchema);
|
|
22183
23143
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
22184
23144
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
22185
23145
|
var headingNode = text(
|
|
@@ -22949,6 +23909,13 @@ function eventListCapable() {
|
|
|
22949
23909
|
eventListTreatments
|
|
22950
23910
|
});
|
|
22951
23911
|
}
|
|
23912
|
+
function offeringsPreviewCapable() {
|
|
23913
|
+
return declareBlockDesignCapability({
|
|
23914
|
+
sectionSurfaces: "supported",
|
|
23915
|
+
contentFrames: ["plain"],
|
|
23916
|
+
itemSurfaces: "supported"
|
|
23917
|
+
});
|
|
23918
|
+
}
|
|
22952
23919
|
function defaultBoundaryBias(visualWeight) {
|
|
22953
23920
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
22954
23921
|
}
|
|
@@ -23062,6 +24029,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
23062
24029
|
weight: "featured",
|
|
23063
24030
|
bias: "clear",
|
|
23064
24031
|
surfaces: heroSectionSurfaces
|
|
24032
|
+
}),
|
|
24033
|
+
layoutProfile({
|
|
24034
|
+
variantKey: "splitEditorial",
|
|
24035
|
+
family: "split",
|
|
24036
|
+
weight: "featured",
|
|
24037
|
+
bias: "clear",
|
|
24038
|
+
surfaces: heroSectionSurfaces
|
|
23065
24039
|
})
|
|
23066
24040
|
]
|
|
23067
24041
|
})),
|
|
@@ -23156,7 +24130,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
23156
24130
|
})),
|
|
23157
24131
|
withDesignCapability("block.form", formBlockDefinition, panelCapable(), defineBlockDesignMetadata({
|
|
23158
24132
|
flow: conversionFlow,
|
|
23159
|
-
layoutProfiles: [
|
|
24133
|
+
layoutProfiles: [
|
|
24134
|
+
layoutProfile({ variantKey: "default", family: "form", weight: "standard" }),
|
|
24135
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
24136
|
+
]
|
|
23160
24137
|
})),
|
|
23161
24138
|
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
23162
24139
|
sectionSurfaces: "supported",
|
|
@@ -23185,7 +24162,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
23185
24162
|
contentFrames: ["plain", "panel"],
|
|
23186
24163
|
itemSurfaces: "supported",
|
|
23187
24164
|
testimonialCardTreatments: ["default", "statement", "non-carded", "accent-quote", "editorial-serif-quote"],
|
|
23188
|
-
|
|
24165
|
+
headingDecorationCapability: {
|
|
24166
|
+
kind: "supported",
|
|
24167
|
+
families: ["short-center-rule"]
|
|
24168
|
+
}
|
|
23189
24169
|
}), defineBlockDesignMetadata({
|
|
23190
24170
|
flow: proofFlow,
|
|
23191
24171
|
layoutProfiles: [
|
|
@@ -23288,6 +24268,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
23288
24268
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
23289
24269
|
]
|
|
23290
24270
|
})),
|
|
24271
|
+
withDesignCapability("block.offerings-preview", offeringsPreviewBlockDefinition, offeringsPreviewCapable(), defineBlockDesignMetadata({
|
|
24272
|
+
flow: offeringsFlow,
|
|
24273
|
+
layoutProfiles: [layoutProfile({ variantKey: "cards", family: "grid", weight: "standard" })]
|
|
24274
|
+
})),
|
|
23291
24275
|
// Friendly wrapper blocks
|
|
23292
24276
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
23293
24277
|
flow: proofFlow,
|
|
@@ -23652,11 +24636,11 @@ function resolveModelForPass(passId, tierOverrides, passOverrides, globalModel)
|
|
|
23652
24636
|
}
|
|
23653
24637
|
|
|
23654
24638
|
// src/page-converter/passes/pass1-segmentation-matching.ts
|
|
23655
|
-
import { z as
|
|
24639
|
+
import { z as z60 } from "zod";
|
|
23656
24640
|
|
|
23657
24641
|
// src/manifest/passes/pass1-fields.ts
|
|
23658
|
-
import { z as
|
|
23659
|
-
var simpleFieldTypeEnum =
|
|
24642
|
+
import { z as z56 } from "zod";
|
|
24643
|
+
var simpleFieldTypeEnum = z56.enum([
|
|
23660
24644
|
"text",
|
|
23661
24645
|
"richText",
|
|
23662
24646
|
"media",
|
|
@@ -23665,7 +24649,7 @@ var simpleFieldTypeEnum = z54.enum([
|
|
|
23665
24649
|
"select",
|
|
23666
24650
|
"number"
|
|
23667
24651
|
]);
|
|
23668
|
-
var fieldTypeEnum =
|
|
24652
|
+
var fieldTypeEnum = z56.enum([
|
|
23669
24653
|
"text",
|
|
23670
24654
|
"richText",
|
|
23671
24655
|
"media",
|
|
@@ -23676,109 +24660,109 @@ var fieldTypeEnum = z54.enum([
|
|
|
23676
24660
|
"repeater",
|
|
23677
24661
|
"group"
|
|
23678
24662
|
]);
|
|
23679
|
-
var linkDefaultValue =
|
|
23680
|
-
label:
|
|
24663
|
+
var linkDefaultValue = z56.object({
|
|
24664
|
+
label: z56.string().describe("The visible link text")
|
|
23681
24665
|
});
|
|
23682
|
-
var mediaDefaultValue =
|
|
23683
|
-
src:
|
|
23684
|
-
alt:
|
|
24666
|
+
var mediaDefaultValue = z56.object({
|
|
24667
|
+
src: z56.string().describe("Image/video source URL"),
|
|
24668
|
+
alt: z56.string().describe("Alt text for accessibility (empty string if none)")
|
|
23685
24669
|
});
|
|
23686
|
-
var nestedFieldSchema =
|
|
23687
|
-
id:
|
|
24670
|
+
var nestedFieldSchema = z56.object({
|
|
24671
|
+
id: z56.string().min(1).describe("camelCase field ID"),
|
|
23688
24672
|
type: simpleFieldTypeEnum,
|
|
23689
|
-
label:
|
|
23690
|
-
required:
|
|
24673
|
+
label: z56.string().min(1),
|
|
24674
|
+
required: z56.boolean().nullable()
|
|
23691
24675
|
});
|
|
23692
|
-
var simpleFieldSchema =
|
|
23693
|
-
id:
|
|
24676
|
+
var simpleFieldSchema = z56.object({
|
|
24677
|
+
id: z56.string().min(1).describe("camelCase field ID (e.g., headline, ctaButton)"),
|
|
23694
24678
|
type: simpleFieldTypeEnum,
|
|
23695
|
-
label:
|
|
23696
|
-
required:
|
|
23697
|
-
multiline:
|
|
23698
|
-
defaultValue:
|
|
23699
|
-
|
|
23700
|
-
|
|
23701
|
-
|
|
24679
|
+
label: z56.string().min(1),
|
|
24680
|
+
required: z56.boolean(),
|
|
24681
|
+
multiline: z56.boolean().nullable().describe("For text fields: true if multiple lines"),
|
|
24682
|
+
defaultValue: z56.union([
|
|
24683
|
+
z56.string(),
|
|
24684
|
+
z56.number(),
|
|
24685
|
+
z56.boolean(),
|
|
23702
24686
|
linkDefaultValue,
|
|
23703
24687
|
mediaDefaultValue,
|
|
23704
|
-
|
|
24688
|
+
z56.null()
|
|
23705
24689
|
]).describe("Default content extracted from HTML"),
|
|
23706
|
-
htmlContext:
|
|
24690
|
+
htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
|
|
23707
24691
|
});
|
|
23708
|
-
var repeaterFieldSchema2 =
|
|
23709
|
-
id:
|
|
23710
|
-
type:
|
|
23711
|
-
label:
|
|
23712
|
-
required:
|
|
23713
|
-
itemLabel:
|
|
23714
|
-
itemFields:
|
|
23715
|
-
htmlContext:
|
|
23716
|
-
});
|
|
23717
|
-
var groupFieldSchema2 = z54.object({
|
|
23718
|
-
id: z54.string().min(1).describe("camelCase field ID (e.g., contactInfo, seoSettings)"),
|
|
23719
|
-
type: z54.literal("group"),
|
|
23720
|
-
label: z54.string().min(1),
|
|
23721
|
-
required: z54.boolean(),
|
|
23722
|
-
groupFields: z54.array(nestedFieldSchema).min(1).describe("Fields within the group"),
|
|
23723
|
-
htmlContext: z54.string().describe("Brief description of where this appears in the HTML")
|
|
24692
|
+
var repeaterFieldSchema2 = z56.object({
|
|
24693
|
+
id: z56.string().min(1).describe("camelCase field ID (e.g., socialLinks, features)"),
|
|
24694
|
+
type: z56.literal("repeater"),
|
|
24695
|
+
label: z56.string().min(1),
|
|
24696
|
+
required: z56.boolean(),
|
|
24697
|
+
itemLabel: z56.string().min(1).describe('Singular label for each item (e.g., "Link", "Feature")'),
|
|
24698
|
+
itemFields: z56.array(nestedFieldSchema).min(1).describe("Fields for each item in the repeater"),
|
|
24699
|
+
htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
|
|
23724
24700
|
});
|
|
23725
|
-
var
|
|
24701
|
+
var groupFieldSchema2 = z56.object({
|
|
24702
|
+
id: z56.string().min(1).describe("camelCase field ID (e.g., contactInfo, seoSettings)"),
|
|
24703
|
+
type: z56.literal("group"),
|
|
24704
|
+
label: z56.string().min(1),
|
|
24705
|
+
required: z56.boolean(),
|
|
24706
|
+
groupFields: z56.array(nestedFieldSchema).min(1).describe("Fields within the group"),
|
|
24707
|
+
htmlContext: z56.string().describe("Brief description of where this appears in the HTML")
|
|
24708
|
+
});
|
|
24709
|
+
var extractedFieldSchema = z56.union([
|
|
23726
24710
|
simpleFieldSchema,
|
|
23727
24711
|
repeaterFieldSchema2,
|
|
23728
24712
|
groupFieldSchema2
|
|
23729
24713
|
]);
|
|
23730
|
-
var extractedEntrySchema =
|
|
23731
|
-
identifier:
|
|
23732
|
-
title:
|
|
24714
|
+
var extractedEntrySchema = z56.object({
|
|
24715
|
+
identifier: z56.string().regex(/^[a-z0-9-]+$/).describe("Unique slug-safe identifier (e.g., wine-tasting-evening)"),
|
|
24716
|
+
title: z56.string().min(1).describe("Entry title"),
|
|
23733
24717
|
// Use passthrough() instead of record() - generates additionalProperties:true without propertyNames
|
|
23734
24718
|
// which OpenAI's structured output accepts
|
|
23735
|
-
data:
|
|
23736
|
-
});
|
|
23737
|
-
var newContentTypeSchema =
|
|
23738
|
-
key:
|
|
23739
|
-
name:
|
|
23740
|
-
description:
|
|
23741
|
-
fields:
|
|
23742
|
-
id:
|
|
23743
|
-
type:
|
|
23744
|
-
label:
|
|
23745
|
-
required:
|
|
23746
|
-
description:
|
|
24719
|
+
data: z56.object({}).passthrough().describe("Entry data matching the content type schema")
|
|
24720
|
+
});
|
|
24721
|
+
var newContentTypeSchema = z56.object({
|
|
24722
|
+
key: z56.string().regex(/^[a-z][a-z0-9-]*$/).describe("Content type key (e.g., testimonial, team-member)"),
|
|
24723
|
+
name: z56.string().min(1).describe("Human-readable name"),
|
|
24724
|
+
description: z56.string().nullable().describe("Description of this content type"),
|
|
24725
|
+
fields: z56.array(z56.object({
|
|
24726
|
+
id: z56.string().min(1),
|
|
24727
|
+
type: z56.string().min(1),
|
|
24728
|
+
label: z56.string().min(1),
|
|
24729
|
+
required: z56.boolean().nullable(),
|
|
24730
|
+
description: z56.string().nullable()
|
|
23747
24731
|
})).min(1),
|
|
23748
|
-
isRouted:
|
|
24732
|
+
isRouted: z56.boolean().describe("Whether entries have their own pages")
|
|
23749
24733
|
});
|
|
23750
|
-
var contentTypeApproachSchema =
|
|
24734
|
+
var contentTypeApproachSchema = z56.discriminatedUnion("approach", [
|
|
23751
24735
|
// Use an existing content type
|
|
23752
|
-
|
|
23753
|
-
approach:
|
|
23754
|
-
contentTypeKey:
|
|
23755
|
-
entries:
|
|
23756
|
-
rationale:
|
|
24736
|
+
z56.object({
|
|
24737
|
+
approach: z56.literal("existingContentType"),
|
|
24738
|
+
contentTypeKey: z56.string().min(1).describe("Key of the existing content type to use"),
|
|
24739
|
+
entries: z56.array(extractedEntrySchema).min(1).describe("Extracted entries"),
|
|
24740
|
+
rationale: z56.string().describe("Why this content type fits")
|
|
23757
24741
|
}),
|
|
23758
24742
|
// Create a new content type
|
|
23759
|
-
|
|
23760
|
-
approach:
|
|
24743
|
+
z56.object({
|
|
24744
|
+
approach: z56.literal("newContentType"),
|
|
23761
24745
|
contentType: newContentTypeSchema,
|
|
23762
|
-
entries:
|
|
23763
|
-
rationale:
|
|
24746
|
+
entries: z56.array(extractedEntrySchema).min(1).describe("Extracted entries"),
|
|
24747
|
+
rationale: z56.string().describe("Why a new content type is needed")
|
|
23764
24748
|
}),
|
|
23765
24749
|
// Use repeater field (page-specific data)
|
|
23766
|
-
|
|
23767
|
-
approach:
|
|
23768
|
-
rationale:
|
|
24750
|
+
z56.object({
|
|
24751
|
+
approach: z56.literal("repeater"),
|
|
24752
|
+
rationale: z56.string().describe("Why repeater is preferred over content type")
|
|
23769
24753
|
}),
|
|
23770
24754
|
// No list data - standard field extraction
|
|
23771
|
-
|
|
23772
|
-
approach:
|
|
23773
|
-
rationale:
|
|
24755
|
+
z56.object({
|
|
24756
|
+
approach: z56.literal("none"),
|
|
24757
|
+
rationale: z56.string().describe("Why this is not list data")
|
|
23774
24758
|
})
|
|
23775
24759
|
]);
|
|
23776
|
-
var pass1OutputSchema =
|
|
23777
|
-
blockId:
|
|
23778
|
-
blockTitle:
|
|
23779
|
-
blockDescription:
|
|
23780
|
-
category:
|
|
23781
|
-
fields:
|
|
24760
|
+
var pass1OutputSchema = z56.object({
|
|
24761
|
+
blockId: z56.string().regex(/^custom\.[a-z][a-z0-9-]*$/).describe("Block ID like custom.hero-section"),
|
|
24762
|
+
blockTitle: z56.string().min(1),
|
|
24763
|
+
blockDescription: z56.string().nullable(),
|
|
24764
|
+
category: z56.enum(["marketing", "content", "blog", "media", "layout", "interactive"]),
|
|
24765
|
+
fields: z56.array(extractedFieldSchema).min(1),
|
|
23782
24766
|
/**
|
|
23783
24767
|
* Content type decision for list-like content.
|
|
23784
24768
|
* When content types are available, the LLM may decide to use content entries
|
|
@@ -24020,10 +25004,10 @@ async function getJsonFromAiText(ai, config, userMessage, schema) {
|
|
|
24020
25004
|
}
|
|
24021
25005
|
|
|
24022
25006
|
// src/manifest/passes/pass3-styling.ts
|
|
24023
|
-
import { z as
|
|
25007
|
+
import { z as z59 } from "zod";
|
|
24024
25008
|
|
|
24025
25009
|
// src/manifest/validation/output-schema.ts
|
|
24026
|
-
import { z as
|
|
25010
|
+
import { z as z58 } from "zod";
|
|
24027
25011
|
|
|
24028
25012
|
// src/manifest/validation/layout-utils.ts
|
|
24029
25013
|
function collectLayoutNodeInfos(node, path2 = "layout", out = []) {
|
|
@@ -24064,14 +25048,14 @@ function collectLayoutClassNames(node, out = /* @__PURE__ */ new Set()) {
|
|
|
24064
25048
|
}
|
|
24065
25049
|
|
|
24066
25050
|
// src/zod/titleSourceSchema.ts
|
|
24067
|
-
import { z as
|
|
24068
|
-
var titleSourceValueSchema =
|
|
24069
|
-
|
|
24070
|
-
|
|
25051
|
+
import { z as z57 } from "zod";
|
|
25052
|
+
var titleSourceValueSchema = z57.union([
|
|
25053
|
+
z57.string().min(1),
|
|
25054
|
+
z57.array(z57.string().min(1)).min(1)
|
|
24071
25055
|
]);
|
|
24072
25056
|
|
|
24073
25057
|
// src/manifest/validation/output-schema.ts
|
|
24074
|
-
var blockCategoryEnum2 =
|
|
25058
|
+
var blockCategoryEnum2 = z58.enum([
|
|
24075
25059
|
"marketing",
|
|
24076
25060
|
"content",
|
|
24077
25061
|
"blog",
|
|
@@ -24079,53 +25063,53 @@ var blockCategoryEnum2 = z56.enum([
|
|
|
24079
25063
|
"layout",
|
|
24080
25064
|
"interactive"
|
|
24081
25065
|
]);
|
|
24082
|
-
var llmColorValue =
|
|
24083
|
-
name:
|
|
24084
|
-
hex:
|
|
24085
|
-
});
|
|
24086
|
-
var llmThemePrimitive =
|
|
24087
|
-
|
|
24088
|
-
|
|
24089
|
-
|
|
24090
|
-
|
|
25066
|
+
var llmColorValue = z58.object({
|
|
25067
|
+
name: z58.string(),
|
|
25068
|
+
hex: z58.string()
|
|
25069
|
+
});
|
|
25070
|
+
var llmThemePrimitive = z58.union([
|
|
25071
|
+
z58.string(),
|
|
25072
|
+
z58.number(),
|
|
25073
|
+
z58.boolean(),
|
|
25074
|
+
z58.null()
|
|
24091
25075
|
]);
|
|
24092
|
-
var llmThemePatchValue =
|
|
25076
|
+
var llmThemePatchValue = z58.union([
|
|
24093
25077
|
llmThemePrimitive,
|
|
24094
25078
|
llmColorValue,
|
|
24095
|
-
|
|
24096
|
-
|
|
25079
|
+
z58.array(llmColorValue),
|
|
25080
|
+
z58.array(llmThemePrimitive)
|
|
24097
25081
|
]);
|
|
24098
|
-
var llmThemePatchOpSchema =
|
|
24099
|
-
|
|
24100
|
-
op:
|
|
24101
|
-
path:
|
|
25082
|
+
var llmThemePatchOpSchema = z58.discriminatedUnion("op", [
|
|
25083
|
+
z58.object({
|
|
25084
|
+
op: z58.literal("add"),
|
|
25085
|
+
path: z58.string().min(1),
|
|
24102
25086
|
value: llmThemePatchValue
|
|
24103
25087
|
}),
|
|
24104
|
-
|
|
24105
|
-
op:
|
|
24106
|
-
path:
|
|
25088
|
+
z58.object({
|
|
25089
|
+
op: z58.literal("replace"),
|
|
25090
|
+
path: z58.string().min(1),
|
|
24107
25091
|
value: llmThemePatchValue
|
|
24108
25092
|
}),
|
|
24109
|
-
|
|
25093
|
+
z58.object({ op: z58.literal("remove"), path: z58.string().min(1) })
|
|
24110
25094
|
]);
|
|
24111
|
-
var llmCssDeclaration =
|
|
24112
|
-
property:
|
|
24113
|
-
value:
|
|
25095
|
+
var llmCssDeclaration = z58.object({
|
|
25096
|
+
property: z58.string(),
|
|
25097
|
+
value: z58.string()
|
|
24114
25098
|
});
|
|
24115
|
-
var llmCustomCssRuleSchema =
|
|
24116
|
-
id:
|
|
24117
|
-
selector:
|
|
24118
|
-
declarations:
|
|
25099
|
+
var llmCustomCssRuleSchema = z58.object({
|
|
25100
|
+
id: z58.string().min(1),
|
|
25101
|
+
selector: z58.string().min(1),
|
|
25102
|
+
declarations: z58.array(llmCssDeclaration)
|
|
24119
25103
|
});
|
|
24120
|
-
var llmNestedRuleSchema =
|
|
24121
|
-
selector:
|
|
24122
|
-
declarations:
|
|
25104
|
+
var llmNestedRuleSchema = z58.object({
|
|
25105
|
+
selector: z58.string().min(1),
|
|
25106
|
+
declarations: z58.array(llmCssDeclaration)
|
|
24123
25107
|
});
|
|
24124
|
-
var llmMediaAtRuleSchema =
|
|
24125
|
-
id:
|
|
24126
|
-
type:
|
|
24127
|
-
query:
|
|
24128
|
-
rules:
|
|
25108
|
+
var llmMediaAtRuleSchema = z58.object({
|
|
25109
|
+
id: z58.string().min(1),
|
|
25110
|
+
type: z58.literal("media"),
|
|
25111
|
+
query: z58.string().min(1),
|
|
25112
|
+
rules: z58.array(llmNestedRuleSchema)
|
|
24129
25113
|
});
|
|
24130
25114
|
function normalizeDeclarationsArrayToRecord(declarations) {
|
|
24131
25115
|
const record = {};
|
|
@@ -24155,85 +25139,85 @@ function normalizeLlmMediaAtRule(atRule) {
|
|
|
24155
25139
|
rules: atRule.rules.map(normalizeLlmNestedRule)
|
|
24156
25140
|
};
|
|
24157
25141
|
}
|
|
24158
|
-
var jsonPrimitiveSchema =
|
|
24159
|
-
|
|
24160
|
-
|
|
24161
|
-
|
|
24162
|
-
|
|
25142
|
+
var jsonPrimitiveSchema = z58.union([
|
|
25143
|
+
z58.string(),
|
|
25144
|
+
z58.number(),
|
|
25145
|
+
z58.boolean(),
|
|
25146
|
+
z58.null()
|
|
24163
25147
|
]);
|
|
24164
|
-
var jsonValueSchema =
|
|
25148
|
+
var jsonValueSchema = z58.union([
|
|
24165
25149
|
jsonPrimitiveSchema,
|
|
24166
|
-
|
|
25150
|
+
z58.array(jsonPrimitiveSchema)
|
|
24167
25151
|
]);
|
|
24168
|
-
var llmBaseFieldSchema =
|
|
24169
|
-
id:
|
|
24170
|
-
label:
|
|
24171
|
-
description:
|
|
24172
|
-
required:
|
|
25152
|
+
var llmBaseFieldSchema = z58.object({
|
|
25153
|
+
id: z58.string().min(1),
|
|
25154
|
+
label: z58.string().min(1),
|
|
25155
|
+
description: z58.string().nullable(),
|
|
25156
|
+
required: z58.boolean(),
|
|
24173
25157
|
defaultValue: jsonValueSchema.nullable()
|
|
24174
25158
|
});
|
|
24175
25159
|
var llmTextFieldSchema = llmBaseFieldSchema.extend({
|
|
24176
|
-
type:
|
|
24177
|
-
multiline:
|
|
24178
|
-
maxLength:
|
|
25160
|
+
type: z58.literal("text"),
|
|
25161
|
+
multiline: z58.boolean(),
|
|
25162
|
+
maxLength: z58.number().int().positive().nullable()
|
|
24179
25163
|
});
|
|
24180
25164
|
var llmRichTextFieldSchema = llmBaseFieldSchema.extend({
|
|
24181
|
-
type:
|
|
25165
|
+
type: z58.literal("richText")
|
|
24182
25166
|
});
|
|
24183
25167
|
var llmMediaFieldSchema = llmBaseFieldSchema.extend({
|
|
24184
|
-
type:
|
|
24185
|
-
mediaKinds:
|
|
25168
|
+
type: z58.literal("media"),
|
|
25169
|
+
mediaKinds: z58.array(z58.enum(["image", "video", "audio"])).nullable()
|
|
24186
25170
|
});
|
|
24187
25171
|
var llmFileFieldSchema = llmBaseFieldSchema.extend({
|
|
24188
|
-
type:
|
|
24189
|
-
fileKinds:
|
|
25172
|
+
type: z58.literal("file"),
|
|
25173
|
+
fileKinds: z58.array(z58.enum(["document", "spreadsheet", "archive", "audio"])).nullable()
|
|
24190
25174
|
});
|
|
24191
25175
|
var llmBooleanFieldSchema = llmBaseFieldSchema.extend({
|
|
24192
|
-
type:
|
|
25176
|
+
type: z58.literal("boolean")
|
|
24193
25177
|
});
|
|
24194
25178
|
var llmLinkFieldSchema = llmBaseFieldSchema.extend({
|
|
24195
|
-
type:
|
|
25179
|
+
type: z58.literal("link")
|
|
24196
25180
|
});
|
|
24197
25181
|
var llmSelectFieldSchema = llmBaseFieldSchema.extend({
|
|
24198
|
-
type:
|
|
24199
|
-
options:
|
|
24200
|
-
|
|
24201
|
-
value:
|
|
24202
|
-
label:
|
|
25182
|
+
type: z58.literal("select"),
|
|
25183
|
+
options: z58.array(
|
|
25184
|
+
z58.object({
|
|
25185
|
+
value: z58.string(),
|
|
25186
|
+
label: z58.string()
|
|
24203
25187
|
})
|
|
24204
25188
|
),
|
|
24205
|
-
multiple:
|
|
25189
|
+
multiple: z58.boolean().nullable()
|
|
24206
25190
|
});
|
|
24207
25191
|
var llmNumberFieldSchema = llmBaseFieldSchema.extend({
|
|
24208
|
-
type:
|
|
24209
|
-
});
|
|
24210
|
-
var llmNestedFieldSchema =
|
|
24211
|
-
id:
|
|
24212
|
-
type:
|
|
24213
|
-
label:
|
|
24214
|
-
required:
|
|
24215
|
-
multiline:
|
|
25192
|
+
type: z58.literal("number")
|
|
25193
|
+
});
|
|
25194
|
+
var llmNestedFieldSchema = z58.object({
|
|
25195
|
+
id: z58.string(),
|
|
25196
|
+
type: z58.string(),
|
|
25197
|
+
label: z58.string(),
|
|
25198
|
+
required: z58.boolean().nullable(),
|
|
25199
|
+
multiline: z58.boolean().nullable(),
|
|
24216
25200
|
defaultValue: jsonValueSchema.nullable()
|
|
24217
25201
|
}).passthrough();
|
|
24218
|
-
var llmNestedFieldsSchema =
|
|
25202
|
+
var llmNestedFieldsSchema = z58.array(llmNestedFieldSchema);
|
|
24219
25203
|
var llmGroupFieldSchema = llmBaseFieldSchema.extend({
|
|
24220
|
-
type:
|
|
24221
|
-
schema:
|
|
25204
|
+
type: z58.literal("group"),
|
|
25205
|
+
schema: z58.object({
|
|
24222
25206
|
fields: llmNestedFieldsSchema
|
|
24223
25207
|
})
|
|
24224
25208
|
});
|
|
24225
25209
|
var llmRepeaterFieldSchema = llmBaseFieldSchema.extend({
|
|
24226
|
-
type:
|
|
24227
|
-
itemLabel:
|
|
24228
|
-
itemLabelSource:
|
|
24229
|
-
minItems:
|
|
24230
|
-
maxItems:
|
|
24231
|
-
allowConversion:
|
|
24232
|
-
schema:
|
|
25210
|
+
type: z58.literal("repeater"),
|
|
25211
|
+
itemLabel: z58.string(),
|
|
25212
|
+
itemLabelSource: z58.string().nullable(),
|
|
25213
|
+
minItems: z58.number().int().min(0),
|
|
25214
|
+
maxItems: z58.number().int().positive().nullable(),
|
|
25215
|
+
allowConversion: z58.boolean(),
|
|
25216
|
+
schema: z58.object({
|
|
24233
25217
|
fields: llmNestedFieldsSchema
|
|
24234
25218
|
})
|
|
24235
25219
|
});
|
|
24236
|
-
var llmFieldSchema =
|
|
25220
|
+
var llmFieldSchema = z58.union([
|
|
24237
25221
|
llmTextFieldSchema,
|
|
24238
25222
|
llmRichTextFieldSchema,
|
|
24239
25223
|
llmMediaFieldSchema,
|
|
@@ -24245,66 +25229,66 @@ var llmFieldSchema = z56.union([
|
|
|
24245
25229
|
llmGroupFieldSchema,
|
|
24246
25230
|
llmRepeaterFieldSchema
|
|
24247
25231
|
]);
|
|
24248
|
-
var llmBindingSchema =
|
|
24249
|
-
from:
|
|
24250
|
-
fallback:
|
|
24251
|
-
transforms:
|
|
24252
|
-
|
|
24253
|
-
id:
|
|
25232
|
+
var llmBindingSchema = z58.object({
|
|
25233
|
+
from: z58.string(),
|
|
25234
|
+
fallback: z58.string().nullable(),
|
|
25235
|
+
transforms: z58.array(
|
|
25236
|
+
z58.object({
|
|
25237
|
+
id: z58.string()
|
|
24254
25238
|
})
|
|
24255
25239
|
).nullable()
|
|
24256
25240
|
});
|
|
24257
|
-
var llmRepeatSchema =
|
|
24258
|
-
collection:
|
|
24259
|
-
itemName:
|
|
25241
|
+
var llmRepeatSchema = z58.object({
|
|
25242
|
+
collection: z58.object({ from: z58.string() }),
|
|
25243
|
+
itemName: z58.string()
|
|
24260
25244
|
});
|
|
24261
|
-
var llmPropsSchema =
|
|
25245
|
+
var llmPropsSchema = z58.object({}).passthrough().nullable();
|
|
24262
25246
|
function buildLlmNodeSchema(maxDepth) {
|
|
24263
|
-
const nodeBase =
|
|
24264
|
-
type:
|
|
25247
|
+
const nodeBase = z58.object({
|
|
25248
|
+
type: z58.string(),
|
|
24265
25249
|
props: llmPropsSchema,
|
|
24266
25250
|
$bind: llmBindingSchema.nullable(),
|
|
24267
25251
|
$repeat: llmRepeatSchema.nullable(),
|
|
24268
|
-
$when:
|
|
24269
|
-
condition:
|
|
25252
|
+
$when: z58.object({
|
|
25253
|
+
condition: z58.object({ from: z58.string() })
|
|
24270
25254
|
}).nullable()
|
|
24271
25255
|
});
|
|
24272
|
-
let schema = nodeBase.extend({ children:
|
|
25256
|
+
let schema = nodeBase.extend({ children: z58.null() });
|
|
24273
25257
|
for (let i = 0; i < maxDepth; i++) {
|
|
24274
|
-
schema = nodeBase.extend({ children:
|
|
25258
|
+
schema = nodeBase.extend({ children: z58.array(schema).nullable() });
|
|
24275
25259
|
}
|
|
24276
25260
|
return schema;
|
|
24277
25261
|
}
|
|
24278
25262
|
var MAX_LAYOUT_DEPTH = 6;
|
|
24279
25263
|
var llmNodeSchema = buildLlmNodeSchema(MAX_LAYOUT_DEPTH);
|
|
24280
|
-
var llmCustomBlockSchema =
|
|
24281
|
-
id:
|
|
25264
|
+
var llmCustomBlockSchema = z58.object({
|
|
25265
|
+
id: z58.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
24282
25266
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
24283
25267
|
}),
|
|
24284
|
-
title:
|
|
25268
|
+
title: z58.string().min(1, "Title is required"),
|
|
24285
25269
|
// Keep in sync with `sdkCustomBlockSchema` and the system manifest schema:
|
|
24286
25270
|
// - `null` used by OpenAI structured output for "optional" values
|
|
24287
25271
|
// - array allows multi-part titles (e.g. ["navLabel", "title"])
|
|
24288
25272
|
titleSource: titleSourceValueSchema.nullable(),
|
|
24289
|
-
description:
|
|
25273
|
+
description: z58.string().nullable(),
|
|
24290
25274
|
category: blockCategoryEnum2,
|
|
24291
|
-
icon:
|
|
24292
|
-
tags:
|
|
25275
|
+
icon: z58.string().nullable(),
|
|
25276
|
+
tags: z58.array(z58.string()).nullable(),
|
|
24293
25277
|
// Use LLM-specific field schema (no z.any() for OpenAI compatibility)
|
|
24294
25278
|
fields: llmFieldSchema.array().min(1, "Custom blocks must have at least one field"),
|
|
24295
25279
|
// Use LLM-specific node schema (no z.any() for OpenAI compatibility)
|
|
24296
25280
|
layout: llmNodeSchema
|
|
24297
25281
|
});
|
|
24298
|
-
var htmlToManifestOutputSchema =
|
|
24299
|
-
blocks:
|
|
24300
|
-
themePatch:
|
|
24301
|
-
customCssRules:
|
|
24302
|
-
customCssAtRules:
|
|
25282
|
+
var htmlToManifestOutputSchema = z58.object({
|
|
25283
|
+
blocks: z58.array(llmCustomBlockSchema).min(1, "At least one block is required").max(10, "Maximum 10 blocks per conversion"),
|
|
25284
|
+
themePatch: z58.array(llmThemePatchOpSchema).nullable(),
|
|
25285
|
+
customCssRules: z58.array(llmCustomCssRuleSchema).nullable(),
|
|
25286
|
+
customCssAtRules: z58.array(llmMediaAtRuleSchema).nullable(),
|
|
24303
25287
|
/**
|
|
24304
25288
|
* Explanation of fixes made when retrying after validation errors.
|
|
24305
25289
|
* Should explain what changes were made and why.
|
|
24306
25290
|
*/
|
|
24307
|
-
fixRationale:
|
|
25291
|
+
fixRationale: z58.string().nullable()
|
|
24308
25292
|
});
|
|
24309
25293
|
function collectValidationErrors(output) {
|
|
24310
25294
|
const errors = [];
|
|
@@ -25267,20 +26251,20 @@ function formatValidationFeedback(errors, output) {
|
|
|
25267
26251
|
}
|
|
25268
26252
|
|
|
25269
26253
|
// src/manifest/passes/pass3-styling.ts
|
|
25270
|
-
var pass3aOutputSchema =
|
|
25271
|
-
classNamePatches:
|
|
25272
|
-
|
|
25273
|
-
nodePath:
|
|
26254
|
+
var pass3aOutputSchema = z59.object({
|
|
26255
|
+
classNamePatches: z59.array(
|
|
26256
|
+
z59.object({
|
|
26257
|
+
nodePath: z59.string(),
|
|
25274
26258
|
// "" for root, "children[0]", "children[0].children[1]" etc.
|
|
25275
|
-
className:
|
|
26259
|
+
className: z59.string().min(1)
|
|
25276
26260
|
})
|
|
25277
26261
|
),
|
|
25278
|
-
rationale:
|
|
26262
|
+
rationale: z59.string()
|
|
25279
26263
|
});
|
|
25280
|
-
var pass3bOutputSchema =
|
|
25281
|
-
customCssRules:
|
|
25282
|
-
customCssAtRules:
|
|
25283
|
-
rationale:
|
|
26264
|
+
var pass3bOutputSchema = z59.object({
|
|
26265
|
+
customCssRules: z59.array(llmCustomCssRuleSchema).nullable(),
|
|
26266
|
+
customCssAtRules: z59.array(llmMediaAtRuleSchema).nullable(),
|
|
26267
|
+
rationale: z59.string()
|
|
25284
26268
|
});
|
|
25285
26269
|
function getNodeAtPath(layout, path2) {
|
|
25286
26270
|
if (path2 === "" || path2 === "root" || path2 === "layout") {
|
|
@@ -25587,38 +26571,38 @@ Do NOT include [data-block=...] in selectors - we add that automatically.
|
|
|
25587
26571
|
|
|
25588
26572
|
// src/page-converter/passes/pass1-segmentation-matching.ts
|
|
25589
26573
|
var SIZE_WARNING_BYTES = 100 * 1024;
|
|
25590
|
-
var sectionTypeEnum =
|
|
25591
|
-
var blockCategoryEnum3 =
|
|
25592
|
-
var baseSectionSchema =
|
|
25593
|
-
html:
|
|
25594
|
-
purpose:
|
|
26574
|
+
var sectionTypeEnum = z60.enum(["header", "content", "footer"]);
|
|
26575
|
+
var blockCategoryEnum3 = z60.enum(["marketing", "content", "blog", "media", "layout", "interactive"]);
|
|
26576
|
+
var baseSectionSchema = z60.object({
|
|
26577
|
+
html: z60.string().min(1),
|
|
26578
|
+
purpose: z60.string().min(1),
|
|
25595
26579
|
sectionType: sectionTypeEnum
|
|
25596
26580
|
});
|
|
25597
26581
|
var builtinMatchSchema = baseSectionSchema.extend({
|
|
25598
|
-
decision:
|
|
25599
|
-
matchedBlock:
|
|
25600
|
-
matchScore:
|
|
25601
|
-
matchRationale:
|
|
26582
|
+
decision: z60.literal("builtin"),
|
|
26583
|
+
matchedBlock: z60.string().min(1),
|
|
26584
|
+
matchScore: z60.number().min(0).max(100),
|
|
26585
|
+
matchRationale: z60.string().min(1)
|
|
25602
26586
|
});
|
|
25603
26587
|
var customMatchSchema = baseSectionSchema.extend({
|
|
25604
|
-
decision:
|
|
25605
|
-
customBlockSuggestion:
|
|
25606
|
-
title:
|
|
26588
|
+
decision: z60.literal("custom"),
|
|
26589
|
+
customBlockSuggestion: z60.object({
|
|
26590
|
+
title: z60.string().min(1),
|
|
25607
26591
|
category: blockCategoryEnum3
|
|
25608
26592
|
})
|
|
25609
26593
|
});
|
|
25610
|
-
var sectionMatchSchema =
|
|
26594
|
+
var sectionMatchSchema = z60.discriminatedUnion("decision", [
|
|
25611
26595
|
builtinMatchSchema,
|
|
25612
26596
|
customMatchSchema
|
|
25613
26597
|
]);
|
|
25614
|
-
var skippedContentSchema =
|
|
25615
|
-
description:
|
|
25616
|
-
reason:
|
|
26598
|
+
var skippedContentSchema = z60.object({
|
|
26599
|
+
description: z60.string(),
|
|
26600
|
+
reason: z60.string()
|
|
25617
26601
|
});
|
|
25618
|
-
var combinedPassSchema =
|
|
25619
|
-
sections:
|
|
25620
|
-
skippedContent:
|
|
25621
|
-
rationale:
|
|
26602
|
+
var combinedPassSchema = z60.object({
|
|
26603
|
+
sections: z60.array(sectionMatchSchema).min(1),
|
|
26604
|
+
skippedContent: z60.array(skippedContentSchema).nullable(),
|
|
26605
|
+
rationale: z60.string()
|
|
25622
26606
|
});
|
|
25623
26607
|
function buildSystemPrompt(availableBlocks, matchThreshold) {
|
|
25624
26608
|
const blockCatalog = availableBlocks.map((b) => {
|
|
@@ -25825,10 +26809,10 @@ async function segmentAndMatchBlocks(html, availableBlocks, ctx) {
|
|
|
25825
26809
|
}
|
|
25826
26810
|
|
|
25827
26811
|
// src/page-converter/passes/pass2-population.ts
|
|
25828
|
-
import { z as
|
|
26812
|
+
import { z as z62 } from "zod";
|
|
25829
26813
|
|
|
25830
26814
|
// src/manifest/three-pass-converter.ts
|
|
25831
|
-
import { z as
|
|
26815
|
+
import { z as z61 } from "zod";
|
|
25832
26816
|
|
|
25833
26817
|
// src/manifest/prompt/theme-summary.ts
|
|
25834
26818
|
var WEIGHT_MAP = {
|
|
@@ -26164,9 +27148,9 @@ function mapPass1FieldToOutputField(field) {
|
|
|
26164
27148
|
maxLength: null
|
|
26165
27149
|
};
|
|
26166
27150
|
}
|
|
26167
|
-
var pass2OutputSchema =
|
|
27151
|
+
var pass2OutputSchema = z61.object({
|
|
26168
27152
|
layout: llmNodeSchema,
|
|
26169
|
-
rationale:
|
|
27153
|
+
rationale: z61.string().describe("Explain which node binds to which field")
|
|
26170
27154
|
});
|
|
26171
27155
|
function buildPass2SystemPrompt(fields3, contentTypeApproach) {
|
|
26172
27156
|
const fieldList = fields3.map((f) => {
|
|
@@ -27026,9 +28010,9 @@ async function convertHtmlToManifest(input, options) {
|
|
|
27026
28010
|
}
|
|
27027
28011
|
|
|
27028
28012
|
// src/page-converter/passes/pass2-population.ts
|
|
27029
|
-
var builtinContentSchema =
|
|
27030
|
-
content:
|
|
27031
|
-
rationale:
|
|
28013
|
+
var builtinContentSchema = z62.object({
|
|
28014
|
+
content: z62.unknown(),
|
|
28015
|
+
rationale: z62.string()
|
|
27032
28016
|
});
|
|
27033
28017
|
var SECTION_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing"]);
|
|
27034
28018
|
var BOX_STYLES_ALLOWED_KEYS = /* @__PURE__ */ new Set(["background", "spacing", "raised", "rounded", "border", "fullWidth"]);
|