@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
package/dist/server/server.mjs
CHANGED
|
@@ -6948,7 +6948,7 @@ var SimpleCache = class {
|
|
|
6948
6948
|
};
|
|
6949
6949
|
|
|
6950
6950
|
// src/version.ts
|
|
6951
|
-
var SDK_VERSION = "0.
|
|
6951
|
+
var SDK_VERSION = "0.81.0";
|
|
6952
6952
|
|
|
6953
6953
|
// src/client/error.ts
|
|
6954
6954
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -8405,6 +8405,11 @@ function toLocationCoordinates(value) {
|
|
|
8405
8405
|
};
|
|
8406
8406
|
}
|
|
8407
8407
|
|
|
8408
|
+
// ../core/src/assert-never.ts
|
|
8409
|
+
function assertNever(value, message = "Unexpected variant") {
|
|
8410
|
+
throw new Error(`${message}: ${String(value)}`);
|
|
8411
|
+
}
|
|
8412
|
+
|
|
8408
8413
|
// ../api/src/accessAdmin.ts
|
|
8409
8414
|
import { z } from "zod";
|
|
8410
8415
|
var managedDomainAddOnPricingSnapshotSchema = z.object({
|
|
@@ -8509,7 +8514,7 @@ var navigationLinkInputSchema = z2.discriminatedUnion(
|
|
|
8509
8514
|
);
|
|
8510
8515
|
|
|
8511
8516
|
// ../api/src/sdkConfig/contracts.ts
|
|
8512
|
-
import { z as
|
|
8517
|
+
import { z as z65 } from "zod";
|
|
8513
8518
|
|
|
8514
8519
|
// ../blocks/src/system/manifest/augmentManifest.ts
|
|
8515
8520
|
function augmentManifest(manifest) {
|
|
@@ -9516,25 +9521,10 @@ function featuresFromHex(hex) {
|
|
|
9516
9521
|
return { r, g, b, h, s, l, v, Y, chroma, okL, okC, okH, hex };
|
|
9517
9522
|
}
|
|
9518
9523
|
|
|
9519
|
-
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
9520
|
-
function assertValidOptionGroups(preset2) {
|
|
9521
|
-
preset2.optionGroups?.forEach((group) => {
|
|
9522
|
-
const selectedOption = group.options.find(
|
|
9523
|
-
(option) => option.id === group.selectedOptionId
|
|
9524
|
-
);
|
|
9525
|
-
if (!selectedOption) {
|
|
9526
|
-
throw new Error(
|
|
9527
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
9528
|
-
);
|
|
9529
|
-
}
|
|
9530
|
-
});
|
|
9531
|
-
}
|
|
9532
|
-
function defineBlockAppearancePreset(preset2) {
|
|
9533
|
-
assertValidOptionGroups(preset2);
|
|
9534
|
-
return preset2;
|
|
9535
|
-
}
|
|
9536
|
-
|
|
9537
9524
|
// ../theme-core/src/site-styles/types.ts
|
|
9525
|
+
function defineExactCatalog() {
|
|
9526
|
+
return (entries) => entries;
|
|
9527
|
+
}
|
|
9538
9528
|
function asDesignBlockId(value) {
|
|
9539
9529
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
9540
9530
|
}
|
|
@@ -9593,7 +9583,7 @@ function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
|
9593
9583
|
const next = encodeURIComponent(nextBlockId);
|
|
9594
9584
|
return asDesignBoundaryId(`boundary:${previous}:${next}`);
|
|
9595
9585
|
}
|
|
9596
|
-
function
|
|
9586
|
+
function assertNever2(value, message = "Unhandled Theme V2 variant") {
|
|
9597
9587
|
throw new Error(`${message}: ${String(value)}`);
|
|
9598
9588
|
}
|
|
9599
9589
|
function brandNonEmptyString(value, label) {
|
|
@@ -9683,11 +9673,31 @@ function defineBlockDesignCapability(capability) {
|
|
|
9683
9673
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
9684
9674
|
eventListTreatments: capability.eventListTreatments ?? ["plain"],
|
|
9685
9675
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
9686
|
-
|
|
9687
|
-
|
|
9676
|
+
headingDecorationCapability: capability.headingDecorationCapability ?? {
|
|
9677
|
+
kind: "unsupported"
|
|
9678
|
+
},
|
|
9679
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
9688
9680
|
};
|
|
9689
9681
|
}
|
|
9690
9682
|
|
|
9683
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
9684
|
+
function assertValidOptionGroups(preset2) {
|
|
9685
|
+
preset2.optionGroups?.forEach((group) => {
|
|
9686
|
+
const selectedOption = group.options.find(
|
|
9687
|
+
(option) => option.id === group.selectedOptionId
|
|
9688
|
+
);
|
|
9689
|
+
if (!selectedOption) {
|
|
9690
|
+
throw new Error(
|
|
9691
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
9692
|
+
);
|
|
9693
|
+
}
|
|
9694
|
+
});
|
|
9695
|
+
}
|
|
9696
|
+
function defineBlockAppearancePreset(preset2) {
|
|
9697
|
+
assertValidOptionGroups(preset2);
|
|
9698
|
+
return preset2;
|
|
9699
|
+
}
|
|
9700
|
+
|
|
9691
9701
|
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
9692
9702
|
var blockAppearancePresets = [
|
|
9693
9703
|
defineBlockAppearancePreset({
|
|
@@ -10049,8 +10059,25 @@ var blockAppearancePresets = [
|
|
|
10049
10059
|
kind: "block-design",
|
|
10050
10060
|
id: "intro-organic-statement",
|
|
10051
10061
|
target: "intro",
|
|
10052
|
-
label: "
|
|
10062
|
+
label: "Intro statement",
|
|
10063
|
+
blockKinds: ["block.intro"],
|
|
10064
|
+
design: {
|
|
10065
|
+
sectionSurface: "base",
|
|
10066
|
+
contentFrame: plainFrame,
|
|
10067
|
+
itemSurface: "none",
|
|
10068
|
+
transitionAfter: "soft-fade-short",
|
|
10069
|
+
emphasis: "high"
|
|
10070
|
+
}
|
|
10071
|
+
}),
|
|
10072
|
+
defineBlockAppearancePreset({
|
|
10073
|
+
kind: "block-design",
|
|
10074
|
+
id: "intro-editorial-statement",
|
|
10075
|
+
target: "intro",
|
|
10076
|
+
label: "Editorial intro statement",
|
|
10053
10077
|
blockKinds: ["block.intro"],
|
|
10078
|
+
constraints: {
|
|
10079
|
+
layoutVariantKeys: ["centered-copy", "statement-copy"]
|
|
10080
|
+
},
|
|
10054
10081
|
design: {
|
|
10055
10082
|
sectionSurface: "base",
|
|
10056
10083
|
contentFrame: plainFrame,
|
|
@@ -10073,12 +10100,7 @@ var blockAppearancePresets = [
|
|
|
10073
10100
|
contentFrame: plainFrame,
|
|
10074
10101
|
itemSurface: "none",
|
|
10075
10102
|
transitionAfter: "soft-fade-short",
|
|
10076
|
-
emphasis: "medium"
|
|
10077
|
-
headingDecoration: {
|
|
10078
|
-
family: "organic-squiggle",
|
|
10079
|
-
placement: "after-heading",
|
|
10080
|
-
colorToken: "primary"
|
|
10081
|
-
}
|
|
10103
|
+
emphasis: "medium"
|
|
10082
10104
|
}
|
|
10083
10105
|
}),
|
|
10084
10106
|
defineBlockAppearancePreset({
|
|
@@ -10095,6 +10117,48 @@ var blockAppearancePresets = [
|
|
|
10095
10117
|
emphasis: "medium"
|
|
10096
10118
|
}
|
|
10097
10119
|
}),
|
|
10120
|
+
defineBlockAppearancePreset({
|
|
10121
|
+
kind: "block-design",
|
|
10122
|
+
id: "offerings-preview-default-cards",
|
|
10123
|
+
target: "offerings",
|
|
10124
|
+
label: "Default offering cards",
|
|
10125
|
+
blockKinds: ["block.offerings-preview"],
|
|
10126
|
+
design: {
|
|
10127
|
+
sectionSurface: "base",
|
|
10128
|
+
contentFrame: plainFrame,
|
|
10129
|
+
itemSurface: "default",
|
|
10130
|
+
transitionAfter: "soft-fade-short",
|
|
10131
|
+
emphasis: "medium"
|
|
10132
|
+
}
|
|
10133
|
+
}),
|
|
10134
|
+
defineBlockAppearancePreset({
|
|
10135
|
+
kind: "block-design",
|
|
10136
|
+
id: "offerings-preview-secondary-cards",
|
|
10137
|
+
target: "offerings",
|
|
10138
|
+
label: "Secondary offering cards",
|
|
10139
|
+
blockKinds: ["block.offerings-preview"],
|
|
10140
|
+
design: {
|
|
10141
|
+
sectionSurface: "muted-band",
|
|
10142
|
+
contentFrame: plainFrame,
|
|
10143
|
+
itemSurface: "inset",
|
|
10144
|
+
transitionAfter: "soft-fade-short",
|
|
10145
|
+
emphasis: "medium"
|
|
10146
|
+
}
|
|
10147
|
+
}),
|
|
10148
|
+
defineBlockAppearancePreset({
|
|
10149
|
+
kind: "block-design",
|
|
10150
|
+
id: "offerings-preview-non-carded",
|
|
10151
|
+
target: "offerings",
|
|
10152
|
+
label: "Non-carded offerings",
|
|
10153
|
+
blockKinds: ["block.offerings-preview"],
|
|
10154
|
+
design: {
|
|
10155
|
+
sectionSurface: "muted-band",
|
|
10156
|
+
contentFrame: plainFrame,
|
|
10157
|
+
itemSurface: "editorial",
|
|
10158
|
+
transitionAfter: "soft-fade-short",
|
|
10159
|
+
emphasis: "medium"
|
|
10160
|
+
}
|
|
10161
|
+
}),
|
|
10098
10162
|
defineBlockAppearancePreset({
|
|
10099
10163
|
kind: "block-design",
|
|
10100
10164
|
id: "feature-cards-raised-rule",
|
|
@@ -10109,6 +10173,20 @@ var blockAppearancePresets = [
|
|
|
10109
10173
|
emphasis: "high"
|
|
10110
10174
|
}
|
|
10111
10175
|
}),
|
|
10176
|
+
defineBlockAppearancePreset({
|
|
10177
|
+
kind: "block-design",
|
|
10178
|
+
id: "feature-cards-bold-colors",
|
|
10179
|
+
target: "feature-cards",
|
|
10180
|
+
label: "Bold colour-blocked cards",
|
|
10181
|
+
blockKinds: ["block.feature-cards"],
|
|
10182
|
+
design: {
|
|
10183
|
+
sectionSurface: "base",
|
|
10184
|
+
contentFrame: plainFrame,
|
|
10185
|
+
itemSurface: "color-blocked",
|
|
10186
|
+
transitionAfter: "none",
|
|
10187
|
+
emphasis: "high"
|
|
10188
|
+
}
|
|
10189
|
+
}),
|
|
10112
10190
|
defineBlockAppearancePreset({
|
|
10113
10191
|
kind: "block-design",
|
|
10114
10192
|
id: "feature-cards-editorial-columns",
|
|
@@ -10362,7 +10440,7 @@ var blockAppearancePresets = [
|
|
|
10362
10440
|
kind: "block-design",
|
|
10363
10441
|
id: "contact-form-panel",
|
|
10364
10442
|
target: "contact-form",
|
|
10365
|
-
label: "
|
|
10443
|
+
label: "Raised form panel",
|
|
10366
10444
|
blockKinds: ["block.form"],
|
|
10367
10445
|
design: {
|
|
10368
10446
|
sectionSurface: "muted-band",
|
|
@@ -10374,30 +10452,16 @@ var blockAppearancePresets = [
|
|
|
10374
10452
|
}),
|
|
10375
10453
|
defineBlockAppearancePreset({
|
|
10376
10454
|
kind: "block-design",
|
|
10377
|
-
id: "contact-form-
|
|
10378
|
-
target: "contact-form",
|
|
10379
|
-
label: "Dark form card",
|
|
10380
|
-
blockKinds: ["block.form"],
|
|
10381
|
-
design: {
|
|
10382
|
-
sectionSurface: "accent-band",
|
|
10383
|
-
contentFrame: panelFrame("raised"),
|
|
10384
|
-
itemSurface: "none",
|
|
10385
|
-
transitionAfter: "soft-fade-short",
|
|
10386
|
-
emphasis: "high"
|
|
10387
|
-
}
|
|
10388
|
-
}),
|
|
10389
|
-
defineBlockAppearancePreset({
|
|
10390
|
-
kind: "block-design",
|
|
10391
|
-
id: "contact-form-brand-depth-card",
|
|
10455
|
+
id: "contact-form-open",
|
|
10392
10456
|
target: "contact-form",
|
|
10393
|
-
label: "
|
|
10457
|
+
label: "Open form",
|
|
10394
10458
|
blockKinds: ["block.form"],
|
|
10395
10459
|
design: {
|
|
10396
|
-
sectionSurface: "
|
|
10397
|
-
contentFrame:
|
|
10460
|
+
sectionSurface: "muted-band",
|
|
10461
|
+
contentFrame: plainFrame,
|
|
10398
10462
|
itemSurface: "none",
|
|
10399
10463
|
transitionAfter: "none",
|
|
10400
|
-
emphasis: "
|
|
10464
|
+
emphasis: "medium"
|
|
10401
10465
|
}
|
|
10402
10466
|
}),
|
|
10403
10467
|
defineBlockAppearancePreset({
|
|
@@ -10475,7 +10539,130 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
10475
10539
|
|
|
10476
10540
|
// ../theme-core/src/site-styles/pageDesignIntent.ts
|
|
10477
10541
|
import { z as z5 } from "zod";
|
|
10478
|
-
|
|
10542
|
+
|
|
10543
|
+
// ../theme-core/src/site-styles/sectionTransitions.ts
|
|
10544
|
+
var noneBoundaryOption = {
|
|
10545
|
+
id: asBoundaryOptionId("break:none"),
|
|
10546
|
+
label: "None",
|
|
10547
|
+
transitionAfter: "none",
|
|
10548
|
+
treatment: { kind: "none" }
|
|
10549
|
+
};
|
|
10550
|
+
var softBoundaryOption = {
|
|
10551
|
+
id: asBoundaryOptionId("break:soft"),
|
|
10552
|
+
label: "Soft",
|
|
10553
|
+
transitionAfter: "soft-fade-short",
|
|
10554
|
+
treatment: { kind: "soft-fade", height: "medium", curve: "soft" }
|
|
10555
|
+
};
|
|
10556
|
+
var spaciousBoundaryOption = {
|
|
10557
|
+
id: asBoundaryOptionId("break:spacious"),
|
|
10558
|
+
label: "Spacious",
|
|
10559
|
+
transitionAfter: "soft-fade-long",
|
|
10560
|
+
treatment: { kind: "soft-fade", height: "large", curve: "spacious" }
|
|
10561
|
+
};
|
|
10562
|
+
var expansiveBoundaryOption = {
|
|
10563
|
+
id: asBoundaryOptionId("break:expansive"),
|
|
10564
|
+
label: "Expansive",
|
|
10565
|
+
transitionAfter: "soft-fade-expansive",
|
|
10566
|
+
treatment: { kind: "soft-fade", height: "expansive", curve: "expansive" }
|
|
10567
|
+
};
|
|
10568
|
+
var waveBoundaryOption = {
|
|
10569
|
+
id: asBoundaryOptionId("break:wave"),
|
|
10570
|
+
label: "Classic wave",
|
|
10571
|
+
transitionAfter: "wave-edge",
|
|
10572
|
+
treatment: {
|
|
10573
|
+
kind: "wave-edge",
|
|
10574
|
+
height: "medium",
|
|
10575
|
+
amplitude: "balanced",
|
|
10576
|
+
rhythm: "double",
|
|
10577
|
+
symmetry: "asymmetrical"
|
|
10578
|
+
}
|
|
10579
|
+
};
|
|
10580
|
+
var balancedWaveBoundaryOption = {
|
|
10581
|
+
id: asBoundaryOptionId("break:wave-balanced"),
|
|
10582
|
+
label: "Balanced wave",
|
|
10583
|
+
transitionAfter: "wave-edge-balanced",
|
|
10584
|
+
treatment: {
|
|
10585
|
+
kind: "wave-edge",
|
|
10586
|
+
height: "medium",
|
|
10587
|
+
amplitude: "balanced",
|
|
10588
|
+
rhythm: "double",
|
|
10589
|
+
symmetry: "symmetrical"
|
|
10590
|
+
}
|
|
10591
|
+
};
|
|
10592
|
+
var gentleWaveBoundaryOption = {
|
|
10593
|
+
id: asBoundaryOptionId("break:wave-gentle"),
|
|
10594
|
+
label: "Gentle wave",
|
|
10595
|
+
transitionAfter: "wave-edge-gentle",
|
|
10596
|
+
treatment: {
|
|
10597
|
+
kind: "wave-edge",
|
|
10598
|
+
height: "compact",
|
|
10599
|
+
amplitude: "subtle",
|
|
10600
|
+
rhythm: "single",
|
|
10601
|
+
symmetry: "symmetrical"
|
|
10602
|
+
}
|
|
10603
|
+
};
|
|
10604
|
+
var boldWaveBoundaryOption = {
|
|
10605
|
+
id: asBoundaryOptionId("break:wave-bold"),
|
|
10606
|
+
label: "Bold wave",
|
|
10607
|
+
transitionAfter: "wave-edge-bold",
|
|
10608
|
+
treatment: {
|
|
10609
|
+
kind: "wave-edge",
|
|
10610
|
+
height: "large",
|
|
10611
|
+
amplitude: "bold",
|
|
10612
|
+
rhythm: "double",
|
|
10613
|
+
symmetry: "symmetrical"
|
|
10614
|
+
}
|
|
10615
|
+
};
|
|
10616
|
+
var driftWaveBoundaryOption = {
|
|
10617
|
+
id: asBoundaryOptionId("break:wave-drift"),
|
|
10618
|
+
label: "Drift wave",
|
|
10619
|
+
transitionAfter: "wave-edge-drift",
|
|
10620
|
+
treatment: {
|
|
10621
|
+
kind: "wave-edge",
|
|
10622
|
+
height: "medium",
|
|
10623
|
+
amplitude: "balanced",
|
|
10624
|
+
rhythm: "double",
|
|
10625
|
+
symmetry: "drift"
|
|
10626
|
+
}
|
|
10627
|
+
};
|
|
10628
|
+
var subtleAngleBoundaryOption = {
|
|
10629
|
+
id: asBoundaryOptionId("break:angle-subtle"),
|
|
10630
|
+
label: "Subtle angle",
|
|
10631
|
+
transitionAfter: "angle-edge-subtle",
|
|
10632
|
+
treatment: {
|
|
10633
|
+
kind: "angle-edge",
|
|
10634
|
+
height: "compact",
|
|
10635
|
+
slope: "subtle",
|
|
10636
|
+
direction: "forward"
|
|
10637
|
+
}
|
|
10638
|
+
};
|
|
10639
|
+
var balancedAngleBoundaryOption = {
|
|
10640
|
+
id: asBoundaryOptionId("break:angle-balanced"),
|
|
10641
|
+
label: "Balanced angle",
|
|
10642
|
+
transitionAfter: "angle-edge",
|
|
10643
|
+
treatment: {
|
|
10644
|
+
kind: "angle-edge",
|
|
10645
|
+
height: "medium",
|
|
10646
|
+
slope: "balanced",
|
|
10647
|
+
direction: "forward"
|
|
10648
|
+
}
|
|
10649
|
+
};
|
|
10650
|
+
var steepAngleBoundaryOption = {
|
|
10651
|
+
id: asBoundaryOptionId("break:angle-steep"),
|
|
10652
|
+
label: "Steep angle",
|
|
10653
|
+
transitionAfter: "angle-edge-steep",
|
|
10654
|
+
treatment: {
|
|
10655
|
+
kind: "angle-edge",
|
|
10656
|
+
height: "large",
|
|
10657
|
+
slope: "steep",
|
|
10658
|
+
direction: "forward"
|
|
10659
|
+
}
|
|
10660
|
+
};
|
|
10661
|
+
|
|
10662
|
+
// ../theme-core/src/site-styles/pageDesignIntent.ts
|
|
10663
|
+
var pageDesignIntentSchemaVersion = 2;
|
|
10664
|
+
var legacyPageDesignIntentSchemaVersion = 1;
|
|
10665
|
+
var unknownBoundaryOptionId = asBoundaryOptionId("break:unknown");
|
|
10479
10666
|
var pageDesignUserPinnedAppearanceChoiceSchema = z5.object({
|
|
10480
10667
|
kind: z5.literal("user-pinned"),
|
|
10481
10668
|
value: z5.string().min(1).transform(asAppearancePresetId)
|
|
@@ -10484,17 +10671,84 @@ var pageDesignUserPinnedBoundaryChoiceSchema = z5.object({
|
|
|
10484
10671
|
kind: z5.literal("user-pinned"),
|
|
10485
10672
|
value: z5.string().min(1).transform(asBoundaryOptionId)
|
|
10486
10673
|
}).strict();
|
|
10674
|
+
var pageDesignBoundaryTreatmentSchema = z5.discriminatedUnion("kind", [
|
|
10675
|
+
z5.object({ kind: z5.literal("none") }).strict(),
|
|
10676
|
+
z5.object({
|
|
10677
|
+
kind: z5.literal("soft-fade"),
|
|
10678
|
+
height: z5.enum(["compact", "medium", "large", "expansive"]),
|
|
10679
|
+
curve: z5.enum(["soft", "spacious", "expansive"])
|
|
10680
|
+
}).strict(),
|
|
10681
|
+
z5.object({
|
|
10682
|
+
kind: z5.literal("wave-edge"),
|
|
10683
|
+
height: z5.enum(["compact", "medium", "large"]),
|
|
10684
|
+
amplitude: z5.enum(["subtle", "balanced", "bold"]),
|
|
10685
|
+
rhythm: z5.enum(["single", "double"]),
|
|
10686
|
+
symmetry: z5.enum(["symmetrical", "asymmetrical", "drift"])
|
|
10687
|
+
}).strict(),
|
|
10688
|
+
z5.object({
|
|
10689
|
+
kind: z5.literal("angle-edge"),
|
|
10690
|
+
height: z5.enum(["compact", "medium", "large"]),
|
|
10691
|
+
slope: z5.enum(["subtle", "balanced", "steep"]),
|
|
10692
|
+
direction: z5.enum(["forward", "reverse"])
|
|
10693
|
+
}).strict(),
|
|
10694
|
+
z5.object({
|
|
10695
|
+
kind: z5.literal("legacy-unsupported"),
|
|
10696
|
+
boundaryOptionId: z5.string().min(1).transform(asBoundaryOptionId)
|
|
10697
|
+
}).strict()
|
|
10698
|
+
]);
|
|
10699
|
+
var pageDesignUserPinnedBoundaryTreatmentChoiceSchema = z5.object({
|
|
10700
|
+
kind: z5.literal("user-pinned"),
|
|
10701
|
+
value: pageDesignBoundaryTreatmentSchema
|
|
10702
|
+
}).strict();
|
|
10487
10703
|
var pageDesignBlockLookPinSchema = z5.object({
|
|
10488
10704
|
blockId: z5.string().min(1).transform(asDesignBlockId),
|
|
10489
10705
|
blockKind: z5.string().min(1),
|
|
10490
10706
|
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
10491
10707
|
}).strict();
|
|
10492
10708
|
var pageDesignBoundaryPinSchema = z5.object({
|
|
10709
|
+
boundaryId: z5.string().min(1).transform(asDesignBoundaryId),
|
|
10710
|
+
previousBlockId: z5.string().min(1).transform(asDesignBlockId),
|
|
10711
|
+
nextBlockId: z5.string().min(1).transform(asDesignBlockId),
|
|
10712
|
+
choice: pageDesignUserPinnedBoundaryTreatmentChoiceSchema
|
|
10713
|
+
}).strict().superRefine(validateBoundaryPinIdMatchesBlocks);
|
|
10714
|
+
var legacyPageDesignBoundaryPinSchema = z5.object({
|
|
10493
10715
|
boundaryId: z5.string().min(1).transform(asDesignBoundaryId),
|
|
10494
10716
|
previousBlockId: z5.string().min(1).transform(asDesignBlockId),
|
|
10495
10717
|
nextBlockId: z5.string().min(1).transform(asDesignBlockId),
|
|
10496
10718
|
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
10497
|
-
}).strict().superRefine(
|
|
10719
|
+
}).strict().superRefine(validateBoundaryPinIdMatchesBlocks);
|
|
10720
|
+
var pageDesignIntentV1Schema = z5.object({
|
|
10721
|
+
schemaVersion: z5.literal(legacyPageDesignIntentSchemaVersion),
|
|
10722
|
+
siteStyleId: z5.string().min(1).transform(asSiteStyleId),
|
|
10723
|
+
pageFlowPresetId: z5.string().min(1).transform(asPageFlowPresetId),
|
|
10724
|
+
blockLookPins: z5.array(pageDesignBlockLookPinSchema),
|
|
10725
|
+
boundaryPins: z5.array(legacyPageDesignBoundaryPinSchema)
|
|
10726
|
+
}).strict().superRefine(validateUniquePageDesignPins);
|
|
10727
|
+
var pageDesignIntentV2Schema = z5.object({
|
|
10728
|
+
schemaVersion: z5.literal(pageDesignIntentSchemaVersion),
|
|
10729
|
+
siteStyleId: z5.string().min(1).transform(asSiteStyleId),
|
|
10730
|
+
pageFlowPresetId: z5.string().min(1).transform(asPageFlowPresetId),
|
|
10731
|
+
blockLookPins: z5.array(pageDesignBlockLookPinSchema),
|
|
10732
|
+
boundaryPins: z5.array(pageDesignBoundaryPinSchema)
|
|
10733
|
+
}).strict().superRefine(validateUniquePageDesignPins);
|
|
10734
|
+
function addDuplicateStringIssues(ctx, input) {
|
|
10735
|
+
const seen = /* @__PURE__ */ new Set();
|
|
10736
|
+
const duplicates = /* @__PURE__ */ new Set();
|
|
10737
|
+
for (const value of input.values) {
|
|
10738
|
+
if (seen.has(value)) {
|
|
10739
|
+
duplicates.add(value);
|
|
10740
|
+
}
|
|
10741
|
+
seen.add(value);
|
|
10742
|
+
}
|
|
10743
|
+
for (const duplicate of duplicates) {
|
|
10744
|
+
ctx.addIssue({
|
|
10745
|
+
code: z5.ZodIssueCode.custom,
|
|
10746
|
+
path: [...input.path],
|
|
10747
|
+
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
10748
|
+
});
|
|
10749
|
+
}
|
|
10750
|
+
}
|
|
10751
|
+
function validateBoundaryPinIdMatchesBlocks(pin, ctx) {
|
|
10498
10752
|
const expectedBoundaryId = makeBoundaryId(
|
|
10499
10753
|
pin.previousBlockId,
|
|
10500
10754
|
pin.nextBlockId
|
|
@@ -10506,14 +10760,8 @@ var pageDesignBoundaryPinSchema = z5.object({
|
|
|
10506
10760
|
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
10507
10761
|
});
|
|
10508
10762
|
}
|
|
10509
|
-
}
|
|
10510
|
-
|
|
10511
|
-
schemaVersion: z5.literal(pageDesignIntentSchemaVersion),
|
|
10512
|
-
siteStyleId: z5.string().min(1).transform(asSiteStyleId),
|
|
10513
|
-
pageFlowPresetId: z5.string().min(1).transform(asPageFlowPresetId),
|
|
10514
|
-
blockLookPins: z5.array(pageDesignBlockLookPinSchema),
|
|
10515
|
-
boundaryPins: z5.array(pageDesignBoundaryPinSchema)
|
|
10516
|
-
}).strict().superRefine((intent, ctx) => {
|
|
10763
|
+
}
|
|
10764
|
+
function validateUniquePageDesignPins(intent, ctx) {
|
|
10517
10765
|
addDuplicateStringIssues(ctx, {
|
|
10518
10766
|
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
10519
10767
|
path: ["blockLookPins"],
|
|
@@ -10526,23 +10774,6 @@ var pageDesignIntentV1Schema = z5.object({
|
|
|
10526
10774
|
path: ["boundaryPins"],
|
|
10527
10775
|
label: "boundary pin"
|
|
10528
10776
|
});
|
|
10529
|
-
});
|
|
10530
|
-
function addDuplicateStringIssues(ctx, input) {
|
|
10531
|
-
const seen = /* @__PURE__ */ new Set();
|
|
10532
|
-
const duplicates = /* @__PURE__ */ new Set();
|
|
10533
|
-
for (const value of input.values) {
|
|
10534
|
-
if (seen.has(value)) {
|
|
10535
|
-
duplicates.add(value);
|
|
10536
|
-
}
|
|
10537
|
-
seen.add(value);
|
|
10538
|
-
}
|
|
10539
|
-
for (const duplicate of duplicates) {
|
|
10540
|
-
ctx.addIssue({
|
|
10541
|
-
code: z5.ZodIssueCode.custom,
|
|
10542
|
-
path: [...input.path],
|
|
10543
|
-
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
10544
|
-
});
|
|
10545
|
-
}
|
|
10546
10777
|
}
|
|
10547
10778
|
function boundaryKey(previousBlockId, nextBlockId) {
|
|
10548
10779
|
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
@@ -10801,7 +11032,9 @@ var buttonBorderSchema = z7.object({
|
|
|
10801
11032
|
var variantShadowSchema = z7.object({
|
|
10802
11033
|
elevation: z7.enum(["none", "low", "medium", "high"]),
|
|
10803
11034
|
softness: z7.enum(["crisp", "soft", "hard"]).nullable(),
|
|
10804
|
-
position: z7.enum(["bottom", "bottom-right"]).default("bottom")
|
|
11035
|
+
position: z7.enum(["bottom", "bottom-right"]).default("bottom"),
|
|
11036
|
+
// Optional palette token for a coloured offset shadow; omit for neutral black.
|
|
11037
|
+
colorToken: themeColorTokenSchema.optional()
|
|
10805
11038
|
});
|
|
10806
11039
|
var variantEffectsSchema = z7.object({
|
|
10807
11040
|
base: z7.array(effectApplicationSchema).optional(),
|
|
@@ -11325,6 +11558,65 @@ var inkStamp = defineButtonPersonality({
|
|
|
11325
11558
|
}
|
|
11326
11559
|
});
|
|
11327
11560
|
|
|
11561
|
+
// ../theme-core/src/buttons/personalities/joy-stamp.ts
|
|
11562
|
+
var joyStamp = defineButtonPersonality({
|
|
11563
|
+
id: "joy-stamp",
|
|
11564
|
+
name: "Joy Stamp",
|
|
11565
|
+
description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
|
|
11566
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "organic" },
|
|
11567
|
+
buttonSystem: {
|
|
11568
|
+
global: {
|
|
11569
|
+
cornerStyle: "pill",
|
|
11570
|
+
shadow: "high",
|
|
11571
|
+
textTransform: "none",
|
|
11572
|
+
// Bold display type on the buttons: use the heading font (Bricolage) at
|
|
11573
|
+
// 700, matching the mockup's chunky button labels.
|
|
11574
|
+
typography: "heading",
|
|
11575
|
+
fontWeight: 700,
|
|
11576
|
+
borderWidth: 2,
|
|
11577
|
+
hoverTransform: "none",
|
|
11578
|
+
hoverColor: "none"
|
|
11579
|
+
},
|
|
11580
|
+
sizes: {
|
|
11581
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
|
|
11582
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
|
|
11583
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
|
|
11584
|
+
xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
|
|
11585
|
+
},
|
|
11586
|
+
variants: [
|
|
11587
|
+
{
|
|
11588
|
+
id: "primary",
|
|
11589
|
+
name: "Primary",
|
|
11590
|
+
enabled: true,
|
|
11591
|
+
priority: 1,
|
|
11592
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11593
|
+
textColorToken: "primaryForeground",
|
|
11594
|
+
borderRadius: "rounded-full",
|
|
11595
|
+
// Cream stamp shadow under the burnt-orange fill.
|
|
11596
|
+
shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "text" },
|
|
11597
|
+
effects: {
|
|
11598
|
+
hover: [{ effectId: "press-down" }]
|
|
11599
|
+
}
|
|
11600
|
+
},
|
|
11601
|
+
{
|
|
11602
|
+
id: "secondary",
|
|
11603
|
+
name: "Secondary",
|
|
11604
|
+
enabled: true,
|
|
11605
|
+
priority: 2,
|
|
11606
|
+
background: { type: "transparent" },
|
|
11607
|
+
textColorToken: "text",
|
|
11608
|
+
borderRadius: "rounded-full",
|
|
11609
|
+
border: { widthClass: "border-2", colorToken: "text" },
|
|
11610
|
+
// Brown stamp shadow under the cream outline.
|
|
11611
|
+
shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "secondary" },
|
|
11612
|
+
effects: {
|
|
11613
|
+
hover: [{ effectId: "press-down" }]
|
|
11614
|
+
}
|
|
11615
|
+
}
|
|
11616
|
+
]
|
|
11617
|
+
}
|
|
11618
|
+
});
|
|
11619
|
+
|
|
11328
11620
|
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
11329
11621
|
var pebble = defineButtonPersonality({
|
|
11330
11622
|
id: "pebble",
|
|
@@ -11598,7 +11890,8 @@ var buttonPersonalities = [
|
|
|
11598
11890
|
pebble,
|
|
11599
11891
|
inkStamp,
|
|
11600
11892
|
brushedWash,
|
|
11601
|
-
showtimePill
|
|
11893
|
+
showtimePill,
|
|
11894
|
+
joyStamp
|
|
11602
11895
|
];
|
|
11603
11896
|
var personalitiesById = new Map(
|
|
11604
11897
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -12469,7 +12762,9 @@ var boxBackgroundSchema = z22.object({
|
|
|
12469
12762
|
motion: z22.enum(["static", "fixed-frame"]).nullable().optional(),
|
|
12470
12763
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
12471
12764
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
12472
|
-
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
12765
|
+
headingColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
12766
|
+
linkColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
12767
|
+
supportingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
12473
12768
|
});
|
|
12474
12769
|
var noHeadingDecorationSchema = z22.object({
|
|
12475
12770
|
family: z22.literal("none")
|
|
@@ -12532,7 +12827,8 @@ var cardStylesOverrideSchema = z22.object({
|
|
|
12532
12827
|
"editorial-rule",
|
|
12533
12828
|
"soft-panel",
|
|
12534
12829
|
"editorial-serif-quote",
|
|
12535
|
-
"editorial-open"
|
|
12830
|
+
"editorial-open",
|
|
12831
|
+
"color-blocked"
|
|
12536
12832
|
]).nullable().optional(),
|
|
12537
12833
|
// Which site-style card variant the card adopts (emits a `.card-{id}` class).
|
|
12538
12834
|
// 'none' is boxless. Driven by the block look via testimonialCardTreatment.
|
|
@@ -13357,6 +13653,30 @@ var warmNeutralForest = definePaletteVariant({
|
|
|
13357
13653
|
]
|
|
13358
13654
|
});
|
|
13359
13655
|
|
|
13656
|
+
// ../theme-core/src/palette/variants/warm-dark.ts
|
|
13657
|
+
var warmDarkEmber = definePaletteVariant({
|
|
13658
|
+
id: "warm-dark-ember",
|
|
13659
|
+
name: "Warm Dark \u2014 Ember",
|
|
13660
|
+
description: "Deep clay-brown ground with burnt-orange accent and warm cream text.",
|
|
13661
|
+
tags: { tone: "bold", energy: "vibrant", era: "organic" },
|
|
13662
|
+
mode: "dark",
|
|
13663
|
+
colors: [
|
|
13664
|
+
{ name: "primary", hex: "#ce612f" },
|
|
13665
|
+
{ name: "secondary", hex: "#894e31" },
|
|
13666
|
+
{ name: "accent", hex: "#ce612f" },
|
|
13667
|
+
{ name: "success", hex: "#6f8f57" },
|
|
13668
|
+
{ name: "warning", hex: "#c98a3c" },
|
|
13669
|
+
{ name: "destructive", hex: "#c0492f" },
|
|
13670
|
+
{ name: "background", hex: "#4f2415" },
|
|
13671
|
+
{ name: "surface", hex: "#5c3320" },
|
|
13672
|
+
{ name: "surfaceAlt", hex: "#693a25" },
|
|
13673
|
+
{ name: "muted", hex: "#6a3d27" },
|
|
13674
|
+
{ name: "text", hex: "#f0e1d0" },
|
|
13675
|
+
{ name: "primaryForeground", hex: "#4f2415" },
|
|
13676
|
+
{ name: "border", hex: "#894e31" }
|
|
13677
|
+
]
|
|
13678
|
+
});
|
|
13679
|
+
|
|
13360
13680
|
// ../theme-core/src/palette/variants/index.ts
|
|
13361
13681
|
var paletteVariants = [
|
|
13362
13682
|
// Brand-led family
|
|
@@ -13377,7 +13697,9 @@ var paletteVariants = [
|
|
|
13377
13697
|
softNaturalSage,
|
|
13378
13698
|
softNaturalStone,
|
|
13379
13699
|
softNaturalWatercolor,
|
|
13380
|
-
softNaturalLilac
|
|
13700
|
+
softNaturalLilac,
|
|
13701
|
+
// Warm-dark family (dark mode)
|
|
13702
|
+
warmDarkEmber
|
|
13381
13703
|
];
|
|
13382
13704
|
var paletteVariantsById = new Map(
|
|
13383
13705
|
paletteVariants.map((v) => [v.id, v])
|
|
@@ -13658,6 +13980,32 @@ var clarityZenCardSystem = {
|
|
|
13658
13980
|
}
|
|
13659
13981
|
]
|
|
13660
13982
|
};
|
|
13983
|
+
var originalJoyCardSystem = {
|
|
13984
|
+
variants: [
|
|
13985
|
+
{
|
|
13986
|
+
id: "default",
|
|
13987
|
+
name: "Default",
|
|
13988
|
+
enabled: true,
|
|
13989
|
+
priority: 1,
|
|
13990
|
+
background: { type: "solid", colorToken: "surface" },
|
|
13991
|
+
foregroundToken: "text",
|
|
13992
|
+
spacing: "comfortable",
|
|
13993
|
+
corners: "rounded",
|
|
13994
|
+
shadow: { elevation: "none", softness: null, position: "bottom" }
|
|
13995
|
+
},
|
|
13996
|
+
{
|
|
13997
|
+
id: "alternative",
|
|
13998
|
+
name: "Statement",
|
|
13999
|
+
enabled: true,
|
|
14000
|
+
priority: 2,
|
|
14001
|
+
background: { type: "solid", colorToken: "primary" },
|
|
14002
|
+
foregroundToken: "primaryForeground",
|
|
14003
|
+
spacing: "comfortable",
|
|
14004
|
+
corners: "rounded",
|
|
14005
|
+
shadow: { elevation: "none", softness: null, position: "bottom" }
|
|
14006
|
+
}
|
|
14007
|
+
]
|
|
14008
|
+
};
|
|
13661
14009
|
|
|
13662
14010
|
// ../theme-core/src/site-styles/testimonialQuotePresets.ts
|
|
13663
14011
|
var serifDisplayQuote = {
|
|
@@ -13778,7 +14126,7 @@ function baseHeader(theme) {
|
|
|
13778
14126
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
13779
14127
|
};
|
|
13780
14128
|
}
|
|
13781
|
-
var headerLayoutCatalog = [
|
|
14129
|
+
var headerLayoutCatalog = defineExactCatalog()([
|
|
13782
14130
|
{
|
|
13783
14131
|
id: asHeaderLayoutId("classic"),
|
|
13784
14132
|
label: "Classic",
|
|
@@ -13810,11 +14158,11 @@ var headerLayoutCatalog = [
|
|
|
13810
14158
|
maxRecommendedNavItems: 5,
|
|
13811
14159
|
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
13812
14160
|
}
|
|
13813
|
-
];
|
|
14161
|
+
]);
|
|
13814
14162
|
function supportedLayouts(ids) {
|
|
13815
14163
|
return ids.map(asHeaderLayoutId);
|
|
13816
14164
|
}
|
|
13817
|
-
var headerStyleCatalog = [
|
|
14165
|
+
var headerStyleCatalog = defineExactCatalog()([
|
|
13818
14166
|
{
|
|
13819
14167
|
id: asHeaderStyleId("minimal"),
|
|
13820
14168
|
label: "Minimal",
|
|
@@ -13969,7 +14317,7 @@ var headerStyleCatalog = [
|
|
|
13969
14317
|
navTypography: "heading",
|
|
13970
14318
|
moods: ["calm", "editorial"]
|
|
13971
14319
|
}
|
|
13972
|
-
];
|
|
14320
|
+
]);
|
|
13973
14321
|
var headerLayoutsById = new Map(
|
|
13974
14322
|
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
13975
14323
|
);
|
|
@@ -14082,7 +14430,7 @@ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
|
14082
14430
|
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
14083
14431
|
]
|
|
14084
14432
|
);
|
|
14085
|
-
var legacyHeaderLookAliases = [
|
|
14433
|
+
var legacyHeaderLookAliases = defineExactCatalog()([
|
|
14086
14434
|
{
|
|
14087
14435
|
lookId: asHeaderLookId("clean-base"),
|
|
14088
14436
|
selection: {
|
|
@@ -14139,7 +14487,7 @@ var legacyHeaderLookAliases = [
|
|
|
14139
14487
|
styleId: asHeaderStyleId("glass")
|
|
14140
14488
|
}
|
|
14141
14489
|
}
|
|
14142
|
-
];
|
|
14490
|
+
]);
|
|
14143
14491
|
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
14144
14492
|
function getHeaderStyle(id) {
|
|
14145
14493
|
return headerStylesById.get(id) ?? null;
|
|
@@ -14176,7 +14524,7 @@ function themedHeaderShadow(theme) {
|
|
|
14176
14524
|
case "high":
|
|
14177
14525
|
return { elevation: "lg" };
|
|
14178
14526
|
default:
|
|
14179
|
-
return
|
|
14527
|
+
return assertNever2(
|
|
14180
14528
|
theme.shadow.elevation,
|
|
14181
14529
|
"Unhandled theme shadow elevation"
|
|
14182
14530
|
);
|
|
@@ -14293,6 +14641,12 @@ function serifLineHeader(theme) {
|
|
|
14293
14641
|
letterSpacing: "wide",
|
|
14294
14642
|
gradient: false
|
|
14295
14643
|
},
|
|
14644
|
+
border: {
|
|
14645
|
+
style: "solid",
|
|
14646
|
+
width: "none",
|
|
14647
|
+
position: "none"
|
|
14648
|
+
},
|
|
14649
|
+
shadow: { elevation: "none" },
|
|
14296
14650
|
ctaTreatment: "outline",
|
|
14297
14651
|
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
14298
14652
|
ctaGap: "relaxed"
|
|
@@ -14417,7 +14771,7 @@ function floatingGlassHeader(theme) {
|
|
|
14417
14771
|
}
|
|
14418
14772
|
};
|
|
14419
14773
|
}
|
|
14420
|
-
var headerLookCatalog = [
|
|
14774
|
+
var headerLookCatalog = defineExactCatalog()([
|
|
14421
14775
|
{
|
|
14422
14776
|
id: asHeaderLookId("clean-base"),
|
|
14423
14777
|
label: "Clean base",
|
|
@@ -14535,7 +14889,7 @@ var headerLookCatalog = [
|
|
|
14535
14889
|
logoAccommodations: overlayLogoAccommodations,
|
|
14536
14890
|
compile: floatingGlassHeader
|
|
14537
14891
|
}
|
|
14538
|
-
];
|
|
14892
|
+
]);
|
|
14539
14893
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
14540
14894
|
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
14541
14895
|
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
@@ -14701,7 +15055,7 @@ function editorialColumnsFooter(theme) {
|
|
|
14701
15055
|
}
|
|
14702
15056
|
};
|
|
14703
15057
|
}
|
|
14704
|
-
var footerLookCatalog = [
|
|
15058
|
+
var footerLookCatalog = defineExactCatalog()([
|
|
14705
15059
|
{
|
|
14706
15060
|
id: asFooterLookId("footer-muted-grounding"),
|
|
14707
15061
|
label: "Muted grounding footer",
|
|
@@ -14724,7 +15078,7 @@ var footerLookCatalog = [
|
|
|
14724
15078
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
14725
15079
|
compile: brandTwoBandFooter
|
|
14726
15080
|
}
|
|
14727
|
-
];
|
|
15081
|
+
]);
|
|
14728
15082
|
var footerLooksById = new Map(
|
|
14729
15083
|
footerLookCatalog.map((look) => [look.id, look])
|
|
14730
15084
|
);
|
|
@@ -14746,7 +15100,7 @@ var generatedDesignOptionCatalog = {
|
|
|
14746
15100
|
source: "generated",
|
|
14747
15101
|
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
14748
15102
|
contentFrames: generatedContentFrames,
|
|
14749
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial"],
|
|
15103
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"],
|
|
14750
15104
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
14751
15105
|
emphases: ["low", "medium", "high"],
|
|
14752
15106
|
detachedCustom: false
|
|
@@ -14758,8 +15112,15 @@ var userDesignOptionCatalog = {
|
|
|
14758
15112
|
itemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
14759
15113
|
transitions: [
|
|
14760
15114
|
...generatedDesignOptionCatalog.transitions,
|
|
15115
|
+
"soft-fade-expansive",
|
|
14761
15116
|
"wave-edge",
|
|
14762
|
-
"
|
|
15117
|
+
"wave-edge-balanced",
|
|
15118
|
+
"wave-edge-gentle",
|
|
15119
|
+
"wave-edge-bold",
|
|
15120
|
+
"wave-edge-drift",
|
|
15121
|
+
"angle-edge",
|
|
15122
|
+
"angle-edge-subtle",
|
|
15123
|
+
"angle-edge-steep"
|
|
14763
15124
|
],
|
|
14764
15125
|
emphases: generatedDesignOptionCatalog.emphases,
|
|
14765
15126
|
detachedCustom: false
|
|
@@ -14940,6 +15301,29 @@ var boldDisplayTypography = {
|
|
|
14940
15301
|
},
|
|
14941
15302
|
scale: "balanced"
|
|
14942
15303
|
};
|
|
15304
|
+
var originalJoyTypography = {
|
|
15305
|
+
body: {
|
|
15306
|
+
family: "DM Sans, system-ui, sans-serif",
|
|
15307
|
+
size: "md",
|
|
15308
|
+
weight: "regular",
|
|
15309
|
+
lineHeight: "relaxed",
|
|
15310
|
+
letterSpacing: "normal"
|
|
15311
|
+
},
|
|
15312
|
+
headings: {
|
|
15313
|
+
default: {
|
|
15314
|
+
family: "Bricolage Grotesque, system-ui, sans-serif",
|
|
15315
|
+
weight: "bold",
|
|
15316
|
+
lineHeight: "normal",
|
|
15317
|
+
letterSpacing: "tight",
|
|
15318
|
+
italic: null,
|
|
15319
|
+
case: null
|
|
15320
|
+
},
|
|
15321
|
+
h1: { size: "2xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
15322
|
+
h2: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
15323
|
+
h3: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null }
|
|
15324
|
+
},
|
|
15325
|
+
scale: "balanced"
|
|
15326
|
+
};
|
|
14943
15327
|
var typographyPresets = [
|
|
14944
15328
|
defineTypographyPreset({
|
|
14945
15329
|
id: "typography-preset:modern-sans",
|
|
@@ -15026,6 +15410,32 @@ var typographyPresets = [
|
|
|
15026
15410
|
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
15027
15411
|
}
|
|
15028
15412
|
}
|
|
15413
|
+
}),
|
|
15414
|
+
defineTypographyPreset({
|
|
15415
|
+
id: "typography-preset:original-joy",
|
|
15416
|
+
name: "Original Joy",
|
|
15417
|
+
description: "Bold Bricolage Grotesque display headings over a clean DM Sans body, editorial and warm.",
|
|
15418
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Bricolage Grotesque, system-ui, sans-serif" },
|
|
15419
|
+
recommendedFonts: {
|
|
15420
|
+
body: ["DM Sans", "Inter", "Manrope"],
|
|
15421
|
+
heading: ["Bricolage Grotesque", "Space Grotesk", "Archivo"]
|
|
15422
|
+
},
|
|
15423
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
15424
|
+
typography: originalJoyTypography,
|
|
15425
|
+
heroTypography: {
|
|
15426
|
+
headlineSize: "6xl",
|
|
15427
|
+
headlineLineHeight: "tight",
|
|
15428
|
+
subheadlineSize: "xl",
|
|
15429
|
+
subheadlineLineHeight: "normal",
|
|
15430
|
+
microHeadlineSize: "6xl",
|
|
15431
|
+
microHeadlineLineHeight: "tight",
|
|
15432
|
+
microSubheadlineSize: "lg",
|
|
15433
|
+
microSubheadlineLineHeight: "normal",
|
|
15434
|
+
responsive: {
|
|
15435
|
+
tablet: { headlineSize: "5xl" },
|
|
15436
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
15437
|
+
}
|
|
15438
|
+
}
|
|
15029
15439
|
})
|
|
15030
15440
|
];
|
|
15031
15441
|
var typographyPresetsById = new Map(
|
|
@@ -15049,7 +15459,8 @@ var curatedSiteStyleIdValues = [
|
|
|
15049
15459
|
"site-style:clarity-zen-blue",
|
|
15050
15460
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
15051
15461
|
"site-style:bold-launch",
|
|
15052
|
-
"site-style:south-west-twerk-school"
|
|
15462
|
+
"site-style:south-west-twerk-school",
|
|
15463
|
+
"site-style:original-joy"
|
|
15053
15464
|
];
|
|
15054
15465
|
var quietBudget = {
|
|
15055
15466
|
accentDensity: "low",
|
|
@@ -16095,7 +16506,7 @@ var curatedSiteStyles = [
|
|
|
16095
16506
|
"body-text-editorial-intro",
|
|
16096
16507
|
"schedule-details-brand-depth",
|
|
16097
16508
|
"testimonials-statement-cards",
|
|
16098
|
-
"contact-form-
|
|
16509
|
+
"contact-form-panel"
|
|
16099
16510
|
],
|
|
16100
16511
|
recommendedHeaderLookIds: [
|
|
16101
16512
|
"brand-solid",
|
|
@@ -16118,6 +16529,74 @@ var curatedSiteStyles = [
|
|
|
16118
16529
|
paletteChoice("brand-led-warm"),
|
|
16119
16530
|
paletteChoice("high-contrast-ink")
|
|
16120
16531
|
]
|
|
16532
|
+
}),
|
|
16533
|
+
defineCuratedSiteStyle({
|
|
16534
|
+
id: "site-style:original-joy",
|
|
16535
|
+
name: "Original Joy",
|
|
16536
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
16537
|
+
description: "Warm, dark, and editorial: deep clay grounds, cream type, and bold burnt-orange accents for soulful community brands.",
|
|
16538
|
+
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.",
|
|
16539
|
+
tokenRecipes: {
|
|
16540
|
+
palette: "brand-led",
|
|
16541
|
+
contrast: "maximum",
|
|
16542
|
+
radius: "rounded",
|
|
16543
|
+
shadow: "subtle",
|
|
16544
|
+
typography: "clean-sans",
|
|
16545
|
+
spacing: "airy",
|
|
16546
|
+
motion: "expressive"
|
|
16547
|
+
},
|
|
16548
|
+
compositionBudget: expressiveBudget,
|
|
16549
|
+
typographyPresetChoices: [
|
|
16550
|
+
typographyChoice("typography-preset:original-joy"),
|
|
16551
|
+
typographyChoice("typography-preset:bold-display"),
|
|
16552
|
+
typographyChoice("typography-preset:modern-sans")
|
|
16553
|
+
],
|
|
16554
|
+
defaultTypographyPresetId: "typography-preset:original-joy",
|
|
16555
|
+
themeOverrides: {
|
|
16556
|
+
accordions: boldBorderedAccordionSystem,
|
|
16557
|
+
// Shared card system: warm rounded brown cards (event + testimonial cards
|
|
16558
|
+
// pick this up automatically) with a burnt-orange statement variant.
|
|
16559
|
+
cards: originalJoyCardSystem,
|
|
16560
|
+
testimonialQuote: accentGlyphQuote,
|
|
16561
|
+
bodyText: {
|
|
16562
|
+
intro: {
|
|
16563
|
+
paragraphSize: "editorial",
|
|
16564
|
+
headingSize: "editorial"
|
|
16565
|
+
}
|
|
16566
|
+
}
|
|
16567
|
+
},
|
|
16568
|
+
// Recommended block looks: the bold colour-blocked feature cards, a calm
|
|
16569
|
+
// band for the events spotlight, and statement testimonial cards.
|
|
16570
|
+
recommendedAppearancePresetIds: [
|
|
16571
|
+
"feature-cards-bold-colors",
|
|
16572
|
+
"offerings-calm-list",
|
|
16573
|
+
"testimonials-statement-cards"
|
|
16574
|
+
],
|
|
16575
|
+
// Floating, transparent "Clear Split" header (no fill behind the nav links).
|
|
16576
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
16577
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
16578
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
16579
|
+
floating: [
|
|
16580
|
+
headerStyleChoice("minimal-surface"),
|
|
16581
|
+
headerStyleChoice("split-glass"),
|
|
16582
|
+
headerStyleChoice("glass")
|
|
16583
|
+
]
|
|
16584
|
+
},
|
|
16585
|
+
// Legacy bridge only (the real curation is the explicit selection above).
|
|
16586
|
+
// Kept to a reserved-space, non-overlay look on purpose: the split hero
|
|
16587
|
+
// flows below the Clear Split header, so we must NOT trigger the immersive
|
|
16588
|
+
// overlay-hero promotion that looks like `floating-glass` would force.
|
|
16589
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
16590
|
+
recommendedFooterLookIds: [
|
|
16591
|
+
"site-footer-brand-two-band",
|
|
16592
|
+
"footer-muted-grounding"
|
|
16593
|
+
],
|
|
16594
|
+
buttonPersonalityChoices: [
|
|
16595
|
+
buttonChoice("joy-stamp"),
|
|
16596
|
+
buttonChoice("ink-stamp"),
|
|
16597
|
+
buttonChoice("showtime-pill")
|
|
16598
|
+
],
|
|
16599
|
+
paletteVariantChoices: [paletteChoice("warm-dark-ember")]
|
|
16121
16600
|
})
|
|
16122
16601
|
];
|
|
16123
16602
|
var curatedSiteStylesById = new Map(
|
|
@@ -16133,26 +16612,6 @@ var microHeroLayoutVariantKey = asLayoutVariantKey("micro");
|
|
|
16133
16612
|
var waveBoundaryOptionId = asBoundaryOptionId("break:wave");
|
|
16134
16613
|
|
|
16135
16614
|
// ../theme-core/src/site-styles/pageDesignEditorModel.ts
|
|
16136
|
-
var noneBoundaryOption = {
|
|
16137
|
-
id: asBoundaryOptionId("break:none"),
|
|
16138
|
-
label: "None",
|
|
16139
|
-
transitionAfter: "none"
|
|
16140
|
-
};
|
|
16141
|
-
var softBoundaryOption = {
|
|
16142
|
-
id: asBoundaryOptionId("break:soft"),
|
|
16143
|
-
label: "Soft",
|
|
16144
|
-
transitionAfter: "soft-fade-short"
|
|
16145
|
-
};
|
|
16146
|
-
var waveBoundaryOption = {
|
|
16147
|
-
id: asBoundaryOptionId("break:wave"),
|
|
16148
|
-
label: "Wave",
|
|
16149
|
-
transitionAfter: "wave-edge"
|
|
16150
|
-
};
|
|
16151
|
-
var spaciousBoundaryOption = {
|
|
16152
|
-
id: asBoundaryOptionId("break:spacious"),
|
|
16153
|
-
label: "Spacious",
|
|
16154
|
-
transitionAfter: "soft-fade-long"
|
|
16155
|
-
};
|
|
16156
16615
|
var pageFlowPresets = [
|
|
16157
16616
|
{
|
|
16158
16617
|
id: asPageFlowPresetId("flow:quiet"),
|
|
@@ -16422,8 +16881,7 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
16422
16881
|
type: "image",
|
|
16423
16882
|
opacity: 1,
|
|
16424
16883
|
position: "center center",
|
|
16425
|
-
|
|
16426
|
-
headingColor: "text"
|
|
16884
|
+
...uniformSectionForeground("text")
|
|
16427
16885
|
}
|
|
16428
16886
|
}
|
|
16429
16887
|
},
|
|
@@ -16533,9 +16991,30 @@ var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
|
16533
16991
|
border: {
|
|
16534
16992
|
enabled: false
|
|
16535
16993
|
}
|
|
16994
|
+
},
|
|
16995
|
+
"color-blocked": {
|
|
16996
|
+
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
16997
|
+
// (by position) and staggered offset live in
|
|
16998
|
+
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
16999
|
+
// generous padding, large radius, no border, flat (no shadow).
|
|
17000
|
+
treatment: "color-blocked",
|
|
17001
|
+
spacing: "spacious",
|
|
17002
|
+
rounded: "2xl",
|
|
17003
|
+
raised: false,
|
|
17004
|
+
border: {
|
|
17005
|
+
enabled: false
|
|
17006
|
+
}
|
|
16536
17007
|
}
|
|
16537
17008
|
}
|
|
16538
17009
|
});
|
|
17010
|
+
function uniformSectionForeground(token) {
|
|
17011
|
+
return {
|
|
17012
|
+
textColor: token,
|
|
17013
|
+
headingColor: token,
|
|
17014
|
+
linkColor: token,
|
|
17015
|
+
supportingColor: token
|
|
17016
|
+
};
|
|
17017
|
+
}
|
|
16539
17018
|
|
|
16540
17019
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
16541
17020
|
import { z as z25 } from "zod";
|
|
@@ -18284,6 +18763,37 @@ function resolveBackgroundColorValue(value, context) {
|
|
|
18284
18763
|
});
|
|
18285
18764
|
}
|
|
18286
18765
|
|
|
18766
|
+
// ../blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.ts
|
|
18767
|
+
function readColorToken(input, key) {
|
|
18768
|
+
const value = input[key];
|
|
18769
|
+
return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
|
|
18770
|
+
}
|
|
18771
|
+
function resolveOptionalForegroundColor(value, context) {
|
|
18772
|
+
if (!value) return null;
|
|
18773
|
+
return resolveBackgroundColorValue(value, context);
|
|
18774
|
+
}
|
|
18775
|
+
function resolveSectionForegroundStyles(value, context) {
|
|
18776
|
+
if (!value || typeof value !== "object") {
|
|
18777
|
+
return {};
|
|
18778
|
+
}
|
|
18779
|
+
const input = value;
|
|
18780
|
+
const textColor = readColorToken(input, "textColor");
|
|
18781
|
+
const resolvedText = resolveOptionalForegroundColor(textColor, context);
|
|
18782
|
+
if (!resolvedText) {
|
|
18783
|
+
return {};
|
|
18784
|
+
}
|
|
18785
|
+
const resolvedHeading = resolveOptionalForegroundColor(readColorToken(input, "headingColor"), context) ?? resolvedText;
|
|
18786
|
+
const resolvedLink = resolveOptionalForegroundColor(readColorToken(input, "linkColor"), context) ?? resolvedText;
|
|
18787
|
+
const resolvedSupporting = resolveOptionalForegroundColor(readColorToken(input, "supportingColor"), context) ?? resolvedText;
|
|
18788
|
+
return {
|
|
18789
|
+
color: resolvedText,
|
|
18790
|
+
"--section-text-color": resolvedText,
|
|
18791
|
+
"--section-heading-color": resolvedHeading,
|
|
18792
|
+
"--section-link-color": resolvedLink,
|
|
18793
|
+
"--section-supporting-color": resolvedSupporting
|
|
18794
|
+
};
|
|
18795
|
+
}
|
|
18796
|
+
|
|
18287
18797
|
// ../blocks/src/system/transforms/registry/boxStyles.ts
|
|
18288
18798
|
var spacingTransform = {
|
|
18289
18799
|
id: "boxStyles.spacing",
|
|
@@ -18418,6 +18928,8 @@ var boxStylesCompositeTransform = {
|
|
|
18418
18928
|
classes.push("rb-card-treatment-editorial-serif-quote");
|
|
18419
18929
|
} else if (input.treatment === "editorial-open") {
|
|
18420
18930
|
classes.push("rb-card-treatment-editorial-open");
|
|
18931
|
+
} else if (input.treatment === "color-blocked") {
|
|
18932
|
+
classes.push("rb-card-treatment-color-blocked");
|
|
18421
18933
|
}
|
|
18422
18934
|
const cardVariant = normalizeBoxStylesCardVariant(input.cardVariant);
|
|
18423
18935
|
if (cardVariant && cardVariant !== "none") {
|
|
@@ -18693,35 +19205,8 @@ var sectionHeadingColorStyleTransform = {
|
|
|
18693
19205
|
var sectionColorsStyleTransform = {
|
|
18694
19206
|
id: "sectionStyles.resolveColorsStyle",
|
|
18695
19207
|
kind: "formatter",
|
|
18696
|
-
summary: "Resolve section
|
|
18697
|
-
run: (value, _options, context) =>
|
|
18698
|
-
if (!value || typeof value !== "object") {
|
|
18699
|
-
return {};
|
|
18700
|
-
}
|
|
18701
|
-
const bg = value;
|
|
18702
|
-
const textColor = typeof bg.textColor === "string" ? bg.textColor.trim() : null;
|
|
18703
|
-
const headingColor = typeof bg.headingColor === "string" ? bg.headingColor.trim() : null;
|
|
18704
|
-
const style = {};
|
|
18705
|
-
if (textColor) {
|
|
18706
|
-
const resolvedText = resolveBackgroundColorValue(textColor, context);
|
|
18707
|
-
if (resolvedText) {
|
|
18708
|
-
style.color = resolvedText;
|
|
18709
|
-
style["--section-text-color"] = resolvedText;
|
|
18710
|
-
if (headingColor) {
|
|
18711
|
-
const resolvedHeading = resolveBackgroundColorValue(
|
|
18712
|
-
headingColor,
|
|
18713
|
-
context
|
|
18714
|
-
);
|
|
18715
|
-
if (resolvedHeading) {
|
|
18716
|
-
style["--section-heading-color"] = resolvedHeading;
|
|
18717
|
-
}
|
|
18718
|
-
} else {
|
|
18719
|
-
style["--section-heading-color"] = resolvedText;
|
|
18720
|
-
}
|
|
18721
|
-
}
|
|
18722
|
-
}
|
|
18723
|
-
return style;
|
|
18724
|
-
}
|
|
19208
|
+
summary: "Resolve section foreground colors into a style object",
|
|
19209
|
+
run: (value, _options, context) => resolveSectionForegroundStyles(value, context)
|
|
18725
19210
|
};
|
|
18726
19211
|
var GAP_CLASS_MAP = {
|
|
18727
19212
|
none: "rb-gap-semantic-none",
|
|
@@ -19033,46 +19518,6 @@ function sectionState(opts) {
|
|
|
19033
19518
|
);
|
|
19034
19519
|
}
|
|
19035
19520
|
|
|
19036
|
-
// ../blocks/src/system/node/fragments/headingDecoration.ts
|
|
19037
|
-
var defaultBindFrom = "_sectionStyles.headingDecoration";
|
|
19038
|
-
function headingDecoration({
|
|
19039
|
-
bindFrom = defaultBindFrom,
|
|
19040
|
-
className
|
|
19041
|
-
} = {}) {
|
|
19042
|
-
return el(
|
|
19043
|
-
"div",
|
|
19044
|
-
// Full-width block row so the mark inherits the heading's alignment. The
|
|
19045
|
-
// heading stacks are flexbox; `text-align` positions inline content, not flex
|
|
19046
|
-
// items, so the inline-block mark must sit inside a stretched block for a
|
|
19047
|
-
// centred heading to centre it (and a left heading to keep it at the start).
|
|
19048
|
-
{ "aria-hidden": "true", className: "rb-heading-decoration-row" },
|
|
19049
|
-
[
|
|
19050
|
-
el("div", {
|
|
19051
|
-
className: {
|
|
19052
|
-
$bind: {
|
|
19053
|
-
from: bindFrom,
|
|
19054
|
-
transforms: [
|
|
19055
|
-
{
|
|
19056
|
-
id: "ui.headingDecorationClassName",
|
|
19057
|
-
options: { baseClass: className }
|
|
19058
|
-
}
|
|
19059
|
-
]
|
|
19060
|
-
}
|
|
19061
|
-
}
|
|
19062
|
-
})
|
|
19063
|
-
],
|
|
19064
|
-
// Gate on the presence of `family`. The render-time theme projection omits
|
|
19065
|
-
// `headingDecoration` entirely for absent/none signatures, so the
|
|
19066
|
-
// dominant "no decoration" case is absent → falsy → not rendered. A presence
|
|
19067
|
-
// check (rather than `family !== 'none'`) is deliberate: `when`'s only
|
|
19068
|
-
// negation form would render on *absent* values, which would emit a stub on
|
|
19069
|
-
// every undecorated heading. The remaining edge — hand-authored content with
|
|
19070
|
-
// an explicit `{ family: 'none' }` — renders an aria-hidden `rb-hidden`
|
|
19071
|
-
// (display:none) stub with no visual or layout impact.
|
|
19072
|
-
when(`${bindFrom}.family`)
|
|
19073
|
-
);
|
|
19074
|
-
}
|
|
19075
|
-
|
|
19076
19521
|
// ../blocks/src/system/fragments/types.ts
|
|
19077
19522
|
import { z as z28 } from "zod";
|
|
19078
19523
|
var FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
|
|
@@ -19545,6 +19990,9 @@ var heroCopyFragment = defineFragment({
|
|
|
19545
19990
|
maxLength: 600
|
|
19546
19991
|
}
|
|
19547
19992
|
],
|
|
19993
|
+
// Layout order is [eyebrow, headline, subheadline]. The hero block's
|
|
19994
|
+
// `splitEditorial` variant reads these nodes by index; keep the order stable
|
|
19995
|
+
// (it fails fast at import if the count changes).
|
|
19548
19996
|
layout: [
|
|
19549
19997
|
text(
|
|
19550
19998
|
{
|
|
@@ -19767,6 +20215,7 @@ var heroCtaRowFragment = defineFragment({
|
|
|
19767
20215
|
ctaRow({
|
|
19768
20216
|
collectionPath: "content.ctas",
|
|
19769
20217
|
itemName: "cta",
|
|
20218
|
+
gap: "md",
|
|
19770
20219
|
justify: {
|
|
19771
20220
|
$bind: {
|
|
19772
20221
|
from: "content",
|
|
@@ -19852,7 +20301,6 @@ var testimonialsHeadingFragment = defineFragment({
|
|
|
19852
20301
|
when("content.heading"),
|
|
19853
20302
|
bind("content.heading")
|
|
19854
20303
|
),
|
|
19855
|
-
headingDecoration(),
|
|
19856
20304
|
text(
|
|
19857
20305
|
{
|
|
19858
20306
|
as: "p",
|
|
@@ -20483,7 +20931,7 @@ var blogFeaturedPostFragment = defineFragment({
|
|
|
20483
20931
|
});
|
|
20484
20932
|
|
|
20485
20933
|
// ../blocks/src/system/fragments/library/faqHeading.ts
|
|
20486
|
-
function faqHeadingLayout(
|
|
20934
|
+
function faqHeadingLayout() {
|
|
20487
20935
|
return stack(
|
|
20488
20936
|
{
|
|
20489
20937
|
gap: "sm",
|
|
@@ -20508,7 +20956,6 @@ function faqHeadingLayout(options = {}) {
|
|
|
20508
20956
|
when("content.title"),
|
|
20509
20957
|
bind("content.title")
|
|
20510
20958
|
),
|
|
20511
|
-
...options.decorated ? [headingDecoration()] : [],
|
|
20512
20959
|
richText(
|
|
20513
20960
|
{
|
|
20514
20961
|
className: "faq-description rb-prose rb-mx-auto rb-max-w-none",
|
|
@@ -20550,7 +20997,6 @@ var faqHeadingFragment = defineFragment({
|
|
|
20550
20997
|
],
|
|
20551
20998
|
layout: faqHeadingLayout()
|
|
20552
20999
|
});
|
|
20553
|
-
var decoratedFaqHeadingLayout = faqHeadingLayout({ decorated: true });
|
|
20554
21000
|
|
|
20555
21001
|
// ../blocks/src/system/fragments/library/faqAccordion.ts
|
|
20556
21002
|
function createFaqAccordionLayout(options = {}) {
|
|
@@ -21707,12 +22153,38 @@ function splitLayoutWith(children) {
|
|
|
21707
22153
|
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
21708
22154
|
var splitImageColumn = heroSplitImagePane();
|
|
21709
22155
|
var splitLayout = splitLayoutWith([
|
|
22156
|
+
splitImageColumn,
|
|
22157
|
+
splitContentColumn
|
|
22158
|
+
]);
|
|
22159
|
+
var splitReverseLayout = splitLayoutWith([
|
|
21710
22160
|
splitContentColumn,
|
|
21711
22161
|
splitImageColumn
|
|
21712
22162
|
]);
|
|
21713
|
-
var
|
|
21714
|
-
|
|
21715
|
-
|
|
22163
|
+
var heroEyebrowNode = heroCopyFragment.layout[0];
|
|
22164
|
+
var heroHeadlineNode = heroCopyFragment.layout[1];
|
|
22165
|
+
var heroSubheadlineNode = heroCopyFragment.layout[2];
|
|
22166
|
+
var heroCtaRowNode = heroCtaRowFragment.layout[0];
|
|
22167
|
+
if (!heroEyebrowNode || !heroHeadlineNode || !heroSubheadlineNode || !heroCtaRowNode) {
|
|
22168
|
+
throw new Error("Hero copy/CTA fragments are missing their expected layout nodes.");
|
|
22169
|
+
}
|
|
22170
|
+
var heroEditorialBottomRow = inline(
|
|
22171
|
+
{
|
|
22172
|
+
gap: "lg",
|
|
22173
|
+
align: "end",
|
|
22174
|
+
justify: "start",
|
|
22175
|
+
wrap: true,
|
|
22176
|
+
className: "rb-w-full"
|
|
22177
|
+
},
|
|
22178
|
+
[heroSubheadlineNode, heroCtaRowNode]
|
|
22179
|
+
);
|
|
22180
|
+
var splitEditorialContentColumn = heroContentWrapper(
|
|
22181
|
+
[heroEyebrowNode, heroHeadlineNode, heroEditorialBottomRow],
|
|
22182
|
+
"md",
|
|
22183
|
+
"rb-w-full rb-text-left"
|
|
22184
|
+
);
|
|
22185
|
+
var splitEditorialLayout = splitLayoutWith([
|
|
22186
|
+
splitEditorialContentColumn,
|
|
22187
|
+
splitImageColumn
|
|
21716
22188
|
]);
|
|
21717
22189
|
var heroConfig = {
|
|
21718
22190
|
id: "block.hero",
|
|
@@ -21739,7 +22211,8 @@ var heroConfig = {
|
|
|
21739
22211
|
classic: classicLayout,
|
|
21740
22212
|
micro: microLayout,
|
|
21741
22213
|
split: splitLayout,
|
|
21742
|
-
splitReverse: splitReverseLayout
|
|
22214
|
+
splitReverse: splitReverseLayout,
|
|
22215
|
+
splitEditorial: splitEditorialLayout
|
|
21743
22216
|
},
|
|
21744
22217
|
defaultVariant: "classic",
|
|
21745
22218
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
@@ -21854,18 +22327,6 @@ function introHeading(className) {
|
|
|
21854
22327
|
bind("content.title")
|
|
21855
22328
|
);
|
|
21856
22329
|
}
|
|
21857
|
-
function introHeadingGroup(className) {
|
|
21858
|
-
return stack(
|
|
21859
|
-
{
|
|
21860
|
-
gap: "sm",
|
|
21861
|
-
className: "rb-intro-heading-group"
|
|
21862
|
-
},
|
|
21863
|
-
[
|
|
21864
|
-
introHeading(className),
|
|
21865
|
-
headingDecoration()
|
|
21866
|
-
]
|
|
21867
|
-
);
|
|
21868
|
-
}
|
|
21869
22330
|
function introBody(className = "rb-prose rb-max-w-none") {
|
|
21870
22331
|
return richText({ className }, bind("content.body"));
|
|
21871
22332
|
}
|
|
@@ -21884,7 +22345,6 @@ function introCopyStack(options = {}) {
|
|
|
21884
22345
|
},
|
|
21885
22346
|
[
|
|
21886
22347
|
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
21887
|
-
headingDecoration(),
|
|
21888
22348
|
introBody(options.bodyClassName),
|
|
21889
22349
|
introCtas(options.ctaJustify)
|
|
21890
22350
|
]
|
|
@@ -21924,7 +22384,7 @@ var statementCopyLayout = styledSection({
|
|
|
21924
22384
|
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
21925
22385
|
},
|
|
21926
22386
|
[
|
|
21927
|
-
|
|
22387
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
21928
22388
|
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
21929
22389
|
introBody(),
|
|
21930
22390
|
introCtas("start")
|
|
@@ -21945,7 +22405,7 @@ var statementMediaLayout = styledSection({
|
|
|
21945
22405
|
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"
|
|
21946
22406
|
},
|
|
21947
22407
|
[
|
|
21948
|
-
|
|
22408
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
21949
22409
|
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
21950
22410
|
introBody(),
|
|
21951
22411
|
introCtas("start")
|
|
@@ -22888,16 +23348,59 @@ var formComposition = composeFragments([
|
|
|
22888
23348
|
{ fragment: formCopyFragment },
|
|
22889
23349
|
{ fragment: formEmbedFragment }
|
|
22890
23350
|
]);
|
|
22891
|
-
|
|
22892
|
-
|
|
22893
|
-
|
|
22894
|
-
|
|
22895
|
-
|
|
22896
|
-
|
|
22897
|
-
|
|
22898
|
-
|
|
22899
|
-
|
|
22900
|
-
|
|
23351
|
+
function fragmentLayoutNode(layout) {
|
|
23352
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
23353
|
+
}
|
|
23354
|
+
function isNodeDefinitionArray(layout) {
|
|
23355
|
+
return Array.isArray(layout);
|
|
23356
|
+
}
|
|
23357
|
+
var copyLayout = fragmentLayoutNode(formCopyFragment.layout);
|
|
23358
|
+
var embedLayout = fragmentLayoutNode(formEmbedFragment.layout);
|
|
23359
|
+
var formSurface = styledContainer({
|
|
23360
|
+
bindFrom: "_containerStyles",
|
|
23361
|
+
constrainWidth: false,
|
|
23362
|
+
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-hidden",
|
|
23363
|
+
children: embedLayout
|
|
23364
|
+
});
|
|
23365
|
+
function createFormLayout(variant) {
|
|
23366
|
+
if (variant === "two-column") {
|
|
23367
|
+
return styledSection({
|
|
23368
|
+
children: el(
|
|
23369
|
+
"div",
|
|
23370
|
+
{
|
|
23371
|
+
className: "rb-container"
|
|
23372
|
+
},
|
|
23373
|
+
[
|
|
23374
|
+
el(
|
|
23375
|
+
"div",
|
|
23376
|
+
{
|
|
23377
|
+
className: "rb-form-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
23378
|
+
},
|
|
23379
|
+
[
|
|
23380
|
+
stack({ gap: "md", className: "rb-form-copy-column" }, [copyLayout]),
|
|
23381
|
+
formSurface
|
|
23382
|
+
]
|
|
23383
|
+
)
|
|
23384
|
+
]
|
|
23385
|
+
),
|
|
23386
|
+
baseClass: "",
|
|
23387
|
+
spacing: "medium",
|
|
23388
|
+
background: "surface"
|
|
23389
|
+
});
|
|
23390
|
+
}
|
|
23391
|
+
return styledSection({
|
|
23392
|
+
children: styledContainer({
|
|
23393
|
+
rootType: "stack",
|
|
23394
|
+
rootProps: { gap: "lg" },
|
|
23395
|
+
children: formComposition.layout
|
|
23396
|
+
}),
|
|
23397
|
+
baseClass: "",
|
|
23398
|
+
spacing: "medium",
|
|
23399
|
+
background: "surface"
|
|
23400
|
+
});
|
|
23401
|
+
}
|
|
23402
|
+
var formLayout = createFormLayout("default");
|
|
23403
|
+
var twoColumnFormLayout = createFormLayout("two-column");
|
|
22901
23404
|
var dataLoaders = buildFragmentDataLoaders(formComposition);
|
|
22902
23405
|
var formManifest = createBlockManifest({
|
|
22903
23406
|
id: "block.form",
|
|
@@ -22910,6 +23413,23 @@ var formManifest = createBlockManifest({
|
|
|
22910
23413
|
{ fragment: formEmbedFragment }
|
|
22911
23414
|
],
|
|
22912
23415
|
layout: formLayout,
|
|
23416
|
+
variants: {
|
|
23417
|
+
default: formLayout,
|
|
23418
|
+
"two-column": twoColumnFormLayout
|
|
23419
|
+
},
|
|
23420
|
+
defaultVariant: "default",
|
|
23421
|
+
variantOptions: {
|
|
23422
|
+
default: {
|
|
23423
|
+
label: "Stacked",
|
|
23424
|
+
description: "Copy above the form.",
|
|
23425
|
+
icon: "PanelTop"
|
|
23426
|
+
},
|
|
23427
|
+
"two-column": {
|
|
23428
|
+
label: "Two column",
|
|
23429
|
+
description: "Copy on the left and form on the right.",
|
|
23430
|
+
icon: "Columns2"
|
|
23431
|
+
}
|
|
23432
|
+
},
|
|
22913
23433
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
22914
23434
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: false },
|
|
22915
23435
|
category: "interactive",
|
|
@@ -22935,15 +23455,14 @@ var formBlockDefinition = {
|
|
|
22935
23455
|
};
|
|
22936
23456
|
|
|
22937
23457
|
// ../blocks/src/system/blocks/faq.ts
|
|
22938
|
-
function
|
|
22939
|
-
return
|
|
23458
|
+
function fragmentLayoutNode2(layout) {
|
|
23459
|
+
return isNodeDefinitionArray2(layout) ? el("div", {}, [...layout]) : layout;
|
|
22940
23460
|
}
|
|
22941
|
-
function
|
|
23461
|
+
function isNodeDefinitionArray2(layout) {
|
|
22942
23462
|
return Array.isArray(layout);
|
|
22943
23463
|
}
|
|
22944
|
-
var headingLayout =
|
|
22945
|
-
var accordionLayout =
|
|
22946
|
-
var decoratedHeadingLayout = fragmentLayoutNode(decoratedFaqHeadingLayout);
|
|
23464
|
+
var headingLayout = fragmentLayoutNode2(faqHeadingFragment.layout);
|
|
23465
|
+
var accordionLayout = fragmentLayoutNode2(faqAccordionFragment.layout);
|
|
22947
23466
|
var questionColumnsAccordionLayout = createFaqAccordionLayout({
|
|
22948
23467
|
rootClassName: "accordion-root rb-faq-question-columns rb-grid rb-grid-cols-1 rb-gap-4 rb-lg-grid-cols-2"
|
|
22949
23468
|
});
|
|
@@ -22951,7 +23470,7 @@ var defaultLayout = styledSection({
|
|
|
22951
23470
|
children: styledContainer({
|
|
22952
23471
|
baseClassName: "rb-relative rb-isolate",
|
|
22953
23472
|
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, [
|
|
22954
|
-
|
|
23473
|
+
headingLayout,
|
|
22955
23474
|
accordionLayout
|
|
22956
23475
|
])
|
|
22957
23476
|
}),
|
|
@@ -22979,7 +23498,7 @@ var questionColumnsLayout = styledSection({
|
|
|
22979
23498
|
children: stack(
|
|
22980
23499
|
{ gap: "xl", className: "rb-w-full" },
|
|
22981
23500
|
[
|
|
22982
|
-
|
|
23501
|
+
headingLayout,
|
|
22983
23502
|
questionColumnsAccordionLayout
|
|
22984
23503
|
]
|
|
22985
23504
|
)
|
|
@@ -23313,7 +23832,7 @@ function resolveHeroContentAlignment(content) {
|
|
|
23313
23832
|
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
23314
23833
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
23315
23834
|
const variant = resolveHeroVariant(content);
|
|
23316
|
-
if (variant === "split" || variant === "splitReverse") return "left";
|
|
23835
|
+
if (variant === "split" || variant === "splitReverse" || variant === "splitEditorial") return "left";
|
|
23317
23836
|
return "center";
|
|
23318
23837
|
}
|
|
23319
23838
|
function resolveHeroVerticalAlignment(content) {
|
|
@@ -23323,7 +23842,7 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
23323
23842
|
const minHeight = sectionStyles?.minHeight;
|
|
23324
23843
|
if (minHeight === "banner" || minHeight === "hero" || minHeight === "immersive") return "center";
|
|
23325
23844
|
const variant = resolveHeroVariant(content);
|
|
23326
|
-
if (variant === "split" || variant === "splitReverse") return "center";
|
|
23845
|
+
if (variant === "split" || variant === "splitReverse" || variant === "splitEditorial") return "center";
|
|
23327
23846
|
return "top";
|
|
23328
23847
|
}
|
|
23329
23848
|
function resolveHeroContentMaxWidth(content) {
|
|
@@ -23725,7 +24244,7 @@ function planSiteChromePlacement(positioning) {
|
|
|
23725
24244
|
standaloneShellClassName: "fixed left-0 right-0 top-0 z-40 w-full"
|
|
23726
24245
|
};
|
|
23727
24246
|
default:
|
|
23728
|
-
return
|
|
24247
|
+
return assertNever2(positioning);
|
|
23729
24248
|
}
|
|
23730
24249
|
}
|
|
23731
24250
|
|
|
@@ -24879,7 +25398,7 @@ var floatingLayout = inline(
|
|
|
24879
25398
|
),
|
|
24880
25399
|
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`
|
|
24881
25400
|
}),
|
|
24882
|
-
align: "
|
|
25401
|
+
align: "start"
|
|
24883
25402
|
},
|
|
24884
25403
|
[
|
|
24885
25404
|
logoRow,
|
|
@@ -25398,7 +25917,6 @@ var splitHeading = stack(
|
|
|
25398
25917
|
when("content.heading"),
|
|
25399
25918
|
bind("content.heading")
|
|
25400
25919
|
),
|
|
25401
|
-
headingDecoration(),
|
|
25402
25920
|
text(
|
|
25403
25921
|
{
|
|
25404
25922
|
as: "p",
|
|
@@ -25936,7 +26454,6 @@ var sectionHeading = stack(
|
|
|
25936
26454
|
when("content.title"),
|
|
25937
26455
|
bind("content.title")
|
|
25938
26456
|
),
|
|
25939
|
-
headingDecoration(),
|
|
25940
26457
|
richText(
|
|
25941
26458
|
{
|
|
25942
26459
|
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
@@ -25969,6 +26486,17 @@ var featureCard = styledCard(
|
|
|
25969
26486
|
null,
|
|
25970
26487
|
bind("card.icon")
|
|
25971
26488
|
),
|
|
26489
|
+
// Auto-numbered marker (01, 02, …). Always in the DOM; CSS shows it only
|
|
26490
|
+
// when cardMarker === 'numbers' and fills it via a counter. Its own class
|
|
26491
|
+
// (not the icon zone) so the icon-zone collapse behaviour is unaffected.
|
|
26492
|
+
el(
|
|
26493
|
+
"div",
|
|
26494
|
+
{
|
|
26495
|
+
className: "rb-feature-card-number-zone",
|
|
26496
|
+
"aria-hidden": "true"
|
|
26497
|
+
},
|
|
26498
|
+
null
|
|
26499
|
+
),
|
|
25972
26500
|
text(
|
|
25973
26501
|
{
|
|
25974
26502
|
as: "h3",
|
|
@@ -26008,6 +26536,12 @@ var cardsLayout = styledSection({
|
|
|
26008
26536
|
sectionHeading,
|
|
26009
26537
|
grid3(
|
|
26010
26538
|
{
|
|
26539
|
+
className: "rb-feature-cards-grid",
|
|
26540
|
+
// Drives which marker shows (icons / numbers / none) via CSS; the
|
|
26541
|
+
// fallback keeps legacy content (no cardMarker) showing icons.
|
|
26542
|
+
"data-card-marker": {
|
|
26543
|
+
$bind: { from: "content.cardMarker", fallback: "icons" }
|
|
26544
|
+
},
|
|
26011
26545
|
cols: {
|
|
26012
26546
|
$bind: {
|
|
26013
26547
|
from: "content.columns",
|
|
@@ -26136,9 +26670,23 @@ var featureCardsConfig = {
|
|
|
26136
26670
|
}
|
|
26137
26671
|
},
|
|
26138
26672
|
{
|
|
26139
|
-
id: "
|
|
26673
|
+
id: "cardMarker",
|
|
26140
26674
|
type: "select",
|
|
26141
|
-
label: "
|
|
26675
|
+
label: "Card marker",
|
|
26676
|
+
required: false,
|
|
26677
|
+
defaultValue: "icons",
|
|
26678
|
+
multiple: false,
|
|
26679
|
+
options: [
|
|
26680
|
+
{ value: "icons", label: "Icons" },
|
|
26681
|
+
{ value: "numbers", label: "Numbers (01, 02, \u2026)" },
|
|
26682
|
+
{ value: "none", label: "None" }
|
|
26683
|
+
],
|
|
26684
|
+
ui: { intent: "display" }
|
|
26685
|
+
},
|
|
26686
|
+
{
|
|
26687
|
+
id: "_iconTreatment",
|
|
26688
|
+
type: "select",
|
|
26689
|
+
label: "Icon style",
|
|
26142
26690
|
required: false,
|
|
26143
26691
|
defaultValue: "soft-badge",
|
|
26144
26692
|
multiple: false,
|
|
@@ -26903,6 +27451,22 @@ var eventCategorySchema = z42.object({
|
|
|
26903
27451
|
var pricingTypeSchema = z42.enum(["free", "paid", "pass_only", "membership_only"]);
|
|
26904
27452
|
var accessRestrictionSchema = z42.enum(["none", "category"]);
|
|
26905
27453
|
var eventPricingModeSchema = z42.enum(["single", "ticket_types"]);
|
|
27454
|
+
var publicCoursePriceDisplaySchema = z42.discriminatedUnion("kind", [
|
|
27455
|
+
z42.object({ kind: z42.literal("free"), currency: z42.string() }),
|
|
27456
|
+
z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
|
|
27457
|
+
z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
|
|
27458
|
+
z42.object({ kind: z42.literal("unavailable"), currency: z42.string() })
|
|
27459
|
+
]);
|
|
27460
|
+
var publicEventPriceDisplaySchema = z42.discriminatedUnion("kind", [
|
|
27461
|
+
z42.object({ kind: z42.literal("free"), currency: z42.string() }),
|
|
27462
|
+
z42.object({ kind: z42.literal("exact"), amount: z42.number(), currency: z42.string() }),
|
|
27463
|
+
z42.object({ kind: z42.literal("from"), amount: z42.number(), currency: z42.string() }),
|
|
27464
|
+
z42.object({ kind: z42.literal("mixed"), paidFromAmount: z42.number(), currency: z42.string() }),
|
|
27465
|
+
z42.object({ kind: z42.literal("pass_only") }),
|
|
27466
|
+
z42.object({ kind: z42.literal("membership_only") }),
|
|
27467
|
+
z42.object({ kind: z42.literal("unavailable"), currency: z42.string() }),
|
|
27468
|
+
z42.object({ kind: z42.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
27469
|
+
]);
|
|
26906
27470
|
var publicEventAttendanceModeSchema = z42.enum(["in_person", "online"]);
|
|
26907
27471
|
var publicEventAttendanceModeAvailabilitySchema = z42.object({
|
|
26908
27472
|
mode: publicEventAttendanceModeSchema,
|
|
@@ -26984,6 +27548,7 @@ var publicEventSchema = z42.object({
|
|
|
26984
27548
|
pricingType: pricingTypeSchema,
|
|
26985
27549
|
price: z42.number().nullable(),
|
|
26986
27550
|
currency: z42.string(),
|
|
27551
|
+
priceDisplay: publicEventPriceDisplaySchema,
|
|
26987
27552
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
26988
27553
|
pricingMode: eventPricingModeSchema.optional(),
|
|
26989
27554
|
ticketTypes: z42.array(publicEventTicketTypeSchema).optional(),
|
|
@@ -27029,7 +27594,7 @@ var cardStylingFields = [
|
|
|
27029
27594
|
description: "Text for the event action button",
|
|
27030
27595
|
required: false,
|
|
27031
27596
|
multiline: false,
|
|
27032
|
-
defaultValue: "Book
|
|
27597
|
+
defaultValue: "Book",
|
|
27033
27598
|
maxLength: 40
|
|
27034
27599
|
}
|
|
27035
27600
|
];
|
|
@@ -28382,7 +28947,7 @@ var eventSpotlightBlockDefinition = {
|
|
|
28382
28947
|
};
|
|
28383
28948
|
|
|
28384
28949
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
28385
|
-
import { z as
|
|
28950
|
+
import { z as z51 } from "zod";
|
|
28386
28951
|
|
|
28387
28952
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
28388
28953
|
var COLUMN_CLASSES = {
|
|
@@ -28488,92 +29053,130 @@ function computeMediaTransformStyle(value, style, targetAspectRatio, options) {
|
|
|
28488
29053
|
return mergeStyles(style, stylePatch);
|
|
28489
29054
|
}
|
|
28490
29055
|
|
|
29056
|
+
// ../blocks/src/system/runtime/nodes/events/shared/listOptions.ts
|
|
29057
|
+
import { z as z50 } from "zod";
|
|
29058
|
+
var eventPageSizeValues = [3, 6, 10, 12, 20, 24, 30];
|
|
29059
|
+
var eventPageSizeSchema = z50.union([
|
|
29060
|
+
z50.literal(3),
|
|
29061
|
+
z50.literal(6),
|
|
29062
|
+
z50.literal(10),
|
|
29063
|
+
z50.literal(12),
|
|
29064
|
+
z50.literal(20),
|
|
29065
|
+
z50.literal(24),
|
|
29066
|
+
z50.literal(30)
|
|
29067
|
+
]);
|
|
29068
|
+
var eventPageSizeSet = new Set(eventPageSizeValues);
|
|
29069
|
+
function resolveEventPageSize(value, fallback = 12) {
|
|
29070
|
+
const candidate = typeof value === "number" ? value : typeof value === "string" && value.trim() !== "" ? Number(value.trim()) : null;
|
|
29071
|
+
return candidate != null && Number.isInteger(candidate) && eventPageSizeSet.has(candidate) ? candidate : fallback;
|
|
29072
|
+
}
|
|
29073
|
+
function resolveEventCalendarListPageSize(input) {
|
|
29074
|
+
return resolveEventPageSize(input.eventsPerPage);
|
|
29075
|
+
}
|
|
29076
|
+
var eventListPaginationActionSchema = z50.discriminatedUnion("kind", [
|
|
29077
|
+
z50.object({
|
|
29078
|
+
kind: z50.literal("loadMore"),
|
|
29079
|
+
label: z50.string()
|
|
29080
|
+
}),
|
|
29081
|
+
z50.object({
|
|
29082
|
+
kind: z50.literal("seeAllLink"),
|
|
29083
|
+
label: z50.string(),
|
|
29084
|
+
href: z50.string()
|
|
29085
|
+
})
|
|
29086
|
+
]);
|
|
29087
|
+
function resolveEventListPaginationAction(input) {
|
|
29088
|
+
const label = input.loadMoreText?.trim() || input.defaultLabel || "Load more events";
|
|
29089
|
+
const href = input.seeAllUrl?.trim();
|
|
29090
|
+
if (input.paginationMode === "seeAllLink" && href) {
|
|
29091
|
+
return { kind: "seeAllLink", label, href };
|
|
29092
|
+
}
|
|
29093
|
+
return { kind: "loadMore", label };
|
|
29094
|
+
}
|
|
29095
|
+
|
|
28491
29096
|
// ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
|
|
28492
|
-
var legacyEventCardVariantSchema =
|
|
28493
|
-
var eventCardVariantInputSchema =
|
|
29097
|
+
var legacyEventCardVariantSchema = z51.enum(["variant1", "variant2"]);
|
|
29098
|
+
var eventCardVariantInputSchema = z51.union([
|
|
28494
29099
|
cardVariantRoleSchema,
|
|
28495
29100
|
legacyEventCardVariantSchema
|
|
28496
29101
|
]);
|
|
28497
|
-
var cardOrientationSchema =
|
|
28498
|
-
var eventBlockKindSchema =
|
|
28499
|
-
var eventSurfaceScopeSchema =
|
|
28500
|
-
var eventScheduleScopeSchema2 =
|
|
28501
|
-
var eventListingSourceSchema =
|
|
28502
|
-
events:
|
|
28503
|
-
siteId:
|
|
28504
|
-
apiBaseUrl:
|
|
29102
|
+
var cardOrientationSchema = z51.enum(["vertical", "horizontal"]);
|
|
29103
|
+
var eventBlockKindSchema = z51.enum(eventBlockKindValues);
|
|
29104
|
+
var eventSurfaceScopeSchema = z51.enum(eventSurfaceScopeValues);
|
|
29105
|
+
var eventScheduleScopeSchema2 = z51.enum(eventScheduleScopeValues);
|
|
29106
|
+
var eventListingSourceSchema = z51.object({
|
|
29107
|
+
events: z51.array(publicEventSchema).nullable().optional(),
|
|
29108
|
+
siteId: z51.string(),
|
|
29109
|
+
apiBaseUrl: z51.string().optional(),
|
|
28505
29110
|
stage: previewStageSchema.optional(),
|
|
28506
29111
|
layout: eventLayoutSchema.optional(),
|
|
28507
29112
|
columns: columnOptionSchema.optional(),
|
|
28508
|
-
eventsPerPage:
|
|
28509
|
-
paginationMode:
|
|
28510
|
-
seeAllUrl:
|
|
28511
|
-
loadMoreText:
|
|
29113
|
+
eventsPerPage: z51.string().optional(),
|
|
29114
|
+
paginationMode: z51.enum(["loadMore", "seeAllLink"]).optional(),
|
|
29115
|
+
seeAllUrl: z51.string().optional(),
|
|
29116
|
+
loadMoreText: z51.string().optional(),
|
|
28512
29117
|
cardVariant: eventCardVariantInputSchema.optional(),
|
|
28513
29118
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28514
|
-
buttonText:
|
|
28515
|
-
showVenue:
|
|
28516
|
-
showMap:
|
|
28517
|
-
showCapacity:
|
|
28518
|
-
emptyMessage:
|
|
28519
|
-
className:
|
|
28520
|
-
showFilters:
|
|
29119
|
+
buttonText: z51.string().optional(),
|
|
29120
|
+
showVenue: z51.boolean().optional(),
|
|
29121
|
+
showMap: z51.boolean().optional(),
|
|
29122
|
+
showCapacity: z51.boolean().optional(),
|
|
29123
|
+
emptyMessage: z51.string().optional(),
|
|
29124
|
+
className: z51.string().optional(),
|
|
29125
|
+
showFilters: z51.boolean().nullable().optional(),
|
|
28521
29126
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
28522
|
-
showVenueFilter:
|
|
28523
|
-
showStaffFilter:
|
|
29127
|
+
showVenueFilter: z51.boolean().nullable().optional(),
|
|
29128
|
+
showStaffFilter: z51.boolean().nullable().optional(),
|
|
28524
29129
|
eventKind: eventBlockKindSchema.nullable().optional(),
|
|
28525
29130
|
eventSurface: eventSurfaceScopeSchema.nullable().optional(),
|
|
28526
|
-
filterEventPresets:
|
|
29131
|
+
filterEventPresets: z51.union([z51.string(), z51.array(z51.string())]).nullable().optional(),
|
|
28527
29132
|
scheduleScope: eventScheduleScopeSchema2.nullable().optional(),
|
|
28528
|
-
filterCategoryIds:
|
|
28529
|
-
filterStaffMemberId:
|
|
28530
|
-
filterVenueId:
|
|
29133
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
29134
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
29135
|
+
filterVenueId: z51.string().nullable().optional()
|
|
28531
29136
|
});
|
|
28532
|
-
var eventListingDisplaySchema =
|
|
28533
|
-
kind:
|
|
28534
|
-
state:
|
|
29137
|
+
var eventListingDisplaySchema = z51.object({
|
|
29138
|
+
kind: z51.literal("event-listing"),
|
|
29139
|
+
state: z51.enum(["loading", "empty", "ready"]),
|
|
28535
29140
|
listLayout: eventLayoutSchema,
|
|
28536
|
-
className:
|
|
28537
|
-
emptyMessage:
|
|
28538
|
-
loadingMessage:
|
|
28539
|
-
containerClass:
|
|
29141
|
+
className: z51.string().nullable(),
|
|
29142
|
+
emptyMessage: z51.string(),
|
|
29143
|
+
loadingMessage: z51.string(),
|
|
29144
|
+
containerClass: z51.string(),
|
|
28540
29145
|
cardVariant: cardVariantRoleSchema,
|
|
28541
29146
|
buttonVariant: eventButtonVariantSchema,
|
|
28542
|
-
buttonText:
|
|
28543
|
-
showVenue:
|
|
28544
|
-
showMap:
|
|
28545
|
-
showCapacity:
|
|
29147
|
+
buttonText: z51.string(),
|
|
29148
|
+
showVenue: z51.boolean(),
|
|
29149
|
+
showMap: z51.boolean(),
|
|
29150
|
+
showCapacity: z51.boolean(),
|
|
28546
29151
|
orientation: cardOrientationSchema,
|
|
28547
|
-
events:
|
|
29152
|
+
events: z51.array(publicEventSchema)
|
|
28548
29153
|
});
|
|
28549
|
-
var eventListingHydrationSchema =
|
|
28550
|
-
siteId:
|
|
29154
|
+
var eventListingHydrationSchema = z51.object({
|
|
29155
|
+
siteId: z51.string(),
|
|
28551
29156
|
stage: previewStageSchema.optional(),
|
|
28552
|
-
eventsPerPage:
|
|
28553
|
-
|
|
28554
|
-
|
|
28555
|
-
loadMoreText: z50.string(),
|
|
28556
|
-
showFilters: z50.boolean(),
|
|
29157
|
+
eventsPerPage: eventPageSizeSchema,
|
|
29158
|
+
paginationAction: eventListPaginationActionSchema,
|
|
29159
|
+
showFilters: z51.boolean(),
|
|
28557
29160
|
showCategoryFilter: filterAutoShowSchema,
|
|
28558
|
-
showVenueFilter:
|
|
28559
|
-
showStaffFilter:
|
|
29161
|
+
showVenueFilter: z51.boolean(),
|
|
29162
|
+
showStaffFilter: z51.boolean(),
|
|
28560
29163
|
eventKind: eventBlockKindSchema,
|
|
28561
29164
|
eventSurface: eventSurfaceScopeSchema,
|
|
28562
|
-
filterEventPresets:
|
|
29165
|
+
filterEventPresets: z51.string().nullable(),
|
|
28563
29166
|
scheduleScope: eventScheduleScopeSchema2,
|
|
28564
|
-
filterCategoryIds:
|
|
28565
|
-
filterStaffMemberId:
|
|
28566
|
-
filterVenueId:
|
|
28567
|
-
fetchInitialEventsOnMount:
|
|
29167
|
+
filterCategoryIds: z51.string().nullable().optional(),
|
|
29168
|
+
filterStaffMemberId: z51.string().nullable().optional(),
|
|
29169
|
+
filterVenueId: z51.string().nullable().optional(),
|
|
29170
|
+
fetchInitialEventsOnMount: z51.boolean()
|
|
28568
29171
|
});
|
|
28569
|
-
var eventListingRenderSchema =
|
|
29172
|
+
var eventListingRenderSchema = z51.object({
|
|
28570
29173
|
display: eventListingDisplaySchema,
|
|
28571
29174
|
hydration: eventListingHydrationSchema
|
|
28572
29175
|
});
|
|
28573
29176
|
var eventListingIslandMetaCodec = createZodCodec(
|
|
28574
|
-
|
|
28575
|
-
siteId:
|
|
28576
|
-
apiBaseUrl:
|
|
29177
|
+
z51.object({
|
|
29178
|
+
siteId: z51.string(),
|
|
29179
|
+
apiBaseUrl: z51.string().optional(),
|
|
28577
29180
|
stage: previewStageSchema.optional()
|
|
28578
29181
|
})
|
|
28579
29182
|
);
|
|
@@ -28585,7 +29188,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
28585
29188
|
},
|
|
28586
29189
|
buildRender: (source) => {
|
|
28587
29190
|
const normalizedEvents = Array.isArray(source.events) ? source.events : [];
|
|
28588
|
-
const pageSize =
|
|
29191
|
+
const pageSize = resolveEventPageSize(source.eventsPerPage);
|
|
28589
29192
|
const initialEvents = normalizedEvents.slice(0, pageSize);
|
|
28590
29193
|
const didPrefetchEvents = source.events != null;
|
|
28591
29194
|
const layout = source.layout ?? "grid";
|
|
@@ -28600,7 +29203,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
28600
29203
|
containerClass: getContainerClass(layout, source.columns ?? "3"),
|
|
28601
29204
|
cardVariant: normalizeCardVariantRole(source.cardVariant) ?? "default",
|
|
28602
29205
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
28603
|
-
buttonText: source.buttonText ?? "Book
|
|
29206
|
+
buttonText: source.buttonText ?? "Book",
|
|
28604
29207
|
showVenue: source.showVenue ?? true,
|
|
28605
29208
|
showMap: source.showMap ?? true,
|
|
28606
29209
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -28610,10 +29213,12 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
28610
29213
|
hydration: {
|
|
28611
29214
|
siteId: source.siteId,
|
|
28612
29215
|
stage: source.stage,
|
|
28613
|
-
eventsPerPage:
|
|
28614
|
-
|
|
28615
|
-
|
|
28616
|
-
|
|
29216
|
+
eventsPerPage: pageSize,
|
|
29217
|
+
paginationAction: resolveEventListPaginationAction({
|
|
29218
|
+
paginationMode: source.paginationMode,
|
|
29219
|
+
seeAllUrl: source.seeAllUrl,
|
|
29220
|
+
loadMoreText: source.loadMoreText
|
|
29221
|
+
}),
|
|
28617
29222
|
showFilters: source.showFilters ?? false,
|
|
28618
29223
|
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
28619
29224
|
showVenueFilter: source.showVenueFilter ?? false,
|
|
@@ -28835,7 +29440,7 @@ var eventListingLayout = [
|
|
|
28835
29440
|
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
28836
29441
|
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
28837
29442
|
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
28838
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "Book
|
|
29443
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "Book" } },
|
|
28839
29444
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
28840
29445
|
showMap: { $bind: { from: "content.showMap" } },
|
|
28841
29446
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
@@ -28930,15 +29535,15 @@ var eventListingBlockDefinition = {
|
|
|
28930
29535
|
};
|
|
28931
29536
|
|
|
28932
29537
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
28933
|
-
import { z as
|
|
28934
|
-
var eventBlockKindSchema2 =
|
|
28935
|
-
var eventSurfaceScopeSchema2 =
|
|
28936
|
-
var eventScheduleScopeSchema3 =
|
|
28937
|
-
var eventCalendarSourceSchema =
|
|
29538
|
+
import { z as z52 } from "zod";
|
|
29539
|
+
var eventBlockKindSchema2 = z52.enum(eventBlockKindValues);
|
|
29540
|
+
var eventSurfaceScopeSchema2 = z52.enum(eventSurfaceScopeValues);
|
|
29541
|
+
var eventScheduleScopeSchema3 = z52.enum(eventScheduleScopeValues);
|
|
29542
|
+
var eventCalendarSourceSchema = z52.object(
|
|
28938
29543
|
{
|
|
28939
|
-
events:
|
|
28940
|
-
siteId:
|
|
28941
|
-
apiBaseUrl:
|
|
29544
|
+
events: z52.array(publicEventSchema).nullable().optional(),
|
|
29545
|
+
siteId: z52.string(),
|
|
29546
|
+
apiBaseUrl: z52.string().optional(),
|
|
28942
29547
|
stage: previewStageSchema.optional(),
|
|
28943
29548
|
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
28944
29549
|
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
@@ -28946,77 +29551,78 @@ var eventCalendarSourceSchema = z51.object(
|
|
|
28946
29551
|
listColumns: columnOptionSchema.optional(),
|
|
28947
29552
|
layout: eventLayoutSchema.optional(),
|
|
28948
29553
|
columns: columnOptionSchema.optional(),
|
|
28949
|
-
eventsPerPage:
|
|
28950
|
-
|
|
28951
|
-
|
|
29554
|
+
eventsPerPage: z52.string().optional(),
|
|
29555
|
+
paginationMode: z52.enum(["loadMore", "seeAllLink"]).optional(),
|
|
29556
|
+
seeAllUrl: z52.string().optional(),
|
|
29557
|
+
loadMoreText: z52.string().optional(),
|
|
28952
29558
|
startOfWeek: weekStartSchema.optional(),
|
|
28953
29559
|
calendarTabViews: calendarTabViewsSchema.optional(),
|
|
28954
|
-
showFilters:
|
|
29560
|
+
showFilters: z52.boolean().nullable().optional(),
|
|
28955
29561
|
showCategoryFilter: filterAutoShowSchema.optional(),
|
|
28956
|
-
showVenueFilter:
|
|
28957
|
-
showStaffFilter:
|
|
29562
|
+
showVenueFilter: z52.boolean().nullable().optional(),
|
|
29563
|
+
showStaffFilter: z52.boolean().nullable().optional(),
|
|
28958
29564
|
kind: eventBlockKindSchema2.nullable().optional(),
|
|
28959
29565
|
eventSurface: eventSurfaceScopeSchema2.nullable().optional(),
|
|
28960
|
-
filterEventPresets:
|
|
29566
|
+
filterEventPresets: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
28961
29567
|
scheduleScope: eventScheduleScopeSchema3.nullable().optional(),
|
|
28962
|
-
filterCategoryIds:
|
|
28963
|
-
filterStaffMemberId:
|
|
28964
|
-
filterVenueId:
|
|
29568
|
+
filterCategoryIds: z52.union([z52.string(), z52.array(z52.string())]).nullable().optional(),
|
|
29569
|
+
filterStaffMemberId: z52.string().nullable().optional(),
|
|
29570
|
+
filterVenueId: z52.string().nullable().optional(),
|
|
28965
29571
|
buttonVariant: eventButtonVariantSchema.optional(),
|
|
28966
|
-
buttonText:
|
|
28967
|
-
showVenue:
|
|
28968
|
-
showMap:
|
|
28969
|
-
showCapacity:
|
|
28970
|
-
emptyMessage:
|
|
28971
|
-
className:
|
|
29572
|
+
buttonText: z52.string().optional(),
|
|
29573
|
+
showVenue: z52.boolean().nullable().optional(),
|
|
29574
|
+
showMap: z52.boolean().nullable().optional(),
|
|
29575
|
+
showCapacity: z52.boolean().nullable().optional(),
|
|
29576
|
+
emptyMessage: z52.string().optional(),
|
|
29577
|
+
className: z52.string().optional()
|
|
28972
29578
|
}
|
|
28973
29579
|
);
|
|
28974
|
-
var eventCalendarDisplaySchema =
|
|
28975
|
-
kind:
|
|
29580
|
+
var eventCalendarDisplaySchema = z52.object({
|
|
29581
|
+
kind: z52.literal("event-calendar"),
|
|
28976
29582
|
displayMode: eventCalendarDisplayModeSchema,
|
|
28977
|
-
className:
|
|
28978
|
-
events:
|
|
29583
|
+
className: z52.string().nullable(),
|
|
29584
|
+
events: z52.array(publicEventSchema),
|
|
28979
29585
|
listLayout: eventLayoutSchema,
|
|
28980
29586
|
listColumns: columnOptionSchema,
|
|
28981
|
-
eventsPerPage:
|
|
28982
|
-
|
|
29587
|
+
eventsPerPage: eventPageSizeSchema,
|
|
29588
|
+
paginationAction: eventListPaginationActionSchema,
|
|
28983
29589
|
startOfWeek: weekStartSchema,
|
|
28984
29590
|
calendarTabViews: calendarTabViewsSchema,
|
|
28985
|
-
showFilters:
|
|
29591
|
+
showFilters: z52.boolean(),
|
|
28986
29592
|
showCategoryFilter: filterAutoShowSchema,
|
|
28987
|
-
showVenueFilter:
|
|
28988
|
-
showStaffFilter:
|
|
29593
|
+
showVenueFilter: z52.boolean(),
|
|
29594
|
+
showStaffFilter: z52.boolean(),
|
|
28989
29595
|
eventKind: eventBlockKindSchema2,
|
|
28990
29596
|
eventSurface: eventSurfaceScopeSchema2,
|
|
28991
|
-
filterEventPresets:
|
|
29597
|
+
filterEventPresets: z52.string().nullable(),
|
|
28992
29598
|
scheduleScope: eventScheduleScopeSchema3,
|
|
28993
|
-
filterCategoryIds:
|
|
28994
|
-
filterStaffMemberId:
|
|
28995
|
-
filterVenueId:
|
|
29599
|
+
filterCategoryIds: z52.string().nullable(),
|
|
29600
|
+
filterStaffMemberId: z52.string().nullable(),
|
|
29601
|
+
filterVenueId: z52.string().nullable(),
|
|
28996
29602
|
buttonVariant: eventButtonVariantSchema,
|
|
28997
|
-
buttonText:
|
|
28998
|
-
showVenue:
|
|
28999
|
-
showMap:
|
|
29000
|
-
showCapacity:
|
|
29001
|
-
emptyMessage:
|
|
29002
|
-
});
|
|
29003
|
-
var eventCalendarHydrationSchema =
|
|
29004
|
-
siteId:
|
|
29603
|
+
buttonText: z52.string(),
|
|
29604
|
+
showVenue: z52.boolean(),
|
|
29605
|
+
showMap: z52.boolean(),
|
|
29606
|
+
showCapacity: z52.boolean(),
|
|
29607
|
+
emptyMessage: z52.string()
|
|
29608
|
+
});
|
|
29609
|
+
var eventCalendarHydrationSchema = z52.object({
|
|
29610
|
+
siteId: z52.string(),
|
|
29005
29611
|
stage: previewStageSchema.optional(),
|
|
29006
|
-
prefetchedEvents:
|
|
29612
|
+
prefetchedEvents: z52.boolean(),
|
|
29007
29613
|
eventKind: eventBlockKindSchema2,
|
|
29008
29614
|
eventSurface: eventSurfaceScopeSchema2,
|
|
29009
|
-
filterEventPresets:
|
|
29615
|
+
filterEventPresets: z52.string().nullable(),
|
|
29010
29616
|
scheduleScope: eventScheduleScopeSchema3
|
|
29011
29617
|
});
|
|
29012
|
-
var eventCalendarRenderSchema =
|
|
29618
|
+
var eventCalendarRenderSchema = z52.object({
|
|
29013
29619
|
display: eventCalendarDisplaySchema,
|
|
29014
29620
|
hydration: eventCalendarHydrationSchema
|
|
29015
29621
|
});
|
|
29016
29622
|
var eventCalendarIslandMetaCodec = createZodCodec(
|
|
29017
|
-
|
|
29018
|
-
siteId:
|
|
29019
|
-
apiBaseUrl:
|
|
29623
|
+
z52.object({
|
|
29624
|
+
siteId: z52.string(),
|
|
29625
|
+
apiBaseUrl: z52.string().optional(),
|
|
29020
29626
|
stage: previewStageSchema.optional()
|
|
29021
29627
|
})
|
|
29022
29628
|
);
|
|
@@ -29026,6 +29632,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
29026
29632
|
"stage"
|
|
29027
29633
|
);
|
|
29028
29634
|
function buildEventCalendarDisplay(source) {
|
|
29635
|
+
const listLayout = source.listLayout ?? source.layout ?? "stack";
|
|
29029
29636
|
return {
|
|
29030
29637
|
kind: "event-calendar",
|
|
29031
29638
|
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
@@ -29033,10 +29640,16 @@ function buildEventCalendarDisplay(source) {
|
|
|
29033
29640
|
events: (source.events ?? []).slice().sort(
|
|
29034
29641
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
29035
29642
|
),
|
|
29036
|
-
listLayout
|
|
29643
|
+
listLayout,
|
|
29037
29644
|
listColumns: source.listColumns ?? source.columns ?? "3",
|
|
29038
|
-
eventsPerPage: (
|
|
29039
|
-
|
|
29645
|
+
eventsPerPage: resolveEventCalendarListPageSize({
|
|
29646
|
+
eventsPerPage: source.eventsPerPage
|
|
29647
|
+
}),
|
|
29648
|
+
paginationAction: resolveEventListPaginationAction({
|
|
29649
|
+
paginationMode: source.paginationMode,
|
|
29650
|
+
seeAllUrl: source.seeAllUrl,
|
|
29651
|
+
loadMoreText: source.loadMoreText
|
|
29652
|
+
}),
|
|
29040
29653
|
startOfWeek: source.startOfWeek ?? "monday",
|
|
29041
29654
|
calendarTabViews: source.calendarTabViews ?? "both",
|
|
29042
29655
|
showFilters: source.showFilters ?? true,
|
|
@@ -29053,7 +29666,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
29053
29666
|
),
|
|
29054
29667
|
filterVenueId: normalizeEventVenueId(source.filterVenueId),
|
|
29055
29668
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
29056
|
-
buttonText: source.buttonText ?? "Book
|
|
29669
|
+
buttonText: source.buttonText ?? "Book",
|
|
29057
29670
|
showVenue: source.showVenue ?? true,
|
|
29058
29671
|
showMap: source.showMap ?? true,
|
|
29059
29672
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -29153,10 +29766,16 @@ var eventCalendarLayout = [
|
|
|
29153
29766
|
layout: { $bind: { from: "content.layout" } },
|
|
29154
29767
|
columns: { $bind: { from: "content.columns" } },
|
|
29155
29768
|
eventsPerPage: {
|
|
29156
|
-
$bind: { from: "content.eventsPerPage"
|
|
29769
|
+
$bind: { from: "content.eventsPerPage" }
|
|
29157
29770
|
},
|
|
29158
|
-
|
|
29159
|
-
$bind: { from: "content.
|
|
29771
|
+
paginationMode: {
|
|
29772
|
+
$bind: { from: "content.paginationMode", fallback: "loadMore" }
|
|
29773
|
+
},
|
|
29774
|
+
seeAllUrl: {
|
|
29775
|
+
$bind: {
|
|
29776
|
+
from: "content.seeAllUrl",
|
|
29777
|
+
transforms: [{ id: "links.resolve" }]
|
|
29778
|
+
}
|
|
29160
29779
|
},
|
|
29161
29780
|
loadMoreText: {
|
|
29162
29781
|
$bind: {
|
|
@@ -29209,7 +29828,7 @@ var eventCalendarLayout = [
|
|
|
29209
29828
|
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
29210
29829
|
},
|
|
29211
29830
|
buttonText: {
|
|
29212
|
-
$bind: { from: "content.buttonText", fallback: "Book
|
|
29831
|
+
$bind: { from: "content.buttonText", fallback: "Book" }
|
|
29213
29832
|
},
|
|
29214
29833
|
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
29215
29834
|
})
|
|
@@ -29283,15 +29902,18 @@ var eventCalendarAdditionalFields = [
|
|
|
29283
29902
|
{
|
|
29284
29903
|
id: "eventsPerPage",
|
|
29285
29904
|
type: "select",
|
|
29286
|
-
label: "Events per page
|
|
29287
|
-
description: "Number of events to load initially
|
|
29905
|
+
label: "Events per page",
|
|
29906
|
+
description: "Number of events to load initially",
|
|
29288
29907
|
required: false,
|
|
29289
29908
|
multiple: false,
|
|
29290
29909
|
defaultValue: "12",
|
|
29291
29910
|
options: [
|
|
29292
29911
|
{ value: "6", label: "6" },
|
|
29912
|
+
{ value: "10", label: "10" },
|
|
29293
29913
|
{ value: "12", label: "12" },
|
|
29294
|
-
{ value: "
|
|
29914
|
+
{ value: "20", label: "20" },
|
|
29915
|
+
{ value: "24", label: "24" },
|
|
29916
|
+
{ value: "30", label: "30" }
|
|
29295
29917
|
],
|
|
29296
29918
|
ui: {
|
|
29297
29919
|
intent: "display",
|
|
@@ -29299,33 +29921,42 @@ var eventCalendarAdditionalFields = [
|
|
|
29299
29921
|
}
|
|
29300
29922
|
},
|
|
29301
29923
|
{
|
|
29302
|
-
id: "
|
|
29924
|
+
id: "paginationMode",
|
|
29303
29925
|
type: "select",
|
|
29304
|
-
label: "
|
|
29305
|
-
description: "
|
|
29926
|
+
label: "More events",
|
|
29927
|
+
description: "How to access events beyond the initial list",
|
|
29306
29928
|
required: false,
|
|
29307
29929
|
multiple: false,
|
|
29308
|
-
defaultValue: "
|
|
29930
|
+
defaultValue: "loadMore",
|
|
29309
29931
|
options: [
|
|
29310
|
-
{ value: "
|
|
29311
|
-
{ value: "
|
|
29312
|
-
{ value: "30", label: "30" }
|
|
29932
|
+
{ value: "loadMore", label: "Load more button" },
|
|
29933
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
29313
29934
|
],
|
|
29314
29935
|
ui: {
|
|
29315
29936
|
intent: "display",
|
|
29316
|
-
visibleWhen: { field: "
|
|
29937
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
29938
|
+
}
|
|
29939
|
+
},
|
|
29940
|
+
{
|
|
29941
|
+
id: "seeAllUrl",
|
|
29942
|
+
type: "link",
|
|
29943
|
+
label: "See all destination",
|
|
29944
|
+
required: false,
|
|
29945
|
+
ui: {
|
|
29946
|
+
intent: "display",
|
|
29947
|
+
visibleWhen: { field: "paginationMode", equals: "seeAllLink" }
|
|
29317
29948
|
}
|
|
29318
29949
|
},
|
|
29319
29950
|
{
|
|
29320
29951
|
id: "loadMoreText",
|
|
29321
29952
|
type: "text",
|
|
29322
|
-
label: "
|
|
29323
|
-
description: "Text for the load more button",
|
|
29953
|
+
label: "CTA button text",
|
|
29954
|
+
description: "Text for the load more button or linked CTA",
|
|
29324
29955
|
required: false,
|
|
29325
29956
|
multiline: false,
|
|
29326
29957
|
defaultValue: "Load more events",
|
|
29327
29958
|
ui: {
|
|
29328
|
-
intent: "
|
|
29959
|
+
intent: "display",
|
|
29329
29960
|
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
29330
29961
|
}
|
|
29331
29962
|
},
|
|
@@ -29576,51 +30207,393 @@ var eventCalendarAdditionalFields = [
|
|
|
29576
30207
|
renderInHeader: false
|
|
29577
30208
|
})
|
|
29578
30209
|
];
|
|
29579
|
-
var eventCalendarVariants = {
|
|
29580
|
-
combined: eventCalendarLayout[0],
|
|
29581
|
-
month: eventCalendarLayout[0],
|
|
29582
|
-
week: eventCalendarLayout[0],
|
|
29583
|
-
timetable: eventCalendarLayout[0],
|
|
29584
|
-
list: eventCalendarLayout[0]
|
|
29585
|
-
};
|
|
29586
|
-
var eventCalendarDerivedFields = [
|
|
29587
|
-
{
|
|
29588
|
-
id: "displayMode",
|
|
29589
|
-
type: "select",
|
|
29590
|
-
required: false,
|
|
29591
|
-
multiple: false,
|
|
29592
|
-
options: [
|
|
29593
|
-
{ value: "combined" },
|
|
29594
|
-
{ value: "month" },
|
|
29595
|
-
{ value: "week" },
|
|
29596
|
-
{ value: "timetable" },
|
|
29597
|
-
{ value: "list" }
|
|
29598
|
-
]
|
|
29599
|
-
},
|
|
29600
|
-
{
|
|
29601
|
-
id: "listLayout",
|
|
29602
|
-
type: "select",
|
|
29603
|
-
required: false,
|
|
29604
|
-
multiple: false,
|
|
29605
|
-
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
29606
|
-
value: option.id
|
|
29607
|
-
}))
|
|
29608
|
-
}
|
|
29609
|
-
];
|
|
29610
|
-
var eventCalendarContentShape = {
|
|
29611
|
-
additionalFields: eventCalendarDerivedFields,
|
|
29612
|
-
variants: eventCalendarVariants,
|
|
29613
|
-
skipSectionStyles: true
|
|
29614
|
-
};
|
|
29615
|
-
var eventCalendarConfig = {
|
|
29616
|
-
id: "block.event-calendar",
|
|
29617
|
-
version: "3.6.0",
|
|
29618
|
-
title: "Event Calendar",
|
|
30210
|
+
var eventCalendarVariants = {
|
|
30211
|
+
combined: eventCalendarLayout[0],
|
|
30212
|
+
month: eventCalendarLayout[0],
|
|
30213
|
+
week: eventCalendarLayout[0],
|
|
30214
|
+
timetable: eventCalendarLayout[0],
|
|
30215
|
+
list: eventCalendarLayout[0]
|
|
30216
|
+
};
|
|
30217
|
+
var eventCalendarDerivedFields = [
|
|
30218
|
+
{
|
|
30219
|
+
id: "displayMode",
|
|
30220
|
+
type: "select",
|
|
30221
|
+
required: false,
|
|
30222
|
+
multiple: false,
|
|
30223
|
+
options: [
|
|
30224
|
+
{ value: "combined" },
|
|
30225
|
+
{ value: "month" },
|
|
30226
|
+
{ value: "week" },
|
|
30227
|
+
{ value: "timetable" },
|
|
30228
|
+
{ value: "list" }
|
|
30229
|
+
]
|
|
30230
|
+
},
|
|
30231
|
+
{
|
|
30232
|
+
id: "listLayout",
|
|
30233
|
+
type: "select",
|
|
30234
|
+
required: false,
|
|
30235
|
+
multiple: false,
|
|
30236
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
30237
|
+
value: option.id
|
|
30238
|
+
}))
|
|
30239
|
+
}
|
|
30240
|
+
];
|
|
30241
|
+
var eventCalendarContentShape = {
|
|
30242
|
+
additionalFields: eventCalendarDerivedFields,
|
|
30243
|
+
variants: eventCalendarVariants,
|
|
30244
|
+
skipSectionStyles: true
|
|
30245
|
+
};
|
|
30246
|
+
var eventCalendarConfig = {
|
|
30247
|
+
id: "block.event-calendar",
|
|
30248
|
+
version: "3.6.0",
|
|
30249
|
+
title: "Event Calendar",
|
|
30250
|
+
titleSource: "heading",
|
|
30251
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
30252
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
30253
|
+
skipSectionStyles: true,
|
|
30254
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
30255
|
+
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
30256
|
+
behaviours: {
|
|
30257
|
+
supportsThemeSwitching: true,
|
|
30258
|
+
inlineEditing: false,
|
|
30259
|
+
animation: false,
|
|
30260
|
+
paletteHidden: false
|
|
30261
|
+
},
|
|
30262
|
+
category: "interactive",
|
|
30263
|
+
tags: [
|
|
30264
|
+
"events",
|
|
30265
|
+
"calendar",
|
|
30266
|
+
"month",
|
|
30267
|
+
"week",
|
|
30268
|
+
"schedule",
|
|
30269
|
+
"interactive",
|
|
30270
|
+
"list",
|
|
30271
|
+
"filter"
|
|
30272
|
+
],
|
|
30273
|
+
icon: "CalendarDays",
|
|
30274
|
+
layout: eventCalendarLayout,
|
|
30275
|
+
variants: eventCalendarVariants,
|
|
30276
|
+
defaultVariant: "combined",
|
|
30277
|
+
variantOptions: {
|
|
30278
|
+
combined: { label: "Combined" },
|
|
30279
|
+
month: { label: "Month" },
|
|
30280
|
+
week: { label: "Week" },
|
|
30281
|
+
timetable: { label: "Timetable" },
|
|
30282
|
+
list: { label: "List" }
|
|
30283
|
+
}
|
|
30284
|
+
};
|
|
30285
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
30286
|
+
eventCalendarConfig,
|
|
30287
|
+
eventCalendarContentShape
|
|
30288
|
+
);
|
|
30289
|
+
var eventCalendarBlockDefinition = {
|
|
30290
|
+
manifest: eventCalendarManifest,
|
|
30291
|
+
normalizeContent: normalizeEventCalendarContent,
|
|
30292
|
+
dataSchemas: {
|
|
30293
|
+
events: publicEventsArraySchema.optional()
|
|
30294
|
+
},
|
|
30295
|
+
dataLoaders: {
|
|
30296
|
+
events: {
|
|
30297
|
+
endpoint: "listPublicEvents",
|
|
30298
|
+
params: {
|
|
30299
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
30300
|
+
// Pre-fetch events - limit varies by mode but default to high for calendar
|
|
30301
|
+
limit: 100,
|
|
30302
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
30303
|
+
detailLevel: "listing",
|
|
30304
|
+
readProfile: { $bind: { from: "content.variant", fallback: "listing-card" } },
|
|
30305
|
+
// Pass filter params if configured
|
|
30306
|
+
kind: { $bind: { from: "content.kind" } },
|
|
30307
|
+
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
30308
|
+
eventPresets: {
|
|
30309
|
+
$bind: {
|
|
30310
|
+
from: "content.filterEventPresets",
|
|
30311
|
+
transforms: [{ id: "value.csv" }]
|
|
30312
|
+
}
|
|
30313
|
+
},
|
|
30314
|
+
scheduleScope: { $bind: { from: "content.scheduleScope" } },
|
|
30315
|
+
categoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
30316
|
+
staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
30317
|
+
venueId: { $bind: { from: "content.filterVenueId" } }
|
|
30318
|
+
},
|
|
30319
|
+
mode: "server"
|
|
30320
|
+
}
|
|
30321
|
+
},
|
|
30322
|
+
runtime: eventCalendarBlockRuntime
|
|
30323
|
+
};
|
|
30324
|
+
|
|
30325
|
+
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
30326
|
+
import { z as z53 } from "zod";
|
|
30327
|
+
|
|
30328
|
+
// ../blocks/src/system/blocks/offerings-preview/model.ts
|
|
30329
|
+
var OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT = "3";
|
|
30330
|
+
var OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT = "Book";
|
|
30331
|
+
var OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE = "Nothing scheduled just yet.";
|
|
30332
|
+
var OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS = [
|
|
30333
|
+
{
|
|
30334
|
+
preset: "class",
|
|
30335
|
+
sourceKey: "eventPreset:class",
|
|
30336
|
+
dataKey: "classEvents",
|
|
30337
|
+
label: "Classes"
|
|
30338
|
+
},
|
|
30339
|
+
{
|
|
30340
|
+
preset: "workshop",
|
|
30341
|
+
sourceKey: "eventPreset:workshop",
|
|
30342
|
+
dataKey: "workshopEvents",
|
|
30343
|
+
label: "Workshops"
|
|
30344
|
+
},
|
|
30345
|
+
{
|
|
30346
|
+
preset: "retreat",
|
|
30347
|
+
sourceKey: "eventPreset:retreat",
|
|
30348
|
+
dataKey: "retreatEvents",
|
|
30349
|
+
label: "Retreats"
|
|
30350
|
+
},
|
|
30351
|
+
{
|
|
30352
|
+
preset: "performance",
|
|
30353
|
+
sourceKey: "eventPreset:performance",
|
|
30354
|
+
dataKey: "performanceEvents",
|
|
30355
|
+
label: "Performances"
|
|
30356
|
+
}
|
|
30357
|
+
];
|
|
30358
|
+
var OFFERINGS_PREVIEW_EVENT_PRESETS = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => definition.preset);
|
|
30359
|
+
var OFFERINGS_PREVIEW_AUTHORABLE_SOURCE_KEYS = [
|
|
30360
|
+
...OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => definition.sourceKey),
|
|
30361
|
+
"course"
|
|
30362
|
+
];
|
|
30363
|
+
var eventPresetSourceByKey = Object.fromEntries(
|
|
30364
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
30365
|
+
definition.sourceKey,
|
|
30366
|
+
{ kind: "eventPreset", preset: definition.preset }
|
|
30367
|
+
])
|
|
30368
|
+
);
|
|
30369
|
+
|
|
30370
|
+
// ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
30371
|
+
var publicRouteCandidatesSchema = z53.object({
|
|
30372
|
+
routes: z53.array(z53.object({
|
|
30373
|
+
entityId: z53.string(),
|
|
30374
|
+
path: z53.string(),
|
|
30375
|
+
title: z53.string(),
|
|
30376
|
+
kind: z53.enum(["page", "content"]),
|
|
30377
|
+
contentTypeKey: z53.string().nullable().optional()
|
|
30378
|
+
}))
|
|
30379
|
+
});
|
|
30380
|
+
var groupOverrideFields = [
|
|
30381
|
+
{
|
|
30382
|
+
id: "sourceKey",
|
|
30383
|
+
type: "select",
|
|
30384
|
+
label: "Offering",
|
|
30385
|
+
required: true,
|
|
30386
|
+
multiple: false,
|
|
30387
|
+
options: [
|
|
30388
|
+
...OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => ({
|
|
30389
|
+
value: definition.sourceKey,
|
|
30390
|
+
label: definition.label
|
|
30391
|
+
})),
|
|
30392
|
+
{ value: "course", label: "Courses" }
|
|
30393
|
+
],
|
|
30394
|
+
ui: { intent: "behavior" }
|
|
30395
|
+
},
|
|
30396
|
+
{
|
|
30397
|
+
id: "title",
|
|
30398
|
+
type: "text",
|
|
30399
|
+
label: "Title",
|
|
30400
|
+
required: false,
|
|
30401
|
+
multiline: false,
|
|
30402
|
+
maxLength: 80,
|
|
30403
|
+
ui: { intent: "content" }
|
|
30404
|
+
},
|
|
30405
|
+
{
|
|
30406
|
+
id: "intro",
|
|
30407
|
+
type: "text",
|
|
30408
|
+
label: "Intro",
|
|
30409
|
+
required: false,
|
|
30410
|
+
multiline: true,
|
|
30411
|
+
maxLength: 220,
|
|
30412
|
+
ui: { intent: "content" }
|
|
30413
|
+
},
|
|
30414
|
+
{
|
|
30415
|
+
id: "hidden",
|
|
30416
|
+
type: "boolean",
|
|
30417
|
+
label: "Hide this card",
|
|
30418
|
+
required: false,
|
|
30419
|
+
defaultValue: false,
|
|
30420
|
+
ui: { intent: "display" }
|
|
30421
|
+
},
|
|
30422
|
+
{
|
|
30423
|
+
id: "presentation",
|
|
30424
|
+
type: "select",
|
|
30425
|
+
label: "Items",
|
|
30426
|
+
required: false,
|
|
30427
|
+
multiple: false,
|
|
30428
|
+
defaultValue: "compact-list",
|
|
30429
|
+
options: [
|
|
30430
|
+
{ value: "compact-list", label: "Compact list" },
|
|
30431
|
+
{ value: "single-card", label: "Single card" }
|
|
30432
|
+
],
|
|
30433
|
+
ui: { intent: "display" }
|
|
30434
|
+
},
|
|
30435
|
+
{
|
|
30436
|
+
id: "ctaMode",
|
|
30437
|
+
type: "select",
|
|
30438
|
+
label: "Card link",
|
|
30439
|
+
required: false,
|
|
30440
|
+
multiple: false,
|
|
30441
|
+
defaultValue: "auto",
|
|
30442
|
+
options: [
|
|
30443
|
+
{ value: "auto", label: "Auto" },
|
|
30444
|
+
{ value: "custom", label: "Custom link" },
|
|
30445
|
+
{ value: "hidden", label: "Hidden" }
|
|
30446
|
+
],
|
|
30447
|
+
ui: { intent: "behavior" }
|
|
30448
|
+
},
|
|
30449
|
+
{
|
|
30450
|
+
id: "ctaLabel",
|
|
30451
|
+
type: "text",
|
|
30452
|
+
label: "Card link label",
|
|
30453
|
+
required: false,
|
|
30454
|
+
multiline: false,
|
|
30455
|
+
maxLength: 40,
|
|
30456
|
+
ui: { intent: "content" }
|
|
30457
|
+
},
|
|
30458
|
+
{
|
|
30459
|
+
id: "ctaHref",
|
|
30460
|
+
type: "text",
|
|
30461
|
+
label: "Custom card link",
|
|
30462
|
+
required: false,
|
|
30463
|
+
multiline: false,
|
|
30464
|
+
maxLength: 160,
|
|
30465
|
+
ui: { intent: "behavior" }
|
|
30466
|
+
}
|
|
30467
|
+
];
|
|
30468
|
+
var offeringsPreviewFields = [
|
|
30469
|
+
...sectionHeaderFields("Offerings"),
|
|
30470
|
+
{
|
|
30471
|
+
id: "itemLimit",
|
|
30472
|
+
type: "select",
|
|
30473
|
+
label: "Items per card",
|
|
30474
|
+
required: false,
|
|
30475
|
+
multiple: false,
|
|
30476
|
+
defaultValue: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT,
|
|
30477
|
+
options: [
|
|
30478
|
+
{ value: "1", label: "1 item" },
|
|
30479
|
+
{ value: "2", label: "2 items" },
|
|
30480
|
+
{ value: "3", label: "3 items" },
|
|
30481
|
+
{ value: "4", label: "4 items" },
|
|
30482
|
+
{ value: "5", label: "5 items" },
|
|
30483
|
+
{ value: "6", label: "6 items" }
|
|
30484
|
+
],
|
|
30485
|
+
ui: { intent: "display" }
|
|
30486
|
+
},
|
|
30487
|
+
{
|
|
30488
|
+
id: "groupOverrides",
|
|
30489
|
+
type: "repeater",
|
|
30490
|
+
label: "Card overrides",
|
|
30491
|
+
description: "Edit card copy, order, or visibility for enabled offering presets.",
|
|
30492
|
+
required: false,
|
|
30493
|
+
maxItems: 5,
|
|
30494
|
+
itemLabel: "Offering card",
|
|
30495
|
+
itemLabelSource: "title",
|
|
30496
|
+
allowConversion: false,
|
|
30497
|
+
ui: { intent: "content" },
|
|
30498
|
+
schema: { fields: groupOverrideFields }
|
|
30499
|
+
},
|
|
30500
|
+
{
|
|
30501
|
+
id: "buttonVariant",
|
|
30502
|
+
type: "select",
|
|
30503
|
+
label: "Item button style",
|
|
30504
|
+
required: false,
|
|
30505
|
+
multiple: false,
|
|
30506
|
+
defaultValue: "primary",
|
|
30507
|
+
options: [
|
|
30508
|
+
{ value: "primary", label: "Primary" },
|
|
30509
|
+
{ value: "secondary", label: "Secondary" },
|
|
30510
|
+
{ value: "outline", label: "Outline" },
|
|
30511
|
+
{ value: "link", label: "Link" }
|
|
30512
|
+
],
|
|
30513
|
+
ui: { intent: "display" }
|
|
30514
|
+
},
|
|
30515
|
+
{
|
|
30516
|
+
id: "buttonText",
|
|
30517
|
+
type: "text",
|
|
30518
|
+
label: "Item button text",
|
|
30519
|
+
required: false,
|
|
30520
|
+
multiline: false,
|
|
30521
|
+
defaultValue: OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT,
|
|
30522
|
+
maxLength: 40,
|
|
30523
|
+
ui: { intent: "content" }
|
|
30524
|
+
},
|
|
30525
|
+
{
|
|
30526
|
+
id: "emptyMessage",
|
|
30527
|
+
type: "text",
|
|
30528
|
+
label: "Empty card message",
|
|
30529
|
+
required: false,
|
|
30530
|
+
multiline: false,
|
|
30531
|
+
defaultValue: OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE,
|
|
30532
|
+
maxLength: 120,
|
|
30533
|
+
ui: { intent: "content" }
|
|
30534
|
+
},
|
|
30535
|
+
cardStylesField({
|
|
30536
|
+
id: "_cardStyles",
|
|
30537
|
+
label: "Offering card styles"
|
|
30538
|
+
}),
|
|
30539
|
+
sectionStylesField({
|
|
30540
|
+
id: "_sectionStyles",
|
|
30541
|
+
label: "Section styles",
|
|
30542
|
+
renderInHeader: false
|
|
30543
|
+
})
|
|
30544
|
+
];
|
|
30545
|
+
var offeringsPreviewEventDataBindings = Object.fromEntries(
|
|
30546
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
30547
|
+
definition.dataKey,
|
|
30548
|
+
{ $bind: { from: `data.${definition.dataKey}` } }
|
|
30549
|
+
])
|
|
30550
|
+
);
|
|
30551
|
+
var offeringsPreviewLayout = [
|
|
30552
|
+
styledSection({
|
|
30553
|
+
children: sectionContainer([
|
|
30554
|
+
text(
|
|
30555
|
+
{ as: "h2", className: "rb-text-center" },
|
|
30556
|
+
bind("content.heading"),
|
|
30557
|
+
when("content.heading")
|
|
30558
|
+
),
|
|
30559
|
+
richText(
|
|
30560
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
30561
|
+
bind("content.description"),
|
|
30562
|
+
when("content.description")
|
|
30563
|
+
),
|
|
30564
|
+
el("offerings-preview", {
|
|
30565
|
+
bookingOfferingPresets: {
|
|
30566
|
+
$bind: { from: "$root.bookingOfferingPresets", fallback: [] }
|
|
30567
|
+
},
|
|
30568
|
+
groupOverrides: { $bind: { from: "content.groupOverrides", fallback: [] } },
|
|
30569
|
+
cardStyles: { $bind: { from: "content._cardStyles" } },
|
|
30570
|
+
itemLimit: { $bind: { from: "content.itemLimit", fallback: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT } },
|
|
30571
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
30572
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT } },
|
|
30573
|
+
emptyMessage: {
|
|
30574
|
+
$bind: {
|
|
30575
|
+
from: "content.emptyMessage",
|
|
30576
|
+
fallback: OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE
|
|
30577
|
+
}
|
|
30578
|
+
},
|
|
30579
|
+
previewStage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
30580
|
+
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
30581
|
+
courses: { $bind: { from: "data.courses" } },
|
|
30582
|
+
...offeringsPreviewEventDataBindings
|
|
30583
|
+
})
|
|
30584
|
+
], { gap: "lg" }),
|
|
30585
|
+
baseClass: "",
|
|
30586
|
+
spacing: "comfortable"
|
|
30587
|
+
})
|
|
30588
|
+
];
|
|
30589
|
+
var offeringsPreviewConfig = {
|
|
30590
|
+
id: "block.offerings-preview",
|
|
30591
|
+
version: "1.0.0",
|
|
30592
|
+
title: "Offerings Preview",
|
|
29619
30593
|
titleSource: "heading",
|
|
29620
|
-
description: "
|
|
29621
|
-
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
30594
|
+
description: "Show enabled offering presets as compact cards",
|
|
29622
30595
|
skipSectionStyles: true,
|
|
29623
|
-
additionalFields:
|
|
30596
|
+
additionalFields: offeringsPreviewFields,
|
|
29624
30597
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
29625
30598
|
behaviours: {
|
|
29626
30599
|
supportsThemeSwitching: true,
|
|
@@ -29628,71 +30601,68 @@ var eventCalendarConfig = {
|
|
|
29628
30601
|
animation: false,
|
|
29629
30602
|
paletteHidden: false
|
|
29630
30603
|
},
|
|
29631
|
-
category: "
|
|
29632
|
-
tags: [
|
|
29633
|
-
|
|
29634
|
-
|
|
29635
|
-
"month",
|
|
29636
|
-
"week",
|
|
29637
|
-
"schedule",
|
|
29638
|
-
"interactive",
|
|
29639
|
-
"list",
|
|
29640
|
-
"filter"
|
|
29641
|
-
],
|
|
29642
|
-
icon: "CalendarDays",
|
|
29643
|
-
layout: eventCalendarLayout,
|
|
29644
|
-
variants: eventCalendarVariants,
|
|
29645
|
-
defaultVariant: "combined",
|
|
29646
|
-
variantOptions: {
|
|
29647
|
-
combined: { label: "Combined" },
|
|
29648
|
-
month: { label: "Month" },
|
|
29649
|
-
week: { label: "Week" },
|
|
29650
|
-
timetable: { label: "Timetable" },
|
|
29651
|
-
list: { label: "List" }
|
|
29652
|
-
}
|
|
30604
|
+
category: "content",
|
|
30605
|
+
tags: ["offerings", "events", "classes", "workshops", "retreats"],
|
|
30606
|
+
icon: "PanelsTopLeft",
|
|
30607
|
+
layout: offeringsPreviewLayout
|
|
29653
30608
|
};
|
|
29654
|
-
var
|
|
29655
|
-
|
|
29656
|
-
|
|
30609
|
+
var offeringsPreviewManifest = createBlockManifest(offeringsPreviewConfig);
|
|
30610
|
+
var optionalPublicEventsArraySchema = publicEventsArraySchema.optional();
|
|
30611
|
+
var offeringsPreviewEventDataSchemas = Object.fromEntries(
|
|
30612
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
30613
|
+
definition.dataKey,
|
|
30614
|
+
optionalPublicEventsArraySchema
|
|
30615
|
+
])
|
|
29657
30616
|
);
|
|
29658
|
-
var
|
|
29659
|
-
|
|
29660
|
-
|
|
30617
|
+
var offeringsPreviewEventDataLoaders = Object.fromEntries(
|
|
30618
|
+
OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [
|
|
30619
|
+
definition.dataKey,
|
|
30620
|
+
eventPresetLoader(definition.preset)
|
|
30621
|
+
])
|
|
30622
|
+
);
|
|
30623
|
+
var offeringsPreviewBlockDefinition = {
|
|
30624
|
+
manifest: offeringsPreviewManifest,
|
|
29661
30625
|
dataSchemas: {
|
|
29662
|
-
|
|
30626
|
+
...offeringsPreviewEventDataSchemas,
|
|
30627
|
+
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
30628
|
+
courses: publicCoursesArraySchema.optional()
|
|
29663
30629
|
},
|
|
29664
30630
|
dataLoaders: {
|
|
29665
|
-
|
|
29666
|
-
|
|
30631
|
+
...offeringsPreviewEventDataLoaders,
|
|
30632
|
+
routeCandidates: {
|
|
30633
|
+
endpoint: "listPublicRouteCandidates",
|
|
30634
|
+
params: {},
|
|
30635
|
+
mode: "server"
|
|
30636
|
+
},
|
|
30637
|
+
courses: {
|
|
30638
|
+
endpoint: "listPublicCourses",
|
|
29667
30639
|
params: {
|
|
29668
30640
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
29669
|
-
|
|
29670
|
-
|
|
29671
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
29672
|
-
detailLevel: "listing",
|
|
29673
|
-
readProfile: { $bind: { from: "content.variant", fallback: "listing-card" } },
|
|
29674
|
-
// Pass filter params if configured
|
|
29675
|
-
kind: { $bind: { from: "content.kind" } },
|
|
29676
|
-
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
29677
|
-
eventPresets: {
|
|
29678
|
-
$bind: {
|
|
29679
|
-
from: "content.filterEventPresets",
|
|
29680
|
-
transforms: [{ id: "value.csv" }]
|
|
29681
|
-
}
|
|
29682
|
-
},
|
|
29683
|
-
scheduleScope: { $bind: { from: "content.scheduleScope" } },
|
|
29684
|
-
categoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
29685
|
-
staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
29686
|
-
venueId: { $bind: { from: "content.filterVenueId" } }
|
|
30641
|
+
limit: { $bind: { from: "content.itemLimit", fallback: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT } },
|
|
30642
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
|
|
29687
30643
|
},
|
|
29688
30644
|
mode: "server"
|
|
29689
30645
|
}
|
|
29690
|
-
}
|
|
29691
|
-
runtime: eventCalendarBlockRuntime
|
|
30646
|
+
}
|
|
29692
30647
|
};
|
|
30648
|
+
function eventPresetLoader(preset2) {
|
|
30649
|
+
return {
|
|
30650
|
+
endpoint: "listPublicEvents",
|
|
30651
|
+
params: {
|
|
30652
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
30653
|
+
limit: { $bind: { from: "content.itemLimit", fallback: OFFERINGS_PREVIEW_DEFAULT_ITEM_LIMIT } },
|
|
30654
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
30655
|
+
detailLevel: "listing",
|
|
30656
|
+
readProfile: "listing-card",
|
|
30657
|
+
kind: "events",
|
|
30658
|
+
eventPresets: preset2
|
|
30659
|
+
},
|
|
30660
|
+
mode: "server"
|
|
30661
|
+
};
|
|
30662
|
+
}
|
|
29693
30663
|
|
|
29694
30664
|
// ../blocks/src/system/blocks/embed.ts
|
|
29695
|
-
import { z as
|
|
30665
|
+
import { z as z54 } from "zod";
|
|
29696
30666
|
var embedFields = [
|
|
29697
30667
|
// Section heading
|
|
29698
30668
|
parseFieldDefinition({
|
|
@@ -29827,7 +30797,7 @@ var embedFields = [
|
|
|
29827
30797
|
ui: { intent: "display" }
|
|
29828
30798
|
})
|
|
29829
30799
|
];
|
|
29830
|
-
var
|
|
30800
|
+
var embedLayout2 = styledSection({
|
|
29831
30801
|
children: sectionContainer([
|
|
29832
30802
|
// Heading
|
|
29833
30803
|
text(
|
|
@@ -29915,7 +30885,7 @@ var embedManifest = createBlockManifest({
|
|
|
29915
30885
|
category: "content",
|
|
29916
30886
|
titleSource: "heading",
|
|
29917
30887
|
additionalFields: embedFields,
|
|
29918
|
-
layout:
|
|
30888
|
+
layout: embedLayout2,
|
|
29919
30889
|
description: "Embed content entries from any content type. Sites provide custom layouts via block overrides.",
|
|
29920
30890
|
tags: ["embed", "content", "dynamic", "collection", "entries", "listing"],
|
|
29921
30891
|
icon: "LayoutList",
|
|
@@ -29923,18 +30893,18 @@ var embedManifest = createBlockManifest({
|
|
|
29923
30893
|
spacing: "lg"
|
|
29924
30894
|
}
|
|
29925
30895
|
});
|
|
29926
|
-
var embedEntrySchema =
|
|
29927
|
-
id:
|
|
29928
|
-
identifier:
|
|
29929
|
-
title:
|
|
29930
|
-
slug:
|
|
29931
|
-
content:
|
|
29932
|
-
publishedAt:
|
|
30896
|
+
var embedEntrySchema = z54.object({
|
|
30897
|
+
id: z54.string(),
|
|
30898
|
+
identifier: z54.string(),
|
|
30899
|
+
title: z54.string(),
|
|
30900
|
+
slug: z54.string().nullable().optional(),
|
|
30901
|
+
content: z54.record(z54.string(), z54.unknown()).optional(),
|
|
30902
|
+
publishedAt: z54.string().nullable().optional()
|
|
29933
30903
|
});
|
|
29934
30904
|
var embedBlockDefinition = {
|
|
29935
30905
|
manifest: embedManifest,
|
|
29936
30906
|
dataSchemas: {
|
|
29937
|
-
entries:
|
|
30907
|
+
entries: z54.array(embedEntrySchema).optional()
|
|
29938
30908
|
},
|
|
29939
30909
|
dataLoaders: {
|
|
29940
30910
|
entries: {
|
|
@@ -31109,58 +32079,58 @@ var fileDownloadBlockDefinition = {
|
|
|
31109
32079
|
};
|
|
31110
32080
|
|
|
31111
32081
|
// ../blocks/src/system/blocks/shop.ts
|
|
31112
|
-
import { z as
|
|
32082
|
+
import { z as z58 } from "zod";
|
|
31113
32083
|
|
|
31114
32084
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
31115
|
-
import { z as
|
|
32085
|
+
import { z as z57 } from "zod";
|
|
31116
32086
|
|
|
31117
32087
|
// ../blocks/src/system/blocks/products/shared.ts
|
|
31118
|
-
import { z as
|
|
31119
|
-
var publicProductVariantSchema =
|
|
31120
|
-
id:
|
|
31121
|
-
title:
|
|
31122
|
-
sku:
|
|
31123
|
-
priceCents:
|
|
31124
|
-
stockQuantity:
|
|
31125
|
-
soldOut:
|
|
31126
|
-
});
|
|
31127
|
-
var publicProductSchema =
|
|
31128
|
-
id:
|
|
31129
|
-
contentEntryId:
|
|
31130
|
-
title:
|
|
31131
|
-
slug:
|
|
31132
|
-
path:
|
|
31133
|
-
status:
|
|
31134
|
-
priceCents:
|
|
31135
|
-
currency:
|
|
31136
|
-
productType:
|
|
31137
|
-
requiresShipping:
|
|
31138
|
-
hasVariants:
|
|
31139
|
-
trackInventory:
|
|
31140
|
-
soldOut:
|
|
31141
|
-
category:
|
|
31142
|
-
id:
|
|
31143
|
-
name:
|
|
31144
|
-
slug:
|
|
32088
|
+
import { z as z55 } from "zod";
|
|
32089
|
+
var publicProductVariantSchema = z55.object({
|
|
32090
|
+
id: z55.string(),
|
|
32091
|
+
title: z55.string(),
|
|
32092
|
+
sku: z55.string().nullable(),
|
|
32093
|
+
priceCents: z55.number(),
|
|
32094
|
+
stockQuantity: z55.number().nullable(),
|
|
32095
|
+
soldOut: z55.boolean()
|
|
32096
|
+
});
|
|
32097
|
+
var publicProductSchema = z55.object({
|
|
32098
|
+
id: z55.string(),
|
|
32099
|
+
contentEntryId: z55.string().nullable(),
|
|
32100
|
+
title: z55.string(),
|
|
32101
|
+
slug: z55.string(),
|
|
32102
|
+
path: z55.string().nullable(),
|
|
32103
|
+
status: z55.enum(["draft", "active"]),
|
|
32104
|
+
priceCents: z55.number(),
|
|
32105
|
+
currency: z55.string(),
|
|
32106
|
+
productType: z55.enum(["physical", "digital"]),
|
|
32107
|
+
requiresShipping: z55.boolean(),
|
|
32108
|
+
hasVariants: z55.boolean(),
|
|
32109
|
+
trackInventory: z55.boolean(),
|
|
32110
|
+
soldOut: z55.boolean(),
|
|
32111
|
+
category: z55.object({
|
|
32112
|
+
id: z55.string(),
|
|
32113
|
+
name: z55.string(),
|
|
32114
|
+
slug: z55.string()
|
|
31145
32115
|
}).nullable(),
|
|
31146
|
-
summary:
|
|
31147
|
-
badges:
|
|
31148
|
-
ctaLabel:
|
|
31149
|
-
body:
|
|
31150
|
-
gallery:
|
|
31151
|
-
|
|
31152
|
-
url:
|
|
31153
|
-
alt:
|
|
32116
|
+
summary: z55.string().nullable(),
|
|
32117
|
+
badges: z55.array(z55.string()),
|
|
32118
|
+
ctaLabel: z55.string().nullable(),
|
|
32119
|
+
body: z55.unknown().nullable(),
|
|
32120
|
+
gallery: z55.array(
|
|
32121
|
+
z55.object({
|
|
32122
|
+
url: z55.string(),
|
|
32123
|
+
alt: z55.string().nullable()
|
|
31154
32124
|
})
|
|
31155
32125
|
),
|
|
31156
|
-
variants:
|
|
32126
|
+
variants: z55.array(publicProductVariantSchema)
|
|
31157
32127
|
});
|
|
31158
|
-
var publicProductsResponseSchema =
|
|
31159
|
-
products:
|
|
32128
|
+
var publicProductsResponseSchema = z55.object({
|
|
32129
|
+
products: z55.array(publicProductSchema)
|
|
31160
32130
|
});
|
|
31161
32131
|
|
|
31162
32132
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
31163
|
-
function
|
|
32133
|
+
function assertNever3(value) {
|
|
31164
32134
|
throw new Error(`Unhandled credit product case: ${String(value)}`);
|
|
31165
32135
|
}
|
|
31166
32136
|
function useCasesFromModules(modules) {
|
|
@@ -31193,7 +32163,7 @@ function getCreditProductCreditUnit(useCase) {
|
|
|
31193
32163
|
perCreditSuffix: "credit"
|
|
31194
32164
|
};
|
|
31195
32165
|
default:
|
|
31196
|
-
return
|
|
32166
|
+
return assertNever3(useCase);
|
|
31197
32167
|
}
|
|
31198
32168
|
}
|
|
31199
32169
|
function deriveCreditProductLabels(products, options = {}) {
|
|
@@ -31220,27 +32190,27 @@ function deriveCreditProductLabels(products, options = {}) {
|
|
|
31220
32190
|
}
|
|
31221
32191
|
|
|
31222
32192
|
// ../blocks/src/system/runtime/nodes/shop-commerce.shared.ts
|
|
31223
|
-
import { z as
|
|
31224
|
-
var storedProductCartItemSchema =
|
|
31225
|
-
kind:
|
|
31226
|
-
productId:
|
|
31227
|
-
productCategoryId:
|
|
31228
|
-
variantId:
|
|
31229
|
-
title:
|
|
31230
|
-
variantTitle:
|
|
31231
|
-
quantity:
|
|
31232
|
-
unitPriceCents:
|
|
31233
|
-
currency:
|
|
31234
|
-
imageUrl:
|
|
31235
|
-
soldOut:
|
|
31236
|
-
});
|
|
31237
|
-
var storedPassCartItemSchema =
|
|
31238
|
-
kind:
|
|
31239
|
-
passId:
|
|
31240
|
-
title:
|
|
31241
|
-
quantity:
|
|
31242
|
-
unitPriceCents:
|
|
31243
|
-
currency:
|
|
32193
|
+
import { z as z56 } from "zod";
|
|
32194
|
+
var storedProductCartItemSchema = z56.object({
|
|
32195
|
+
kind: z56.literal("product"),
|
|
32196
|
+
productId: z56.string().min(1),
|
|
32197
|
+
productCategoryId: z56.string().min(1).optional().nullable(),
|
|
32198
|
+
variantId: z56.string().min(1).optional().nullable(),
|
|
32199
|
+
title: z56.string().min(1),
|
|
32200
|
+
variantTitle: z56.string().optional().nullable(),
|
|
32201
|
+
quantity: z56.number().finite(),
|
|
32202
|
+
unitPriceCents: z56.number().finite(),
|
|
32203
|
+
currency: z56.string().min(1),
|
|
32204
|
+
imageUrl: z56.string().optional().nullable(),
|
|
32205
|
+
soldOut: z56.boolean().optional()
|
|
32206
|
+
});
|
|
32207
|
+
var storedPassCartItemSchema = z56.object({
|
|
32208
|
+
kind: z56.literal("pass"),
|
|
32209
|
+
passId: z56.string().min(1),
|
|
32210
|
+
title: z56.string().min(1),
|
|
32211
|
+
quantity: z56.number().finite().optional(),
|
|
32212
|
+
unitPriceCents: z56.number().finite(),
|
|
32213
|
+
currency: z56.string().min(1)
|
|
31244
32214
|
});
|
|
31245
32215
|
function deriveCommerceCheckoutState(state) {
|
|
31246
32216
|
if (state.items.length === 0) {
|
|
@@ -31479,219 +32449,219 @@ function formatValidity(days) {
|
|
|
31479
32449
|
}
|
|
31480
32450
|
|
|
31481
32451
|
// ../blocks/src/system/runtime/nodes/shop.interactive.ts
|
|
31482
|
-
var shopModeSchema =
|
|
31483
|
-
var contentEntrySchema3 =
|
|
31484
|
-
id:
|
|
31485
|
-
slug:
|
|
32452
|
+
var shopModeSchema = z57.enum(["passes-memberships", "product-list", "product-detail", "cart", "checkout"]);
|
|
32453
|
+
var contentEntrySchema3 = z57.object({
|
|
32454
|
+
id: z57.string().nullable().optional(),
|
|
32455
|
+
slug: z57.string().nullable().optional()
|
|
31486
32456
|
}).nullable();
|
|
31487
|
-
var shopSourceSchema =
|
|
31488
|
-
className:
|
|
32457
|
+
var shopSourceSchema = z57.object({
|
|
32458
|
+
className: z57.string().nullable().optional(),
|
|
31489
32459
|
mode: shopModeSchema.optional(),
|
|
31490
|
-
heading:
|
|
31491
|
-
productSlug:
|
|
31492
|
-
showPasses:
|
|
31493
|
-
showMemberships:
|
|
31494
|
-
layout:
|
|
31495
|
-
columns:
|
|
31496
|
-
showDescriptions:
|
|
31497
|
-
showSummary:
|
|
31498
|
-
showBody:
|
|
31499
|
-
showBadges:
|
|
31500
|
-
showPrices:
|
|
31501
|
-
showValidityPeriod:
|
|
31502
|
-
showPricePerCredit:
|
|
31503
|
-
passesHeading:
|
|
31504
|
-
membershipsHeading:
|
|
31505
|
-
buyButtonText:
|
|
31506
|
-
addButtonText:
|
|
31507
|
-
passPurchaseMode:
|
|
31508
|
-
subscribeButtonText:
|
|
31509
|
-
emptyStateText:
|
|
31510
|
-
checkoutButtonText:
|
|
31511
|
-
clearButtonText:
|
|
31512
|
-
submitButtonText:
|
|
32460
|
+
heading: z57.string().nullable().optional(),
|
|
32461
|
+
productSlug: z57.string().nullable().optional(),
|
|
32462
|
+
showPasses: z57.boolean().optional(),
|
|
32463
|
+
showMemberships: z57.boolean().optional(),
|
|
32464
|
+
layout: z57.enum(["grid", "list"]).optional(),
|
|
32465
|
+
columns: z57.string().optional(),
|
|
32466
|
+
showDescriptions: z57.boolean().optional(),
|
|
32467
|
+
showSummary: z57.boolean().optional(),
|
|
32468
|
+
showBody: z57.boolean().optional(),
|
|
32469
|
+
showBadges: z57.boolean().optional(),
|
|
32470
|
+
showPrices: z57.boolean().optional(),
|
|
32471
|
+
showValidityPeriod: z57.boolean().optional(),
|
|
32472
|
+
showPricePerCredit: z57.boolean().nullable().optional(),
|
|
32473
|
+
passesHeading: z57.string().optional(),
|
|
32474
|
+
membershipsHeading: z57.string().optional(),
|
|
32475
|
+
buyButtonText: z57.string().optional(),
|
|
32476
|
+
addButtonText: z57.string().optional(),
|
|
32477
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"]).optional(),
|
|
32478
|
+
subscribeButtonText: z57.string().optional(),
|
|
32479
|
+
emptyStateText: z57.string().optional(),
|
|
32480
|
+
checkoutButtonText: z57.string().optional(),
|
|
32481
|
+
clearButtonText: z57.string().optional(),
|
|
32482
|
+
submitButtonText: z57.string().optional(),
|
|
31513
32483
|
contentEntry: contentEntrySchema3.optional(),
|
|
31514
|
-
passes:
|
|
31515
|
-
memberships:
|
|
31516
|
-
products:
|
|
31517
|
-
siteId:
|
|
31518
|
-
apiBaseUrl:
|
|
32484
|
+
passes: z57.array(publicPassProductSchema).nullable().optional(),
|
|
32485
|
+
memberships: z57.array(publicMembershipProductSchema).nullable().optional(),
|
|
32486
|
+
products: z57.array(publicProductSchema).nullable().optional(),
|
|
32487
|
+
siteId: z57.string().optional(),
|
|
32488
|
+
apiBaseUrl: z57.string().optional(),
|
|
31519
32489
|
stage: previewStageSchema.optional()
|
|
31520
32490
|
});
|
|
31521
|
-
var productVariantOptionDisplaySchema =
|
|
31522
|
-
id:
|
|
31523
|
-
label:
|
|
31524
|
-
soldOut:
|
|
31525
|
-
});
|
|
31526
|
-
var productCardDisplaySchema =
|
|
31527
|
-
productId:
|
|
31528
|
-
title:
|
|
31529
|
-
path:
|
|
31530
|
-
summary:
|
|
31531
|
-
priceLabel:
|
|
31532
|
-
badges:
|
|
31533
|
-
image:
|
|
31534
|
-
url:
|
|
31535
|
-
alt:
|
|
32491
|
+
var productVariantOptionDisplaySchema = z57.object({
|
|
32492
|
+
id: z57.string(),
|
|
32493
|
+
label: z57.string(),
|
|
32494
|
+
soldOut: z57.boolean()
|
|
32495
|
+
});
|
|
32496
|
+
var productCardDisplaySchema = z57.object({
|
|
32497
|
+
productId: z57.string(),
|
|
32498
|
+
title: z57.string(),
|
|
32499
|
+
path: z57.string().nullable(),
|
|
32500
|
+
summary: z57.string().nullable(),
|
|
32501
|
+
priceLabel: z57.string().nullable(),
|
|
32502
|
+
badges: z57.array(z57.string()),
|
|
32503
|
+
image: z57.object({
|
|
32504
|
+
url: z57.string(),
|
|
32505
|
+
alt: z57.string().nullable()
|
|
31536
32506
|
}).nullable(),
|
|
31537
|
-
variantOptions:
|
|
31538
|
-
selectedVariantId:
|
|
31539
|
-
selectionLabel:
|
|
31540
|
-
actionLabel:
|
|
31541
|
-
soldOut:
|
|
31542
|
-
});
|
|
31543
|
-
var productListDisplaySchema =
|
|
31544
|
-
kind:
|
|
31545
|
-
state:
|
|
31546
|
-
heading:
|
|
31547
|
-
className:
|
|
31548
|
-
layout:
|
|
31549
|
-
columns:
|
|
31550
|
-
emptyMessage:
|
|
31551
|
-
cards:
|
|
31552
|
-
});
|
|
31553
|
-
var productDetailDisplaySchema =
|
|
31554
|
-
|
|
31555
|
-
kind:
|
|
31556
|
-
state:
|
|
31557
|
-
heading:
|
|
31558
|
-
className:
|
|
31559
|
-
emptyMessage:
|
|
32507
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
32508
|
+
selectedVariantId: z57.string().nullable(),
|
|
32509
|
+
selectionLabel: z57.string(),
|
|
32510
|
+
actionLabel: z57.string(),
|
|
32511
|
+
soldOut: z57.boolean()
|
|
32512
|
+
});
|
|
32513
|
+
var productListDisplaySchema = z57.object({
|
|
32514
|
+
kind: z57.literal("product-list"),
|
|
32515
|
+
state: z57.enum(["empty", "ready"]),
|
|
32516
|
+
heading: z57.string().nullable(),
|
|
32517
|
+
className: z57.string().nullable(),
|
|
32518
|
+
layout: z57.enum(["grid", "list"]),
|
|
32519
|
+
columns: z57.string(),
|
|
32520
|
+
emptyMessage: z57.string(),
|
|
32521
|
+
cards: z57.array(productCardDisplaySchema)
|
|
32522
|
+
});
|
|
32523
|
+
var productDetailDisplaySchema = z57.discriminatedUnion("state", [
|
|
32524
|
+
z57.object({
|
|
32525
|
+
kind: z57.literal("product-detail"),
|
|
32526
|
+
state: z57.literal("empty"),
|
|
32527
|
+
heading: z57.string().nullable(),
|
|
32528
|
+
className: z57.string().nullable(),
|
|
32529
|
+
emptyMessage: z57.string()
|
|
31560
32530
|
}),
|
|
31561
|
-
|
|
31562
|
-
kind:
|
|
31563
|
-
state:
|
|
31564
|
-
heading:
|
|
31565
|
-
className:
|
|
31566
|
-
title:
|
|
31567
|
-
priceLabel:
|
|
31568
|
-
summary:
|
|
31569
|
-
badges:
|
|
31570
|
-
categoryLabel:
|
|
31571
|
-
gallery:
|
|
31572
|
-
url:
|
|
31573
|
-
alt:
|
|
32531
|
+
z57.object({
|
|
32532
|
+
kind: z57.literal("product-detail"),
|
|
32533
|
+
state: z57.literal("ready"),
|
|
32534
|
+
heading: z57.string().nullable(),
|
|
32535
|
+
className: z57.string().nullable(),
|
|
32536
|
+
title: z57.string(),
|
|
32537
|
+
priceLabel: z57.string(),
|
|
32538
|
+
summary: z57.string().nullable(),
|
|
32539
|
+
badges: z57.array(z57.string()),
|
|
32540
|
+
categoryLabel: z57.string().nullable(),
|
|
32541
|
+
gallery: z57.array(z57.object({
|
|
32542
|
+
url: z57.string(),
|
|
32543
|
+
alt: z57.string().nullable()
|
|
31574
32544
|
})),
|
|
31575
|
-
variantOptions:
|
|
31576
|
-
selectedVariantId:
|
|
31577
|
-
selectionLabel:
|
|
31578
|
-
actionLabel:
|
|
31579
|
-
soldOut:
|
|
31580
|
-
body:
|
|
32545
|
+
variantOptions: z57.array(productVariantOptionDisplaySchema),
|
|
32546
|
+
selectedVariantId: z57.string().nullable(),
|
|
32547
|
+
selectionLabel: z57.string(),
|
|
32548
|
+
actionLabel: z57.string(),
|
|
32549
|
+
soldOut: z57.boolean(),
|
|
32550
|
+
body: z57.unknown().nullable()
|
|
31581
32551
|
})
|
|
31582
32552
|
]);
|
|
31583
|
-
var passCardDisplaySchema =
|
|
31584
|
-
id:
|
|
31585
|
-
title:
|
|
31586
|
-
description:
|
|
31587
|
-
priceLabel:
|
|
31588
|
-
creditsLabel:
|
|
31589
|
-
perCreditLabel:
|
|
31590
|
-
validityLabel:
|
|
31591
|
-
actionLabel:
|
|
31592
|
-
});
|
|
31593
|
-
var membershipCardDisplaySchema =
|
|
31594
|
-
id:
|
|
31595
|
-
title:
|
|
31596
|
-
description:
|
|
31597
|
-
priceLabel:
|
|
31598
|
-
intervalLabel:
|
|
31599
|
-
actionLabel:
|
|
31600
|
-
});
|
|
31601
|
-
var passesMembershipsDisplaySchema =
|
|
31602
|
-
kind:
|
|
31603
|
-
state:
|
|
31604
|
-
className:
|
|
31605
|
-
layout:
|
|
31606
|
-
columns:
|
|
31607
|
-
emptyMessage:
|
|
31608
|
-
passesHeading:
|
|
31609
|
-
membershipsHeading:
|
|
31610
|
-
passes:
|
|
31611
|
-
memberships:
|
|
31612
|
-
});
|
|
31613
|
-
var cartLineDisplaySchema =
|
|
31614
|
-
key:
|
|
31615
|
-
title:
|
|
31616
|
-
priceLabel:
|
|
31617
|
-
quantity:
|
|
31618
|
-
quantityEditable:
|
|
31619
|
-
});
|
|
31620
|
-
var cartDisplaySchema =
|
|
31621
|
-
kind:
|
|
31622
|
-
state:
|
|
31623
|
-
heading:
|
|
31624
|
-
className:
|
|
31625
|
-
emptyMessage:
|
|
31626
|
-
supportText:
|
|
31627
|
-
items:
|
|
31628
|
-
subtotalLabel:
|
|
31629
|
-
checkoutButtonText:
|
|
31630
|
-
clearButtonText:
|
|
31631
|
-
});
|
|
31632
|
-
var checkoutDisplaySchema =
|
|
31633
|
-
kind:
|
|
31634
|
-
state:
|
|
31635
|
-
heading:
|
|
31636
|
-
className:
|
|
31637
|
-
message:
|
|
31638
|
-
submitButtonText:
|
|
31639
|
-
});
|
|
31640
|
-
var passesMembershipsHydrationSchema =
|
|
31641
|
-
passes:
|
|
31642
|
-
memberships:
|
|
31643
|
-
passPurchaseMode:
|
|
31644
|
-
});
|
|
31645
|
-
var productListHydrationSchema =
|
|
31646
|
-
products:
|
|
31647
|
-
showSummary:
|
|
31648
|
-
showBadges:
|
|
31649
|
-
showPrices:
|
|
31650
|
-
addButtonText:
|
|
31651
|
-
});
|
|
31652
|
-
var productDetailHydrationSchema =
|
|
31653
|
-
products:
|
|
31654
|
-
productId:
|
|
31655
|
-
showSummary:
|
|
31656
|
-
showBadges:
|
|
31657
|
-
showBody:
|
|
31658
|
-
addButtonText:
|
|
31659
|
-
});
|
|
31660
|
-
var cartHydrationSchema =
|
|
31661
|
-
emptyStateText:
|
|
31662
|
-
checkoutButtonText:
|
|
31663
|
-
clearButtonText:
|
|
31664
|
-
});
|
|
31665
|
-
var checkoutHydrationSchema =
|
|
31666
|
-
emptyStateText:
|
|
31667
|
-
submitButtonText:
|
|
31668
|
-
});
|
|
31669
|
-
var passesMembershipsRenderSchema =
|
|
32553
|
+
var passCardDisplaySchema = z57.object({
|
|
32554
|
+
id: z57.string(),
|
|
32555
|
+
title: z57.string(),
|
|
32556
|
+
description: z57.string().nullable(),
|
|
32557
|
+
priceLabel: z57.string(),
|
|
32558
|
+
creditsLabel: z57.string(),
|
|
32559
|
+
perCreditLabel: z57.string().nullable(),
|
|
32560
|
+
validityLabel: z57.string().nullable(),
|
|
32561
|
+
actionLabel: z57.string()
|
|
32562
|
+
});
|
|
32563
|
+
var membershipCardDisplaySchema = z57.object({
|
|
32564
|
+
id: z57.string(),
|
|
32565
|
+
title: z57.string(),
|
|
32566
|
+
description: z57.string().nullable(),
|
|
32567
|
+
priceLabel: z57.string(),
|
|
32568
|
+
intervalLabel: z57.string(),
|
|
32569
|
+
actionLabel: z57.string()
|
|
32570
|
+
});
|
|
32571
|
+
var passesMembershipsDisplaySchema = z57.object({
|
|
32572
|
+
kind: z57.literal("passes-memberships"),
|
|
32573
|
+
state: z57.enum(["empty", "ready"]),
|
|
32574
|
+
className: z57.string().nullable(),
|
|
32575
|
+
layout: z57.enum(["grid", "list"]),
|
|
32576
|
+
columns: z57.string(),
|
|
32577
|
+
emptyMessage: z57.string(),
|
|
32578
|
+
passesHeading: z57.string(),
|
|
32579
|
+
membershipsHeading: z57.string(),
|
|
32580
|
+
passes: z57.array(passCardDisplaySchema),
|
|
32581
|
+
memberships: z57.array(membershipCardDisplaySchema)
|
|
32582
|
+
});
|
|
32583
|
+
var cartLineDisplaySchema = z57.object({
|
|
32584
|
+
key: z57.string(),
|
|
32585
|
+
title: z57.string(),
|
|
32586
|
+
priceLabel: z57.string(),
|
|
32587
|
+
quantity: z57.number(),
|
|
32588
|
+
quantityEditable: z57.boolean()
|
|
32589
|
+
});
|
|
32590
|
+
var cartDisplaySchema = z57.object({
|
|
32591
|
+
kind: z57.literal("cart"),
|
|
32592
|
+
state: z57.enum(["empty", "ready"]),
|
|
32593
|
+
heading: z57.string().nullable(),
|
|
32594
|
+
className: z57.string().nullable(),
|
|
32595
|
+
emptyMessage: z57.string(),
|
|
32596
|
+
supportText: z57.string().nullable(),
|
|
32597
|
+
items: z57.array(cartLineDisplaySchema),
|
|
32598
|
+
subtotalLabel: z57.string().nullable(),
|
|
32599
|
+
checkoutButtonText: z57.string(),
|
|
32600
|
+
clearButtonText: z57.string()
|
|
32601
|
+
});
|
|
32602
|
+
var checkoutDisplaySchema = z57.object({
|
|
32603
|
+
kind: z57.literal("checkout"),
|
|
32604
|
+
state: z57.enum(["empty", "blocked", "ready"]),
|
|
32605
|
+
heading: z57.string().nullable(),
|
|
32606
|
+
className: z57.string().nullable(),
|
|
32607
|
+
message: z57.string().nullable(),
|
|
32608
|
+
submitButtonText: z57.string()
|
|
32609
|
+
});
|
|
32610
|
+
var passesMembershipsHydrationSchema = z57.object({
|
|
32611
|
+
passes: z57.array(publicPassProductSchema),
|
|
32612
|
+
memberships: z57.array(publicMembershipProductSchema),
|
|
32613
|
+
passPurchaseMode: z57.enum(["add_to_cart", "buy_now"])
|
|
32614
|
+
});
|
|
32615
|
+
var productListHydrationSchema = z57.object({
|
|
32616
|
+
products: z57.array(publicProductSchema),
|
|
32617
|
+
showSummary: z57.boolean(),
|
|
32618
|
+
showBadges: z57.boolean(),
|
|
32619
|
+
showPrices: z57.boolean(),
|
|
32620
|
+
addButtonText: z57.string()
|
|
32621
|
+
});
|
|
32622
|
+
var productDetailHydrationSchema = z57.object({
|
|
32623
|
+
products: z57.array(publicProductSchema),
|
|
32624
|
+
productId: z57.string().nullable(),
|
|
32625
|
+
showSummary: z57.boolean(),
|
|
32626
|
+
showBadges: z57.boolean(),
|
|
32627
|
+
showBody: z57.boolean(),
|
|
32628
|
+
addButtonText: z57.string()
|
|
32629
|
+
});
|
|
32630
|
+
var cartHydrationSchema = z57.object({
|
|
32631
|
+
emptyStateText: z57.string(),
|
|
32632
|
+
checkoutButtonText: z57.string(),
|
|
32633
|
+
clearButtonText: z57.string()
|
|
32634
|
+
});
|
|
32635
|
+
var checkoutHydrationSchema = z57.object({
|
|
32636
|
+
emptyStateText: z57.string(),
|
|
32637
|
+
submitButtonText: z57.string()
|
|
32638
|
+
});
|
|
32639
|
+
var passesMembershipsRenderSchema = z57.object({
|
|
31670
32640
|
display: passesMembershipsDisplaySchema,
|
|
31671
32641
|
hydration: passesMembershipsHydrationSchema
|
|
31672
32642
|
});
|
|
31673
|
-
var productListRenderSchema =
|
|
32643
|
+
var productListRenderSchema = z57.object({
|
|
31674
32644
|
display: productListDisplaySchema,
|
|
31675
32645
|
hydration: productListHydrationSchema
|
|
31676
32646
|
});
|
|
31677
|
-
var productDetailRenderSchema =
|
|
32647
|
+
var productDetailRenderSchema = z57.object({
|
|
31678
32648
|
display: productDetailDisplaySchema,
|
|
31679
32649
|
hydration: productDetailHydrationSchema
|
|
31680
32650
|
});
|
|
31681
|
-
var cartRenderSchema =
|
|
32651
|
+
var cartRenderSchema = z57.object({
|
|
31682
32652
|
display: cartDisplaySchema,
|
|
31683
32653
|
hydration: cartHydrationSchema
|
|
31684
32654
|
});
|
|
31685
|
-
var checkoutRenderSchema =
|
|
32655
|
+
var checkoutRenderSchema = z57.object({
|
|
31686
32656
|
display: checkoutDisplaySchema,
|
|
31687
32657
|
hydration: checkoutHydrationSchema
|
|
31688
32658
|
});
|
|
31689
32659
|
function resolveShowPricePerCredit(source) {
|
|
31690
32660
|
return source.showPricePerCredit ?? true;
|
|
31691
32661
|
}
|
|
31692
|
-
var shopIslandMetaCodec = createZodCodec(
|
|
31693
|
-
siteId:
|
|
31694
|
-
apiBaseUrl:
|
|
32662
|
+
var shopIslandMetaCodec = createZodCodec(z57.object({
|
|
32663
|
+
siteId: z57.string().optional(),
|
|
32664
|
+
apiBaseUrl: z57.string().optional(),
|
|
31695
32665
|
stage: previewStageSchema.optional()
|
|
31696
32666
|
}));
|
|
31697
32667
|
var shopIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
|
|
@@ -32073,9 +33043,9 @@ var shopBlockDefinition = {
|
|
|
32073
33043
|
runtime: shopBlockRuntime,
|
|
32074
33044
|
dataSchemas: {
|
|
32075
33045
|
// listPublicPasses returns { passes: [...] }
|
|
32076
|
-
passes:
|
|
33046
|
+
passes: z58.object({ passes: z58.array(publicPassProductSchema) }).optional(),
|
|
32077
33047
|
// listPublicMemberships returns { memberships: [...] }
|
|
32078
|
-
memberships:
|
|
33048
|
+
memberships: z58.object({ memberships: z58.array(publicMembershipProductSchema) }).optional()
|
|
32079
33049
|
},
|
|
32080
33050
|
dataLoaders: {
|
|
32081
33051
|
// Load passes for display
|
|
@@ -32098,7 +33068,7 @@ var shopBlockDefinition = {
|
|
|
32098
33068
|
};
|
|
32099
33069
|
|
|
32100
33070
|
// ../blocks/src/system/blocks/product-list.ts
|
|
32101
|
-
import { z as
|
|
33071
|
+
import { z as z59 } from "zod";
|
|
32102
33072
|
var productListManifest = createBlockManifest({
|
|
32103
33073
|
id: "block.product-list",
|
|
32104
33074
|
version: "1.0.0",
|
|
@@ -32240,7 +33210,7 @@ var productListBlockDefinition = {
|
|
|
32240
33210
|
}
|
|
32241
33211
|
}
|
|
32242
33212
|
};
|
|
32243
|
-
var productListDataSchema =
|
|
33213
|
+
var productListDataSchema = z59.object({
|
|
32244
33214
|
products: publicProductsResponseSchema.optional()
|
|
32245
33215
|
});
|
|
32246
33216
|
|
|
@@ -32510,72 +33480,72 @@ var checkoutBlockDefinition = {
|
|
|
32510
33480
|
};
|
|
32511
33481
|
|
|
32512
33482
|
// ../blocks/src/system/runtime/nodes/gifting.interactive.ts
|
|
32513
|
-
import { z as
|
|
32514
|
-
var publicGiftCardOfferSchema =
|
|
32515
|
-
id:
|
|
32516
|
-
kind:
|
|
32517
|
-
title:
|
|
32518
|
-
description:
|
|
32519
|
-
sortOrder:
|
|
32520
|
-
giftCard:
|
|
32521
|
-
fixedDenominations:
|
|
32522
|
-
customAmountEnabled:
|
|
32523
|
-
customAmountMinCents:
|
|
32524
|
-
customAmountMaxCents:
|
|
33483
|
+
import { z as z60 } from "zod";
|
|
33484
|
+
var publicGiftCardOfferSchema = z60.object({
|
|
33485
|
+
id: z60.string(),
|
|
33486
|
+
kind: z60.literal("gift_card"),
|
|
33487
|
+
title: z60.string(),
|
|
33488
|
+
description: z60.string().nullable(),
|
|
33489
|
+
sortOrder: z60.number().int(),
|
|
33490
|
+
giftCard: z60.object({
|
|
33491
|
+
fixedDenominations: z60.array(z60.number().int().positive()),
|
|
33492
|
+
customAmountEnabled: z60.boolean(),
|
|
33493
|
+
customAmountMinCents: z60.number().int().positive(),
|
|
33494
|
+
customAmountMaxCents: z60.number().int().positive()
|
|
32525
33495
|
}),
|
|
32526
|
-
voucher:
|
|
32527
|
-
});
|
|
32528
|
-
var publicVoucherOfferSchema =
|
|
32529
|
-
id:
|
|
32530
|
-
kind:
|
|
32531
|
-
title:
|
|
32532
|
-
description:
|
|
32533
|
-
sortOrder:
|
|
32534
|
-
giftCard:
|
|
32535
|
-
voucher:
|
|
32536
|
-
purchaseAmountCents:
|
|
33496
|
+
voucher: z60.null()
|
|
33497
|
+
});
|
|
33498
|
+
var publicVoucherOfferSchema = z60.object({
|
|
33499
|
+
id: z60.string(),
|
|
33500
|
+
kind: z60.literal("voucher"),
|
|
33501
|
+
title: z60.string(),
|
|
33502
|
+
description: z60.string().nullable(),
|
|
33503
|
+
sortOrder: z60.number().int(),
|
|
33504
|
+
giftCard: z60.null(),
|
|
33505
|
+
voucher: z60.object({
|
|
33506
|
+
purchaseAmountCents: z60.number().int().positive()
|
|
32537
33507
|
})
|
|
32538
33508
|
});
|
|
32539
|
-
var publicGiftingOffersResponseSchema =
|
|
32540
|
-
currency:
|
|
32541
|
-
giftCards:
|
|
32542
|
-
vouchers:
|
|
33509
|
+
var publicGiftingOffersResponseSchema = z60.object({
|
|
33510
|
+
currency: z60.string(),
|
|
33511
|
+
giftCards: z60.array(publicGiftCardOfferSchema),
|
|
33512
|
+
vouchers: z60.array(publicVoucherOfferSchema)
|
|
32543
33513
|
});
|
|
32544
|
-
var giftingSourceSchema =
|
|
32545
|
-
siteId:
|
|
32546
|
-
apiBaseUrl:
|
|
33514
|
+
var giftingSourceSchema = z60.object({
|
|
33515
|
+
siteId: z60.string().optional(),
|
|
33516
|
+
apiBaseUrl: z60.string().optional(),
|
|
32547
33517
|
offers: publicGiftingOffersResponseSchema.nullable().optional(),
|
|
32548
|
-
className:
|
|
32549
|
-
heading:
|
|
32550
|
-
intro:
|
|
32551
|
-
giftCardsHeading:
|
|
32552
|
-
vouchersHeading:
|
|
32553
|
-
emptyStateText:
|
|
32554
|
-
checkoutButtonText:
|
|
32555
|
-
successMessage:
|
|
32556
|
-
});
|
|
32557
|
-
var giftingDisplaySchema =
|
|
32558
|
-
kind:
|
|
32559
|
-
state:
|
|
32560
|
-
className:
|
|
32561
|
-
heading:
|
|
32562
|
-
intro:
|
|
32563
|
-
giftCardsHeading:
|
|
32564
|
-
vouchersHeading:
|
|
32565
|
-
emptyStateText:
|
|
32566
|
-
});
|
|
32567
|
-
var giftingHydrationSchema =
|
|
33518
|
+
className: z60.string().nullable().optional(),
|
|
33519
|
+
heading: z60.string().nullable().optional(),
|
|
33520
|
+
intro: z60.string().nullable().optional(),
|
|
33521
|
+
giftCardsHeading: z60.string().nullable().optional(),
|
|
33522
|
+
vouchersHeading: z60.string().nullable().optional(),
|
|
33523
|
+
emptyStateText: z60.string().nullable().optional(),
|
|
33524
|
+
checkoutButtonText: z60.string().nullable().optional(),
|
|
33525
|
+
successMessage: z60.string().nullable().optional()
|
|
33526
|
+
});
|
|
33527
|
+
var giftingDisplaySchema = z60.object({
|
|
33528
|
+
kind: z60.literal("gifting"),
|
|
33529
|
+
state: z60.literal("ready"),
|
|
33530
|
+
className: z60.string().nullable(),
|
|
33531
|
+
heading: z60.string(),
|
|
33532
|
+
intro: z60.string().nullable(),
|
|
33533
|
+
giftCardsHeading: z60.string(),
|
|
33534
|
+
vouchersHeading: z60.string(),
|
|
33535
|
+
emptyStateText: z60.string()
|
|
33536
|
+
});
|
|
33537
|
+
var giftingHydrationSchema = z60.object({
|
|
32568
33538
|
offers: publicGiftingOffersResponseSchema.nullable(),
|
|
32569
|
-
checkoutButtonText:
|
|
32570
|
-
successMessage:
|
|
33539
|
+
checkoutButtonText: z60.string(),
|
|
33540
|
+
successMessage: z60.string()
|
|
32571
33541
|
});
|
|
32572
|
-
var giftingRenderSchema =
|
|
33542
|
+
var giftingRenderSchema = z60.object({
|
|
32573
33543
|
display: giftingDisplaySchema,
|
|
32574
33544
|
hydration: giftingHydrationSchema
|
|
32575
33545
|
});
|
|
32576
|
-
var giftingIslandMetaCodec = createZodCodec(
|
|
32577
|
-
siteId:
|
|
32578
|
-
apiBaseUrl:
|
|
33546
|
+
var giftingIslandMetaCodec = createZodCodec(z60.object({
|
|
33547
|
+
siteId: z60.string().optional(),
|
|
33548
|
+
apiBaseUrl: z60.string().optional()
|
|
32579
33549
|
}));
|
|
32580
33550
|
var giftingIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
32581
33551
|
"siteId",
|
|
@@ -32746,7 +33716,7 @@ var giftingBlockDefinition = {
|
|
|
32746
33716
|
};
|
|
32747
33717
|
|
|
32748
33718
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
32749
|
-
import { z as
|
|
33719
|
+
import { z as z61 } from "zod";
|
|
32750
33720
|
|
|
32751
33721
|
// ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
|
|
32752
33722
|
function getPresetFields(preset2, options) {
|
|
@@ -32800,49 +33770,49 @@ function withOptionalPhone(fields3, includePhone) {
|
|
|
32800
33770
|
}
|
|
32801
33771
|
|
|
32802
33772
|
// ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
32803
|
-
var newsletterPresetSchema =
|
|
32804
|
-
var newsletterFieldSchema =
|
|
32805
|
-
id:
|
|
32806
|
-
type:
|
|
32807
|
-
label:
|
|
32808
|
-
required:
|
|
32809
|
-
placeholder:
|
|
32810
|
-
});
|
|
32811
|
-
var newsletterSourceSchema =
|
|
32812
|
-
siteId:
|
|
32813
|
-
apiBaseUrl:
|
|
32814
|
-
listId:
|
|
33773
|
+
var newsletterPresetSchema = z61.enum(["emailOnly", "emailName", "emailFirstLast", "emailNameCompany"]);
|
|
33774
|
+
var newsletterFieldSchema = z61.object({
|
|
33775
|
+
id: z61.string(),
|
|
33776
|
+
type: z61.enum(["email", "text"]),
|
|
33777
|
+
label: z61.string(),
|
|
33778
|
+
required: z61.boolean(),
|
|
33779
|
+
placeholder: z61.string().optional()
|
|
33780
|
+
});
|
|
33781
|
+
var newsletterSourceSchema = z61.object({
|
|
33782
|
+
siteId: z61.string().optional(),
|
|
33783
|
+
apiBaseUrl: z61.string().optional(),
|
|
33784
|
+
listId: z61.string().nullable().optional(),
|
|
32815
33785
|
preset: newsletterPresetSchema.optional(),
|
|
32816
|
-
includePhone:
|
|
32817
|
-
buttonLabel:
|
|
32818
|
-
successMessage:
|
|
32819
|
-
privacyNote:
|
|
32820
|
-
tags:
|
|
32821
|
-
spamProtectionEnabled:
|
|
32822
|
-
className:
|
|
32823
|
-
});
|
|
32824
|
-
var newsletterDisplaySchema =
|
|
32825
|
-
kind:
|
|
32826
|
-
className:
|
|
32827
|
-
buttonLabel:
|
|
32828
|
-
successMessage:
|
|
32829
|
-
privacyNote:
|
|
32830
|
-
fields:
|
|
32831
|
-
});
|
|
32832
|
-
var newsletterHydrationSchema =
|
|
32833
|
-
listId:
|
|
33786
|
+
includePhone: z61.boolean().optional(),
|
|
33787
|
+
buttonLabel: z61.string().nullable().optional(),
|
|
33788
|
+
successMessage: z61.string().nullable().optional(),
|
|
33789
|
+
privacyNote: z61.string().nullable().optional(),
|
|
33790
|
+
tags: z61.string().nullable().optional(),
|
|
33791
|
+
spamProtectionEnabled: z61.boolean().optional(),
|
|
33792
|
+
className: z61.string().nullable().optional()
|
|
33793
|
+
});
|
|
33794
|
+
var newsletterDisplaySchema = z61.object({
|
|
33795
|
+
kind: z61.literal("newsletter-form"),
|
|
33796
|
+
className: z61.string().nullable(),
|
|
33797
|
+
buttonLabel: z61.string(),
|
|
33798
|
+
successMessage: z61.string().nullable(),
|
|
33799
|
+
privacyNote: z61.string().nullable(),
|
|
33800
|
+
fields: z61.array(newsletterFieldSchema)
|
|
33801
|
+
});
|
|
33802
|
+
var newsletterHydrationSchema = z61.object({
|
|
33803
|
+
listId: z61.string().nullable().optional(),
|
|
32834
33804
|
preset: newsletterPresetSchema,
|
|
32835
|
-
includePhone:
|
|
32836
|
-
tags:
|
|
32837
|
-
spamProtectionEnabled:
|
|
33805
|
+
includePhone: z61.boolean(),
|
|
33806
|
+
tags: z61.string().nullable().optional(),
|
|
33807
|
+
spamProtectionEnabled: z61.boolean().optional()
|
|
32838
33808
|
});
|
|
32839
|
-
var newsletterRenderSchema =
|
|
33809
|
+
var newsletterRenderSchema = z61.object({
|
|
32840
33810
|
display: newsletterDisplaySchema,
|
|
32841
33811
|
hydration: newsletterHydrationSchema
|
|
32842
33812
|
});
|
|
32843
|
-
var newsletterIslandMetaCodec = createZodCodec(
|
|
32844
|
-
siteId:
|
|
32845
|
-
apiBaseUrl:
|
|
33813
|
+
var newsletterIslandMetaCodec = createZodCodec(z61.object({
|
|
33814
|
+
siteId: z61.string().optional(),
|
|
33815
|
+
apiBaseUrl: z61.string().optional()
|
|
32846
33816
|
}));
|
|
32847
33817
|
var newsletterIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl");
|
|
32848
33818
|
function buildNewsletterDisplay(source) {
|
|
@@ -32963,23 +33933,23 @@ var newsletterSignupBlockDefinition = {
|
|
|
32963
33933
|
};
|
|
32964
33934
|
|
|
32965
33935
|
// ../blocks/src/system/blocks/team-members.ts
|
|
32966
|
-
import { z as
|
|
33936
|
+
import { z as z62 } from "zod";
|
|
32967
33937
|
var ITEM_NAME2 = "member";
|
|
32968
33938
|
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
32969
33939
|
message: "Team member photos must be image media"
|
|
32970
33940
|
}).nullable();
|
|
32971
|
-
var teamMemberDataSchema =
|
|
32972
|
-
_type:
|
|
32973
|
-
id:
|
|
32974
|
-
name:
|
|
32975
|
-
role:
|
|
32976
|
-
roleLabel:
|
|
32977
|
-
bio:
|
|
32978
|
-
summary:
|
|
33941
|
+
var teamMemberDataSchema = z62.object({
|
|
33942
|
+
_type: z62.literal("teamMember"),
|
|
33943
|
+
id: z62.string(),
|
|
33944
|
+
name: z62.string(),
|
|
33945
|
+
role: z62.string().nullable(),
|
|
33946
|
+
roleLabel: z62.string().nullable(),
|
|
33947
|
+
bio: z62.string().nullable(),
|
|
33948
|
+
summary: z62.string().nullable(),
|
|
32979
33949
|
photo: teamMemberPhotoSchema,
|
|
32980
|
-
profilePath:
|
|
33950
|
+
profilePath: z62.string().nullable()
|
|
32981
33951
|
});
|
|
32982
|
-
var teamMembersDataSchema =
|
|
33952
|
+
var teamMembersDataSchema = z62.array(teamMemberDataSchema);
|
|
32983
33953
|
var dynamicSourceWhen = { equals: "site_staff" };
|
|
32984
33954
|
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
32985
33955
|
var headingNode = text(
|
|
@@ -33749,6 +34719,13 @@ function eventListCapable() {
|
|
|
33749
34719
|
eventListTreatments
|
|
33750
34720
|
});
|
|
33751
34721
|
}
|
|
34722
|
+
function offeringsPreviewCapable() {
|
|
34723
|
+
return declareBlockDesignCapability({
|
|
34724
|
+
sectionSurfaces: "supported",
|
|
34725
|
+
contentFrames: ["plain"],
|
|
34726
|
+
itemSurfaces: "supported"
|
|
34727
|
+
});
|
|
34728
|
+
}
|
|
33752
34729
|
function defaultBoundaryBias(visualWeight) {
|
|
33753
34730
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
33754
34731
|
}
|
|
@@ -33862,6 +34839,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
33862
34839
|
weight: "featured",
|
|
33863
34840
|
bias: "clear",
|
|
33864
34841
|
surfaces: heroSectionSurfaces
|
|
34842
|
+
}),
|
|
34843
|
+
layoutProfile({
|
|
34844
|
+
variantKey: "splitEditorial",
|
|
34845
|
+
family: "split",
|
|
34846
|
+
weight: "featured",
|
|
34847
|
+
bias: "clear",
|
|
34848
|
+
surfaces: heroSectionSurfaces
|
|
33865
34849
|
})
|
|
33866
34850
|
]
|
|
33867
34851
|
})),
|
|
@@ -33956,7 +34940,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
33956
34940
|
})),
|
|
33957
34941
|
withDesignCapability("block.form", formBlockDefinition, panelCapable(), defineBlockDesignMetadata({
|
|
33958
34942
|
flow: conversionFlow,
|
|
33959
|
-
layoutProfiles: [
|
|
34943
|
+
layoutProfiles: [
|
|
34944
|
+
layoutProfile({ variantKey: "default", family: "form", weight: "standard" }),
|
|
34945
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
34946
|
+
]
|
|
33960
34947
|
})),
|
|
33961
34948
|
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
33962
34949
|
sectionSurfaces: "supported",
|
|
@@ -33985,7 +34972,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
33985
34972
|
contentFrames: ["plain", "panel"],
|
|
33986
34973
|
itemSurfaces: "supported",
|
|
33987
34974
|
testimonialCardTreatments: ["default", "statement", "non-carded", "accent-quote", "editorial-serif-quote"],
|
|
33988
|
-
|
|
34975
|
+
headingDecorationCapability: {
|
|
34976
|
+
kind: "supported",
|
|
34977
|
+
families: ["short-center-rule"]
|
|
34978
|
+
}
|
|
33989
34979
|
}), defineBlockDesignMetadata({
|
|
33990
34980
|
flow: proofFlow,
|
|
33991
34981
|
layoutProfiles: [
|
|
@@ -34088,6 +35078,10 @@ var systemBlockDefinitionsRaw = [
|
|
|
34088
35078
|
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
34089
35079
|
]
|
|
34090
35080
|
})),
|
|
35081
|
+
withDesignCapability("block.offerings-preview", offeringsPreviewBlockDefinition, offeringsPreviewCapable(), defineBlockDesignMetadata({
|
|
35082
|
+
flow: offeringsFlow,
|
|
35083
|
+
layoutProfiles: [layoutProfile({ variantKey: "cards", family: "grid", weight: "standard" })]
|
|
35084
|
+
})),
|
|
34091
35085
|
// Friendly wrapper blocks
|
|
34092
35086
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
34093
35087
|
flow: proofFlow,
|
|
@@ -34611,32 +35605,8 @@ var backgroundTransforms = [
|
|
|
34611
35605
|
{
|
|
34612
35606
|
id: "background.resolveColorsStyle",
|
|
34613
35607
|
kind: "formatter",
|
|
34614
|
-
summary: "Resolve
|
|
34615
|
-
run: (value, _options, context) =>
|
|
34616
|
-
if (!value || typeof value !== "object") {
|
|
34617
|
-
return {};
|
|
34618
|
-
}
|
|
34619
|
-
const input = value;
|
|
34620
|
-
const textColor = isString(input.textColor) ? input.textColor.trim() : null;
|
|
34621
|
-
const headingColor = isString(input.headingColor) ? input.headingColor.trim() : null;
|
|
34622
|
-
const style = {};
|
|
34623
|
-
if (textColor) {
|
|
34624
|
-
const resolvedText = resolveBackgroundColorValue(textColor, context);
|
|
34625
|
-
if (resolvedText) {
|
|
34626
|
-
style.color = resolvedText;
|
|
34627
|
-
style["--section-text-color"] = resolvedText;
|
|
34628
|
-
if (headingColor) {
|
|
34629
|
-
const resolvedHeading = resolveBackgroundColorValue(headingColor, context);
|
|
34630
|
-
if (resolvedHeading) {
|
|
34631
|
-
style["--section-heading-color"] = resolvedHeading;
|
|
34632
|
-
}
|
|
34633
|
-
} else {
|
|
34634
|
-
style["--section-heading-color"] = resolvedText;
|
|
34635
|
-
}
|
|
34636
|
-
}
|
|
34637
|
-
}
|
|
34638
|
-
return style;
|
|
34639
|
-
}
|
|
35608
|
+
summary: "Resolve section foreground colors from a background object into scoped CSS vars",
|
|
35609
|
+
run: (value, _options, context) => resolveSectionForegroundStyles(value, context)
|
|
34640
35610
|
},
|
|
34641
35611
|
{
|
|
34642
35612
|
id: "background.resolveAllowOverflow",
|
|
@@ -34864,32 +35834,130 @@ var builtinTransformDefinitions = [
|
|
|
34864
35834
|
];
|
|
34865
35835
|
var defaultTransforms = createTransformRegistry(builtinTransformDefinitions);
|
|
34866
35836
|
|
|
35837
|
+
// ../blocks/src/system/data/linkedContentEntries.ts
|
|
35838
|
+
var LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
35839
|
+
function coerceLinkedContentEntriesPayload(payload) {
|
|
35840
|
+
if (!isRecord3(payload)) return payload;
|
|
35841
|
+
const response = payload;
|
|
35842
|
+
if (!Array.isArray(response.entries)) return payload;
|
|
35843
|
+
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
35844
|
+
if (!contentType) return response.entries;
|
|
35845
|
+
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
35846
|
+
}
|
|
35847
|
+
function enrichLinkedContentEntry(entry, contentType) {
|
|
35848
|
+
if (!isRecord3(entry)) return entry;
|
|
35849
|
+
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
35850
|
+
if (!entryId) return entry;
|
|
35851
|
+
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
35852
|
+
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
35853
|
+
const meta = {
|
|
35854
|
+
kind: "linked-content-entry",
|
|
35855
|
+
entryId,
|
|
35856
|
+
contentTypeKey: contentType.key,
|
|
35857
|
+
contentTypeLabel: contentTypeKeyToLabel(contentType.key),
|
|
35858
|
+
title,
|
|
35859
|
+
optimisticHash,
|
|
35860
|
+
support: resolveLinkedContentEditSupport(contentType),
|
|
35861
|
+
contentType
|
|
35862
|
+
};
|
|
35863
|
+
return {
|
|
35864
|
+
...entry,
|
|
35865
|
+
[LINKED_CONTENT_ENTRY_META_KEY]: meta
|
|
35866
|
+
};
|
|
35867
|
+
}
|
|
35868
|
+
function resolveLinkedContentEditSupport(contentType) {
|
|
35869
|
+
if (contentType.fields.length === 0) {
|
|
35870
|
+
return { kind: "unsupported-missing-schema", reason: "Content type has no public field metadata." };
|
|
35871
|
+
}
|
|
35872
|
+
const metadata = contentType.previewLinkedEntryEditing;
|
|
35873
|
+
if (!metadata) {
|
|
35874
|
+
return { kind: "unsupported-content-type", reason: "Content type has not enabled linked-entry preview editing." };
|
|
35875
|
+
}
|
|
35876
|
+
switch (metadata.kind) {
|
|
35877
|
+
case "generic":
|
|
35878
|
+
return { kind: "supported" };
|
|
35879
|
+
case "unsupported-domain-backed":
|
|
35880
|
+
return { kind: "unsupported-domain-backed", reason: metadata.reason };
|
|
35881
|
+
default:
|
|
35882
|
+
return assertNever(metadata);
|
|
35883
|
+
}
|
|
35884
|
+
}
|
|
35885
|
+
function contentTypeKeyToLabel(key) {
|
|
35886
|
+
const singular = key.endsWith("ies") ? `${key.slice(0, -3)}y` : key.endsWith("s") ? key.slice(0, -1) : key;
|
|
35887
|
+
return singular.split(/[-_\s]+/).filter((part) => part.length > 0).map((part, index) => index === 0 ? capitalize(part) : part.toLowerCase()).join(" ");
|
|
35888
|
+
}
|
|
35889
|
+
function capitalize(value) {
|
|
35890
|
+
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
35891
|
+
}
|
|
35892
|
+
function parsePublicContentTypeMeta(value) {
|
|
35893
|
+
if (!isRecord3(value)) return null;
|
|
35894
|
+
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
35895
|
+
return {
|
|
35896
|
+
key: value.key,
|
|
35897
|
+
titleField: typeof value.titleField === "string" ? value.titleField : null,
|
|
35898
|
+
fields: Array.isArray(value.fields) ? value.fields.flatMap(parsePublicContentTypeFieldMeta) : [],
|
|
35899
|
+
previewLinkedEntryEditing: parsePublicContentTypeLinkedEntryEditing(value.previewLinkedEntryEditing)
|
|
35900
|
+
};
|
|
35901
|
+
}
|
|
35902
|
+
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
35903
|
+
if (!isRecord3(value) || typeof value.kind !== "string") return null;
|
|
35904
|
+
switch (value.kind) {
|
|
35905
|
+
case "generic":
|
|
35906
|
+
return { kind: "generic" };
|
|
35907
|
+
case "unsupported-domain-backed":
|
|
35908
|
+
return {
|
|
35909
|
+
kind: "unsupported-domain-backed",
|
|
35910
|
+
reason: typeof value.reason === "string" ? value.reason : "Domain-backed entries need a dedicated editor workflow."
|
|
35911
|
+
};
|
|
35912
|
+
default:
|
|
35913
|
+
return null;
|
|
35914
|
+
}
|
|
35915
|
+
}
|
|
35916
|
+
function parsePublicContentTypeFieldMeta(value) {
|
|
35917
|
+
if (!isRecord3(value)) return [];
|
|
35918
|
+
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
35919
|
+
return [{
|
|
35920
|
+
id: value.id,
|
|
35921
|
+
type: value.type,
|
|
35922
|
+
mediaKinds: parseStringArray(value.mediaKinds),
|
|
35923
|
+
fileKinds: parseStringArray(value.fileKinds)
|
|
35924
|
+
}];
|
|
35925
|
+
}
|
|
35926
|
+
function parseStringArray(value) {
|
|
35927
|
+
if (value === null || typeof value === "undefined") return null;
|
|
35928
|
+
if (!Array.isArray(value)) return null;
|
|
35929
|
+
return value.filter((item) => typeof item === "string");
|
|
35930
|
+
}
|
|
35931
|
+
function isRecord3(value) {
|
|
35932
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
35933
|
+
}
|
|
35934
|
+
|
|
34867
35935
|
// ../blocks/src/system/manifest/richTextSchema.ts
|
|
34868
|
-
import { z as
|
|
34869
|
-
var TipTapMarkSchema =
|
|
34870
|
-
type:
|
|
34871
|
-
attrs:
|
|
34872
|
-
});
|
|
34873
|
-
var TipTapNodeSchema =
|
|
34874
|
-
() =>
|
|
34875
|
-
type:
|
|
34876
|
-
content:
|
|
34877
|
-
text:
|
|
34878
|
-
attrs:
|
|
34879
|
-
marks:
|
|
35936
|
+
import { z as z63 } from "zod";
|
|
35937
|
+
var TipTapMarkSchema = z63.object({
|
|
35938
|
+
type: z63.string(),
|
|
35939
|
+
attrs: z63.record(z63.string(), z63.unknown()).optional()
|
|
35940
|
+
});
|
|
35941
|
+
var TipTapNodeSchema = z63.lazy(
|
|
35942
|
+
() => z63.object({
|
|
35943
|
+
type: z63.string(),
|
|
35944
|
+
content: z63.array(TipTapNodeSchema).optional(),
|
|
35945
|
+
text: z63.string().optional(),
|
|
35946
|
+
attrs: z63.record(z63.string(), z63.unknown()).optional(),
|
|
35947
|
+
marks: z63.array(TipTapMarkSchema).optional()
|
|
34880
35948
|
})
|
|
34881
35949
|
);
|
|
34882
|
-
var RichTextValueSchema =
|
|
35950
|
+
var RichTextValueSchema = z63.union([
|
|
34883
35951
|
// Canonical: TipTap document directly
|
|
34884
35952
|
TipTapNodeSchema,
|
|
34885
35953
|
// Legacy (read-tolerance only): wrapped in { doc: {...} }
|
|
34886
|
-
|
|
35954
|
+
z63.object({
|
|
34887
35955
|
doc: TipTapNodeSchema
|
|
34888
35956
|
})
|
|
34889
35957
|
]);
|
|
34890
|
-
var RichTextDocSchema =
|
|
34891
|
-
type:
|
|
34892
|
-
content:
|
|
35958
|
+
var RichTextDocSchema = z63.object({
|
|
35959
|
+
type: z63.literal("doc"),
|
|
35960
|
+
content: z63.array(TipTapNodeSchema)
|
|
34893
35961
|
});
|
|
34894
35962
|
function unwrapRichTextRoot(value) {
|
|
34895
35963
|
if (!isRecord2(value)) return value;
|
|
@@ -35057,9 +36125,21 @@ var NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES = [
|
|
|
35057
36125
|
];
|
|
35058
36126
|
|
|
35059
36127
|
// ../theme-core/src/layout/generateLayoutCss.ts
|
|
35060
|
-
var
|
|
36128
|
+
var classicWaveTransitionMask = svgDataUrl(
|
|
35061
36129
|
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V46C130 55 260 24 420 30C590 36 690 62 860 42C1035 21 1160 47 1305 36C1365 31 1415 33 1440 38V72H0Z' fill='white'/></svg>"
|
|
35062
36130
|
);
|
|
36131
|
+
var balancedWaveTransitionMask = svgDataUrl(
|
|
36132
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V42C120 24 240 24 360 42C480 60 600 60 720 42C840 24 960 24 1080 42C1200 60 1320 60 1440 42V72H0Z' fill='white'/></svg>"
|
|
36133
|
+
);
|
|
36134
|
+
var gentleWaveTransitionMask = svgDataUrl(
|
|
36135
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V43C180 32 300 32 480 43C660 54 780 54 960 43C1140 32 1260 32 1440 43V72H0Z' fill='white'/></svg>"
|
|
36136
|
+
);
|
|
36137
|
+
var boldWaveTransitionMask = svgDataUrl(
|
|
36138
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V44C90 14 270 14 360 44C450 74 630 74 720 44C810 14 990 14 1080 44C1170 74 1350 74 1440 44V72H0Z' fill='white'/></svg>"
|
|
36139
|
+
);
|
|
36140
|
+
var driftWaveTransitionMask = svgDataUrl(
|
|
36141
|
+
"<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V39C115 31 205 54 340 48C505 41 610 16 760 33C920 51 1015 64 1160 44C1280 27 1375 35 1440 50V72H0Z' fill='white'/></svg>"
|
|
36142
|
+
);
|
|
35063
36143
|
function svgDataUrl(svg) {
|
|
35064
36144
|
return `data:image/svg+xml,${encodeURIComponent(svg)}`;
|
|
35065
36145
|
}
|
|
@@ -36838,34 +37918,34 @@ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
|
36838
37918
|
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
36839
37919
|
|
|
36840
37920
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
36841
|
-
import { z as
|
|
36842
|
-
var themeBridgeConfigSchema =
|
|
36843
|
-
tokens:
|
|
36844
|
-
typography:
|
|
36845
|
-
headingFamily:
|
|
36846
|
-
bodyFamily:
|
|
36847
|
-
headingWeight:
|
|
36848
|
-
bodyWeight:
|
|
37921
|
+
import { z as z64 } from "zod";
|
|
37922
|
+
var themeBridgeConfigSchema = z64.object({
|
|
37923
|
+
tokens: z64.record(z64.string(), z64.string()),
|
|
37924
|
+
typography: z64.object({
|
|
37925
|
+
headingFamily: z64.string().optional(),
|
|
37926
|
+
bodyFamily: z64.string().optional(),
|
|
37927
|
+
headingWeight: z64.number().optional(),
|
|
37928
|
+
bodyWeight: z64.number().optional()
|
|
36849
37929
|
}).optional(),
|
|
36850
|
-
spacing:
|
|
36851
|
-
corners:
|
|
36852
|
-
shadows:
|
|
36853
|
-
components:
|
|
36854
|
-
buttons:
|
|
36855
|
-
|
|
36856
|
-
|
|
36857
|
-
variants:
|
|
37930
|
+
spacing: z64.enum(["comfortable", "standard", "dense"]).optional(),
|
|
37931
|
+
corners: z64.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
37932
|
+
shadows: z64.enum(["none", "low", "medium", "high"]).optional(),
|
|
37933
|
+
components: z64.object({
|
|
37934
|
+
buttons: z64.union([
|
|
37935
|
+
z64.boolean(),
|
|
37936
|
+
z64.object({
|
|
37937
|
+
variants: z64.array(z64.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
36858
37938
|
})
|
|
36859
37939
|
]).optional(),
|
|
36860
|
-
cards:
|
|
36861
|
-
|
|
36862
|
-
|
|
36863
|
-
variants:
|
|
37940
|
+
cards: z64.union([
|
|
37941
|
+
z64.boolean(),
|
|
37942
|
+
z64.object({
|
|
37943
|
+
variants: z64.array(z64.enum(["default", "elevated", "outlined"])).optional()
|
|
36864
37944
|
})
|
|
36865
37945
|
]).optional(),
|
|
36866
|
-
inputs:
|
|
37946
|
+
inputs: z64.boolean().optional()
|
|
36867
37947
|
}).optional(),
|
|
36868
|
-
overrides:
|
|
37948
|
+
overrides: z64.record(z64.string(), z64.string()).optional()
|
|
36869
37949
|
}).passthrough();
|
|
36870
37950
|
|
|
36871
37951
|
// ../theme-core/src/siteChrome.tsx
|
|
@@ -37065,6 +38145,8 @@ function coerceToString(value) {
|
|
|
37065
38145
|
return String(value);
|
|
37066
38146
|
}
|
|
37067
38147
|
function coercePayload(payload) {
|
|
38148
|
+
const linkedContentEntries = coerceLinkedContentEntriesPayload(payload);
|
|
38149
|
+
if (linkedContentEntries !== payload) return linkedContentEntries;
|
|
37068
38150
|
if (payload && typeof payload === "object" && !Array.isArray(payload)) {
|
|
37069
38151
|
const record = payload;
|
|
37070
38152
|
if ("data" in record && typeof record.data !== "function") return record.data;
|
|
@@ -37152,6 +38234,7 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
37152
38234
|
"listPublicEvents",
|
|
37153
38235
|
"getPublicEventDetails",
|
|
37154
38236
|
"listPublicCourses",
|
|
38237
|
+
"listPublicRouteCandidates",
|
|
37155
38238
|
"listPublicTeamMembers",
|
|
37156
38239
|
"listPublicProducts",
|
|
37157
38240
|
"listPublicPasses",
|
|
@@ -37212,6 +38295,10 @@ function normalizeLoaderParams(endpoint, params, context) {
|
|
|
37212
38295
|
ensureSiteId(out, context);
|
|
37213
38296
|
return out;
|
|
37214
38297
|
}
|
|
38298
|
+
if (endpoint === "listPublicRouteCandidates") {
|
|
38299
|
+
ensureSiteId(out, context);
|
|
38300
|
+
return out;
|
|
38301
|
+
}
|
|
37215
38302
|
if (endpoint === "getPublishedEntryPreview") {
|
|
37216
38303
|
ensureSiteId(out, context);
|
|
37217
38304
|
return out;
|
|
@@ -37224,17 +38311,17 @@ function normalizeLoaderParams(endpoint, params, context) {
|
|
|
37224
38311
|
function unsafeRetypeZodSchema(schema) {
|
|
37225
38312
|
return schema;
|
|
37226
38313
|
}
|
|
37227
|
-
var navIdListSchema =
|
|
38314
|
+
var navIdListSchema = z65.preprocess((value) => {
|
|
37228
38315
|
if (!Array.isArray(value)) return void 0;
|
|
37229
38316
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
37230
38317
|
return filtered.length > 0 ? filtered : void 0;
|
|
37231
|
-
},
|
|
37232
|
-
var dashboardNavVisibilityBaseSchema =
|
|
37233
|
-
mode:
|
|
38318
|
+
}, z65.array(z65.string()).max(200).optional());
|
|
38319
|
+
var dashboardNavVisibilityBaseSchema = z65.object({
|
|
38320
|
+
mode: z65.enum(["augment", "restrict"]).optional(),
|
|
37234
38321
|
allowIds: navIdListSchema,
|
|
37235
38322
|
denyIds: navIdListSchema
|
|
37236
38323
|
}).strip();
|
|
37237
|
-
var dashboardNavVisibilityRolesSchema =
|
|
38324
|
+
var dashboardNavVisibilityRolesSchema = z65.object({
|
|
37238
38325
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
37239
38326
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
37240
38327
|
team_member: dashboardNavVisibilityBaseSchema.optional()
|
|
@@ -37242,63 +38329,63 @@ var dashboardNavVisibilityRolesSchema = z63.object({
|
|
|
37242
38329
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
37243
38330
|
roles: dashboardNavVisibilityRolesSchema
|
|
37244
38331
|
}).strip();
|
|
37245
|
-
var dashboardNavigationConfigSchema =
|
|
38332
|
+
var dashboardNavigationConfigSchema = z65.object({
|
|
37246
38333
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
37247
38334
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
37248
38335
|
}).strip();
|
|
37249
|
-
var dashboardConfigSchema =
|
|
37250
|
-
previewEditingEnabled:
|
|
38336
|
+
var dashboardConfigSchema = z65.object({
|
|
38337
|
+
previewEditingEnabled: z65.boolean().optional(),
|
|
37251
38338
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
37252
38339
|
}).strip();
|
|
37253
38340
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
37254
38341
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
37255
|
-
var sdkLoaderEndpointSchema =
|
|
37256
|
-
var loaderFallbackScalarSchema =
|
|
37257
|
-
|
|
37258
|
-
|
|
37259
|
-
|
|
37260
|
-
|
|
38342
|
+
var sdkLoaderEndpointSchema = z65.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
38343
|
+
var loaderFallbackScalarSchema = z65.union([
|
|
38344
|
+
z65.string(),
|
|
38345
|
+
z65.number(),
|
|
38346
|
+
z65.boolean(),
|
|
38347
|
+
z65.null()
|
|
37261
38348
|
]);
|
|
37262
|
-
var loaderParamBindingSchema =
|
|
37263
|
-
$bind:
|
|
37264
|
-
from:
|
|
38349
|
+
var loaderParamBindingSchema = z65.object({
|
|
38350
|
+
$bind: z65.object({
|
|
38351
|
+
from: z65.string().min(1, "Binding path is required"),
|
|
37265
38352
|
fallback: loaderFallbackScalarSchema.optional()
|
|
37266
38353
|
})
|
|
37267
38354
|
});
|
|
37268
|
-
var loaderParamValueSchema =
|
|
37269
|
-
|
|
37270
|
-
|
|
37271
|
-
|
|
38355
|
+
var loaderParamValueSchema = z65.union([
|
|
38356
|
+
z65.string(),
|
|
38357
|
+
z65.number(),
|
|
38358
|
+
z65.boolean(),
|
|
37272
38359
|
loaderParamBindingSchema
|
|
37273
38360
|
]);
|
|
37274
|
-
var sdkConfigLoaderSchema =
|
|
38361
|
+
var sdkConfigLoaderSchema = z65.object({
|
|
37275
38362
|
endpoint: sdkLoaderEndpointSchema,
|
|
37276
|
-
params:
|
|
37277
|
-
mode:
|
|
38363
|
+
params: z65.record(z65.string(), loaderParamValueSchema),
|
|
38364
|
+
mode: z65.enum(["server", "client"]).default("server")
|
|
37278
38365
|
});
|
|
37279
|
-
var sdkDataLoadersSchema =
|
|
37280
|
-
var sdkCustomBlockIdSchema =
|
|
38366
|
+
var sdkDataLoadersSchema = z65.record(z65.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
38367
|
+
var sdkCustomBlockIdSchema = z65.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
37281
38368
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
37282
38369
|
}).transform((value) => value);
|
|
37283
|
-
var sdkCustomBlockInputSchema =
|
|
38370
|
+
var sdkCustomBlockInputSchema = z65.object({
|
|
37284
38371
|
id: sdkCustomBlockIdSchema,
|
|
37285
|
-
title:
|
|
37286
|
-
titleSource:
|
|
37287
|
-
description:
|
|
38372
|
+
title: z65.string().min(1),
|
|
38373
|
+
titleSource: z65.union([z65.string().min(1), z65.array(z65.string().min(1)).min(1)]).optional(),
|
|
38374
|
+
description: z65.string().optional(),
|
|
37288
38375
|
category: blockCategoryEnum,
|
|
37289
|
-
icon:
|
|
37290
|
-
tags:
|
|
38376
|
+
icon: z65.string().optional(),
|
|
38377
|
+
tags: z65.array(z65.string()).optional(),
|
|
37291
38378
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
37292
38379
|
dataLoaders: sdkDataLoadersSchema,
|
|
37293
38380
|
layout: NodeSchema.optional(),
|
|
37294
|
-
variants:
|
|
37295
|
-
defaultVariant:
|
|
37296
|
-
variantOptions:
|
|
37297
|
-
|
|
37298
|
-
|
|
37299
|
-
label:
|
|
37300
|
-
description:
|
|
37301
|
-
icon:
|
|
38381
|
+
variants: z65.record(z65.string().min(1), NodeSchema).optional(),
|
|
38382
|
+
defaultVariant: z65.string().min(1).optional(),
|
|
38383
|
+
variantOptions: z65.record(
|
|
38384
|
+
z65.string().min(1),
|
|
38385
|
+
z65.object({
|
|
38386
|
+
label: z65.string().min(1).optional(),
|
|
38387
|
+
description: z65.string().min(1).optional(),
|
|
38388
|
+
icon: z65.string().min(1).optional()
|
|
37302
38389
|
})
|
|
37303
38390
|
).optional()
|
|
37304
38391
|
}).superRefine((data, ctx) => {
|
|
@@ -37308,7 +38395,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
37308
38395
|
const exists = data.fields.some((field) => field.id === source);
|
|
37309
38396
|
if (!exists) {
|
|
37310
38397
|
ctx.addIssue({
|
|
37311
|
-
code:
|
|
38398
|
+
code: z65.ZodIssueCode.custom,
|
|
37312
38399
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
37313
38400
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
37314
38401
|
});
|
|
@@ -37317,7 +38404,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
37317
38404
|
}
|
|
37318
38405
|
if (data.layout && data.variants) {
|
|
37319
38406
|
ctx.addIssue({
|
|
37320
|
-
code:
|
|
38407
|
+
code: z65.ZodIssueCode.custom,
|
|
37321
38408
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
37322
38409
|
path: ["variants"]
|
|
37323
38410
|
});
|
|
@@ -37326,14 +38413,14 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
37326
38413
|
const keys = Object.keys(data.variants);
|
|
37327
38414
|
if (keys.length === 0) {
|
|
37328
38415
|
ctx.addIssue({
|
|
37329
|
-
code:
|
|
38416
|
+
code: z65.ZodIssueCode.custom,
|
|
37330
38417
|
message: "`variants` must contain at least one variant key",
|
|
37331
38418
|
path: ["variants"]
|
|
37332
38419
|
});
|
|
37333
38420
|
}
|
|
37334
38421
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
37335
38422
|
ctx.addIssue({
|
|
37336
|
-
code:
|
|
38423
|
+
code: z65.ZodIssueCode.custom,
|
|
37337
38424
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
37338
38425
|
path: ["defaultVariant"]
|
|
37339
38426
|
});
|
|
@@ -37342,7 +38429,7 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
37342
38429
|
for (const key of Object.keys(data.variantOptions)) {
|
|
37343
38430
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
37344
38431
|
ctx.addIssue({
|
|
37345
|
-
code:
|
|
38432
|
+
code: z65.ZodIssueCode.custom,
|
|
37346
38433
|
message: "`variantOptions` key must exist in `variants`",
|
|
37347
38434
|
path: ["variantOptions", key]
|
|
37348
38435
|
});
|
|
@@ -37351,78 +38438,78 @@ var sdkCustomBlockInputSchema = z63.object({
|
|
|
37351
38438
|
}
|
|
37352
38439
|
}
|
|
37353
38440
|
});
|
|
37354
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
38441
|
+
var sdkBlockFieldExtensionInputSchema = z65.object({
|
|
37355
38442
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
37356
38443
|
});
|
|
37357
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
37358
|
-
|
|
38444
|
+
var sdkBlockFieldExtensionsInputSchema = z65.record(
|
|
38445
|
+
z65.string().min(1),
|
|
37359
38446
|
sdkBlockFieldExtensionInputSchema
|
|
37360
38447
|
);
|
|
37361
|
-
var sdkThemePaletteSchema =
|
|
37362
|
-
var sdkThemeConfigSchema =
|
|
38448
|
+
var sdkThemePaletteSchema = z65.record(z65.string(), z65.string());
|
|
38449
|
+
var sdkThemeConfigSchema = z65.object({
|
|
37363
38450
|
palette: sdkThemePaletteSchema
|
|
37364
38451
|
});
|
|
37365
|
-
var sdkSectionBackgroundSchema =
|
|
37366
|
-
id:
|
|
37367
|
-
label:
|
|
37368
|
-
token:
|
|
38452
|
+
var sdkSectionBackgroundSchema = z65.object({
|
|
38453
|
+
id: z65.string().min(1),
|
|
38454
|
+
label: z65.string().min(1),
|
|
38455
|
+
token: z65.string().min(1)
|
|
37369
38456
|
});
|
|
37370
|
-
var sdkSectionOptionsConfigSchema =
|
|
37371
|
-
backgroundColor:
|
|
37372
|
-
backgroundImage:
|
|
37373
|
-
backgroundGradient:
|
|
37374
|
-
spacing:
|
|
37375
|
-
textColor:
|
|
38457
|
+
var sdkSectionOptionsConfigSchema = z65.object({
|
|
38458
|
+
backgroundColor: z65.boolean().optional(),
|
|
38459
|
+
backgroundImage: z65.boolean().optional(),
|
|
38460
|
+
backgroundGradient: z65.boolean().optional(),
|
|
38461
|
+
spacing: z65.union([z65.array(z65.enum(["compact", "default", "spacious"])), z65.boolean()]).optional(),
|
|
38462
|
+
textColor: z65.boolean().optional()
|
|
37376
38463
|
});
|
|
37377
|
-
var sdkContainerOptionsConfigSchema =
|
|
37378
|
-
maxWidth:
|
|
37379
|
-
alignment:
|
|
38464
|
+
var sdkContainerOptionsConfigSchema = z65.object({
|
|
38465
|
+
maxWidth: z65.union([z65.array(z65.enum(["narrow", "default", "wide", "full"])), z65.boolean()]).optional(),
|
|
38466
|
+
alignment: z65.union([z65.array(z65.enum(["left", "center", "right"])), z65.boolean()]).optional()
|
|
37380
38467
|
});
|
|
37381
|
-
var sdkSiteStyleConfigSchema =
|
|
37382
|
-
sectionBackgrounds:
|
|
38468
|
+
var sdkSiteStyleConfigSchema = z65.object({
|
|
38469
|
+
sectionBackgrounds: z65.array(sdkSectionBackgroundSchema).optional(),
|
|
37383
38470
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
37384
38471
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
37385
38472
|
});
|
|
37386
|
-
var sdkSiteLayoutConfigSchema =
|
|
37387
|
-
footerBlocks:
|
|
37388
|
-
|
|
37389
|
-
id:
|
|
37390
|
-
kind:
|
|
37391
|
-
content:
|
|
38473
|
+
var sdkSiteLayoutConfigSchema = z65.object({
|
|
38474
|
+
footerBlocks: z65.array(
|
|
38475
|
+
z65.object({
|
|
38476
|
+
id: z65.string().min(1).optional(),
|
|
38477
|
+
kind: z65.string().min(1),
|
|
38478
|
+
content: z65.record(z65.string(), z65.unknown()).optional()
|
|
37392
38479
|
})
|
|
37393
38480
|
).optional()
|
|
37394
38481
|
});
|
|
37395
|
-
var sdkFieldSelectOptionSchema =
|
|
37396
|
-
value:
|
|
37397
|
-
label:
|
|
38482
|
+
var sdkFieldSelectOptionSchema = z65.object({
|
|
38483
|
+
value: z65.string(),
|
|
38484
|
+
label: z65.string()
|
|
37398
38485
|
});
|
|
37399
|
-
var sdkBlockFieldConfigSchema =
|
|
37400
|
-
options:
|
|
38486
|
+
var sdkBlockFieldConfigSchema = z65.object({
|
|
38487
|
+
options: z65.array(sdkFieldSelectOptionSchema).optional()
|
|
37401
38488
|
});
|
|
37402
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
37403
|
-
|
|
38489
|
+
var sdkBlockFieldOptionsMapSchema = z65.record(
|
|
38490
|
+
z65.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
37404
38491
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
37405
38492
|
}),
|
|
37406
|
-
|
|
38493
|
+
z65.record(z65.string().min(1), sdkBlockFieldConfigSchema)
|
|
37407
38494
|
).optional();
|
|
37408
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
37409
|
-
blocks:
|
|
38495
|
+
var sdkContentTypeTemplateConfigSchema = z65.object({
|
|
38496
|
+
blocks: z65.array(z65.unknown())
|
|
37410
38497
|
}).passthrough();
|
|
37411
|
-
var sdkContentTypeOrderingConfigSchema =
|
|
37412
|
-
mode:
|
|
38498
|
+
var sdkContentTypeOrderingConfigSchema = z65.object({
|
|
38499
|
+
mode: z65.enum(["default", "manual"]).optional()
|
|
37413
38500
|
}).optional();
|
|
37414
|
-
var sdkContentTypeConfigSchema =
|
|
37415
|
-
key:
|
|
37416
|
-
fields:
|
|
38501
|
+
var sdkContentTypeConfigSchema = z65.object({
|
|
38502
|
+
key: z65.string().min(1),
|
|
38503
|
+
fields: z65.array(z65.unknown()),
|
|
37417
38504
|
ordering: sdkContentTypeOrderingConfigSchema,
|
|
37418
38505
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
37419
38506
|
}).passthrough();
|
|
37420
|
-
var sdkContentConfigSchema =
|
|
37421
|
-
contentTypes:
|
|
37422
|
-
pages:
|
|
37423
|
-
entries:
|
|
37424
|
-
navigationMenus:
|
|
37425
|
-
settings:
|
|
38507
|
+
var sdkContentConfigSchema = z65.object({
|
|
38508
|
+
contentTypes: z65.array(sdkContentTypeConfigSchema).optional(),
|
|
38509
|
+
pages: z65.array(z65.unknown()).optional(),
|
|
38510
|
+
entries: z65.array(z65.unknown()).optional(),
|
|
38511
|
+
navigationMenus: z65.array(z65.unknown()).optional(),
|
|
38512
|
+
settings: z65.unknown().optional()
|
|
37426
38513
|
}).passthrough();
|
|
37427
38514
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
37428
38515
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -37437,62 +38524,62 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
37437
38524
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
37438
38525
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
37439
38526
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
37440
|
-
var sdkWorkflowIdSchema =
|
|
38527
|
+
var sdkWorkflowIdSchema = z65.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
37441
38528
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
37442
38529
|
});
|
|
37443
|
-
var sdkWorkflowEndpointSchema =
|
|
37444
|
-
var sdkWorkflowManualTriggerSchema =
|
|
37445
|
-
type:
|
|
38530
|
+
var sdkWorkflowEndpointSchema = z65.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
38531
|
+
var sdkWorkflowManualTriggerSchema = z65.object({
|
|
38532
|
+
type: z65.literal("manual")
|
|
37446
38533
|
}).strict();
|
|
37447
|
-
var sdkWorkflowTriggerFieldSchema =
|
|
38534
|
+
var sdkWorkflowTriggerFieldSchema = z65.string().trim().min(1).max(SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH).refine((field) => !field.includes("."), {
|
|
37448
38535
|
message: "Workflow trigger fields must be top-level content field IDs, not paths"
|
|
37449
38536
|
});
|
|
37450
|
-
var sdkWorkflowFieldChangedConditionSchema =
|
|
38537
|
+
var sdkWorkflowFieldChangedConditionSchema = z65.object({
|
|
37451
38538
|
field: sdkWorkflowTriggerFieldSchema,
|
|
37452
|
-
changed:
|
|
38539
|
+
changed: z65.literal(true)
|
|
37453
38540
|
}).strict();
|
|
37454
|
-
var sdkWorkflowFieldEmptyConditionSchema =
|
|
38541
|
+
var sdkWorkflowFieldEmptyConditionSchema = z65.object({
|
|
37455
38542
|
field: sdkWorkflowTriggerFieldSchema,
|
|
37456
|
-
isEmpty:
|
|
38543
|
+
isEmpty: z65.boolean()
|
|
37457
38544
|
}).strict();
|
|
37458
|
-
var sdkWorkflowEntryDraftUpdatedTriggerSchema =
|
|
37459
|
-
type:
|
|
37460
|
-
when:
|
|
37461
|
-
|
|
38545
|
+
var sdkWorkflowEntryDraftUpdatedTriggerSchema = z65.object({
|
|
38546
|
+
type: z65.literal("entry.draft.updated"),
|
|
38547
|
+
when: z65.array(
|
|
38548
|
+
z65.union([
|
|
37462
38549
|
sdkWorkflowFieldChangedConditionSchema,
|
|
37463
38550
|
sdkWorkflowFieldEmptyConditionSchema
|
|
37464
38551
|
])
|
|
37465
38552
|
).min(1).max(SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT)
|
|
37466
38553
|
}).strict();
|
|
37467
|
-
var sdkWorkflowTriggerSchema =
|
|
38554
|
+
var sdkWorkflowTriggerSchema = z65.discriminatedUnion("type", [
|
|
37468
38555
|
sdkWorkflowManualTriggerSchema,
|
|
37469
38556
|
sdkWorkflowEntryDraftUpdatedTriggerSchema
|
|
37470
38557
|
]);
|
|
37471
|
-
var sdkWorkflowConfirmationSchema =
|
|
37472
|
-
title:
|
|
37473
|
-
body:
|
|
38558
|
+
var sdkWorkflowConfirmationSchema = z65.object({
|
|
38559
|
+
title: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
38560
|
+
body: z65.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
37474
38561
|
}).strict();
|
|
37475
|
-
var sdkWorkflowConfigSchema =
|
|
38562
|
+
var sdkWorkflowConfigSchema = z65.object({
|
|
37476
38563
|
id: sdkWorkflowIdSchema,
|
|
37477
|
-
title:
|
|
37478
|
-
description:
|
|
37479
|
-
contentType:
|
|
38564
|
+
title: z65.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
38565
|
+
description: z65.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
38566
|
+
contentType: z65.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
37480
38567
|
endpoint: sdkWorkflowEndpointSchema,
|
|
37481
|
-
triggers:
|
|
38568
|
+
triggers: z65.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
37482
38569
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
37483
38570
|
}).strict();
|
|
37484
|
-
var sdkWorkflowsSchema =
|
|
38571
|
+
var sdkWorkflowsSchema = z65.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
37485
38572
|
const ids = workflows.map((workflow) => workflow.id);
|
|
37486
38573
|
return ids.length === new Set(ids).size;
|
|
37487
38574
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
37488
|
-
var riverbankSiteConfigInputSchema =
|
|
37489
|
-
siteId:
|
|
37490
|
-
previewUrl:
|
|
37491
|
-
liveUrl:
|
|
38575
|
+
var riverbankSiteConfigInputSchema = z65.object({
|
|
38576
|
+
siteId: z65.string().uuid(),
|
|
38577
|
+
previewUrl: z65.string().url().optional(),
|
|
38578
|
+
liveUrl: z65.string().url().optional(),
|
|
37492
38579
|
theme: sdkThemeConfigSchema.optional(),
|
|
37493
38580
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
37494
38581
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
37495
|
-
customBlocks:
|
|
38582
|
+
customBlocks: z65.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
37496
38583
|
const ids = blocks.map((b) => b.id);
|
|
37497
38584
|
return ids.length === new Set(ids).size;
|
|
37498
38585
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -37500,50 +38587,50 @@ var riverbankSiteConfigInputSchema = z63.object({
|
|
|
37500
38587
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
37501
38588
|
workflows: sdkWorkflowsSchema,
|
|
37502
38589
|
content: sdkContentConfigSchema.optional(),
|
|
37503
|
-
contentDir:
|
|
37504
|
-
sync:
|
|
37505
|
-
existingEntries:
|
|
38590
|
+
contentDir: z65.string().optional(),
|
|
38591
|
+
sync: z65.object({
|
|
38592
|
+
existingEntries: z65.enum(["skip", "update"]).optional()
|
|
37506
38593
|
}).optional(),
|
|
37507
|
-
deploy:
|
|
37508
|
-
verifyCommand:
|
|
37509
|
-
prebuildOutput:
|
|
38594
|
+
deploy: z65.object({
|
|
38595
|
+
verifyCommand: z65.string().optional(),
|
|
38596
|
+
prebuildOutput: z65.string().optional()
|
|
37510
38597
|
}).optional(),
|
|
37511
|
-
themeSource:
|
|
37512
|
-
activeTheme:
|
|
37513
|
-
enablePortal:
|
|
38598
|
+
themeSource: z65.enum(["local", "cms"]).optional(),
|
|
38599
|
+
activeTheme: z65.string().optional(),
|
|
38600
|
+
enablePortal: z65.boolean().optional(),
|
|
37514
38601
|
dashboard: dashboardConfigSchema.optional()
|
|
37515
38602
|
}).strict();
|
|
37516
|
-
var pushSdkConfigBodySchema =
|
|
38603
|
+
var pushSdkConfigBodySchema = z65.object({
|
|
37517
38604
|
config: riverbankSiteConfigInputSchema,
|
|
37518
|
-
forceContentTypes:
|
|
38605
|
+
forceContentTypes: z65.boolean().optional()
|
|
37519
38606
|
}).strict();
|
|
37520
38607
|
|
|
37521
38608
|
// ../api/src/siteOnboarding.ts
|
|
37522
|
-
import { z as
|
|
38609
|
+
import { z as z66 } from "zod";
|
|
37523
38610
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
37524
38611
|
configure_appointments: {
|
|
37525
38612
|
requirementId: "configure_appointments",
|
|
37526
38613
|
reason: "launch_anyway"
|
|
37527
38614
|
}
|
|
37528
38615
|
};
|
|
37529
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
38616
|
+
var acknowledgeLaunchRequirementRequestSchema = z66.discriminatedUnion(
|
|
37530
38617
|
"requirementId",
|
|
37531
38618
|
[
|
|
37532
|
-
|
|
37533
|
-
requirementId:
|
|
38619
|
+
z66.object({
|
|
38620
|
+
requirementId: z66.literal("review_generated_site")
|
|
37534
38621
|
}),
|
|
37535
|
-
|
|
37536
|
-
requirementId:
|
|
38622
|
+
z66.object({
|
|
38623
|
+
requirementId: z66.literal(
|
|
37537
38624
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
37538
38625
|
),
|
|
37539
|
-
overrideReason:
|
|
38626
|
+
overrideReason: z66.literal(
|
|
37540
38627
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
37541
38628
|
)
|
|
37542
38629
|
})
|
|
37543
38630
|
]
|
|
37544
38631
|
);
|
|
37545
|
-
var goLiveSiteRequestSchema =
|
|
37546
|
-
acceptExtraSiteCharge:
|
|
38632
|
+
var goLiveSiteRequestSchema = z66.object({
|
|
38633
|
+
acceptExtraSiteCharge: z66.boolean().optional()
|
|
37547
38634
|
});
|
|
37548
38635
|
|
|
37549
38636
|
// ../api/src/customerMembershipOutcomes.ts
|
|
@@ -37620,7 +38707,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
37620
38707
|
];
|
|
37621
38708
|
|
|
37622
38709
|
// ../api/src/bookingVerticals.ts
|
|
37623
|
-
import { z as
|
|
38710
|
+
import { z as z67 } from "zod";
|
|
37624
38711
|
var VERTICAL_IDS = [
|
|
37625
38712
|
"yoga_wellness",
|
|
37626
38713
|
"fitness_pt",
|
|
@@ -37785,39 +38872,39 @@ function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
|
37785
38872
|
}
|
|
37786
38873
|
return [...issues];
|
|
37787
38874
|
}
|
|
37788
|
-
var VerticalIdSchema =
|
|
38875
|
+
var VerticalIdSchema = z67.string().trim().transform((value, ctx) => {
|
|
37789
38876
|
const parsed = parseVerticalId(value);
|
|
37790
38877
|
if (!parsed) {
|
|
37791
38878
|
ctx.addIssue({
|
|
37792
|
-
code:
|
|
38879
|
+
code: z67.ZodIssueCode.custom,
|
|
37793
38880
|
message: "Unknown booking vertical"
|
|
37794
38881
|
});
|
|
37795
|
-
return
|
|
38882
|
+
return z67.NEVER;
|
|
37796
38883
|
}
|
|
37797
38884
|
return parsed;
|
|
37798
38885
|
});
|
|
37799
|
-
var VerticalPresetIdSchema =
|
|
38886
|
+
var VerticalPresetIdSchema = z67.string().trim().transform((value, ctx) => {
|
|
37800
38887
|
const parsed = parseVerticalPresetId(value);
|
|
37801
38888
|
if (!parsed) {
|
|
37802
38889
|
ctx.addIssue({
|
|
37803
|
-
code:
|
|
38890
|
+
code: z67.ZodIssueCode.custom,
|
|
37804
38891
|
message: "Unknown booking preset"
|
|
37805
38892
|
});
|
|
37806
|
-
return
|
|
38893
|
+
return z67.NEVER;
|
|
37807
38894
|
}
|
|
37808
38895
|
return parsed;
|
|
37809
38896
|
});
|
|
37810
|
-
var BookingVerticalConfigSchema =
|
|
38897
|
+
var BookingVerticalConfigSchema = z67.object({
|
|
37811
38898
|
verticalId: VerticalIdSchema.nullable(),
|
|
37812
|
-
selectedPresetIds:
|
|
38899
|
+
selectedPresetIds: z67.array(VerticalPresetIdSchema).max(20)
|
|
37813
38900
|
}).transform((value, ctx) => {
|
|
37814
38901
|
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
37815
38902
|
if (resolved.kind === "invalid") {
|
|
37816
38903
|
ctx.addIssue({
|
|
37817
|
-
code:
|
|
38904
|
+
code: z67.ZodIssueCode.custom,
|
|
37818
38905
|
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
37819
38906
|
});
|
|
37820
|
-
return
|
|
38907
|
+
return z67.NEVER;
|
|
37821
38908
|
}
|
|
37822
38909
|
return resolved.config;
|
|
37823
38910
|
});
|
|
@@ -37839,56 +38926,56 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
37839
38926
|
}
|
|
37840
38927
|
|
|
37841
38928
|
// ../api/src/utils/isRecord.ts
|
|
37842
|
-
function
|
|
38929
|
+
function isRecord4(value) {
|
|
37843
38930
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37844
38931
|
}
|
|
37845
38932
|
|
|
37846
38933
|
// ../api/src/appointmentSetup.ts
|
|
37847
|
-
import { z as
|
|
38934
|
+
import { z as z68 } from "zod";
|
|
37848
38935
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
37849
|
-
var appointmentSetupRefSchema =
|
|
37850
|
-
|
|
37851
|
-
|
|
38936
|
+
var appointmentSetupRefSchema = z68.discriminatedUnion("kind", [
|
|
38937
|
+
z68.object({ kind: z68.literal("existing"), id: z68.string().min(1) }),
|
|
38938
|
+
z68.object({ kind: z68.literal("new"), draftId: z68.string().min(1) })
|
|
37852
38939
|
]);
|
|
37853
|
-
var appointmentSetupVenueChoiceSchema =
|
|
37854
|
-
|
|
37855
|
-
|
|
37856
|
-
|
|
37857
|
-
kind:
|
|
37858
|
-
draftId:
|
|
37859
|
-
title:
|
|
37860
|
-
description:
|
|
37861
|
-
timezone:
|
|
37862
|
-
addressJson:
|
|
37863
|
-
locationJson:
|
|
38940
|
+
var appointmentSetupVenueChoiceSchema = z68.discriminatedUnion("kind", [
|
|
38941
|
+
z68.object({ kind: z68.literal("none") }),
|
|
38942
|
+
z68.object({ kind: z68.literal("existing"), venueId: z68.string().min(1) }),
|
|
38943
|
+
z68.object({
|
|
38944
|
+
kind: z68.literal("create"),
|
|
38945
|
+
draftId: z68.string().min(1),
|
|
38946
|
+
title: z68.string().trim().min(1),
|
|
38947
|
+
description: z68.string().nullable(),
|
|
38948
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
38949
|
+
addressJson: z68.record(z68.string(), z68.unknown()),
|
|
38950
|
+
locationJson: z68.object({ lat: z68.number(), lng: z68.number() }).nullable()
|
|
37864
38951
|
})
|
|
37865
38952
|
]);
|
|
37866
|
-
var appointmentSetupPaymentDraftSchema =
|
|
37867
|
-
priceType:
|
|
37868
|
-
});
|
|
37869
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
37870
|
-
|
|
37871
|
-
|
|
37872
|
-
kind:
|
|
37873
|
-
resourceRefs:
|
|
38953
|
+
var appointmentSetupPaymentDraftSchema = z68.object({
|
|
38954
|
+
priceType: z68.union([z68.literal("free"), z68.literal("paid")])
|
|
38955
|
+
});
|
|
38956
|
+
var appointmentSetupServiceAssignmentDraftSchema = z68.discriminatedUnion("kind", [
|
|
38957
|
+
z68.object({ kind: z68.literal("all_practitioners") }),
|
|
38958
|
+
z68.object({
|
|
38959
|
+
kind: z68.literal("selected_practitioners"),
|
|
38960
|
+
resourceRefs: z68.array(appointmentSetupRefSchema)
|
|
37874
38961
|
})
|
|
37875
38962
|
]);
|
|
37876
|
-
var appointmentSetupServiceDraftSchema =
|
|
38963
|
+
var appointmentSetupServiceDraftSchema = z68.object({
|
|
37877
38964
|
ref: appointmentSetupRefSchema,
|
|
37878
|
-
title:
|
|
37879
|
-
description:
|
|
37880
|
-
durationMinutes:
|
|
37881
|
-
prepMinutes:
|
|
37882
|
-
cleanupMinutes:
|
|
37883
|
-
priceAmount:
|
|
37884
|
-
isActive:
|
|
37885
|
-
locationType:
|
|
37886
|
-
|
|
37887
|
-
|
|
37888
|
-
|
|
38965
|
+
title: z68.string().trim().min(1),
|
|
38966
|
+
description: z68.string().nullable(),
|
|
38967
|
+
durationMinutes: z68.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
38968
|
+
prepMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38969
|
+
cleanupMinutes: z68.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
38970
|
+
priceAmount: z68.number().int().nonnegative().nullable(),
|
|
38971
|
+
isActive: z68.boolean(),
|
|
38972
|
+
locationType: z68.union([
|
|
38973
|
+
z68.literal("virtual"),
|
|
38974
|
+
z68.literal("in_person"),
|
|
38975
|
+
z68.literal("hybrid")
|
|
37889
38976
|
]),
|
|
37890
38977
|
venue: appointmentSetupVenueChoiceSchema,
|
|
37891
|
-
timezone:
|
|
38978
|
+
timezone: z68.string().trim().min(1).nullable(),
|
|
37892
38979
|
payment: appointmentSetupPaymentDraftSchema,
|
|
37893
38980
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
37894
38981
|
}).superRefine((service, ctx) => {
|
|
@@ -37907,49 +38994,49 @@ var appointmentSetupServiceDraftSchema = z66.object({
|
|
|
37907
38994
|
});
|
|
37908
38995
|
}
|
|
37909
38996
|
});
|
|
37910
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
38997
|
+
var appointmentSetupPractitionerDraftSchema = z68.object({
|
|
37911
38998
|
ref: appointmentSetupRefSchema,
|
|
37912
|
-
displayName:
|
|
37913
|
-
bio:
|
|
37914
|
-
timezone:
|
|
37915
|
-
colorHex:
|
|
37916
|
-
});
|
|
37917
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
37918
|
-
weekday:
|
|
37919
|
-
startTime:
|
|
37920
|
-
endTime:
|
|
37921
|
-
});
|
|
37922
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
37923
|
-
|
|
37924
|
-
|
|
37925
|
-
kind:
|
|
37926
|
-
intervalMinutes:
|
|
37927
|
-
|
|
37928
|
-
|
|
37929
|
-
|
|
37930
|
-
|
|
37931
|
-
|
|
37932
|
-
|
|
38999
|
+
displayName: z68.string().trim().min(1),
|
|
39000
|
+
bio: z68.string().nullable(),
|
|
39001
|
+
timezone: z68.string().trim().min(1),
|
|
39002
|
+
colorHex: z68.string().nullable()
|
|
39003
|
+
});
|
|
39004
|
+
var appointmentSetupWeeklyWindowDraftSchema = z68.object({
|
|
39005
|
+
weekday: z68.number().int().min(0).max(6),
|
|
39006
|
+
startTime: z68.string(),
|
|
39007
|
+
endTime: z68.string()
|
|
39008
|
+
});
|
|
39009
|
+
var appointmentSetupStartTimePolicyDraftSchema = z68.discriminatedUnion("kind", [
|
|
39010
|
+
z68.object({ kind: z68.literal("automatic_spacing") }),
|
|
39011
|
+
z68.object({
|
|
39012
|
+
kind: z68.literal("regular_interval"),
|
|
39013
|
+
intervalMinutes: z68.union([
|
|
39014
|
+
z68.literal(10),
|
|
39015
|
+
z68.literal(15),
|
|
39016
|
+
z68.literal(20),
|
|
39017
|
+
z68.literal(30),
|
|
39018
|
+
z68.literal(45),
|
|
39019
|
+
z68.literal(60)
|
|
37933
39020
|
])
|
|
37934
39021
|
})
|
|
37935
39022
|
]);
|
|
37936
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
37937
|
-
kind:
|
|
39023
|
+
var appointmentSetupAvailabilityDraftSchema = z68.object({
|
|
39024
|
+
kind: z68.literal("weekly_windows"),
|
|
37938
39025
|
resourceRef: appointmentSetupRefSchema,
|
|
37939
39026
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
37940
|
-
windows:
|
|
39027
|
+
windows: z68.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
37941
39028
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
37942
39029
|
});
|
|
37943
39030
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
37944
39031
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
37945
|
-
var appointmentSetupBookingNoticeSchema =
|
|
37946
|
-
minLeadMinutes:
|
|
37947
|
-
maxBookingNoticeMinutes:
|
|
37948
|
-
});
|
|
37949
|
-
var applyAppointmentSetupRequestSchema =
|
|
37950
|
-
services:
|
|
37951
|
-
practitioners:
|
|
37952
|
-
availability:
|
|
39032
|
+
var appointmentSetupBookingNoticeSchema = z68.object({
|
|
39033
|
+
minLeadMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
39034
|
+
maxBookingNoticeMinutes: z68.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
39035
|
+
});
|
|
39036
|
+
var applyAppointmentSetupRequestSchema = z68.object({
|
|
39037
|
+
services: z68.array(appointmentSetupServiceDraftSchema),
|
|
39038
|
+
practitioners: z68.array(appointmentSetupPractitionerDraftSchema),
|
|
39039
|
+
availability: z68.array(appointmentSetupAvailabilityDraftSchema),
|
|
37953
39040
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
37954
39041
|
});
|
|
37955
39042
|
|
|
@@ -37982,24 +39069,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
37982
39069
|
];
|
|
37983
39070
|
|
|
37984
39071
|
// ../api/src/siteBanner.ts
|
|
37985
|
-
import { z as
|
|
39072
|
+
import { z as z69 } from "zod";
|
|
37986
39073
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
37987
39074
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
37988
39075
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
37989
39076
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
37990
|
-
var siteBannerScopeSchema =
|
|
37991
|
-
var siteBannerToneSchema =
|
|
37992
|
-
var siteBannerBodySchema =
|
|
37993
|
-
var siteBannerCtaSchema =
|
|
37994
|
-
label:
|
|
39077
|
+
var siteBannerScopeSchema = z69.enum(SITE_BANNER_SCOPE_VALUES);
|
|
39078
|
+
var siteBannerToneSchema = z69.enum(SITE_BANNER_TONE_VALUES);
|
|
39079
|
+
var siteBannerBodySchema = z69.unknown().transform(unwrapRichTextValue);
|
|
39080
|
+
var siteBannerCtaSchema = z69.object({
|
|
39081
|
+
label: z69.string().trim().min(1),
|
|
37995
39082
|
link: linkPayloadSchema
|
|
37996
39083
|
});
|
|
37997
|
-
var siteBannerSettingsSchema =
|
|
37998
|
-
|
|
37999
|
-
enabled:
|
|
39084
|
+
var siteBannerSettingsSchema = z69.discriminatedUnion("enabled", [
|
|
39085
|
+
z69.object({
|
|
39086
|
+
enabled: z69.literal(false)
|
|
38000
39087
|
}),
|
|
38001
|
-
|
|
38002
|
-
enabled:
|
|
39088
|
+
z69.object({
|
|
39089
|
+
enabled: z69.literal(true),
|
|
38003
39090
|
scope: siteBannerScopeSchema,
|
|
38004
39091
|
tone: siteBannerToneSchema,
|
|
38005
39092
|
body: siteBannerBodySchema,
|
|
@@ -38013,7 +39100,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
38013
39100
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
38014
39101
|
for (const issue of analysis.issues) {
|
|
38015
39102
|
ctx.addIssue({
|
|
38016
|
-
code:
|
|
39103
|
+
code: z69.ZodIssueCode.custom,
|
|
38017
39104
|
path: ["body"],
|
|
38018
39105
|
message: siteBannerBodyIssueMessage(issue)
|
|
38019
39106
|
});
|
|
@@ -38146,7 +39233,7 @@ function sanitizeMarks(marks) {
|
|
|
38146
39233
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
38147
39234
|
return [{ type: mark.type }];
|
|
38148
39235
|
}
|
|
38149
|
-
if (mark.type === "link" &&
|
|
39236
|
+
if (mark.type === "link" && isRecord4(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
38150
39237
|
const attrs = { href: mark.attrs.href };
|
|
38151
39238
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
38152
39239
|
attrs.target = mark.attrs.target;
|
|
@@ -38161,10 +39248,10 @@ function sanitizeMarks(marks) {
|
|
|
38161
39248
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
38162
39249
|
}
|
|
38163
39250
|
function unwrapRichTextValue(value) {
|
|
38164
|
-
if (
|
|
39251
|
+
if (isRecord4(value) && isRecord4(value.doc)) {
|
|
38165
39252
|
return unwrapRichTextValue(value.doc);
|
|
38166
39253
|
}
|
|
38167
|
-
if (
|
|
39254
|
+
if (isRecord4(value) && value.type === "doc") {
|
|
38168
39255
|
return {
|
|
38169
39256
|
type: "doc",
|
|
38170
39257
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -38173,7 +39260,7 @@ function unwrapRichTextValue(value) {
|
|
|
38173
39260
|
return EMPTY_SITE_BANNER_BODY;
|
|
38174
39261
|
}
|
|
38175
39262
|
function isTipTapNodeLike(value) {
|
|
38176
|
-
return
|
|
39263
|
+
return isRecord4(value) && typeof value.type === "string";
|
|
38177
39264
|
}
|
|
38178
39265
|
function coerceTipTapNode(value) {
|
|
38179
39266
|
return {
|
|
@@ -38181,9 +39268,9 @@ function coerceTipTapNode(value) {
|
|
|
38181
39268
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
38182
39269
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
38183
39270
|
...Array.isArray(value.marks) ? {
|
|
38184
|
-
marks: value.marks.filter((mark) =>
|
|
39271
|
+
marks: value.marks.filter((mark) => isRecord4(mark) && typeof mark.type === "string").map((mark) => ({
|
|
38185
39272
|
type: mark.type,
|
|
38186
|
-
...
|
|
39273
|
+
...isRecord4(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
38187
39274
|
}))
|
|
38188
39275
|
} : {}
|
|
38189
39276
|
};
|
|
@@ -38240,71 +39327,71 @@ function unsafeAsNavigationMenuIdentifier(identifier) {
|
|
|
38240
39327
|
var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
|
|
38241
39328
|
|
|
38242
39329
|
// ../api/src/aiPlayground.ts
|
|
38243
|
-
import { z as
|
|
38244
|
-
var Rfc6902PatchOp =
|
|
39330
|
+
import { z as z70 } from "zod";
|
|
39331
|
+
var Rfc6902PatchOp = z70.discriminatedUnion("op", [
|
|
38245
39332
|
// Standard RFC-6902 operations
|
|
38246
|
-
|
|
38247
|
-
op:
|
|
38248
|
-
path:
|
|
38249
|
-
value:
|
|
39333
|
+
z70.object({
|
|
39334
|
+
op: z70.literal("add"),
|
|
39335
|
+
path: z70.string(),
|
|
39336
|
+
value: z70.unknown()
|
|
38250
39337
|
}),
|
|
38251
|
-
|
|
38252
|
-
op:
|
|
38253
|
-
path:
|
|
39338
|
+
z70.object({
|
|
39339
|
+
op: z70.literal("remove"),
|
|
39340
|
+
path: z70.string()
|
|
38254
39341
|
}),
|
|
38255
|
-
|
|
38256
|
-
op:
|
|
38257
|
-
path:
|
|
38258
|
-
value:
|
|
39342
|
+
z70.object({
|
|
39343
|
+
op: z70.literal("replace"),
|
|
39344
|
+
path: z70.string(),
|
|
39345
|
+
value: z70.unknown()
|
|
38259
39346
|
}),
|
|
38260
|
-
|
|
38261
|
-
op:
|
|
38262
|
-
from:
|
|
38263
|
-
path:
|
|
39347
|
+
z70.object({
|
|
39348
|
+
op: z70.literal("move"),
|
|
39349
|
+
from: z70.string(),
|
|
39350
|
+
path: z70.string()
|
|
38264
39351
|
}),
|
|
38265
|
-
|
|
38266
|
-
op:
|
|
38267
|
-
from:
|
|
38268
|
-
path:
|
|
39352
|
+
z70.object({
|
|
39353
|
+
op: z70.literal("copy"),
|
|
39354
|
+
from: z70.string(),
|
|
39355
|
+
path: z70.string()
|
|
38269
39356
|
}),
|
|
38270
39357
|
// Block-level operations (Phase 2)
|
|
38271
|
-
|
|
38272
|
-
op:
|
|
38273
|
-
blockKind:
|
|
38274
|
-
afterBlockId:
|
|
38275
|
-
content:
|
|
38276
|
-
rationale:
|
|
39358
|
+
z70.object({
|
|
39359
|
+
op: z70.literal("add_block"),
|
|
39360
|
+
blockKind: z70.string(),
|
|
39361
|
+
afterBlockId: z70.string().nullable(),
|
|
39362
|
+
content: z70.record(z70.string(), z70.unknown()),
|
|
39363
|
+
rationale: z70.string()
|
|
38277
39364
|
}),
|
|
38278
|
-
|
|
38279
|
-
op:
|
|
38280
|
-
blockId:
|
|
38281
|
-
rationale:
|
|
39365
|
+
z70.object({
|
|
39366
|
+
op: z70.literal("delete_block"),
|
|
39367
|
+
blockId: z70.string(),
|
|
39368
|
+
rationale: z70.string()
|
|
38282
39369
|
}),
|
|
38283
|
-
|
|
38284
|
-
op:
|
|
38285
|
-
blockId:
|
|
38286
|
-
afterBlockId:
|
|
38287
|
-
rationale:
|
|
39370
|
+
z70.object({
|
|
39371
|
+
op: z70.literal("reorder_block"),
|
|
39372
|
+
blockId: z70.string(),
|
|
39373
|
+
afterBlockId: z70.string().nullable(),
|
|
39374
|
+
rationale: z70.string()
|
|
38288
39375
|
})
|
|
38289
39376
|
]);
|
|
38290
|
-
var PlaygroundProposeRequest =
|
|
38291
|
-
request:
|
|
39377
|
+
var PlaygroundProposeRequest = z70.object({
|
|
39378
|
+
request: z70.string().min(1).max(2e3)
|
|
38292
39379
|
});
|
|
38293
|
-
var MultiPagePatchEnvelope =
|
|
38294
|
-
pageId:
|
|
38295
|
-
blockId:
|
|
39380
|
+
var MultiPagePatchEnvelope = z70.object({
|
|
39381
|
+
pageId: z70.string(),
|
|
39382
|
+
blockId: z70.string().optional(),
|
|
38296
39383
|
// Not present for page-level ops
|
|
38297
|
-
blockKind:
|
|
38298
|
-
blockPurpose:
|
|
38299
|
-
ops:
|
|
38300
|
-
rationale:
|
|
38301
|
-
currentContent:
|
|
38302
|
-
});
|
|
38303
|
-
var MultiPageUpdateResponse =
|
|
38304
|
-
patches:
|
|
38305
|
-
assistantMessage:
|
|
38306
|
-
pagesModified:
|
|
38307
|
-
toolCallsUsed:
|
|
39384
|
+
blockKind: z70.string().optional(),
|
|
39385
|
+
blockPurpose: z70.string().optional().nullable(),
|
|
39386
|
+
ops: z70.array(Rfc6902PatchOp),
|
|
39387
|
+
rationale: z70.string(),
|
|
39388
|
+
currentContent: z70.record(z70.string(), z70.unknown()).optional()
|
|
39389
|
+
});
|
|
39390
|
+
var MultiPageUpdateResponse = z70.object({
|
|
39391
|
+
patches: z70.array(MultiPagePatchEnvelope),
|
|
39392
|
+
assistantMessage: z70.string(),
|
|
39393
|
+
pagesModified: z70.number(),
|
|
39394
|
+
toolCallsUsed: z70.number()
|
|
38308
39395
|
});
|
|
38309
39396
|
|
|
38310
39397
|
// src/data/prefetchBlockData.ts
|