@riverbankcms/sdk 0.153.0 → 0.154.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
- package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
- package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
- package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
- package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
- package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
- package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
- package/dist/_dts/api/src/billing.d.ts +2 -0
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
- package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
- package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
- package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
- package/dist/_dts/api/src/bookings.d.ts +2 -3
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +88 -43
- package/dist/_dts/api/src/index.d.ts +4 -2
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
- package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkThemeWire.d.ts +162 -103
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
- package/dist/_dts/api/src/siteSettings.d.ts +1 -0
- package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
- package/dist/_dts/api/src/types.d.ts +11 -31
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
- package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
- package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +16 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
- package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
- package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
- package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
- package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
- package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
- package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
- package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
- package/dist/_dts/core/src/date-display.d.ts +85 -0
- package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
- package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
- package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
- package/dist/_dts/core/src/footer-composition.d.ts +1 -1
- package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +3 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -1
- package/dist/_dts/core/src/public-profile.d.ts +3 -1
- package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -9
- package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
- package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
- package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +358 -46
- package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
- package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -147
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/schema.d.ts +300 -192
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
- package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
- package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
- package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
- package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
- package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
- package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
- package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
- package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
- package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
- package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
- package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
- package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
- package/dist/client/bookings.mjs +12565 -11839
- package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
- package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
- package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
- package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
- package/dist/client/client.mjs +6109 -4778
- package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
- package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
- package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
- package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
- package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
- package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
- package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
- package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
- package/dist/client/hooks.mjs +2041 -1193
- package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
- package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
- package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
- package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
- package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
- package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
- package/dist/client/rendering/client.mjs +11868 -11098
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +6058 -4676
- package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
- package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
- package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
- package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
- package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
- package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
- package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +133 -51
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/editor-chrome.css +5 -2
- package/dist/preview-next/keepAlive.mjs +133 -51
- package/dist/preview-next/middleware.mjs +133 -51
- package/dist/{sdk-runtime-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
- package/dist/server/components.mjs +11284 -10014
- package/dist/server/config-validation.mjs +2016 -1188
- package/dist/server/config.mjs +2016 -1188
- package/dist/server/data.mjs +2041 -1193
- package/dist/server/date-time.mjs +258 -116
- package/dist/server/index.mjs +134 -52
- package/dist/server/next.mjs +10571 -9350
- package/dist/server/page-converter.mjs +1629 -941
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +11156 -9872
- package/dist/server/rendering.mjs +11284 -10014
- package/dist/server/routing.mjs +2204 -1283
- package/dist/server/server.mjs +2369 -1570
- package/dist/server/theme-bridge.mjs +838 -124
- package/dist/server/theme.mjs +348 -64
- package/dist/{spinner-BYM-Y81w.mjs → spinner-MTooKfck.mjs} +1 -1
- package/dist/styles/index.css +254 -1
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
|
@@ -2896,14 +2896,6 @@ const themeLookMetadataSchema = z.object({
|
|
|
2896
2896
|
skinMarks: skinMarksSchema.optional()
|
|
2897
2897
|
});
|
|
2898
2898
|
//#endregion
|
|
2899
|
-
//#region ../theme-core/src/footer/mode.ts
|
|
2900
|
-
const footerModeSchema = z.enum([
|
|
2901
|
-
"default",
|
|
2902
|
-
"blocks",
|
|
2903
|
-
"default+blocks",
|
|
2904
|
-
"none"
|
|
2905
|
-
]);
|
|
2906
|
-
//#endregion
|
|
2907
2899
|
//#region ../core/src/result.ts
|
|
2908
2900
|
function ok(value) {
|
|
2909
2901
|
return {
|
|
@@ -3275,6 +3267,25 @@ function validateBookingPaymentOptionKinds(kinds) {
|
|
|
3275
3267
|
return ok(void 0);
|
|
3276
3268
|
}
|
|
3277
3269
|
//#endregion
|
|
3270
|
+
//#region ../core/src/date-time-formatter.ts
|
|
3271
|
+
/** Shared Intl engine, internal to core's date presentation owners. */
|
|
3272
|
+
const FORMATTER_CACHE_LIMIT = 100;
|
|
3273
|
+
const dateTimeFormatterCache = /* @__PURE__ */ new Map();
|
|
3274
|
+
function getDateTimeFormatter(locale, timeZone, format) {
|
|
3275
|
+
const key = `${locale}\u0000${timeZone}\u0000${JSON.stringify(Object.entries(format).sort(([left], [right]) => left.localeCompare(right)))}`;
|
|
3276
|
+
const cached = dateTimeFormatterCache.get(key);
|
|
3277
|
+
if (cached !== void 0) return cached;
|
|
3278
|
+
if (typeof locale !== "string" || Intl.DateTimeFormat.supportedLocalesOf([locale]).length === 0) throw new RangeError("An explicit supported locale is required");
|
|
3279
|
+
if (typeof timeZone !== "string" || timeZone.length === 0) throw new RangeError("An explicit time zone is required");
|
|
3280
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
3281
|
+
...format,
|
|
3282
|
+
timeZone
|
|
3283
|
+
});
|
|
3284
|
+
if (dateTimeFormatterCache.size >= FORMATTER_CACHE_LIMIT) dateTimeFormatterCache.clear();
|
|
3285
|
+
dateTimeFormatterCache.set(key, formatter);
|
|
3286
|
+
return formatter;
|
|
3287
|
+
}
|
|
3288
|
+
//#endregion
|
|
3278
3289
|
//#region ../core/src/booking-time-zone.ts
|
|
3279
3290
|
const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
|
|
3280
3291
|
const timeZoneValidityCache = /* @__PURE__ */ new Map();
|
|
@@ -3311,8 +3322,6 @@ const START_OF_DAY = {
|
|
|
3311
3322
|
second: 0
|
|
3312
3323
|
};
|
|
3313
3324
|
const LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
|
|
3314
|
-
const DATE_TIME_FORMATTER_CACHE_LIMIT = 100;
|
|
3315
|
-
const dateTimeFormatterCache = /* @__PURE__ */ new Map();
|
|
3316
3325
|
function getSafeTimeZone(timeZone) {
|
|
3317
3326
|
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
3318
3327
|
return normalized.length > 0 && isValidBookingTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
@@ -3329,19 +3338,7 @@ function formatParseError(error) {
|
|
|
3329
3338
|
}
|
|
3330
3339
|
}
|
|
3331
3340
|
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
3332
|
-
return new Map(
|
|
3333
|
-
}
|
|
3334
|
-
function getCachedDateTimeFormatter(locale, timeZone, format) {
|
|
3335
|
-
const key = `${locale}\u0000${timeZone}\u0000${JSON.stringify(Object.entries(format).sort(([left], [right]) => left.localeCompare(right)))}`;
|
|
3336
|
-
const cached = dateTimeFormatterCache.get(key);
|
|
3337
|
-
if (cached !== void 0) return cached;
|
|
3338
|
-
const formatter = new Intl.DateTimeFormat(locale, {
|
|
3339
|
-
...format,
|
|
3340
|
-
timeZone
|
|
3341
|
-
});
|
|
3342
|
-
if (dateTimeFormatterCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) dateTimeFormatterCache.clear();
|
|
3343
|
-
dateTimeFormatterCache.set(key, formatter);
|
|
3344
|
-
return formatter;
|
|
3341
|
+
return new Map(getDateTimeFormatter(locale, timeZone, format).formatToParts(date).map((part) => [part.type, part.value]));
|
|
3345
3342
|
}
|
|
3346
3343
|
function getZonedDateTimeParts(date, timeZone) {
|
|
3347
3344
|
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
@@ -3429,7 +3426,7 @@ function toScheduledBookingDateTime(input) {
|
|
|
3429
3426
|
function formatBookingInstant(isoString, options) {
|
|
3430
3427
|
const date = new Date(isoString);
|
|
3431
3428
|
if (Number.isNaN(date.getTime())) return isoString;
|
|
3432
|
-
return
|
|
3429
|
+
return getDateTimeFormatter(options.locale ?? DEFAULT_LOCALE, getSafeTimeZone(options.timeZone), options.format).format(date);
|
|
3433
3430
|
}
|
|
3434
3431
|
function formatBookingDate(input, format = {
|
|
3435
3432
|
weekday: "long",
|
|
@@ -3554,6 +3551,17 @@ function localScheduleDateTimeToUtcDate(localDate, localTime, timeZone) {
|
|
|
3554
3551
|
return new Date(guess);
|
|
3555
3552
|
}
|
|
3556
3553
|
//#endregion
|
|
3554
|
+
//#region ../core/src/date-display.ts
|
|
3555
|
+
/** Site-language policy, shared by customer emails and public event adapters. */
|
|
3556
|
+
function inferSiteDateLocale(siteTimeZone) {
|
|
3557
|
+
if (siteTimeZone === null || siteTimeZone === void 0 || siteTimeZone === "") return "en-US";
|
|
3558
|
+
if (siteTimeZone === "Europe/Dublin") return "en-IE";
|
|
3559
|
+
if (siteTimeZone.startsWith("Europe/")) return "en-GB";
|
|
3560
|
+
if (siteTimeZone.startsWith("Australia/")) return "en-AU";
|
|
3561
|
+
if (siteTimeZone === "Pacific/Auckland" || siteTimeZone === "Pacific/Chatham") return "en-NZ";
|
|
3562
|
+
return "en-US";
|
|
3563
|
+
}
|
|
3564
|
+
//#endregion
|
|
3557
3565
|
//#region ../core/src/location.ts
|
|
3558
3566
|
function normalizeLocationAddressText(value) {
|
|
3559
3567
|
if (typeof value !== "string") return null;
|
|
@@ -3643,6 +3651,10 @@ function parseGlobalFields(value) {
|
|
|
3643
3651
|
preset: "emailName",
|
|
3644
3652
|
name: value.name
|
|
3645
3653
|
} : null;
|
|
3654
|
+
case "emailFirstName": return isRequirement(value.firstName) ? {
|
|
3655
|
+
preset: "emailFirstName",
|
|
3656
|
+
firstName: value.firstName
|
|
3657
|
+
} : null;
|
|
3646
3658
|
case "emailFirstLast": return isRequirement(value.firstName) && isRequirement(value.lastName) ? {
|
|
3647
3659
|
preset: "emailFirstLast",
|
|
3648
3660
|
firstName: value.firstName,
|
|
@@ -4349,6 +4361,29 @@ const paletteSchema = z.object({
|
|
|
4349
4361
|
};
|
|
4350
4362
|
});
|
|
4351
4363
|
//#endregion
|
|
4364
|
+
//#region ../theme-core/src/buttons/typography.ts
|
|
4365
|
+
const textTransformSchema = z.enum([
|
|
4366
|
+
"none",
|
|
4367
|
+
"uppercase",
|
|
4368
|
+
"lowercase",
|
|
4369
|
+
"capitalize"
|
|
4370
|
+
]);
|
|
4371
|
+
const fontWeightSchema = z.union([
|
|
4372
|
+
z.literal(400),
|
|
4373
|
+
z.literal(500),
|
|
4374
|
+
z.literal(600),
|
|
4375
|
+
z.literal(700),
|
|
4376
|
+
z.literal(800)
|
|
4377
|
+
]);
|
|
4378
|
+
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
4379
|
+
const letterSpacingSchema = z.enum([
|
|
4380
|
+
"tight",
|
|
4381
|
+
"normal",
|
|
4382
|
+
"slight",
|
|
4383
|
+
"loose",
|
|
4384
|
+
"wide"
|
|
4385
|
+
]);
|
|
4386
|
+
//#endregion
|
|
4352
4387
|
//#region ../theme-core/src/buttons/types.ts
|
|
4353
4388
|
/**
|
|
4354
4389
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -4464,6 +4499,7 @@ const buttonEffectApplicationSchema = z.discriminatedUnion("effectId", [
|
|
|
4464
4499
|
z.strictObject({
|
|
4465
4500
|
effectId: z.literal("lift"),
|
|
4466
4501
|
options: z.strictObject({ amount: z.enum([
|
|
4502
|
+
"0.125",
|
|
4467
4503
|
"0.25",
|
|
4468
4504
|
"0.5",
|
|
4469
4505
|
"1"
|
|
@@ -4510,24 +4546,6 @@ const shadowSizeSchema = z.enum([
|
|
|
4510
4546
|
"medium",
|
|
4511
4547
|
"high"
|
|
4512
4548
|
]);
|
|
4513
|
-
const textTransformSchema = z.enum([
|
|
4514
|
-
"none",
|
|
4515
|
-
"uppercase",
|
|
4516
|
-
"lowercase",
|
|
4517
|
-
"capitalize"
|
|
4518
|
-
]);
|
|
4519
|
-
const fontWeightSchema = z.union([
|
|
4520
|
-
z.literal(500),
|
|
4521
|
-
z.literal(600),
|
|
4522
|
-
z.literal(700),
|
|
4523
|
-
z.literal(800)
|
|
4524
|
-
]);
|
|
4525
|
-
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
4526
|
-
const letterSpacingSchema = z.enum([
|
|
4527
|
-
"tight",
|
|
4528
|
-
"normal",
|
|
4529
|
-
"loose"
|
|
4530
|
-
]);
|
|
4531
4549
|
const hoverTransformSchema = z.enum([
|
|
4532
4550
|
"none",
|
|
4533
4551
|
"lift",
|
|
@@ -4599,7 +4617,8 @@ const paddingShorthandSchema = z.string().refine((value) => {
|
|
|
4599
4617
|
}, { message: "Padding must be two space-separated CSS length tokens (e.g. \"0.5rem 1rem\"). Use `0` for zero." });
|
|
4600
4618
|
const buttonSizeConfigSchema = z.object({
|
|
4601
4619
|
padding: paddingShorthandSchema,
|
|
4602
|
-
fontSize: z.string().optional()
|
|
4620
|
+
fontSize: z.string().optional(),
|
|
4621
|
+
borderRadius: z.string().optional()
|
|
4603
4622
|
});
|
|
4604
4623
|
/**
|
|
4605
4624
|
* `xl` is optional on the wire so themes persisted before the `xl` size was
|
|
@@ -4722,12 +4741,20 @@ const buttonVisualAppearanceSchema = z.strictObject({
|
|
|
4722
4741
|
textTransform: textTransformSchema
|
|
4723
4742
|
}),
|
|
4724
4743
|
effects: z.array(buttonEffectApplicationSchema),
|
|
4744
|
+
transform: z.literal("none").optional(),
|
|
4725
4745
|
contextualHover: contextualButtonHoverSchema.optional()
|
|
4726
4746
|
});
|
|
4727
4747
|
const buttonVisualStatesSchema = z.strictObject({
|
|
4728
4748
|
base: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
4729
4749
|
hover: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
4730
|
-
focus: buttonVisualAppearanceSchema.extend({
|
|
4750
|
+
focus: buttonVisualAppearanceSchema.extend({
|
|
4751
|
+
shadow: z.literal("focus-indicator"),
|
|
4752
|
+
indicator: z.strictObject({
|
|
4753
|
+
kind: z.literal("surface-ink"),
|
|
4754
|
+
width: z.union([z.literal(2), z.literal(3)]),
|
|
4755
|
+
offset: z.union([z.literal(3), z.literal(4)])
|
|
4756
|
+
}).optional()
|
|
4757
|
+
}),
|
|
4731
4758
|
active: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
4732
4759
|
disabled: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema })
|
|
4733
4760
|
});
|
|
@@ -5175,6 +5202,287 @@ function normalizeAppearance(appearance) {
|
|
|
5175
5202
|
};
|
|
5176
5203
|
}
|
|
5177
5204
|
//#endregion
|
|
5205
|
+
//#region ../theme-core/src/buttons/styles/recipes/lanternRecipes.ts
|
|
5206
|
+
const flatShadow = {
|
|
5207
|
+
elevation: "none",
|
|
5208
|
+
softness: null,
|
|
5209
|
+
position: "bottom"
|
|
5210
|
+
};
|
|
5211
|
+
const lift$1 = {
|
|
5212
|
+
effectId: "lift",
|
|
5213
|
+
options: { amount: "0.125" }
|
|
5214
|
+
};
|
|
5215
|
+
const tags = {
|
|
5216
|
+
tone: "classic",
|
|
5217
|
+
energy: "calm",
|
|
5218
|
+
motion: "subtle",
|
|
5219
|
+
era: "editorial"
|
|
5220
|
+
};
|
|
5221
|
+
/** Each role supplies complete states, including a flat surface-ink focus ring. */
|
|
5222
|
+
function states(base, hover, offset = 4, width = 2) {
|
|
5223
|
+
return {
|
|
5224
|
+
base,
|
|
5225
|
+
hover,
|
|
5226
|
+
focus: {
|
|
5227
|
+
...base,
|
|
5228
|
+
shadow: "focus-indicator",
|
|
5229
|
+
indicator: {
|
|
5230
|
+
kind: "surface-ink",
|
|
5231
|
+
width,
|
|
5232
|
+
offset
|
|
5233
|
+
}
|
|
5234
|
+
},
|
|
5235
|
+
active: {
|
|
5236
|
+
...base,
|
|
5237
|
+
transform: "none"
|
|
5238
|
+
},
|
|
5239
|
+
disabled: {
|
|
5240
|
+
...base,
|
|
5241
|
+
effects: []
|
|
5242
|
+
}
|
|
5243
|
+
};
|
|
5244
|
+
}
|
|
5245
|
+
const gilt = {
|
|
5246
|
+
text: "treatment",
|
|
5247
|
+
border: "none",
|
|
5248
|
+
borderRadius: "rounded-10px",
|
|
5249
|
+
shadow: flatShadow,
|
|
5250
|
+
sizes: {
|
|
5251
|
+
sm: {
|
|
5252
|
+
padding: "10px 20px",
|
|
5253
|
+
fontSize: "text-base",
|
|
5254
|
+
borderRadius: "rounded-lg"
|
|
5255
|
+
},
|
|
5256
|
+
md: {
|
|
5257
|
+
padding: "18px 36px",
|
|
5258
|
+
fontSize: "text-19px"
|
|
5259
|
+
},
|
|
5260
|
+
lg: {
|
|
5261
|
+
padding: "18px 36px",
|
|
5262
|
+
fontSize: "text-19px"
|
|
5263
|
+
},
|
|
5264
|
+
xl: {
|
|
5265
|
+
padding: "18px 36px",
|
|
5266
|
+
fontSize: "text-19px"
|
|
5267
|
+
}
|
|
5268
|
+
},
|
|
5269
|
+
typography: {
|
|
5270
|
+
fontWeight: 400,
|
|
5271
|
+
typography: "heading",
|
|
5272
|
+
fontSize: "text-19px",
|
|
5273
|
+
letterSpacing: "slight",
|
|
5274
|
+
italic: false,
|
|
5275
|
+
textTransform: "none"
|
|
5276
|
+
},
|
|
5277
|
+
effects: []
|
|
5278
|
+
};
|
|
5279
|
+
const giltPrimary = {
|
|
5280
|
+
...gilt,
|
|
5281
|
+
background: {
|
|
5282
|
+
type: "gradient",
|
|
5283
|
+
stops: ["accent", "primary"],
|
|
5284
|
+
direction: "to-br",
|
|
5285
|
+
foregroundToken: "onAccent"
|
|
5286
|
+
}
|
|
5287
|
+
};
|
|
5288
|
+
const giltPrimaryHover = {
|
|
5289
|
+
...giltPrimary,
|
|
5290
|
+
background: {
|
|
5291
|
+
...giltPrimary.background,
|
|
5292
|
+
stops: ["accent-400", "primary-400"],
|
|
5293
|
+
foregroundToken: "secondary-950"
|
|
5294
|
+
},
|
|
5295
|
+
effects: [lift$1]
|
|
5296
|
+
};
|
|
5297
|
+
const giltSecondary = {
|
|
5298
|
+
...gilt,
|
|
5299
|
+
background: {
|
|
5300
|
+
type: "solid",
|
|
5301
|
+
colorToken: "text"
|
|
5302
|
+
}
|
|
5303
|
+
};
|
|
5304
|
+
const giltSecondaryHover = {
|
|
5305
|
+
...giltSecondary,
|
|
5306
|
+
effects: [lift$1],
|
|
5307
|
+
contextualHover: {
|
|
5308
|
+
kind: "shade-shift",
|
|
5309
|
+
seedToken: unsafeAsOpaqueButtonColourToken("text"),
|
|
5310
|
+
fallbackDirection: "lighter"
|
|
5311
|
+
}
|
|
5312
|
+
};
|
|
5313
|
+
const giltPrimaryStates = states(giltPrimary, giltPrimaryHover);
|
|
5314
|
+
const giltSecondaryStates = states(giltSecondary, giltSecondaryHover);
|
|
5315
|
+
const giltSlabRecipe = defineStaticButtonStyleRecipe({
|
|
5316
|
+
id: "gilt-slab",
|
|
5317
|
+
accessibilityLabel: "Gilt slab",
|
|
5318
|
+
tags,
|
|
5319
|
+
system: { roles: {
|
|
5320
|
+
primary: { states: giltPrimaryStates },
|
|
5321
|
+
secondary: { states: giltSecondaryStates },
|
|
5322
|
+
outline: { states: giltSecondaryStates },
|
|
5323
|
+
ghost: { states: giltSecondaryStates },
|
|
5324
|
+
accent: { states: giltPrimaryStates }
|
|
5325
|
+
} }
|
|
5326
|
+
});
|
|
5327
|
+
const hairline = {
|
|
5328
|
+
text: "treatment",
|
|
5329
|
+
borderRadius: "rounded-3px",
|
|
5330
|
+
shadow: flatShadow,
|
|
5331
|
+
sizes: {
|
|
5332
|
+
sm: {
|
|
5333
|
+
padding: "9px 16px",
|
|
5334
|
+
fontSize: "text-xs"
|
|
5335
|
+
},
|
|
5336
|
+
md: {
|
|
5337
|
+
padding: "15px 28px",
|
|
5338
|
+
fontSize: "text-13px"
|
|
5339
|
+
},
|
|
5340
|
+
lg: {
|
|
5341
|
+
padding: "15px 28px",
|
|
5342
|
+
fontSize: "text-13px"
|
|
5343
|
+
},
|
|
5344
|
+
xl: {
|
|
5345
|
+
padding: "15px 28px",
|
|
5346
|
+
fontSize: "text-13px"
|
|
5347
|
+
}
|
|
5348
|
+
},
|
|
5349
|
+
typography: {
|
|
5350
|
+
fontWeight: 700,
|
|
5351
|
+
typography: "body",
|
|
5352
|
+
fontSize: "text-13px",
|
|
5353
|
+
letterSpacing: "wide",
|
|
5354
|
+
italic: false,
|
|
5355
|
+
textTransform: "uppercase"
|
|
5356
|
+
},
|
|
5357
|
+
effects: []
|
|
5358
|
+
};
|
|
5359
|
+
const hairlinePrimary = {
|
|
5360
|
+
...hairline,
|
|
5361
|
+
background: {
|
|
5362
|
+
type: "solid",
|
|
5363
|
+
colorToken: "primary"
|
|
5364
|
+
},
|
|
5365
|
+
border: {
|
|
5366
|
+
widthClass: "border",
|
|
5367
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
5368
|
+
}
|
|
5369
|
+
};
|
|
5370
|
+
const hairlineOutline = {
|
|
5371
|
+
...hairline,
|
|
5372
|
+
background: {
|
|
5373
|
+
type: "surface",
|
|
5374
|
+
role: "link"
|
|
5375
|
+
},
|
|
5376
|
+
border: {
|
|
5377
|
+
widthClass: "border",
|
|
5378
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
5379
|
+
}
|
|
5380
|
+
};
|
|
5381
|
+
const hairlineSecondary = {
|
|
5382
|
+
...hairlineOutline,
|
|
5383
|
+
border: {
|
|
5384
|
+
widthClass: "border",
|
|
5385
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
|
|
5386
|
+
}
|
|
5387
|
+
};
|
|
5388
|
+
const hairlineFilled = {
|
|
5389
|
+
...hairlineSecondary,
|
|
5390
|
+
background: {
|
|
5391
|
+
type: "solid",
|
|
5392
|
+
colorToken: "accent"
|
|
5393
|
+
}
|
|
5394
|
+
};
|
|
5395
|
+
const hairlinePrimaryStates = states(hairlinePrimary, hairlineOutline, 3);
|
|
5396
|
+
const hairlineSecondaryStates = states(hairlineSecondary, hairlineFilled, 3);
|
|
5397
|
+
const hairlineTabRecipe = defineStaticButtonStyleRecipe({
|
|
5398
|
+
id: "hairline-tab",
|
|
5399
|
+
accessibilityLabel: "Hairline tab",
|
|
5400
|
+
tags,
|
|
5401
|
+
system: { roles: {
|
|
5402
|
+
primary: { states: hairlinePrimaryStates },
|
|
5403
|
+
secondary: { states: hairlineSecondaryStates },
|
|
5404
|
+
outline: { states: hairlineSecondaryStates },
|
|
5405
|
+
ghost: { states: hairlineSecondaryStates },
|
|
5406
|
+
accent: { states: states(hairlineFilled, hairlineSecondary, 3) }
|
|
5407
|
+
} }
|
|
5408
|
+
});
|
|
5409
|
+
const marqueeAccent = {
|
|
5410
|
+
text: "treatment",
|
|
5411
|
+
borderRadius: "rounded-none",
|
|
5412
|
+
shadow: flatShadow,
|
|
5413
|
+
sizes: {
|
|
5414
|
+
sm: {
|
|
5415
|
+
padding: "8px 17px",
|
|
5416
|
+
fontSize: "text-15px"
|
|
5417
|
+
},
|
|
5418
|
+
md: {
|
|
5419
|
+
padding: "14px 25px",
|
|
5420
|
+
fontSize: "text-17px"
|
|
5421
|
+
},
|
|
5422
|
+
lg: {
|
|
5423
|
+
padding: "14px 25px",
|
|
5424
|
+
fontSize: "text-17px"
|
|
5425
|
+
},
|
|
5426
|
+
xl: {
|
|
5427
|
+
padding: "14px 25px",
|
|
5428
|
+
fontSize: "text-17px"
|
|
5429
|
+
}
|
|
5430
|
+
},
|
|
5431
|
+
typography: {
|
|
5432
|
+
fontWeight: 800,
|
|
5433
|
+
typography: "body",
|
|
5434
|
+
fontSize: "text-17px",
|
|
5435
|
+
letterSpacing: "loose",
|
|
5436
|
+
italic: false,
|
|
5437
|
+
textTransform: "uppercase"
|
|
5438
|
+
},
|
|
5439
|
+
effects: [],
|
|
5440
|
+
background: {
|
|
5441
|
+
type: "solid",
|
|
5442
|
+
colorToken: "accent"
|
|
5443
|
+
},
|
|
5444
|
+
border: {
|
|
5445
|
+
widthClass: "border-2",
|
|
5446
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
|
|
5447
|
+
}
|
|
5448
|
+
};
|
|
5449
|
+
const marqueePrimary = {
|
|
5450
|
+
...marqueeAccent,
|
|
5451
|
+
background: {
|
|
5452
|
+
type: "solid",
|
|
5453
|
+
colorToken: "primary"
|
|
5454
|
+
},
|
|
5455
|
+
border: {
|
|
5456
|
+
widthClass: "border-2",
|
|
5457
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
5458
|
+
}
|
|
5459
|
+
};
|
|
5460
|
+
const marqueeSecondary = {
|
|
5461
|
+
...marqueeAccent,
|
|
5462
|
+
background: {
|
|
5463
|
+
type: "solid",
|
|
5464
|
+
colorToken: "text"
|
|
5465
|
+
},
|
|
5466
|
+
border: {
|
|
5467
|
+
widthClass: "border-2",
|
|
5468
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("text")
|
|
5469
|
+
}
|
|
5470
|
+
};
|
|
5471
|
+
const marqueePrimaryStates = states(marqueeAccent, marqueePrimary, 4, 3);
|
|
5472
|
+
const marqueeSecondaryStates = states(marqueeSecondary, marqueeAccent, 4, 3);
|
|
5473
|
+
const marqueeRecipe = defineStaticButtonStyleRecipe({
|
|
5474
|
+
id: "marquee",
|
|
5475
|
+
accessibilityLabel: "Marquee",
|
|
5476
|
+
tags,
|
|
5477
|
+
system: { roles: {
|
|
5478
|
+
primary: { states: marqueePrimaryStates },
|
|
5479
|
+
secondary: { states: marqueeSecondaryStates },
|
|
5480
|
+
outline: { states: marqueeSecondaryStates },
|
|
5481
|
+
ghost: { states: marqueeSecondaryStates },
|
|
5482
|
+
accent: { states: marqueePrimaryStates }
|
|
5483
|
+
} }
|
|
5484
|
+
});
|
|
5485
|
+
//#endregion
|
|
5178
5486
|
//#region ../theme-core/src/buttons/styles/recipes/fulcrumRecipe.ts
|
|
5179
5487
|
const fulcrumSizes = {
|
|
5180
5488
|
sm: {
|
|
@@ -5916,7 +6224,10 @@ const BUTTON_STYLE_IDS = [
|
|
|
5916
6224
|
"offset-block",
|
|
5917
6225
|
"ringed-pill",
|
|
5918
6226
|
"square-outline",
|
|
5919
|
-
"fulcrum"
|
|
6227
|
+
"fulcrum",
|
|
6228
|
+
"gilt-slab",
|
|
6229
|
+
"hairline-tab",
|
|
6230
|
+
"marquee"
|
|
5920
6231
|
];
|
|
5921
6232
|
const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
|
|
5922
6233
|
const flatInkHoverTreatmentSchema = z.enum([
|
|
@@ -5953,7 +6264,10 @@ const buttonStyleSelectionSchema = z.discriminatedUnion("styleId", [
|
|
|
5953
6264
|
selectionBranch("offset-block", emptyParametersSchema),
|
|
5954
6265
|
selectionBranch("ringed-pill", emptyParametersSchema),
|
|
5955
6266
|
selectionBranch("square-outline", emptyParametersSchema),
|
|
5956
|
-
selectionBranch("fulcrum", emptyParametersSchema)
|
|
6267
|
+
selectionBranch("fulcrum", emptyParametersSchema),
|
|
6268
|
+
selectionBranch("gilt-slab", emptyParametersSchema),
|
|
6269
|
+
selectionBranch("hairline-tab", emptyParametersSchema),
|
|
6270
|
+
selectionBranch("marquee", emptyParametersSchema)
|
|
5957
6271
|
]);
|
|
5958
6272
|
//#endregion
|
|
5959
6273
|
//#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
|
|
@@ -9469,7 +9783,10 @@ const buttonStyleRecipes = [
|
|
|
9469
9783
|
offsetBlockRecipe,
|
|
9470
9784
|
ringedPillRecipe,
|
|
9471
9785
|
squareOutlineRecipe,
|
|
9472
|
-
fulcrumRecipe
|
|
9786
|
+
fulcrumRecipe,
|
|
9787
|
+
giltSlabRecipe,
|
|
9788
|
+
hairlineTabRecipe,
|
|
9789
|
+
marqueeRecipe
|
|
9473
9790
|
];
|
|
9474
9791
|
const recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
|
|
9475
9792
|
function findButtonStyleRecipe(id) {
|
|
@@ -9485,6 +9802,9 @@ function resolveButtonStyleSelection(selection) {
|
|
|
9485
9802
|
case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
|
|
9486
9803
|
case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
|
|
9487
9804
|
case "ink-stamp": return resolveButtonStyleRecipe(inkStampRecipe, selection.parameters);
|
|
9805
|
+
case "gilt-slab": return resolveButtonStyleRecipe(giltSlabRecipe, selection.parameters);
|
|
9806
|
+
case "hairline-tab": return resolveButtonStyleRecipe(hairlineTabRecipe, selection.parameters);
|
|
9807
|
+
case "marquee": return resolveButtonStyleRecipe(marqueeRecipe, selection.parameters);
|
|
9488
9808
|
case "fulcrum": return resolveButtonStyleRecipe(fulcrumRecipe, selection.parameters);
|
|
9489
9809
|
case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
|
|
9490
9810
|
case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
|
|
@@ -11136,20 +11456,15 @@ const headerSchema = z.object({
|
|
|
11136
11456
|
const footerVariant = z.enum([
|
|
11137
11457
|
"simple",
|
|
11138
11458
|
"columns",
|
|
11139
|
-
"split"
|
|
11140
|
-
|
|
11459
|
+
"split",
|
|
11460
|
+
"centred"
|
|
11461
|
+
]).transform((value) => value === "columns" ? "simple" : value);
|
|
11141
11462
|
const footerMaxWidth = z.enum(["container", "full"]);
|
|
11142
11463
|
const footerNavLayoutMode = z.enum([
|
|
11143
11464
|
"stack",
|
|
11144
11465
|
"inline",
|
|
11145
11466
|
"inline-wrap"
|
|
11146
11467
|
]);
|
|
11147
|
-
const footerNavLayoutAlign = z.enum([
|
|
11148
|
-
"start",
|
|
11149
|
-
"center",
|
|
11150
|
-
"end",
|
|
11151
|
-
"space-between"
|
|
11152
|
-
]);
|
|
11153
11468
|
const footerSpacing = z.enum([
|
|
11154
11469
|
"none",
|
|
11155
11470
|
"tight",
|
|
@@ -11158,12 +11473,6 @@ const footerSpacing = z.enum([
|
|
|
11158
11473
|
"relaxed",
|
|
11159
11474
|
"spacious"
|
|
11160
11475
|
]);
|
|
11161
|
-
const footerLogoPlacement = z.enum([
|
|
11162
|
-
"left",
|
|
11163
|
-
"right",
|
|
11164
|
-
"above",
|
|
11165
|
-
"below"
|
|
11166
|
-
]);
|
|
11167
11476
|
const footerLogoSize = z.enum([
|
|
11168
11477
|
"sm",
|
|
11169
11478
|
"md",
|
|
@@ -11204,17 +11513,8 @@ const footerBottomBarSchema = z.object({
|
|
|
11204
11513
|
]).optional()
|
|
11205
11514
|
}).optional()
|
|
11206
11515
|
});
|
|
11207
|
-
const footerNavLayoutSchema = z.object({
|
|
11208
|
-
layout: footerNavLayoutMode.optional(),
|
|
11209
|
-
align: footerNavLayoutAlign.optional(),
|
|
11210
|
-
gapX: footerSpacing.optional(),
|
|
11211
|
-
gapY: footerSpacing.optional(),
|
|
11212
|
-
columns: z.number().int().min(1).max(6).optional()
|
|
11213
|
-
});
|
|
11516
|
+
const footerNavLayoutSchema = z.object({ layout: footerNavLayoutMode.optional() });
|
|
11214
11517
|
const footerLogoSchema = z.object({
|
|
11215
|
-
showLogo: z.boolean().default(true),
|
|
11216
|
-
showLogoText: z.boolean().optional(),
|
|
11217
|
-
placement: footerLogoPlacement.optional(),
|
|
11218
11518
|
size: footerLogoSize.optional(),
|
|
11219
11519
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
11220
11520
|
align: z.enum([
|
|
@@ -11224,15 +11524,8 @@ const footerLogoSchema = z.object({
|
|
|
11224
11524
|
]).optional()
|
|
11225
11525
|
});
|
|
11226
11526
|
const footerSchema = z.object({
|
|
11227
|
-
/**
|
|
11228
|
-
* SDK-only footer rendering mode.
|
|
11229
|
-
*
|
|
11230
|
-
* Historical persisted field; SDK rendering mode now lives in layout.footerMode.
|
|
11231
|
-
*/
|
|
11232
|
-
mode: footerModeSchema.optional(),
|
|
11233
11527
|
variant: footerVariant,
|
|
11234
11528
|
maxWidth: footerMaxWidth,
|
|
11235
|
-
showLogoText: z.boolean().optional(),
|
|
11236
11529
|
background: headerBackgroundSchema.default({
|
|
11237
11530
|
type: "color",
|
|
11238
11531
|
color: "surface"
|
|
@@ -11415,7 +11708,9 @@ const cardListKnobBlocks = [...cardListFamilyBlocks, "block.event-calendar"];
|
|
|
11415
11708
|
const lookKnobBlocks = {
|
|
11416
11709
|
actionStyle: cardListKnobBlocks,
|
|
11417
11710
|
titleSize: "block.hero",
|
|
11418
|
-
imagePosition: "block.hero",
|
|
11711
|
+
imagePosition: ["block.hero", "block.media-text"],
|
|
11712
|
+
imageShape: "block.media-text",
|
|
11713
|
+
aspectRatio: "block.media-text",
|
|
11419
11714
|
stickerLine: "block.hero",
|
|
11420
11715
|
smallCaption: "block.hero",
|
|
11421
11716
|
candleGlow: "block.hero",
|
|
@@ -11425,7 +11720,11 @@ const lookKnobBlocks = {
|
|
|
11425
11720
|
dates: "block.offerings-preview",
|
|
11426
11721
|
showCapacity: "block.event-calendar",
|
|
11427
11722
|
quoteCount: "block.testimonials",
|
|
11428
|
-
archFrame:
|
|
11723
|
+
archFrame: [
|
|
11724
|
+
"block.testimonials",
|
|
11725
|
+
"block.newsletter-signup",
|
|
11726
|
+
"block.form"
|
|
11727
|
+
],
|
|
11429
11728
|
tilt: "block.testimonials"
|
|
11430
11729
|
};
|
|
11431
11730
|
function isArrangementAppearancePreset(preset) {
|
|
@@ -11452,13 +11751,25 @@ function cardListKnobDefaults(block, arrangement, knobs, defaults) {
|
|
|
11452
11751
|
}
|
|
11453
11752
|
};
|
|
11454
11753
|
}
|
|
11754
|
+
const arrangementLookTargets = {
|
|
11755
|
+
hero: "hero",
|
|
11756
|
+
"feature-cards": "feature-cards",
|
|
11757
|
+
"event-calendar": "events",
|
|
11758
|
+
testimonials: "testimonials",
|
|
11759
|
+
"event-details": "events",
|
|
11760
|
+
"media-text": "media-text",
|
|
11761
|
+
"image-gallery": "image-gallery",
|
|
11762
|
+
"newsletter-signup": "newsletter",
|
|
11763
|
+
form: "contact-form",
|
|
11764
|
+
"body-text": "body-text"
|
|
11765
|
+
};
|
|
11455
11766
|
function defineArrangementLook(id, block, name, arrangement, knobs, input = {}) {
|
|
11456
11767
|
const mode = block === "event-calendar" ? "list" : null;
|
|
11457
11768
|
return {
|
|
11458
11769
|
id: asAppearancePresetId(id),
|
|
11459
11770
|
blockKinds: [`block.${block}`],
|
|
11460
11771
|
label: name,
|
|
11461
|
-
target: block
|
|
11772
|
+
target: arrangementLookTargets[block],
|
|
11462
11773
|
structure: {
|
|
11463
11774
|
kind: "arrangement",
|
|
11464
11775
|
byMode: { [mode ?? "default"]: arrangement },
|
|
@@ -12278,6 +12589,15 @@ const appearancePresets = [
|
|
|
12278
12589
|
eyebrowTreatment: "accent"
|
|
12279
12590
|
}
|
|
12280
12591
|
}),
|
|
12592
|
+
defineArrangementLook("body-text-reading-column", "body-text", "Reading column", "prose", []),
|
|
12593
|
+
defineArrangementLook("form-beside-introduction-arched-panel", "form", "Introduction beside an arched form", "two-column", [], { slotRoles: { panel: "card" } }),
|
|
12594
|
+
defineArrangementLook("newsletter-signup-in-arch", "newsletter-signup", "Signup in an arch", "arch", []),
|
|
12595
|
+
defineArrangementLook("image-gallery-square-tiles", "image-gallery", "Square tiles", "tiles", []),
|
|
12596
|
+
defineArrangementLook("image-gallery-arched-captions", "image-gallery", "Arched photos with captions", "tiles", [], { styleFallback: [id$1("image-gallery-square-tiles")] }),
|
|
12597
|
+
defineArrangementLook("media-text-circle-beside-text", "media-text", "Circle beside the text", "circle-beside", ["imagePosition"], { forcedKnobs: {
|
|
12598
|
+
imageShape: "circle",
|
|
12599
|
+
aspectRatio: "1/1"
|
|
12600
|
+
} }),
|
|
12281
12601
|
defineArrangementLook("hero-photo-beside-text", "hero", "Photo beside the text", "split", heroKnobs, { slotRoles: { sticker: "highlight" } }),
|
|
12282
12602
|
defineArrangementLook("hero-headline-row", "hero", "Big headline, then text and photo", "headline-row", heroKnobs, {
|
|
12283
12603
|
slotRoles: { sticker: "highlight" },
|
|
@@ -12863,6 +13183,41 @@ function requireThemeColorToken$1(value) {
|
|
|
12863
13183
|
return token;
|
|
12864
13184
|
}
|
|
12865
13185
|
//#endregion
|
|
13186
|
+
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
13187
|
+
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
13188
|
+
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
13189
|
+
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
13190
|
+
function parseSiteChromeBackgroundColorToken(value) {
|
|
13191
|
+
const token = parseBackgroundAppearanceColorToken(value);
|
|
13192
|
+
return token ? token : null;
|
|
13193
|
+
}
|
|
13194
|
+
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
13195
|
+
return tokenNames.flatMap((name) => {
|
|
13196
|
+
const token = parseSiteChromeBackgroundColorToken(name);
|
|
13197
|
+
return token ? [token] : [];
|
|
13198
|
+
});
|
|
13199
|
+
}
|
|
13200
|
+
const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
|
|
13201
|
+
const token = parseSiteChromeBackgroundColorToken(value);
|
|
13202
|
+
if (token === null) {
|
|
13203
|
+
ctx.addIssue({
|
|
13204
|
+
code: "custom",
|
|
13205
|
+
message: "Unknown site chrome background colour token"
|
|
13206
|
+
});
|
|
13207
|
+
return z.NEVER;
|
|
13208
|
+
}
|
|
13209
|
+
return token;
|
|
13210
|
+
});
|
|
13211
|
+
const siteChromeBackgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
|
|
13212
|
+
kind: z.literal("color"),
|
|
13213
|
+
token: backgroundColorTokenSchema
|
|
13214
|
+
}).strict()]);
|
|
13215
|
+
z.object({
|
|
13216
|
+
background: siteChromeBackgroundOverrideSchema,
|
|
13217
|
+
navigationLayout: z.enum(["inline-wrap", "stack"])
|
|
13218
|
+
}).strict();
|
|
13219
|
+
z.object({ background: siteChromeBackgroundOverrideSchema }).strict();
|
|
13220
|
+
//#endregion
|
|
12866
13221
|
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
12867
13222
|
const defaultHeaderBrandPreferences = {
|
|
12868
13223
|
brandDisplay: "auto",
|
|
@@ -13023,6 +13378,9 @@ function fallbackEndsAtOffer(entry, mode, style, catalogue, visited) {
|
|
|
13023
13378
|
appearancePresets.filter(isArrangementAppearancePreset);
|
|
13024
13379
|
/** Closed structural hooks shared by block arrangements and bounded skins. */
|
|
13025
13380
|
const arrangementSlotNames = [
|
|
13381
|
+
"contact",
|
|
13382
|
+
"social",
|
|
13383
|
+
"base",
|
|
13026
13384
|
"section",
|
|
13027
13385
|
"stack",
|
|
13028
13386
|
"inline",
|
|
@@ -13109,6 +13467,55 @@ function validateOfferKnobs(style, catalogue) {
|
|
|
13109
13467
|
});
|
|
13110
13468
|
}
|
|
13111
13469
|
//#endregion
|
|
13470
|
+
//#region ../theme-core/src/site-styles/footerLookDefaults.ts
|
|
13471
|
+
const defaultFooterLookRecipes = {
|
|
13472
|
+
"footer-centred-name": {
|
|
13473
|
+
arrangement: "centred",
|
|
13474
|
+
ground: {
|
|
13475
|
+
kind: "token",
|
|
13476
|
+
token: "surface"
|
|
13477
|
+
},
|
|
13478
|
+
nav: {
|
|
13479
|
+
weight: "regular",
|
|
13480
|
+
colorToken: "text",
|
|
13481
|
+
hoverColorToken: "primary",
|
|
13482
|
+
typography: "body"
|
|
13483
|
+
},
|
|
13484
|
+
legal: {
|
|
13485
|
+
kind: "separate",
|
|
13486
|
+
bar: null
|
|
13487
|
+
},
|
|
13488
|
+
brandAlign: "center"
|
|
13489
|
+
},
|
|
13490
|
+
"footer-links-row": {
|
|
13491
|
+
arrangement: "simple",
|
|
13492
|
+
ground: {
|
|
13493
|
+
kind: "token",
|
|
13494
|
+
token: "surface"
|
|
13495
|
+
},
|
|
13496
|
+
nav: {
|
|
13497
|
+
weight: "regular",
|
|
13498
|
+
colorToken: "text",
|
|
13499
|
+
hoverColorToken: "primary",
|
|
13500
|
+
typography: "body"
|
|
13501
|
+
},
|
|
13502
|
+
legal: { kind: "integrated" },
|
|
13503
|
+
brandAlign: "start"
|
|
13504
|
+
}
|
|
13505
|
+
};
|
|
13506
|
+
/** A whole authored recipe replaces the default; facets are never deep-merged. */
|
|
13507
|
+
function resolveFooterLookRecipe(style, id) {
|
|
13508
|
+
return style?.footerLookRecipes?.[id] ?? defaultFooterLookRecipes[id];
|
|
13509
|
+
}
|
|
13510
|
+
//#endregion
|
|
13511
|
+
//#region ../theme-core/src/site-styles/footerLookRecipe.ts
|
|
13512
|
+
/** Reject undeclared references when the curated catalogue is loaded, before rendering. */
|
|
13513
|
+
function validateFooterRecipeSurfaces(style, recipe) {
|
|
13514
|
+
[recipe.ground, ...recipe.legal.kind === "separate" && recipe.legal.bar ? [recipe.legal.bar.background] : []].forEach((ground) => {
|
|
13515
|
+
if (ground.kind === "style-surface" && (style.looks.kind !== "offers" || !style.looks.surfaces[ground.surface])) throw new Error(`Undeclared footer surface: ${ground.surface}`);
|
|
13516
|
+
});
|
|
13517
|
+
}
|
|
13518
|
+
//#endregion
|
|
13112
13519
|
//#region ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
13113
13520
|
/**
|
|
13114
13521
|
* Reusable accordion "looks" for curated site styles.
|
|
@@ -13836,52 +14243,14 @@ defineLookOptionGroup({
|
|
|
13836
14243
|
function asFooterLookId(value) {
|
|
13837
14244
|
return value;
|
|
13838
14245
|
}
|
|
13839
|
-
function quietFooterLinks(theme) {
|
|
13840
|
-
return {
|
|
13841
|
-
...theme.footer,
|
|
13842
|
-
navStyle: "minimal",
|
|
13843
|
-
navWeight: "regular",
|
|
13844
|
-
navColor: "text",
|
|
13845
|
-
navLinkStyle: {
|
|
13846
|
-
typography: "body",
|
|
13847
|
-
fontWeight: "regular",
|
|
13848
|
-
textTransform: "none",
|
|
13849
|
-
italic: false,
|
|
13850
|
-
colorToken: "text",
|
|
13851
|
-
hoverColorToken: "primary",
|
|
13852
|
-
padding: "none",
|
|
13853
|
-
borderRadius: "none"
|
|
13854
|
-
}
|
|
13855
|
-
};
|
|
13856
|
-
}
|
|
13857
|
-
function emphasizedFooterLinks(theme) {
|
|
13858
|
-
return {
|
|
13859
|
-
...theme.footer,
|
|
13860
|
-
navStyle: "minimal",
|
|
13861
|
-
navWeight: "medium",
|
|
13862
|
-
navColor: "text",
|
|
13863
|
-
navLinkStyle: {
|
|
13864
|
-
typography: "body",
|
|
13865
|
-
fontWeight: "medium",
|
|
13866
|
-
textTransform: "none",
|
|
13867
|
-
italic: false,
|
|
13868
|
-
colorToken: "text",
|
|
13869
|
-
hoverColorToken: "primary",
|
|
13870
|
-
padding: "none",
|
|
13871
|
-
borderRadius: "none"
|
|
13872
|
-
}
|
|
13873
|
-
};
|
|
13874
|
-
}
|
|
13875
14246
|
const footerLookCatalog = defineExactCatalog()([{
|
|
13876
|
-
id: asFooterLookId("footer-links-
|
|
13877
|
-
label: "
|
|
13878
|
-
description: "
|
|
13879
|
-
compile: quietFooterLinks
|
|
14247
|
+
id: asFooterLookId("footer-links-row"),
|
|
14248
|
+
label: "Links in a row",
|
|
14249
|
+
description: "Your links in a row, with the other footer sections in columns beside them."
|
|
13880
14250
|
}, {
|
|
13881
|
-
id: asFooterLookId("footer-
|
|
13882
|
-
label: "
|
|
13883
|
-
description: "
|
|
13884
|
-
compile: emphasizedFooterLinks
|
|
14251
|
+
id: asFooterLookId("footer-centred-name"),
|
|
14252
|
+
label: "Centred name, links beneath",
|
|
14253
|
+
description: "Your site name centred, with your links, contact details and social links beneath it."
|
|
13885
14254
|
}]);
|
|
13886
14255
|
new Map(footerLookCatalog.map((look) => [look.id, look]));
|
|
13887
14256
|
//#endregion
|
|
@@ -15265,6 +15634,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
15265
15634
|
recommendedAppearancePresetIds
|
|
15266
15635
|
},
|
|
15267
15636
|
headerCuration: headerCurationBySiteStyle[input.id],
|
|
15637
|
+
footerLookRecipes: input.footerLookRecipes,
|
|
15268
15638
|
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
15269
15639
|
buttonStyleChoices: input.buttonStyleChoices,
|
|
15270
15640
|
paletteRecommendations: input.paletteRecommendations,
|
|
@@ -15750,7 +16120,11 @@ const lanternLooks = {
|
|
|
15750
16120
|
margin: "40px"
|
|
15751
16121
|
},
|
|
15752
16122
|
fontLoading: {
|
|
15753
|
-
extraBodyFontWeights: [
|
|
16123
|
+
extraBodyFontWeights: [
|
|
16124
|
+
500,
|
|
16125
|
+
700,
|
|
16126
|
+
800
|
|
16127
|
+
],
|
|
15754
16128
|
italicBodyFontWeights: [400]
|
|
15755
16129
|
},
|
|
15756
16130
|
surfaces: {
|
|
@@ -15800,6 +16174,38 @@ const lanternLooks = {
|
|
|
15800
16174
|
]
|
|
15801
16175
|
},
|
|
15802
16176
|
offers: [
|
|
16177
|
+
{
|
|
16178
|
+
id: id("body-text-reading-column"),
|
|
16179
|
+
treatment: "reading-column",
|
|
16180
|
+
roleMap: lanternRoles
|
|
16181
|
+
},
|
|
16182
|
+
{
|
|
16183
|
+
id: id("form-beside-introduction-arched-panel"),
|
|
16184
|
+
treatment: "arched-panel",
|
|
16185
|
+
addKnobs: ["archFrame"],
|
|
16186
|
+
roleMap: lanternRoles
|
|
16187
|
+
},
|
|
16188
|
+
{
|
|
16189
|
+
id: id("newsletter-signup-in-arch"),
|
|
16190
|
+
treatment: "signup-arch",
|
|
16191
|
+
addKnobs: ["archFrame"],
|
|
16192
|
+
roleMap: lanternRoles
|
|
16193
|
+
},
|
|
16194
|
+
{
|
|
16195
|
+
id: id("image-gallery-square-tiles"),
|
|
16196
|
+
treatment: "square-tiles",
|
|
16197
|
+
roleMap: lanternRoles
|
|
16198
|
+
},
|
|
16199
|
+
{
|
|
16200
|
+
id: id("image-gallery-arched-captions"),
|
|
16201
|
+
treatment: "arched-captions",
|
|
16202
|
+
roleMap: lanternRoles
|
|
16203
|
+
},
|
|
16204
|
+
{
|
|
16205
|
+
id: id("media-text-circle-beside-text"),
|
|
16206
|
+
treatment: "circle-beside",
|
|
16207
|
+
roleMap: lanternRoles
|
|
16208
|
+
},
|
|
15803
16209
|
{
|
|
15804
16210
|
id: id("event-details-panel"),
|
|
15805
16211
|
treatment: "quiet",
|
|
@@ -16238,7 +16644,7 @@ const curatedSiteStyles = [
|
|
|
16238
16644
|
"faq-contained-help",
|
|
16239
16645
|
"contact-form-panel"
|
|
16240
16646
|
],
|
|
16241
|
-
recommendedFooterLookIds: ["footer-links-
|
|
16647
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16242
16648
|
buttonStyleChoices: [
|
|
16243
16649
|
buttonChoice("soft-pill"),
|
|
16244
16650
|
buttonChoice("pebble"),
|
|
@@ -16357,7 +16763,7 @@ const curatedSiteStyles = [
|
|
|
16357
16763
|
"testimonials-non-carded",
|
|
16358
16764
|
"contact-form-panel"
|
|
16359
16765
|
],
|
|
16360
|
-
recommendedFooterLookIds: ["footer-links-
|
|
16766
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16361
16767
|
buttonStyleChoices: [
|
|
16362
16768
|
buttonChoice("earth-pill"),
|
|
16363
16769
|
buttonChoice("soft-pill"),
|
|
@@ -16412,7 +16818,41 @@ const curatedSiteStyles = [
|
|
|
16412
16818
|
"testimonials-brand-statement-cards",
|
|
16413
16819
|
"contact-form-panel"
|
|
16414
16820
|
],
|
|
16415
|
-
|
|
16821
|
+
footerLookRecipes: { "footer-links-row": {
|
|
16822
|
+
arrangement: "split",
|
|
16823
|
+
ground: {
|
|
16824
|
+
kind: "token",
|
|
16825
|
+
token: "primary-800"
|
|
16826
|
+
},
|
|
16827
|
+
nav: {
|
|
16828
|
+
weight: "medium",
|
|
16829
|
+
colorToken: "primaryForeground",
|
|
16830
|
+
hoverColorToken: "secondary",
|
|
16831
|
+
typography: "body"
|
|
16832
|
+
},
|
|
16833
|
+
legal: {
|
|
16834
|
+
kind: "separate",
|
|
16835
|
+
bar: {
|
|
16836
|
+
fullBleed: true,
|
|
16837
|
+
background: {
|
|
16838
|
+
kind: "token",
|
|
16839
|
+
token: "primary-900"
|
|
16840
|
+
},
|
|
16841
|
+
textColor: "primaryForeground",
|
|
16842
|
+
textAlign: "center",
|
|
16843
|
+
paddingY: "compact",
|
|
16844
|
+
paddingX: "default",
|
|
16845
|
+
borderTop: { width: "none" }
|
|
16846
|
+
},
|
|
16847
|
+
linkStyle: {
|
|
16848
|
+
colorToken: "secondary",
|
|
16849
|
+
decorationColorToken: "secondary"
|
|
16850
|
+
}
|
|
16851
|
+
},
|
|
16852
|
+
brandAlign: "start",
|
|
16853
|
+
brandLogoSize: "sm"
|
|
16854
|
+
} },
|
|
16855
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16416
16856
|
buttonStyleChoices: [
|
|
16417
16857
|
buttonChoice("showtime-pill"),
|
|
16418
16858
|
buttonChoice("confident-chip"),
|
|
@@ -16483,7 +16923,7 @@ const curatedSiteStyles = [
|
|
|
16483
16923
|
"testimonials-statement-cards",
|
|
16484
16924
|
"contact-form-panel"
|
|
16485
16925
|
],
|
|
16486
|
-
recommendedFooterLookIds: ["footer-links-
|
|
16926
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16487
16927
|
buttonStyleChoices: [
|
|
16488
16928
|
buttonChoice("ornate-ritual"),
|
|
16489
16929
|
buttonChoice("joy-stamp"),
|
|
@@ -16530,7 +16970,22 @@ const curatedSiteStyles = [
|
|
|
16530
16970
|
} }
|
|
16531
16971
|
},
|
|
16532
16972
|
recommendedAppearancePresetIds: ["feature-cards-bold-colors", "testimonials-statement-cards"],
|
|
16533
|
-
|
|
16973
|
+
footerLookRecipes: { "footer-links-row": {
|
|
16974
|
+
arrangement: "simple",
|
|
16975
|
+
ground: {
|
|
16976
|
+
kind: "token",
|
|
16977
|
+
token: "surface"
|
|
16978
|
+
},
|
|
16979
|
+
nav: {
|
|
16980
|
+
weight: "medium",
|
|
16981
|
+
colorToken: "text",
|
|
16982
|
+
hoverColorToken: "primary",
|
|
16983
|
+
typography: "body"
|
|
16984
|
+
},
|
|
16985
|
+
legal: { kind: "integrated" },
|
|
16986
|
+
brandAlign: "start"
|
|
16987
|
+
} },
|
|
16988
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16534
16989
|
buttonStyleChoices: [
|
|
16535
16990
|
buttonChoice("joy-stamp"),
|
|
16536
16991
|
buttonChoice("ink-stamp"),
|
|
@@ -16582,7 +17037,7 @@ const curatedSiteStyles = [
|
|
|
16582
17037
|
},
|
|
16583
17038
|
testimonialQuote: serifDisplayQuote
|
|
16584
17039
|
},
|
|
16585
|
-
recommendedFooterLookIds: ["footer-links-
|
|
17040
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16586
17041
|
buttonStyleChoices: [
|
|
16587
17042
|
buttonChoice("fulcrum"),
|
|
16588
17043
|
buttonChoice("editorial-link"),
|
|
@@ -16659,7 +17114,7 @@ const curatedSiteStyles = [
|
|
|
16659
17114
|
"faq-base-accordion",
|
|
16660
17115
|
"booking-brand-band"
|
|
16661
17116
|
],
|
|
16662
|
-
recommendedFooterLookIds: ["footer-links-
|
|
17117
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16663
17118
|
buttonStyleChoices: [
|
|
16664
17119
|
buttonChoice("quiet-arrow", void 0, { secondaryTreatment: "solid-accent" }),
|
|
16665
17120
|
buttonChoice("flat-ink"),
|
|
@@ -16697,7 +17152,22 @@ const curatedSiteStyles = [
|
|
|
16697
17152
|
accordions: boldBorderedAccordionSystem,
|
|
16698
17153
|
testimonialQuote: accentGlyphQuote
|
|
16699
17154
|
},
|
|
16700
|
-
|
|
17155
|
+
footerLookRecipes: { "footer-links-row": {
|
|
17156
|
+
arrangement: "simple",
|
|
17157
|
+
ground: {
|
|
17158
|
+
kind: "token",
|
|
17159
|
+
token: "surface"
|
|
17160
|
+
},
|
|
17161
|
+
nav: {
|
|
17162
|
+
weight: "medium",
|
|
17163
|
+
colorToken: "text",
|
|
17164
|
+
hoverColorToken: "primary",
|
|
17165
|
+
typography: "body"
|
|
17166
|
+
},
|
|
17167
|
+
legal: { kind: "integrated" },
|
|
17168
|
+
brandAlign: "start"
|
|
17169
|
+
} },
|
|
17170
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16701
17171
|
buttonStyleChoices: [
|
|
16702
17172
|
buttonChoice("offset-block"),
|
|
16703
17173
|
buttonChoice("ink-stamp"),
|
|
@@ -16736,8 +17206,29 @@ const curatedSiteStyles = [
|
|
|
16736
17206
|
accordions: warmInsetAccordionSystem,
|
|
16737
17207
|
testimonialQuote: serifDisplayQuote
|
|
16738
17208
|
},
|
|
16739
|
-
|
|
17209
|
+
footerLookRecipes: { "footer-centred-name": {
|
|
17210
|
+
arrangement: "centred",
|
|
17211
|
+
ground: {
|
|
17212
|
+
kind: "style-surface",
|
|
17213
|
+
surface: "deep"
|
|
17214
|
+
},
|
|
17215
|
+
nav: {
|
|
17216
|
+
weight: "regular",
|
|
17217
|
+
colorToken: "text",
|
|
17218
|
+
hoverColorToken: "primary",
|
|
17219
|
+
typography: "heading"
|
|
17220
|
+
},
|
|
17221
|
+
legal: {
|
|
17222
|
+
kind: "separate",
|
|
17223
|
+
bar: null
|
|
17224
|
+
},
|
|
17225
|
+
brandAlign: "center"
|
|
17226
|
+
} },
|
|
17227
|
+
recommendedFooterLookIds: ["footer-centred-name", "footer-links-row"],
|
|
16740
17228
|
buttonStyleChoices: [
|
|
17229
|
+
buttonChoice("gilt-slab"),
|
|
17230
|
+
buttonChoice("hairline-tab"),
|
|
17231
|
+
buttonChoice("marquee"),
|
|
16741
17232
|
buttonChoice("ringed-pill"),
|
|
16742
17233
|
buttonChoice("earth-pill"),
|
|
16743
17234
|
buttonChoice("editorial-link")
|
|
@@ -16772,7 +17263,7 @@ const curatedSiteStyles = [
|
|
|
16772
17263
|
accordions: editorialDividedAccordionSystem,
|
|
16773
17264
|
testimonialQuote: serifDisplayQuote
|
|
16774
17265
|
},
|
|
16775
|
-
recommendedFooterLookIds: ["footer-links-
|
|
17266
|
+
recommendedFooterLookIds: ["footer-links-row"],
|
|
16776
17267
|
buttonStyleChoices: [
|
|
16777
17268
|
buttonChoice("flat-ink", void 0, { corners: "square" }),
|
|
16778
17269
|
buttonChoice("editorial-link"),
|
|
@@ -16800,6 +17291,7 @@ function curatedStyleTemplate(input) {
|
|
|
16800
17291
|
}
|
|
16801
17292
|
curatedSiteStyles.forEach((style) => {
|
|
16802
17293
|
if (style.looks.kind === "offers") validateLookFallbacks(style.looks);
|
|
17294
|
+
(/* @__PURE__ */ new Set([...Object.values(style.footerLookRecipes ?? {}), ...style.recommendedFooterLookIds.map((id) => resolveFooterLookRecipe(style, id))])).forEach((recipe) => validateFooterRecipeSurfaces(style, recipe));
|
|
16803
17295
|
});
|
|
16804
17296
|
//#endregion
|
|
16805
17297
|
//#region ../theme-core/src/site-styles/effectiveArrangement.ts
|
|
@@ -16875,21 +17367,6 @@ const blockDesignFallback = {
|
|
|
16875
17367
|
};
|
|
16876
17368
|
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
16877
17369
|
//#endregion
|
|
16878
|
-
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
16879
|
-
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
16880
|
-
const quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
|
|
16881
|
-
siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
|
|
16882
|
-
function parseSiteChromeBackgroundColorToken(value) {
|
|
16883
|
-
const token = parseBackgroundAppearanceColorToken(value);
|
|
16884
|
-
return token ? token : null;
|
|
16885
|
-
}
|
|
16886
|
-
function toSiteChromeBackgroundColorTokens(tokenNames) {
|
|
16887
|
-
return tokenNames.flatMap((name) => {
|
|
16888
|
-
const token = parseSiteChromeBackgroundColorToken(name);
|
|
16889
|
-
return token ? [token] : [];
|
|
16890
|
-
});
|
|
16891
|
-
}
|
|
16892
|
-
//#endregion
|
|
16893
17370
|
//#region ../theme-core/src/site-styles/siteChromeNavPreferences.ts
|
|
16894
17371
|
const headerNavTypographyPreferenceValues = [
|
|
16895
17372
|
"inherit",
|
|
@@ -17005,21 +17482,6 @@ z.object({
|
|
|
17005
17482
|
}).strict();
|
|
17006
17483
|
//#endregion
|
|
17007
17484
|
//#region ../theme-core/src/site-styles/headerPreferencesPersistence.ts
|
|
17008
|
-
const backgroundColorTokenSchema = z.unknown().transform((value, ctx) => {
|
|
17009
|
-
const token = parseSiteChromeBackgroundColorToken(value);
|
|
17010
|
-
if (token === null) {
|
|
17011
|
-
ctx.addIssue({
|
|
17012
|
-
code: "custom",
|
|
17013
|
-
message: "Unknown site chrome background colour token"
|
|
17014
|
-
});
|
|
17015
|
-
return z.NEVER;
|
|
17016
|
-
}
|
|
17017
|
-
return token;
|
|
17018
|
-
});
|
|
17019
|
-
const backgroundOverrideSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("default") }).strict(), z.object({
|
|
17020
|
-
kind: z.literal("color"),
|
|
17021
|
-
token: backgroundColorTokenSchema
|
|
17022
|
-
}).strict()]);
|
|
17023
17485
|
const logoTextIntentSchema = z.object({
|
|
17024
17486
|
mobileMaxWidth: z.enum([
|
|
17025
17487
|
"xs",
|
|
@@ -17045,7 +17507,7 @@ const headerPreferencesShape = {
|
|
|
17045
17507
|
navFontRole: z.enum(headerNavTypographyPreferenceValues),
|
|
17046
17508
|
navTextSize: z.enum(headerNavFontSizePreferenceValues),
|
|
17047
17509
|
interactionPalette: z.union([z.literal("recommended"), z.enum(headerInteractionPaletteValues)]),
|
|
17048
|
-
background:
|
|
17510
|
+
background: siteChromeBackgroundOverrideSchema,
|
|
17049
17511
|
structure: structureSchema
|
|
17050
17512
|
};
|
|
17051
17513
|
z.object(headerPreferencesShape).strict();
|
|
@@ -20304,48 +20766,50 @@ const GAP_VALUE_MAP = {
|
|
|
20304
20766
|
};
|
|
20305
20767
|
//#endregion
|
|
20306
20768
|
//#region ../blocks/src/system/node/fragments/responsiveTwoColumn.ts
|
|
20307
|
-
|
|
20308
|
-
|
|
20309
|
-
|
|
20310
|
-
|
|
20311
|
-
|
|
20312
|
-
|
|
20313
|
-
|
|
20314
|
-
|
|
20315
|
-
|
|
20316
|
-
|
|
20317
|
-
|
|
20318
|
-
fallback: baseClass
|
|
20319
|
-
} } };
|
|
20320
|
-
if (gapFrom) props.style = { gap: { $bind: {
|
|
20321
|
-
from: gapFrom,
|
|
20322
|
-
transforms: [{
|
|
20323
|
-
id: "boxStyles.semanticGapValue",
|
|
20324
|
-
options: { fallback: gapFallback }
|
|
20325
|
-
}],
|
|
20326
|
-
fallback: GAP_VALUE_MAP[gapFallback]
|
|
20327
|
-
} } };
|
|
20328
|
-
return el("div", props, [el("div", {
|
|
20329
|
-
className: imageWrapperClassName,
|
|
20330
|
-
style: { flexBasis: { $bind: {
|
|
20331
|
-
from: ratioFrom,
|
|
20769
|
+
/** The shared two-column shell keeps Look hooks opt-in and absent for legacy content. */
|
|
20770
|
+
function responsiveTwoColumn(config) {
|
|
20771
|
+
return el("div", twoColumnProps(config), [twoColumnWrapper(config, "image", config.image), twoColumnWrapper(config, "text", config.text)]);
|
|
20772
|
+
}
|
|
20773
|
+
function twoColumnProps(config) {
|
|
20774
|
+
const base = `${config.containerClassName ?? "rb-flex rb-flex-col rb-md-flex-row"} ${config.gapFrom ? "" : config.gapClassName ?? "rb-gap-6"}`.trim();
|
|
20775
|
+
const fallback = config.gapFallback ?? "comfortable";
|
|
20776
|
+
return {
|
|
20777
|
+
...config.lookSlots ? lookSlot("frame") : {},
|
|
20778
|
+
className: { $bind: {
|
|
20779
|
+
from: config.imagePositionFrom,
|
|
20332
20780
|
transforms: [{
|
|
20333
|
-
id: "ui.
|
|
20334
|
-
options: {
|
|
20781
|
+
id: "ui.twoColumnContainerClass",
|
|
20782
|
+
options: {
|
|
20783
|
+
base,
|
|
20784
|
+
reverseClass: "rb-md-flex-row-reverse"
|
|
20785
|
+
}
|
|
20335
20786
|
}],
|
|
20336
|
-
fallback:
|
|
20337
|
-
} }
|
|
20338
|
-
|
|
20339
|
-
|
|
20787
|
+
fallback: base
|
|
20788
|
+
} },
|
|
20789
|
+
...config.gapFrom ? { style: { gap: { $bind: {
|
|
20790
|
+
from: config.gapFrom,
|
|
20791
|
+
transforms: [{
|
|
20792
|
+
id: "boxStyles.semanticGapValue",
|
|
20793
|
+
options: { fallback }
|
|
20794
|
+
}],
|
|
20795
|
+
fallback: GAP_VALUE_MAP[fallback]
|
|
20796
|
+
} } } } : {}
|
|
20797
|
+
};
|
|
20798
|
+
}
|
|
20799
|
+
function twoColumnWrapper(config, side, child) {
|
|
20800
|
+
const className = side === "image" ? config.imageWrapperClassName ?? "rb-w-full rb-shrink-0" : config.textWrapperClassName ?? "rb-w-full rb-min-w-0 rb-flex-1";
|
|
20801
|
+
return el("div", {
|
|
20802
|
+
...config.lookSlots ? lookSlot(side === "image" ? "media" : "copy") : {},
|
|
20803
|
+
className,
|
|
20340
20804
|
style: { flexBasis: { $bind: {
|
|
20341
|
-
from: ratioFrom,
|
|
20805
|
+
from: config.ratioFrom,
|
|
20342
20806
|
transforms: [{
|
|
20343
20807
|
id: "ui.twoColumnFlexBasis",
|
|
20344
|
-
options: { side
|
|
20808
|
+
options: { side }
|
|
20345
20809
|
}],
|
|
20346
20810
|
fallback: "50%"
|
|
20347
20811
|
} } }
|
|
20348
|
-
}, [
|
|
20812
|
+
}, [child]);
|
|
20349
20813
|
}
|
|
20350
20814
|
//#endregion
|
|
20351
20815
|
//#region ../blocks/src/system/node/fragments/styledCard.ts
|
|
@@ -20526,6 +20990,47 @@ function sectionState(opts) {
|
|
|
20526
20990
|
})]);
|
|
20527
20991
|
}
|
|
20528
20992
|
//#endregion
|
|
20993
|
+
//#region ../blocks/src/system/node/fragments/sectionHead.ts
|
|
20994
|
+
const recoverEmptyHeadingWhenActive = {
|
|
20995
|
+
kind: "recover-empty-when-active",
|
|
20996
|
+
placeholder: "Add heading"
|
|
20997
|
+
};
|
|
20998
|
+
const recoverEmptyDescriptionWhenActive = {
|
|
20999
|
+
kind: "recover-empty-when-active",
|
|
21000
|
+
placeholder: "Add description"
|
|
21001
|
+
};
|
|
21002
|
+
function sectionHeaderLayoutNodes(options = {}) {
|
|
21003
|
+
const headingNode = text({
|
|
21004
|
+
as: "h2",
|
|
21005
|
+
...lookSlot("heading")
|
|
21006
|
+
}, bind("content.heading"), when("content.heading", { authoringPresence: recoverEmptyHeadingWhenActive }));
|
|
21007
|
+
const descriptionNode = richText({
|
|
21008
|
+
className: "rb-prose rb-max-w-none",
|
|
21009
|
+
...lookSlot("intro")
|
|
21010
|
+
}, bind("content.description"), when("content.description", { authoringPresence: recoverEmptyDescriptionWhenActive }));
|
|
21011
|
+
if (options.splitClassName) return [el("div", {
|
|
21012
|
+
className: options.splitClassName,
|
|
21013
|
+
...lookSlot("head")
|
|
21014
|
+
}, [headingNode, descriptionNode])];
|
|
21015
|
+
return [headingNode, descriptionNode];
|
|
21016
|
+
}
|
|
21017
|
+
/** Shared optional section copy. Existing consumers keep their description ID. */
|
|
21018
|
+
const sectionHeaderFields = (defaultHeading, introLabel = "Description") => [{
|
|
21019
|
+
id: "heading",
|
|
21020
|
+
type: "text",
|
|
21021
|
+
label: "Heading",
|
|
21022
|
+
description: "Main heading for the section",
|
|
21023
|
+
required: false,
|
|
21024
|
+
multiline: false,
|
|
21025
|
+
...defaultHeading === void 0 ? {} : { defaultValue: defaultHeading }
|
|
21026
|
+
}, {
|
|
21027
|
+
id: "description",
|
|
21028
|
+
type: "richText",
|
|
21029
|
+
label: introLabel,
|
|
21030
|
+
description: "Optional introductory text",
|
|
21031
|
+
required: false
|
|
21032
|
+
}];
|
|
21033
|
+
//#endregion
|
|
20529
21034
|
//#region ../blocks/src/system/fragments/types.ts
|
|
20530
21035
|
const FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
|
|
20531
21036
|
const FIELD_ID_PATTERN = /^[a-z][a-zA-Z0-9_-]*$/;
|
|
@@ -20858,6 +21363,7 @@ const bodyCopyFragment = defineFragment({
|
|
|
20858
21363
|
],
|
|
20859
21364
|
layout: stack({
|
|
20860
21365
|
gap: "md",
|
|
21366
|
+
...lookSlot("copy"),
|
|
20861
21367
|
className: "body-copy-container",
|
|
20862
21368
|
align: { $bind: {
|
|
20863
21369
|
from: "content.alignment",
|
|
@@ -20866,6 +21372,7 @@ const bodyCopyFragment = defineFragment({
|
|
|
20866
21372
|
} }
|
|
20867
21373
|
}, [text({
|
|
20868
21374
|
as: "h2",
|
|
21375
|
+
...lookSlot("heading"),
|
|
20869
21376
|
className: { $bind: {
|
|
20870
21377
|
from: "content.alignment",
|
|
20871
21378
|
transforms: [{
|
|
@@ -20874,14 +21381,22 @@ const bodyCopyFragment = defineFragment({
|
|
|
20874
21381
|
}],
|
|
20875
21382
|
fallback: "body-copy-heading"
|
|
20876
21383
|
} }
|
|
20877
|
-
}, when("content.heading"
|
|
20878
|
-
|
|
20879
|
-
|
|
20880
|
-
|
|
20881
|
-
|
|
20882
|
-
}
|
|
20883
|
-
|
|
20884
|
-
|
|
21384
|
+
}, when("content.heading", { authoringPresence: {
|
|
21385
|
+
kind: "recover-empty-when-active",
|
|
21386
|
+
placeholder: "Add heading"
|
|
21387
|
+
} }), bind("content.heading")), richText({
|
|
21388
|
+
...lookSlot("item-body"),
|
|
21389
|
+
leadParagraphSlot: { $bind: { from: "content._lookSlots.lede" } },
|
|
21390
|
+
lookSlots: { $bind: { from: "content._lookSlots" } },
|
|
21391
|
+
className: { $bind: {
|
|
21392
|
+
from: "content.alignment",
|
|
21393
|
+
transforms: [{
|
|
21394
|
+
id: "ui.bodyClassFromAlignment",
|
|
21395
|
+
options: { base: "body-copy-body rb-prose rb-max-w-none" }
|
|
21396
|
+
}],
|
|
21397
|
+
fallback: "body-copy-body rb-prose rb-max-w-none"
|
|
21398
|
+
} }
|
|
21399
|
+
}, bind("content.body"))])
|
|
20885
21400
|
});
|
|
20886
21401
|
//#endregion
|
|
20887
21402
|
//#region ../blocks/src/system/fragments/library/heroCopy.ts
|
|
@@ -21897,8 +22412,19 @@ const formCopyFragment = defineFragment({
|
|
|
21897
22412
|
}],
|
|
21898
22413
|
layout: [text({
|
|
21899
22414
|
as: "h2",
|
|
22415
|
+
...lookSlot("heading"),
|
|
21900
22416
|
className: "form-copy-title"
|
|
21901
|
-
}, when("content.title"
|
|
22417
|
+
}, when("content.title", { authoringPresence: {
|
|
22418
|
+
kind: "recover-empty-when-active",
|
|
22419
|
+
placeholder: "Add heading"
|
|
22420
|
+
} }), bind("content.title")), richText({
|
|
22421
|
+
className: "form-copy-intro rb-prose rb-max-w-none",
|
|
22422
|
+
...lookSlot("intro"),
|
|
22423
|
+
leadParagraphSlot: { $bind: { from: "content._lookSlots.lede" } }
|
|
22424
|
+
}, when("content.intro", { authoringPresence: {
|
|
22425
|
+
kind: "recover-empty-when-active",
|
|
22426
|
+
placeholder: "Add introduction"
|
|
22427
|
+
} }), bind("content.intro"))]
|
|
21902
22428
|
});
|
|
21903
22429
|
//#endregion
|
|
21904
22430
|
//#region ../blocks/src/system/helpers/api-bindings.ts
|
|
@@ -21947,6 +22473,7 @@ const formEmbedFragment = defineFragment({
|
|
|
21947
22473
|
}
|
|
21948
22474
|
],
|
|
21949
22475
|
layout: [form(withApiBindings({
|
|
22476
|
+
lookSlots: { $bind: { from: "content._lookSlots" } },
|
|
21950
22477
|
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } },
|
|
21951
22478
|
submitLabel: { $bind: { from: "submitLabel" } },
|
|
21952
22479
|
successMessage: { $bind: { from: "successMessage" } }
|
|
@@ -22200,8 +22727,18 @@ const newsletterCopyFragment = defineFragment({
|
|
|
22200
22727
|
}],
|
|
22201
22728
|
layout: [text({
|
|
22202
22729
|
as: "h2",
|
|
22203
|
-
className: "newsletter-copy-title"
|
|
22204
|
-
|
|
22730
|
+
className: "newsletter-copy-title",
|
|
22731
|
+
...lookSlot("heading")
|
|
22732
|
+
}, when("content.title", { authoringPresence: {
|
|
22733
|
+
kind: "recover-empty-when-active",
|
|
22734
|
+
placeholder: "Add heading"
|
|
22735
|
+
} }), bind("content.title")), richText({
|
|
22736
|
+
className: "newsletter-copy-subtitle rb-prose rb-max-w-none",
|
|
22737
|
+
...lookSlot("intro")
|
|
22738
|
+
}, when("content.subtitle", { authoringPresence: {
|
|
22739
|
+
kind: "recover-empty-when-active",
|
|
22740
|
+
placeholder: "Add introduction"
|
|
22741
|
+
} }), bind("content.subtitle"))]
|
|
22205
22742
|
});
|
|
22206
22743
|
//#endregion
|
|
22207
22744
|
//#region ../blocks/src/system/fragments/library/newsletterForm.ts
|
|
@@ -22269,6 +22806,7 @@ const newsletterFormFragment = defineFragment({
|
|
|
22269
22806
|
}
|
|
22270
22807
|
],
|
|
22271
22808
|
layout: [el("newsletter-form", withApiBindings({
|
|
22809
|
+
lookSlots: { $bind: { from: "content._lookSlots" } },
|
|
22272
22810
|
source: { $bind: {
|
|
22273
22811
|
from: "mailingListSource",
|
|
22274
22812
|
fallback: "block"
|
|
@@ -23761,18 +24299,11 @@ const introBlockDefinition = { manifest: createBlockManifest({
|
|
|
23761
24299
|
//#endregion
|
|
23762
24300
|
//#region ../blocks/src/system/blocks/body-text.ts
|
|
23763
24301
|
const bodyCopyComposition = composeFragments([{ fragment: bodyCopyFragment }]);
|
|
23764
|
-
const
|
|
23765
|
-
children: stack({
|
|
23766
|
-
|
|
23767
|
-
|
|
23768
|
-
})
|
|
23769
|
-
const introLayout = styledSection({
|
|
23770
|
-
children: stack({ className: "rb-container" }, bodyCopyComposition.layout),
|
|
23771
|
-
spacing: "medium",
|
|
23772
|
-
baseClass: ""
|
|
23773
|
-
});
|
|
23774
|
-
const narrowLayout = styledSection({
|
|
23775
|
-
children: stack({ className: "rb-container" }, bodyCopyComposition.layout),
|
|
24302
|
+
const bodyTextLayout = styledSection({
|
|
24303
|
+
children: stack({
|
|
24304
|
+
className: "rb-container",
|
|
24305
|
+
...lookSlot("frame")
|
|
24306
|
+
}, bodyCopyComposition.layout),
|
|
23776
24307
|
spacing: "medium",
|
|
23777
24308
|
baseClass: ""
|
|
23778
24309
|
});
|
|
@@ -23786,11 +24317,11 @@ const bodyTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
23786
24317
|
fragment: bodyCopyFragment,
|
|
23787
24318
|
fieldPriority: 0
|
|
23788
24319
|
}],
|
|
23789
|
-
layout:
|
|
24320
|
+
layout: bodyTextLayout,
|
|
23790
24321
|
variants: {
|
|
23791
|
-
prose:
|
|
23792
|
-
intro:
|
|
23793
|
-
narrow:
|
|
24322
|
+
prose: bodyTextLayout,
|
|
24323
|
+
intro: bodyTextLayout,
|
|
24324
|
+
narrow: bodyTextLayout
|
|
23794
24325
|
},
|
|
23795
24326
|
variantMeaning: { kind: "arrangement" },
|
|
23796
24327
|
defaultVariant: "prose",
|
|
@@ -24238,6 +24769,52 @@ const singleButtonBlockDefinition = { manifest: createBlockManifest({
|
|
|
24238
24769
|
styleTokens: { spacing: "md" }
|
|
24239
24770
|
}) };
|
|
24240
24771
|
//#endregion
|
|
24772
|
+
//#region ../blocks/src/system/runtime/lookSurfaces.ts
|
|
24773
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
24774
|
+
const lookListPresentationSchemaShape = {
|
|
24775
|
+
sectionAction: z.object({
|
|
24776
|
+
label: z.string(),
|
|
24777
|
+
href: z.string()
|
|
24778
|
+
}).optional(),
|
|
24779
|
+
actionSize: z.enum([
|
|
24780
|
+
"sm",
|
|
24781
|
+
"md",
|
|
24782
|
+
"lg"
|
|
24783
|
+
]).optional(),
|
|
24784
|
+
itemActionStyle: z.enum(["button", "link"]).optional(),
|
|
24785
|
+
itemRoles: z.object({
|
|
24786
|
+
container: z.enum([
|
|
24787
|
+
"card",
|
|
24788
|
+
"statement",
|
|
24789
|
+
"highlight"
|
|
24790
|
+
]).optional(),
|
|
24791
|
+
items: z.enum([
|
|
24792
|
+
"card",
|
|
24793
|
+
"statement",
|
|
24794
|
+
"highlight"
|
|
24795
|
+
]).optional(),
|
|
24796
|
+
at: z.partialRecord(z.enum([
|
|
24797
|
+
"first",
|
|
24798
|
+
"last",
|
|
24799
|
+
"middle",
|
|
24800
|
+
"odd",
|
|
24801
|
+
"even"
|
|
24802
|
+
]), z.enum([
|
|
24803
|
+
"card",
|
|
24804
|
+
"statement",
|
|
24805
|
+
"highlight"
|
|
24806
|
+
])).optional()
|
|
24807
|
+
}).optional(),
|
|
24808
|
+
roleSurfaces: z.record(z.enum([
|
|
24809
|
+
"card",
|
|
24810
|
+
"statement",
|
|
24811
|
+
"highlight"
|
|
24812
|
+
]), z.custom((value) => isPlainObject(value) && (value.kind === "inherit" || value.kind === "owned"))).optional(),
|
|
24813
|
+
panelHeading: z.string().optional(),
|
|
24814
|
+
lookSlots: z.partialRecord(z.enum(arrangementSlotNames), z.enum(arrangementSlotNames)).optional(),
|
|
24815
|
+
itemSurfaces: z.record(z.string(), z.custom((value) => isPlainObject(value) && (value.kind === "inherit" || value.kind === "owned"))).optional()
|
|
24816
|
+
};
|
|
24817
|
+
//#endregion
|
|
24241
24818
|
//#region ../blocks/src/contracts/runtime.ts
|
|
24242
24819
|
function decodeSuccess(value) {
|
|
24243
24820
|
return {
|
|
@@ -24344,6 +24921,7 @@ const formFieldGroupSchema = z.discriminatedUnion("type", [z.object({
|
|
|
24344
24921
|
fields: z.tuple([formFieldSchema, formFieldSchema])
|
|
24345
24922
|
})]);
|
|
24346
24923
|
const formSourceSchema = z.object({
|
|
24924
|
+
lookSlots: lookListPresentationSchemaShape.lookSlots,
|
|
24347
24925
|
value: formRecordSchema.optional(),
|
|
24348
24926
|
siteId: z.string().optional(),
|
|
24349
24927
|
apiBaseUrl: z.string().optional(),
|
|
@@ -24353,6 +24931,7 @@ const formSourceSchema = z.object({
|
|
|
24353
24931
|
spamProtectionEnabled: z.boolean().optional()
|
|
24354
24932
|
});
|
|
24355
24933
|
const formDisplaySchema = z.object({
|
|
24934
|
+
lookSlots: lookListPresentationSchemaShape.lookSlots,
|
|
24356
24935
|
kind: z.literal("form"),
|
|
24357
24936
|
state: z.enum(["missing", "ready"]),
|
|
24358
24937
|
className: z.string().nullable(),
|
|
@@ -24373,17 +24952,30 @@ z.object({
|
|
|
24373
24952
|
});
|
|
24374
24953
|
function buildFormDisplay(source) {
|
|
24375
24954
|
const form = source.value ?? null;
|
|
24376
|
-
const fields = form
|
|
24377
|
-
const groups = Array.isArray(fields) ? groupFormFields(fields) : [];
|
|
24955
|
+
const fields = formDisplayFields(form);
|
|
24378
24956
|
return {
|
|
24379
24957
|
kind: "form",
|
|
24380
|
-
|
|
24958
|
+
...source.lookSlots ? { lookSlots: source.lookSlots } : {},
|
|
24959
|
+
state: fields.state,
|
|
24381
24960
|
className: source.className ?? null,
|
|
24382
|
-
formId:
|
|
24961
|
+
formId: fields.formId,
|
|
24383
24962
|
submitLabel: source.submitLabel?.trim() || "Submit",
|
|
24384
24963
|
successMessage: source.successMessage ?? null,
|
|
24385
24964
|
form,
|
|
24386
|
-
groups
|
|
24965
|
+
groups: fields.groups
|
|
24966
|
+
};
|
|
24967
|
+
}
|
|
24968
|
+
function formDisplayFields(form) {
|
|
24969
|
+
if (!form) return {
|
|
24970
|
+
state: "missing",
|
|
24971
|
+
formId: null,
|
|
24972
|
+
groups: []
|
|
24973
|
+
};
|
|
24974
|
+
const fields = form.schemaJson?.fields;
|
|
24975
|
+
return {
|
|
24976
|
+
state: "ready",
|
|
24977
|
+
formId: form.id,
|
|
24978
|
+
groups: Array.isArray(fields) ? groupFormFields(fields) : []
|
|
24387
24979
|
};
|
|
24388
24980
|
}
|
|
24389
24981
|
const formBlockRuntime = defineProgressiveBlockRuntime({
|
|
@@ -24406,18 +24998,27 @@ function fragmentLayoutNode$1(layout) {
|
|
|
24406
24998
|
function isNodeDefinitionArray$1(layout) {
|
|
24407
24999
|
return Array.isArray(layout);
|
|
24408
25000
|
}
|
|
24409
|
-
const copyLayout = fragmentLayoutNode$1(formCopyFragment.layout);
|
|
25001
|
+
const copyLayout = props(lookSlot("head"))(fragmentLayoutNode$1(formCopyFragment.layout));
|
|
25002
|
+
const embedLayout$1 = fragmentLayoutNode$1(formEmbedFragment.layout);
|
|
24410
25003
|
const formSurface = styledContainer({
|
|
25004
|
+
rootProps: lookSlot("panel"),
|
|
24411
25005
|
bindFrom: "_containerStyles",
|
|
24412
25006
|
constrainWidth: false,
|
|
24413
25007
|
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-visible",
|
|
24414
|
-
children:
|
|
25008
|
+
children: embedLayout$1
|
|
24415
25009
|
});
|
|
24416
25010
|
function createFormLayout(variant) {
|
|
24417
25011
|
if (variant === "two-column") return styledSection({
|
|
24418
|
-
children: el("div", {
|
|
25012
|
+
children: el("div", {
|
|
25013
|
+
className: "rb-container",
|
|
25014
|
+
...lookSlot("layout")
|
|
25015
|
+
}, [el("div", {
|
|
25016
|
+
className: "rb-form-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start",
|
|
25017
|
+
...lookSlot("frame")
|
|
25018
|
+
}, [stack({
|
|
24419
25019
|
gap: "md",
|
|
24420
|
-
className: "rb-form-copy-column"
|
|
25020
|
+
className: "rb-form-copy-column",
|
|
25021
|
+
...lookSlot("copy")
|
|
24421
25022
|
}, [copyLayout]), formSurface])]),
|
|
24422
25023
|
baseClass: "",
|
|
24423
25024
|
spacing: "medium",
|
|
@@ -24445,6 +25046,15 @@ const formManifest = createBlockManifest({
|
|
|
24445
25046
|
description: "Renders a saved form definition with server-side submit.",
|
|
24446
25047
|
includeContainerStyles: true,
|
|
24447
25048
|
fragments: [{ fragment: formCopyFragment }, { fragment: formEmbedFragment }],
|
|
25049
|
+
additionalFields: [{
|
|
25050
|
+
id: "archFrame",
|
|
25051
|
+
type: "boolean",
|
|
25052
|
+
label: "Arch frame",
|
|
25053
|
+
ui: {
|
|
25054
|
+
intent: "display",
|
|
25055
|
+
hidden: true
|
|
25056
|
+
}
|
|
25057
|
+
}],
|
|
24448
25058
|
layout: formLayout,
|
|
24449
25059
|
variants: {
|
|
24450
25060
|
default: formLayout,
|
|
@@ -25107,7 +25717,14 @@ const footerNavGroupsLayout = stack({
|
|
|
25107
25717
|
}, [text({
|
|
25108
25718
|
as: "h3",
|
|
25109
25719
|
className: "rb-label",
|
|
25110
|
-
|
|
25720
|
+
"data-slot": { $bind: { from: "content.footerRuntime.slots.group-label" } },
|
|
25721
|
+
style: { $bind: {
|
|
25722
|
+
from: "content.footerRuntime.arrangement",
|
|
25723
|
+
transforms: [{
|
|
25724
|
+
id: "layout.footerModuleInkStyle",
|
|
25725
|
+
options: { opacity: 70 }
|
|
25726
|
+
}]
|
|
25727
|
+
} }
|
|
25111
25728
|
}, when("group.label"), bind("group.label")), stack({
|
|
25112
25729
|
gap: "sm",
|
|
25113
25730
|
align: "start",
|
|
@@ -25137,6 +25754,14 @@ const footerMailingListBindings = {
|
|
|
25137
25754
|
targeting: { $bind: { from: "module.engagement.runtime.targeting" } }
|
|
25138
25755
|
};
|
|
25139
25756
|
const footerSpamProtectionBinding = { spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } } };
|
|
25757
|
+
const brandMedia = media({ className: "rb-h-10 rb-w-auto" }, when("module.showLogo", { equals: true }), when("content.logo"), bind("content", { transforms: [{
|
|
25758
|
+
id: "layout.chromeLogo",
|
|
25759
|
+
options: { surface: "footer-root" }
|
|
25760
|
+
}] }));
|
|
25761
|
+
const brandTitle = text({
|
|
25762
|
+
as: "strong",
|
|
25763
|
+
className: "footer-logo-text rb-nav-text"
|
|
25764
|
+
}, when("module.showTitle", { equals: true }), bind("site.title", { fallback: "Your Site" }));
|
|
25140
25765
|
const brandLogo = link({
|
|
25141
25766
|
href: "/",
|
|
25142
25767
|
className: { $bind: {
|
|
@@ -25147,20 +25772,39 @@ const brandLogo = link({
|
|
|
25147
25772
|
}],
|
|
25148
25773
|
fallback: "footer-logo rb-inline-flex rb-items-center rb-gap-3 rb-no-underline"
|
|
25149
25774
|
} }
|
|
25150
|
-
}, [
|
|
25151
|
-
|
|
25152
|
-
|
|
25153
|
-
|
|
25154
|
-
|
|
25155
|
-
|
|
25156
|
-
|
|
25157
|
-
|
|
25158
|
-
|
|
25159
|
-
|
|
25160
|
-
|
|
25161
|
-
|
|
25162
|
-
|
|
25163
|
-
},
|
|
25775
|
+
}, [brandMedia, brandTitle], (node) => ({
|
|
25776
|
+
...node,
|
|
25777
|
+
$when: {
|
|
25778
|
+
when: {
|
|
25779
|
+
from: "module",
|
|
25780
|
+
transforms: [{ id: "layout.footerBrandArrangement" }]
|
|
25781
|
+
},
|
|
25782
|
+
equals: "row"
|
|
25783
|
+
}
|
|
25784
|
+
}));
|
|
25785
|
+
const centredBrand = stack({
|
|
25786
|
+
gap: "md",
|
|
25787
|
+
align: "center"
|
|
25788
|
+
}, [link({
|
|
25789
|
+
href: "/",
|
|
25790
|
+
"data-slot": { $bind: { from: "module.slots.media" } },
|
|
25791
|
+
className: "footer-logo rb-inline-flex rb-items-center rb-no-underline"
|
|
25792
|
+
}, [brandMedia], when("module.slots.media")), {
|
|
25793
|
+
...brandTitle,
|
|
25794
|
+
props: {
|
|
25795
|
+
...brandTitle.props,
|
|
25796
|
+
"data-slot": { $bind: { from: "module.slots.heading" } }
|
|
25797
|
+
}
|
|
25798
|
+
}], (node) => ({
|
|
25799
|
+
...node,
|
|
25800
|
+
$when: {
|
|
25801
|
+
when: {
|
|
25802
|
+
from: "module",
|
|
25803
|
+
transforms: [{ id: "layout.footerBrandArrangement" }]
|
|
25804
|
+
},
|
|
25805
|
+
equals: "centred"
|
|
25806
|
+
}
|
|
25807
|
+
}));
|
|
25164
25808
|
const navigation = stack({
|
|
25165
25809
|
gap: "md",
|
|
25166
25810
|
className: "rb-w-full"
|
|
@@ -25185,14 +25829,18 @@ const address = text({
|
|
|
25185
25829
|
}, when("module.kind", { equals: "business-address" }), bind("module.address"));
|
|
25186
25830
|
const contact = stack({
|
|
25187
25831
|
gap: "sm",
|
|
25188
|
-
className:
|
|
25832
|
+
className: { $bind: {
|
|
25833
|
+
from: "module.contactClassName",
|
|
25834
|
+
fallback: "rb-items-start"
|
|
25835
|
+
} }
|
|
25189
25836
|
}, [link({
|
|
25190
25837
|
href: { $bind: { from: "contactLink.href" } },
|
|
25191
25838
|
className: "rb-nav-text rb-break-words transition-theme-standard"
|
|
25192
25839
|
}, [text({ as: "span" }, bind("contactLink.label"))], repeat("module.contactLinks", "contactLink"))], when("module.kind", { equals: "contact" }));
|
|
25193
25840
|
const hours = stack({
|
|
25194
25841
|
gap: "sm",
|
|
25195
|
-
className: "rb-w-full"
|
|
25842
|
+
className: "rb-w-full",
|
|
25843
|
+
"data-slot": { $bind: { from: "module.slots.schedule" } }
|
|
25196
25844
|
}, [inline({ className: "rb-flex rb-w-full rb-justify-between rb-gap-4" }, [text({
|
|
25197
25845
|
as: "span",
|
|
25198
25846
|
className: "rb-label"
|
|
@@ -25203,7 +25851,10 @@ const hours = stack({
|
|
|
25203
25851
|
as: "p",
|
|
25204
25852
|
className: "rb-caption rb-opacity-70"
|
|
25205
25853
|
}, bind("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
|
|
25206
|
-
const socials = inline({
|
|
25854
|
+
const socials = inline({
|
|
25855
|
+
className: "rb-footer-socials",
|
|
25856
|
+
"data-slot": { $bind: { from: "module.slots.social" } }
|
|
25857
|
+
}, [link({
|
|
25207
25858
|
href: { $bind: { from: "social.href" } },
|
|
25208
25859
|
target: "_blank",
|
|
25209
25860
|
rel: "noreferrer noopener",
|
|
@@ -25212,7 +25863,14 @@ const socials = inline({ className: "rb-footer-socials" }, [link({
|
|
|
25212
25863
|
}, [icon({ className: "rb-footer-social-icon" }, bind("social.icon"), when("social.icon")), text({ as: "span" }, bind("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
|
|
25213
25864
|
const authoredCopy = richText({
|
|
25214
25865
|
className: "rb-prose rb-prose-sm rb-max-w-none",
|
|
25215
|
-
|
|
25866
|
+
"data-slot": { $bind: { from: "module.slots.copy" } },
|
|
25867
|
+
style: { $bind: {
|
|
25868
|
+
from: "content.footerRuntime.arrangement",
|
|
25869
|
+
transforms: [{
|
|
25870
|
+
id: "layout.footerModuleInkStyle",
|
|
25871
|
+
options: { opacity: 80 }
|
|
25872
|
+
}]
|
|
25873
|
+
} }
|
|
25216
25874
|
}, when("module.content"), bind("module.content", { transforms: [{
|
|
25217
25875
|
id: "content.interpolateRichTextTokens",
|
|
25218
25876
|
options: { tokens: ["year", "site_name"] }
|
|
@@ -25250,27 +25908,44 @@ const platformAttribution = el("div", {
|
|
|
25250
25908
|
], when("module.kind", { equals: "attribution" }));
|
|
25251
25909
|
const footerGroup = stack({
|
|
25252
25910
|
gap: "md",
|
|
25253
|
-
align:
|
|
25911
|
+
align: { $bind: {
|
|
25912
|
+
from: "group.align",
|
|
25913
|
+
fallback: "stretch"
|
|
25914
|
+
} },
|
|
25254
25915
|
className: { $bind: {
|
|
25255
25916
|
from: "group.className",
|
|
25256
25917
|
fallback: "rb-min-w-0"
|
|
25257
25918
|
} },
|
|
25919
|
+
"data-slot": { $bind: { from: "group.slot" } },
|
|
25258
25920
|
"data-footer-group": { $bind: { from: "group.kind" } }
|
|
25259
25921
|
}, [stack({
|
|
25260
25922
|
gap: "md",
|
|
25261
|
-
align:
|
|
25923
|
+
align: { $bind: {
|
|
25924
|
+
from: "module.align",
|
|
25925
|
+
fallback: "start"
|
|
25926
|
+
} },
|
|
25927
|
+
className: { $bind: { from: "module.className" } },
|
|
25262
25928
|
"data-preview-footer-module-id": { $bind: { from: "module.id" } }
|
|
25263
25929
|
}, [
|
|
25264
25930
|
text({
|
|
25265
25931
|
as: "h2",
|
|
25266
25932
|
className: "rb-label",
|
|
25267
|
-
|
|
25933
|
+
"data-slot": { $bind: { from: "module.slots.group-label" } },
|
|
25934
|
+
style: { $bind: {
|
|
25935
|
+
from: "content.footerRuntime.arrangement",
|
|
25936
|
+
transforms: [{
|
|
25937
|
+
id: "layout.footerModuleInkStyle",
|
|
25938
|
+
options: { opacity: 70 }
|
|
25939
|
+
}]
|
|
25940
|
+
} }
|
|
25268
25941
|
}, bind("module.heading"), when("module.heading")),
|
|
25269
25942
|
brandLogo,
|
|
25943
|
+
centredBrand,
|
|
25270
25944
|
navigation,
|
|
25271
25945
|
stack({
|
|
25272
25946
|
gap: "sm",
|
|
25273
|
-
className: "rb-w-full"
|
|
25947
|
+
className: "rb-w-full",
|
|
25948
|
+
"data-slot": { $bind: { from: "module.slots.navigation" } }
|
|
25274
25949
|
}, [legalNavigation], when("module.kind", { equals: "legal-navigation" })),
|
|
25275
25950
|
address,
|
|
25276
25951
|
contact,
|
|
@@ -25283,10 +25958,12 @@ const footerGroup = stack({
|
|
|
25283
25958
|
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
25284
25959
|
const footerMainRegion = stack({
|
|
25285
25960
|
className: { $bind: { from: "region.className" } },
|
|
25961
|
+
"data-slot": { $bind: { from: "region.slot" } },
|
|
25286
25962
|
"data-footer-region": { $bind: { from: "region.kind" } }
|
|
25287
25963
|
}, [footerGroup], when("region.kind", { equals: "main" }), repeat("content.footerRuntime.regions", "region"));
|
|
25288
25964
|
const footerEngagementRegion = stack({
|
|
25289
25965
|
className: { $bind: { from: "region.className" } },
|
|
25966
|
+
"data-slot": { $bind: { from: "region.slot" } },
|
|
25290
25967
|
"data-footer-region": "engagement-row"
|
|
25291
25968
|
}, [footerGroup], when("region.kind", { equals: "engagement-row" }), repeat("content.footerRuntime.regions", "region"));
|
|
25292
25969
|
const footerBottomRegion = stack({ className: { $bind: {
|
|
@@ -25303,6 +25980,7 @@ const footerBottomRegion = stack({ className: { $bind: {
|
|
|
25303
25980
|
from: "$root.theme.footer",
|
|
25304
25981
|
transforms: [{ id: "layout.footerBottomBarStyle" }]
|
|
25305
25982
|
} },
|
|
25983
|
+
"data-slot": { $bind: { from: "region.slot" } },
|
|
25306
25984
|
"data-footer-region": "bottom"
|
|
25307
25985
|
}, [footerGroup])], when("region.kind", { equals: "bottom" }), repeat("content.footerRuntime.regions", "region"));
|
|
25308
25986
|
const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
@@ -25324,6 +26002,7 @@ const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
|
25324
26002
|
transforms: [{ id: "layout.footerRootStyle" }],
|
|
25325
26003
|
fallback: mergeStyles(backgroundColorStyle("surface"), surfaceForegroundStyle({ text: "rgb(var(--tb-text))" }), borderColorStyle("border"))
|
|
25326
26004
|
} },
|
|
26005
|
+
"data-arrangement": { $bind: { from: "content.footerRuntime.arrangementHook" } },
|
|
25327
26006
|
"data-footer-membership": { $bind: { from: "content.footerRuntime.membershipKey" } }
|
|
25328
26007
|
}, [
|
|
25329
26008
|
footerEngagementRegion,
|
|
@@ -26987,17 +27666,30 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
26987
27666
|
}],
|
|
26988
27667
|
fallback: ""
|
|
26989
27668
|
} };
|
|
26990
|
-
const copyHeading = el("div", {
|
|
27669
|
+
const copyHeading = el("div", {
|
|
27670
|
+
className: titleClassNameFromAlignment,
|
|
27671
|
+
...lookSlot("head")
|
|
27672
|
+
}, [text({
|
|
26991
27673
|
as: "p",
|
|
26992
|
-
className: eyebrowClassName("rb-eyebrow heading-eyebrow")
|
|
26993
|
-
|
|
26994
|
-
|
|
26995
|
-
|
|
26996
|
-
|
|
26997
|
-
|
|
26998
|
-
|
|
26999
|
-
|
|
27674
|
+
className: eyebrowClassName("rb-eyebrow heading-eyebrow"),
|
|
27675
|
+
...lookSlot("eyebrow")
|
|
27676
|
+
}, when("content.eyebrow"), bind("content.eyebrow")), text({
|
|
27677
|
+
as: "h2",
|
|
27678
|
+
...lookSlot("heading")
|
|
27679
|
+
}, bind("content.title"))], when("content.title"));
|
|
27680
|
+
const textContentNodes = (className) => {
|
|
27681
|
+
const props = {
|
|
27682
|
+
className,
|
|
27683
|
+
...lookSlot("intro"),
|
|
27684
|
+
leadParagraphSlot: { $bind: { from: "content._lookSlots.lede" } },
|
|
27685
|
+
lookSlots: { $bind: { from: "content._lookSlots" } }
|
|
27686
|
+
};
|
|
27687
|
+
return [styledCard([richText(props, bind("content.text"))], mediaTextCardOptions, when("content.wrapTextInCard")), richText(props, when("content.wrapTextInCard", { not: true }), bind("content.text"))];
|
|
27688
|
+
};
|
|
27689
|
+
const defaultTextColumn = el("div", {}, textContentNodes("rb-prose rb-max-w-none"));
|
|
27690
|
+
const bioTextColumn = el("div", { className: "rb-flex rb-h-full rb-w-full rb-max-w-prose rb-flex-col rb-justify-center rb-gap-5" }, [copyHeading, ...textContentNodes(bodyClassNameFromAlignment)]);
|
|
27000
27691
|
const defaultImageCommonProps = {
|
|
27692
|
+
...lookSlot("photo"),
|
|
27001
27693
|
className: { $bind: {
|
|
27002
27694
|
from: "content.imageShape",
|
|
27003
27695
|
transforms: [{
|
|
@@ -27037,6 +27729,7 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
27037
27729
|
slidesToShow: 1
|
|
27038
27730
|
}, [media(defaultImageCommonProps, bind("item.image"), repeat("content.images", "item"))]);
|
|
27039
27731
|
const defaultImagesLayout = el("div", {}, [responsiveTwoColumn({
|
|
27732
|
+
lookSlots: true,
|
|
27040
27733
|
image: el("div", {}, [el("div", {}, [defaultSingleImage], whenImagesLength(1)), el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))]),
|
|
27041
27734
|
text: defaultTextColumn,
|
|
27042
27735
|
ratioFrom: "content.ratio",
|
|
@@ -27048,6 +27741,7 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
27048
27741
|
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1"
|
|
27049
27742
|
})], whenImagesLength(0, { not: true }));
|
|
27050
27743
|
const bioImagesLayout = el("div", {}, [responsiveTwoColumn({
|
|
27744
|
+
lookSlots: true,
|
|
27051
27745
|
image: el("div", {}, [el("div", {}, [defaultSingleImage], whenImagesLength(1)), el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))]),
|
|
27052
27746
|
text: bioTextColumn,
|
|
27053
27747
|
ratioFrom: "content.ratio",
|
|
@@ -27058,15 +27752,15 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
27058
27752
|
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
27059
27753
|
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-stretch"
|
|
27060
27754
|
})], whenImagesLength(0, { not: true }));
|
|
27061
|
-
const defaultTextOnlyLayout = el("div",
|
|
27062
|
-
const bioTextOnlyLayout = el("div", {
|
|
27063
|
-
|
|
27064
|
-
|
|
27065
|
-
|
|
27066
|
-
|
|
27067
|
-
|
|
27068
|
-
|
|
27069
|
-
], whenImagesLength(0));
|
|
27755
|
+
const defaultTextOnlyLayout = el("div", lookSlot("copy"), textContentNodes("rb-prose rb-max-w-none"), whenImagesLength(0));
|
|
27756
|
+
const bioTextOnlyLayout = el("div", {
|
|
27757
|
+
className: "rb-flex rb-w-full rb-max-w-prose rb-flex-col rb-gap-5",
|
|
27758
|
+
...lookSlot("copy")
|
|
27759
|
+
}, [text({
|
|
27760
|
+
as: "h2",
|
|
27761
|
+
className: titleClassNameFromAlignment,
|
|
27762
|
+
...lookSlot("heading")
|
|
27763
|
+
}, when("content.title"), bind("content.title")), ...textContentNodes(bodyClassNameFromAlignment)], whenImagesLength(0));
|
|
27070
27764
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
27071
27765
|
const bioInner = el("div", {}, [bioImagesLayout, bioTextOnlyLayout]);
|
|
27072
27766
|
const defaultLayout = styledSection({
|
|
@@ -27090,9 +27784,31 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
27090
27784
|
}),
|
|
27091
27785
|
baseClass: "",
|
|
27092
27786
|
spacing: "medium"
|
|
27787
|
+
}),
|
|
27788
|
+
"circle-beside": styledSection({
|
|
27789
|
+
baseClass: "",
|
|
27790
|
+
spacing: "medium",
|
|
27791
|
+
children: styledContainer({ children: el("div", lookSlot("frame"), [el("div", lookSlot("media"), [
|
|
27792
|
+
el("div", {}, [when("content.images[0].image")(defaultSingleImage)], whenImagesLength(1)),
|
|
27793
|
+
el("div", {}, [el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))], whenImagesLength(0, { not: true })),
|
|
27794
|
+
el("div", {}, [when("content.images[0].image")(defaultSingleImage)], whenImagesLength(0))
|
|
27795
|
+
]), el("div", lookSlot("copy"), [el("div", lookSlot("head"), [text({
|
|
27796
|
+
as: "p",
|
|
27797
|
+
className: eyebrowClassName("rb-eyebrow heading-eyebrow"),
|
|
27798
|
+
...lookSlot("eyebrow")
|
|
27799
|
+
}, when("content.eyebrow"), bind("content.eyebrow")), text({
|
|
27800
|
+
as: "h2",
|
|
27801
|
+
...lookSlot("heading")
|
|
27802
|
+
}, bind("content.title"), when("content.title", { authoringPresence: {
|
|
27803
|
+
kind: "recover-empty-when-active",
|
|
27804
|
+
placeholder: "Add heading"
|
|
27805
|
+
} }))]), defaultTextColumn])]) })
|
|
27093
27806
|
})
|
|
27094
27807
|
},
|
|
27095
|
-
variantMeaning: {
|
|
27808
|
+
variantMeaning: {
|
|
27809
|
+
kind: "arrangement",
|
|
27810
|
+
lookOnlyKeys: ["circle-beside"]
|
|
27811
|
+
},
|
|
27096
27812
|
defaultVariant: "default",
|
|
27097
27813
|
variantOptions: {
|
|
27098
27814
|
default: { label: "Default" },
|
|
@@ -28258,24 +28974,6 @@ const emptyStateField = {
|
|
|
28258
28974
|
ui: { intent: "display" }
|
|
28259
28975
|
};
|
|
28260
28976
|
/**
|
|
28261
|
-
* Section heading and description fields
|
|
28262
|
-
*/
|
|
28263
|
-
const sectionHeaderFields = (defaultHeading) => [{
|
|
28264
|
-
id: "heading",
|
|
28265
|
-
type: "text",
|
|
28266
|
-
label: "Heading",
|
|
28267
|
-
description: "Main heading for the events section",
|
|
28268
|
-
required: false,
|
|
28269
|
-
multiline: false,
|
|
28270
|
-
defaultValue: defaultHeading
|
|
28271
|
-
}, {
|
|
28272
|
-
id: "description",
|
|
28273
|
-
type: "richText",
|
|
28274
|
-
label: "Description",
|
|
28275
|
-
description: "Optional introductory text",
|
|
28276
|
-
required: false
|
|
28277
|
-
}];
|
|
28278
|
-
/**
|
|
28279
28977
|
* Layout selection field with grid/stack options
|
|
28280
28978
|
*/
|
|
28281
28979
|
const layoutField = {
|
|
@@ -28388,31 +29086,6 @@ function normalizeEventStaffMemberId(value) {
|
|
|
28388
29086
|
return trimmed ? trimmed : null;
|
|
28389
29087
|
}
|
|
28390
29088
|
//#endregion
|
|
28391
|
-
//#region ../blocks/src/system/blocks/events/shared/layout.ts
|
|
28392
|
-
const recoverEmptyHeadingWhenActive = {
|
|
28393
|
-
kind: "recover-empty-when-active",
|
|
28394
|
-
placeholder: "Add heading"
|
|
28395
|
-
};
|
|
28396
|
-
const recoverEmptyDescriptionWhenActive = {
|
|
28397
|
-
kind: "recover-empty-when-active",
|
|
28398
|
-
placeholder: "Add description"
|
|
28399
|
-
};
|
|
28400
|
-
function eventSectionHeaderLayoutNodes(options = {}) {
|
|
28401
|
-
const headingNode = text({
|
|
28402
|
-
as: "h2",
|
|
28403
|
-
...lookSlot("heading")
|
|
28404
|
-
}, bind("content.heading"), when("content.heading", { authoringPresence: recoverEmptyHeadingWhenActive }));
|
|
28405
|
-
const descriptionNode = richText({
|
|
28406
|
-
className: "rb-prose rb-max-w-none",
|
|
28407
|
-
...lookSlot("intro")
|
|
28408
|
-
}, bind("content.description"), when("content.description", { authoringPresence: recoverEmptyDescriptionWhenActive }));
|
|
28409
|
-
if (options.splitClassName) return [el("div", {
|
|
28410
|
-
className: options.splitClassName,
|
|
28411
|
-
...lookSlot("head")
|
|
28412
|
-
}, [headingNode, descriptionNode])];
|
|
28413
|
-
return [headingNode, descriptionNode];
|
|
28414
|
-
}
|
|
28415
|
-
//#endregion
|
|
28416
29089
|
//#region ../blocks/src/system/blocks/shop.shared.ts
|
|
28417
29090
|
/**
|
|
28418
29091
|
* Public pass product for shop display
|
|
@@ -28837,19 +29510,14 @@ function buildCalendarViewport(input) {
|
|
|
28837
29510
|
*
|
|
28838
29511
|
* Sites don't store a locale, and every public word around a date is English,
|
|
28839
29512
|
* so the only open question is which English conventions to follow: day or
|
|
28840
|
-
* month first
|
|
29513
|
+
* month first. The site's time zone is the one
|
|
28841
29514
|
* fact every site carries about where it is. It is the site's, never an
|
|
28842
29515
|
* event's: a venue left at UTC must not turn a UK site's dates American.
|
|
28843
29516
|
* Anywhere this can't place (UTC, the Americas, Asia) keeps US English, which
|
|
28844
29517
|
* is what these helpers wrote before sites were placed at all.
|
|
28845
29518
|
*/
|
|
28846
29519
|
function eventDateLocale(siteTimeZone) {
|
|
28847
|
-
|
|
28848
|
-
if (siteTimeZone === "Europe/Dublin") return "en-IE";
|
|
28849
|
-
if (siteTimeZone.startsWith("Europe/")) return "en-GB";
|
|
28850
|
-
if (siteTimeZone.startsWith("Australia/")) return "en-AU";
|
|
28851
|
-
if (siteTimeZone === "Pacific/Auckland" || siteTimeZone === "Pacific/Chatham") return "en-NZ";
|
|
28852
|
-
return "en-US";
|
|
29520
|
+
return inferSiteDateLocale(siteTimeZone);
|
|
28853
29521
|
}
|
|
28854
29522
|
function formatEventCompactDateRail(isoTimestamp, options, letterCase = "capitals") {
|
|
28855
29523
|
const locale = options?.locale ?? "en-US";
|
|
@@ -30557,7 +31225,7 @@ const eventSpotlightBlockDefinition = {
|
|
|
30557
31225
|
],
|
|
30558
31226
|
icon: "Star",
|
|
30559
31227
|
layout: [styledSection({
|
|
30560
|
-
children: sectionContainer([...
|
|
31228
|
+
children: sectionContainer([...sectionHeaderLayoutNodes(), el("event-spotlight", {
|
|
30561
31229
|
events: { $bind: { from: "data.events" } },
|
|
30562
31230
|
layout: { $bind: {
|
|
30563
31231
|
from: "content.layout",
|
|
@@ -30613,52 +31281,6 @@ const eventSpotlightBlockDefinition = {
|
|
|
30613
31281
|
} }
|
|
30614
31282
|
};
|
|
30615
31283
|
//#endregion
|
|
30616
|
-
//#region ../blocks/src/system/runtime/lookSurfaces.ts
|
|
30617
|
-
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30618
|
-
const lookListPresentationSchemaShape = {
|
|
30619
|
-
sectionAction: z.object({
|
|
30620
|
-
label: z.string(),
|
|
30621
|
-
href: z.string()
|
|
30622
|
-
}).optional(),
|
|
30623
|
-
actionSize: z.enum([
|
|
30624
|
-
"sm",
|
|
30625
|
-
"md",
|
|
30626
|
-
"lg"
|
|
30627
|
-
]).optional(),
|
|
30628
|
-
itemActionStyle: z.enum(["button", "link"]).optional(),
|
|
30629
|
-
itemRoles: z.object({
|
|
30630
|
-
container: z.enum([
|
|
30631
|
-
"card",
|
|
30632
|
-
"statement",
|
|
30633
|
-
"highlight"
|
|
30634
|
-
]).optional(),
|
|
30635
|
-
items: z.enum([
|
|
30636
|
-
"card",
|
|
30637
|
-
"statement",
|
|
30638
|
-
"highlight"
|
|
30639
|
-
]).optional(),
|
|
30640
|
-
at: z.partialRecord(z.enum([
|
|
30641
|
-
"first",
|
|
30642
|
-
"last",
|
|
30643
|
-
"middle",
|
|
30644
|
-
"odd",
|
|
30645
|
-
"even"
|
|
30646
|
-
]), z.enum([
|
|
30647
|
-
"card",
|
|
30648
|
-
"statement",
|
|
30649
|
-
"highlight"
|
|
30650
|
-
])).optional()
|
|
30651
|
-
}).optional(),
|
|
30652
|
-
roleSurfaces: z.record(z.enum([
|
|
30653
|
-
"card",
|
|
30654
|
-
"statement",
|
|
30655
|
-
"highlight"
|
|
30656
|
-
]), z.custom((value) => isPlainObject(value) && (value.kind === "inherit" || value.kind === "owned"))).optional(),
|
|
30657
|
-
panelHeading: z.string().optional(),
|
|
30658
|
-
lookSlots: z.partialRecord(z.enum(arrangementSlotNames), z.enum(arrangementSlotNames)).optional(),
|
|
30659
|
-
itemSurfaces: z.record(z.string(), z.custom((value) => isPlainObject(value) && (value.kind === "inherit" || value.kind === "owned"))).optional()
|
|
30660
|
-
};
|
|
30661
|
-
//#endregion
|
|
30662
31284
|
//#region ../blocks/src/system/blocks/events/shared/eventSelection.ts
|
|
30663
31285
|
/** Undefined means discovery; an empty string is an explicitly empty selection. */
|
|
30664
31286
|
function eventSeriesScopeCsv(value) {
|
|
@@ -31408,7 +32030,7 @@ const eventListingBlockDefinition = {
|
|
|
31408
32030
|
children: styledContainer({
|
|
31409
32031
|
rootType: "stack",
|
|
31410
32032
|
rootProps: { gap: "lg" },
|
|
31411
|
-
children: [...
|
|
32033
|
+
children: [...sectionHeaderLayoutNodes(), el("event-listing", withApiBindings({
|
|
31412
32034
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
31413
32035
|
events: { $bind: { from: "data.events" } },
|
|
31414
32036
|
stage: { $bind: {
|
|
@@ -31848,7 +32470,7 @@ const eventCalendarLayout = [styledSection({
|
|
|
31848
32470
|
gap: "lg",
|
|
31849
32471
|
...lookSlot("layout")
|
|
31850
32472
|
},
|
|
31851
|
-
children: [...
|
|
32473
|
+
children: [...sectionHeaderLayoutNodes({ splitClassName: "event-section-head event-section-head--split" }), el("event-calendar", withApiBindings({
|
|
31852
32474
|
readAuthority: { $bind: { from: "$root.readAuthority" } },
|
|
31853
32475
|
events: { $bind: { from: "data.events" } },
|
|
31854
32476
|
effectiveListArrangementKey: { $bind: { from: "$root.effectiveListArrangementKey" } },
|
|
@@ -33804,6 +34426,511 @@ const embedBlockDefinition = {
|
|
|
33804
34426
|
} }
|
|
33805
34427
|
};
|
|
33806
34428
|
//#endregion
|
|
34429
|
+
//#region ../blocks/src/system/blocks/image-gallery/fields.ts
|
|
34430
|
+
const imageGalleryFields = parseFieldDefinitions([
|
|
34431
|
+
...sectionHeaderFields(void 0, "Intro"),
|
|
34432
|
+
{
|
|
34433
|
+
id: "images",
|
|
34434
|
+
type: "repeater",
|
|
34435
|
+
label: "Images",
|
|
34436
|
+
itemLabel: "Image",
|
|
34437
|
+
minItems: 0,
|
|
34438
|
+
maxItems: 24,
|
|
34439
|
+
ui: {
|
|
34440
|
+
repeaterPreset: "thumbnailGrid",
|
|
34441
|
+
thumbnailField: "image",
|
|
34442
|
+
thumbnailAltField: "caption",
|
|
34443
|
+
thumbnailLabelField: "caption",
|
|
34444
|
+
thumbnailCardDensity: "compact"
|
|
34445
|
+
},
|
|
34446
|
+
schema: { fields: [{
|
|
34447
|
+
id: "image",
|
|
34448
|
+
type: "media",
|
|
34449
|
+
label: "Image",
|
|
34450
|
+
required: true,
|
|
34451
|
+
mediaKinds: ["image"]
|
|
34452
|
+
}, {
|
|
34453
|
+
id: "caption",
|
|
34454
|
+
type: "text",
|
|
34455
|
+
label: "Caption",
|
|
34456
|
+
description: "Optional caption displayed below the image and used as the editor card label",
|
|
34457
|
+
maxLength: 200
|
|
34458
|
+
}] }
|
|
34459
|
+
},
|
|
34460
|
+
{
|
|
34461
|
+
id: "fullBleed",
|
|
34462
|
+
type: "boolean",
|
|
34463
|
+
label: "Full bleed",
|
|
34464
|
+
description: "Extend the gallery edge-to-edge by removing section side padding and container max-width.",
|
|
34465
|
+
defaultValue: false,
|
|
34466
|
+
ui: {
|
|
34467
|
+
intent: "display",
|
|
34468
|
+
visibleWhen: {
|
|
34469
|
+
field: "variant",
|
|
34470
|
+
notIn: ["marquee"]
|
|
34471
|
+
}
|
|
34472
|
+
}
|
|
34473
|
+
},
|
|
34474
|
+
{
|
|
34475
|
+
id: "aspectRatio",
|
|
34476
|
+
type: "select",
|
|
34477
|
+
label: "Aspect ratio",
|
|
34478
|
+
description: "Crop images to a consistent aspect ratio.",
|
|
34479
|
+
defaultValue: "1/1",
|
|
34480
|
+
options: [
|
|
34481
|
+
{
|
|
34482
|
+
value: "auto",
|
|
34483
|
+
label: "Original"
|
|
34484
|
+
},
|
|
34485
|
+
{
|
|
34486
|
+
value: "1/1",
|
|
34487
|
+
label: "1:1 (Square)"
|
|
34488
|
+
},
|
|
34489
|
+
{
|
|
34490
|
+
value: "4/3",
|
|
34491
|
+
label: "4:3 (Standard)"
|
|
34492
|
+
},
|
|
34493
|
+
{
|
|
34494
|
+
value: "16/9",
|
|
34495
|
+
label: "16:9 (Widescreen)"
|
|
34496
|
+
},
|
|
34497
|
+
{
|
|
34498
|
+
value: "3/2",
|
|
34499
|
+
label: "3:2 (Classic)"
|
|
34500
|
+
},
|
|
34501
|
+
{
|
|
34502
|
+
value: "3/4",
|
|
34503
|
+
label: "3:4 (Portrait)"
|
|
34504
|
+
}
|
|
34505
|
+
],
|
|
34506
|
+
ui: {
|
|
34507
|
+
intent: "display",
|
|
34508
|
+
visibleWhen: {
|
|
34509
|
+
field: "variant",
|
|
34510
|
+
notIn: ["masonry", "marquee"]
|
|
34511
|
+
}
|
|
34512
|
+
}
|
|
34513
|
+
},
|
|
34514
|
+
{
|
|
34515
|
+
id: "slidesToShow",
|
|
34516
|
+
type: "select",
|
|
34517
|
+
label: "Images per view (mobile)",
|
|
34518
|
+
description: "Number of images visible at once on small screens.",
|
|
34519
|
+
defaultValue: "1",
|
|
34520
|
+
options: [
|
|
34521
|
+
{
|
|
34522
|
+
value: "1",
|
|
34523
|
+
label: "One at a time"
|
|
34524
|
+
},
|
|
34525
|
+
{
|
|
34526
|
+
value: "2",
|
|
34527
|
+
label: "Two at a time"
|
|
34528
|
+
},
|
|
34529
|
+
{
|
|
34530
|
+
value: "3",
|
|
34531
|
+
label: "Three at a time"
|
|
34532
|
+
}
|
|
34533
|
+
],
|
|
34534
|
+
ui: {
|
|
34535
|
+
intent: "display",
|
|
34536
|
+
visibleWhen: {
|
|
34537
|
+
field: "variant",
|
|
34538
|
+
equals: "carousel"
|
|
34539
|
+
}
|
|
34540
|
+
}
|
|
34541
|
+
},
|
|
34542
|
+
{
|
|
34543
|
+
id: "slidesToShowTablet",
|
|
34544
|
+
type: "select",
|
|
34545
|
+
label: "Images per view (tablet)",
|
|
34546
|
+
description: "Number of images visible on medium screens.",
|
|
34547
|
+
options: [
|
|
34548
|
+
{
|
|
34549
|
+
value: "",
|
|
34550
|
+
label: "Same as mobile"
|
|
34551
|
+
},
|
|
34552
|
+
{
|
|
34553
|
+
value: "1",
|
|
34554
|
+
label: "One at a time"
|
|
34555
|
+
},
|
|
34556
|
+
{
|
|
34557
|
+
value: "2",
|
|
34558
|
+
label: "Two at a time"
|
|
34559
|
+
},
|
|
34560
|
+
{
|
|
34561
|
+
value: "3",
|
|
34562
|
+
label: "Three at a time"
|
|
34563
|
+
}
|
|
34564
|
+
],
|
|
34565
|
+
ui: {
|
|
34566
|
+
intent: "display",
|
|
34567
|
+
visibleWhen: {
|
|
34568
|
+
field: "variant",
|
|
34569
|
+
equals: "carousel"
|
|
34570
|
+
}
|
|
34571
|
+
}
|
|
34572
|
+
},
|
|
34573
|
+
{
|
|
34574
|
+
id: "slidesToShowDesktop",
|
|
34575
|
+
type: "select",
|
|
34576
|
+
label: "Images per view (desktop)",
|
|
34577
|
+
description: "Number of images visible on large screens.",
|
|
34578
|
+
options: [
|
|
34579
|
+
{
|
|
34580
|
+
value: "",
|
|
34581
|
+
label: "Same as tablet"
|
|
34582
|
+
},
|
|
34583
|
+
{
|
|
34584
|
+
value: "1",
|
|
34585
|
+
label: "One at a time"
|
|
34586
|
+
},
|
|
34587
|
+
{
|
|
34588
|
+
value: "2",
|
|
34589
|
+
label: "Two at a time"
|
|
34590
|
+
},
|
|
34591
|
+
{
|
|
34592
|
+
value: "3",
|
|
34593
|
+
label: "Three at a time"
|
|
34594
|
+
}
|
|
34595
|
+
],
|
|
34596
|
+
ui: {
|
|
34597
|
+
intent: "display",
|
|
34598
|
+
visibleWhen: {
|
|
34599
|
+
field: "variant",
|
|
34600
|
+
equals: "carousel"
|
|
34601
|
+
}
|
|
34602
|
+
}
|
|
34603
|
+
},
|
|
34604
|
+
{
|
|
34605
|
+
id: "transition",
|
|
34606
|
+
type: "select",
|
|
34607
|
+
label: "Transition",
|
|
34608
|
+
description: "Animation style between slides.",
|
|
34609
|
+
defaultValue: "slide",
|
|
34610
|
+
options: [{
|
|
34611
|
+
value: "slide",
|
|
34612
|
+
label: "Slide"
|
|
34613
|
+
}, {
|
|
34614
|
+
value: "fade",
|
|
34615
|
+
label: "Fade"
|
|
34616
|
+
}],
|
|
34617
|
+
ui: {
|
|
34618
|
+
intent: "display",
|
|
34619
|
+
visibleWhen: {
|
|
34620
|
+
field: "variant",
|
|
34621
|
+
equals: "carousel"
|
|
34622
|
+
}
|
|
34623
|
+
}
|
|
34624
|
+
},
|
|
34625
|
+
{
|
|
34626
|
+
id: "showControls",
|
|
34627
|
+
type: "boolean",
|
|
34628
|
+
label: "Show arrows",
|
|
34629
|
+
defaultValue: true,
|
|
34630
|
+
ui: {
|
|
34631
|
+
intent: "behavior",
|
|
34632
|
+
visibleWhen: {
|
|
34633
|
+
field: "variant",
|
|
34634
|
+
equals: "carousel"
|
|
34635
|
+
}
|
|
34636
|
+
}
|
|
34637
|
+
},
|
|
34638
|
+
{
|
|
34639
|
+
id: "showDots",
|
|
34640
|
+
type: "boolean",
|
|
34641
|
+
label: "Show dots",
|
|
34642
|
+
defaultValue: false,
|
|
34643
|
+
ui: {
|
|
34644
|
+
intent: "behavior",
|
|
34645
|
+
visibleWhen: {
|
|
34646
|
+
field: "variant",
|
|
34647
|
+
equals: "carousel"
|
|
34648
|
+
}
|
|
34649
|
+
}
|
|
34650
|
+
},
|
|
34651
|
+
{
|
|
34652
|
+
id: "autoplay",
|
|
34653
|
+
type: "boolean",
|
|
34654
|
+
label: "Autoplay",
|
|
34655
|
+
defaultValue: false,
|
|
34656
|
+
ui: {
|
|
34657
|
+
intent: "behavior",
|
|
34658
|
+
visibleWhen: {
|
|
34659
|
+
field: "variant",
|
|
34660
|
+
equals: "carousel"
|
|
34661
|
+
}
|
|
34662
|
+
}
|
|
34663
|
+
},
|
|
34664
|
+
{
|
|
34665
|
+
id: "autoplayDelay",
|
|
34666
|
+
type: "select",
|
|
34667
|
+
label: "Autoplay delay",
|
|
34668
|
+
defaultValue: "5000",
|
|
34669
|
+
options: [
|
|
34670
|
+
{
|
|
34671
|
+
value: "3000",
|
|
34672
|
+
label: "3 seconds"
|
|
34673
|
+
},
|
|
34674
|
+
{
|
|
34675
|
+
value: "5000",
|
|
34676
|
+
label: "5 seconds"
|
|
34677
|
+
},
|
|
34678
|
+
{
|
|
34679
|
+
value: "7000",
|
|
34680
|
+
label: "7 seconds"
|
|
34681
|
+
},
|
|
34682
|
+
{
|
|
34683
|
+
value: "10000",
|
|
34684
|
+
label: "10 seconds"
|
|
34685
|
+
}
|
|
34686
|
+
],
|
|
34687
|
+
ui: {
|
|
34688
|
+
intent: "behavior",
|
|
34689
|
+
visibleWhen: {
|
|
34690
|
+
field: "variant",
|
|
34691
|
+
equals: "carousel"
|
|
34692
|
+
}
|
|
34693
|
+
}
|
|
34694
|
+
},
|
|
34695
|
+
{
|
|
34696
|
+
id: "arrowVisibility",
|
|
34697
|
+
type: "select",
|
|
34698
|
+
label: "Arrow visibility",
|
|
34699
|
+
defaultValue: "always",
|
|
34700
|
+
options: [{
|
|
34701
|
+
value: "always",
|
|
34702
|
+
label: "Always visible"
|
|
34703
|
+
}, {
|
|
34704
|
+
value: "hover",
|
|
34705
|
+
label: "Show on hover"
|
|
34706
|
+
}],
|
|
34707
|
+
ui: {
|
|
34708
|
+
intent: "behavior",
|
|
34709
|
+
visibleWhen: {
|
|
34710
|
+
field: "variant",
|
|
34711
|
+
equals: "carousel"
|
|
34712
|
+
}
|
|
34713
|
+
}
|
|
34714
|
+
},
|
|
34715
|
+
{
|
|
34716
|
+
id: "loop",
|
|
34717
|
+
type: "boolean",
|
|
34718
|
+
label: "Loop slides",
|
|
34719
|
+
defaultValue: true,
|
|
34720
|
+
ui: {
|
|
34721
|
+
intent: "behavior",
|
|
34722
|
+
visibleWhen: {
|
|
34723
|
+
field: "variant",
|
|
34724
|
+
equals: "carousel"
|
|
34725
|
+
}
|
|
34726
|
+
}
|
|
34727
|
+
},
|
|
34728
|
+
{
|
|
34729
|
+
id: "marqueeDirection",
|
|
34730
|
+
type: "select",
|
|
34731
|
+
label: "Scroll direction",
|
|
34732
|
+
options: [{
|
|
34733
|
+
value: "left",
|
|
34734
|
+
label: "Left"
|
|
34735
|
+
}, {
|
|
34736
|
+
value: "right",
|
|
34737
|
+
label: "Right"
|
|
34738
|
+
}],
|
|
34739
|
+
defaultValue: "left",
|
|
34740
|
+
ui: {
|
|
34741
|
+
intent: "display",
|
|
34742
|
+
visibleWhen: {
|
|
34743
|
+
field: "variant",
|
|
34744
|
+
equals: "marquee"
|
|
34745
|
+
}
|
|
34746
|
+
}
|
|
34747
|
+
},
|
|
34748
|
+
{
|
|
34749
|
+
id: "marqueeSpeed",
|
|
34750
|
+
type: "select",
|
|
34751
|
+
label: "Scroll speed",
|
|
34752
|
+
options: [
|
|
34753
|
+
{
|
|
34754
|
+
value: "slow",
|
|
34755
|
+
label: "Slow (60s)"
|
|
34756
|
+
},
|
|
34757
|
+
{
|
|
34758
|
+
value: "medium",
|
|
34759
|
+
label: "Medium (40s)"
|
|
34760
|
+
},
|
|
34761
|
+
{
|
|
34762
|
+
value: "fast",
|
|
34763
|
+
label: "Fast (20s)"
|
|
34764
|
+
}
|
|
34765
|
+
],
|
|
34766
|
+
defaultValue: "medium",
|
|
34767
|
+
ui: {
|
|
34768
|
+
intent: "display",
|
|
34769
|
+
visibleWhen: {
|
|
34770
|
+
field: "variant",
|
|
34771
|
+
equals: "marquee"
|
|
34772
|
+
}
|
|
34773
|
+
}
|
|
34774
|
+
},
|
|
34775
|
+
{
|
|
34776
|
+
id: "marqueePauseOnHover",
|
|
34777
|
+
type: "boolean",
|
|
34778
|
+
label: "Pause on hover",
|
|
34779
|
+
defaultValue: true,
|
|
34780
|
+
ui: {
|
|
34781
|
+
intent: "behavior",
|
|
34782
|
+
visibleWhen: {
|
|
34783
|
+
field: "variant",
|
|
34784
|
+
equals: "marquee"
|
|
34785
|
+
}
|
|
34786
|
+
}
|
|
34787
|
+
},
|
|
34788
|
+
{
|
|
34789
|
+
id: "marqueeImageSize",
|
|
34790
|
+
type: "select",
|
|
34791
|
+
label: "Image size",
|
|
34792
|
+
options: [
|
|
34793
|
+
{
|
|
34794
|
+
value: "sm",
|
|
34795
|
+
label: "Small (200px)"
|
|
34796
|
+
},
|
|
34797
|
+
{
|
|
34798
|
+
value: "md",
|
|
34799
|
+
label: "Medium (256px)"
|
|
34800
|
+
},
|
|
34801
|
+
{
|
|
34802
|
+
value: "lg",
|
|
34803
|
+
label: "Large (320px)"
|
|
34804
|
+
},
|
|
34805
|
+
{
|
|
34806
|
+
value: "xl",
|
|
34807
|
+
label: "Extra large (400px)"
|
|
34808
|
+
}
|
|
34809
|
+
],
|
|
34810
|
+
defaultValue: "md",
|
|
34811
|
+
ui: {
|
|
34812
|
+
intent: "display",
|
|
34813
|
+
visibleWhen: {
|
|
34814
|
+
field: "variant",
|
|
34815
|
+
equals: "marquee"
|
|
34816
|
+
}
|
|
34817
|
+
}
|
|
34818
|
+
},
|
|
34819
|
+
{
|
|
34820
|
+
id: "imageFilter",
|
|
34821
|
+
type: "select",
|
|
34822
|
+
label: "Image filter",
|
|
34823
|
+
options: [
|
|
34824
|
+
{
|
|
34825
|
+
value: "none",
|
|
34826
|
+
label: "None"
|
|
34827
|
+
},
|
|
34828
|
+
{
|
|
34829
|
+
value: "grayscale",
|
|
34830
|
+
label: "Grayscale"
|
|
34831
|
+
},
|
|
34832
|
+
{
|
|
34833
|
+
value: "grayscale-hover-reveal",
|
|
34834
|
+
label: "Grayscale (color on hover)"
|
|
34835
|
+
},
|
|
34836
|
+
{
|
|
34837
|
+
value: "sepia",
|
|
34838
|
+
label: "Sepia"
|
|
34839
|
+
}
|
|
34840
|
+
],
|
|
34841
|
+
defaultValue: "grayscale-hover-reveal",
|
|
34842
|
+
ui: { intent: "style" }
|
|
34843
|
+
},
|
|
34844
|
+
{
|
|
34845
|
+
id: "imageBorder",
|
|
34846
|
+
type: "group",
|
|
34847
|
+
label: "Image border",
|
|
34848
|
+
schema: { fields: [
|
|
34849
|
+
{
|
|
34850
|
+
id: "enabled",
|
|
34851
|
+
type: "boolean",
|
|
34852
|
+
label: "Show border",
|
|
34853
|
+
defaultValue: true
|
|
34854
|
+
},
|
|
34855
|
+
{
|
|
34856
|
+
id: "colorToken",
|
|
34857
|
+
type: "text",
|
|
34858
|
+
label: "Border color",
|
|
34859
|
+
defaultValue: "accent",
|
|
34860
|
+
ui: { widget: "backgroundColor" }
|
|
34861
|
+
},
|
|
34862
|
+
{
|
|
34863
|
+
id: "opacity",
|
|
34864
|
+
type: "number",
|
|
34865
|
+
label: "Border opacity",
|
|
34866
|
+
defaultValue: 30,
|
|
34867
|
+
ui: {
|
|
34868
|
+
min: 0,
|
|
34869
|
+
max: 100
|
|
34870
|
+
}
|
|
34871
|
+
},
|
|
34872
|
+
{
|
|
34873
|
+
id: "width",
|
|
34874
|
+
type: "select",
|
|
34875
|
+
label: "Border width",
|
|
34876
|
+
options: [
|
|
34877
|
+
{
|
|
34878
|
+
value: "1",
|
|
34879
|
+
label: "Thin (1px)"
|
|
34880
|
+
},
|
|
34881
|
+
{
|
|
34882
|
+
value: "2",
|
|
34883
|
+
label: "Medium (2px)"
|
|
34884
|
+
},
|
|
34885
|
+
{
|
|
34886
|
+
value: "3",
|
|
34887
|
+
label: "Thick (3px)"
|
|
34888
|
+
}
|
|
34889
|
+
],
|
|
34890
|
+
defaultValue: "2"
|
|
34891
|
+
}
|
|
34892
|
+
] },
|
|
34893
|
+
ui: { intent: "style" }
|
|
34894
|
+
},
|
|
34895
|
+
{
|
|
34896
|
+
id: "imageCorners",
|
|
34897
|
+
type: "select",
|
|
34898
|
+
label: "Image corners",
|
|
34899
|
+
options: [
|
|
34900
|
+
{
|
|
34901
|
+
value: "none",
|
|
34902
|
+
label: "Square"
|
|
34903
|
+
},
|
|
34904
|
+
{
|
|
34905
|
+
value: "sm",
|
|
34906
|
+
label: "Slightly rounded"
|
|
34907
|
+
},
|
|
34908
|
+
{
|
|
34909
|
+
value: "md",
|
|
34910
|
+
label: "Rounded"
|
|
34911
|
+
},
|
|
34912
|
+
{
|
|
34913
|
+
value: "lg",
|
|
34914
|
+
label: "More rounded"
|
|
34915
|
+
},
|
|
34916
|
+
{
|
|
34917
|
+
value: "xl",
|
|
34918
|
+
label: "Very rounded"
|
|
34919
|
+
},
|
|
34920
|
+
{
|
|
34921
|
+
value: "2xl",
|
|
34922
|
+
label: "Extra rounded"
|
|
34923
|
+
},
|
|
34924
|
+
{
|
|
34925
|
+
value: "3xl",
|
|
34926
|
+
label: "Maximum rounded"
|
|
34927
|
+
}
|
|
34928
|
+
],
|
|
34929
|
+
defaultValue: "3xl",
|
|
34930
|
+
ui: { intent: "style" }
|
|
34931
|
+
}
|
|
34932
|
+
]);
|
|
34933
|
+
//#endregion
|
|
33807
34934
|
//#region ../blocks/src/system/blocks/image-gallery.ts
|
|
33808
34935
|
const grid$1 = (props, children, ...mods) => el("grid", props ?? void 0, children ?? void 0, ...mods);
|
|
33809
34936
|
const galleryContainer = (children, opts) => {
|
|
@@ -34018,7 +35145,11 @@ const emptyState$1 = {
|
|
|
34018
35145
|
}
|
|
34019
35146
|
};
|
|
34020
35147
|
const wrapVariant$1 = (layout, opts) => styledSection({
|
|
34021
|
-
children: galleryContainer([
|
|
35148
|
+
children: galleryContainer([
|
|
35149
|
+
...sectionHeaderLayoutNodes(),
|
|
35150
|
+
layout,
|
|
35151
|
+
emptyState$1
|
|
35152
|
+
], {
|
|
34022
35153
|
gap: "md",
|
|
34023
35154
|
fullWidth: opts?.fullWidth,
|
|
34024
35155
|
className: opts?.className
|
|
@@ -34027,6 +35158,28 @@ const wrapVariant$1 = (layout, opts) => styledSection({
|
|
|
34027
35158
|
spacing: "medium",
|
|
34028
35159
|
background: "background"
|
|
34029
35160
|
});
|
|
35161
|
+
const lookGalleryTile = (imageFrom, captionFrom, ...mods) => el("li", lookSlot("item"), [el("figure", lookSlot("figure"), [el("div", lookSlot("media"), [media(lookSlot("photo"), bind(imageFrom), when(imageFrom))]), text({
|
|
35162
|
+
as: "figcaption",
|
|
35163
|
+
...lookSlot("caption")
|
|
35164
|
+
}, bind(captionFrom), when(captionFrom))])], ...mods);
|
|
35165
|
+
const tilesLayout = styledSection({
|
|
35166
|
+
children: el("div", {
|
|
35167
|
+
className: "rb-container",
|
|
35168
|
+
...lookSlot("layout")
|
|
35169
|
+
}, [...sectionHeaderLayoutNodes({ splitClassName: "rb-grid" }), el("ol", lookSlot("items"), [lookGalleryTile("item.image", "item.caption", repeat("content.images", "item")), lookGalleryTile("content.images.0.image", "content.images.0.caption", (node) => ({
|
|
35170
|
+
...node,
|
|
35171
|
+
$when: {
|
|
35172
|
+
when: {
|
|
35173
|
+
from: "content.images",
|
|
35174
|
+
transforms: [{ id: "array.length" }]
|
|
35175
|
+
},
|
|
35176
|
+
equals: 0
|
|
35177
|
+
}
|
|
35178
|
+
}))])]),
|
|
35179
|
+
baseClass: "",
|
|
35180
|
+
spacing: "medium",
|
|
35181
|
+
background: "background"
|
|
35182
|
+
});
|
|
34030
35183
|
const imageGalleryBlockDefinition = { manifest: createBlockManifest({
|
|
34031
35184
|
id: "block.image-gallery",
|
|
34032
35185
|
title: "Image Gallery",
|
|
@@ -34039,510 +35192,10 @@ const imageGalleryBlockDefinition = { manifest: createBlockManifest({
|
|
|
34039
35192
|
"marqueeSpeed",
|
|
34040
35193
|
"marqueePauseOnHover"
|
|
34041
35194
|
] },
|
|
34042
|
-
additionalFields:
|
|
34043
|
-
{
|
|
34044
|
-
id: "images",
|
|
34045
|
-
type: "repeater",
|
|
34046
|
-
label: "Images",
|
|
34047
|
-
itemLabel: "Image",
|
|
34048
|
-
minItems: 0,
|
|
34049
|
-
maxItems: 24,
|
|
34050
|
-
ui: {
|
|
34051
|
-
repeaterPreset: "thumbnailGrid",
|
|
34052
|
-
thumbnailField: "image",
|
|
34053
|
-
thumbnailAltField: "caption",
|
|
34054
|
-
thumbnailLabelField: "caption",
|
|
34055
|
-
thumbnailCardDensity: "compact"
|
|
34056
|
-
},
|
|
34057
|
-
schema: { fields: [{
|
|
34058
|
-
id: "image",
|
|
34059
|
-
type: "media",
|
|
34060
|
-
label: "Image",
|
|
34061
|
-
required: true,
|
|
34062
|
-
mediaKinds: ["image"]
|
|
34063
|
-
}, {
|
|
34064
|
-
id: "caption",
|
|
34065
|
-
type: "text",
|
|
34066
|
-
label: "Caption",
|
|
34067
|
-
description: "Optional caption displayed below the image and used as the editor card label",
|
|
34068
|
-
maxLength: 200
|
|
34069
|
-
}] }
|
|
34070
|
-
},
|
|
34071
|
-
{
|
|
34072
|
-
id: "fullBleed",
|
|
34073
|
-
type: "boolean",
|
|
34074
|
-
label: "Full bleed",
|
|
34075
|
-
description: "Extend the gallery edge-to-edge by removing section side padding and container max-width.",
|
|
34076
|
-
defaultValue: false,
|
|
34077
|
-
ui: {
|
|
34078
|
-
intent: "display",
|
|
34079
|
-
visibleWhen: {
|
|
34080
|
-
field: "variant",
|
|
34081
|
-
notIn: ["marquee"]
|
|
34082
|
-
}
|
|
34083
|
-
}
|
|
34084
|
-
},
|
|
34085
|
-
{
|
|
34086
|
-
id: "aspectRatio",
|
|
34087
|
-
type: "select",
|
|
34088
|
-
label: "Aspect ratio",
|
|
34089
|
-
description: "Crop images to a consistent aspect ratio.",
|
|
34090
|
-
defaultValue: "1/1",
|
|
34091
|
-
options: [
|
|
34092
|
-
{
|
|
34093
|
-
value: "auto",
|
|
34094
|
-
label: "Original"
|
|
34095
|
-
},
|
|
34096
|
-
{
|
|
34097
|
-
value: "1/1",
|
|
34098
|
-
label: "1:1 (Square)"
|
|
34099
|
-
},
|
|
34100
|
-
{
|
|
34101
|
-
value: "4/3",
|
|
34102
|
-
label: "4:3 (Standard)"
|
|
34103
|
-
},
|
|
34104
|
-
{
|
|
34105
|
-
value: "16/9",
|
|
34106
|
-
label: "16:9 (Widescreen)"
|
|
34107
|
-
},
|
|
34108
|
-
{
|
|
34109
|
-
value: "3/2",
|
|
34110
|
-
label: "3:2 (Classic)"
|
|
34111
|
-
},
|
|
34112
|
-
{
|
|
34113
|
-
value: "3/4",
|
|
34114
|
-
label: "3:4 (Portrait)"
|
|
34115
|
-
}
|
|
34116
|
-
],
|
|
34117
|
-
ui: {
|
|
34118
|
-
intent: "display",
|
|
34119
|
-
visibleWhen: {
|
|
34120
|
-
field: "variant",
|
|
34121
|
-
notIn: ["masonry", "marquee"]
|
|
34122
|
-
}
|
|
34123
|
-
}
|
|
34124
|
-
},
|
|
34125
|
-
{
|
|
34126
|
-
id: "slidesToShow",
|
|
34127
|
-
type: "select",
|
|
34128
|
-
label: "Images per view (mobile)",
|
|
34129
|
-
description: "Number of images visible at once on small screens.",
|
|
34130
|
-
defaultValue: "1",
|
|
34131
|
-
options: [
|
|
34132
|
-
{
|
|
34133
|
-
value: "1",
|
|
34134
|
-
label: "One at a time"
|
|
34135
|
-
},
|
|
34136
|
-
{
|
|
34137
|
-
value: "2",
|
|
34138
|
-
label: "Two at a time"
|
|
34139
|
-
},
|
|
34140
|
-
{
|
|
34141
|
-
value: "3",
|
|
34142
|
-
label: "Three at a time"
|
|
34143
|
-
}
|
|
34144
|
-
],
|
|
34145
|
-
ui: {
|
|
34146
|
-
intent: "display",
|
|
34147
|
-
visibleWhen: {
|
|
34148
|
-
field: "variant",
|
|
34149
|
-
equals: "carousel"
|
|
34150
|
-
}
|
|
34151
|
-
}
|
|
34152
|
-
},
|
|
34153
|
-
{
|
|
34154
|
-
id: "slidesToShowTablet",
|
|
34155
|
-
type: "select",
|
|
34156
|
-
label: "Images per view (tablet)",
|
|
34157
|
-
description: "Number of images visible on medium screens.",
|
|
34158
|
-
options: [
|
|
34159
|
-
{
|
|
34160
|
-
value: "",
|
|
34161
|
-
label: "Same as mobile"
|
|
34162
|
-
},
|
|
34163
|
-
{
|
|
34164
|
-
value: "1",
|
|
34165
|
-
label: "One at a time"
|
|
34166
|
-
},
|
|
34167
|
-
{
|
|
34168
|
-
value: "2",
|
|
34169
|
-
label: "Two at a time"
|
|
34170
|
-
},
|
|
34171
|
-
{
|
|
34172
|
-
value: "3",
|
|
34173
|
-
label: "Three at a time"
|
|
34174
|
-
}
|
|
34175
|
-
],
|
|
34176
|
-
ui: {
|
|
34177
|
-
intent: "display",
|
|
34178
|
-
visibleWhen: {
|
|
34179
|
-
field: "variant",
|
|
34180
|
-
equals: "carousel"
|
|
34181
|
-
}
|
|
34182
|
-
}
|
|
34183
|
-
},
|
|
34184
|
-
{
|
|
34185
|
-
id: "slidesToShowDesktop",
|
|
34186
|
-
type: "select",
|
|
34187
|
-
label: "Images per view (desktop)",
|
|
34188
|
-
description: "Number of images visible on large screens.",
|
|
34189
|
-
options: [
|
|
34190
|
-
{
|
|
34191
|
-
value: "",
|
|
34192
|
-
label: "Same as tablet"
|
|
34193
|
-
},
|
|
34194
|
-
{
|
|
34195
|
-
value: "1",
|
|
34196
|
-
label: "One at a time"
|
|
34197
|
-
},
|
|
34198
|
-
{
|
|
34199
|
-
value: "2",
|
|
34200
|
-
label: "Two at a time"
|
|
34201
|
-
},
|
|
34202
|
-
{
|
|
34203
|
-
value: "3",
|
|
34204
|
-
label: "Three at a time"
|
|
34205
|
-
}
|
|
34206
|
-
],
|
|
34207
|
-
ui: {
|
|
34208
|
-
intent: "display",
|
|
34209
|
-
visibleWhen: {
|
|
34210
|
-
field: "variant",
|
|
34211
|
-
equals: "carousel"
|
|
34212
|
-
}
|
|
34213
|
-
}
|
|
34214
|
-
},
|
|
34215
|
-
{
|
|
34216
|
-
id: "transition",
|
|
34217
|
-
type: "select",
|
|
34218
|
-
label: "Transition",
|
|
34219
|
-
description: "Animation style between slides.",
|
|
34220
|
-
defaultValue: "slide",
|
|
34221
|
-
options: [{
|
|
34222
|
-
value: "slide",
|
|
34223
|
-
label: "Slide"
|
|
34224
|
-
}, {
|
|
34225
|
-
value: "fade",
|
|
34226
|
-
label: "Fade"
|
|
34227
|
-
}],
|
|
34228
|
-
ui: {
|
|
34229
|
-
intent: "display",
|
|
34230
|
-
visibleWhen: {
|
|
34231
|
-
field: "variant",
|
|
34232
|
-
equals: "carousel"
|
|
34233
|
-
}
|
|
34234
|
-
}
|
|
34235
|
-
},
|
|
34236
|
-
{
|
|
34237
|
-
id: "showControls",
|
|
34238
|
-
type: "boolean",
|
|
34239
|
-
label: "Show arrows",
|
|
34240
|
-
defaultValue: true,
|
|
34241
|
-
ui: {
|
|
34242
|
-
intent: "behavior",
|
|
34243
|
-
visibleWhen: {
|
|
34244
|
-
field: "variant",
|
|
34245
|
-
equals: "carousel"
|
|
34246
|
-
}
|
|
34247
|
-
}
|
|
34248
|
-
},
|
|
34249
|
-
{
|
|
34250
|
-
id: "showDots",
|
|
34251
|
-
type: "boolean",
|
|
34252
|
-
label: "Show dots",
|
|
34253
|
-
defaultValue: false,
|
|
34254
|
-
ui: {
|
|
34255
|
-
intent: "behavior",
|
|
34256
|
-
visibleWhen: {
|
|
34257
|
-
field: "variant",
|
|
34258
|
-
equals: "carousel"
|
|
34259
|
-
}
|
|
34260
|
-
}
|
|
34261
|
-
},
|
|
34262
|
-
{
|
|
34263
|
-
id: "autoplay",
|
|
34264
|
-
type: "boolean",
|
|
34265
|
-
label: "Autoplay",
|
|
34266
|
-
defaultValue: false,
|
|
34267
|
-
ui: {
|
|
34268
|
-
intent: "behavior",
|
|
34269
|
-
visibleWhen: {
|
|
34270
|
-
field: "variant",
|
|
34271
|
-
equals: "carousel"
|
|
34272
|
-
}
|
|
34273
|
-
}
|
|
34274
|
-
},
|
|
34275
|
-
{
|
|
34276
|
-
id: "autoplayDelay",
|
|
34277
|
-
type: "select",
|
|
34278
|
-
label: "Autoplay delay",
|
|
34279
|
-
defaultValue: "5000",
|
|
34280
|
-
options: [
|
|
34281
|
-
{
|
|
34282
|
-
value: "3000",
|
|
34283
|
-
label: "3 seconds"
|
|
34284
|
-
},
|
|
34285
|
-
{
|
|
34286
|
-
value: "5000",
|
|
34287
|
-
label: "5 seconds"
|
|
34288
|
-
},
|
|
34289
|
-
{
|
|
34290
|
-
value: "7000",
|
|
34291
|
-
label: "7 seconds"
|
|
34292
|
-
},
|
|
34293
|
-
{
|
|
34294
|
-
value: "10000",
|
|
34295
|
-
label: "10 seconds"
|
|
34296
|
-
}
|
|
34297
|
-
],
|
|
34298
|
-
ui: {
|
|
34299
|
-
intent: "behavior",
|
|
34300
|
-
visibleWhen: {
|
|
34301
|
-
field: "variant",
|
|
34302
|
-
equals: "carousel"
|
|
34303
|
-
}
|
|
34304
|
-
}
|
|
34305
|
-
},
|
|
34306
|
-
{
|
|
34307
|
-
id: "arrowVisibility",
|
|
34308
|
-
type: "select",
|
|
34309
|
-
label: "Arrow visibility",
|
|
34310
|
-
defaultValue: "always",
|
|
34311
|
-
options: [{
|
|
34312
|
-
value: "always",
|
|
34313
|
-
label: "Always visible"
|
|
34314
|
-
}, {
|
|
34315
|
-
value: "hover",
|
|
34316
|
-
label: "Show on hover"
|
|
34317
|
-
}],
|
|
34318
|
-
ui: {
|
|
34319
|
-
intent: "behavior",
|
|
34320
|
-
visibleWhen: {
|
|
34321
|
-
field: "variant",
|
|
34322
|
-
equals: "carousel"
|
|
34323
|
-
}
|
|
34324
|
-
}
|
|
34325
|
-
},
|
|
34326
|
-
{
|
|
34327
|
-
id: "loop",
|
|
34328
|
-
type: "boolean",
|
|
34329
|
-
label: "Loop slides",
|
|
34330
|
-
defaultValue: true,
|
|
34331
|
-
ui: {
|
|
34332
|
-
intent: "behavior",
|
|
34333
|
-
visibleWhen: {
|
|
34334
|
-
field: "variant",
|
|
34335
|
-
equals: "carousel"
|
|
34336
|
-
}
|
|
34337
|
-
}
|
|
34338
|
-
},
|
|
34339
|
-
{
|
|
34340
|
-
id: "marqueeDirection",
|
|
34341
|
-
type: "select",
|
|
34342
|
-
label: "Scroll direction",
|
|
34343
|
-
options: [{
|
|
34344
|
-
value: "left",
|
|
34345
|
-
label: "Left"
|
|
34346
|
-
}, {
|
|
34347
|
-
value: "right",
|
|
34348
|
-
label: "Right"
|
|
34349
|
-
}],
|
|
34350
|
-
defaultValue: "left",
|
|
34351
|
-
ui: {
|
|
34352
|
-
intent: "display",
|
|
34353
|
-
visibleWhen: {
|
|
34354
|
-
field: "variant",
|
|
34355
|
-
equals: "marquee"
|
|
34356
|
-
}
|
|
34357
|
-
}
|
|
34358
|
-
},
|
|
34359
|
-
{
|
|
34360
|
-
id: "marqueeSpeed",
|
|
34361
|
-
type: "select",
|
|
34362
|
-
label: "Scroll speed",
|
|
34363
|
-
options: [
|
|
34364
|
-
{
|
|
34365
|
-
value: "slow",
|
|
34366
|
-
label: "Slow (60s)"
|
|
34367
|
-
},
|
|
34368
|
-
{
|
|
34369
|
-
value: "medium",
|
|
34370
|
-
label: "Medium (40s)"
|
|
34371
|
-
},
|
|
34372
|
-
{
|
|
34373
|
-
value: "fast",
|
|
34374
|
-
label: "Fast (20s)"
|
|
34375
|
-
}
|
|
34376
|
-
],
|
|
34377
|
-
defaultValue: "medium",
|
|
34378
|
-
ui: {
|
|
34379
|
-
intent: "display",
|
|
34380
|
-
visibleWhen: {
|
|
34381
|
-
field: "variant",
|
|
34382
|
-
equals: "marquee"
|
|
34383
|
-
}
|
|
34384
|
-
}
|
|
34385
|
-
},
|
|
34386
|
-
{
|
|
34387
|
-
id: "marqueePauseOnHover",
|
|
34388
|
-
type: "boolean",
|
|
34389
|
-
label: "Pause on hover",
|
|
34390
|
-
defaultValue: true,
|
|
34391
|
-
ui: {
|
|
34392
|
-
intent: "behavior",
|
|
34393
|
-
visibleWhen: {
|
|
34394
|
-
field: "variant",
|
|
34395
|
-
equals: "marquee"
|
|
34396
|
-
}
|
|
34397
|
-
}
|
|
34398
|
-
},
|
|
34399
|
-
{
|
|
34400
|
-
id: "marqueeImageSize",
|
|
34401
|
-
type: "select",
|
|
34402
|
-
label: "Image size",
|
|
34403
|
-
options: [
|
|
34404
|
-
{
|
|
34405
|
-
value: "sm",
|
|
34406
|
-
label: "Small (200px)"
|
|
34407
|
-
},
|
|
34408
|
-
{
|
|
34409
|
-
value: "md",
|
|
34410
|
-
label: "Medium (256px)"
|
|
34411
|
-
},
|
|
34412
|
-
{
|
|
34413
|
-
value: "lg",
|
|
34414
|
-
label: "Large (320px)"
|
|
34415
|
-
},
|
|
34416
|
-
{
|
|
34417
|
-
value: "xl",
|
|
34418
|
-
label: "Extra large (400px)"
|
|
34419
|
-
}
|
|
34420
|
-
],
|
|
34421
|
-
defaultValue: "md",
|
|
34422
|
-
ui: {
|
|
34423
|
-
intent: "display",
|
|
34424
|
-
visibleWhen: {
|
|
34425
|
-
field: "variant",
|
|
34426
|
-
equals: "marquee"
|
|
34427
|
-
}
|
|
34428
|
-
}
|
|
34429
|
-
},
|
|
34430
|
-
{
|
|
34431
|
-
id: "imageFilter",
|
|
34432
|
-
type: "select",
|
|
34433
|
-
label: "Image filter",
|
|
34434
|
-
options: [
|
|
34435
|
-
{
|
|
34436
|
-
value: "none",
|
|
34437
|
-
label: "None"
|
|
34438
|
-
},
|
|
34439
|
-
{
|
|
34440
|
-
value: "grayscale",
|
|
34441
|
-
label: "Grayscale"
|
|
34442
|
-
},
|
|
34443
|
-
{
|
|
34444
|
-
value: "grayscale-hover-reveal",
|
|
34445
|
-
label: "Grayscale (color on hover)"
|
|
34446
|
-
},
|
|
34447
|
-
{
|
|
34448
|
-
value: "sepia",
|
|
34449
|
-
label: "Sepia"
|
|
34450
|
-
}
|
|
34451
|
-
],
|
|
34452
|
-
defaultValue: "grayscale-hover-reveal",
|
|
34453
|
-
ui: { intent: "style" }
|
|
34454
|
-
},
|
|
34455
|
-
{
|
|
34456
|
-
id: "imageBorder",
|
|
34457
|
-
type: "group",
|
|
34458
|
-
label: "Image border",
|
|
34459
|
-
schema: { fields: [
|
|
34460
|
-
{
|
|
34461
|
-
id: "enabled",
|
|
34462
|
-
type: "boolean",
|
|
34463
|
-
label: "Show border",
|
|
34464
|
-
defaultValue: true
|
|
34465
|
-
},
|
|
34466
|
-
{
|
|
34467
|
-
id: "colorToken",
|
|
34468
|
-
type: "text",
|
|
34469
|
-
label: "Border color",
|
|
34470
|
-
defaultValue: "accent",
|
|
34471
|
-
ui: { widget: "backgroundColor" }
|
|
34472
|
-
},
|
|
34473
|
-
{
|
|
34474
|
-
id: "opacity",
|
|
34475
|
-
type: "number",
|
|
34476
|
-
label: "Border opacity",
|
|
34477
|
-
defaultValue: 30,
|
|
34478
|
-
ui: {
|
|
34479
|
-
min: 0,
|
|
34480
|
-
max: 100
|
|
34481
|
-
}
|
|
34482
|
-
},
|
|
34483
|
-
{
|
|
34484
|
-
id: "width",
|
|
34485
|
-
type: "select",
|
|
34486
|
-
label: "Border width",
|
|
34487
|
-
options: [
|
|
34488
|
-
{
|
|
34489
|
-
value: "1",
|
|
34490
|
-
label: "Thin (1px)"
|
|
34491
|
-
},
|
|
34492
|
-
{
|
|
34493
|
-
value: "2",
|
|
34494
|
-
label: "Medium (2px)"
|
|
34495
|
-
},
|
|
34496
|
-
{
|
|
34497
|
-
value: "3",
|
|
34498
|
-
label: "Thick (3px)"
|
|
34499
|
-
}
|
|
34500
|
-
],
|
|
34501
|
-
defaultValue: "2"
|
|
34502
|
-
}
|
|
34503
|
-
] },
|
|
34504
|
-
ui: { intent: "style" }
|
|
34505
|
-
},
|
|
34506
|
-
{
|
|
34507
|
-
id: "imageCorners",
|
|
34508
|
-
type: "select",
|
|
34509
|
-
label: "Image corners",
|
|
34510
|
-
options: [
|
|
34511
|
-
{
|
|
34512
|
-
value: "none",
|
|
34513
|
-
label: "Square"
|
|
34514
|
-
},
|
|
34515
|
-
{
|
|
34516
|
-
value: "sm",
|
|
34517
|
-
label: "Slightly rounded"
|
|
34518
|
-
},
|
|
34519
|
-
{
|
|
34520
|
-
value: "md",
|
|
34521
|
-
label: "Rounded"
|
|
34522
|
-
},
|
|
34523
|
-
{
|
|
34524
|
-
value: "lg",
|
|
34525
|
-
label: "More rounded"
|
|
34526
|
-
},
|
|
34527
|
-
{
|
|
34528
|
-
value: "xl",
|
|
34529
|
-
label: "Very rounded"
|
|
34530
|
-
},
|
|
34531
|
-
{
|
|
34532
|
-
value: "2xl",
|
|
34533
|
-
label: "Extra rounded"
|
|
34534
|
-
},
|
|
34535
|
-
{
|
|
34536
|
-
value: "3xl",
|
|
34537
|
-
label: "Maximum rounded"
|
|
34538
|
-
}
|
|
34539
|
-
],
|
|
34540
|
-
defaultValue: "3xl",
|
|
34541
|
-
ui: { intent: "style" }
|
|
34542
|
-
}
|
|
34543
|
-
]),
|
|
35195
|
+
additionalFields: imageGalleryFields,
|
|
34544
35196
|
layout: wrapVariant$1(gridLayout),
|
|
34545
35197
|
variants: {
|
|
35198
|
+
tiles: tilesLayout,
|
|
34546
35199
|
grid: wrapVariant$1(gridLayout),
|
|
34547
35200
|
carousel: wrapVariant$1(carouselLayout),
|
|
34548
35201
|
masonry: wrapVariant$1(masonryLayout),
|
|
@@ -34551,7 +35204,10 @@ const imageGalleryBlockDefinition = { manifest: createBlockManifest({
|
|
|
34551
35204
|
className: "rb-image-gallery-marquee-container"
|
|
34552
35205
|
})
|
|
34553
35206
|
},
|
|
34554
|
-
variantMeaning: {
|
|
35207
|
+
variantMeaning: {
|
|
35208
|
+
kind: "arrangement",
|
|
35209
|
+
lookOnlyKeys: ["tiles"]
|
|
35210
|
+
},
|
|
34555
35211
|
defaultVariant: "grid",
|
|
34556
35212
|
variantOptions: {
|
|
34557
35213
|
grid: {
|
|
@@ -36771,76 +37427,74 @@ const giftingBlockDefinition = {
|
|
|
36771
37427
|
/**
|
|
36772
37428
|
* Get form fields based on preset configuration.
|
|
36773
37429
|
*/
|
|
36774
|
-
function getGlobalFormFields(form) {
|
|
36775
|
-
const
|
|
36776
|
-
|
|
36777
|
-
|
|
36778
|
-
|
|
36779
|
-
|
|
36780
|
-
|
|
36781
|
-
|
|
36782
|
-
|
|
36783
|
-
|
|
36784
|
-
case "
|
|
36785
|
-
|
|
36786
|
-
|
|
36787
|
-
|
|
36788
|
-
|
|
36789
|
-
|
|
36790
|
-
|
|
37430
|
+
function getGlobalFormFields(form, presentation = {}) {
|
|
37431
|
+
const fields = withOptionalPhone(newsletterPresetFields(form.fields), form.includeOptionalPhone);
|
|
37432
|
+
return presentation.lookSlots ? fields.map((field) => ({
|
|
37433
|
+
...field,
|
|
37434
|
+
label: lookFieldLabel(field)
|
|
37435
|
+
})) : fields;
|
|
37436
|
+
}
|
|
37437
|
+
function lookFieldLabel(field) {
|
|
37438
|
+
switch (field.id) {
|
|
37439
|
+
case "firstName": return "First name";
|
|
37440
|
+
case "lastName": return "Last name";
|
|
37441
|
+
default: return field.label;
|
|
37442
|
+
}
|
|
37443
|
+
}
|
|
37444
|
+
const emailField = {
|
|
37445
|
+
id: "email",
|
|
37446
|
+
type: "email",
|
|
37447
|
+
label: "Email",
|
|
37448
|
+
required: true,
|
|
37449
|
+
placeholder: "your@email.com"
|
|
37450
|
+
};
|
|
37451
|
+
const firstNameField = (required) => ({
|
|
37452
|
+
id: "firstName",
|
|
37453
|
+
type: "text",
|
|
37454
|
+
label: "First Name",
|
|
37455
|
+
required,
|
|
37456
|
+
placeholder: "First name"
|
|
37457
|
+
});
|
|
37458
|
+
function newsletterPresetFields(fields) {
|
|
37459
|
+
switch (fields.preset) {
|
|
37460
|
+
case "emailOnly": return [emailField];
|
|
37461
|
+
case "emailName": return [emailField, {
|
|
36791
37462
|
id: "name",
|
|
36792
37463
|
type: "text",
|
|
36793
37464
|
label: "Name",
|
|
36794
|
-
required:
|
|
37465
|
+
required: fields.name === "required",
|
|
36795
37466
|
placeholder: "Your name"
|
|
36796
|
-
}]
|
|
36797
|
-
case "
|
|
36798
|
-
|
|
36799
|
-
|
|
36800
|
-
|
|
36801
|
-
label: "Email",
|
|
36802
|
-
required: true,
|
|
36803
|
-
placeholder: "your@email.com"
|
|
36804
|
-
},
|
|
36805
|
-
{
|
|
36806
|
-
id: "firstName",
|
|
36807
|
-
type: "text",
|
|
36808
|
-
label: "First Name",
|
|
36809
|
-
required: form.fields.firstName === "required",
|
|
36810
|
-
placeholder: "First name"
|
|
36811
|
-
},
|
|
37467
|
+
}];
|
|
37468
|
+
case "emailFirstName": return [emailField, firstNameField(fields.firstName === "required")];
|
|
37469
|
+
case "emailFirstLast": return [
|
|
37470
|
+
emailField,
|
|
37471
|
+
firstNameField(fields.firstName === "required"),
|
|
36812
37472
|
{
|
|
36813
37473
|
id: "lastName",
|
|
36814
37474
|
type: "text",
|
|
36815
37475
|
label: "Last Name",
|
|
36816
|
-
required:
|
|
37476
|
+
required: fields.lastName === "required",
|
|
36817
37477
|
placeholder: "Last name"
|
|
36818
37478
|
}
|
|
36819
|
-
]
|
|
36820
|
-
case "emailNameCompany": return
|
|
36821
|
-
|
|
36822
|
-
id: "email",
|
|
36823
|
-
type: "email",
|
|
36824
|
-
label: "Email",
|
|
36825
|
-
required: true,
|
|
36826
|
-
placeholder: "your@email.com"
|
|
36827
|
-
},
|
|
37479
|
+
];
|
|
37480
|
+
case "emailNameCompany": return [
|
|
37481
|
+
emailField,
|
|
36828
37482
|
{
|
|
36829
37483
|
id: "name",
|
|
36830
37484
|
type: "text",
|
|
36831
37485
|
label: "Name",
|
|
36832
|
-
required:
|
|
37486
|
+
required: fields.name === "required",
|
|
36833
37487
|
placeholder: "Your name"
|
|
36834
37488
|
},
|
|
36835
37489
|
{
|
|
36836
37490
|
id: "company",
|
|
36837
37491
|
type: "text",
|
|
36838
37492
|
label: "Company",
|
|
36839
|
-
required:
|
|
37493
|
+
required: fields.company === "required",
|
|
36840
37494
|
placeholder: "Company name"
|
|
36841
37495
|
}
|
|
36842
|
-
]
|
|
36843
|
-
default:
|
|
37496
|
+
];
|
|
37497
|
+
default: return assertNever$1(fields);
|
|
36844
37498
|
}
|
|
36845
37499
|
}
|
|
36846
37500
|
function withOptionalPhone(fields, includePhone) {
|
|
@@ -36902,6 +37556,7 @@ const mailingListSignupBlockSourceRefSchema = z.object({
|
|
|
36902
37556
|
});
|
|
36903
37557
|
const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
36904
37558
|
const newsletterSourceCommonSchema = z.object({
|
|
37559
|
+
lookSlots: lookListPresentationSchemaShape.lookSlots,
|
|
36905
37560
|
siteId: z.string().optional(),
|
|
36906
37561
|
apiBaseUrl: z.string().optional(),
|
|
36907
37562
|
mailingList: mailingListContextSchema.optional(),
|
|
@@ -36934,6 +37589,7 @@ const newsletterSourceSchema = z.discriminatedUnion("source", [
|
|
|
36934
37589
|
newsletterSourceCommonSchema.extend({ source: z.literal("preview") })
|
|
36935
37590
|
]);
|
|
36936
37591
|
const newsletterDisplaySchema = z.object({
|
|
37592
|
+
lookSlots: lookListPresentationSchemaShape.lookSlots,
|
|
36937
37593
|
kind: z.literal("newsletter-form"),
|
|
36938
37594
|
availability: z.enum(["ready", "unavailable"]),
|
|
36939
37595
|
className: z.string().nullable(),
|
|
@@ -37000,13 +37656,14 @@ function buildNewsletterDisplay(source) {
|
|
|
37000
37656
|
const choices = resolveRuntimeChoices(assessment);
|
|
37001
37657
|
return {
|
|
37002
37658
|
kind: "newsletter-form",
|
|
37659
|
+
...source.lookSlots ? { lookSlots: source.lookSlots } : {},
|
|
37003
37660
|
availability: assessment.tag === "available" ? "ready" : "unavailable",
|
|
37004
37661
|
className: source.className ?? null,
|
|
37005
37662
|
buttonLabel: form.buttonLabel,
|
|
37006
37663
|
successMessage: form.successMessage,
|
|
37007
37664
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
37008
37665
|
privacyNote: form.privacyNote,
|
|
37009
|
-
fields: getGlobalFormFields(form),
|
|
37666
|
+
fields: getGlobalFormFields(form, source),
|
|
37010
37667
|
choices
|
|
37011
37668
|
};
|
|
37012
37669
|
}
|
|
@@ -37078,32 +37735,50 @@ function parseRequiredMailingListSignedSourceToken(value) {
|
|
|
37078
37735
|
//#region ../blocks/src/system/blocks/newsletter-signup.ts
|
|
37079
37736
|
const stackedComposition = composeFragments([{ fragment: newsletterCopyFragment }, { fragment: newsletterFormFragment }]);
|
|
37080
37737
|
const stackedLayout = styledSection({
|
|
37081
|
-
children: sectionContainer(stackedComposition.layout, {
|
|
37738
|
+
children: props(lookSlot("layout"))(sectionContainer(stackedComposition.layout, {
|
|
37082
37739
|
gap: "md",
|
|
37083
37740
|
className: "rb-text-center newsletter-stacked"
|
|
37084
|
-
}),
|
|
37741
|
+
})),
|
|
37085
37742
|
baseClass: "",
|
|
37086
37743
|
spacing: "medium",
|
|
37087
37744
|
background: "surface"
|
|
37088
37745
|
});
|
|
37089
37746
|
const inlineLayout = styledSection({
|
|
37090
|
-
children: sectionContainer(stackedComposition.layout, {
|
|
37747
|
+
children: props(lookSlot("layout"))(sectionContainer(stackedComposition.layout, {
|
|
37091
37748
|
gap: "md",
|
|
37092
37749
|
className: "newsletter-inline"
|
|
37093
|
-
}),
|
|
37750
|
+
})),
|
|
37094
37751
|
baseClass: "",
|
|
37095
37752
|
spacing: "medium",
|
|
37096
37753
|
background: "surface"
|
|
37097
37754
|
});
|
|
37098
37755
|
const editorialSplitLayout = styledSection({
|
|
37099
|
-
children:
|
|
37756
|
+
children: props(lookSlot("layout"))(sectionContainer([el("div", {
|
|
37757
|
+
className: "newsletter-editorial-split-copy",
|
|
37758
|
+
...lookSlot("head")
|
|
37759
|
+
}, newsletterCopyFragment.layout), el("div", {
|
|
37760
|
+
className: "newsletter-editorial-split-form",
|
|
37761
|
+
...lookSlot("panel")
|
|
37762
|
+
}, newsletterFormFragment.layout)], {
|
|
37100
37763
|
gap: "lg",
|
|
37101
37764
|
className: "newsletter-editorial-split"
|
|
37102
|
-
}),
|
|
37765
|
+
})),
|
|
37103
37766
|
baseClass: "",
|
|
37104
37767
|
spacing: "comfortable",
|
|
37105
37768
|
background: "surface"
|
|
37106
37769
|
});
|
|
37770
|
+
const archLayout = styledSection({
|
|
37771
|
+
children: el("div", {
|
|
37772
|
+
className: "rb-container",
|
|
37773
|
+
...lookSlot("layout")
|
|
37774
|
+
}, [el("div", lookSlot("frame"), [el("div", {
|
|
37775
|
+
className: "rb-grid",
|
|
37776
|
+
...lookSlot("head")
|
|
37777
|
+
}, newsletterCopyFragment.layout), ...newsletterFormFragment.layout])]),
|
|
37778
|
+
baseClass: "",
|
|
37779
|
+
spacing: "medium",
|
|
37780
|
+
background: "surface"
|
|
37781
|
+
});
|
|
37107
37782
|
const newsletterSignupManifest = createBlockManifest({
|
|
37108
37783
|
id: "block.newsletter-signup",
|
|
37109
37784
|
title: "Newsletter Signup",
|
|
@@ -37118,13 +37793,26 @@ const newsletterSignupManifest = createBlockManifest({
|
|
|
37118
37793
|
fragment: newsletterFormFragment,
|
|
37119
37794
|
fieldPriority: 1
|
|
37120
37795
|
}],
|
|
37796
|
+
additionalFields: [{
|
|
37797
|
+
id: "archFrame",
|
|
37798
|
+
type: "boolean",
|
|
37799
|
+
label: "Arch frame",
|
|
37800
|
+
ui: {
|
|
37801
|
+
intent: "display",
|
|
37802
|
+
hidden: true
|
|
37803
|
+
}
|
|
37804
|
+
}],
|
|
37121
37805
|
layout: stackedLayout,
|
|
37122
37806
|
variants: {
|
|
37807
|
+
arch: archLayout,
|
|
37123
37808
|
stacked: stackedLayout,
|
|
37124
37809
|
inline: inlineLayout,
|
|
37125
37810
|
"editorial-split": editorialSplitLayout
|
|
37126
37811
|
},
|
|
37127
|
-
variantMeaning: {
|
|
37812
|
+
variantMeaning: {
|
|
37813
|
+
kind: "arrangement",
|
|
37814
|
+
lookOnlyKeys: ["arch"]
|
|
37815
|
+
},
|
|
37128
37816
|
defaultVariant: "stacked",
|
|
37129
37817
|
variantOptions: {
|
|
37130
37818
|
stacked: {
|
|
@@ -38211,7 +38899,7 @@ const systemBlockDefinitions = [
|
|
|
38211
38899
|
})
|
|
38212
38900
|
]
|
|
38213
38901
|
})),
|
|
38214
|
-
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
38902
|
+
withDesignCapability("block.body-text", bodyTextBlockDefinition, withLookCapability(sectionOnly()), defineBlockDesignMetadata({
|
|
38215
38903
|
flow: bodyFlow,
|
|
38216
38904
|
layoutProfiles: [
|
|
38217
38905
|
layoutProfile({
|
|
@@ -38586,7 +39274,7 @@ const systemBlockDefinitions = [
|
|
|
38586
39274
|
weight: "quiet"
|
|
38587
39275
|
})]
|
|
38588
39276
|
})),
|
|
38589
|
-
withDesignCapability("block.image-gallery", imageGalleryBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
39277
|
+
withDesignCapability("block.image-gallery", imageGalleryBlockDefinition, withLookCapability(sectionOnly()), defineBlockDesignMetadata({
|
|
38590
39278
|
flow: mediaFlow,
|
|
38591
39279
|
layoutProfiles: [
|
|
38592
39280
|
layoutProfile({
|
|
@@ -38675,7 +39363,7 @@ const systemBlockDefinitions = [
|
|
|
38675
39363
|
weight: "standard"
|
|
38676
39364
|
})]
|
|
38677
39365
|
})),
|
|
38678
|
-
withDesignCapability("block.newsletter-signup", newsletterSignupBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
39366
|
+
withDesignCapability("block.newsletter-signup", newsletterSignupBlockDefinition, withLookCapability(sectionOnly()), defineBlockDesignMetadata({
|
|
38679
39367
|
flow: conversionFlow,
|
|
38680
39368
|
layoutProfiles: [
|
|
38681
39369
|
layoutProfile({
|