@riverbankcms/sdk 0.77.1 → 0.78.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -43
- package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +4962 -4885
- package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +190 -154
- package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
- package/dist/_dts/api/src/billing.d.ts +3 -26
- package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
- package/dist/_dts/api/src/content-editor.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +17 -0
- package/dist/_dts/api/src/index.d.ts +16 -4
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
- package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
- package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
- package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
- package/dist/_dts/api/src/navigation.d.ts +12 -0
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
- package/dist/_dts/api/src/staffAccess.d.ts +79 -0
- package/dist/_dts/api/src/types.d.ts +14 -27
- package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +68 -21
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
- package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +193 -29
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
- package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
- package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
- package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
- package/dist/_dts/content-editor/src/index.d.ts +6 -1
- package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +17 -3
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +108 -85
- package/dist/_dts/core/src/csv-cells.d.ts +10 -0
- package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
- package/dist/_dts/core/src/csv-escape.d.ts +1 -0
- package/dist/_dts/core/src/csv-filename.d.ts +18 -0
- package/dist/_dts/core/src/csv-render.d.ts +4 -0
- package/dist/_dts/core/src/csv-types.d.ts +116 -0
- package/dist/_dts/core/src/currency-format.d.ts +4 -0
- package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
- package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
- package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
- package/dist/_dts/core/src/duration.d.ts +14 -0
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/email-format.d.ts +10 -0
- package/dist/_dts/core/src/field-errors.d.ts +1 -0
- package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
- package/dist/_dts/core/src/index.d.ts +20 -0
- package/dist/_dts/core/src/number-input.d.ts +22 -0
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
- package/dist/_dts/core/src/slug.d.ts +39 -0
- package/dist/_dts/core/src/string.d.ts +19 -0
- package/dist/_dts/core/src/uuid.d.ts +6 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
- package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
- package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
- package/dist/_dts/media-core/src/filename.d.ts +1 -0
- package/dist/_dts/media-core/src/index.d.ts +10 -0
- package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
- package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
- package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +8 -0
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/client/error.d.ts +3 -0
- package/dist/_dts/sdk/src/client/index.d.ts +2 -2
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
- package/dist/_dts/sdk/src/client/types.d.ts +39 -21
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
- package/dist/_dts/sdk/src/index.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
- package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
- package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -12
- package/dist/_dts/site-commands/src/index.d.ts +1 -0
- package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +3 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
- package/dist/_dts/theme-core/src/schema.d.ts +64 -18
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
- package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-IENWFSLO.mjs → chunk-4QEGTLK6.mjs} +1 -1
- package/dist/{chunk-ZYEJLCTN.mjs → chunk-6HYXHRAI.mjs} +5 -5
- package/dist/{chunk-VX7B5VAC.mjs → chunk-CR5HKAGU.mjs} +32 -5
- package/dist/{chunk-KWJPDZH2.mjs → chunk-MCRQMPET.mjs} +3793 -1201
- package/dist/{chunk-6SMUFTXD.mjs → chunk-OKMBEAXY.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-2SPENC5M.mjs → chunk-RGTOD4AJ.mjs} +242 -57
- package/dist/cli/index.mjs +2361 -668
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-RZMQSYLR.mjs → accordion-PLYNJIIM.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-BXAP6AO7.mjs} +76 -72
- package/dist/client/bookings.mjs +3765 -310
- package/dist/client/{carousel-LDX47ZIK.mjs → carousel-TRBXDHGF.mjs} +3 -4
- package/dist/client/{cart-RGXDS5F4.mjs → cart-Z7H3HJRS.mjs} +8 -8
- package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WAFCUBIX.mjs} +8 -8
- package/dist/client/{chunk-II7O4XN3.mjs → chunk-75OUS5MT.mjs} +2 -2
- package/dist/client/{chunk-PMAIXMAB.mjs → chunk-AUJ5DBZJ.mjs} +42 -37
- package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-E2TDNXCL.mjs → chunk-CWGTG37I.mjs} +2 -1
- package/dist/client/{chunk-UFSWADAO.mjs → chunk-DNRGY432.mjs} +6 -67
- package/dist/client/{chunk-GMVTOKYG.mjs → chunk-FUXW6VW2.mjs} +512 -66
- package/dist/client/{chunk-R56FQ3RR.mjs → chunk-JGXPTEI2.mjs} +322 -106
- package/dist/client/{chunk-L3DNHIJX.mjs → chunk-JRDUHZCT.mjs} +53 -53
- package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
- package/dist/client/{chunk-JEZECJ3W.mjs → chunk-UVQEJJTN.mjs} +129 -3
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/chunk-ZFHRN6W2.mjs +66 -0
- package/dist/client/{chunk-JNC7CGHX.mjs → chunk-ZI3LLBPZ.mjs} +3 -3
- package/dist/client/client.mjs +7577 -4979
- package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-AHFQHWIJ.mjs} +19 -16
- package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-LDXTV5R7.mjs} +10 -10
- package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-A4JGTNJO.mjs} +10 -10
- package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-4YXTZ7EG.mjs} +10 -10
- package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-P72TPFFM.mjs} +10 -10
- package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-LSYJHGMT.mjs} +10 -10
- package/dist/client/{form-ETFZFATW.mjs → form-AOPYOKOW.mjs} +10 -7
- package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
- package/dist/client/hooks.mjs +1119 -327
- package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
- package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-KTRHZY52.mjs} +3 -3
- package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-N4E775RG.mjs} +8 -8
- package/dist/client/{productList-A5RO5WIS.mjs → productList-UGUQ2S45.mjs} +8 -8
- package/dist/client/rendering/client.mjs +7262 -2775
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +6964 -4587
- package/dist/client/{shop-L4MZH4I2.mjs → shop-VHSZEEQ2.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +18 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/editor-chrome.css +10 -0
- package/dist/preview-next/middleware.mjs +18 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
- package/dist/server/components.mjs +2736 -1316
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +1346 -550
- package/dist/server/config.mjs +1346 -550
- package/dist/server/data.mjs +1118 -326
- package/dist/server/index.mjs +514 -251
- package/dist/server/next.mjs +4446 -2444
- package/dist/server/page-converter.mjs +631 -155
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2743 -1323
- package/dist/server/rendering.mjs +2764 -1328
- package/dist/server/routing.mjs +1860 -590
- package/dist/server/server.mjs +1622 -575
- package/dist/server/theme-bridge.mjs +3151 -131
- package/dist/server/theme.mjs +10 -1
- package/dist/styles/index.css +488 -48
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
- package/dist/client/chunk-OJPZEZU2.mjs +0 -31
- package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
- package/dist/sdk-runtime-6UT2S7KZ.mjs +0 -8
package/dist/server/server.mjs
CHANGED
|
@@ -1803,7 +1803,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1803
1803
|
revalidate: 60,
|
|
1804
1804
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
1805
1805
|
auth: "user",
|
|
1806
|
-
responseKind: "json"
|
|
1806
|
+
responseKind: "json",
|
|
1807
|
+
errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
|
|
1808
|
+
},
|
|
1809
|
+
reorderContentEntries: {
|
|
1810
|
+
path: "/sites/{siteId}/content/{type}/order",
|
|
1811
|
+
method: "POST",
|
|
1812
|
+
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
1813
|
+
auth: "user",
|
|
1814
|
+
responseKind: "json",
|
|
1815
|
+
errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
|
|
1807
1816
|
},
|
|
1808
1817
|
getContentTemplate: {
|
|
1809
1818
|
path: "/sites/{siteId}/content/types/{type}/template",
|
|
@@ -3955,6 +3964,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3955
3964
|
responseKind: "json",
|
|
3956
3965
|
errors: []
|
|
3957
3966
|
},
|
|
3967
|
+
applyDiscountCode: {
|
|
3968
|
+
path: "/public/sites/{siteId}/bookings/discounts/apply",
|
|
3969
|
+
method: "POST",
|
|
3970
|
+
tags: ["site-{siteId}", "booking-discounts"],
|
|
3971
|
+
auth: "public",
|
|
3972
|
+
responseKind: "json",
|
|
3973
|
+
errors: ["validation:invalid_input", "rate_limit:exceeded"]
|
|
3974
|
+
},
|
|
3958
3975
|
// Batch endpoint for block loader requests (reduces SSR fan-out)
|
|
3959
3976
|
batchBlockLoaders: {
|
|
3960
3977
|
path: "/public/sites/{siteId}/block-loaders/batch",
|
|
@@ -6408,18 +6425,21 @@ function buildEndpointURL(baseURL, endpoint) {
|
|
|
6408
6425
|
function isFormDataBody(value) {
|
|
6409
6426
|
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
6410
6427
|
}
|
|
6428
|
+
function isUnknownArray(value) {
|
|
6429
|
+
return Array.isArray(value);
|
|
6430
|
+
}
|
|
6411
6431
|
function appendQueryParam(queryParams, key, value) {
|
|
6412
6432
|
if (value === void 0 || value === null) {
|
|
6413
6433
|
return;
|
|
6414
6434
|
}
|
|
6415
|
-
if (
|
|
6435
|
+
if (isUnknownArray(value)) {
|
|
6416
6436
|
const stack2 = [...value].reverse();
|
|
6417
6437
|
while (stack2.length > 0) {
|
|
6418
6438
|
const item = stack2.pop();
|
|
6419
6439
|
if (item === void 0 || item === null) {
|
|
6420
6440
|
continue;
|
|
6421
6441
|
}
|
|
6422
|
-
if (
|
|
6442
|
+
if (isUnknownArray(item)) {
|
|
6423
6443
|
stack2.push(...[...item].reverse());
|
|
6424
6444
|
continue;
|
|
6425
6445
|
}
|
|
@@ -6429,6 +6449,12 @@ function appendQueryParam(queryParams, key, value) {
|
|
|
6429
6449
|
}
|
|
6430
6450
|
queryParams.append(key, String(value));
|
|
6431
6451
|
}
|
|
6452
|
+
function serializePathParam(endpoint, key, value) {
|
|
6453
|
+
if (typeof value === "string") {
|
|
6454
|
+
return value;
|
|
6455
|
+
}
|
|
6456
|
+
throw new Error(`Invalid path param for endpoint ${String(endpoint)}: ${key} must be a string`);
|
|
6457
|
+
}
|
|
6432
6458
|
function invalidateCacheTags(tags2, params) {
|
|
6433
6459
|
const resolved = getRevalidateTag();
|
|
6434
6460
|
if (typeof window !== "undefined" || !resolved || !tags2) return;
|
|
@@ -6567,8 +6593,9 @@ function createRawCMSClient(headers = {}, baseUrl) {
|
|
|
6567
6593
|
const bracePlaceholder = `{${key}}`;
|
|
6568
6594
|
const colonPlaceholder = `:${key}`;
|
|
6569
6595
|
if (originalPath.includes(bracePlaceholder) || originalPath.includes(colonPlaceholder)) {
|
|
6570
|
-
|
|
6571
|
-
url = url.replace(
|
|
6596
|
+
const stringValue = serializePathParam(endpoint, key, value);
|
|
6597
|
+
url = url.replace(bracePlaceholder, stringValue);
|
|
6598
|
+
url = url.replace(colonPlaceholder, stringValue);
|
|
6572
6599
|
} else {
|
|
6573
6600
|
unusedParams[key] = value;
|
|
6574
6601
|
}
|
|
@@ -6842,7 +6869,7 @@ var SimpleCache = class {
|
|
|
6842
6869
|
};
|
|
6843
6870
|
|
|
6844
6871
|
// src/version.ts
|
|
6845
|
-
var SDK_VERSION = "0.
|
|
6872
|
+
var SDK_VERSION = "0.78.2";
|
|
6846
6873
|
|
|
6847
6874
|
// src/client/error.ts
|
|
6848
6875
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -6987,6 +7014,16 @@ var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
|
6987
7014
|
return lines.join("\n");
|
|
6988
7015
|
}
|
|
6989
7016
|
};
|
|
7017
|
+
var resilienceStatusSymbol = /* @__PURE__ */ Symbol.for("riverbankcms.sdk.resilienceStatus");
|
|
7018
|
+
function attachResilienceStatusToError(error, resilienceStatus) {
|
|
7019
|
+
const target = error !== null && (typeof error === "object" || typeof error === "function") ? error : new Error(error === void 0 ? "Unknown error" : String(error));
|
|
7020
|
+
Object.defineProperty(target, resilienceStatusSymbol, {
|
|
7021
|
+
configurable: true,
|
|
7022
|
+
enumerable: false,
|
|
7023
|
+
value: resilienceStatus
|
|
7024
|
+
});
|
|
7025
|
+
return target;
|
|
7026
|
+
}
|
|
6990
7027
|
|
|
6991
7028
|
// src/client/resilience.ts
|
|
6992
7029
|
var DEFAULT_RETRY_CONFIG = {
|
|
@@ -7245,7 +7282,10 @@ var CircuitOpenError = class extends Error {
|
|
|
7245
7282
|
var prebuildModule = null;
|
|
7246
7283
|
function tryRequire(modulePath) {
|
|
7247
7284
|
try {
|
|
7248
|
-
const
|
|
7285
|
+
const getRequire = new Function(
|
|
7286
|
+
'return typeof require === "function" ? require : null'
|
|
7287
|
+
);
|
|
7288
|
+
const req = getRequire();
|
|
7249
7289
|
return req ? req(modulePath) : null;
|
|
7250
7290
|
} catch {
|
|
7251
7291
|
return null;
|
|
@@ -7264,7 +7304,9 @@ function getPrebuildModule() {
|
|
|
7264
7304
|
return null;
|
|
7265
7305
|
}
|
|
7266
7306
|
try {
|
|
7267
|
-
prebuildModule = tryRequire(
|
|
7307
|
+
prebuildModule = tryRequire(
|
|
7308
|
+
"../prebuild/loader"
|
|
7309
|
+
);
|
|
7268
7310
|
return prebuildModule;
|
|
7269
7311
|
} catch {
|
|
7270
7312
|
return null;
|
|
@@ -7324,7 +7366,9 @@ function normalizePublicFormResult(result) {
|
|
|
7324
7366
|
}
|
|
7325
7367
|
function normalizePublicFormsResponse(response) {
|
|
7326
7368
|
return {
|
|
7327
|
-
forms: response.forms.map(
|
|
7369
|
+
forms: response.forms.map(
|
|
7370
|
+
(form2) => normalizePublicFormResponse({ form: form2 }).form
|
|
7371
|
+
)
|
|
7328
7372
|
};
|
|
7329
7373
|
}
|
|
7330
7374
|
function normalizePublicFormsResult(result) {
|
|
@@ -7523,7 +7567,10 @@ function createRiverbankClient(config) {
|
|
|
7523
7567
|
isDegraded = nowDegraded;
|
|
7524
7568
|
config.resilience?.onDegradedMode?.(nowDegraded, status);
|
|
7525
7569
|
}
|
|
7526
|
-
return
|
|
7570
|
+
return {
|
|
7571
|
+
data,
|
|
7572
|
+
resilience: status
|
|
7573
|
+
};
|
|
7527
7574
|
}
|
|
7528
7575
|
async function resilientFetch(cacheKey, fetcher, options) {
|
|
7529
7576
|
const requestId = generateRequestId2();
|
|
@@ -7547,25 +7594,43 @@ function createRiverbankClient(config) {
|
|
|
7547
7594
|
if (allowFallbacks && !isPreview && staleIfError) {
|
|
7548
7595
|
const stale = cache.getStale(cacheKey);
|
|
7549
7596
|
if (stale) {
|
|
7550
|
-
return emitStatus(
|
|
7551
|
-
|
|
7552
|
-
|
|
7553
|
-
|
|
7597
|
+
return emitStatus(
|
|
7598
|
+
"stale",
|
|
7599
|
+
stale.value,
|
|
7600
|
+
statusDetails({
|
|
7601
|
+
staleAgeSec: stale.staleAgeSec,
|
|
7602
|
+
error: {
|
|
7603
|
+
code: "circuit_open",
|
|
7604
|
+
message: "Circuit breaker is open"
|
|
7605
|
+
}
|
|
7606
|
+
})
|
|
7607
|
+
);
|
|
7554
7608
|
}
|
|
7555
7609
|
}
|
|
7556
7610
|
if (allowFallbacks && !isPreview && options.prebuildFallback) {
|
|
7557
7611
|
const prebuildResult = options.prebuildFallback();
|
|
7558
7612
|
if (prebuildResult) {
|
|
7559
|
-
return emitStatus(
|
|
7560
|
-
|
|
7561
|
-
|
|
7562
|
-
|
|
7613
|
+
return emitStatus(
|
|
7614
|
+
"prebuild",
|
|
7615
|
+
prebuildResult.data,
|
|
7616
|
+
statusDetails({
|
|
7617
|
+
prebuildAgeSec: prebuildResult.prebuildAgeSec,
|
|
7618
|
+
error: {
|
|
7619
|
+
code: "circuit_open",
|
|
7620
|
+
message: "Circuit breaker is open"
|
|
7621
|
+
}
|
|
7622
|
+
})
|
|
7623
|
+
);
|
|
7563
7624
|
}
|
|
7564
7625
|
}
|
|
7565
7626
|
const circuitState = circuitBreaker.getState();
|
|
7566
|
-
emitStatus(
|
|
7567
|
-
error
|
|
7568
|
-
|
|
7627
|
+
emitStatus(
|
|
7628
|
+
"error",
|
|
7629
|
+
null,
|
|
7630
|
+
statusDetails({
|
|
7631
|
+
error: { code: "circuit_open", message: "Circuit breaker is open" }
|
|
7632
|
+
})
|
|
7633
|
+
);
|
|
7569
7634
|
throw new CircuitOpenError(circuitState);
|
|
7570
7635
|
}
|
|
7571
7636
|
try {
|
|
@@ -7592,7 +7657,9 @@ function createRiverbankClient(config) {
|
|
|
7592
7657
|
circuitBreaker.recordSuccess();
|
|
7593
7658
|
} else {
|
|
7594
7659
|
try {
|
|
7595
|
-
const response = await fetcher(
|
|
7660
|
+
const response = await fetcher(
|
|
7661
|
+
options.signal ?? new AbortController().signal
|
|
7662
|
+
);
|
|
7596
7663
|
data = unwrapResponse(response);
|
|
7597
7664
|
} catch (error) {
|
|
7598
7665
|
convertToTypedError(error);
|
|
@@ -7609,28 +7676,51 @@ function createRiverbankClient(config) {
|
|
|
7609
7676
|
if (allowFallbacks && !isPreview && staleIfError && cacheEnabled) {
|
|
7610
7677
|
const stale = cache.getStale(cacheKey);
|
|
7611
7678
|
if (stale) {
|
|
7612
|
-
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
}
|
|
7679
|
+
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7680
|
+
code: error.code,
|
|
7681
|
+
message: error.message,
|
|
7682
|
+
status: error.status
|
|
7683
|
+
} : { message: error.message };
|
|
7684
|
+
return emitStatus(
|
|
7685
|
+
"stale",
|
|
7686
|
+
stale.value,
|
|
7687
|
+
statusDetails({
|
|
7688
|
+
staleAgeSec: stale.staleAgeSec,
|
|
7689
|
+
error: errorInfo2
|
|
7690
|
+
})
|
|
7691
|
+
);
|
|
7617
7692
|
}
|
|
7618
7693
|
}
|
|
7619
7694
|
if (allowFallbacks && !isPreview && options.prebuildFallback) {
|
|
7620
7695
|
const prebuildResult = options.prebuildFallback();
|
|
7621
7696
|
if (prebuildResult) {
|
|
7622
|
-
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
}
|
|
7697
|
+
const errorInfo2 = error instanceof RiverbankApiError ? {
|
|
7698
|
+
code: error.code,
|
|
7699
|
+
message: error.message,
|
|
7700
|
+
status: error.status
|
|
7701
|
+
} : { message: error.message };
|
|
7702
|
+
return emitStatus(
|
|
7703
|
+
"prebuild",
|
|
7704
|
+
prebuildResult.data,
|
|
7705
|
+
statusDetails({
|
|
7706
|
+
prebuildAgeSec: prebuildResult.prebuildAgeSec,
|
|
7707
|
+
error: errorInfo2
|
|
7708
|
+
})
|
|
7709
|
+
);
|
|
7627
7710
|
}
|
|
7628
7711
|
}
|
|
7629
|
-
const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message } : { message: error.message };
|
|
7630
|
-
|
|
7631
|
-
|
|
7712
|
+
const errorInfo = error instanceof RiverbankApiError ? { code: error.code, message: error.message, status: error.status } : { message: error.message };
|
|
7713
|
+
const failure = emitStatus(
|
|
7714
|
+
"error",
|
|
7715
|
+
null,
|
|
7716
|
+
statusDetails({ error: errorInfo })
|
|
7717
|
+
);
|
|
7718
|
+
throw attachResilienceStatusToError(error, failure.resilience);
|
|
7632
7719
|
}
|
|
7633
7720
|
}
|
|
7721
|
+
async function resilientFetchData(cacheKey, fetcher, options) {
|
|
7722
|
+
return (await resilientFetch(cacheKey, fetcher, options)).data;
|
|
7723
|
+
}
|
|
7634
7724
|
function combineAbortSignals(...signals) {
|
|
7635
7725
|
const controller = new AbortController();
|
|
7636
7726
|
for (const signal of signals) {
|
|
@@ -7638,32 +7728,45 @@ function createRiverbankClient(config) {
|
|
|
7638
7728
|
controller.abort(signal.reason);
|
|
7639
7729
|
break;
|
|
7640
7730
|
}
|
|
7641
|
-
signal.addEventListener("abort", () => controller.abort(signal.reason), {
|
|
7731
|
+
signal.addEventListener("abort", () => controller.abort(signal.reason), {
|
|
7732
|
+
once: true
|
|
7733
|
+
});
|
|
7642
7734
|
}
|
|
7643
7735
|
return controller.signal;
|
|
7644
7736
|
}
|
|
7645
7737
|
async function resolveEntrySubrouteInternal(args) {
|
|
7646
7738
|
const { siteId, entryId, kind, segment, stage, signal } = args;
|
|
7647
7739
|
const cacheKey = `entry-subroute:${siteId}:${entryId}:${kind}:${segment}:${stage ?? "published"}`;
|
|
7648
|
-
return
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7740
|
+
return resilientFetchData(
|
|
7741
|
+
cacheKey,
|
|
7742
|
+
async (sig) => {
|
|
7743
|
+
return await apiClient({
|
|
7744
|
+
endpoint: "resolveEntrySubroute",
|
|
7745
|
+
params: {
|
|
7746
|
+
siteId,
|
|
7747
|
+
entryId,
|
|
7748
|
+
kind,
|
|
7749
|
+
segment,
|
|
7750
|
+
...stage ? { stage } : {}
|
|
7751
|
+
},
|
|
7752
|
+
options: { signal: sig }
|
|
7753
|
+
});
|
|
7754
|
+
},
|
|
7755
|
+
{ signal }
|
|
7756
|
+
);
|
|
7655
7757
|
}
|
|
7656
|
-
|
|
7657
|
-
|
|
7658
|
-
|
|
7659
|
-
|
|
7660
|
-
|
|
7661
|
-
|
|
7662
|
-
|
|
7663
|
-
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
|
|
7758
|
+
async function getSiteWithResilienceInternal(params) {
|
|
7759
|
+
const { slug, domain, id, signal, force, currentPath } = params;
|
|
7760
|
+
if (!slug && !domain && !id) {
|
|
7761
|
+
throw new Error(
|
|
7762
|
+
`getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`
|
|
7763
|
+
);
|
|
7764
|
+
}
|
|
7765
|
+
const cacheKey = `site:${slug || domain || id}:${currentPath ?? ""}`;
|
|
7766
|
+
const siteId = id || slug || domain;
|
|
7767
|
+
return resilientFetch(
|
|
7768
|
+
cacheKey,
|
|
7769
|
+
async (sig) => {
|
|
7667
7770
|
const apiParams = {};
|
|
7668
7771
|
if (params.slug) apiParams.slug = params.slug;
|
|
7669
7772
|
if (params.domain) apiParams.domain = params.domain;
|
|
@@ -7674,66 +7777,121 @@ function createRiverbankClient(config) {
|
|
|
7674
7777
|
endpoint: "getSite",
|
|
7675
7778
|
params: apiParams,
|
|
7676
7779
|
// When force=true, bypass Next.js fetch caching (revalidate) as well.
|
|
7677
|
-
options: {
|
|
7780
|
+
options: {
|
|
7781
|
+
signal: sig,
|
|
7782
|
+
...force ? { cache: "no-store" } : {}
|
|
7783
|
+
}
|
|
7678
7784
|
});
|
|
7679
|
-
},
|
|
7785
|
+
},
|
|
7786
|
+
{
|
|
7680
7787
|
signal,
|
|
7681
7788
|
force,
|
|
7682
7789
|
prebuildFallback: prebuildLoader && siteId ? () => prebuildLoader.loadSite(siteId) : void 0
|
|
7683
|
-
}
|
|
7684
|
-
|
|
7685
|
-
|
|
7686
|
-
|
|
7687
|
-
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
|
|
7790
|
+
}
|
|
7791
|
+
);
|
|
7792
|
+
}
|
|
7793
|
+
async function getPageWithResilienceInternal(params) {
|
|
7794
|
+
const { siteId, path, preview = false, signal } = params;
|
|
7795
|
+
const cacheKey = `page:${siteId}:${path}:${preview}`;
|
|
7796
|
+
return resilientFetch(
|
|
7797
|
+
cacheKey,
|
|
7798
|
+
async (sig) => {
|
|
7799
|
+
return await apiClient({
|
|
7800
|
+
endpoint: "getContentByPath",
|
|
7801
|
+
params: { siteId, path, preview: String(preview) },
|
|
7802
|
+
options: { signal: sig }
|
|
7803
|
+
});
|
|
7804
|
+
},
|
|
7805
|
+
{
|
|
7691
7806
|
preview,
|
|
7692
7807
|
signal,
|
|
7693
7808
|
// Prebuild fallback only for published pages (not preview)
|
|
7694
7809
|
prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadPage(siteId, path) : void 0
|
|
7695
|
-
}
|
|
7810
|
+
}
|
|
7811
|
+
);
|
|
7812
|
+
}
|
|
7813
|
+
return {
|
|
7814
|
+
async getSite(params) {
|
|
7815
|
+
return (await getSiteWithResilienceInternal(params)).data;
|
|
7816
|
+
},
|
|
7817
|
+
async getSiteWithResilience(params) {
|
|
7818
|
+
return getSiteWithResilienceInternal(params);
|
|
7819
|
+
},
|
|
7820
|
+
async getPage(params) {
|
|
7821
|
+
return (await getPageWithResilienceInternal(params)).data;
|
|
7822
|
+
},
|
|
7823
|
+
async getPageWithResilience(params) {
|
|
7824
|
+
return getPageWithResilienceInternal(params);
|
|
7696
7825
|
},
|
|
7697
7826
|
async getEntries(params) {
|
|
7698
|
-
const {
|
|
7827
|
+
const {
|
|
7828
|
+
siteId,
|
|
7829
|
+
contentType,
|
|
7830
|
+
limit,
|
|
7831
|
+
offset,
|
|
7832
|
+
order,
|
|
7833
|
+
preview = false,
|
|
7834
|
+
mode,
|
|
7835
|
+
entryIds,
|
|
7836
|
+
includeMeta,
|
|
7837
|
+
signal
|
|
7838
|
+
} = params;
|
|
7699
7839
|
const entryIdsCacheKey = mode === "manual" && entryIds?.length ? entryIds.join(",") : "";
|
|
7700
7840
|
const cacheKey = `entries:${siteId}:${contentType}:${limit ?? ""}:${offset ?? ""}:${order ?? ""}:${preview}:${mode ?? ""}:${entryIdsCacheKey}:${includeMeta ?? ""}`;
|
|
7701
|
-
return
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
orderParam
|
|
7705
|
-
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
|
|
7713
|
-
...typeof limit === "number" && { limit: String(limit) },
|
|
7714
|
-
...typeof offset === "number" && { offset: String(offset) },
|
|
7715
|
-
...includeMeta && { meta: "true" },
|
|
7716
|
-
...orderParam && { order: orderParam },
|
|
7717
|
-
...preview && { stage: "preview" },
|
|
7718
|
-
...mode === "manual" && entryIds?.length && {
|
|
7719
|
-
mode: "manual",
|
|
7720
|
-
entryIds: JSON.stringify(entryIds)
|
|
7841
|
+
return resilientFetchData(
|
|
7842
|
+
cacheKey,
|
|
7843
|
+
async (sig) => {
|
|
7844
|
+
let orderParam;
|
|
7845
|
+
if (order === "newest") {
|
|
7846
|
+
orderParam = "published_at.desc";
|
|
7847
|
+
} else if (order === "oldest") {
|
|
7848
|
+
orderParam = "published_at.asc";
|
|
7849
|
+
} else if (order === "title") {
|
|
7850
|
+
orderParam = "title.asc";
|
|
7851
|
+
} else if (order === "manual") {
|
|
7852
|
+
orderParam = "manual.asc";
|
|
7721
7853
|
}
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7727
|
-
|
|
7728
|
-
|
|
7729
|
-
|
|
7854
|
+
const apiParams = {
|
|
7855
|
+
siteId,
|
|
7856
|
+
type: contentType,
|
|
7857
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
7858
|
+
...typeof offset === "number" && { offset: String(offset) },
|
|
7859
|
+
...includeMeta && { meta: "true" },
|
|
7860
|
+
...orderParam && { order: orderParam },
|
|
7861
|
+
...preview && { stage: "preview" },
|
|
7862
|
+
...mode === "manual" && entryIds?.length && {
|
|
7863
|
+
mode: "manual",
|
|
7864
|
+
entryIds: JSON.stringify(entryIds)
|
|
7865
|
+
}
|
|
7866
|
+
};
|
|
7867
|
+
return await apiClient({
|
|
7868
|
+
endpoint: "listPublishedEntries",
|
|
7869
|
+
params: apiParams,
|
|
7870
|
+
options: { signal: sig }
|
|
7871
|
+
});
|
|
7872
|
+
},
|
|
7873
|
+
{
|
|
7874
|
+
preview,
|
|
7875
|
+
signal,
|
|
7876
|
+
// Prebuild fallback only for published entries (not preview, not manual mode)
|
|
7877
|
+
prebuildFallback: prebuildLoader && !preview ? () => prebuildLoader.loadEntries(siteId, params) : void 0
|
|
7878
|
+
}
|
|
7879
|
+
);
|
|
7730
7880
|
},
|
|
7731
7881
|
async getEntry(params) {
|
|
7732
7882
|
const { siteId, contentType, slug, signal } = params;
|
|
7733
7883
|
const cacheKey = `entry:${siteId}:${contentType}:${slug}`;
|
|
7734
|
-
return
|
|
7735
|
-
|
|
7736
|
-
|
|
7884
|
+
return resilientFetchData(
|
|
7885
|
+
cacheKey,
|
|
7886
|
+
async (sig) => {
|
|
7887
|
+
return await apiClient({
|
|
7888
|
+
endpoint: "getPublishedEntryPreview",
|
|
7889
|
+
params: { siteId, type: contentType, slug },
|
|
7890
|
+
options: { signal: sig }
|
|
7891
|
+
});
|
|
7892
|
+
},
|
|
7893
|
+
{ signal }
|
|
7894
|
+
);
|
|
7737
7895
|
},
|
|
7738
7896
|
async getPublicFormById(params) {
|
|
7739
7897
|
const { formId, siteId, signal } = params;
|
|
@@ -7741,10 +7899,18 @@ function createRiverbankClient(config) {
|
|
|
7741
7899
|
throw new Error("getPublicFormById() requires formId and siteId");
|
|
7742
7900
|
}
|
|
7743
7901
|
const cacheKey = `public-form:${siteId}:${formId}`;
|
|
7744
|
-
return
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7902
|
+
return resilientFetchData(
|
|
7903
|
+
cacheKey,
|
|
7904
|
+
async (sig) => {
|
|
7905
|
+
const response = await apiClient({
|
|
7906
|
+
endpoint: "getPublicFormById",
|
|
7907
|
+
params: { formId, siteId },
|
|
7908
|
+
options: { signal: sig }
|
|
7909
|
+
});
|
|
7910
|
+
return normalizePublicFormResult(response);
|
|
7911
|
+
},
|
|
7912
|
+
{ signal }
|
|
7913
|
+
);
|
|
7748
7914
|
},
|
|
7749
7915
|
async getForms(params) {
|
|
7750
7916
|
const { siteId, signal } = params;
|
|
@@ -7752,34 +7918,42 @@ function createRiverbankClient(config) {
|
|
|
7752
7918
|
throw new Error("getForms() requires siteId");
|
|
7753
7919
|
}
|
|
7754
7920
|
const cacheKey = `forms:${siteId}`;
|
|
7755
|
-
return
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
7779
|
-
|
|
7780
|
-
|
|
7781
|
-
|
|
7782
|
-
|
|
7921
|
+
return resilientFetchData(
|
|
7922
|
+
cacheKey,
|
|
7923
|
+
async (sig) => {
|
|
7924
|
+
const response = await apiClient({
|
|
7925
|
+
endpoint: "listPublicForms",
|
|
7926
|
+
params: { siteId },
|
|
7927
|
+
options: { signal: sig }
|
|
7928
|
+
});
|
|
7929
|
+
return normalizePublicFormsResult(response);
|
|
7930
|
+
},
|
|
7931
|
+
{
|
|
7932
|
+
signal,
|
|
7933
|
+
prebuildFallback: prebuildLoader ? () => {
|
|
7934
|
+
const result = prebuildLoader.loadForms();
|
|
7935
|
+
if (result) {
|
|
7936
|
+
return {
|
|
7937
|
+
data: {
|
|
7938
|
+
forms: result.data.map((form2) => ({
|
|
7939
|
+
id: form2.id,
|
|
7940
|
+
slug: form2.slug,
|
|
7941
|
+
name: form2.name,
|
|
7942
|
+
schema: form2.schema,
|
|
7943
|
+
settings: form2.settings,
|
|
7944
|
+
schemaJson: form2.schema,
|
|
7945
|
+
settingsJson: form2.settings,
|
|
7946
|
+
createdAt: null,
|
|
7947
|
+
updatedAt: null
|
|
7948
|
+
}))
|
|
7949
|
+
},
|
|
7950
|
+
prebuildAgeSec: result.prebuildAgeSec
|
|
7951
|
+
};
|
|
7952
|
+
}
|
|
7953
|
+
return null;
|
|
7954
|
+
} : void 0
|
|
7955
|
+
}
|
|
7956
|
+
);
|
|
7783
7957
|
},
|
|
7784
7958
|
async getPublicBookingServices(params) {
|
|
7785
7959
|
const { siteId, ids, signal } = params;
|
|
@@ -7787,13 +7961,21 @@ function createRiverbankClient(config) {
|
|
|
7787
7961
|
throw new Error("getPublicBookingServices() requires siteId");
|
|
7788
7962
|
}
|
|
7789
7963
|
const cacheKey = `public-booking-services:${siteId}:${ids ?? ""}`;
|
|
7790
|
-
return
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
|
|
7796
|
-
|
|
7964
|
+
return resilientFetchData(
|
|
7965
|
+
cacheKey,
|
|
7966
|
+
async (sig) => {
|
|
7967
|
+
const apiParams = {
|
|
7968
|
+
siteId,
|
|
7969
|
+
...ids && { ids }
|
|
7970
|
+
};
|
|
7971
|
+
return await apiClient({
|
|
7972
|
+
endpoint: "getPublicBookingServices",
|
|
7973
|
+
params: apiParams,
|
|
7974
|
+
options: { signal: sig }
|
|
7975
|
+
});
|
|
7976
|
+
},
|
|
7977
|
+
{ signal }
|
|
7978
|
+
);
|
|
7797
7979
|
},
|
|
7798
7980
|
async listPublicEvents(params) {
|
|
7799
7981
|
const {
|
|
@@ -7814,22 +7996,30 @@ function createRiverbankClient(config) {
|
|
|
7814
7996
|
throw new Error("listPublicEvents() requires siteId");
|
|
7815
7997
|
}
|
|
7816
7998
|
const cacheKey = `public-events:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${kind ?? ""}:${entryId ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`;
|
|
7817
|
-
return
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
|
|
7999
|
+
return resilientFetchData(
|
|
8000
|
+
cacheKey,
|
|
8001
|
+
async (sig) => {
|
|
8002
|
+
const apiParams = {
|
|
8003
|
+
siteId,
|
|
8004
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
8005
|
+
...from && { from },
|
|
8006
|
+
...to && { to },
|
|
8007
|
+
...stage && { stage },
|
|
8008
|
+
...categoryIds && { categoryIds },
|
|
8009
|
+
...venueId && { venueId },
|
|
8010
|
+
...kind && { kind },
|
|
8011
|
+
...entryId && { entryId },
|
|
8012
|
+
...seriesId && { seriesId },
|
|
8013
|
+
...includeOccurrenceId && { includeOccurrenceId }
|
|
8014
|
+
};
|
|
8015
|
+
return await apiClient({
|
|
8016
|
+
endpoint: "listPublicEvents",
|
|
8017
|
+
params: apiParams,
|
|
8018
|
+
options: { signal: sig }
|
|
8019
|
+
});
|
|
8020
|
+
},
|
|
8021
|
+
{ signal }
|
|
8022
|
+
);
|
|
7833
8023
|
},
|
|
7834
8024
|
async getPublicEventDetails(params) {
|
|
7835
8025
|
const {
|
|
@@ -7853,37 +8043,44 @@ function createRiverbankClient(config) {
|
|
|
7853
8043
|
throw new Error("getPublicEventDetails() requires siteId");
|
|
7854
8044
|
}
|
|
7855
8045
|
const cacheKey = `public-event-details:${siteId}:${limit ?? ""}:${from ?? ""}:${to ?? ""}:${afterStartsAt ?? ""}:${afterId ?? ""}:${stage ?? ""}:${categoryIds ?? ""}:${venueId ?? ""}:${staffMemberId ?? ""}:${kind ?? ""}:${entryId ?? ""}:${seriesId ?? ""}:${includeOccurrenceId ?? ""}`;
|
|
7856
|
-
return
|
|
7857
|
-
|
|
7858
|
-
|
|
7859
|
-
|
|
7860
|
-
|
|
7861
|
-
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
|
|
7869
|
-
|
|
7870
|
-
|
|
7871
|
-
|
|
7872
|
-
|
|
7873
|
-
|
|
7874
|
-
|
|
7875
|
-
|
|
7876
|
-
|
|
7877
|
-
|
|
7878
|
-
|
|
8046
|
+
return resilientFetchData(
|
|
8047
|
+
cacheKey,
|
|
8048
|
+
async (sig) => {
|
|
8049
|
+
const requestId = "eventDetails";
|
|
8050
|
+
const response = await apiClient({
|
|
8051
|
+
endpoint: "batchBlockLoaders",
|
|
8052
|
+
params: { siteId, ...stage && { stage } },
|
|
8053
|
+
body: {
|
|
8054
|
+
requests: [
|
|
8055
|
+
{
|
|
8056
|
+
id: requestId,
|
|
8057
|
+
endpoint: "getPublicEventDetails",
|
|
8058
|
+
params: {
|
|
8059
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
8060
|
+
...from && { from },
|
|
8061
|
+
...to && { to },
|
|
8062
|
+
...afterStartsAt && { afterStartsAt },
|
|
8063
|
+
...afterId && { afterId },
|
|
8064
|
+
...categoryIds && { categoryIds },
|
|
8065
|
+
...venueId && { venueId },
|
|
8066
|
+
...staffMemberId && { staffMemberId },
|
|
8067
|
+
...kind && { kind },
|
|
8068
|
+
...entryId && { entryId },
|
|
8069
|
+
...seriesId && { seriesId },
|
|
8070
|
+
...includeOccurrenceId && { includeOccurrenceId }
|
|
8071
|
+
}
|
|
7879
8072
|
}
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
8073
|
+
]
|
|
8074
|
+
},
|
|
8075
|
+
options: { signal: sig }
|
|
8076
|
+
});
|
|
8077
|
+
return normalizeBatchBlockLoaderResult(
|
|
8078
|
+
response,
|
|
8079
|
+
requestId
|
|
8080
|
+
);
|
|
8081
|
+
},
|
|
8082
|
+
{ signal }
|
|
8083
|
+
);
|
|
7887
8084
|
},
|
|
7888
8085
|
async listPublicCourses(params) {
|
|
7889
8086
|
const { siteId, limit, stage, signal } = params;
|
|
@@ -7891,14 +8088,22 @@ function createRiverbankClient(config) {
|
|
|
7891
8088
|
throw new Error("listPublicCourses() requires siteId");
|
|
7892
8089
|
}
|
|
7893
8090
|
const cacheKey = `public-courses:${siteId}:${limit ?? ""}:${stage ?? ""}`;
|
|
7894
|
-
return
|
|
7895
|
-
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7901
|
-
|
|
8091
|
+
return resilientFetchData(
|
|
8092
|
+
cacheKey,
|
|
8093
|
+
async (sig) => {
|
|
8094
|
+
const apiParams = {
|
|
8095
|
+
siteId,
|
|
8096
|
+
...typeof limit === "number" && { limit: String(limit) },
|
|
8097
|
+
...stage && { stage }
|
|
8098
|
+
};
|
|
8099
|
+
return await apiClient({
|
|
8100
|
+
endpoint: "listPublicCourses",
|
|
8101
|
+
params: apiParams,
|
|
8102
|
+
options: { signal: sig }
|
|
8103
|
+
});
|
|
8104
|
+
},
|
|
8105
|
+
{ signal }
|
|
8106
|
+
);
|
|
7902
8107
|
},
|
|
7903
8108
|
async listPublicTeamMembers(params) {
|
|
7904
8109
|
const { siteId, stage, signal } = params;
|
|
@@ -7906,17 +8111,21 @@ function createRiverbankClient(config) {
|
|
|
7906
8111
|
throw new Error("listPublicTeamMembers() requires siteId");
|
|
7907
8112
|
}
|
|
7908
8113
|
const cacheKey = `public-team-members:${siteId}:${stage ?? ""}`;
|
|
7909
|
-
return
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
7918
|
-
|
|
7919
|
-
|
|
8114
|
+
return resilientFetchData(
|
|
8115
|
+
cacheKey,
|
|
8116
|
+
async (sig) => {
|
|
8117
|
+
const apiParams = {
|
|
8118
|
+
siteId,
|
|
8119
|
+
...stage && { stage }
|
|
8120
|
+
};
|
|
8121
|
+
return await apiClient({
|
|
8122
|
+
endpoint: "listPublicTeamMembers",
|
|
8123
|
+
params: apiParams,
|
|
8124
|
+
options: { signal: sig }
|
|
8125
|
+
});
|
|
8126
|
+
},
|
|
8127
|
+
{ signal }
|
|
8128
|
+
);
|
|
7920
8129
|
},
|
|
7921
8130
|
async listPublicProducts(params) {
|
|
7922
8131
|
const { siteId, stage, categorySelector, signal } = params;
|
|
@@ -7925,14 +8134,22 @@ function createRiverbankClient(config) {
|
|
|
7925
8134
|
}
|
|
7926
8135
|
const selectorKey = categorySelector ? categorySelector.kind === "category" ? `category:${categorySelector.productCategoryId}` : `current-category-page:${categorySelector.productCategoryEntryId}` : "";
|
|
7927
8136
|
const cacheKey = `public-products:${siteId}:${stage ?? ""}:${selectorKey}`;
|
|
7928
|
-
return
|
|
7929
|
-
|
|
7930
|
-
|
|
7931
|
-
|
|
7932
|
-
|
|
7933
|
-
|
|
7934
|
-
|
|
7935
|
-
|
|
8137
|
+
return resilientFetchData(
|
|
8138
|
+
cacheKey,
|
|
8139
|
+
async (sig) => {
|
|
8140
|
+
const apiParams = {
|
|
8141
|
+
siteId,
|
|
8142
|
+
...stage && { stage },
|
|
8143
|
+
...encodePublicProductCategorySelector(categorySelector)
|
|
8144
|
+
};
|
|
8145
|
+
return await apiClient({
|
|
8146
|
+
endpoint: "listPublicProducts",
|
|
8147
|
+
params: apiParams,
|
|
8148
|
+
options: { signal: sig }
|
|
8149
|
+
});
|
|
8150
|
+
},
|
|
8151
|
+
{ signal }
|
|
8152
|
+
);
|
|
7936
8153
|
},
|
|
7937
8154
|
async listPublicPasses(params) {
|
|
7938
8155
|
const { siteId, categories, signal } = params;
|
|
@@ -7940,13 +8157,21 @@ function createRiverbankClient(config) {
|
|
|
7940
8157
|
throw new Error("listPublicPasses() requires siteId");
|
|
7941
8158
|
}
|
|
7942
8159
|
const cacheKey = `public-passes:${siteId}:${categories ?? ""}`;
|
|
7943
|
-
return
|
|
7944
|
-
|
|
7945
|
-
|
|
7946
|
-
|
|
7947
|
-
|
|
7948
|
-
|
|
7949
|
-
|
|
8160
|
+
return resilientFetchData(
|
|
8161
|
+
cacheKey,
|
|
8162
|
+
async (sig) => {
|
|
8163
|
+
const apiParams = {
|
|
8164
|
+
siteId,
|
|
8165
|
+
...categories && { categories }
|
|
8166
|
+
};
|
|
8167
|
+
return await apiClient({
|
|
8168
|
+
endpoint: "listPublicPasses",
|
|
8169
|
+
params: apiParams,
|
|
8170
|
+
options: { signal: sig }
|
|
8171
|
+
});
|
|
8172
|
+
},
|
|
8173
|
+
{ signal }
|
|
8174
|
+
);
|
|
7950
8175
|
},
|
|
7951
8176
|
async listPublicMemberships(params) {
|
|
7952
8177
|
const { siteId, categories, signal } = params;
|
|
@@ -7954,25 +8179,44 @@ function createRiverbankClient(config) {
|
|
|
7954
8179
|
throw new Error("listPublicMemberships() requires siteId");
|
|
7955
8180
|
}
|
|
7956
8181
|
const cacheKey = `public-memberships:${siteId}:${categories ?? ""}`;
|
|
7957
|
-
return
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
8182
|
+
return resilientFetchData(
|
|
8183
|
+
cacheKey,
|
|
8184
|
+
async (sig) => {
|
|
8185
|
+
const apiParams = {
|
|
8186
|
+
siteId,
|
|
8187
|
+
...categories && { categories }
|
|
8188
|
+
};
|
|
8189
|
+
return await apiClient({
|
|
8190
|
+
endpoint: "listPublicMemberships",
|
|
8191
|
+
params: apiParams,
|
|
8192
|
+
options: { signal: sig }
|
|
8193
|
+
});
|
|
8194
|
+
},
|
|
8195
|
+
{ signal }
|
|
8196
|
+
);
|
|
7964
8197
|
},
|
|
7965
8198
|
async resolveEntrySubroute(params) {
|
|
7966
8199
|
const { siteId, entryId, kind, segment, stage, signal } = params;
|
|
7967
8200
|
if (!siteId || !entryId || !kind || !segment) {
|
|
7968
|
-
throw new Error(
|
|
8201
|
+
throw new Error(
|
|
8202
|
+
"resolveEntrySubroute() requires siteId, entryId, kind, and segment"
|
|
8203
|
+
);
|
|
7969
8204
|
}
|
|
7970
|
-
return resolveEntrySubrouteInternal({
|
|
8205
|
+
return resolveEntrySubrouteInternal({
|
|
8206
|
+
siteId,
|
|
8207
|
+
entryId,
|
|
8208
|
+
kind,
|
|
8209
|
+
segment,
|
|
8210
|
+
stage,
|
|
8211
|
+
signal
|
|
8212
|
+
});
|
|
7971
8213
|
},
|
|
7972
8214
|
async resolveEventOccurrence(params) {
|
|
7973
8215
|
const { siteId, entryId, segment, signal } = params;
|
|
7974
8216
|
if (!siteId || !entryId || !segment) {
|
|
7975
|
-
throw new Error(
|
|
8217
|
+
throw new Error(
|
|
8218
|
+
"resolveEventOccurrence() requires siteId, entryId, and segment"
|
|
8219
|
+
);
|
|
7976
8220
|
}
|
|
7977
8221
|
const result = await resolveEntrySubrouteInternal({
|
|
7978
8222
|
siteId,
|
|
@@ -7991,13 +8235,17 @@ function createRiverbankClient(config) {
|
|
|
7991
8235
|
throw new Error("checkRedirect() requires siteId and path");
|
|
7992
8236
|
}
|
|
7993
8237
|
const cacheKey = `redirect:${siteId}:${path}`;
|
|
7994
|
-
return
|
|
7995
|
-
|
|
7996
|
-
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
|
|
8000
|
-
|
|
8238
|
+
return resilientFetchData(
|
|
8239
|
+
cacheKey,
|
|
8240
|
+
async (sig) => {
|
|
8241
|
+
return await apiClient({
|
|
8242
|
+
endpoint: "checkRedirect",
|
|
8243
|
+
params: { site: siteId, path },
|
|
8244
|
+
options: { signal: sig }
|
|
8245
|
+
});
|
|
8246
|
+
},
|
|
8247
|
+
{ signal }
|
|
8248
|
+
);
|
|
8001
8249
|
},
|
|
8002
8250
|
async getAllPublishedRoutes(params) {
|
|
8003
8251
|
const { siteId, signal } = params;
|
|
@@ -8005,13 +8253,17 @@ function createRiverbankClient(config) {
|
|
|
8005
8253
|
throw new Error("getAllPublishedRoutes() requires siteId");
|
|
8006
8254
|
}
|
|
8007
8255
|
const cacheKey = `routable-content:${siteId}:published`;
|
|
8008
|
-
return
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
|
|
8256
|
+
return resilientFetchData(
|
|
8257
|
+
cacheKey,
|
|
8258
|
+
async (sig) => {
|
|
8259
|
+
return await apiClient({
|
|
8260
|
+
endpoint: "getPublicRoutableContent",
|
|
8261
|
+
params: { siteId, publishedOnly: "true" },
|
|
8262
|
+
options: { signal: sig }
|
|
8263
|
+
});
|
|
8264
|
+
},
|
|
8265
|
+
{ signal }
|
|
8266
|
+
);
|
|
8015
8267
|
},
|
|
8016
8268
|
async getSitemapRoutes(params) {
|
|
8017
8269
|
const { siteId, page, pageSize, signal } = params;
|
|
@@ -8019,17 +8271,21 @@ function createRiverbankClient(config) {
|
|
|
8019
8271
|
throw new Error("getSitemapRoutes() requires siteId");
|
|
8020
8272
|
}
|
|
8021
8273
|
const cacheKey = `sitemap:${siteId}:${page ?? 1}:${pageSize ?? "default"}`;
|
|
8022
|
-
return
|
|
8023
|
-
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8029
|
-
|
|
8030
|
-
|
|
8031
|
-
|
|
8032
|
-
|
|
8274
|
+
return resilientFetchData(
|
|
8275
|
+
cacheKey,
|
|
8276
|
+
async (sig) => {
|
|
8277
|
+
return await apiClient({
|
|
8278
|
+
endpoint: "getPublicSitemapRoutes",
|
|
8279
|
+
params: {
|
|
8280
|
+
siteId,
|
|
8281
|
+
...page ? { page: String(page) } : {},
|
|
8282
|
+
...pageSize ? { pageSize: String(pageSize) } : {}
|
|
8283
|
+
},
|
|
8284
|
+
options: { signal: sig }
|
|
8285
|
+
});
|
|
8286
|
+
},
|
|
8287
|
+
{ signal }
|
|
8288
|
+
);
|
|
8033
8289
|
},
|
|
8034
8290
|
clearCache() {
|
|
8035
8291
|
cache.clear();
|
|
@@ -8049,6 +8305,27 @@ function createRiverbankClient(config) {
|
|
|
8049
8305
|
};
|
|
8050
8306
|
}
|
|
8051
8307
|
|
|
8308
|
+
// ../core/src/location.ts
|
|
8309
|
+
function normalizeLocationAddressText(value) {
|
|
8310
|
+
if (typeof value !== "string") {
|
|
8311
|
+
return null;
|
|
8312
|
+
}
|
|
8313
|
+
const trimmed = value.trim();
|
|
8314
|
+
return trimmed ? trimmed : null;
|
|
8315
|
+
}
|
|
8316
|
+
function hasLocationCoordinates(value) {
|
|
8317
|
+
return typeof value?.lat === "number" && typeof value?.lng === "number";
|
|
8318
|
+
}
|
|
8319
|
+
function toLocationCoordinates(value) {
|
|
8320
|
+
if (!hasLocationCoordinates(value)) {
|
|
8321
|
+
return null;
|
|
8322
|
+
}
|
|
8323
|
+
return {
|
|
8324
|
+
lat: value.lat,
|
|
8325
|
+
lng: value.lng
|
|
8326
|
+
};
|
|
8327
|
+
}
|
|
8328
|
+
|
|
8052
8329
|
// ../api/src/accessAdmin.ts
|
|
8053
8330
|
import { z } from "zod";
|
|
8054
8331
|
var managedDomainAddOnPricingSnapshotSchema = z.object({
|
|
@@ -8191,27 +8468,6 @@ function formatKeyAsLabel(key) {
|
|
|
8191
8468
|
// ../blocks/src/system/manifest/schema.ts
|
|
8192
8469
|
import { z as z4 } from "zod";
|
|
8193
8470
|
|
|
8194
|
-
// ../core/src/location.ts
|
|
8195
|
-
function normalizeLocationAddressText(value) {
|
|
8196
|
-
if (typeof value !== "string") {
|
|
8197
|
-
return null;
|
|
8198
|
-
}
|
|
8199
|
-
const trimmed = value.trim();
|
|
8200
|
-
return trimmed ? trimmed : null;
|
|
8201
|
-
}
|
|
8202
|
-
function hasLocationCoordinates(value) {
|
|
8203
|
-
return typeof value?.lat === "number" && typeof value?.lng === "number";
|
|
8204
|
-
}
|
|
8205
|
-
function toLocationCoordinates(value) {
|
|
8206
|
-
if (!hasLocationCoordinates(value)) {
|
|
8207
|
-
return null;
|
|
8208
|
-
}
|
|
8209
|
-
return {
|
|
8210
|
-
lat: value.lat,
|
|
8211
|
-
lng: value.lng
|
|
8212
|
-
};
|
|
8213
|
-
}
|
|
8214
|
-
|
|
8215
8471
|
// ../media-core/src/transformRect.ts
|
|
8216
8472
|
function isValidTransformRectStructure(rect) {
|
|
8217
8473
|
if (!Array.isArray(rect) || rect.length !== 4) return false;
|
|
@@ -8294,14 +8550,14 @@ function rotateNormalizedPoint(point, rotation) {
|
|
|
8294
8550
|
const x = point.x;
|
|
8295
8551
|
const y = point.y;
|
|
8296
8552
|
switch (rotation) {
|
|
8553
|
+
case 0:
|
|
8554
|
+
return { x, y };
|
|
8297
8555
|
case 90:
|
|
8298
8556
|
return { x: 1 - y, y: x };
|
|
8299
8557
|
case 180:
|
|
8300
8558
|
return { x: 1 - x, y: 1 - y };
|
|
8301
8559
|
case 270:
|
|
8302
8560
|
return { x: y, y: 1 - x };
|
|
8303
|
-
default:
|
|
8304
|
-
return { x, y };
|
|
8305
8561
|
}
|
|
8306
8562
|
}
|
|
8307
8563
|
|
|
@@ -8494,6 +8750,8 @@ var uiSchema = z4.object({
|
|
|
8494
8750
|
mediaPickerAutoOpen: z4.boolean().optional(),
|
|
8495
8751
|
showMediaPreview: z4.boolean().optional(),
|
|
8496
8752
|
showMediaOverlayActions: z4.boolean().optional(),
|
|
8753
|
+
mediaPreviewMaxWidth: z4.enum(["xs", "sm", "md", "none"]).optional(),
|
|
8754
|
+
preventMediaPreviewUpscale: z4.boolean().optional(),
|
|
8497
8755
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
8498
8756
|
mediaDeliveryByVariant: z4.record(z4.string(), mediaDeliverySchema).optional(),
|
|
8499
8757
|
// Optional input hints for validators/widgets
|
|
@@ -8743,6 +9001,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
8743
9001
|
type: z4.literal("repeater"),
|
|
8744
9002
|
itemLabel: z4.string().default("Item"),
|
|
8745
9003
|
itemLabelSource: z4.string().optional(),
|
|
9004
|
+
showSummary: z4.boolean().optional(),
|
|
9005
|
+
summaryFields: z4.string().array().optional(),
|
|
9006
|
+
summaryMaxChars: z4.number().int().positive().optional(),
|
|
8746
9007
|
minItems: z4.number().int().min(0).default(0),
|
|
8747
9008
|
maxItems: z4.number().int().positive().optional(),
|
|
8748
9009
|
// Monomorphic mode
|
|
@@ -9236,6 +9497,9 @@ function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
|
9236
9497
|
const next = encodeURIComponent(nextBlockId);
|
|
9237
9498
|
return asDesignBoundaryId(`boundary:${previous}:${next}`);
|
|
9238
9499
|
}
|
|
9500
|
+
function assertNever(value, message = "Unhandled Theme V2 variant") {
|
|
9501
|
+
throw new Error(`${message}: ${String(value)}`);
|
|
9502
|
+
}
|
|
9239
9503
|
function brandNonEmptyString(value, label) {
|
|
9240
9504
|
if (value.length === 0) {
|
|
9241
9505
|
throw new Error(`${label} must be a non-empty string.`);
|
|
@@ -9263,6 +9527,10 @@ var tileTreatmentValues = [
|
|
|
9263
9527
|
"quiet",
|
|
9264
9528
|
"brand-depth"
|
|
9265
9529
|
];
|
|
9530
|
+
var eventListTreatmentValues = [
|
|
9531
|
+
"plain",
|
|
9532
|
+
"lined-panel"
|
|
9533
|
+
];
|
|
9266
9534
|
var eyebrowTreatmentValues = [
|
|
9267
9535
|
"plain",
|
|
9268
9536
|
"pill",
|
|
@@ -9320,6 +9588,7 @@ function defineBlockDesignCapability(capability) {
|
|
|
9320
9588
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
9321
9589
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
9322
9590
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
9591
|
+
eventListTreatments: capability.eventListTreatments ?? ["plain"],
|
|
9323
9592
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
9324
9593
|
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
9325
9594
|
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
@@ -9344,9 +9613,98 @@ var blockAppearancePresets = [
|
|
|
9344
9613
|
transitionAfter: "soft-fade-short",
|
|
9345
9614
|
emphasis: "high",
|
|
9346
9615
|
sectionHeight: "hero",
|
|
9616
|
+
heroComposition: "center",
|
|
9617
|
+
heroTypographyScale: "display",
|
|
9347
9618
|
imageSurfaceTreatment: { kind: "neutral-wash" }
|
|
9348
9619
|
}
|
|
9349
9620
|
}),
|
|
9621
|
+
defineBlockAppearancePreset({
|
|
9622
|
+
kind: "block-design",
|
|
9623
|
+
id: "hero-bottom-left-panel",
|
|
9624
|
+
target: "hero",
|
|
9625
|
+
label: "Bottom-left panel hero",
|
|
9626
|
+
blockKinds: ["block.hero"],
|
|
9627
|
+
constraints: {
|
|
9628
|
+
layoutFamilies: ["centered", "compact"]
|
|
9629
|
+
},
|
|
9630
|
+
optionGroups: [
|
|
9631
|
+
{
|
|
9632
|
+
id: "image-surface-treatment",
|
|
9633
|
+
label: "Treatment",
|
|
9634
|
+
selectedOptionId: "neutral-scrim",
|
|
9635
|
+
options: [
|
|
9636
|
+
{
|
|
9637
|
+
id: "neutral-scrim",
|
|
9638
|
+
label: "Neutral scrim",
|
|
9639
|
+
designPatch: {
|
|
9640
|
+
imageSurfaceTreatment: { kind: "neutral-scrim", intensity: "balanced" }
|
|
9641
|
+
}
|
|
9642
|
+
},
|
|
9643
|
+
{
|
|
9644
|
+
id: "brand-scrim-primary",
|
|
9645
|
+
label: "Brand scrim",
|
|
9646
|
+
designPatch: {
|
|
9647
|
+
imageSurfaceTreatment: { kind: "brand-scrim", token: "primary", intensity: "balanced" }
|
|
9648
|
+
}
|
|
9649
|
+
}
|
|
9650
|
+
]
|
|
9651
|
+
}
|
|
9652
|
+
],
|
|
9653
|
+
layoutPatches: [
|
|
9654
|
+
{
|
|
9655
|
+
constraints: {
|
|
9656
|
+
layoutVariantKeys: ["micro"]
|
|
9657
|
+
},
|
|
9658
|
+
designPatch: {
|
|
9659
|
+
sectionHeight: "banner",
|
|
9660
|
+
heroTypographyScale: "editorial"
|
|
9661
|
+
}
|
|
9662
|
+
}
|
|
9663
|
+
],
|
|
9664
|
+
design: {
|
|
9665
|
+
sectionSurface: "hero-image",
|
|
9666
|
+
contentFrame: panelFrame("raised"),
|
|
9667
|
+
itemSurface: "none",
|
|
9668
|
+
transitionAfter: "soft-fade-short",
|
|
9669
|
+
emphasis: "high",
|
|
9670
|
+
sectionHeight: "immersive",
|
|
9671
|
+
heroComposition: "bottom-left",
|
|
9672
|
+
heroTypographyScale: "display",
|
|
9673
|
+
imageSurfaceTreatment: { kind: "neutral-scrim", intensity: "balanced" }
|
|
9674
|
+
}
|
|
9675
|
+
}),
|
|
9676
|
+
defineBlockAppearancePreset({
|
|
9677
|
+
kind: "block-design",
|
|
9678
|
+
id: "hero-poster-image",
|
|
9679
|
+
target: "hero",
|
|
9680
|
+
label: "Poster image hero",
|
|
9681
|
+
blockKinds: ["block.hero"],
|
|
9682
|
+
constraints: {
|
|
9683
|
+
layoutFamilies: ["centered", "compact"]
|
|
9684
|
+
},
|
|
9685
|
+
layoutPatches: [
|
|
9686
|
+
{
|
|
9687
|
+
constraints: {
|
|
9688
|
+
layoutVariantKeys: ["micro"]
|
|
9689
|
+
},
|
|
9690
|
+
designPatch: {
|
|
9691
|
+
sectionHeight: "banner",
|
|
9692
|
+
heroTypographyScale: "display"
|
|
9693
|
+
}
|
|
9694
|
+
}
|
|
9695
|
+
],
|
|
9696
|
+
design: {
|
|
9697
|
+
sectionSurface: "hero-image",
|
|
9698
|
+
contentFrame: plainFrame,
|
|
9699
|
+
itemSurface: "none",
|
|
9700
|
+
transitionAfter: "soft-fade-short",
|
|
9701
|
+
emphasis: "high",
|
|
9702
|
+
sectionHeight: "immersive",
|
|
9703
|
+
heroComposition: "center",
|
|
9704
|
+
heroTypographyScale: "poster",
|
|
9705
|
+
imageSurfaceTreatment: { kind: "brand-scrim", token: "primary", intensity: "strong" }
|
|
9706
|
+
}
|
|
9707
|
+
}),
|
|
9350
9708
|
defineBlockAppearancePreset({
|
|
9351
9709
|
kind: "block-design",
|
|
9352
9710
|
id: "hero-brand-scrim",
|
|
@@ -9396,6 +9754,8 @@ var blockAppearancePresets = [
|
|
|
9396
9754
|
transitionAfter: "soft-fade-short",
|
|
9397
9755
|
emphasis: "high",
|
|
9398
9756
|
sectionHeight: "immersive",
|
|
9757
|
+
heroComposition: "center",
|
|
9758
|
+
heroTypographyScale: "display",
|
|
9399
9759
|
imageSurfaceTreatment: { kind: "brand-scrim", token: "primary" }
|
|
9400
9760
|
}
|
|
9401
9761
|
}),
|
|
@@ -9448,6 +9808,8 @@ var blockAppearancePresets = [
|
|
|
9448
9808
|
transitionAfter: "soft-fade-short",
|
|
9449
9809
|
emphasis: "high",
|
|
9450
9810
|
sectionHeight: "immersive",
|
|
9811
|
+
heroComposition: "center",
|
|
9812
|
+
heroTypographyScale: "display",
|
|
9451
9813
|
imageSurfaceTreatment: { kind: "brand-scrim", token: "primary" },
|
|
9452
9814
|
imageSurfaceMotion: "fixed-frame",
|
|
9453
9815
|
eyebrowTreatment: "accent-pill-bounce"
|
|
@@ -9468,6 +9830,8 @@ var blockAppearancePresets = [
|
|
|
9468
9830
|
itemSurface: "none",
|
|
9469
9831
|
transitionAfter: "soft-fade-short",
|
|
9470
9832
|
emphasis: "high",
|
|
9833
|
+
heroComposition: "center",
|
|
9834
|
+
heroTypographyScale: "editorial",
|
|
9471
9835
|
eyebrowTreatment: "accent-pill-bounce"
|
|
9472
9836
|
}
|
|
9473
9837
|
}),
|
|
@@ -9482,7 +9846,82 @@ var blockAppearancePresets = [
|
|
|
9482
9846
|
contentFrame: panelFrame("inset"),
|
|
9483
9847
|
itemSurface: "none",
|
|
9484
9848
|
transitionAfter: "none",
|
|
9485
|
-
emphasis: "high"
|
|
9849
|
+
emphasis: "high",
|
|
9850
|
+
heroComposition: "center",
|
|
9851
|
+
heroTypographyScale: "editorial"
|
|
9852
|
+
}
|
|
9853
|
+
}),
|
|
9854
|
+
defineBlockAppearancePreset({
|
|
9855
|
+
kind: "block-design",
|
|
9856
|
+
id: "hero-split-editorial",
|
|
9857
|
+
target: "hero",
|
|
9858
|
+
label: "Editorial split hero",
|
|
9859
|
+
blockKinds: ["block.hero"],
|
|
9860
|
+
constraints: {
|
|
9861
|
+
layoutFamilies: ["split"]
|
|
9862
|
+
},
|
|
9863
|
+
design: {
|
|
9864
|
+
sectionSurface: "base",
|
|
9865
|
+
contentFrame: plainFrame,
|
|
9866
|
+
itemSurface: "none",
|
|
9867
|
+
transitionAfter: "soft-fade-short",
|
|
9868
|
+
emphasis: "high",
|
|
9869
|
+
heroTypographyScale: "editorial"
|
|
9870
|
+
}
|
|
9871
|
+
}),
|
|
9872
|
+
defineBlockAppearancePreset({
|
|
9873
|
+
kind: "block-design",
|
|
9874
|
+
id: "hero-split-brand",
|
|
9875
|
+
target: "hero",
|
|
9876
|
+
label: "Brand split hero",
|
|
9877
|
+
blockKinds: ["block.hero"],
|
|
9878
|
+
constraints: {
|
|
9879
|
+
layoutFamilies: ["split"]
|
|
9880
|
+
},
|
|
9881
|
+
design: {
|
|
9882
|
+
sectionSurface: "brand-depth-band",
|
|
9883
|
+
contentFrame: plainFrame,
|
|
9884
|
+
itemSurface: "none",
|
|
9885
|
+
transitionAfter: "soft-fade-short",
|
|
9886
|
+
emphasis: "high",
|
|
9887
|
+
heroTypographyScale: "display",
|
|
9888
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
9889
|
+
}
|
|
9890
|
+
}),
|
|
9891
|
+
defineBlockAppearancePreset({
|
|
9892
|
+
kind: "block-design",
|
|
9893
|
+
id: "hero-split-soft-panel",
|
|
9894
|
+
target: "hero",
|
|
9895
|
+
label: "Soft panel split hero",
|
|
9896
|
+
blockKinds: ["block.hero"],
|
|
9897
|
+
constraints: {
|
|
9898
|
+
layoutFamilies: ["split"]
|
|
9899
|
+
},
|
|
9900
|
+
design: {
|
|
9901
|
+
sectionSurface: "muted-band",
|
|
9902
|
+
contentFrame: panelFrame("raised"),
|
|
9903
|
+
itemSurface: "none",
|
|
9904
|
+
transitionAfter: "soft-fade-short",
|
|
9905
|
+
emphasis: "high",
|
|
9906
|
+
heroTypographyScale: "editorial"
|
|
9907
|
+
}
|
|
9908
|
+
}),
|
|
9909
|
+
defineBlockAppearancePreset({
|
|
9910
|
+
kind: "block-design",
|
|
9911
|
+
id: "hero-split-accent",
|
|
9912
|
+
target: "hero",
|
|
9913
|
+
label: "Accent split hero",
|
|
9914
|
+
blockKinds: ["block.hero"],
|
|
9915
|
+
constraints: {
|
|
9916
|
+
layoutFamilies: ["split"]
|
|
9917
|
+
},
|
|
9918
|
+
design: {
|
|
9919
|
+
sectionSurface: "accent-band",
|
|
9920
|
+
contentFrame: panelFrame("raised"),
|
|
9921
|
+
itemSurface: "none",
|
|
9922
|
+
transitionAfter: "soft-fade-short",
|
|
9923
|
+
emphasis: "high",
|
|
9924
|
+
heroTypographyScale: "display"
|
|
9486
9925
|
}
|
|
9487
9926
|
}),
|
|
9488
9927
|
defineBlockAppearancePreset({
|
|
@@ -9515,9 +9954,9 @@ var blockAppearancePresets = [
|
|
|
9515
9954
|
}),
|
|
9516
9955
|
defineBlockAppearancePreset({
|
|
9517
9956
|
kind: "block-design",
|
|
9518
|
-
id: "intro-
|
|
9957
|
+
id: "intro-organic-statement",
|
|
9519
9958
|
target: "intro",
|
|
9520
|
-
label: "
|
|
9959
|
+
label: "Organic intro statement",
|
|
9521
9960
|
blockKinds: ["block.intro"],
|
|
9522
9961
|
design: {
|
|
9523
9962
|
sectionSurface: "base",
|
|
@@ -9548,9 +9987,9 @@ var blockAppearancePresets = [
|
|
|
9548
9987
|
}),
|
|
9549
9988
|
defineBlockAppearancePreset({
|
|
9550
9989
|
kind: "block-design",
|
|
9551
|
-
id: "feature-cards-
|
|
9990
|
+
id: "feature-cards-raised-rule",
|
|
9552
9991
|
target: "feature-cards",
|
|
9553
|
-
label: "
|
|
9992
|
+
label: "Raised cards with rule",
|
|
9554
9993
|
blockKinds: ["block.feature-cards"],
|
|
9555
9994
|
design: {
|
|
9556
9995
|
sectionSurface: "base",
|
|
@@ -9579,6 +10018,21 @@ var blockAppearancePresets = [
|
|
|
9579
10018
|
emphasis: "medium"
|
|
9580
10019
|
}
|
|
9581
10020
|
}),
|
|
10021
|
+
defineBlockAppearancePreset({
|
|
10022
|
+
kind: "block-design",
|
|
10023
|
+
id: "events-lined-panel",
|
|
10024
|
+
target: "events",
|
|
10025
|
+
label: "Lined event panel",
|
|
10026
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
10027
|
+
design: {
|
|
10028
|
+
sectionSurface: "base",
|
|
10029
|
+
contentFrame: plainFrame,
|
|
10030
|
+
itemSurface: "none",
|
|
10031
|
+
transitionAfter: "none",
|
|
10032
|
+
emphasis: "medium",
|
|
10033
|
+
eventListTreatment: "lined-panel"
|
|
10034
|
+
}
|
|
10035
|
+
}),
|
|
9582
10036
|
defineBlockAppearancePreset({
|
|
9583
10037
|
kind: "block-design",
|
|
9584
10038
|
id: "schedule-details-accent-section",
|
|
@@ -9638,9 +10092,9 @@ var blockAppearancePresets = [
|
|
|
9638
10092
|
}),
|
|
9639
10093
|
defineBlockAppearancePreset({
|
|
9640
10094
|
kind: "block-design",
|
|
9641
|
-
id: "testimonials-
|
|
10095
|
+
id: "testimonials-simple-cards",
|
|
9642
10096
|
target: "testimonials",
|
|
9643
|
-
label: "
|
|
10097
|
+
label: "Simple testimonial cards",
|
|
9644
10098
|
blockKinds: ["block.testimonials"],
|
|
9645
10099
|
design: {
|
|
9646
10100
|
sectionSurface: "base",
|
|
@@ -9652,9 +10106,9 @@ var blockAppearancePresets = [
|
|
|
9652
10106
|
}),
|
|
9653
10107
|
defineBlockAppearancePreset({
|
|
9654
10108
|
kind: "block-design",
|
|
9655
|
-
id: "testimonials-
|
|
10109
|
+
id: "testimonials-raised-panel",
|
|
9656
10110
|
target: "testimonials",
|
|
9657
|
-
label: "
|
|
10111
|
+
label: "Raised testimonial panel",
|
|
9658
10112
|
blockKinds: ["block.testimonials"],
|
|
9659
10113
|
design: {
|
|
9660
10114
|
sectionSurface: "muted-band",
|
|
@@ -9666,9 +10120,9 @@ var blockAppearancePresets = [
|
|
|
9666
10120
|
}),
|
|
9667
10121
|
defineBlockAppearancePreset({
|
|
9668
10122
|
kind: "block-design",
|
|
9669
|
-
id: "testimonials-
|
|
10123
|
+
id: "testimonials-accent-panel",
|
|
9670
10124
|
target: "testimonials",
|
|
9671
|
-
label: "
|
|
10125
|
+
label: "Accent testimonial panel",
|
|
9672
10126
|
blockKinds: ["block.testimonials"],
|
|
9673
10127
|
design: {
|
|
9674
10128
|
sectionSurface: "accent-band",
|
|
@@ -9680,9 +10134,9 @@ var blockAppearancePresets = [
|
|
|
9680
10134
|
}),
|
|
9681
10135
|
defineBlockAppearancePreset({
|
|
9682
10136
|
kind: "block-design",
|
|
9683
|
-
id: "testimonials-accent-quote-
|
|
10137
|
+
id: "testimonials-accent-quote-cards",
|
|
9684
10138
|
target: "testimonials",
|
|
9685
|
-
label: "Accent quote
|
|
10139
|
+
label: "Accent quote cards",
|
|
9686
10140
|
blockKinds: ["block.testimonials"],
|
|
9687
10141
|
design: {
|
|
9688
10142
|
sectionSurface: "accent-band",
|
|
@@ -9695,9 +10149,9 @@ var blockAppearancePresets = [
|
|
|
9695
10149
|
}),
|
|
9696
10150
|
defineBlockAppearancePreset({
|
|
9697
10151
|
kind: "block-design",
|
|
9698
|
-
id: "testimonials-
|
|
10152
|
+
id: "testimonials-brand-background-quotes",
|
|
9699
10153
|
target: "testimonials",
|
|
9700
|
-
label: "
|
|
10154
|
+
label: "Brand background quotes",
|
|
9701
10155
|
blockKinds: ["block.testimonials"],
|
|
9702
10156
|
design: {
|
|
9703
10157
|
sectionSurface: "brand-depth-band",
|
|
@@ -9741,25 +10195,6 @@ var blockAppearancePresets = [
|
|
|
9741
10195
|
emphasis: "low"
|
|
9742
10196
|
}
|
|
9743
10197
|
}),
|
|
9744
|
-
defineBlockAppearancePreset({
|
|
9745
|
-
kind: "block-design",
|
|
9746
|
-
id: "faq-soft-earth-two-column",
|
|
9747
|
-
target: "faq",
|
|
9748
|
-
label: "Soft Earth two-column FAQ",
|
|
9749
|
-
blockKinds: ["block.faq"],
|
|
9750
|
-
design: {
|
|
9751
|
-
sectionSurface: "base",
|
|
9752
|
-
contentFrame: plainFrame,
|
|
9753
|
-
itemSurface: "flat",
|
|
9754
|
-
transitionAfter: "none",
|
|
9755
|
-
emphasis: "medium",
|
|
9756
|
-
accordionIconTreatment: {
|
|
9757
|
-
iconSet: "plus",
|
|
9758
|
-
colorToken: "primary",
|
|
9759
|
-
motion: "swap"
|
|
9760
|
-
}
|
|
9761
|
-
}
|
|
9762
|
-
}),
|
|
9763
10198
|
defineBlockAppearancePreset({
|
|
9764
10199
|
kind: "block-design",
|
|
9765
10200
|
id: "contact-form-panel",
|
|
@@ -11138,7 +11573,8 @@ var accordionSystemSchema = z12.object({
|
|
|
11138
11573
|
icon: z12.object({
|
|
11139
11574
|
style: accordionIconSchema,
|
|
11140
11575
|
position: z12.enum(["left", "right"]),
|
|
11141
|
-
size: z12.enum(["sm", "md", "lg"])
|
|
11576
|
+
size: z12.enum(["sm", "md", "lg"]),
|
|
11577
|
+
colorToken: themeColorTokenSchema.optional()
|
|
11142
11578
|
}),
|
|
11143
11579
|
// Trigger (question) styling
|
|
11144
11580
|
trigger: z12.object({
|
|
@@ -11272,6 +11708,7 @@ var navLinkPaddingXSchema = z16.enum(["none", "tight", "compact", "default", "re
|
|
|
11272
11708
|
var navLinkBorderRadiusSchema = z16.enum(["none", "sm", "md", "full"]);
|
|
11273
11709
|
var navLinkTextSizeSchema = z16.enum(["xs", "sm", "base", "lg"]);
|
|
11274
11710
|
var navLinkLetterSpacingSchema = z16.enum(["normal", "wide", "wider", "widest"]);
|
|
11711
|
+
var navLinkContrastTreatmentSchema = z16.enum(["none", "soft-glow"]);
|
|
11275
11712
|
var navLinkStyleSchema = z16.object({
|
|
11276
11713
|
/** Display name for the style */
|
|
11277
11714
|
name: z16.string().min(1).max(30).optional(),
|
|
@@ -11283,6 +11720,8 @@ var navLinkStyleSchema = z16.object({
|
|
|
11283
11720
|
textSize: navLinkTextSizeSchema.optional(),
|
|
11284
11721
|
/** Optional letter spacing override */
|
|
11285
11722
|
letterSpacing: navLinkLetterSpacingSchema.optional(),
|
|
11723
|
+
/** Optional text-only contrast treatment for transparent/overlay navigation */
|
|
11724
|
+
contrastTreatment: navLinkContrastTreatmentSchema.optional(),
|
|
11286
11725
|
/** Hover/active color token (for color-change effects) */
|
|
11287
11726
|
hoverColorToken: themeColorTokenSchema.nullable().optional(),
|
|
11288
11727
|
/** Padding preset */
|
|
@@ -11712,6 +12151,7 @@ var sectionStylesOverrideSchema = z21.object({
|
|
|
11712
12151
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
11713
12152
|
minHeight: z21.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
11714
12153
|
tileTreatment: z21.enum(tileTreatmentValues).nullable().optional(),
|
|
12154
|
+
eventListTreatment: z21.enum(eventListTreatmentValues).nullable().optional(),
|
|
11715
12155
|
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
11716
12156
|
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
11717
12157
|
// Author-level override consumed by later block/editor rendering phases.
|
|
@@ -12545,6 +12985,34 @@ var paletteVariantsById = new Map(
|
|
|
12545
12985
|
paletteVariants.map((v) => [v.id, v])
|
|
12546
12986
|
);
|
|
12547
12987
|
|
|
12988
|
+
// ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
12989
|
+
var softEarthAccordionSystem = {
|
|
12990
|
+
background: {
|
|
12991
|
+
type: "solid",
|
|
12992
|
+
colorToken: "background"
|
|
12993
|
+
},
|
|
12994
|
+
spacing: "comfortable",
|
|
12995
|
+
corners: "square",
|
|
12996
|
+
border: null,
|
|
12997
|
+
shadow: null,
|
|
12998
|
+
icon: {
|
|
12999
|
+
style: "plus-minus",
|
|
13000
|
+
position: "right",
|
|
13001
|
+
size: "md",
|
|
13002
|
+
colorToken: "primary"
|
|
13003
|
+
},
|
|
13004
|
+
trigger: {
|
|
13005
|
+
textColorToken: "text",
|
|
13006
|
+
fontWeight: "medium"
|
|
13007
|
+
},
|
|
13008
|
+
hover: {
|
|
13009
|
+
textColorToken: "primary"
|
|
13010
|
+
},
|
|
13011
|
+
content: {
|
|
13012
|
+
textColorToken: "neutral-700"
|
|
13013
|
+
}
|
|
13014
|
+
};
|
|
13015
|
+
|
|
12548
13016
|
// ../theme-core/src/site-styles/headerLooks.ts
|
|
12549
13017
|
function asHeaderLookId(value) {
|
|
12550
13018
|
return value;
|
|
@@ -12600,7 +13068,7 @@ var headerLayoutCatalog = [
|
|
|
12600
13068
|
description: "Detached header chrome that sits over the opening section.",
|
|
12601
13069
|
structure: "floating-shell",
|
|
12602
13070
|
variant: "floating",
|
|
12603
|
-
defaultPositioning: "
|
|
13071
|
+
defaultPositioning: "sticky",
|
|
12604
13072
|
shrinkOnScroll: true,
|
|
12605
13073
|
maxRecommendedNavItems: 5,
|
|
12606
13074
|
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
@@ -12617,7 +13085,9 @@ var headerStyleCatalog = [
|
|
|
12617
13085
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12618
13086
|
navInteraction: "color-change",
|
|
12619
13087
|
surface: "neutral",
|
|
12620
|
-
|
|
13088
|
+
defaultDepth: "none",
|
|
13089
|
+
navTypography: "plain",
|
|
13090
|
+
moods: ["calm", "professional", "editorial"]
|
|
12621
13091
|
},
|
|
12622
13092
|
{
|
|
12623
13093
|
id: asHeaderStyleId("fine-line"),
|
|
@@ -12626,7 +13096,9 @@ var headerStyleCatalog = [
|
|
|
12626
13096
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12627
13097
|
navInteraction: "underline-grow",
|
|
12628
13098
|
surface: "bordered",
|
|
12629
|
-
|
|
13099
|
+
defaultDepth: "line",
|
|
13100
|
+
navTypography: "plain",
|
|
13101
|
+
moods: ["calm", "professional", "editorial"]
|
|
12630
13102
|
},
|
|
12631
13103
|
{
|
|
12632
13104
|
id: asHeaderStyleId("soft-bar"),
|
|
@@ -12635,7 +13107,9 @@ var headerStyleCatalog = [
|
|
|
12635
13107
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12636
13108
|
navInteraction: "pill-background",
|
|
12637
13109
|
surface: "soft",
|
|
12638
|
-
|
|
13110
|
+
defaultDepth: "line",
|
|
13111
|
+
navTypography: "plain",
|
|
13112
|
+
moods: ["calm", "professional"]
|
|
12639
13113
|
},
|
|
12640
13114
|
{
|
|
12641
13115
|
id: asHeaderStyleId("pill-nav"),
|
|
@@ -12644,7 +13118,9 @@ var headerStyleCatalog = [
|
|
|
12644
13118
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12645
13119
|
navInteraction: "pill-background",
|
|
12646
13120
|
surface: "soft",
|
|
12647
|
-
|
|
13121
|
+
defaultDepth: "none",
|
|
13122
|
+
navTypography: "plain",
|
|
13123
|
+
moods: ["calm"]
|
|
12648
13124
|
},
|
|
12649
13125
|
{
|
|
12650
13126
|
id: asHeaderStyleId("brand-bar"),
|
|
@@ -12653,7 +13129,9 @@ var headerStyleCatalog = [
|
|
|
12653
13129
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12654
13130
|
navInteraction: "color-change",
|
|
12655
13131
|
surface: "brand-solid",
|
|
12656
|
-
|
|
13132
|
+
defaultDepth: "none",
|
|
13133
|
+
navTypography: "brand-caps",
|
|
13134
|
+
moods: ["professional", "expressive", "utility"]
|
|
12657
13135
|
},
|
|
12658
13136
|
{
|
|
12659
13137
|
id: asHeaderStyleId("brand-underline"),
|
|
@@ -12662,7 +13140,9 @@ var headerStyleCatalog = [
|
|
|
12662
13140
|
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
12663
13141
|
navInteraction: "underline-grow",
|
|
12664
13142
|
surface: "brand-solid",
|
|
12665
|
-
|
|
13143
|
+
defaultDepth: "none",
|
|
13144
|
+
navTypography: "brand-caps",
|
|
13145
|
+
moods: ["expressive"]
|
|
12666
13146
|
},
|
|
12667
13147
|
{
|
|
12668
13148
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -12671,7 +13151,9 @@ var headerStyleCatalog = [
|
|
|
12671
13151
|
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
12672
13152
|
navInteraction: "pill-background",
|
|
12673
13153
|
surface: "brand-solid",
|
|
12674
|
-
|
|
13154
|
+
defaultDepth: "none",
|
|
13155
|
+
navTypography: "brand-caps",
|
|
13156
|
+
moods: ["expressive"]
|
|
12675
13157
|
},
|
|
12676
13158
|
{
|
|
12677
13159
|
id: asHeaderStyleId("serif-line"),
|
|
@@ -12680,7 +13162,9 @@ var headerStyleCatalog = [
|
|
|
12680
13162
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12681
13163
|
navInteraction: "underline-grow",
|
|
12682
13164
|
surface: "bordered",
|
|
12683
|
-
|
|
13165
|
+
defaultDepth: "line",
|
|
13166
|
+
navTypography: "heading",
|
|
13167
|
+
moods: ["editorial", "calm"]
|
|
12684
13168
|
},
|
|
12685
13169
|
{
|
|
12686
13170
|
id: asHeaderStyleId("flat-tabs"),
|
|
@@ -12689,16 +13173,20 @@ var headerStyleCatalog = [
|
|
|
12689
13173
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12690
13174
|
navInteraction: "flat-block",
|
|
12691
13175
|
surface: "bordered",
|
|
12692
|
-
|
|
13176
|
+
defaultDepth: "shadow",
|
|
13177
|
+
navTypography: "quiet-caps",
|
|
13178
|
+
moods: ["professional", "utility", "expressive"]
|
|
12693
13179
|
},
|
|
12694
13180
|
{
|
|
12695
13181
|
id: asHeaderStyleId("glass"),
|
|
12696
13182
|
label: "Glass",
|
|
12697
13183
|
description: "Translucent chrome with frosted navigation backing.",
|
|
12698
|
-
supportedLayoutIds: supportedLayouts(["
|
|
13184
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12699
13185
|
navInteraction: "glass-backed",
|
|
12700
13186
|
surface: "floating",
|
|
12701
|
-
|
|
13187
|
+
defaultDepth: "shadow",
|
|
13188
|
+
navTypography: "plain",
|
|
13189
|
+
moods: ["expressive", "calm"]
|
|
12702
13190
|
},
|
|
12703
13191
|
{
|
|
12704
13192
|
id: asHeaderStyleId("minimal-surface"),
|
|
@@ -12707,7 +13195,9 @@ var headerStyleCatalog = [
|
|
|
12707
13195
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12708
13196
|
navInteraction: "color-change",
|
|
12709
13197
|
surface: "floating",
|
|
12710
|
-
|
|
13198
|
+
defaultDepth: "none",
|
|
13199
|
+
navTypography: "plain",
|
|
13200
|
+
moods: ["editorial", "calm"]
|
|
12711
13201
|
},
|
|
12712
13202
|
{
|
|
12713
13203
|
id: asHeaderStyleId("soft-shell"),
|
|
@@ -12716,7 +13206,9 @@ var headerStyleCatalog = [
|
|
|
12716
13206
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12717
13207
|
navInteraction: "pill-background",
|
|
12718
13208
|
surface: "floating",
|
|
12719
|
-
|
|
13209
|
+
defaultDepth: "shadow",
|
|
13210
|
+
navTypography: "plain",
|
|
13211
|
+
moods: ["calm", "professional"]
|
|
12720
13212
|
},
|
|
12721
13213
|
{
|
|
12722
13214
|
id: asHeaderStyleId("split-glass"),
|
|
@@ -12725,7 +13217,9 @@ var headerStyleCatalog = [
|
|
|
12725
13217
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12726
13218
|
navInteraction: "glass-backed",
|
|
12727
13219
|
surface: "floating",
|
|
12728
|
-
|
|
13220
|
+
defaultDepth: "shadow",
|
|
13221
|
+
navTypography: "quiet-caps",
|
|
13222
|
+
moods: ["expressive"]
|
|
12729
13223
|
},
|
|
12730
13224
|
{
|
|
12731
13225
|
id: asHeaderStyleId("split-pill"),
|
|
@@ -12734,7 +13228,9 @@ var headerStyleCatalog = [
|
|
|
12734
13228
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12735
13229
|
navInteraction: "pill-background",
|
|
12736
13230
|
surface: "floating",
|
|
12737
|
-
|
|
13231
|
+
defaultDepth: "shadow",
|
|
13232
|
+
navTypography: "heading",
|
|
13233
|
+
moods: ["calm", "editorial"]
|
|
12738
13234
|
}
|
|
12739
13235
|
];
|
|
12740
13236
|
var headerLayoutsById = new Map(
|
|
@@ -12748,7 +13244,6 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
12748
13244
|
asHeaderLayoutId("classic"),
|
|
12749
13245
|
headerStyleRepairChain([
|
|
12750
13246
|
"minimal",
|
|
12751
|
-
"glass",
|
|
12752
13247
|
"fine-line",
|
|
12753
13248
|
"soft-bar",
|
|
12754
13249
|
"pill-nav",
|
|
@@ -12815,7 +13310,13 @@ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
|
12815
13310
|
],
|
|
12816
13311
|
[
|
|
12817
13312
|
asHeaderStyleId("glass"),
|
|
12818
|
-
headerStyleRepairChain([
|
|
13313
|
+
headerStyleRepairChain([
|
|
13314
|
+
"glass",
|
|
13315
|
+
"soft-shell",
|
|
13316
|
+
"fine-line",
|
|
13317
|
+
"minimal-surface",
|
|
13318
|
+
"minimal"
|
|
13319
|
+
])
|
|
12819
13320
|
],
|
|
12820
13321
|
[
|
|
12821
13322
|
asHeaderStyleId("soft-shell"),
|
|
@@ -12927,6 +13428,23 @@ function getCompatibleHeaderStyleIds(layoutId) {
|
|
|
12927
13428
|
}
|
|
12928
13429
|
);
|
|
12929
13430
|
}
|
|
13431
|
+
function themedHeaderShadow(theme) {
|
|
13432
|
+
switch (theme.shadow.elevation) {
|
|
13433
|
+
case "none":
|
|
13434
|
+
return void 0;
|
|
13435
|
+
case "low":
|
|
13436
|
+
return { elevation: "sm" };
|
|
13437
|
+
case "medium":
|
|
13438
|
+
return { elevation: "md" };
|
|
13439
|
+
case "high":
|
|
13440
|
+
return { elevation: "lg" };
|
|
13441
|
+
default:
|
|
13442
|
+
return assertNever(
|
|
13443
|
+
theme.shadow.elevation,
|
|
13444
|
+
"Unhandled theme shadow elevation"
|
|
13445
|
+
);
|
|
13446
|
+
}
|
|
13447
|
+
}
|
|
12930
13448
|
function solidBrandHeader(theme) {
|
|
12931
13449
|
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
12932
13450
|
return {
|
|
@@ -13076,9 +13594,7 @@ function practicalUtilityHeader(theme) {
|
|
|
13076
13594
|
navColor: "text",
|
|
13077
13595
|
navStyle: "solid",
|
|
13078
13596
|
navWeight: "semibold",
|
|
13079
|
-
shadow:
|
|
13080
|
-
elevation: "sm"
|
|
13081
|
-
},
|
|
13597
|
+
shadow: themedHeaderShadow(theme),
|
|
13082
13598
|
border: {
|
|
13083
13599
|
style: "solid",
|
|
13084
13600
|
width: "thin",
|
|
@@ -13147,6 +13663,7 @@ function floatingGlassHeader(theme) {
|
|
|
13147
13663
|
return {
|
|
13148
13664
|
...transparentOverlayHeader(theme),
|
|
13149
13665
|
variant: "floating",
|
|
13666
|
+
positioning: "sticky",
|
|
13150
13667
|
navStyle: "frosted",
|
|
13151
13668
|
navContainer: {
|
|
13152
13669
|
type: "glass",
|
|
@@ -13662,7 +14179,7 @@ var typographyPresets = [
|
|
|
13662
14179
|
heroTypography: {
|
|
13663
14180
|
headlineSize: "6xl",
|
|
13664
14181
|
headlineLineHeight: "tight",
|
|
13665
|
-
subheadlineSize: "
|
|
14182
|
+
subheadlineSize: "2xl",
|
|
13666
14183
|
subheadlineLineHeight: "normal",
|
|
13667
14184
|
microHeadlineSize: "6xl",
|
|
13668
14185
|
microHeadlineLineHeight: "tight",
|
|
@@ -13680,6 +14197,8 @@ var typographyPresetsById = new Map(
|
|
|
13680
14197
|
);
|
|
13681
14198
|
|
|
13682
14199
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
14200
|
+
var SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
|
|
14201
|
+
var SOFT_EARTH_SITE_STYLE_ID = asSiteStyleId(SOFT_EARTH_SITE_STYLE_ID_VALUE);
|
|
13683
14202
|
var curatedSiteStyleIdValues = [
|
|
13684
14203
|
"site-style:calm-studio",
|
|
13685
14204
|
"site-style:clear-professional",
|
|
@@ -13691,7 +14210,7 @@ var curatedSiteStyleIdValues = [
|
|
|
13691
14210
|
"site-style:personal-retreat-journal",
|
|
13692
14211
|
"site-style:tactile-workshop",
|
|
13693
14212
|
"site-style:modern-wellness",
|
|
13694
|
-
|
|
14213
|
+
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
13695
14214
|
"site-style:bold-launch",
|
|
13696
14215
|
"site-style:south-west-twerk-school"
|
|
13697
14216
|
];
|
|
@@ -13773,7 +14292,10 @@ function uniqueContentFrameKinds() {
|
|
|
13773
14292
|
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
13774
14293
|
function defineCuratedSiteStyle(input) {
|
|
13775
14294
|
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
13776
|
-
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(
|
|
14295
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(
|
|
14296
|
+
legacyHeaderLookIds,
|
|
14297
|
+
input.tokenRecipes
|
|
14298
|
+
);
|
|
13777
14299
|
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
13778
14300
|
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
13779
14301
|
if (!typographyPresetChoices.some(
|
|
@@ -13806,6 +14328,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
13806
14328
|
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
13807
14329
|
},
|
|
13808
14330
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
14331
|
+
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
13809
14332
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
13810
14333
|
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
13811
14334
|
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
@@ -13864,7 +14387,69 @@ function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
|
13864
14387
|
};
|
|
13865
14388
|
return [first, ...choices.slice(1)];
|
|
13866
14389
|
}
|
|
13867
|
-
function
|
|
14390
|
+
function uniqueCompatibleHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
14391
|
+
const compatible = new Set(getCompatibleHeaderStyleIds(fallbackLayoutId));
|
|
14392
|
+
const seen = /* @__PURE__ */ new Set();
|
|
14393
|
+
const unique = choices.filter((choice) => {
|
|
14394
|
+
if (!compatible.has(choice.id)) return false;
|
|
14395
|
+
if (seen.has(choice.id)) return false;
|
|
14396
|
+
seen.add(choice.id);
|
|
14397
|
+
return true;
|
|
14398
|
+
});
|
|
14399
|
+
return nonEmptyHeaderStyleChoices(unique, fallbackLayoutId);
|
|
14400
|
+
}
|
|
14401
|
+
function inferredHeaderStyleValuesForRecipes(layoutId, recipes) {
|
|
14402
|
+
switch (layoutId) {
|
|
14403
|
+
case "classic":
|
|
14404
|
+
if (isExpressiveRecipe(recipes)) {
|
|
14405
|
+
return [
|
|
14406
|
+
"brand-bar",
|
|
14407
|
+
"brand-underline",
|
|
14408
|
+
"flat-tabs",
|
|
14409
|
+
"brand-pill",
|
|
14410
|
+
"fine-line"
|
|
14411
|
+
];
|
|
14412
|
+
}
|
|
14413
|
+
if (recipes.spacing === "compact") {
|
|
14414
|
+
return ["flat-tabs", "fine-line", "minimal", "brand-bar"];
|
|
14415
|
+
}
|
|
14416
|
+
if (isSerifTypographyRecipe(recipes)) {
|
|
14417
|
+
return ["serif-line", "fine-line", "minimal", "soft-bar"];
|
|
14418
|
+
}
|
|
14419
|
+
if (recipes.radius === "rounded" || recipes.radius === "pill") {
|
|
14420
|
+
return ["soft-bar", "pill-nav", "fine-line", "minimal"];
|
|
14421
|
+
}
|
|
14422
|
+
return ["fine-line", "minimal", "soft-bar", "brand-bar"];
|
|
14423
|
+
case "centered":
|
|
14424
|
+
if (isSerifTypographyRecipe(recipes)) {
|
|
14425
|
+
return ["serif-line", "fine-line", "minimal", "soft-bar"];
|
|
14426
|
+
}
|
|
14427
|
+
if (isExpressiveRecipe(recipes)) {
|
|
14428
|
+
return ["brand-pill", "flat-tabs", "brand-bar", "fine-line"];
|
|
14429
|
+
}
|
|
14430
|
+
if (recipes.radius === "rounded" || recipes.radius === "pill") {
|
|
14431
|
+
return ["soft-bar", "pill-nav", "fine-line", "minimal"];
|
|
14432
|
+
}
|
|
14433
|
+
return ["minimal", "fine-line", "soft-bar"];
|
|
14434
|
+
case "floating":
|
|
14435
|
+
if (isExpressiveRecipe(recipes)) {
|
|
14436
|
+
return ["glass", "split-glass", "brand-pill", "soft-shell"];
|
|
14437
|
+
}
|
|
14438
|
+
if (isSerifTypographyRecipe(recipes)) {
|
|
14439
|
+
return ["split-pill", "minimal-surface", "soft-shell"];
|
|
14440
|
+
}
|
|
14441
|
+
return ["soft-shell", "minimal-surface", "glass"];
|
|
14442
|
+
default:
|
|
14443
|
+
return [];
|
|
14444
|
+
}
|
|
14445
|
+
}
|
|
14446
|
+
function isExpressiveRecipe(recipes) {
|
|
14447
|
+
return recipes.contrast === "maximum" || recipes.shadow === "layered" || recipes.motion === "expressive";
|
|
14448
|
+
}
|
|
14449
|
+
function isSerifTypographyRecipe(recipes) {
|
|
14450
|
+
return recipes.typography === "serif-editorial" || recipes.typography === "classic-serif";
|
|
14451
|
+
}
|
|
14452
|
+
function inferHeaderCurationFromLegacyLooks(lookIds, recipes) {
|
|
13868
14453
|
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
13869
14454
|
(selection) => Boolean(selection)
|
|
13870
14455
|
);
|
|
@@ -13877,8 +14462,15 @@ function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
|
13877
14462
|
);
|
|
13878
14463
|
const stylesByLayout = {};
|
|
13879
14464
|
for (const layoutChoice of layoutChoices) {
|
|
13880
|
-
const
|
|
13881
|
-
|
|
14465
|
+
const legacyStyleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
14466
|
+
const inferredStyleChoices = inferredHeaderStyleValuesForRecipes(
|
|
14467
|
+
layoutChoice.id,
|
|
14468
|
+
recipes
|
|
14469
|
+
).map((styleId) => headerStyleChoice(styleId));
|
|
14470
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = uniqueCompatibleHeaderStyleChoices(
|
|
14471
|
+
[...legacyStyleChoices, ...inferredStyleChoices],
|
|
14472
|
+
layoutChoice.id
|
|
14473
|
+
);
|
|
13882
14474
|
}
|
|
13883
14475
|
return {
|
|
13884
14476
|
defaultHeaderSelection,
|
|
@@ -14298,10 +14890,10 @@ var curatedSiteStyles = [
|
|
|
14298
14890
|
]
|
|
14299
14891
|
}),
|
|
14300
14892
|
defineCuratedSiteStyle({
|
|
14301
|
-
id:
|
|
14893
|
+
id: SOFT_EARTH_SITE_STYLE_ID,
|
|
14302
14894
|
name: "Soft Earth",
|
|
14303
14895
|
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
14304
|
-
generationBrief: "Use cream space, terracotta CTAs, olive
|
|
14896
|
+
generationBrief: "Use cream space, terracotta CTAs, olive quote bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community quotes, and an FAQ with a full-width intro above two columns of questions when content allows.",
|
|
14305
14897
|
siteCreatorSelection: {
|
|
14306
14898
|
kind: "site_creator_keyword_heuristic",
|
|
14307
14899
|
priority: 45
|
|
@@ -14371,14 +14963,18 @@ var curatedSiteStyles = [
|
|
|
14371
14963
|
paragraphSize: "default",
|
|
14372
14964
|
headingSize: "editorial"
|
|
14373
14965
|
}
|
|
14374
|
-
}
|
|
14966
|
+
},
|
|
14967
|
+
accordions: softEarthAccordionSystem
|
|
14968
|
+
},
|
|
14969
|
+
defaultBlockVariants: {
|
|
14970
|
+
"block.faq": "question-columns"
|
|
14375
14971
|
},
|
|
14376
14972
|
recommendedAppearancePresetIds: [
|
|
14377
14973
|
"hero-brand-scrim",
|
|
14378
|
-
"intro-
|
|
14379
|
-
"feature-cards-
|
|
14380
|
-
"
|
|
14381
|
-
"
|
|
14974
|
+
"intro-organic-statement",
|
|
14975
|
+
"feature-cards-raised-rule",
|
|
14976
|
+
"events-lined-panel",
|
|
14977
|
+
"testimonials-brand-background-quotes",
|
|
14382
14978
|
"contact-form-panel"
|
|
14383
14979
|
],
|
|
14384
14980
|
recommendedHeaderLookIds: [
|
|
@@ -14482,7 +15078,7 @@ var curatedSiteStyles = [
|
|
|
14482
15078
|
"hero-brand-scrim-fixed-frame",
|
|
14483
15079
|
"body-text-editorial-intro",
|
|
14484
15080
|
"schedule-details-brand-depth",
|
|
14485
|
-
"testimonials-accent-quote-
|
|
15081
|
+
"testimonials-accent-quote-cards",
|
|
14486
15082
|
"contact-form-brand-depth-card"
|
|
14487
15083
|
],
|
|
14488
15084
|
recommendedHeaderLookIds: [
|
|
@@ -14577,6 +15173,7 @@ var themeV2RuntimeStyleFieldNames = [
|
|
|
14577
15173
|
];
|
|
14578
15174
|
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
14579
15175
|
"_contentCardStyles",
|
|
15176
|
+
"_heroLayoutStyles",
|
|
14580
15177
|
"_textCardStyles"
|
|
14581
15178
|
];
|
|
14582
15179
|
var themeV2NormalEditorRawStyleFieldNames = [
|
|
@@ -14586,6 +15183,10 @@ var themeV2NormalEditorRawStyleFieldNames = [
|
|
|
14586
15183
|
var themeV2NormalEditorRawStyleFieldNameSet = new Set(
|
|
14587
15184
|
themeV2NormalEditorRawStyleFieldNames
|
|
14588
15185
|
);
|
|
15186
|
+
var themeV2CompilerOwnedFieldNames = [
|
|
15187
|
+
...themeV2RuntimeStyleFieldNames,
|
|
15188
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
15189
|
+
];
|
|
14589
15190
|
|
|
14590
15191
|
// ../theme-core/src/site-styles/designState.ts
|
|
14591
15192
|
var themeV2DesignStateSchemaVersion = 1;
|
|
@@ -14600,6 +15201,16 @@ var heroLegibilityStrategySchema = z23.enum([
|
|
|
14600
15201
|
"scrim-gradient",
|
|
14601
15202
|
"solid-panel"
|
|
14602
15203
|
]);
|
|
15204
|
+
var heroCompositionIntentSchema = z23.enum([
|
|
15205
|
+
"center",
|
|
15206
|
+
"bottom-left"
|
|
15207
|
+
]);
|
|
15208
|
+
var heroTypographyScaleIntentSchema = z23.enum([
|
|
15209
|
+
"quiet",
|
|
15210
|
+
"editorial",
|
|
15211
|
+
"display",
|
|
15212
|
+
"poster"
|
|
15213
|
+
]);
|
|
14603
15214
|
var sectionHeightIntentSchema = z23.enum([
|
|
14604
15215
|
"default",
|
|
14605
15216
|
"banner",
|
|
@@ -14635,6 +15246,7 @@ var imageSurfaceTreatmentSchema = z23.discriminatedUnion("kind", [
|
|
|
14635
15246
|
]);
|
|
14636
15247
|
var testimonialCardTreatmentSchema = z23.enum(["default", "accent-quote"]);
|
|
14637
15248
|
var tileTreatmentSchema = z23.enum(tileTreatmentValues);
|
|
15249
|
+
var eventListTreatmentSchema = z23.enum(eventListTreatmentValues);
|
|
14638
15250
|
var eyebrowTreatmentSchema = z23.enum(eyebrowTreatmentValues);
|
|
14639
15251
|
function uniqueNonEmpty(values) {
|
|
14640
15252
|
const uniqueValues = [...new Set(values)];
|
|
@@ -14676,10 +15288,13 @@ var blockDesignPlanSchema = z23.object({
|
|
|
14676
15288
|
emphasis: z23.enum(userDesignOptionCatalog.emphases),
|
|
14677
15289
|
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
14678
15290
|
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
15291
|
+
heroComposition: heroCompositionIntentSchema.optional(),
|
|
15292
|
+
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
14679
15293
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
14680
15294
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
14681
15295
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
14682
15296
|
tileTreatment: tileTreatmentSchema.optional(),
|
|
15297
|
+
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
14683
15298
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
14684
15299
|
}).strict();
|
|
14685
15300
|
var styleAuthoritySchema = z23.discriminatedUnion("kind", [
|
|
@@ -16079,6 +16694,7 @@ function styledSection(config) {
|
|
|
16079
16694
|
renderBackgroundImage = true,
|
|
16080
16695
|
backgroundImageLoading,
|
|
16081
16696
|
backgroundImageFetchPriority,
|
|
16697
|
+
allowOverflow = false,
|
|
16082
16698
|
fullWidthPath
|
|
16083
16699
|
} = config;
|
|
16084
16700
|
const renderedBackgroundNodes = backgroundLayer(`${bindFrom}.background`, {
|
|
@@ -16113,7 +16729,7 @@ function styledSection(config) {
|
|
|
16113
16729
|
// No fallback needed - transform handles all cases via defaultSpacing
|
|
16114
16730
|
}
|
|
16115
16731
|
},
|
|
16116
|
-
allowOverflow: {
|
|
16732
|
+
allowOverflow: allowOverflow ? true : {
|
|
16117
16733
|
$bind: {
|
|
16118
16734
|
from: `${bindFrom}.background`,
|
|
16119
16735
|
transforms: [{ id: "background.resolveAllowOverflow" }],
|
|
@@ -16808,6 +17424,14 @@ var tileTreatmentSet = new Set(tileTreatmentValues);
|
|
|
16808
17424
|
function isTileTreatment(value) {
|
|
16809
17425
|
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
16810
17426
|
}
|
|
17427
|
+
var eventListTreatmentClassMap = {
|
|
17428
|
+
plain: "",
|
|
17429
|
+
"lined-panel": "rb-event-list-treatment-lined-panel"
|
|
17430
|
+
};
|
|
17431
|
+
var eventListTreatmentSet = new Set(eventListTreatmentValues);
|
|
17432
|
+
function isEventListTreatment(value) {
|
|
17433
|
+
return typeof value === "string" && eventListTreatmentSet.has(value);
|
|
17434
|
+
}
|
|
16811
17435
|
var sectionClassNameTransform = {
|
|
16812
17436
|
id: "sectionStyles.resolveClassName",
|
|
16813
17437
|
kind: "string",
|
|
@@ -16875,6 +17499,17 @@ var sectionClassNameTransform = {
|
|
|
16875
17499
|
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
16876
17500
|
);
|
|
16877
17501
|
}
|
|
17502
|
+
const eventListTreatment = input?.eventListTreatment;
|
|
17503
|
+
if (isEventListTreatment(eventListTreatment)) {
|
|
17504
|
+
const eventListTreatmentClass = eventListTreatmentClassMap[eventListTreatment];
|
|
17505
|
+
if (eventListTreatmentClass) {
|
|
17506
|
+
classes.push(eventListTreatmentClass);
|
|
17507
|
+
}
|
|
17508
|
+
} else if (typeof eventListTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
17509
|
+
console.warn(
|
|
17510
|
+
`[sectionStyles] Invalid eventListTreatment value in _sectionStyles: "${eventListTreatment}". Expected one of: ${eventListTreatmentValues.join(", ")}.`
|
|
17511
|
+
);
|
|
17512
|
+
}
|
|
16878
17513
|
if (hasFixedFrameBackgroundMotion(input)) {
|
|
16879
17514
|
classes.push(fixedFrameScopeClass);
|
|
16880
17515
|
}
|
|
@@ -17310,6 +17945,35 @@ function sectionState(opts) {
|
|
|
17310
17945
|
);
|
|
17311
17946
|
}
|
|
17312
17947
|
|
|
17948
|
+
// ../blocks/src/system/node/fragments/headingDecoration.ts
|
|
17949
|
+
var defaultBindFrom = "_sectionStyles.headingDecoration";
|
|
17950
|
+
function headingDecoration({
|
|
17951
|
+
bindFrom = defaultBindFrom,
|
|
17952
|
+
family,
|
|
17953
|
+
placement,
|
|
17954
|
+
className
|
|
17955
|
+
}) {
|
|
17956
|
+
return el(
|
|
17957
|
+
"div",
|
|
17958
|
+
{
|
|
17959
|
+
"aria-hidden": "true",
|
|
17960
|
+
className: {
|
|
17961
|
+
$bind: {
|
|
17962
|
+
from: bindFrom,
|
|
17963
|
+
transforms: [
|
|
17964
|
+
{
|
|
17965
|
+
id: "ui.headingDecorationClassName",
|
|
17966
|
+
options: { baseClass: className, family }
|
|
17967
|
+
}
|
|
17968
|
+
]
|
|
17969
|
+
}
|
|
17970
|
+
}
|
|
17971
|
+
},
|
|
17972
|
+
null,
|
|
17973
|
+
when(`${bindFrom}.placement`, { equals: placement })
|
|
17974
|
+
);
|
|
17975
|
+
}
|
|
17976
|
+
|
|
17313
17977
|
// ../blocks/src/system/fragments/types.ts
|
|
17314
17978
|
import { z as z27 } from "zod";
|
|
17315
17979
|
var FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
|
|
@@ -17395,47 +18059,48 @@ function validateFieldDefinitions(fields3, fragmentId) {
|
|
|
17395
18059
|
function prefixFieldId(field, scope) {
|
|
17396
18060
|
const cloned = cloneFieldDefinition2(field);
|
|
17397
18061
|
cloned.id = `${scope}.${field.id}`;
|
|
17398
|
-
|
|
18062
|
+
const defaultValue = cloned.defaultValue;
|
|
18063
|
+
cloned.defaultValue = cloneUnknown(defaultValue);
|
|
17399
18064
|
cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
|
|
17400
18065
|
cloned.ui = cloneUnknown(cloned.ui);
|
|
17401
18066
|
return cloned;
|
|
17402
18067
|
}
|
|
17403
18068
|
function cloneFieldDefinition2(field) {
|
|
17404
|
-
|
|
17405
|
-
|
|
17406
|
-
|
|
17407
|
-
|
|
17408
|
-
|
|
17409
|
-
|
|
17410
|
-
|
|
17411
|
-
|
|
17412
|
-
|
|
17413
|
-
|
|
17414
|
-
|
|
17415
|
-
|
|
17416
|
-
|
|
17417
|
-
|
|
17418
|
-
|
|
17419
|
-
|
|
17420
|
-
|
|
17421
|
-
return {
|
|
17422
|
-
...field,
|
|
17423
|
-
schema: {
|
|
17424
|
-
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
17425
|
-
}
|
|
17426
|
-
};
|
|
17427
|
-
}
|
|
17428
|
-
return { ...field };
|
|
17429
|
-
case "group":
|
|
18069
|
+
if (field.type === "repeater") {
|
|
18070
|
+
if (field.polymorphic && field.itemTypes) {
|
|
18071
|
+
return {
|
|
18072
|
+
...field,
|
|
18073
|
+
polymorphic: true,
|
|
18074
|
+
itemTypes: Object.fromEntries(
|
|
18075
|
+
Object.entries(field.itemTypes).map(([key, itemType]) => [
|
|
18076
|
+
key,
|
|
18077
|
+
{
|
|
18078
|
+
...itemType,
|
|
18079
|
+
fields: itemType.fields.map(cloneFieldDefinition2)
|
|
18080
|
+
}
|
|
18081
|
+
])
|
|
18082
|
+
)
|
|
18083
|
+
};
|
|
18084
|
+
}
|
|
18085
|
+
if (field.schema) {
|
|
17430
18086
|
return {
|
|
17431
18087
|
...field,
|
|
17432
18088
|
schema: {
|
|
17433
18089
|
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
17434
18090
|
}
|
|
17435
18091
|
};
|
|
17436
|
-
|
|
17437
|
-
|
|
18092
|
+
}
|
|
18093
|
+
return { ...field };
|
|
18094
|
+
}
|
|
18095
|
+
if (field.type === "group") {
|
|
18096
|
+
return {
|
|
18097
|
+
...field,
|
|
18098
|
+
schema: {
|
|
18099
|
+
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
18100
|
+
}
|
|
18101
|
+
};
|
|
17438
18102
|
}
|
|
18103
|
+
return { ...field };
|
|
17439
18104
|
}
|
|
17440
18105
|
function cloneUnknown(value) {
|
|
17441
18106
|
if (value == null || typeof value !== "object") {
|
|
@@ -18088,6 +18753,10 @@ var testimonialsHeadingFragment = defineFragment({
|
|
|
18088
18753
|
when("content.heading"),
|
|
18089
18754
|
bind("content.heading")
|
|
18090
18755
|
),
|
|
18756
|
+
headingDecoration({
|
|
18757
|
+
family: "short-center-rule",
|
|
18758
|
+
placement: "under-centered-heading"
|
|
18759
|
+
}),
|
|
18091
18760
|
text(
|
|
18092
18761
|
{
|
|
18093
18762
|
as: "p",
|
|
@@ -18759,6 +19428,41 @@ var faqHeadingFragment = defineFragment({
|
|
|
18759
19428
|
});
|
|
18760
19429
|
|
|
18761
19430
|
// ../blocks/src/system/fragments/library/faqAccordion.ts
|
|
19431
|
+
function createFaqAccordionLayout(options = {}) {
|
|
19432
|
+
return accordionList({
|
|
19433
|
+
collection: "content.items",
|
|
19434
|
+
itemName: "faqItem",
|
|
19435
|
+
indexName: "faqIndex",
|
|
19436
|
+
accordionProps: {
|
|
19437
|
+
className: options.rootClassName ?? "accordion-root",
|
|
19438
|
+
type: "single",
|
|
19439
|
+
collapsible: true
|
|
19440
|
+
},
|
|
19441
|
+
itemProps: {
|
|
19442
|
+
className: {
|
|
19443
|
+
$bind: {
|
|
19444
|
+
from: "content._cardStyles",
|
|
19445
|
+
transforms: [
|
|
19446
|
+
{
|
|
19447
|
+
id: "boxStyles.all",
|
|
19448
|
+
options: {
|
|
19449
|
+
axis: "all",
|
|
19450
|
+
includeSpacing: false,
|
|
19451
|
+
baseClass: "rb-faq-item rb-relative rb-isolate rb-overflow-hidden"
|
|
19452
|
+
}
|
|
19453
|
+
}
|
|
19454
|
+
]
|
|
19455
|
+
},
|
|
19456
|
+
fallback: "rb-faq-item"
|
|
19457
|
+
},
|
|
19458
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
19459
|
+
// Legacy theme accordion style
|
|
19460
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
19461
|
+
},
|
|
19462
|
+
triggerFrom: "faqItem.question",
|
|
19463
|
+
contentFrom: "faqItem.answer"
|
|
19464
|
+
});
|
|
19465
|
+
}
|
|
18762
19466
|
var faqAccordionFragment = defineFragment({
|
|
18763
19467
|
id: "faqAccordion",
|
|
18764
19468
|
title: "FAQ Accordion",
|
|
@@ -18792,40 +19496,7 @@ var faqAccordionFragment = defineFragment({
|
|
|
18792
19496
|
}
|
|
18793
19497
|
}
|
|
18794
19498
|
],
|
|
18795
|
-
layout:
|
|
18796
|
-
collection: "content.items",
|
|
18797
|
-
itemName: "faqItem",
|
|
18798
|
-
indexName: "faqIndex",
|
|
18799
|
-
accordionProps: {
|
|
18800
|
-
className: "accordion-root",
|
|
18801
|
-
// CSS-first: all styling handled by theme CSS
|
|
18802
|
-
type: "single",
|
|
18803
|
-
collapsible: true
|
|
18804
|
-
},
|
|
18805
|
-
itemProps: {
|
|
18806
|
-
className: {
|
|
18807
|
-
$bind: {
|
|
18808
|
-
from: "content._cardStyles",
|
|
18809
|
-
transforms: [
|
|
18810
|
-
{
|
|
18811
|
-
id: "boxStyles.all",
|
|
18812
|
-
options: {
|
|
18813
|
-
axis: "all",
|
|
18814
|
-
includeSpacing: false,
|
|
18815
|
-
baseClass: "rb-faq-item rb-relative rb-isolate rb-overflow-hidden rb-border"
|
|
18816
|
-
}
|
|
18817
|
-
}
|
|
18818
|
-
]
|
|
18819
|
-
},
|
|
18820
|
-
fallback: "rb-faq-item"
|
|
18821
|
-
},
|
|
18822
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
18823
|
-
// Legacy theme accordion style
|
|
18824
|
-
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
18825
|
-
},
|
|
18826
|
-
triggerFrom: "faqItem.question",
|
|
18827
|
-
contentFrom: "faqItem.answer"
|
|
18828
|
-
})
|
|
19499
|
+
layout: createFaqAccordionLayout()
|
|
18829
19500
|
});
|
|
18830
19501
|
|
|
18831
19502
|
// ../blocks/src/system/fragments/library/card.ts
|
|
@@ -19772,7 +20443,8 @@ function createBlockManifestWithContentShape(config, _contentShape) {
|
|
|
19772
20443
|
return createBlockManifest(config);
|
|
19773
20444
|
}
|
|
19774
20445
|
function normalizeBlockLayout(layout) {
|
|
19775
|
-
|
|
20446
|
+
const rawLayout = layout;
|
|
20447
|
+
return Array.isArray(rawLayout) ? rawLayout : rawLayout;
|
|
19776
20448
|
}
|
|
19777
20449
|
function deriveComponentName(id) {
|
|
19778
20450
|
const base = id.replace(/^block\./, "");
|
|
@@ -19878,6 +20550,7 @@ var microLayout = styledSection({
|
|
|
19878
20550
|
function splitLayoutWith(children) {
|
|
19879
20551
|
return styledSection({
|
|
19880
20552
|
children: styledContainer({
|
|
20553
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible",
|
|
19881
20554
|
children: {
|
|
19882
20555
|
type: "grid",
|
|
19883
20556
|
props: {
|
|
@@ -19902,6 +20575,7 @@ function splitLayoutWith(children) {
|
|
|
19902
20575
|
// The split variants render the image as a real grid column, so suppress
|
|
19903
20576
|
// the default absolute background image layer while keeping color/overlay.
|
|
19904
20577
|
renderBackgroundImage: false,
|
|
20578
|
+
allowOverflow: true,
|
|
19905
20579
|
baseClass: ""
|
|
19906
20580
|
});
|
|
19907
20581
|
}
|
|
@@ -20055,6 +20729,21 @@ function introHeading(className) {
|
|
|
20055
20729
|
bind("content.title")
|
|
20056
20730
|
);
|
|
20057
20731
|
}
|
|
20732
|
+
function introHeadingGroup(className) {
|
|
20733
|
+
return stack(
|
|
20734
|
+
{
|
|
20735
|
+
gap: "sm",
|
|
20736
|
+
className: "rb-intro-heading-group"
|
|
20737
|
+
},
|
|
20738
|
+
[
|
|
20739
|
+
introHeading(className),
|
|
20740
|
+
headingDecoration({
|
|
20741
|
+
family: "organic-squiggle",
|
|
20742
|
+
placement: "after-heading"
|
|
20743
|
+
})
|
|
20744
|
+
]
|
|
20745
|
+
);
|
|
20746
|
+
}
|
|
20058
20747
|
function introBody(className = "rb-prose rb-max-w-none") {
|
|
20059
20748
|
return richText({ className }, bind("content.body"));
|
|
20060
20749
|
}
|
|
@@ -20073,6 +20762,10 @@ function introCopyStack(options = {}) {
|
|
|
20073
20762
|
},
|
|
20074
20763
|
[
|
|
20075
20764
|
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
20765
|
+
headingDecoration({
|
|
20766
|
+
family: "organic-squiggle",
|
|
20767
|
+
placement: "after-heading"
|
|
20768
|
+
}),
|
|
20076
20769
|
introBody(options.bodyClassName),
|
|
20077
20770
|
introCtas(options.ctaJustify)
|
|
20078
20771
|
]
|
|
@@ -20112,7 +20805,7 @@ var statementCopyLayout = styledSection({
|
|
|
20112
20805
|
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
20113
20806
|
},
|
|
20114
20807
|
[
|
|
20115
|
-
|
|
20808
|
+
introHeadingGroup("rb-intro-title rb-max-w-xl"),
|
|
20116
20809
|
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
20117
20810
|
introBody(),
|
|
20118
20811
|
introCtas("start")
|
|
@@ -20133,7 +20826,7 @@ var statementMediaLayout = styledSection({
|
|
|
20133
20826
|
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"
|
|
20134
20827
|
},
|
|
20135
20828
|
[
|
|
20136
|
-
|
|
20829
|
+
introHeadingGroup("rb-intro-title rb-max-w-xl"),
|
|
20137
20830
|
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
20138
20831
|
introBody(),
|
|
20139
20832
|
introCtas("start")
|
|
@@ -21135,6 +21828,9 @@ function isNodeDefinitionArray(layout) {
|
|
|
21135
21828
|
}
|
|
21136
21829
|
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
21137
21830
|
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
21831
|
+
var questionColumnsAccordionLayout = createFaqAccordionLayout({
|
|
21832
|
+
rootClassName: "accordion-root rb-faq-question-columns rb-grid rb-grid-cols-1 rb-gap-4 rb-lg-grid-cols-2"
|
|
21833
|
+
});
|
|
21138
21834
|
var defaultLayout = styledSection({
|
|
21139
21835
|
children: styledContainer({
|
|
21140
21836
|
baseClassName: "rb-relative rb-isolate",
|
|
@@ -21148,11 +21844,24 @@ var twoColumnLayout = styledSection({
|
|
|
21148
21844
|
children: el(
|
|
21149
21845
|
"div",
|
|
21150
21846
|
{
|
|
21151
|
-
className: "rb-faq-
|
|
21847
|
+
className: "rb-faq-split-heading rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
21152
21848
|
},
|
|
21153
21849
|
[
|
|
21154
|
-
el("div", { className: "rb-faq-
|
|
21155
|
-
el("div", { className: "rb-faq-
|
|
21850
|
+
el("div", { className: "rb-faq-split-heading-copy" }, [headingLayout]),
|
|
21851
|
+
el("div", { className: "rb-faq-split-heading-accordion" }, [accordionLayout])
|
|
21852
|
+
]
|
|
21853
|
+
)
|
|
21854
|
+
}),
|
|
21855
|
+
baseClass: ""
|
|
21856
|
+
});
|
|
21857
|
+
var questionColumnsLayout = styledSection({
|
|
21858
|
+
children: styledContainer({
|
|
21859
|
+
baseClassName: "rb-relative rb-isolate",
|
|
21860
|
+
children: stack(
|
|
21861
|
+
{ gap: "xl", className: "rb-w-full" },
|
|
21862
|
+
[
|
|
21863
|
+
headingLayout,
|
|
21864
|
+
questionColumnsAccordionLayout
|
|
21156
21865
|
]
|
|
21157
21866
|
)
|
|
21158
21867
|
}),
|
|
@@ -21177,7 +21886,8 @@ var faqManifest = createBlockManifest({
|
|
|
21177
21886
|
layout: defaultLayout,
|
|
21178
21887
|
variants: {
|
|
21179
21888
|
default: defaultLayout,
|
|
21180
|
-
"two-column": twoColumnLayout
|
|
21889
|
+
"two-column": twoColumnLayout,
|
|
21890
|
+
"question-columns": questionColumnsLayout
|
|
21181
21891
|
},
|
|
21182
21892
|
defaultVariant: "default",
|
|
21183
21893
|
variantOptions: {
|
|
@@ -21188,6 +21898,10 @@ var faqManifest = createBlockManifest({
|
|
|
21188
21898
|
"two-column": {
|
|
21189
21899
|
label: "Two column",
|
|
21190
21900
|
description: "A left heading column with FAQ items on the right."
|
|
21901
|
+
},
|
|
21902
|
+
"question-columns": {
|
|
21903
|
+
label: "Question columns",
|
|
21904
|
+
description: "A full-width heading above FAQ items split into two columns."
|
|
21191
21905
|
}
|
|
21192
21906
|
},
|
|
21193
21907
|
description: "Accordion of frequently asked questions and answers.",
|
|
@@ -21276,16 +21990,20 @@ var marqueeLoopTransform = {
|
|
|
21276
21990
|
summary: "Repeat an array to a minimum length, then duplicate it for seamless marquee looping",
|
|
21277
21991
|
schema: marqueeLoopOptionsSchema,
|
|
21278
21992
|
run: (value, options) => {
|
|
21279
|
-
|
|
21993
|
+
const items = toUnknownArray(value);
|
|
21994
|
+
if (items.length === 0) return [];
|
|
21280
21995
|
const minItems = options?.minItems ?? 10;
|
|
21281
21996
|
const base = [];
|
|
21282
21997
|
while (base.length < minItems) {
|
|
21283
|
-
base.push(...
|
|
21998
|
+
base.push(...items);
|
|
21284
21999
|
if (base.length > 1e3) break;
|
|
21285
22000
|
}
|
|
21286
22001
|
return [...base, ...base];
|
|
21287
22002
|
}
|
|
21288
22003
|
};
|
|
22004
|
+
function toUnknownArray(value) {
|
|
22005
|
+
return Array.isArray(value) ? value : [];
|
|
22006
|
+
}
|
|
21289
22007
|
var formattingTransforms = [
|
|
21290
22008
|
uppercaseTransform,
|
|
21291
22009
|
fallbackTransform,
|
|
@@ -21309,9 +22027,21 @@ var eyebrowTreatmentClassMap = {
|
|
|
21309
22027
|
"accent-pill-bounce": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-accent rb-eyebrow-treatment-pill-bounce"
|
|
21310
22028
|
};
|
|
21311
22029
|
var eyebrowTreatmentSet = new Set(eyebrowTreatmentValues);
|
|
22030
|
+
var headingDecorationFamilySet = new Set(visibleHeadingDecorationFamilyValues);
|
|
22031
|
+
var headingDecorationPlacementSet = new Set(visibleHeadingDecorationPlacementValues);
|
|
22032
|
+
var headingDecorationColorTokenSet = new Set(headingDecorationColorTokenValues);
|
|
21312
22033
|
function isEyebrowTreatment(value) {
|
|
21313
22034
|
return typeof value === "string" && eyebrowTreatmentSet.has(value);
|
|
21314
22035
|
}
|
|
22036
|
+
function isHeadingDecorationFamily(value) {
|
|
22037
|
+
return typeof value === "string" && headingDecorationFamilySet.has(value);
|
|
22038
|
+
}
|
|
22039
|
+
function isHeadingDecorationPlacement(value) {
|
|
22040
|
+
return typeof value === "string" && headingDecorationPlacementSet.has(value);
|
|
22041
|
+
}
|
|
22042
|
+
function isHeadingDecorationColorToken(value) {
|
|
22043
|
+
return typeof value === "string" && headingDecorationColorTokenSet.has(value);
|
|
22044
|
+
}
|
|
21315
22045
|
var imageGalleryCornerClassMap = {
|
|
21316
22046
|
none: "",
|
|
21317
22047
|
sm: "rb-rounded-sm",
|
|
@@ -21415,6 +22145,10 @@ var sectionStateToneTransform = {
|
|
|
21415
22145
|
summary: "Map semantic section-state kind to feedback tone",
|
|
21416
22146
|
run: (value) => sectionStateToneFromUnknown(value)
|
|
21417
22147
|
};
|
|
22148
|
+
var heroTitleLengthThresholds = {
|
|
22149
|
+
medium: { maxCharacters: 42, maxWords: 6 },
|
|
22150
|
+
long: { maxCharacters: 78, maxWords: 11 }
|
|
22151
|
+
};
|
|
21418
22152
|
function isPlainObject(value) {
|
|
21419
22153
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
21420
22154
|
}
|
|
@@ -21422,6 +22156,14 @@ function readString(obj, key) {
|
|
|
21422
22156
|
const v = obj[key];
|
|
21423
22157
|
return typeof v === "string" ? v : void 0;
|
|
21424
22158
|
}
|
|
22159
|
+
function resolveGeneratedHeroLayoutStyles(content) {
|
|
22160
|
+
const raw = content._heroLayoutStyles;
|
|
22161
|
+
return isPlainObject(raw) ? raw : null;
|
|
22162
|
+
}
|
|
22163
|
+
function readHeroLayoutString(content, generatedKey, fallbackKey = generatedKey) {
|
|
22164
|
+
const generated = resolveGeneratedHeroLayoutStyles(content);
|
|
22165
|
+
return generated && typeof generated[generatedKey] === "string" ? generated[generatedKey] : readString(content, fallbackKey);
|
|
22166
|
+
}
|
|
21425
22167
|
function resolveHeroVariant(content) {
|
|
21426
22168
|
const variant = readString(content, "variant");
|
|
21427
22169
|
if (variant && variant.trim()) return variant.trim();
|
|
@@ -21430,14 +22172,14 @@ function resolveHeroVariant(content) {
|
|
|
21430
22172
|
return null;
|
|
21431
22173
|
}
|
|
21432
22174
|
function resolveHeroContentAlignment(content) {
|
|
21433
|
-
const raw =
|
|
22175
|
+
const raw = readHeroLayoutString(content, "contentAlignment");
|
|
21434
22176
|
if (raw === "left" || raw === "center" || raw === "right") return raw;
|
|
21435
22177
|
const variant = resolveHeroVariant(content);
|
|
21436
22178
|
if (variant === "split" || variant === "splitReverse") return "left";
|
|
21437
22179
|
return "center";
|
|
21438
22180
|
}
|
|
21439
22181
|
function resolveHeroVerticalAlignment(content) {
|
|
21440
|
-
const raw =
|
|
22182
|
+
const raw = readHeroLayoutString(content, "verticalAlignment");
|
|
21441
22183
|
if (raw === "top" || raw === "center" || raw === "bottom") return raw;
|
|
21442
22184
|
const sectionStyles = asPartialObject(content._sectionStyles);
|
|
21443
22185
|
const minHeight = sectionStyles?.minHeight;
|
|
@@ -21447,11 +22189,29 @@ function resolveHeroVerticalAlignment(content) {
|
|
|
21447
22189
|
return "top";
|
|
21448
22190
|
}
|
|
21449
22191
|
function resolveHeroContentMaxWidth(content) {
|
|
21450
|
-
const raw =
|
|
22192
|
+
const raw = readHeroLayoutString(content, "contentMaxWidth");
|
|
21451
22193
|
if (raw === "default" || raw === "narrow" || raw === "medium" || raw === "wide")
|
|
21452
22194
|
return raw;
|
|
21453
22195
|
return "default";
|
|
21454
22196
|
}
|
|
22197
|
+
function resolveHeroTypographyScale(content) {
|
|
22198
|
+
const raw = readHeroLayoutString(
|
|
22199
|
+
content,
|
|
22200
|
+
"typographyScale",
|
|
22201
|
+
"heroTypographyScale"
|
|
22202
|
+
);
|
|
22203
|
+
if (raw === "quiet" || raw === "editorial" || raw === "display" || raw === "poster") {
|
|
22204
|
+
return raw;
|
|
22205
|
+
}
|
|
22206
|
+
return null;
|
|
22207
|
+
}
|
|
22208
|
+
function resolveHeroTitleLength(content) {
|
|
22209
|
+
const headline = readString(content, "headline")?.trim() ?? "";
|
|
22210
|
+
const wordCount = headline.length === 0 ? 0 : headline.split(/\s+/).length;
|
|
22211
|
+
if (headline.length > heroTitleLengthThresholds.long.maxCharacters || wordCount > heroTitleLengthThresholds.long.maxWords) return "long";
|
|
22212
|
+
if (headline.length > heroTitleLengthThresholds.medium.maxCharacters || wordCount > heroTitleLengthThresholds.medium.maxWords) return "medium";
|
|
22213
|
+
return "short";
|
|
22214
|
+
}
|
|
21455
22215
|
var heroContentWrapperClassSchema = z33.object({
|
|
21456
22216
|
base: z33.string().optional()
|
|
21457
22217
|
});
|
|
@@ -21464,6 +22224,8 @@ var heroContentWrapperClassTransform = {
|
|
|
21464
22224
|
const content = isPlainObject(value) ? value : isPlainObject(context.data) ? context.data : {};
|
|
21465
22225
|
const alignment = resolveHeroContentAlignment(content);
|
|
21466
22226
|
const maxWidth = resolveHeroContentMaxWidth(content);
|
|
22227
|
+
const typographyScale = resolveHeroTypographyScale(content);
|
|
22228
|
+
const titleLength = resolveHeroTitleLength(content);
|
|
21467
22229
|
const textAlignClass = alignment === "center" ? "rb-text-center" : alignment === "right" ? "rb-text-right" : "rb-text-left";
|
|
21468
22230
|
const maxWidthClass = maxWidth === "narrow" ? "rb-max-w-2xl" : maxWidth === "medium" ? "rb-max-w-3xl" : maxWidth === "wide" ? "rb-max-w-5xl" : "";
|
|
21469
22231
|
const positionClass = alignment === "center" ? "rb-mx-auto" : alignment === "right" ? "rb-ml-auto" : "";
|
|
@@ -21471,7 +22233,9 @@ var heroContentWrapperClassTransform = {
|
|
|
21471
22233
|
options?.base,
|
|
21472
22234
|
textAlignClass,
|
|
21473
22235
|
maxWidthClass,
|
|
21474
|
-
positionClass
|
|
22236
|
+
positionClass,
|
|
22237
|
+
typographyScale ? `rb-hero-typography-${typographyScale}` : "",
|
|
22238
|
+
`rb-hero-title-${titleLength}`
|
|
21475
22239
|
]);
|
|
21476
22240
|
}
|
|
21477
22241
|
};
|
|
@@ -21771,11 +22535,67 @@ var uiTransforms = [
|
|
|
21771
22535
|
const treatment = isEyebrowTreatment(value) ? value : "plain";
|
|
21772
22536
|
return joinClasses3([baseClass, eyebrowTreatmentClassMap[treatment]]);
|
|
21773
22537
|
}
|
|
22538
|
+
},
|
|
22539
|
+
{
|
|
22540
|
+
id: "ui.headingDecorationClassName",
|
|
22541
|
+
kind: "string",
|
|
22542
|
+
summary: "Apply constrained Theme V2 heading decoration classes",
|
|
22543
|
+
run: (value, options) => {
|
|
22544
|
+
const baseClass = typeof options?.baseClass === "string" && options.baseClass.trim() ? options.baseClass : "rb-heading-decoration";
|
|
22545
|
+
const decoration = asPartialObject(value);
|
|
22546
|
+
const family = isHeadingDecorationFamily(decoration?.family) ? decoration.family : null;
|
|
22547
|
+
const allowedFamily = isHeadingDecorationFamily(options?.family) ? options.family : null;
|
|
22548
|
+
const placement = isHeadingDecorationPlacement(decoration?.placement) ? decoration.placement : null;
|
|
22549
|
+
const colorToken = isHeadingDecorationColorToken(decoration?.colorToken) ? decoration.colorToken : "primary";
|
|
22550
|
+
if (!family || !placement) return "rb-hidden";
|
|
22551
|
+
if (allowedFamily && family !== allowedFamily) return "rb-hidden";
|
|
22552
|
+
return joinClasses3([
|
|
22553
|
+
baseClass,
|
|
22554
|
+
`rb-heading-decoration-${family}`,
|
|
22555
|
+
`rb-heading-decoration-placement-${placement}`,
|
|
22556
|
+
`rb-heading-decoration-color-${colorToken}`
|
|
22557
|
+
]);
|
|
22558
|
+
}
|
|
21774
22559
|
}
|
|
21775
22560
|
];
|
|
21776
22561
|
|
|
21777
22562
|
// ../blocks/src/system/transforms/registry/layout.ts
|
|
21778
22563
|
import { z as z34 } from "zod";
|
|
22564
|
+
|
|
22565
|
+
// ../theme-core/src/siteChromePlacement.ts
|
|
22566
|
+
var HEADER_POSITIONINGS = ["static", "sticky", "fixed"];
|
|
22567
|
+
function parseHeaderPositioning(value) {
|
|
22568
|
+
return isHeaderPositioning(value) ? value : "static";
|
|
22569
|
+
}
|
|
22570
|
+
function isHeaderPositioning(value) {
|
|
22571
|
+
return typeof value === "string" && HEADER_POSITIONINGS.includes(value);
|
|
22572
|
+
}
|
|
22573
|
+
function planSiteChromePlacement(positioning) {
|
|
22574
|
+
switch (positioning) {
|
|
22575
|
+
case "static":
|
|
22576
|
+
return {
|
|
22577
|
+
kind: "static",
|
|
22578
|
+
headerRootClassName: null,
|
|
22579
|
+
standaloneShellClassName: null
|
|
22580
|
+
};
|
|
22581
|
+
case "sticky":
|
|
22582
|
+
return {
|
|
22583
|
+
kind: "sticky",
|
|
22584
|
+
headerRootClassName: "rb-sticky rb-top-0",
|
|
22585
|
+
standaloneShellClassName: "sticky top-0 z-40 w-full"
|
|
22586
|
+
};
|
|
22587
|
+
case "fixed":
|
|
22588
|
+
return {
|
|
22589
|
+
kind: "fixed",
|
|
22590
|
+
headerRootClassName: "rb-fixed rb-top-0 rb-left-0 rb-right-0",
|
|
22591
|
+
standaloneShellClassName: "fixed left-0 right-0 top-0 z-40 w-full"
|
|
22592
|
+
};
|
|
22593
|
+
default:
|
|
22594
|
+
return assertNever(positioning);
|
|
22595
|
+
}
|
|
22596
|
+
}
|
|
22597
|
+
|
|
22598
|
+
// ../blocks/src/system/transforms/registry/layout.ts
|
|
21779
22599
|
var joinClasses4 = (parts) => parts.filter(
|
|
21780
22600
|
(part) => typeof part === "string" && part.trim().length > 0
|
|
21781
22601
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
@@ -21891,7 +22711,8 @@ var headerRootClassTransform = {
|
|
|
21891
22711
|
...options
|
|
21892
22712
|
};
|
|
21893
22713
|
const content = asPartialObject(value) ?? {};
|
|
21894
|
-
const positioning =
|
|
22714
|
+
const positioning = parseHeaderPositioning(content.positioning);
|
|
22715
|
+
const placement = planSiteChromePlacement(positioning);
|
|
21895
22716
|
const shrinkOnScroll = Boolean(content.shrinkOnScroll);
|
|
21896
22717
|
const header = asPartialObject(value);
|
|
21897
22718
|
const visuals = resolveHeaderVisualStyles(header, context.theme);
|
|
@@ -21903,14 +22724,14 @@ var headerRootClassTransform = {
|
|
|
21903
22724
|
if (config.blur) classes.push(config.blur);
|
|
21904
22725
|
if (config.blurSupport) classes.push(config.blurSupport);
|
|
21905
22726
|
}
|
|
21906
|
-
if (
|
|
22727
|
+
if (placement.kind === "sticky") {
|
|
21907
22728
|
classes.push(
|
|
21908
22729
|
visuals.isTransparent ? config.stickyTransparent : config.sticky
|
|
21909
22730
|
);
|
|
21910
|
-
} else if (
|
|
22731
|
+
} else if (placement.kind === "fixed") {
|
|
21911
22732
|
classes.push(config.fixed);
|
|
21912
22733
|
}
|
|
21913
|
-
if (shrinkOnScroll &&
|
|
22734
|
+
if (shrinkOnScroll && placement.kind !== "static") {
|
|
21914
22735
|
classes.push(config.shrink);
|
|
21915
22736
|
}
|
|
21916
22737
|
const VALID_VARIANTS = [
|
|
@@ -22445,6 +23266,10 @@ function desktopOnlyDisplay(display) {
|
|
|
22445
23266
|
return `rb-hidden ${LARGE_DISPLAY_CLASSES[display]}`;
|
|
22446
23267
|
}
|
|
22447
23268
|
|
|
23269
|
+
// ../theme-core/src/siteChromeOverlayClearance.ts
|
|
23270
|
+
var SITE_CHROME_VISIBLE_HEADER_ATTR = "data-site-chrome-visible-header";
|
|
23271
|
+
var SITE_CHROME_VISIBLE_HEADER_SELECTOR = `[${SITE_CHROME_VISIBLE_HEADER_ATTR}="true"]`;
|
|
23272
|
+
|
|
22448
23273
|
// ../blocks/src/system/blocks/site-header.ts
|
|
22449
23274
|
var logoRow = link(
|
|
22450
23275
|
{
|
|
@@ -22717,6 +23542,7 @@ var transparentLayout = inline(
|
|
|
22717
23542
|
);
|
|
22718
23543
|
var floatingLayout = inline(
|
|
22719
23544
|
{
|
|
23545
|
+
[SITE_CHROME_VISIBLE_HEADER_ATTR]: "true",
|
|
22720
23546
|
className: bindProp("$root.theme.header.maxWidth", {
|
|
22721
23547
|
transforms: pipe(
|
|
22722
23548
|
tx("layout.maxWidthClass", {
|
|
@@ -23662,6 +24488,10 @@ var sectionHeading = stack(
|
|
|
23662
24488
|
when("content.title"),
|
|
23663
24489
|
bind("content.title")
|
|
23664
24490
|
),
|
|
24491
|
+
headingDecoration({
|
|
24492
|
+
family: "short-center-rule",
|
|
24493
|
+
placement: "under-centered-heading"
|
|
24494
|
+
}),
|
|
23665
24495
|
richText(
|
|
23666
24496
|
{
|
|
23667
24497
|
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
@@ -24843,8 +25673,8 @@ var eventSurfaceScopeValues = [
|
|
|
24843
25673
|
"custom"
|
|
24844
25674
|
];
|
|
24845
25675
|
var eventScheduleScopeValues = ["any", "recurring", "oneOff"];
|
|
24846
|
-
var
|
|
24847
|
-
var
|
|
25676
|
+
var unsafeAsEventCategoryId = (value) => value;
|
|
25677
|
+
var unsafeAsVenueId = (value) => value;
|
|
24848
25678
|
function normalizeEventBlockKind(value) {
|
|
24849
25679
|
return value === "courses" || value === "events" ? value : "all";
|
|
24850
25680
|
}
|
|
@@ -24870,10 +25700,10 @@ function normalizeEventCategoryIds(value) {
|
|
|
24870
25700
|
if (Array.isArray(value)) {
|
|
24871
25701
|
return normalizeIdList(
|
|
24872
25702
|
value.filter((entry) => typeof entry === "string")
|
|
24873
|
-
).map(
|
|
25703
|
+
).map(unsafeAsEventCategoryId);
|
|
24874
25704
|
}
|
|
24875
25705
|
if (typeof value === "string") {
|
|
24876
|
-
return normalizeIdList(value.split(",")).map(
|
|
25706
|
+
return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
|
|
24877
25707
|
}
|
|
24878
25708
|
return [];
|
|
24879
25709
|
}
|
|
@@ -24886,7 +25716,7 @@ function normalizeEventVenueId(value) {
|
|
|
24886
25716
|
return null;
|
|
24887
25717
|
}
|
|
24888
25718
|
const trimmed = value.trim();
|
|
24889
|
-
return trimmed ?
|
|
25719
|
+
return trimmed ? unsafeAsVenueId(trimmed) : null;
|
|
24890
25720
|
}
|
|
24891
25721
|
function normalizeEventStaffMemberId(value) {
|
|
24892
25722
|
if (typeof value !== "string") {
|
|
@@ -26085,7 +26915,7 @@ var COLUMN_CLASSES = {
|
|
|
26085
26915
|
};
|
|
26086
26916
|
function getContainerClass(layout, columns) {
|
|
26087
26917
|
if (layout === "compact") {
|
|
26088
|
-
return "event-listing-compact-container rb-flex rb-flex-col
|
|
26918
|
+
return "event-listing-compact-container rb-flex rb-flex-col";
|
|
26089
26919
|
}
|
|
26090
26920
|
if (layout === "stack") {
|
|
26091
26921
|
return "rb-flex rb-flex-col rb-gap-6";
|
|
@@ -28913,6 +29743,7 @@ import { z as z53 } from "zod";
|
|
|
28913
29743
|
var storedProductCartItemSchema = z53.object({
|
|
28914
29744
|
kind: z53.literal("product"),
|
|
28915
29745
|
productId: z53.string().min(1),
|
|
29746
|
+
productCategoryId: z53.string().min(1).optional().nullable(),
|
|
28916
29747
|
variantId: z53.string().min(1).optional().nullable(),
|
|
28917
29748
|
title: z53.string().min(1),
|
|
28918
29749
|
variantTitle: z53.string().optional().nullable(),
|
|
@@ -31417,6 +32248,10 @@ var scheduleTileTreatments = [
|
|
|
31417
32248
|
"quiet",
|
|
31418
32249
|
"brand-depth"
|
|
31419
32250
|
];
|
|
32251
|
+
var eventListTreatments = [
|
|
32252
|
+
"plain",
|
|
32253
|
+
"lined-panel"
|
|
32254
|
+
];
|
|
31420
32255
|
function scheduleDetailsCapable() {
|
|
31421
32256
|
return declareBlockDesignCapability({
|
|
31422
32257
|
sectionSurfaces: "supported",
|
|
@@ -31425,6 +32260,14 @@ function scheduleDetailsCapable() {
|
|
|
31425
32260
|
tileTreatments: scheduleTileTreatments
|
|
31426
32261
|
});
|
|
31427
32262
|
}
|
|
32263
|
+
function eventListCapable() {
|
|
32264
|
+
return declareBlockDesignCapability({
|
|
32265
|
+
sectionSurfaces: "supported",
|
|
32266
|
+
contentFrames: ["plain"],
|
|
32267
|
+
itemSurfaces: "unsupported",
|
|
32268
|
+
eventListTreatments
|
|
32269
|
+
});
|
|
32270
|
+
}
|
|
31428
32271
|
function defaultBoundaryBias(visualWeight) {
|
|
31429
32272
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
31430
32273
|
}
|
|
@@ -31644,7 +32487,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
31644
32487
|
flow: bodyFlow,
|
|
31645
32488
|
layoutProfiles: [
|
|
31646
32489
|
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
31647
|
-
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
32490
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" }),
|
|
32491
|
+
layoutProfile({ variantKey: "question-columns", family: "grid", weight: "standard" })
|
|
31648
32492
|
]
|
|
31649
32493
|
})),
|
|
31650
32494
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
@@ -31738,11 +32582,11 @@ var systemBlockDefinitionsRaw = [
|
|
|
31738
32582
|
flow: offeringsFlow,
|
|
31739
32583
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "centered", weight: "featured" })]
|
|
31740
32584
|
})),
|
|
31741
|
-
withDesignCapability("block.event-listing", eventListingBlockDefinition,
|
|
32585
|
+
withDesignCapability("block.event-listing", eventListingBlockDefinition, eventListCapable(), defineBlockDesignMetadata({
|
|
31742
32586
|
flow: offeringsFlow,
|
|
31743
32587
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
31744
32588
|
})),
|
|
31745
|
-
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition,
|
|
32589
|
+
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, eventListCapable(), defineBlockDesignMetadata({
|
|
31746
32590
|
flow: offeringsFlow,
|
|
31747
32591
|
layoutProfiles: [
|
|
31748
32592
|
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
@@ -32874,6 +33718,15 @@ ${root} {
|
|
|
32874
33718
|
`;
|
|
32875
33719
|
}
|
|
32876
33720
|
|
|
33721
|
+
// ../theme-core/src/runtime/themeCssVarNames.ts
|
|
33722
|
+
var THEME_RADIUS_CSS_VARS = {
|
|
33723
|
+
block: "--rb-block-radius",
|
|
33724
|
+
button: "--rb-button-radius",
|
|
33725
|
+
input: "--rb-input-radius",
|
|
33726
|
+
legacyCard: "--radius-card",
|
|
33727
|
+
legacyControl: "--radius-control"
|
|
33728
|
+
};
|
|
33729
|
+
|
|
32877
33730
|
// ../theme-core/src/blocks/vars/customer-portal.ts
|
|
32878
33731
|
function generateCustomerPortalVars({
|
|
32879
33732
|
themeId
|
|
@@ -32887,6 +33740,11 @@ ${root} {
|
|
|
32887
33740
|
--cp-muted: rgb(var(--tb-mutedText));
|
|
32888
33741
|
--cp-border: rgb(var(--tb-border));
|
|
32889
33742
|
--cp-shadow: var(--shadow-elev);
|
|
33743
|
+
--cp-primary: rgb(var(--tb-primary));
|
|
33744
|
+
--cp-primary-hover: rgb(var(--tb-primary-700, var(--tb-primary)));
|
|
33745
|
+
--cp-error: rgb(var(--tb-destructive));
|
|
33746
|
+
--cp-card-radius: var(${THEME_RADIUS_CSS_VARS.block}, var(${THEME_RADIUS_CSS_VARS.legacyCard}, 0.75rem));
|
|
33747
|
+
--cp-control-radius: var(${THEME_RADIUS_CSS_VARS.input}, var(${THEME_RADIUS_CSS_VARS.legacyControl}, 0.5rem));
|
|
32890
33748
|
|
|
32891
33749
|
/* Shared tab bar (underline style) */
|
|
32892
33750
|
--rb-tab-border-width: 1px;
|
|
@@ -32937,7 +33795,7 @@ ${root} {
|
|
|
32937
33795
|
--rb-modal-bg: var(--cp-card-bg);
|
|
32938
33796
|
--rb-modal-border: var(--cp-card-border);
|
|
32939
33797
|
--rb-modal-shadow: var(--shadow-lg, var(--shadow-elev));
|
|
32940
|
-
--rb-modal-radius: var(--
|
|
33798
|
+
--rb-modal-radius: var(--cp-card-radius);
|
|
32941
33799
|
--rb-modal-max-width: 560px;
|
|
32942
33800
|
|
|
32943
33801
|
/* Header */
|
|
@@ -34318,6 +35176,9 @@ import { jsx as jsx5 } from "react/jsx-runtime";
|
|
|
34318
35176
|
import * as React from "react";
|
|
34319
35177
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
34320
35178
|
|
|
35179
|
+
// ../theme-core/src/fonts/uploadFormat.ts
|
|
35180
|
+
var MAX_FONT_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
35181
|
+
|
|
34321
35182
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
34322
35183
|
import { z as z61 } from "zod";
|
|
34323
35184
|
var themeBridgeConfigSchema = z61.object({
|
|
@@ -34514,11 +35375,11 @@ function normalizeContent(block) {
|
|
|
34514
35375
|
}
|
|
34515
35376
|
function normalizeParams(input) {
|
|
34516
35377
|
if (!input || typeof input !== "object") return {};
|
|
34517
|
-
const
|
|
34518
|
-
|
|
34519
|
-
coerceToString(value)
|
|
34520
|
-
|
|
34521
|
-
return
|
|
35378
|
+
const output = {};
|
|
35379
|
+
for (const [key, value] of Object.entries(input)) {
|
|
35380
|
+
output[key] = coerceToString(value);
|
|
35381
|
+
}
|
|
35382
|
+
return output;
|
|
34522
35383
|
}
|
|
34523
35384
|
function isNonArrayObject(value) {
|
|
34524
35385
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -34734,10 +35595,16 @@ var dashboardConfigSchema = z62.object({
|
|
|
34734
35595
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
34735
35596
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
34736
35597
|
var sdkLoaderEndpointSchema = z62.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
35598
|
+
var loaderFallbackScalarSchema = z62.union([
|
|
35599
|
+
z62.string(),
|
|
35600
|
+
z62.number(),
|
|
35601
|
+
z62.boolean(),
|
|
35602
|
+
z62.null()
|
|
35603
|
+
]);
|
|
34737
35604
|
var loaderParamBindingSchema = z62.object({
|
|
34738
35605
|
$bind: z62.object({
|
|
34739
35606
|
from: z62.string().min(1, "Binding path is required"),
|
|
34740
|
-
fallback:
|
|
35607
|
+
fallback: loaderFallbackScalarSchema.optional()
|
|
34741
35608
|
})
|
|
34742
35609
|
});
|
|
34743
35610
|
var loaderParamValueSchema = z62.union([
|
|
@@ -34883,9 +35750,13 @@ var sdkBlockFieldOptionsMapSchema = z62.record(
|
|
|
34883
35750
|
var sdkContentTypeTemplateConfigSchema = z62.object({
|
|
34884
35751
|
blocks: z62.array(z62.unknown())
|
|
34885
35752
|
}).passthrough();
|
|
35753
|
+
var sdkContentTypeOrderingConfigSchema = z62.object({
|
|
35754
|
+
mode: z62.enum(["default", "manual"]).optional()
|
|
35755
|
+
}).optional();
|
|
34886
35756
|
var sdkContentTypeConfigSchema = z62.object({
|
|
34887
35757
|
key: z62.string().min(1),
|
|
34888
35758
|
fields: z62.array(z62.unknown()),
|
|
35759
|
+
ordering: sdkContentTypeOrderingConfigSchema,
|
|
34889
35760
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
34890
35761
|
}).passthrough();
|
|
34891
35762
|
var sdkContentConfigSchema = z62.object({
|
|
@@ -35091,6 +35962,7 @@ var COURSE_ENROLLMENT_REFUND_FAILED_CODES = [
|
|
|
35091
35962
|
];
|
|
35092
35963
|
|
|
35093
35964
|
// ../api/src/bookingVerticals.ts
|
|
35965
|
+
import { z as z64 } from "zod";
|
|
35094
35966
|
var VERTICAL_IDS = [
|
|
35095
35967
|
"yoga_wellness",
|
|
35096
35968
|
"fitness_pt",
|
|
@@ -35169,6 +36041,132 @@ var VERTICAL_ID_SET = new Set(VERTICAL_IDS);
|
|
|
35169
36041
|
var VERTICAL_PRESET_ID_SET = new Set(
|
|
35170
36042
|
VERTICAL_BOOKING_PRESETS.map((presetDefinition) => presetDefinition.id)
|
|
35171
36043
|
);
|
|
36044
|
+
function parseVerticalId(value) {
|
|
36045
|
+
return typeof value === "string" && VERTICAL_ID_SET.has(value) ? value : null;
|
|
36046
|
+
}
|
|
36047
|
+
function parseVerticalPresetId(value) {
|
|
36048
|
+
return typeof value === "string" && VERTICAL_PRESET_ID_SET.has(value) ? value : null;
|
|
36049
|
+
}
|
|
36050
|
+
function getVerticalPresetDefinition(presetId) {
|
|
36051
|
+
const definition = VERTICAL_BOOKING_PRESETS.find((presetDefinition) => presetDefinition.id === presetId);
|
|
36052
|
+
if (!definition) {
|
|
36053
|
+
throw new Error(`Unhandled vertical preset id: ${presetId}`);
|
|
36054
|
+
}
|
|
36055
|
+
return definition;
|
|
36056
|
+
}
|
|
36057
|
+
function toNonEmptyVerticalPresetIds(presetIds) {
|
|
36058
|
+
const firstPresetId = presetIds[0];
|
|
36059
|
+
return firstPresetId ? [firstPresetId, ...presetIds.slice(1)] : null;
|
|
36060
|
+
}
|
|
36061
|
+
function createConfiguredSiteVerticalBookingConfig(verticalId, selectedPresetIds) {
|
|
36062
|
+
return {
|
|
36063
|
+
verticalId,
|
|
36064
|
+
selectedPresetIds
|
|
36065
|
+
};
|
|
36066
|
+
}
|
|
36067
|
+
function createSiteVerticalBookingConfig(verticalId, selectedPresetIds) {
|
|
36068
|
+
const nonEmptyPresetIds = toNonEmptyVerticalPresetIds(selectedPresetIds);
|
|
36069
|
+
return nonEmptyPresetIds ? createConfiguredSiteVerticalBookingConfig(verticalId, nonEmptyPresetIds) : null;
|
|
36070
|
+
}
|
|
36071
|
+
function resolveSiteVerticalBookingConfig(rawConfig) {
|
|
36072
|
+
if (!rawConfig) {
|
|
36073
|
+
return { kind: "unconfigured", config: DEFAULT_SITE_VERTICAL_BOOKING_CONFIG };
|
|
36074
|
+
}
|
|
36075
|
+
const verticalId = parseVerticalId(rawConfig.verticalId);
|
|
36076
|
+
const rawPresetIds = Array.isArray(rawConfig.selectedPresetIds) ? rawConfig.selectedPresetIds : [];
|
|
36077
|
+
const selectedPresetIds = rawPresetIds.map(parseVerticalPresetId).filter((presetId) => Boolean(presetId));
|
|
36078
|
+
const config = {
|
|
36079
|
+
verticalId,
|
|
36080
|
+
selectedPresetIds
|
|
36081
|
+
};
|
|
36082
|
+
if (!verticalId && selectedPresetIds.length === 0) {
|
|
36083
|
+
return { kind: "unconfigured", config: DEFAULT_SITE_VERTICAL_BOOKING_CONFIG };
|
|
36084
|
+
}
|
|
36085
|
+
const issues = getSiteVerticalConfigIssues(rawConfig, config);
|
|
36086
|
+
if (issues.length > 0) {
|
|
36087
|
+
return { kind: "invalid", config, issues };
|
|
36088
|
+
}
|
|
36089
|
+
const configuredConfig = verticalId ? createSiteVerticalBookingConfig(verticalId, selectedPresetIds) : null;
|
|
36090
|
+
if (!configuredConfig) {
|
|
36091
|
+
return { kind: "invalid", config, issues: ["empty_selected_presets"] };
|
|
36092
|
+
}
|
|
36093
|
+
return {
|
|
36094
|
+
kind: "configured",
|
|
36095
|
+
config: configuredConfig,
|
|
36096
|
+
selectedPresets: configuredConfig.selectedPresetIds.map(getVerticalPresetDefinition)
|
|
36097
|
+
};
|
|
36098
|
+
}
|
|
36099
|
+
function getSiteVerticalConfigIssues(rawConfig, config) {
|
|
36100
|
+
const issues = /* @__PURE__ */ new Set();
|
|
36101
|
+
if (rawConfig.verticalId != null && !config.verticalId) {
|
|
36102
|
+
issues.add("unknown_vertical");
|
|
36103
|
+
}
|
|
36104
|
+
if (!config.verticalId && config.selectedPresetIds.length > 0) {
|
|
36105
|
+
issues.add("missing_vertical");
|
|
36106
|
+
}
|
|
36107
|
+
const rawPresetIds = Array.isArray(rawConfig.selectedPresetIds) ? rawConfig.selectedPresetIds : [];
|
|
36108
|
+
if (rawPresetIds.some((presetId) => parseVerticalPresetId(presetId) === null)) {
|
|
36109
|
+
issues.add("unknown_preset");
|
|
36110
|
+
}
|
|
36111
|
+
if (config.verticalId && config.selectedPresetIds.length === 0) {
|
|
36112
|
+
issues.add("empty_selected_presets");
|
|
36113
|
+
}
|
|
36114
|
+
const seenBehaviours = /* @__PURE__ */ new Set();
|
|
36115
|
+
for (const presetId of config.selectedPresetIds) {
|
|
36116
|
+
const presetDefinition = getVerticalPresetDefinition(presetId);
|
|
36117
|
+
if (config.verticalId && presetDefinition.verticalId !== config.verticalId) {
|
|
36118
|
+
issues.add("preset_vertical_mismatch");
|
|
36119
|
+
}
|
|
36120
|
+
if (presetDefinition.availability === "future") {
|
|
36121
|
+
issues.add("future_preset_selected");
|
|
36122
|
+
}
|
|
36123
|
+
if (seenBehaviours.has(presetDefinition.canonicalBehaviour)) {
|
|
36124
|
+
issues.add("duplicate_canonical_behaviour");
|
|
36125
|
+
}
|
|
36126
|
+
seenBehaviours.add(presetDefinition.canonicalBehaviour);
|
|
36127
|
+
}
|
|
36128
|
+
return [...issues];
|
|
36129
|
+
}
|
|
36130
|
+
var VerticalIdSchema = z64.string().trim().transform((value, ctx) => {
|
|
36131
|
+
const parsed = parseVerticalId(value);
|
|
36132
|
+
if (!parsed) {
|
|
36133
|
+
ctx.addIssue({
|
|
36134
|
+
code: z64.ZodIssueCode.custom,
|
|
36135
|
+
message: "Unknown booking vertical"
|
|
36136
|
+
});
|
|
36137
|
+
return z64.NEVER;
|
|
36138
|
+
}
|
|
36139
|
+
return parsed;
|
|
36140
|
+
});
|
|
36141
|
+
var VerticalPresetIdSchema = z64.string().trim().transform((value, ctx) => {
|
|
36142
|
+
const parsed = parseVerticalPresetId(value);
|
|
36143
|
+
if (!parsed) {
|
|
36144
|
+
ctx.addIssue({
|
|
36145
|
+
code: z64.ZodIssueCode.custom,
|
|
36146
|
+
message: "Unknown booking preset"
|
|
36147
|
+
});
|
|
36148
|
+
return z64.NEVER;
|
|
36149
|
+
}
|
|
36150
|
+
return parsed;
|
|
36151
|
+
});
|
|
36152
|
+
var BookingVerticalConfigSchema = z64.object({
|
|
36153
|
+
verticalId: VerticalIdSchema.nullable(),
|
|
36154
|
+
selectedPresetIds: z64.array(VerticalPresetIdSchema).max(20)
|
|
36155
|
+
}).transform((value, ctx) => {
|
|
36156
|
+
const resolved = resolveSiteVerticalBookingConfig(value);
|
|
36157
|
+
if (resolved.kind === "invalid") {
|
|
36158
|
+
ctx.addIssue({
|
|
36159
|
+
code: z64.ZodIssueCode.custom,
|
|
36160
|
+
message: `Invalid booking vertical config: ${resolved.issues.join(", ")}`
|
|
36161
|
+
});
|
|
36162
|
+
return z64.NEVER;
|
|
36163
|
+
}
|
|
36164
|
+
return resolved.config;
|
|
36165
|
+
});
|
|
36166
|
+
var DEFAULT_SITE_VERTICAL_BOOKING_CONFIG = {
|
|
36167
|
+
verticalId: null,
|
|
36168
|
+
selectedPresetIds: []
|
|
36169
|
+
};
|
|
35172
36170
|
function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, description, availability = "onboarding") {
|
|
35173
36171
|
return {
|
|
35174
36172
|
id,
|
|
@@ -35188,51 +36186,51 @@ function isRecord3(value) {
|
|
|
35188
36186
|
}
|
|
35189
36187
|
|
|
35190
36188
|
// ../api/src/appointmentSetup.ts
|
|
35191
|
-
import { z as
|
|
36189
|
+
import { z as z65 } from "zod";
|
|
35192
36190
|
var APPOINTMENT_SETUP_MAX_MINUTES = 1440;
|
|
35193
|
-
var appointmentSetupRefSchema =
|
|
35194
|
-
|
|
35195
|
-
|
|
36191
|
+
var appointmentSetupRefSchema = z65.discriminatedUnion("kind", [
|
|
36192
|
+
z65.object({ kind: z65.literal("existing"), id: z65.string().min(1) }),
|
|
36193
|
+
z65.object({ kind: z65.literal("new"), draftId: z65.string().min(1) })
|
|
35196
36194
|
]);
|
|
35197
|
-
var appointmentSetupVenueChoiceSchema =
|
|
35198
|
-
|
|
35199
|
-
|
|
35200
|
-
|
|
35201
|
-
kind:
|
|
35202
|
-
draftId:
|
|
35203
|
-
title:
|
|
35204
|
-
description:
|
|
35205
|
-
timezone:
|
|
35206
|
-
addressJson:
|
|
35207
|
-
locationJson:
|
|
36195
|
+
var appointmentSetupVenueChoiceSchema = z65.discriminatedUnion("kind", [
|
|
36196
|
+
z65.object({ kind: z65.literal("none") }),
|
|
36197
|
+
z65.object({ kind: z65.literal("existing"), venueId: z65.string().min(1) }),
|
|
36198
|
+
z65.object({
|
|
36199
|
+
kind: z65.literal("create"),
|
|
36200
|
+
draftId: z65.string().min(1),
|
|
36201
|
+
title: z65.string().trim().min(1),
|
|
36202
|
+
description: z65.string().nullable(),
|
|
36203
|
+
timezone: z65.string().trim().min(1).nullable(),
|
|
36204
|
+
addressJson: z65.record(z65.string(), z65.unknown()),
|
|
36205
|
+
locationJson: z65.object({ lat: z65.number(), lng: z65.number() }).nullable()
|
|
35208
36206
|
})
|
|
35209
36207
|
]);
|
|
35210
|
-
var appointmentSetupPaymentDraftSchema =
|
|
35211
|
-
priceType:
|
|
35212
|
-
});
|
|
35213
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
35214
|
-
|
|
35215
|
-
|
|
35216
|
-
kind:
|
|
35217
|
-
resourceRefs:
|
|
36208
|
+
var appointmentSetupPaymentDraftSchema = z65.object({
|
|
36209
|
+
priceType: z65.union([z65.literal("free"), z65.literal("paid")])
|
|
36210
|
+
});
|
|
36211
|
+
var appointmentSetupServiceAssignmentDraftSchema = z65.discriminatedUnion("kind", [
|
|
36212
|
+
z65.object({ kind: z65.literal("all_practitioners") }),
|
|
36213
|
+
z65.object({
|
|
36214
|
+
kind: z65.literal("selected_practitioners"),
|
|
36215
|
+
resourceRefs: z65.array(appointmentSetupRefSchema)
|
|
35218
36216
|
})
|
|
35219
36217
|
]);
|
|
35220
|
-
var appointmentSetupServiceDraftSchema =
|
|
36218
|
+
var appointmentSetupServiceDraftSchema = z65.object({
|
|
35221
36219
|
ref: appointmentSetupRefSchema,
|
|
35222
|
-
title:
|
|
35223
|
-
description:
|
|
35224
|
-
durationMinutes:
|
|
35225
|
-
prepMinutes:
|
|
35226
|
-
cleanupMinutes:
|
|
35227
|
-
priceAmount:
|
|
35228
|
-
isActive:
|
|
35229
|
-
locationType:
|
|
35230
|
-
|
|
35231
|
-
|
|
35232
|
-
|
|
36220
|
+
title: z65.string().trim().min(1),
|
|
36221
|
+
description: z65.string().nullable(),
|
|
36222
|
+
durationMinutes: z65.number().int().positive().max(APPOINTMENT_SETUP_MAX_MINUTES),
|
|
36223
|
+
prepMinutes: z65.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
36224
|
+
cleanupMinutes: z65.number().int().nonnegative().max(APPOINTMENT_SETUP_MAX_MINUTES).default(0),
|
|
36225
|
+
priceAmount: z65.number().int().nonnegative().nullable(),
|
|
36226
|
+
isActive: z65.boolean(),
|
|
36227
|
+
locationType: z65.union([
|
|
36228
|
+
z65.literal("virtual"),
|
|
36229
|
+
z65.literal("in_person"),
|
|
36230
|
+
z65.literal("hybrid")
|
|
35233
36231
|
]),
|
|
35234
36232
|
venue: appointmentSetupVenueChoiceSchema,
|
|
35235
|
-
timezone:
|
|
36233
|
+
timezone: z65.string().trim().min(1).nullable(),
|
|
35236
36234
|
payment: appointmentSetupPaymentDraftSchema,
|
|
35237
36235
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
35238
36236
|
}).superRefine((service, ctx) => {
|
|
@@ -35251,49 +36249,49 @@ var appointmentSetupServiceDraftSchema = z64.object({
|
|
|
35251
36249
|
});
|
|
35252
36250
|
}
|
|
35253
36251
|
});
|
|
35254
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
36252
|
+
var appointmentSetupPractitionerDraftSchema = z65.object({
|
|
35255
36253
|
ref: appointmentSetupRefSchema,
|
|
35256
|
-
displayName:
|
|
35257
|
-
bio:
|
|
35258
|
-
timezone:
|
|
35259
|
-
colorHex:
|
|
35260
|
-
});
|
|
35261
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
35262
|
-
weekday:
|
|
35263
|
-
startTime:
|
|
35264
|
-
endTime:
|
|
35265
|
-
});
|
|
35266
|
-
var appointmentSetupStartTimePolicyDraftSchema =
|
|
35267
|
-
|
|
35268
|
-
|
|
35269
|
-
kind:
|
|
35270
|
-
intervalMinutes:
|
|
35271
|
-
|
|
35272
|
-
|
|
35273
|
-
|
|
35274
|
-
|
|
35275
|
-
|
|
35276
|
-
|
|
36254
|
+
displayName: z65.string().trim().min(1),
|
|
36255
|
+
bio: z65.string().nullable(),
|
|
36256
|
+
timezone: z65.string().trim().min(1),
|
|
36257
|
+
colorHex: z65.string().nullable()
|
|
36258
|
+
});
|
|
36259
|
+
var appointmentSetupWeeklyWindowDraftSchema = z65.object({
|
|
36260
|
+
weekday: z65.number().int().min(0).max(6),
|
|
36261
|
+
startTime: z65.string(),
|
|
36262
|
+
endTime: z65.string()
|
|
36263
|
+
});
|
|
36264
|
+
var appointmentSetupStartTimePolicyDraftSchema = z65.discriminatedUnion("kind", [
|
|
36265
|
+
z65.object({ kind: z65.literal("automatic_spacing") }),
|
|
36266
|
+
z65.object({
|
|
36267
|
+
kind: z65.literal("regular_interval"),
|
|
36268
|
+
intervalMinutes: z65.union([
|
|
36269
|
+
z65.literal(10),
|
|
36270
|
+
z65.literal(15),
|
|
36271
|
+
z65.literal(20),
|
|
36272
|
+
z65.literal(30),
|
|
36273
|
+
z65.literal(45),
|
|
36274
|
+
z65.literal(60)
|
|
35277
36275
|
])
|
|
35278
36276
|
})
|
|
35279
36277
|
]);
|
|
35280
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
35281
|
-
kind:
|
|
36278
|
+
var appointmentSetupAvailabilityDraftSchema = z65.object({
|
|
36279
|
+
kind: z65.literal("weekly_windows"),
|
|
35282
36280
|
resourceRef: appointmentSetupRefSchema,
|
|
35283
36281
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
35284
|
-
windows:
|
|
36282
|
+
windows: z65.array(appointmentSetupWeeklyWindowDraftSchema),
|
|
35285
36283
|
startTimePolicy: appointmentSetupStartTimePolicyDraftSchema.optional()
|
|
35286
36284
|
});
|
|
35287
36285
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
35288
36286
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
35289
|
-
var appointmentSetupBookingNoticeSchema =
|
|
35290
|
-
minLeadMinutes:
|
|
35291
|
-
maxBookingNoticeMinutes:
|
|
35292
|
-
});
|
|
35293
|
-
var applyAppointmentSetupRequestSchema =
|
|
35294
|
-
services:
|
|
35295
|
-
practitioners:
|
|
35296
|
-
availability:
|
|
36287
|
+
var appointmentSetupBookingNoticeSchema = z65.object({
|
|
36288
|
+
minLeadMinutes: z65.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
36289
|
+
maxBookingNoticeMinutes: z65.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
36290
|
+
});
|
|
36291
|
+
var applyAppointmentSetupRequestSchema = z65.object({
|
|
36292
|
+
services: z65.array(appointmentSetupServiceDraftSchema),
|
|
36293
|
+
practitioners: z65.array(appointmentSetupPractitionerDraftSchema),
|
|
36294
|
+
availability: z65.array(appointmentSetupAvailabilityDraftSchema),
|
|
35297
36295
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
35298
36296
|
});
|
|
35299
36297
|
|
|
@@ -35326,24 +36324,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
35326
36324
|
];
|
|
35327
36325
|
|
|
35328
36326
|
// ../api/src/siteBanner.ts
|
|
35329
|
-
import { z as
|
|
36327
|
+
import { z as z66 } from "zod";
|
|
35330
36328
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
35331
36329
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
35332
36330
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
35333
36331
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
35334
|
-
var siteBannerScopeSchema =
|
|
35335
|
-
var siteBannerToneSchema =
|
|
35336
|
-
var siteBannerBodySchema =
|
|
35337
|
-
var siteBannerCtaSchema =
|
|
35338
|
-
label:
|
|
36332
|
+
var siteBannerScopeSchema = z66.enum(SITE_BANNER_SCOPE_VALUES);
|
|
36333
|
+
var siteBannerToneSchema = z66.enum(SITE_BANNER_TONE_VALUES);
|
|
36334
|
+
var siteBannerBodySchema = z66.unknown().transform(unwrapRichTextValue);
|
|
36335
|
+
var siteBannerCtaSchema = z66.object({
|
|
36336
|
+
label: z66.string().trim().min(1),
|
|
35339
36337
|
link: linkPayloadSchema
|
|
35340
36338
|
});
|
|
35341
|
-
var siteBannerSettingsSchema =
|
|
35342
|
-
|
|
35343
|
-
enabled:
|
|
36339
|
+
var siteBannerSettingsSchema = z66.discriminatedUnion("enabled", [
|
|
36340
|
+
z66.object({
|
|
36341
|
+
enabled: z66.literal(false)
|
|
35344
36342
|
}),
|
|
35345
|
-
|
|
35346
|
-
enabled:
|
|
36343
|
+
z66.object({
|
|
36344
|
+
enabled: z66.literal(true),
|
|
35347
36345
|
scope: siteBannerScopeSchema,
|
|
35348
36346
|
tone: siteBannerToneSchema,
|
|
35349
36347
|
body: siteBannerBodySchema,
|
|
@@ -35357,7 +36355,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
35357
36355
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
35358
36356
|
for (const issue of analysis.issues) {
|
|
35359
36357
|
ctx.addIssue({
|
|
35360
|
-
code:
|
|
36358
|
+
code: z66.ZodIssueCode.custom,
|
|
35361
36359
|
path: ["body"],
|
|
35362
36360
|
message: siteBannerBodyIssueMessage(issue)
|
|
35363
36361
|
});
|
|
@@ -35545,72 +36543,105 @@ function collectText(node) {
|
|
|
35545
36543
|
return (node.content ?? []).map(collectText).join("");
|
|
35546
36544
|
}
|
|
35547
36545
|
|
|
36546
|
+
// ../api/src/navigation/dashboardSiteNav.ts
|
|
36547
|
+
var hiddenDemoSiteNavSurfaceIds = [
|
|
36548
|
+
"site.newsletter"
|
|
36549
|
+
];
|
|
36550
|
+
var hiddenDemoSiteNavIds = new Set(
|
|
36551
|
+
hiddenDemoSiteNavSurfaceIds
|
|
36552
|
+
);
|
|
36553
|
+
var websiteSurfaceIds = [
|
|
36554
|
+
"site.content",
|
|
36555
|
+
"site.footerBlocks",
|
|
36556
|
+
"site.navigation",
|
|
36557
|
+
"site.media",
|
|
36558
|
+
"site.style",
|
|
36559
|
+
"site.performance"
|
|
36560
|
+
];
|
|
36561
|
+
var websiteSurfaceIdSet = new Set(
|
|
36562
|
+
websiteSurfaceIds
|
|
36563
|
+
);
|
|
36564
|
+
|
|
36565
|
+
// ../api/src/navigation/dashboardSettingsNav.ts
|
|
36566
|
+
var hiddenDemoSettingsNavSurfaceIds = [
|
|
36567
|
+
"settings.features",
|
|
36568
|
+
"settings.domains",
|
|
36569
|
+
"settings.bookings",
|
|
36570
|
+
"settings.emails",
|
|
36571
|
+
"settings.team",
|
|
36572
|
+
"settings.billing",
|
|
36573
|
+
"settings.developer",
|
|
36574
|
+
"settings.apiKeys",
|
|
36575
|
+
"settings.backup"
|
|
36576
|
+
];
|
|
36577
|
+
var hiddenDemoSettingsNavIds = new Set(hiddenDemoSettingsNavSurfaceIds);
|
|
36578
|
+
|
|
35548
36579
|
// ../api/src/aiPlayground.ts
|
|
35549
|
-
import { z as
|
|
35550
|
-
var Rfc6902PatchOp =
|
|
36580
|
+
import { z as z67 } from "zod";
|
|
36581
|
+
var Rfc6902PatchOp = z67.discriminatedUnion("op", [
|
|
35551
36582
|
// Standard RFC-6902 operations
|
|
35552
|
-
|
|
35553
|
-
op:
|
|
35554
|
-
path:
|
|
35555
|
-
value:
|
|
36583
|
+
z67.object({
|
|
36584
|
+
op: z67.literal("add"),
|
|
36585
|
+
path: z67.string(),
|
|
36586
|
+
value: z67.unknown()
|
|
35556
36587
|
}),
|
|
35557
|
-
|
|
35558
|
-
op:
|
|
35559
|
-
path:
|
|
36588
|
+
z67.object({
|
|
36589
|
+
op: z67.literal("remove"),
|
|
36590
|
+
path: z67.string()
|
|
35560
36591
|
}),
|
|
35561
|
-
|
|
35562
|
-
op:
|
|
35563
|
-
path:
|
|
35564
|
-
value:
|
|
36592
|
+
z67.object({
|
|
36593
|
+
op: z67.literal("replace"),
|
|
36594
|
+
path: z67.string(),
|
|
36595
|
+
value: z67.unknown()
|
|
35565
36596
|
}),
|
|
35566
|
-
|
|
35567
|
-
op:
|
|
35568
|
-
from:
|
|
35569
|
-
path:
|
|
36597
|
+
z67.object({
|
|
36598
|
+
op: z67.literal("move"),
|
|
36599
|
+
from: z67.string(),
|
|
36600
|
+
path: z67.string()
|
|
35570
36601
|
}),
|
|
35571
|
-
|
|
35572
|
-
op:
|
|
35573
|
-
from:
|
|
35574
|
-
path:
|
|
36602
|
+
z67.object({
|
|
36603
|
+
op: z67.literal("copy"),
|
|
36604
|
+
from: z67.string(),
|
|
36605
|
+
path: z67.string()
|
|
35575
36606
|
}),
|
|
35576
36607
|
// Block-level operations (Phase 2)
|
|
35577
|
-
|
|
35578
|
-
op:
|
|
35579
|
-
blockKind:
|
|
35580
|
-
afterBlockId:
|
|
35581
|
-
content:
|
|
35582
|
-
rationale:
|
|
36608
|
+
z67.object({
|
|
36609
|
+
op: z67.literal("add_block"),
|
|
36610
|
+
blockKind: z67.string(),
|
|
36611
|
+
afterBlockId: z67.string().nullable(),
|
|
36612
|
+
content: z67.record(z67.string(), z67.unknown()),
|
|
36613
|
+
rationale: z67.string()
|
|
35583
36614
|
}),
|
|
35584
|
-
|
|
35585
|
-
op:
|
|
35586
|
-
blockId:
|
|
35587
|
-
rationale:
|
|
36615
|
+
z67.object({
|
|
36616
|
+
op: z67.literal("delete_block"),
|
|
36617
|
+
blockId: z67.string(),
|
|
36618
|
+
rationale: z67.string()
|
|
35588
36619
|
}),
|
|
35589
|
-
|
|
35590
|
-
op:
|
|
35591
|
-
blockId:
|
|
35592
|
-
afterBlockId:
|
|
35593
|
-
rationale:
|
|
36620
|
+
z67.object({
|
|
36621
|
+
op: z67.literal("reorder_block"),
|
|
36622
|
+
blockId: z67.string(),
|
|
36623
|
+
afterBlockId: z67.string().nullable(),
|
|
36624
|
+
rationale: z67.string()
|
|
35594
36625
|
})
|
|
35595
36626
|
]);
|
|
35596
|
-
var PlaygroundProposeRequest =
|
|
35597
|
-
request:
|
|
36627
|
+
var PlaygroundProposeRequest = z67.object({
|
|
36628
|
+
request: z67.string().min(1).max(2e3)
|
|
35598
36629
|
});
|
|
35599
|
-
var MultiPagePatchEnvelope =
|
|
35600
|
-
pageId:
|
|
35601
|
-
blockId:
|
|
36630
|
+
var MultiPagePatchEnvelope = z67.object({
|
|
36631
|
+
pageId: z67.string(),
|
|
36632
|
+
blockId: z67.string().optional(),
|
|
35602
36633
|
// Not present for page-level ops
|
|
35603
|
-
blockKind:
|
|
35604
|
-
blockPurpose:
|
|
35605
|
-
ops:
|
|
35606
|
-
rationale:
|
|
35607
|
-
currentContent:
|
|
36634
|
+
blockKind: z67.string().optional(),
|
|
36635
|
+
blockPurpose: z67.string().optional().nullable(),
|
|
36636
|
+
ops: z67.array(Rfc6902PatchOp),
|
|
36637
|
+
rationale: z67.string(),
|
|
36638
|
+
currentContent: z67.record(z67.string(), z67.unknown()).optional()
|
|
35608
36639
|
});
|
|
35609
|
-
var MultiPageUpdateResponse =
|
|
35610
|
-
patches:
|
|
35611
|
-
assistantMessage:
|
|
35612
|
-
pagesModified:
|
|
35613
|
-
toolCallsUsed:
|
|
36640
|
+
var MultiPageUpdateResponse = z67.object({
|
|
36641
|
+
patches: z67.array(MultiPagePatchEnvelope),
|
|
36642
|
+
assistantMessage: z67.string(),
|
|
36643
|
+
pagesModified: z67.number(),
|
|
36644
|
+
toolCallsUsed: z67.number()
|
|
35614
36645
|
});
|
|
35615
36646
|
|
|
35616
36647
|
// src/data/prefetchBlockData.ts
|
|
@@ -35683,7 +36714,7 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
35683
36714
|
throw new Error("listPublishedEntries requires siteId and type params");
|
|
35684
36715
|
}
|
|
35685
36716
|
const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
|
|
35686
|
-
const order = orderBy === "
|
|
36717
|
+
const order = orderBy === "order" ? "manual" : orderBy === "newest" || orderBy === "oldest" || orderBy === "title" ? orderBy : void 0;
|
|
35687
36718
|
const parsedEntryIds = mode === "manual" ? parseManualEntryIds(entryIds) : void 0;
|
|
35688
36719
|
if (mode === "manual" && (!parsedEntryIds || parsedEntryIds.length === 0)) {
|
|
35689
36720
|
return { entries: [] };
|
|
@@ -36239,12 +37270,28 @@ function isPageContent(result) {
|
|
|
36239
37270
|
function isEntryContent(result) {
|
|
36240
37271
|
return result.type === "entry";
|
|
36241
37272
|
}
|
|
37273
|
+
function isContentLoadNotFoundError(error) {
|
|
37274
|
+
if (typeof error !== "object" || error === null || !("status" in error)) {
|
|
37275
|
+
return false;
|
|
37276
|
+
}
|
|
37277
|
+
return Reflect.get(error, "status") === 404;
|
|
37278
|
+
}
|
|
37279
|
+
function getRejectedReason(result) {
|
|
37280
|
+
return result.reason;
|
|
37281
|
+
}
|
|
36242
37282
|
async function loadContent(params) {
|
|
36243
37283
|
const { client, siteId, path, preview = false, forceSite } = params;
|
|
36244
|
-
const [
|
|
37284
|
+
const [siteResult, contentResult] = await Promise.allSettled([
|
|
36245
37285
|
client.getSite({ id: siteId, ...forceSite ? { force: true } : {} }),
|
|
36246
37286
|
client.getPage({ siteId, path, preview })
|
|
36247
37287
|
]);
|
|
37288
|
+
if (siteResult.status === "rejected" || contentResult.status === "rejected") {
|
|
37289
|
+
const failures = [siteResult, contentResult].filter((result) => result.status === "rejected").map(getRejectedReason);
|
|
37290
|
+
const upstreamFailure = failures.find((error) => !isContentLoadNotFoundError(error));
|
|
37291
|
+
throw upstreamFailure ?? failures[0];
|
|
37292
|
+
}
|
|
37293
|
+
const site = siteResult.value;
|
|
37294
|
+
const contentResponse = contentResult.value;
|
|
36248
37295
|
const customBlocks = resolveSiteCustomBlocks(site);
|
|
36249
37296
|
const mediaAssets = Array.isArray(contentResponse.mediaAssets) && contentResponse.mediaAssets.length > 0 ? contentResponse.mediaAssets : void 0;
|
|
36250
37297
|
if (isEntryResponse(contentResponse)) {
|