@riverbankcms/sdk 0.82.0 → 0.84.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/{PreviewEditorSidebar-LHGK6RIO.mjs → PreviewEditorSidebar-X7RLMEI6.mjs} +330 -11
- package/dist/{PreviewEditorUI-AXZG2SDC.mjs → PreviewEditorUI-CT67N4O3.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-EIMQ3S2V.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +200 -0
- package/dist/_dts/api/src/blocks.d.ts +36 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +40 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/sdk-event-pricing.d.ts +61 -0
- package/dist/_dts/api/src/sdk-event-schedule.d.ts +52 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +50 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +67 -33
- package/dist/_dts/api/src/shared-contracts.d.ts +13 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +22 -36
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +46 -1
- package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +6 -1
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +3 -2
- package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +7 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +11 -0
- package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +4 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +171 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -7
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +2534 -151
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -2016
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +36 -3
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +4 -1
- package/dist/_dts/blocks/src/system/fields/imageShape.d.ts +30 -0
- package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +25 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +35 -161
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +33 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +13 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +28 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +2 -1
- package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +100 -5
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +7 -5
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
- package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +9 -8
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +5 -1
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
- package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +9 -8
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
- package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +26 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +13 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +33 -33
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
- package/dist/_dts/theme-core/src/schema.d.ts +30 -25
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
- package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
- package/dist/{chunk-2BUMISSH.mjs → chunk-3LXFQS7T.mjs} +1 -1
- package/dist/{chunk-FIREV57T.mjs → chunk-LBBPD2IW.mjs} +40 -0
- package/dist/{chunk-XQR6THQJ.mjs → chunk-O62NDCTI.mjs} +3390 -1331
- package/dist/{chunk-6FWNF3DJ.mjs → chunk-QRKJDWT7.mjs} +158 -20
- package/dist/{chunk-HKB6XVIP.mjs → chunk-RCTJAZSK.mjs} +2 -2
- package/dist/{chunk-G35HOQEN.mjs → chunk-X5ZCSU6F.mjs} +132 -46
- package/dist/cli/index.mjs +2925 -577
- package/dist/cli/init-docs/content/agents-section.md +5 -0
- package/dist/cli/init-docs/content/cli-reference.md +13 -0
- package/dist/cli/init-docs/content/content-management.md +31 -0
- package/dist/cli/init-docs/content/getting-started.md +14 -0
- package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
- package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
- package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
- package/dist/cli/init-docs/content/workflow-templates.md +107 -2
- package/dist/client/{accordion-G34C45TW.mjs → accordion-2UZPBMYM.mjs} +2 -2
- package/dist/client/{bookingForm-BLBVKSAQ.mjs → bookingForm-DYXT6YB6.mjs} +5 -5
- package/dist/client/bookings.mjs +3477 -186
- package/dist/client/{carousel-7ZVTBRMD.mjs → carousel-QH77HR6X.mjs} +3 -3
- package/dist/client/{cart-Q6S6LZUO.mjs → cart-X4YK4FTW.mjs} +6 -6
- package/dist/client/{checkout-5QJLDE4I.mjs → checkout-OM2BEPWD.mjs} +6 -6
- package/dist/client/{chunk-ZF4XEWDM.mjs → chunk-3DTWLTXM.mjs} +1 -1
- package/dist/client/{chunk-5PQH4Y75.mjs → chunk-4OXKTA3D.mjs} +2 -2
- package/dist/client/{chunk-WJFHDTYF.mjs → chunk-52CGCQ7B.mjs} +5 -5
- package/dist/client/{chunk-CHAB5ACD.mjs → chunk-7UCLJ5SP.mjs} +2 -2
- package/dist/client/{chunk-U2EW7RSR.mjs → chunk-F5VRX5Y6.mjs} +1 -1
- package/dist/client/{chunk-SBBSMFFG.mjs → chunk-SYIJ5JO2.mjs} +1 -1
- package/dist/client/{chunk-EQKYMX4N.mjs → chunk-UHDWIXVR.mjs} +180 -157
- package/dist/client/{chunk-RJHTCTCZ.mjs → chunk-VGDBVNOO.mjs} +429 -15
- package/dist/client/{chunk-S3MKFGOG.mjs → chunk-ZE5G642V.mjs} +1 -1
- package/dist/client/{chunk-CSZGLBYR.mjs → chunk-ZKUO52W3.mjs} +1 -1
- package/dist/client/client.mjs +2685 -847
- package/dist/client/{courseRegistration-VUG2JJDB.mjs → courseRegistration-YBOGURTA.mjs} +5 -5
- package/dist/client/{eventCalendar-E7D2LD4N.mjs → eventCalendar-K4QJVCMD.mjs} +7 -7
- package/dist/client/{eventCombined-FUZ2Z3CS.mjs → eventCombined-MTXGMTCZ.mjs} +7 -7
- package/dist/client/{eventDetails-QRITJAOW.mjs → eventDetails-3PC4NL3U.mjs} +7 -7
- package/dist/client/{eventListing-INMQMJZ5.mjs → eventListing-TFJET6DN.mjs} +7 -7
- package/dist/client/{eventRegistration-TOOJD4WU.mjs → eventRegistration-QGPBGJTW.mjs} +7 -7
- package/dist/client/{form-BOWN7ZNQ.mjs → form-MDKR4FNB.mjs} +2 -2
- package/dist/client/{headerSection-HFQNZOUU.mjs → headerSection-Y5TMR3TW.mjs} +3 -3
- package/dist/client/hooks.mjs +2077 -546
- package/dist/client/{locationMap-VUZGC7Y5.mjs → locationMap-RH2LG7FZ.mjs} +2 -2
- package/dist/client/{newsletterForm-X2XQTPCB.mjs → newsletterForm-ZR5UDGBT.mjs} +2 -2
- package/dist/client/{productDetail-TA7D2G2B.mjs → productDetail-OIGDR4YE.mjs} +6 -6
- package/dist/client/{productList-AZOLOZKM.mjs → productList-4MA5S2CX.mjs} +6 -6
- package/dist/client/rendering/client.mjs +2560 -1205
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2932 -1021
- package/dist/client/{shop-ZDLO7IIG.mjs → shop-WXSYV5QO.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +40 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +40 -0
- package/dist/{sdk-runtime-CTWKNBDQ.mjs → sdk-runtime-7HJYPRWQ.mjs} +6 -6
- package/dist/server/components.mjs +2232 -534
- package/dist/server/config-validation.mjs +2068 -536
- package/dist/server/config.mjs +2068 -536
- package/dist/server/data.mjs +2077 -546
- package/dist/server/index.mjs +42 -1
- package/dist/server/next.mjs +2345 -574
- package/dist/server/page-converter.mjs +2684 -1220
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2244 -546
- package/dist/server/rendering.mjs +2323 -552
- package/dist/server/routing.mjs +2012 -420
- package/dist/server/server.mjs +2153 -549
- package/dist/server/theme-bridge.mjs +1180 -101
- package/dist/server/theme.mjs +92 -1
- package/dist/styles/index.css +292 -36
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +0 -8
|
@@ -3246,6 +3246,46 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3246
3246
|
auth: "user",
|
|
3247
3247
|
responseKind: "json"
|
|
3248
3248
|
},
|
|
3249
|
+
listEntrySlotBlocks: {
|
|
3250
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3251
|
+
method: "GET",
|
|
3252
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3253
|
+
auth: "user",
|
|
3254
|
+
responseKind: "json",
|
|
3255
|
+
errors: ["resource:not_found"]
|
|
3256
|
+
},
|
|
3257
|
+
listEntryPageContentSlots: {
|
|
3258
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots",
|
|
3259
|
+
method: "GET",
|
|
3260
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slots", "blocks"],
|
|
3261
|
+
auth: "user",
|
|
3262
|
+
responseKind: "json",
|
|
3263
|
+
errors: ["resource:not_found"]
|
|
3264
|
+
},
|
|
3265
|
+
createEntrySlotBlock: {
|
|
3266
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3267
|
+
method: "POST",
|
|
3268
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3269
|
+
auth: "user",
|
|
3270
|
+
responseKind: "json",
|
|
3271
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3272
|
+
},
|
|
3273
|
+
reorderEntrySlotBlocks: {
|
|
3274
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/reorder",
|
|
3275
|
+
method: "POST",
|
|
3276
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3277
|
+
auth: "user",
|
|
3278
|
+
responseKind: "json",
|
|
3279
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3280
|
+
},
|
|
3281
|
+
deleteEntrySlotBlock: {
|
|
3282
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/{blockId}",
|
|
3283
|
+
method: "DELETE",
|
|
3284
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3285
|
+
auth: "user",
|
|
3286
|
+
responseKind: "json",
|
|
3287
|
+
errors: ["resource:not_found"]
|
|
3288
|
+
},
|
|
3249
3289
|
createBlock: {
|
|
3250
3290
|
path: "/sites/{siteId}/pages/{pageId}/blocks",
|
|
3251
3291
|
method: "POST",
|
|
@@ -6338,6 +6378,171 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
6338
6378
|
}
|
|
6339
6379
|
};
|
|
6340
6380
|
|
|
6381
|
+
// ../core/src/result.ts
|
|
6382
|
+
function ok(value) {
|
|
6383
|
+
return { ok: true, value };
|
|
6384
|
+
}
|
|
6385
|
+
function err(error) {
|
|
6386
|
+
return { ok: false, error };
|
|
6387
|
+
}
|
|
6388
|
+
|
|
6389
|
+
// ../core/src/event-pricing.ts
|
|
6390
|
+
function publicEventPricingType(pricing) {
|
|
6391
|
+
switch (pricing.kind) {
|
|
6392
|
+
case "drop_in":
|
|
6393
|
+
case "free_registration":
|
|
6394
|
+
return "free";
|
|
6395
|
+
case "single_paid":
|
|
6396
|
+
case "ticket_types":
|
|
6397
|
+
case "course":
|
|
6398
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6399
|
+
}
|
|
6400
|
+
}
|
|
6401
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
6402
|
+
switch (display.kind) {
|
|
6403
|
+
case "free":
|
|
6404
|
+
return true;
|
|
6405
|
+
case "course":
|
|
6406
|
+
return display.display.kind === "free";
|
|
6407
|
+
case "exact":
|
|
6408
|
+
case "from":
|
|
6409
|
+
case "mixed":
|
|
6410
|
+
case "unavailable":
|
|
6411
|
+
return false;
|
|
6412
|
+
}
|
|
6413
|
+
}
|
|
6414
|
+
|
|
6415
|
+
// ../core/src/booking-date-time.ts
|
|
6416
|
+
var DEFAULT_LOCALE = "en-US";
|
|
6417
|
+
var FALLBACK_TIMEZONE = "UTC";
|
|
6418
|
+
function isValidTimeZone(timeZone) {
|
|
6419
|
+
try {
|
|
6420
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
6421
|
+
return true;
|
|
6422
|
+
} catch {
|
|
6423
|
+
return false;
|
|
6424
|
+
}
|
|
6425
|
+
}
|
|
6426
|
+
function getSafeTimeZone(timeZone) {
|
|
6427
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
6428
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
6429
|
+
}
|
|
6430
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
6431
|
+
const normalized = timeZone.trim();
|
|
6432
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
6433
|
+
return null;
|
|
6434
|
+
}
|
|
6435
|
+
return normalized;
|
|
6436
|
+
}
|
|
6437
|
+
function formatParseError(error) {
|
|
6438
|
+
switch (error.reason) {
|
|
6439
|
+
case "invalid_starts_at":
|
|
6440
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
6441
|
+
case "invalid_ends_at":
|
|
6442
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
6443
|
+
case "invalid_time_zone":
|
|
6444
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
6445
|
+
}
|
|
6446
|
+
}
|
|
6447
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
6448
|
+
return new Map(
|
|
6449
|
+
new Intl.DateTimeFormat(locale, {
|
|
6450
|
+
...format,
|
|
6451
|
+
timeZone
|
|
6452
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
6453
|
+
);
|
|
6454
|
+
}
|
|
6455
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
6456
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
6457
|
+
year: "numeric",
|
|
6458
|
+
month: "2-digit",
|
|
6459
|
+
day: "2-digit",
|
|
6460
|
+
hour: "2-digit",
|
|
6461
|
+
minute: "2-digit",
|
|
6462
|
+
second: "2-digit",
|
|
6463
|
+
hour12: false
|
|
6464
|
+
});
|
|
6465
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
6466
|
+
return {
|
|
6467
|
+
year: read("year"),
|
|
6468
|
+
month: read("month"),
|
|
6469
|
+
day: read("day"),
|
|
6470
|
+
hour: read("hour"),
|
|
6471
|
+
minute: read("minute"),
|
|
6472
|
+
second: read("second")
|
|
6473
|
+
};
|
|
6474
|
+
}
|
|
6475
|
+
function formatDateKey(date) {
|
|
6476
|
+
const year = String(date.year).padStart(4, "0");
|
|
6477
|
+
const month = String(date.month).padStart(2, "0");
|
|
6478
|
+
const day = String(date.day).padStart(2, "0");
|
|
6479
|
+
return `${year}-${month}-${day}`;
|
|
6480
|
+
}
|
|
6481
|
+
function parseUtcIsoDateTimeString(value) {
|
|
6482
|
+
const normalized = value.trim();
|
|
6483
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
6484
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
6485
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
6486
|
+
return err("missing-timezone-offset");
|
|
6487
|
+
}
|
|
6488
|
+
const date = new Date(normalized);
|
|
6489
|
+
if (Number.isNaN(date.getTime())) {
|
|
6490
|
+
return err("invalid-date-time");
|
|
6491
|
+
}
|
|
6492
|
+
return ok(date.toISOString());
|
|
6493
|
+
}
|
|
6494
|
+
function toUtcIsoDateTimeString(value) {
|
|
6495
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
6496
|
+
if (!parsed.ok) {
|
|
6497
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
6498
|
+
throw new Error(message);
|
|
6499
|
+
}
|
|
6500
|
+
return parsed.value;
|
|
6501
|
+
}
|
|
6502
|
+
function parseScheduledBookingDateTime(input) {
|
|
6503
|
+
try {
|
|
6504
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
6505
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
6506
|
+
if (!timeZone) {
|
|
6507
|
+
return {
|
|
6508
|
+
ok: false,
|
|
6509
|
+
field: "timeZone",
|
|
6510
|
+
reason: "invalid_time_zone",
|
|
6511
|
+
value: input.timeZone
|
|
6512
|
+
};
|
|
6513
|
+
}
|
|
6514
|
+
return {
|
|
6515
|
+
ok: true,
|
|
6516
|
+
value: {
|
|
6517
|
+
startsAt,
|
|
6518
|
+
timeZone,
|
|
6519
|
+
locale: input.locale
|
|
6520
|
+
}
|
|
6521
|
+
};
|
|
6522
|
+
} catch {
|
|
6523
|
+
return {
|
|
6524
|
+
ok: false,
|
|
6525
|
+
field: "startsAt",
|
|
6526
|
+
reason: "invalid_starts_at",
|
|
6527
|
+
value: input.startsAt
|
|
6528
|
+
};
|
|
6529
|
+
}
|
|
6530
|
+
}
|
|
6531
|
+
function toScheduledBookingDateTime(input) {
|
|
6532
|
+
const result = parseScheduledBookingDateTime(input);
|
|
6533
|
+
if (result.ok) {
|
|
6534
|
+
return result.value;
|
|
6535
|
+
}
|
|
6536
|
+
throw new Error(formatParseError(result));
|
|
6537
|
+
}
|
|
6538
|
+
function getBookingLocalDateKey(input) {
|
|
6539
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
6540
|
+
}
|
|
6541
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
6542
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
6543
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
6544
|
+
}
|
|
6545
|
+
|
|
6341
6546
|
// ../core/src/location.ts
|
|
6342
6547
|
function normalizeLocationAddressText(value) {
|
|
6343
6548
|
if (typeof value !== "string") {
|
|
@@ -6882,6 +7087,21 @@ var selectSourceSchema = z4.discriminatedUnion("kind", [
|
|
|
6882
7087
|
function assertNeverSelectSource(value) {
|
|
6883
7088
|
throw new Error(`Unhandled select source: ${JSON.stringify(value)}`);
|
|
6884
7089
|
}
|
|
7090
|
+
var visibleWhenPredicateSchema = z4.object({
|
|
7091
|
+
field: z4.string().min(1),
|
|
7092
|
+
equals: z4.any().optional(),
|
|
7093
|
+
notEquals: z4.any().optional(),
|
|
7094
|
+
oneOf: z4.array(z4.any()).optional(),
|
|
7095
|
+
notIn: z4.array(z4.any()).optional(),
|
|
7096
|
+
minItems: z4.number().int().nonnegative().optional(),
|
|
7097
|
+
maxItems: z4.number().int().nonnegative().optional()
|
|
7098
|
+
});
|
|
7099
|
+
var visibleWhenSchema = z4.union([
|
|
7100
|
+
visibleWhenPredicateSchema,
|
|
7101
|
+
z4.object({
|
|
7102
|
+
allOf: z4.array(visibleWhenPredicateSchema).min(1)
|
|
7103
|
+
})
|
|
7104
|
+
]);
|
|
6885
7105
|
var uiSchema = z4.object({
|
|
6886
7106
|
widget: z4.string().optional(),
|
|
6887
7107
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -6914,13 +7134,7 @@ var uiSchema = z4.object({
|
|
|
6914
7134
|
showValue: z4.boolean().optional(),
|
|
6915
7135
|
pattern: z4.string().optional(),
|
|
6916
7136
|
placeholder: z4.string().optional(),
|
|
6917
|
-
visibleWhen:
|
|
6918
|
-
field: z4.string().min(1),
|
|
6919
|
-
equals: z4.any().optional(),
|
|
6920
|
-
notEquals: z4.any().optional(),
|
|
6921
|
-
oneOf: z4.array(z4.any()).optional(),
|
|
6922
|
-
notIn: z4.array(z4.any()).optional()
|
|
6923
|
-
}).optional(),
|
|
7137
|
+
visibleWhen: visibleWhenSchema.optional(),
|
|
6924
7138
|
// Modal configuration for modal and group fields
|
|
6925
7139
|
modalConfig: z4.object({
|
|
6926
7140
|
buttonLabel: z4.string().optional(),
|
|
@@ -7687,6 +7901,7 @@ var eventListTreatmentValues = [
|
|
|
7687
7901
|
];
|
|
7688
7902
|
var eyebrowTreatmentValues = [
|
|
7689
7903
|
"plain",
|
|
7904
|
+
"accent",
|
|
7690
7905
|
"pill",
|
|
7691
7906
|
"accent-pill",
|
|
7692
7907
|
"pill-bounce",
|
|
@@ -9278,9 +9493,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9278
9493
|
}
|
|
9279
9494
|
image.remove();
|
|
9280
9495
|
return res;
|
|
9281
|
-
} catch (
|
|
9496
|
+
} catch (err2) {
|
|
9282
9497
|
image.remove();
|
|
9283
|
-
return Promise.reject(
|
|
9498
|
+
return Promise.reject(err2);
|
|
9284
9499
|
}
|
|
9285
9500
|
}
|
|
9286
9501
|
async getPalettes() {
|
|
@@ -9294,9 +9509,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9294
9509
|
const res = result1.palettes;
|
|
9295
9510
|
image.remove();
|
|
9296
9511
|
return res;
|
|
9297
|
-
} catch (
|
|
9512
|
+
} catch (err2) {
|
|
9298
9513
|
image.remove();
|
|
9299
|
-
return Promise.reject(
|
|
9514
|
+
return Promise.reject(err2);
|
|
9300
9515
|
}
|
|
9301
9516
|
}
|
|
9302
9517
|
};
|
|
@@ -10701,27 +10916,28 @@ var joyStamp = defineButtonPersonality({
|
|
|
10701
10916
|
}
|
|
10702
10917
|
});
|
|
10703
10918
|
|
|
10704
|
-
// ../theme-core/src/buttons/personalities/
|
|
10705
|
-
var
|
|
10706
|
-
id: "
|
|
10707
|
-
name: "
|
|
10708
|
-
description: "
|
|
10709
|
-
tags: { tone: "classic", energy: "
|
|
10919
|
+
// ../theme-core/src/buttons/personalities/ornate-ritual.ts
|
|
10920
|
+
var ornateRitual = defineButtonPersonality({
|
|
10921
|
+
id: "ornate-ritual",
|
|
10922
|
+
name: "Ornate Ritual",
|
|
10923
|
+
description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
|
|
10924
|
+
tags: { tone: "classic", energy: "vibrant", motion: "subtle", era: "organic" },
|
|
10710
10925
|
buttonSystem: {
|
|
10711
10926
|
global: {
|
|
10712
|
-
cornerStyle: "
|
|
10927
|
+
cornerStyle: "rounded",
|
|
10713
10928
|
shadow: "none",
|
|
10714
|
-
textTransform: "
|
|
10715
|
-
fontWeight:
|
|
10716
|
-
borderWidth:
|
|
10929
|
+
textTransform: "uppercase",
|
|
10930
|
+
fontWeight: 600,
|
|
10931
|
+
borderWidth: 1,
|
|
10717
10932
|
hoverTransform: "none",
|
|
10718
|
-
hoverColor: "none"
|
|
10933
|
+
hoverColor: "none",
|
|
10934
|
+
letterSpacing: "loose"
|
|
10719
10935
|
},
|
|
10720
10936
|
sizes: {
|
|
10721
|
-
sm: { padding: "0.
|
|
10722
|
-
md: { padding: "0.
|
|
10723
|
-
lg: { padding: "
|
|
10724
|
-
xl: { padding: "
|
|
10937
|
+
sm: { padding: "0.5625rem 1.25rem", fontSize: "text-xs" },
|
|
10938
|
+
md: { padding: "0.75rem 1.75rem", fontSize: "text-xs" },
|
|
10939
|
+
lg: { padding: "0.875rem 2.25rem", fontSize: "text-sm" },
|
|
10940
|
+
xl: { padding: "1rem 2.75rem", fontSize: "text-base" }
|
|
10725
10941
|
},
|
|
10726
10942
|
variants: [
|
|
10727
10943
|
{
|
|
@@ -10731,97 +10947,12 @@ var pebble = defineButtonPersonality({
|
|
|
10731
10947
|
priority: 1,
|
|
10732
10948
|
background: { type: "solid", colorToken: "primary" },
|
|
10733
10949
|
textColorToken: "primaryForeground",
|
|
10734
|
-
borderRadius: "rounded-
|
|
10735
|
-
|
|
10736
|
-
|
|
10737
|
-
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
10738
|
-
]
|
|
10739
|
-
}
|
|
10740
|
-
},
|
|
10741
|
-
{
|
|
10742
|
-
id: "secondary",
|
|
10743
|
-
name: "Secondary",
|
|
10744
|
-
enabled: true,
|
|
10745
|
-
priority: 2,
|
|
10746
|
-
background: { type: "transparent" },
|
|
10747
|
-
textColorToken: "primary",
|
|
10748
|
-
borderRadius: "rounded-full",
|
|
10749
|
-
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10750
|
-
effects: {
|
|
10751
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
10752
|
-
}
|
|
10753
|
-
},
|
|
10754
|
-
{
|
|
10755
|
-
id: "outline",
|
|
10756
|
-
name: "Outline",
|
|
10757
|
-
enabled: true,
|
|
10758
|
-
priority: 3,
|
|
10759
|
-
background: { type: "transparent" },
|
|
10760
|
-
textColorToken: "text",
|
|
10761
|
-
borderRadius: "rounded-full",
|
|
10762
|
-
border: { widthClass: "border", colorToken: "border" },
|
|
10763
|
-
effects: {
|
|
10764
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10765
|
-
}
|
|
10766
|
-
},
|
|
10767
|
-
{
|
|
10768
|
-
id: "ghost",
|
|
10769
|
-
name: "Ghost",
|
|
10770
|
-
enabled: true,
|
|
10771
|
-
priority: 3,
|
|
10772
|
-
background: { type: "transparent" },
|
|
10773
|
-
textColorToken: "primary",
|
|
10774
|
-
borderRadius: "rounded-full",
|
|
10775
|
-
sizes: {
|
|
10776
|
-
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
10777
|
-
md: { padding: "0.5rem 1rem" },
|
|
10778
|
-
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
10779
|
-
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
10780
|
-
},
|
|
10781
|
-
effects: {
|
|
10782
|
-
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
10783
|
-
}
|
|
10784
|
-
}
|
|
10785
|
-
]
|
|
10786
|
-
}
|
|
10787
|
-
});
|
|
10788
|
-
|
|
10789
|
-
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
10790
|
-
var showtimePill = defineButtonPersonality({
|
|
10791
|
-
id: "showtime-pill",
|
|
10792
|
-
name: "Showtime Pill",
|
|
10793
|
-
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
10794
|
-
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
10795
|
-
buttonSystem: {
|
|
10796
|
-
global: {
|
|
10797
|
-
cornerStyle: "pill",
|
|
10798
|
-
shadow: "low",
|
|
10799
|
-
textTransform: "uppercase",
|
|
10800
|
-
fontWeight: 700,
|
|
10801
|
-
borderWidth: 2,
|
|
10802
|
-
hoverTransform: "lift",
|
|
10803
|
-
hoverColor: "darken",
|
|
10804
|
-
typography: "body",
|
|
10805
|
-
paddingPreset: "spacious",
|
|
10806
|
-
italic: false
|
|
10807
|
-
},
|
|
10808
|
-
sizes: {
|
|
10809
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
10810
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
10811
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
10812
|
-
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
10813
|
-
},
|
|
10814
|
-
variants: [
|
|
10815
|
-
{
|
|
10816
|
-
id: "primary",
|
|
10817
|
-
name: "Primary",
|
|
10818
|
-
enabled: true,
|
|
10819
|
-
priority: 1,
|
|
10820
|
-
background: { type: "solid", colorToken: "primary" },
|
|
10821
|
-
textColorToken: "background",
|
|
10822
|
-
borderRadius: "rounded-full",
|
|
10950
|
+
borderRadius: "rounded-md",
|
|
10951
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10952
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10823
10953
|
effects: {
|
|
10824
|
-
hover: [{ effectId: "
|
|
10954
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "primary-100" } }],
|
|
10955
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
10825
10956
|
}
|
|
10826
10957
|
},
|
|
10827
10958
|
{
|
|
@@ -10829,35 +10960,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10829
10960
|
name: "Secondary",
|
|
10830
10961
|
enabled: true,
|
|
10831
10962
|
priority: 2,
|
|
10832
|
-
background: { type: "transparent" },
|
|
10833
|
-
textColorToken: "primary",
|
|
10834
|
-
borderRadius: "rounded-full",
|
|
10835
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10836
|
-
effects: {
|
|
10837
|
-
hover: [{ effectId: "pop" }]
|
|
10838
|
-
}
|
|
10839
|
-
},
|
|
10840
|
-
{
|
|
10841
|
-
id: "hero",
|
|
10842
|
-
name: "Hero",
|
|
10843
|
-
enabled: true,
|
|
10844
|
-
priority: 1,
|
|
10845
10963
|
background: { type: "solid", colorToken: "secondary" },
|
|
10846
|
-
textColorToken: "
|
|
10847
|
-
borderRadius: "rounded-
|
|
10848
|
-
|
|
10849
|
-
|
|
10850
|
-
}
|
|
10851
|
-
},
|
|
10852
|
-
{
|
|
10853
|
-
id: "header",
|
|
10854
|
-
name: "Header",
|
|
10855
|
-
enabled: true,
|
|
10856
|
-
priority: 2,
|
|
10857
|
-
background: { type: "solid", colorToken: "background" },
|
|
10858
|
-
textColorToken: "primary",
|
|
10859
|
-
borderRadius: "rounded-full",
|
|
10860
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10964
|
+
textColorToken: "primaryForeground",
|
|
10965
|
+
borderRadius: "rounded-md",
|
|
10966
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10967
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10861
10968
|
effects: {
|
|
10862
10969
|
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10863
10970
|
}
|
|
@@ -10869,10 +10976,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10869
10976
|
priority: 3,
|
|
10870
10977
|
background: { type: "transparent" },
|
|
10871
10978
|
textColorToken: "primary",
|
|
10872
|
-
borderRadius: "rounded-
|
|
10873
|
-
border: { widthClass: "border
|
|
10979
|
+
borderRadius: "rounded-md",
|
|
10980
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10981
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10874
10982
|
effects: {
|
|
10875
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
10983
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
10876
10984
|
}
|
|
10877
10985
|
},
|
|
10878
10986
|
{
|
|
@@ -10881,32 +10989,44 @@ var showtimePill = defineButtonPersonality({
|
|
|
10881
10989
|
enabled: true,
|
|
10882
10990
|
priority: 3,
|
|
10883
10991
|
background: { type: "transparent" },
|
|
10884
|
-
textColorToken: "
|
|
10885
|
-
borderRadius: "rounded-
|
|
10992
|
+
textColorToken: "accent",
|
|
10993
|
+
borderRadius: "rounded-none",
|
|
10994
|
+
sizes: {
|
|
10995
|
+
sm: { padding: "0.375rem 0", fontSize: "text-xs" },
|
|
10996
|
+
md: { padding: "0.5rem 0", fontSize: "text-sm" },
|
|
10997
|
+
lg: { padding: "0.625rem 0", fontSize: "text-base" },
|
|
10998
|
+
xl: { padding: "0.75rem 0", fontSize: "text-lg" }
|
|
10999
|
+
},
|
|
10886
11000
|
effects: {
|
|
10887
|
-
|
|
11001
|
+
base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
|
|
10888
11002
|
}
|
|
10889
11003
|
}
|
|
10890
11004
|
]
|
|
10891
11005
|
}
|
|
10892
11006
|
});
|
|
10893
11007
|
|
|
10894
|
-
// ../theme-core/src/buttons/personalities/
|
|
10895
|
-
var
|
|
10896
|
-
id: "
|
|
10897
|
-
name: "
|
|
10898
|
-
description: "
|
|
10899
|
-
tags: { tone: "classic", energy: "calm", motion: "
|
|
11008
|
+
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
11009
|
+
var pebble = defineButtonPersonality({
|
|
11010
|
+
id: "pebble",
|
|
11011
|
+
name: "Pebble",
|
|
11012
|
+
description: "Generous pill buttons with a quiet colour-softening hover.",
|
|
11013
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
|
|
10900
11014
|
buttonSystem: {
|
|
10901
11015
|
global: {
|
|
10902
11016
|
cornerStyle: "pill",
|
|
10903
|
-
shadow: "
|
|
11017
|
+
shadow: "none",
|
|
10904
11018
|
textTransform: "none",
|
|
10905
11019
|
fontWeight: 500,
|
|
10906
11020
|
borderWidth: 2,
|
|
10907
|
-
hoverTransform: "
|
|
11021
|
+
hoverTransform: "none",
|
|
10908
11022
|
hoverColor: "none"
|
|
10909
11023
|
},
|
|
11024
|
+
sizes: {
|
|
11025
|
+
sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
|
|
11026
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
11027
|
+
lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
|
|
11028
|
+
xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
|
|
11029
|
+
},
|
|
10910
11030
|
variants: [
|
|
10911
11031
|
{
|
|
10912
11032
|
id: "primary",
|
|
@@ -10916,10 +11036,10 @@ var softPill = defineButtonPersonality({
|
|
|
10916
11036
|
background: { type: "solid", colorToken: "primary" },
|
|
10917
11037
|
textColorToken: "primaryForeground",
|
|
10918
11038
|
borderRadius: "rounded-full",
|
|
10919
|
-
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
10920
11039
|
effects: {
|
|
10921
|
-
hover: [
|
|
10922
|
-
|
|
11040
|
+
hover: [
|
|
11041
|
+
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
11042
|
+
]
|
|
10923
11043
|
}
|
|
10924
11044
|
},
|
|
10925
11045
|
{
|
|
@@ -10930,9 +11050,193 @@ var softPill = defineButtonPersonality({
|
|
|
10930
11050
|
background: { type: "transparent" },
|
|
10931
11051
|
textColorToken: "primary",
|
|
10932
11052
|
borderRadius: "rounded-full",
|
|
10933
|
-
border: { widthClass: "border-2", colorToken: "
|
|
11053
|
+
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10934
11054
|
effects: {
|
|
10935
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
11055
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
11056
|
+
}
|
|
11057
|
+
},
|
|
11058
|
+
{
|
|
11059
|
+
id: "outline",
|
|
11060
|
+
name: "Outline",
|
|
11061
|
+
enabled: true,
|
|
11062
|
+
priority: 3,
|
|
11063
|
+
background: { type: "transparent" },
|
|
11064
|
+
textColorToken: "text",
|
|
11065
|
+
borderRadius: "rounded-full",
|
|
11066
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
11067
|
+
effects: {
|
|
11068
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11069
|
+
}
|
|
11070
|
+
},
|
|
11071
|
+
{
|
|
11072
|
+
id: "ghost",
|
|
11073
|
+
name: "Ghost",
|
|
11074
|
+
enabled: true,
|
|
11075
|
+
priority: 3,
|
|
11076
|
+
background: { type: "transparent" },
|
|
11077
|
+
textColorToken: "primary",
|
|
11078
|
+
borderRadius: "rounded-full",
|
|
11079
|
+
sizes: {
|
|
11080
|
+
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
11081
|
+
md: { padding: "0.5rem 1rem" },
|
|
11082
|
+
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
11083
|
+
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
11084
|
+
},
|
|
11085
|
+
effects: {
|
|
11086
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
11087
|
+
}
|
|
11088
|
+
}
|
|
11089
|
+
]
|
|
11090
|
+
}
|
|
11091
|
+
});
|
|
11092
|
+
|
|
11093
|
+
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
11094
|
+
var showtimePill = defineButtonPersonality({
|
|
11095
|
+
id: "showtime-pill",
|
|
11096
|
+
name: "Showtime Pill",
|
|
11097
|
+
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
11098
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
11099
|
+
buttonSystem: {
|
|
11100
|
+
global: {
|
|
11101
|
+
cornerStyle: "pill",
|
|
11102
|
+
shadow: "low",
|
|
11103
|
+
textTransform: "uppercase",
|
|
11104
|
+
fontWeight: 700,
|
|
11105
|
+
borderWidth: 2,
|
|
11106
|
+
hoverTransform: "lift",
|
|
11107
|
+
hoverColor: "darken",
|
|
11108
|
+
typography: "body",
|
|
11109
|
+
paddingPreset: "spacious",
|
|
11110
|
+
italic: false
|
|
11111
|
+
},
|
|
11112
|
+
sizes: {
|
|
11113
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
11114
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
11115
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
11116
|
+
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
11117
|
+
},
|
|
11118
|
+
variants: [
|
|
11119
|
+
{
|
|
11120
|
+
id: "primary",
|
|
11121
|
+
name: "Primary",
|
|
11122
|
+
enabled: true,
|
|
11123
|
+
priority: 1,
|
|
11124
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11125
|
+
textColorToken: "background",
|
|
11126
|
+
borderRadius: "rounded-full",
|
|
11127
|
+
effects: {
|
|
11128
|
+
hover: [{ effectId: "pop" }]
|
|
11129
|
+
}
|
|
11130
|
+
},
|
|
11131
|
+
{
|
|
11132
|
+
id: "secondary",
|
|
11133
|
+
name: "Secondary",
|
|
11134
|
+
enabled: true,
|
|
11135
|
+
priority: 2,
|
|
11136
|
+
background: { type: "transparent" },
|
|
11137
|
+
textColorToken: "primary",
|
|
11138
|
+
borderRadius: "rounded-full",
|
|
11139
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11140
|
+
effects: {
|
|
11141
|
+
hover: [{ effectId: "pop" }]
|
|
11142
|
+
}
|
|
11143
|
+
},
|
|
11144
|
+
{
|
|
11145
|
+
id: "hero",
|
|
11146
|
+
name: "Hero",
|
|
11147
|
+
enabled: true,
|
|
11148
|
+
priority: 1,
|
|
11149
|
+
background: { type: "solid", colorToken: "secondary" },
|
|
11150
|
+
textColorToken: "primary",
|
|
11151
|
+
borderRadius: "rounded-full",
|
|
11152
|
+
effects: {
|
|
11153
|
+
hover: [{ effectId: "pop" }]
|
|
11154
|
+
}
|
|
11155
|
+
},
|
|
11156
|
+
{
|
|
11157
|
+
id: "header",
|
|
11158
|
+
name: "Header",
|
|
11159
|
+
enabled: true,
|
|
11160
|
+
priority: 2,
|
|
11161
|
+
background: { type: "solid", colorToken: "background" },
|
|
11162
|
+
textColorToken: "primary",
|
|
11163
|
+
borderRadius: "rounded-full",
|
|
11164
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11165
|
+
effects: {
|
|
11166
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11167
|
+
}
|
|
11168
|
+
},
|
|
11169
|
+
{
|
|
11170
|
+
id: "outline",
|
|
11171
|
+
name: "Outline",
|
|
11172
|
+
enabled: true,
|
|
11173
|
+
priority: 3,
|
|
11174
|
+
background: { type: "transparent" },
|
|
11175
|
+
textColorToken: "primary",
|
|
11176
|
+
borderRadius: "rounded-full",
|
|
11177
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11178
|
+
effects: {
|
|
11179
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
|
|
11180
|
+
}
|
|
11181
|
+
},
|
|
11182
|
+
{
|
|
11183
|
+
id: "ghost",
|
|
11184
|
+
name: "Ghost",
|
|
11185
|
+
enabled: true,
|
|
11186
|
+
priority: 3,
|
|
11187
|
+
background: { type: "transparent" },
|
|
11188
|
+
textColorToken: "primary",
|
|
11189
|
+
borderRadius: "rounded-full",
|
|
11190
|
+
effects: {
|
|
11191
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11192
|
+
}
|
|
11193
|
+
}
|
|
11194
|
+
]
|
|
11195
|
+
}
|
|
11196
|
+
});
|
|
11197
|
+
|
|
11198
|
+
// ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
11199
|
+
var softPill = defineButtonPersonality({
|
|
11200
|
+
id: "soft-pill",
|
|
11201
|
+
name: "Soft Pill",
|
|
11202
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
11203
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
11204
|
+
buttonSystem: {
|
|
11205
|
+
global: {
|
|
11206
|
+
cornerStyle: "pill",
|
|
11207
|
+
shadow: "low",
|
|
11208
|
+
textTransform: "none",
|
|
11209
|
+
fontWeight: 500,
|
|
11210
|
+
borderWidth: 2,
|
|
11211
|
+
hoverTransform: "lift",
|
|
11212
|
+
hoverColor: "none"
|
|
11213
|
+
},
|
|
11214
|
+
variants: [
|
|
11215
|
+
{
|
|
11216
|
+
id: "primary",
|
|
11217
|
+
name: "Primary",
|
|
11218
|
+
enabled: true,
|
|
11219
|
+
priority: 1,
|
|
11220
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11221
|
+
textColorToken: "primaryForeground",
|
|
11222
|
+
borderRadius: "rounded-full",
|
|
11223
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
11224
|
+
effects: {
|
|
11225
|
+
hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
|
|
11226
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
11227
|
+
}
|
|
11228
|
+
},
|
|
11229
|
+
{
|
|
11230
|
+
id: "secondary",
|
|
11231
|
+
name: "Secondary",
|
|
11232
|
+
enabled: true,
|
|
11233
|
+
priority: 2,
|
|
11234
|
+
background: { type: "transparent" },
|
|
11235
|
+
textColorToken: "primary",
|
|
11236
|
+
borderRadius: "rounded-full",
|
|
11237
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11238
|
+
effects: {
|
|
11239
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10936
11240
|
}
|
|
10937
11241
|
},
|
|
10938
11242
|
{
|
|
@@ -10974,7 +11278,8 @@ var buttonPersonalities = [
|
|
|
10974
11278
|
inkStamp,
|
|
10975
11279
|
brushedWash,
|
|
10976
11280
|
showtimePill,
|
|
10977
|
-
joyStamp
|
|
11281
|
+
joyStamp,
|
|
11282
|
+
ornateRitual
|
|
10978
11283
|
];
|
|
10979
11284
|
var personalitiesById = new Map(
|
|
10980
11285
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -11604,7 +11909,7 @@ function rgbColorValue(token) {
|
|
|
11604
11909
|
if (alpha === void 0) {
|
|
11605
11910
|
return `rgb(var(${cssVar}))`;
|
|
11606
11911
|
}
|
|
11607
|
-
return `
|
|
11912
|
+
return `rgb(var(${cssVar}) / ${alpha})`;
|
|
11608
11913
|
}
|
|
11609
11914
|
function backgroundColorStyle(token) {
|
|
11610
11915
|
return { backgroundColor: rgbColorValue(token) };
|
|
@@ -12709,6 +13014,28 @@ var warmDarkEmber = definePaletteVariant({
|
|
|
12709
13014
|
{ name: "border", hex: "#894e31" }
|
|
12710
13015
|
]
|
|
12711
13016
|
});
|
|
13017
|
+
var warmDarkKirtanGold = definePaletteVariant({
|
|
13018
|
+
id: "warm-dark-kirtan-gold",
|
|
13019
|
+
name: "Warm Dark \u2014 Kirtan Gold",
|
|
13020
|
+
description: "Deep plum ground with pale gold primary, rose accent, and soft devotional text.",
|
|
13021
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
13022
|
+
mode: "dark",
|
|
13023
|
+
colors: [
|
|
13024
|
+
{ name: "primary", hex: "#ffcdb2" },
|
|
13025
|
+
{ name: "secondary", hex: "#b5838d" },
|
|
13026
|
+
{ name: "accent", hex: "#e5989b" },
|
|
13027
|
+
{ name: "success", hex: "#8fbf8f" },
|
|
13028
|
+
{ name: "warning", hex: "#f2b86b" },
|
|
13029
|
+
{ name: "destructive", hex: "#d96b6b" },
|
|
13030
|
+
{ name: "background", hex: "#403944" },
|
|
13031
|
+
{ name: "surface", hex: "#403944" },
|
|
13032
|
+
{ name: "surfaceAlt", hex: "#372f3b" },
|
|
13033
|
+
{ name: "muted", hex: "#4d4550" },
|
|
13034
|
+
{ name: "text", hex: "#e6d2d5" },
|
|
13035
|
+
{ name: "primaryForeground", hex: "#403944" },
|
|
13036
|
+
{ name: "border", hex: "#8d747a" }
|
|
13037
|
+
]
|
|
13038
|
+
});
|
|
12712
13039
|
|
|
12713
13040
|
// ../theme-core/src/palette/variants/index.ts
|
|
12714
13041
|
var paletteVariants = [
|
|
@@ -12732,7 +13059,8 @@ var paletteVariants = [
|
|
|
12732
13059
|
softNaturalWatercolor,
|
|
12733
13060
|
softNaturalLilac,
|
|
12734
13061
|
// Warm-dark family (dark mode)
|
|
12735
|
-
warmDarkEmber
|
|
13062
|
+
warmDarkEmber,
|
|
13063
|
+
warmDarkKirtanGold
|
|
12736
13064
|
];
|
|
12737
13065
|
var paletteVariantsById = new Map(
|
|
12738
13066
|
paletteVariants.map((v) => [v.id, v])
|
|
@@ -14231,9 +14559,125 @@ function headerConfigurationKey(configuration) {
|
|
|
14231
14559
|
function asFooterLookId(value) {
|
|
14232
14560
|
return value;
|
|
14233
14561
|
}
|
|
14234
|
-
|
|
14562
|
+
function asFooterLayoutId(value) {
|
|
14563
|
+
return value;
|
|
14564
|
+
}
|
|
14565
|
+
function asFooterStyleId(value) {
|
|
14566
|
+
return value;
|
|
14567
|
+
}
|
|
14568
|
+
var guaranteedFallbackFooterLookId = asFooterLookId("footer-identity-quiet");
|
|
14569
|
+
var footerLayoutCatalog = defineExactCatalog()([
|
|
14570
|
+
{
|
|
14571
|
+
id: asFooterLayoutId("identity"),
|
|
14572
|
+
label: "Identity",
|
|
14573
|
+
description: "Logo, site text, address, and legal copy without relying on footer navigation."
|
|
14574
|
+
},
|
|
14575
|
+
{
|
|
14576
|
+
id: asFooterLayoutId("centered"),
|
|
14577
|
+
label: "Centered",
|
|
14578
|
+
description: "A calm centered stack for identity, short copy, and optional compact navigation.",
|
|
14579
|
+
maxRecommendedNavDensity: "sparse"
|
|
14580
|
+
},
|
|
14581
|
+
{
|
|
14582
|
+
id: asFooterLayoutId("split"),
|
|
14583
|
+
label: "Split",
|
|
14584
|
+
description: "Navigation and brand signoff separated into a wider split footer.",
|
|
14585
|
+
requiresFooterNav: true,
|
|
14586
|
+
maxRecommendedNavDensity: "balanced"
|
|
14587
|
+
},
|
|
14588
|
+
{
|
|
14589
|
+
id: asFooterLayoutId("columns"),
|
|
14590
|
+
label: "Columns",
|
|
14591
|
+
description: "Grouped footer navigation columns with a supporting bottom line.",
|
|
14592
|
+
requiresFooterNav: true,
|
|
14593
|
+
requiresFooterNavGroups: true
|
|
14594
|
+
}
|
|
14595
|
+
]);
|
|
14596
|
+
var footerStyleCatalog = defineExactCatalog()([
|
|
14597
|
+
{
|
|
14598
|
+
id: asFooterStyleId("quiet"),
|
|
14599
|
+
label: "Quiet",
|
|
14600
|
+
description: "Lightweight, practical footer treatment."
|
|
14601
|
+
},
|
|
14602
|
+
{
|
|
14603
|
+
id: asFooterStyleId("calm"),
|
|
14604
|
+
label: "Calm",
|
|
14605
|
+
description: "Soft centered treatment with restrained dividers."
|
|
14606
|
+
},
|
|
14607
|
+
{
|
|
14608
|
+
id: asFooterStyleId("editorial"),
|
|
14609
|
+
label: "Editorial",
|
|
14610
|
+
description: "Text-forward treatment with fine-line structure."
|
|
14611
|
+
},
|
|
14612
|
+
{
|
|
14613
|
+
id: asFooterStyleId("brand-band"),
|
|
14614
|
+
label: "Brand band",
|
|
14615
|
+
description: "High-contrast brand treatment with a stronger bottom bar."
|
|
14616
|
+
}
|
|
14617
|
+
]);
|
|
14618
|
+
var footerLayoutsById = new Map(
|
|
14619
|
+
footerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
14620
|
+
);
|
|
14621
|
+
var footerStylesById = new Map(
|
|
14622
|
+
footerStyleCatalog.map((style) => [style.id, style])
|
|
14623
|
+
);
|
|
14624
|
+
function identityQuietFooter(theme) {
|
|
14625
|
+
return {
|
|
14626
|
+
...theme.footer,
|
|
14627
|
+
variant: "simple",
|
|
14628
|
+
maxWidth: "container",
|
|
14629
|
+
background: {
|
|
14630
|
+
type: "color",
|
|
14631
|
+
color: "surface"
|
|
14632
|
+
},
|
|
14633
|
+
navStyle: "minimal",
|
|
14634
|
+
navWeight: "regular",
|
|
14635
|
+
navColor: "text",
|
|
14636
|
+
navLinkStyle: {
|
|
14637
|
+
typography: "body",
|
|
14638
|
+
fontWeight: "regular",
|
|
14639
|
+
textTransform: "none",
|
|
14640
|
+
italic: false,
|
|
14641
|
+
colorToken: "text",
|
|
14642
|
+
hoverColorToken: "primary",
|
|
14643
|
+
padding: "none",
|
|
14644
|
+
borderRadius: "none"
|
|
14645
|
+
},
|
|
14646
|
+
navLayout: {
|
|
14647
|
+
layout: "inline-wrap",
|
|
14648
|
+
align: "start",
|
|
14649
|
+
gapX: "default",
|
|
14650
|
+
gapY: "tight"
|
|
14651
|
+
},
|
|
14652
|
+
logo: {
|
|
14653
|
+
showLogo: true,
|
|
14654
|
+
showLogoText: true,
|
|
14655
|
+
placement: "left",
|
|
14656
|
+
size: "sm",
|
|
14657
|
+
align: "start"
|
|
14658
|
+
},
|
|
14659
|
+
bottomBar: {
|
|
14660
|
+
enabled: false,
|
|
14661
|
+
fullBleed: false,
|
|
14662
|
+
textAlign: "left",
|
|
14663
|
+
paddingX: "default",
|
|
14664
|
+
paddingY: "compact",
|
|
14665
|
+
borderTop: {
|
|
14666
|
+
width: "none"
|
|
14667
|
+
}
|
|
14668
|
+
}
|
|
14669
|
+
};
|
|
14670
|
+
}
|
|
14235
14671
|
function mutedGroundingFooter(theme) {
|
|
14236
|
-
return
|
|
14672
|
+
return {
|
|
14673
|
+
...identityQuietFooter(theme),
|
|
14674
|
+
background: theme.footer.background,
|
|
14675
|
+
navStyle: theme.footer.navStyle,
|
|
14676
|
+
navColor: theme.footer.navColor,
|
|
14677
|
+
navWeight: theme.footer.navWeight,
|
|
14678
|
+
navLinkStyle: theme.footer.navLinkStyle,
|
|
14679
|
+
bottomTextLinkStyle: theme.footer.bottomTextLinkStyle
|
|
14680
|
+
};
|
|
14237
14681
|
}
|
|
14238
14682
|
function brandTwoBandFooter(theme) {
|
|
14239
14683
|
return {
|
|
@@ -14338,6 +14782,53 @@ function centeredCalmFooter(theme) {
|
|
|
14338
14782
|
}
|
|
14339
14783
|
};
|
|
14340
14784
|
}
|
|
14785
|
+
function splitEditorialFooter(theme) {
|
|
14786
|
+
return {
|
|
14787
|
+
...theme.footer,
|
|
14788
|
+
variant: "split",
|
|
14789
|
+
maxWidth: "container",
|
|
14790
|
+
background: {
|
|
14791
|
+
type: "color",
|
|
14792
|
+
color: "surface"
|
|
14793
|
+
},
|
|
14794
|
+
navStyle: "minimal",
|
|
14795
|
+
navWeight: "regular",
|
|
14796
|
+
navColor: "text",
|
|
14797
|
+
navLinkStyle: {
|
|
14798
|
+
typography: "body",
|
|
14799
|
+
fontWeight: "regular",
|
|
14800
|
+
textTransform: "none",
|
|
14801
|
+
italic: false,
|
|
14802
|
+
colorToken: "text",
|
|
14803
|
+
hoverColorToken: "primary",
|
|
14804
|
+
padding: "none",
|
|
14805
|
+
borderRadius: "none"
|
|
14806
|
+
},
|
|
14807
|
+
navLayout: {
|
|
14808
|
+
layout: "inline-wrap",
|
|
14809
|
+
align: "start",
|
|
14810
|
+
gapX: "relaxed",
|
|
14811
|
+
gapY: "tight"
|
|
14812
|
+
},
|
|
14813
|
+
logo: {
|
|
14814
|
+
showLogo: true,
|
|
14815
|
+
showLogoText: true,
|
|
14816
|
+
placement: "right",
|
|
14817
|
+
size: "sm",
|
|
14818
|
+
align: "end"
|
|
14819
|
+
},
|
|
14820
|
+
bottomBar: {
|
|
14821
|
+
enabled: true,
|
|
14822
|
+
fullBleed: false,
|
|
14823
|
+
textAlign: "left",
|
|
14824
|
+
paddingX: "default",
|
|
14825
|
+
paddingY: "compact",
|
|
14826
|
+
borderTop: {
|
|
14827
|
+
width: "thin"
|
|
14828
|
+
}
|
|
14829
|
+
}
|
|
14830
|
+
};
|
|
14831
|
+
}
|
|
14341
14832
|
function editorialColumnsFooter(theme) {
|
|
14342
14833
|
return {
|
|
14343
14834
|
...theme.footer,
|
|
@@ -14380,25 +14871,47 @@ function editorialColumnsFooter(theme) {
|
|
|
14380
14871
|
};
|
|
14381
14872
|
}
|
|
14382
14873
|
var footerLookCatalog = defineExactCatalog()([
|
|
14874
|
+
{
|
|
14875
|
+
id: asFooterLookId("footer-identity-quiet"),
|
|
14876
|
+
label: "Identity footer",
|
|
14877
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14878
|
+
styleId: asFooterStyleId("quiet"),
|
|
14879
|
+
compile: identityQuietFooter
|
|
14880
|
+
},
|
|
14383
14881
|
{
|
|
14384
14882
|
id: asFooterLookId("footer-muted-grounding"),
|
|
14385
14883
|
label: "Muted grounding footer",
|
|
14884
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14885
|
+
styleId: asFooterStyleId("quiet"),
|
|
14886
|
+
hiddenFromLayoutStyleControls: true,
|
|
14386
14887
|
compile: mutedGroundingFooter
|
|
14387
14888
|
},
|
|
14388
14889
|
{
|
|
14389
14890
|
id: asFooterLookId("footer-centered-calm"),
|
|
14390
14891
|
label: "Centered calm footer",
|
|
14892
|
+
layoutId: asFooterLayoutId("centered"),
|
|
14893
|
+
styleId: asFooterStyleId("calm"),
|
|
14391
14894
|
compile: centeredCalmFooter
|
|
14392
14895
|
},
|
|
14896
|
+
{
|
|
14897
|
+
id: asFooterLookId("footer-split-editorial"),
|
|
14898
|
+
label: "Split editorial footer",
|
|
14899
|
+
layoutId: asFooterLayoutId("split"),
|
|
14900
|
+
styleId: asFooterStyleId("editorial"),
|
|
14901
|
+
compile: splitEditorialFooter
|
|
14902
|
+
},
|
|
14393
14903
|
{
|
|
14394
14904
|
id: asFooterLookId("footer-editorial-columns"),
|
|
14395
14905
|
label: "Editorial columns footer",
|
|
14906
|
+
layoutId: asFooterLayoutId("columns"),
|
|
14907
|
+
styleId: asFooterStyleId("editorial"),
|
|
14396
14908
|
compile: editorialColumnsFooter
|
|
14397
14909
|
},
|
|
14398
14910
|
{
|
|
14399
14911
|
id: asFooterLookId("site-footer-brand-two-band"),
|
|
14400
14912
|
label: "Two-band brand footer",
|
|
14401
|
-
|
|
14913
|
+
layoutId: asFooterLayoutId("split"),
|
|
14914
|
+
styleId: asFooterStyleId("brand-band"),
|
|
14402
14915
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
14403
14916
|
compile: brandTwoBandFooter
|
|
14404
14917
|
}
|
|
@@ -14601,6 +15114,30 @@ var luxeContrastTypography = {
|
|
|
14601
15114
|
},
|
|
14602
15115
|
scale: "spacious"
|
|
14603
15116
|
};
|
|
15117
|
+
var kirtanOrnateTypography = {
|
|
15118
|
+
body: {
|
|
15119
|
+
family: "Jost, system-ui, sans-serif",
|
|
15120
|
+
size: "md",
|
|
15121
|
+
weight: "regular",
|
|
15122
|
+
lineHeight: "relaxed",
|
|
15123
|
+
letterSpacing: "normal"
|
|
15124
|
+
},
|
|
15125
|
+
headings: {
|
|
15126
|
+
default: {
|
|
15127
|
+
family: "Marcellus, Georgia, serif",
|
|
15128
|
+
weight: "regular",
|
|
15129
|
+
lineHeight: "normal",
|
|
15130
|
+
letterSpacing: "normal",
|
|
15131
|
+
colorToken: "primary",
|
|
15132
|
+
italic: null,
|
|
15133
|
+
case: null
|
|
15134
|
+
},
|
|
15135
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15136
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15137
|
+
h3: { size: "md", weight: "regular", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
15138
|
+
},
|
|
15139
|
+
scale: "spacious"
|
|
15140
|
+
};
|
|
14604
15141
|
var boldDisplayTypography = {
|
|
14605
15142
|
body: {
|
|
14606
15143
|
family: "Manrope, system-ui, sans-serif",
|
|
@@ -14635,16 +15172,16 @@ var originalJoyTypography = {
|
|
|
14635
15172
|
},
|
|
14636
15173
|
headings: {
|
|
14637
15174
|
default: {
|
|
14638
|
-
family: "
|
|
14639
|
-
weight: "
|
|
15175
|
+
family: "Lobster, cursive",
|
|
15176
|
+
weight: "regular",
|
|
14640
15177
|
lineHeight: "normal",
|
|
14641
|
-
letterSpacing: "
|
|
15178
|
+
letterSpacing: "normal",
|
|
14642
15179
|
italic: null,
|
|
14643
15180
|
case: null
|
|
14644
15181
|
},
|
|
14645
|
-
h1: { size: "2xl", weight: "
|
|
14646
|
-
h2: { size: "xl", weight: "
|
|
14647
|
-
h3: { size: "lg", weight: "
|
|
15182
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15183
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15184
|
+
h3: { size: "lg", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
14648
15185
|
},
|
|
14649
15186
|
scale: "balanced"
|
|
14650
15187
|
};
|
|
@@ -14709,6 +15246,32 @@ var typographyPresets = [
|
|
|
14709
15246
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14710
15247
|
typography: luxeContrastTypography
|
|
14711
15248
|
}),
|
|
15249
|
+
defineTypographyPreset({
|
|
15250
|
+
id: "typography-preset:kirtan-ornate",
|
|
15251
|
+
name: "Kirtan Ornate",
|
|
15252
|
+
description: "Marcellus devotional headings over a refined Jost body, matching dark ceremonial layouts.",
|
|
15253
|
+
defaultFonts: { body: "Jost, system-ui, sans-serif", heading: "Marcellus, Georgia, serif" },
|
|
15254
|
+
recommendedFonts: {
|
|
15255
|
+
body: ["Jost", "Manrope", "Inter"],
|
|
15256
|
+
heading: ["Marcellus", "Cormorant Garamond", "Playfair Display"]
|
|
15257
|
+
},
|
|
15258
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
15259
|
+
typography: kirtanOrnateTypography,
|
|
15260
|
+
heroTypography: {
|
|
15261
|
+
headlineSize: "6xl",
|
|
15262
|
+
headlineLineHeight: "normal",
|
|
15263
|
+
subheadlineSize: "xl",
|
|
15264
|
+
subheadlineLineHeight: "relaxed",
|
|
15265
|
+
microHeadlineSize: "5xl",
|
|
15266
|
+
microHeadlineLineHeight: "normal",
|
|
15267
|
+
microSubheadlineSize: "lg",
|
|
15268
|
+
microSubheadlineLineHeight: "relaxed",
|
|
15269
|
+
responsive: {
|
|
15270
|
+
tablet: { headlineSize: "5xl" },
|
|
15271
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
15272
|
+
}
|
|
15273
|
+
}
|
|
15274
|
+
}),
|
|
14712
15275
|
defineTypographyPreset({
|
|
14713
15276
|
id: "typography-preset:bold-display",
|
|
14714
15277
|
name: "Bold Display",
|
|
@@ -14738,11 +15301,11 @@ var typographyPresets = [
|
|
|
14738
15301
|
defineTypographyPreset({
|
|
14739
15302
|
id: "typography-preset:original-joy",
|
|
14740
15303
|
name: "Original Joy",
|
|
14741
|
-
description: "
|
|
14742
|
-
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "
|
|
15304
|
+
description: "Lobster display headings over a clean DM Sans body, expressive and warm.",
|
|
15305
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Lobster, cursive" },
|
|
14743
15306
|
recommendedFonts: {
|
|
14744
15307
|
body: ["DM Sans", "Inter", "Manrope"],
|
|
14745
|
-
heading: ["Bricolage Grotesque", "Space Grotesk"
|
|
15308
|
+
heading: ["Lobster", "Bricolage Grotesque", "Space Grotesk"]
|
|
14746
15309
|
},
|
|
14747
15310
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14748
15311
|
typography: originalJoyTypography,
|
|
@@ -14766,6 +15329,319 @@ var typographyPresetsById = new Map(
|
|
|
14766
15329
|
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
14767
15330
|
);
|
|
14768
15331
|
|
|
15332
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
15333
|
+
import { z as z24 } from "zod";
|
|
15334
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
15335
|
+
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15336
|
+
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15337
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15338
|
+
fields3[0],
|
|
15339
|
+
...fields3.slice(1)
|
|
15340
|
+
]);
|
|
15341
|
+
var heroLegibilityStrategySchema = z24.enum([
|
|
15342
|
+
"none",
|
|
15343
|
+
"scrim-gradient",
|
|
15344
|
+
"solid-panel"
|
|
15345
|
+
]);
|
|
15346
|
+
var heroCompositionIntentSchema = z24.enum([
|
|
15347
|
+
"center",
|
|
15348
|
+
"bottom-left"
|
|
15349
|
+
]);
|
|
15350
|
+
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15351
|
+
"quiet",
|
|
15352
|
+
"editorial",
|
|
15353
|
+
"display",
|
|
15354
|
+
"poster"
|
|
15355
|
+
]);
|
|
15356
|
+
var sectionHeightIntentSchema = z24.enum([
|
|
15357
|
+
"default",
|
|
15358
|
+
"banner",
|
|
15359
|
+
"hero",
|
|
15360
|
+
"immersive"
|
|
15361
|
+
]);
|
|
15362
|
+
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15363
|
+
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15364
|
+
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15365
|
+
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15366
|
+
z24.object({
|
|
15367
|
+
kind: z24.literal("brand-scrim"),
|
|
15368
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15369
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15370
|
+
}).strict(),
|
|
15371
|
+
z24.object({
|
|
15372
|
+
kind: z24.literal("brand-wash"),
|
|
15373
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15374
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15375
|
+
}).strict(),
|
|
15376
|
+
z24.object({
|
|
15377
|
+
kind: z24.literal("neutral-scrim"),
|
|
15378
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15379
|
+
}).strict(),
|
|
15380
|
+
z24.object({
|
|
15381
|
+
kind: z24.literal("neutral-wash"),
|
|
15382
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15383
|
+
}).strict(),
|
|
15384
|
+
z24.object({
|
|
15385
|
+
kind: z24.literal("solid-panel"),
|
|
15386
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15387
|
+
}).strict()
|
|
15388
|
+
]);
|
|
15389
|
+
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
15390
|
+
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
15391
|
+
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
15392
|
+
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
15393
|
+
function uniqueNonEmpty(values) {
|
|
15394
|
+
const uniqueValues = [...new Set(values)];
|
|
15395
|
+
const firstValue = uniqueValues[0];
|
|
15396
|
+
if (!firstValue) {
|
|
15397
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
15398
|
+
}
|
|
15399
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
15400
|
+
}
|
|
15401
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
15402
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
15403
|
+
);
|
|
15404
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
15405
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
15406
|
+
);
|
|
15407
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
15408
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
15409
|
+
);
|
|
15410
|
+
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
15411
|
+
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
15412
|
+
z24.object({
|
|
15413
|
+
kind: z24.literal("panel"),
|
|
15414
|
+
treatment: z24.enum(userPanelTreatments)
|
|
15415
|
+
}).strict(),
|
|
15416
|
+
z24.object({
|
|
15417
|
+
kind: z24.literal("flush-panel"),
|
|
15418
|
+
treatment: z24.enum(userFlushTreatments),
|
|
15419
|
+
bleed: z24.enum(userFlushBleeds)
|
|
15420
|
+
}).strict()
|
|
15421
|
+
]);
|
|
15422
|
+
var blockDesignPlanSchema = z24.object({
|
|
15423
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15424
|
+
blockKind: z24.string().min(1),
|
|
15425
|
+
purpose: z24.string().min(1),
|
|
15426
|
+
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
15427
|
+
contentFrame: contentFrameIntentSchema,
|
|
15428
|
+
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
15429
|
+
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
15430
|
+
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
15431
|
+
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
15432
|
+
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
15433
|
+
heroComposition: heroCompositionIntentSchema.optional(),
|
|
15434
|
+
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
15435
|
+
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
15436
|
+
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
15437
|
+
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
15438
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
15439
|
+
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
15440
|
+
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
15441
|
+
}).strict();
|
|
15442
|
+
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
15443
|
+
z24.object({
|
|
15444
|
+
kind: z24.literal("theme-v2"),
|
|
15445
|
+
source: designResolutionPolicySchema,
|
|
15446
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15447
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15448
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15449
|
+
resolverVersion: z24.number().int().nonnegative()
|
|
15450
|
+
}).strict(),
|
|
15451
|
+
z24.object({
|
|
15452
|
+
kind: z24.literal("legacy-raw"),
|
|
15453
|
+
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
15454
|
+
}).strict(),
|
|
15455
|
+
z24.object({
|
|
15456
|
+
kind: z24.literal("advanced-detached"),
|
|
15457
|
+
reason: z24.literal("detached-custom-runtime-fields")
|
|
15458
|
+
}).strict()
|
|
15459
|
+
]);
|
|
15460
|
+
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
15461
|
+
unit: z24.literal("block-runtime-fields"),
|
|
15462
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15463
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
15464
|
+
authority: styleAuthoritySchema
|
|
15465
|
+
}).strict();
|
|
15466
|
+
var persistedPageDesignStateV1Schema = z24.object({
|
|
15467
|
+
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
15468
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15469
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15470
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15471
|
+
resolverVersion: z24.number().int().nonnegative(),
|
|
15472
|
+
rhythmPresetId: z24.string().min(1),
|
|
15473
|
+
blocks: z24.array(blockDesignPlanSchema),
|
|
15474
|
+
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
15475
|
+
}).strict();
|
|
15476
|
+
|
|
15477
|
+
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
15478
|
+
function defineDesignRuntimeRules(rules) {
|
|
15479
|
+
return rules;
|
|
15480
|
+
}
|
|
15481
|
+
function defineComponentRuntimeRules(rules) {
|
|
15482
|
+
return rules;
|
|
15483
|
+
}
|
|
15484
|
+
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15485
|
+
sectionSurfaces: {
|
|
15486
|
+
base: {},
|
|
15487
|
+
"muted-band": {
|
|
15488
|
+
background: {
|
|
15489
|
+
type: "color",
|
|
15490
|
+
color: "muted"
|
|
15491
|
+
}
|
|
15492
|
+
},
|
|
15493
|
+
"accent-band": {
|
|
15494
|
+
background: {
|
|
15495
|
+
type: "color",
|
|
15496
|
+
color: "primary"
|
|
15497
|
+
}
|
|
15498
|
+
},
|
|
15499
|
+
"brand-depth-band": {
|
|
15500
|
+
background: {
|
|
15501
|
+
type: "color",
|
|
15502
|
+
color: "primary-800"
|
|
15503
|
+
}
|
|
15504
|
+
},
|
|
15505
|
+
"hero-image": {
|
|
15506
|
+
background: {
|
|
15507
|
+
type: "image",
|
|
15508
|
+
opacity: 1,
|
|
15509
|
+
position: "center center",
|
|
15510
|
+
...uniformSectionForeground("text")
|
|
15511
|
+
}
|
|
15512
|
+
}
|
|
15513
|
+
},
|
|
15514
|
+
heroLegibility: {
|
|
15515
|
+
"scrim-gradient": {
|
|
15516
|
+
type: "gradient",
|
|
15517
|
+
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
15518
|
+
opacity: 1
|
|
15519
|
+
},
|
|
15520
|
+
"solid-panel": {
|
|
15521
|
+
type: "color",
|
|
15522
|
+
color: "surface",
|
|
15523
|
+
opacity: 0.88
|
|
15524
|
+
}
|
|
15525
|
+
},
|
|
15526
|
+
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
15527
|
+
});
|
|
15528
|
+
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
15529
|
+
panelFrames: {
|
|
15530
|
+
inset: {
|
|
15531
|
+
spacing: "comfortable",
|
|
15532
|
+
rounded: "xl",
|
|
15533
|
+
raised: false,
|
|
15534
|
+
background: {
|
|
15535
|
+
type: "color",
|
|
15536
|
+
color: "surfaceAlt",
|
|
15537
|
+
textColor: "text"
|
|
15538
|
+
}
|
|
15539
|
+
},
|
|
15540
|
+
raised: {
|
|
15541
|
+
spacing: "comfortable",
|
|
15542
|
+
rounded: "xl",
|
|
15543
|
+
raised: true,
|
|
15544
|
+
background: {
|
|
15545
|
+
type: "color",
|
|
15546
|
+
color: "surfaceAlt",
|
|
15547
|
+
textColor: "text"
|
|
15548
|
+
}
|
|
15549
|
+
},
|
|
15550
|
+
editorial: {
|
|
15551
|
+
spacing: "medium",
|
|
15552
|
+
rounded: "xl",
|
|
15553
|
+
raised: false,
|
|
15554
|
+
background: {
|
|
15555
|
+
type: "color",
|
|
15556
|
+
color: "surface",
|
|
15557
|
+
textColor: "text"
|
|
15558
|
+
}
|
|
15559
|
+
}
|
|
15560
|
+
},
|
|
15561
|
+
flushFrames: {
|
|
15562
|
+
"media-panel": {
|
|
15563
|
+
fullWidth: true,
|
|
15564
|
+
spacing: "none",
|
|
15565
|
+
rounded: "none",
|
|
15566
|
+
raised: false
|
|
15567
|
+
}
|
|
15568
|
+
},
|
|
15569
|
+
itemSurfaces: {
|
|
15570
|
+
none: null,
|
|
15571
|
+
default: {
|
|
15572
|
+
spacing: "medium",
|
|
15573
|
+
rounded: "lg",
|
|
15574
|
+
raised: false
|
|
15575
|
+
},
|
|
15576
|
+
flat: {
|
|
15577
|
+
spacing: "medium",
|
|
15578
|
+
rounded: "lg",
|
|
15579
|
+
raised: false
|
|
15580
|
+
},
|
|
15581
|
+
outlined: {
|
|
15582
|
+
spacing: "medium",
|
|
15583
|
+
rounded: "lg",
|
|
15584
|
+
raised: false,
|
|
15585
|
+
border: {
|
|
15586
|
+
enabled: true,
|
|
15587
|
+
width: "1",
|
|
15588
|
+
colorToken: "border"
|
|
15589
|
+
}
|
|
15590
|
+
},
|
|
15591
|
+
raised: {
|
|
15592
|
+
spacing: "medium",
|
|
15593
|
+
rounded: "xl",
|
|
15594
|
+
raised: true
|
|
15595
|
+
},
|
|
15596
|
+
inset: {
|
|
15597
|
+
treatment: "soft-panel",
|
|
15598
|
+
spacing: "comfortable",
|
|
15599
|
+
rounded: "xl",
|
|
15600
|
+
raised: false,
|
|
15601
|
+
border: {
|
|
15602
|
+
enabled: false
|
|
15603
|
+
},
|
|
15604
|
+
background: {
|
|
15605
|
+
type: "color",
|
|
15606
|
+
color: "surfaceAlt",
|
|
15607
|
+
textColor: "text"
|
|
15608
|
+
}
|
|
15609
|
+
},
|
|
15610
|
+
editorial: {
|
|
15611
|
+
// Boxless open column with a short rule on top; the visual treatment
|
|
15612
|
+
// lives in blocks-static/card-treatments.css.
|
|
15613
|
+
treatment: "editorial-rule",
|
|
15614
|
+
spacing: "none",
|
|
15615
|
+
rounded: "none",
|
|
15616
|
+
raised: false,
|
|
15617
|
+
border: {
|
|
15618
|
+
enabled: false
|
|
15619
|
+
}
|
|
15620
|
+
},
|
|
15621
|
+
"color-blocked": {
|
|
15622
|
+
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
15623
|
+
// (by position) and staggered offset live in
|
|
15624
|
+
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
15625
|
+
// generous padding, large radius, no border, flat (no shadow).
|
|
15626
|
+
treatment: "color-blocked",
|
|
15627
|
+
spacing: "spacious",
|
|
15628
|
+
rounded: "2xl",
|
|
15629
|
+
raised: false,
|
|
15630
|
+
border: {
|
|
15631
|
+
enabled: false
|
|
15632
|
+
}
|
|
15633
|
+
}
|
|
15634
|
+
}
|
|
15635
|
+
});
|
|
15636
|
+
function uniformSectionForeground(token) {
|
|
15637
|
+
return {
|
|
15638
|
+
textColor: token,
|
|
15639
|
+
headingColor: token,
|
|
15640
|
+
linkColor: token,
|
|
15641
|
+
supportingColor: token
|
|
15642
|
+
};
|
|
15643
|
+
}
|
|
15644
|
+
|
|
14769
15645
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
14770
15646
|
var SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
|
|
14771
15647
|
var SOFT_EARTH_SITE_STYLE_ID = asSiteStyleId(SOFT_EARTH_SITE_STYLE_ID_VALUE);
|
|
@@ -14784,6 +15660,7 @@ var curatedSiteStyleIdValues = [
|
|
|
14784
15660
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
14785
15661
|
"site-style:bold-launch",
|
|
14786
15662
|
"site-style:south-west-twerk-school",
|
|
15663
|
+
"site-style:kirtan-ornate",
|
|
14787
15664
|
"site-style:original-joy"
|
|
14788
15665
|
];
|
|
14789
15666
|
var quietBudget = {
|
|
@@ -14810,6 +15687,50 @@ var expressiveBudget = {
|
|
|
14810
15687
|
mediaDensity: "high",
|
|
14811
15688
|
decorativeRepetition: "medium"
|
|
14812
15689
|
};
|
|
15690
|
+
var kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15691
|
+
...defaultDesignRuntimeRules,
|
|
15692
|
+
defaultEyebrowTreatment: "accent",
|
|
15693
|
+
sectionSurfaces: {
|
|
15694
|
+
...defaultDesignRuntimeRules.sectionSurfaces,
|
|
15695
|
+
"muted-band": {
|
|
15696
|
+
background: {
|
|
15697
|
+
type: "color",
|
|
15698
|
+
color: "muted"
|
|
15699
|
+
},
|
|
15700
|
+
foreground: {
|
|
15701
|
+
textColor: "text",
|
|
15702
|
+
headingColor: "primary",
|
|
15703
|
+
linkColor: "primary",
|
|
15704
|
+
supportingColor: "text"
|
|
15705
|
+
}
|
|
15706
|
+
},
|
|
15707
|
+
"brand-depth-band": {
|
|
15708
|
+
background: {
|
|
15709
|
+
type: "color",
|
|
15710
|
+
color: "primary-800"
|
|
15711
|
+
},
|
|
15712
|
+
foreground: {
|
|
15713
|
+
textColor: "text",
|
|
15714
|
+
headingColor: "primary",
|
|
15715
|
+
linkColor: "primary",
|
|
15716
|
+
supportingColor: "text"
|
|
15717
|
+
}
|
|
15718
|
+
},
|
|
15719
|
+
"hero-image": {
|
|
15720
|
+
background: {
|
|
15721
|
+
type: "image",
|
|
15722
|
+
opacity: 1,
|
|
15723
|
+
position: "center center"
|
|
15724
|
+
},
|
|
15725
|
+
foreground: {
|
|
15726
|
+
textColor: "text",
|
|
15727
|
+
headingColor: "primary",
|
|
15728
|
+
linkColor: "primary",
|
|
15729
|
+
supportingColor: "text"
|
|
15730
|
+
}
|
|
15731
|
+
}
|
|
15732
|
+
}
|
|
15733
|
+
});
|
|
14813
15734
|
var expressiveUnderlineInputs = {
|
|
14814
15735
|
base: {
|
|
14815
15736
|
background: { type: "transparent" },
|
|
@@ -14847,6 +15768,43 @@ var expressiveUnderlineInputs = {
|
|
|
14847
15768
|
opacity: 0.6
|
|
14848
15769
|
}
|
|
14849
15770
|
};
|
|
15771
|
+
var ornateDarkInputs = {
|
|
15772
|
+
base: {
|
|
15773
|
+
background: { type: "solid", colorToken: "surfaceAlt" },
|
|
15774
|
+
textColorToken: "text",
|
|
15775
|
+
border: {
|
|
15776
|
+
widthClass: "border",
|
|
15777
|
+
colorToken: "primary/45",
|
|
15778
|
+
style: "all"
|
|
15779
|
+
},
|
|
15780
|
+
corners: "square",
|
|
15781
|
+
shadow: null,
|
|
15782
|
+
spacing: "medium",
|
|
15783
|
+
fontSize: "base"
|
|
15784
|
+
},
|
|
15785
|
+
label: {
|
|
15786
|
+
textColorToken: "primary",
|
|
15787
|
+
fontWeight: "semibold",
|
|
15788
|
+
fontSize: "xs",
|
|
15789
|
+
textTransform: "uppercase",
|
|
15790
|
+
letterSpacing: "wider",
|
|
15791
|
+
opacity: 1
|
|
15792
|
+
},
|
|
15793
|
+
focus: {
|
|
15794
|
+
ringColorToken: "primary/18",
|
|
15795
|
+
ringWidth: "2",
|
|
15796
|
+
borderColorToken: "primary/70"
|
|
15797
|
+
},
|
|
15798
|
+
error: {
|
|
15799
|
+
borderColorToken: "destructive",
|
|
15800
|
+
textColorToken: "destructive"
|
|
15801
|
+
},
|
|
15802
|
+
disabled: {
|
|
15803
|
+
backgroundColorToken: "muted",
|
|
15804
|
+
textColorToken: "mutedText",
|
|
15805
|
+
opacity: 0.6
|
|
15806
|
+
}
|
|
15807
|
+
};
|
|
14850
15808
|
function uniqueContentFrameKinds() {
|
|
14851
15809
|
const kinds = [
|
|
14852
15810
|
...new Set(
|
|
@@ -14904,6 +15862,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
14904
15862
|
// clean/minimal styles default to none.
|
|
14905
15863
|
headingDecoration: input.headingDecoration ?? noHeadingDecoration,
|
|
14906
15864
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
15865
|
+
...input.designRuntimeRules ? { designRuntimeRules: input.designRuntimeRules } : {},
|
|
14907
15866
|
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
14908
15867
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
14909
15868
|
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
@@ -15854,6 +16813,80 @@ var curatedSiteStyles = [
|
|
|
15854
16813
|
paletteChoice("high-contrast-ink")
|
|
15855
16814
|
]
|
|
15856
16815
|
}),
|
|
16816
|
+
defineCuratedSiteStyle({
|
|
16817
|
+
id: "site-style:kirtan-ornate",
|
|
16818
|
+
name: "Kirtan Ornate",
|
|
16819
|
+
headingDecoration: { family: "short-center-rule", colorToken: "accent" },
|
|
16820
|
+
description: "Ceremonial, jewel-toned, and devotional: ornate frames, warm contrast, and composed rhythm for intimate music gatherings.",
|
|
16821
|
+
generationBrief: "Use a deep plum ground with pale gold as the main brand color, rose accent details, cream text, spacious split hero sections, devotional editorial headings, compact event lists, and framed conversion sections. The mood should feel soulful and ceremonial, not gothic or theatrical.",
|
|
16822
|
+
selectionKeywordRules: [
|
|
16823
|
+
{ kind: "word", value: "kirtan" },
|
|
16824
|
+
{ kind: "word", value: "chanting" },
|
|
16825
|
+
{ kind: "word", value: "ceremony" },
|
|
16826
|
+
{ kind: "word", value: "devotional" }
|
|
16827
|
+
],
|
|
16828
|
+
tokenRecipes: {
|
|
16829
|
+
palette: "brand-led",
|
|
16830
|
+
contrast: "strong",
|
|
16831
|
+
radius: "soft",
|
|
16832
|
+
shadow: "subtle",
|
|
16833
|
+
typography: "serif-editorial",
|
|
16834
|
+
spacing: "airy",
|
|
16835
|
+
motion: "subtle"
|
|
16836
|
+
},
|
|
16837
|
+
compositionBudget: expressiveBudget,
|
|
16838
|
+
typographyPresetChoices: [
|
|
16839
|
+
typographyChoice("typography-preset:kirtan-ornate"),
|
|
16840
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
16841
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
16842
|
+
],
|
|
16843
|
+
defaultTypographyPresetId: "typography-preset:kirtan-ornate",
|
|
16844
|
+
themeOverrides: {
|
|
16845
|
+
accordions: warmInsetAccordionSystem,
|
|
16846
|
+
cards: originalJoyCardSystem,
|
|
16847
|
+
testimonialQuote: serifDisplayQuote,
|
|
16848
|
+
bodyText: {
|
|
16849
|
+
intro: {
|
|
16850
|
+
paragraphSize: "editorial",
|
|
16851
|
+
headingSize: "editorial"
|
|
16852
|
+
}
|
|
16853
|
+
},
|
|
16854
|
+
inputs: ornateDarkInputs
|
|
16855
|
+
},
|
|
16856
|
+
designRuntimeRules: kirtanOrnateDesignRuntimeRules,
|
|
16857
|
+
recommendedAppearancePresetIds: [
|
|
16858
|
+
"hero-brand-scrim-fixed-frame",
|
|
16859
|
+
"media-text-quiet-story",
|
|
16860
|
+
"events-lined-panel",
|
|
16861
|
+
"schedule-details-brand-depth",
|
|
16862
|
+
"testimonials-statement-cards",
|
|
16863
|
+
"contact-form-panel"
|
|
16864
|
+
],
|
|
16865
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
16866
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
16867
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
16868
|
+
floating: [
|
|
16869
|
+
headerStyleChoice("minimal-surface"),
|
|
16870
|
+
headerStyleChoice("split-glass"),
|
|
16871
|
+
headerStyleChoice("glass")
|
|
16872
|
+
]
|
|
16873
|
+
},
|
|
16874
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
16875
|
+
recommendedFooterLookIds: [
|
|
16876
|
+
"site-footer-brand-two-band",
|
|
16877
|
+
"footer-muted-grounding"
|
|
16878
|
+
],
|
|
16879
|
+
buttonPersonalityChoices: [
|
|
16880
|
+
buttonChoice("ornate-ritual"),
|
|
16881
|
+
buttonChoice("joy-stamp"),
|
|
16882
|
+
buttonChoice("ink-stamp")
|
|
16883
|
+
],
|
|
16884
|
+
paletteVariantChoices: [
|
|
16885
|
+
paletteChoice("warm-dark-kirtan-gold"),
|
|
16886
|
+
paletteChoice("warm-dark-ember"),
|
|
16887
|
+
paletteChoice("brand-led-burgundy-gold")
|
|
16888
|
+
]
|
|
16889
|
+
}),
|
|
15857
16890
|
defineCuratedSiteStyle({
|
|
15858
16891
|
id: "site-style:original-joy",
|
|
15859
16892
|
name: "Original Joy",
|
|
@@ -15957,319 +16990,6 @@ var pageFlowPresets = [
|
|
|
15957
16990
|
}
|
|
15958
16991
|
];
|
|
15959
16992
|
|
|
15960
|
-
// ../theme-core/src/site-styles/designState.ts
|
|
15961
|
-
import { z as z24 } from "zod";
|
|
15962
|
-
var themeV2DesignStateSchemaVersion = 1;
|
|
15963
|
-
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15964
|
-
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15965
|
-
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15966
|
-
fields3[0],
|
|
15967
|
-
...fields3.slice(1)
|
|
15968
|
-
]);
|
|
15969
|
-
var heroLegibilityStrategySchema = z24.enum([
|
|
15970
|
-
"none",
|
|
15971
|
-
"scrim-gradient",
|
|
15972
|
-
"solid-panel"
|
|
15973
|
-
]);
|
|
15974
|
-
var heroCompositionIntentSchema = z24.enum([
|
|
15975
|
-
"center",
|
|
15976
|
-
"bottom-left"
|
|
15977
|
-
]);
|
|
15978
|
-
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15979
|
-
"quiet",
|
|
15980
|
-
"editorial",
|
|
15981
|
-
"display",
|
|
15982
|
-
"poster"
|
|
15983
|
-
]);
|
|
15984
|
-
var sectionHeightIntentSchema = z24.enum([
|
|
15985
|
-
"default",
|
|
15986
|
-
"banner",
|
|
15987
|
-
"hero",
|
|
15988
|
-
"immersive"
|
|
15989
|
-
]);
|
|
15990
|
-
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15991
|
-
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15992
|
-
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15993
|
-
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15994
|
-
z24.object({
|
|
15995
|
-
kind: z24.literal("brand-scrim"),
|
|
15996
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15997
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15998
|
-
}).strict(),
|
|
15999
|
-
z24.object({
|
|
16000
|
-
kind: z24.literal("brand-wash"),
|
|
16001
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
16002
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16003
|
-
}).strict(),
|
|
16004
|
-
z24.object({
|
|
16005
|
-
kind: z24.literal("neutral-scrim"),
|
|
16006
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16007
|
-
}).strict(),
|
|
16008
|
-
z24.object({
|
|
16009
|
-
kind: z24.literal("neutral-wash"),
|
|
16010
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16011
|
-
}).strict(),
|
|
16012
|
-
z24.object({
|
|
16013
|
-
kind: z24.literal("solid-panel"),
|
|
16014
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16015
|
-
}).strict()
|
|
16016
|
-
]);
|
|
16017
|
-
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
16018
|
-
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
16019
|
-
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
16020
|
-
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
16021
|
-
function uniqueNonEmpty(values) {
|
|
16022
|
-
const uniqueValues = [...new Set(values)];
|
|
16023
|
-
const firstValue = uniqueValues[0];
|
|
16024
|
-
if (!firstValue) {
|
|
16025
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
16026
|
-
}
|
|
16027
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
16028
|
-
}
|
|
16029
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
16030
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
16031
|
-
);
|
|
16032
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
16033
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
16034
|
-
);
|
|
16035
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
16036
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
16037
|
-
);
|
|
16038
|
-
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
16039
|
-
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
16040
|
-
z24.object({
|
|
16041
|
-
kind: z24.literal("panel"),
|
|
16042
|
-
treatment: z24.enum(userPanelTreatments)
|
|
16043
|
-
}).strict(),
|
|
16044
|
-
z24.object({
|
|
16045
|
-
kind: z24.literal("flush-panel"),
|
|
16046
|
-
treatment: z24.enum(userFlushTreatments),
|
|
16047
|
-
bleed: z24.enum(userFlushBleeds)
|
|
16048
|
-
}).strict()
|
|
16049
|
-
]);
|
|
16050
|
-
var blockDesignPlanSchema = z24.object({
|
|
16051
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16052
|
-
blockKind: z24.string().min(1),
|
|
16053
|
-
purpose: z24.string().min(1),
|
|
16054
|
-
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
16055
|
-
contentFrame: contentFrameIntentSchema,
|
|
16056
|
-
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
16057
|
-
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
16058
|
-
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
16059
|
-
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
16060
|
-
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
16061
|
-
heroComposition: heroCompositionIntentSchema.optional(),
|
|
16062
|
-
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
16063
|
-
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
16064
|
-
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
16065
|
-
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
16066
|
-
tileTreatment: tileTreatmentSchema.optional(),
|
|
16067
|
-
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
16068
|
-
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
16069
|
-
}).strict();
|
|
16070
|
-
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
16071
|
-
z24.object({
|
|
16072
|
-
kind: z24.literal("theme-v2"),
|
|
16073
|
-
source: designResolutionPolicySchema,
|
|
16074
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16075
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16076
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16077
|
-
resolverVersion: z24.number().int().nonnegative()
|
|
16078
|
-
}).strict(),
|
|
16079
|
-
z24.object({
|
|
16080
|
-
kind: z24.literal("legacy-raw"),
|
|
16081
|
-
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
16082
|
-
}).strict(),
|
|
16083
|
-
z24.object({
|
|
16084
|
-
kind: z24.literal("advanced-detached"),
|
|
16085
|
-
reason: z24.literal("detached-custom-runtime-fields")
|
|
16086
|
-
}).strict()
|
|
16087
|
-
]);
|
|
16088
|
-
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
16089
|
-
unit: z24.literal("block-runtime-fields"),
|
|
16090
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16091
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
16092
|
-
authority: styleAuthoritySchema
|
|
16093
|
-
}).strict();
|
|
16094
|
-
var persistedPageDesignStateV1Schema = z24.object({
|
|
16095
|
-
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
16096
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16097
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16098
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16099
|
-
resolverVersion: z24.number().int().nonnegative(),
|
|
16100
|
-
rhythmPresetId: z24.string().min(1),
|
|
16101
|
-
blocks: z24.array(blockDesignPlanSchema),
|
|
16102
|
-
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
16103
|
-
}).strict();
|
|
16104
|
-
|
|
16105
|
-
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
16106
|
-
function defineDesignRuntimeRules(rules) {
|
|
16107
|
-
return rules;
|
|
16108
|
-
}
|
|
16109
|
-
function defineComponentRuntimeRules(rules) {
|
|
16110
|
-
return rules;
|
|
16111
|
-
}
|
|
16112
|
-
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
16113
|
-
sectionSurfaces: {
|
|
16114
|
-
base: {},
|
|
16115
|
-
"muted-band": {
|
|
16116
|
-
background: {
|
|
16117
|
-
type: "color",
|
|
16118
|
-
color: "muted"
|
|
16119
|
-
}
|
|
16120
|
-
},
|
|
16121
|
-
"accent-band": {
|
|
16122
|
-
background: {
|
|
16123
|
-
type: "color",
|
|
16124
|
-
color: "primary"
|
|
16125
|
-
}
|
|
16126
|
-
},
|
|
16127
|
-
"brand-depth-band": {
|
|
16128
|
-
background: {
|
|
16129
|
-
type: "color",
|
|
16130
|
-
color: "primary-800"
|
|
16131
|
-
}
|
|
16132
|
-
},
|
|
16133
|
-
"hero-image": {
|
|
16134
|
-
background: {
|
|
16135
|
-
type: "image",
|
|
16136
|
-
opacity: 1,
|
|
16137
|
-
position: "center center",
|
|
16138
|
-
...uniformSectionForeground("text")
|
|
16139
|
-
}
|
|
16140
|
-
}
|
|
16141
|
-
},
|
|
16142
|
-
heroLegibility: {
|
|
16143
|
-
"scrim-gradient": {
|
|
16144
|
-
type: "gradient",
|
|
16145
|
-
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
16146
|
-
opacity: 1
|
|
16147
|
-
},
|
|
16148
|
-
"solid-panel": {
|
|
16149
|
-
type: "color",
|
|
16150
|
-
color: "surface",
|
|
16151
|
-
opacity: 0.88
|
|
16152
|
-
}
|
|
16153
|
-
},
|
|
16154
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
16155
|
-
});
|
|
16156
|
-
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
16157
|
-
panelFrames: {
|
|
16158
|
-
inset: {
|
|
16159
|
-
spacing: "comfortable",
|
|
16160
|
-
rounded: "xl",
|
|
16161
|
-
raised: false,
|
|
16162
|
-
background: {
|
|
16163
|
-
type: "color",
|
|
16164
|
-
color: "surfaceAlt",
|
|
16165
|
-
textColor: "text"
|
|
16166
|
-
}
|
|
16167
|
-
},
|
|
16168
|
-
raised: {
|
|
16169
|
-
spacing: "comfortable",
|
|
16170
|
-
rounded: "xl",
|
|
16171
|
-
raised: true,
|
|
16172
|
-
background: {
|
|
16173
|
-
type: "color",
|
|
16174
|
-
color: "surfaceAlt",
|
|
16175
|
-
textColor: "text"
|
|
16176
|
-
}
|
|
16177
|
-
},
|
|
16178
|
-
editorial: {
|
|
16179
|
-
spacing: "medium",
|
|
16180
|
-
rounded: "xl",
|
|
16181
|
-
raised: false,
|
|
16182
|
-
background: {
|
|
16183
|
-
type: "color",
|
|
16184
|
-
color: "surface",
|
|
16185
|
-
textColor: "text"
|
|
16186
|
-
}
|
|
16187
|
-
}
|
|
16188
|
-
},
|
|
16189
|
-
flushFrames: {
|
|
16190
|
-
"media-panel": {
|
|
16191
|
-
fullWidth: true,
|
|
16192
|
-
spacing: "none",
|
|
16193
|
-
rounded: "none",
|
|
16194
|
-
raised: false
|
|
16195
|
-
}
|
|
16196
|
-
},
|
|
16197
|
-
itemSurfaces: {
|
|
16198
|
-
none: null,
|
|
16199
|
-
default: {
|
|
16200
|
-
spacing: "medium",
|
|
16201
|
-
rounded: "lg",
|
|
16202
|
-
raised: false
|
|
16203
|
-
},
|
|
16204
|
-
flat: {
|
|
16205
|
-
spacing: "medium",
|
|
16206
|
-
rounded: "lg",
|
|
16207
|
-
raised: false
|
|
16208
|
-
},
|
|
16209
|
-
outlined: {
|
|
16210
|
-
spacing: "medium",
|
|
16211
|
-
rounded: "lg",
|
|
16212
|
-
raised: false,
|
|
16213
|
-
border: {
|
|
16214
|
-
enabled: true,
|
|
16215
|
-
width: "1",
|
|
16216
|
-
colorToken: "border"
|
|
16217
|
-
}
|
|
16218
|
-
},
|
|
16219
|
-
raised: {
|
|
16220
|
-
spacing: "medium",
|
|
16221
|
-
rounded: "xl",
|
|
16222
|
-
raised: true
|
|
16223
|
-
},
|
|
16224
|
-
inset: {
|
|
16225
|
-
treatment: "soft-panel",
|
|
16226
|
-
spacing: "comfortable",
|
|
16227
|
-
rounded: "xl",
|
|
16228
|
-
raised: false,
|
|
16229
|
-
border: {
|
|
16230
|
-
enabled: false
|
|
16231
|
-
},
|
|
16232
|
-
background: {
|
|
16233
|
-
type: "color",
|
|
16234
|
-
color: "surfaceAlt",
|
|
16235
|
-
textColor: "text"
|
|
16236
|
-
}
|
|
16237
|
-
},
|
|
16238
|
-
editorial: {
|
|
16239
|
-
// Boxless open column with a short rule on top; the visual treatment
|
|
16240
|
-
// lives in blocks-static/card-treatments.css.
|
|
16241
|
-
treatment: "editorial-rule",
|
|
16242
|
-
spacing: "none",
|
|
16243
|
-
rounded: "none",
|
|
16244
|
-
raised: false,
|
|
16245
|
-
border: {
|
|
16246
|
-
enabled: false
|
|
16247
|
-
}
|
|
16248
|
-
},
|
|
16249
|
-
"color-blocked": {
|
|
16250
|
-
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
16251
|
-
// (by position) and staggered offset live in
|
|
16252
|
-
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
16253
|
-
// generous padding, large radius, no border, flat (no shadow).
|
|
16254
|
-
treatment: "color-blocked",
|
|
16255
|
-
spacing: "spacious",
|
|
16256
|
-
rounded: "2xl",
|
|
16257
|
-
raised: false,
|
|
16258
|
-
border: {
|
|
16259
|
-
enabled: false
|
|
16260
|
-
}
|
|
16261
|
-
}
|
|
16262
|
-
}
|
|
16263
|
-
});
|
|
16264
|
-
function uniformSectionForeground(token) {
|
|
16265
|
-
return {
|
|
16266
|
-
textColor: token,
|
|
16267
|
-
headingColor: token,
|
|
16268
|
-
linkColor: token,
|
|
16269
|
-
supportingColor: token
|
|
16270
|
-
};
|
|
16271
|
-
}
|
|
16272
|
-
|
|
16273
16993
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
16274
16994
|
import { z as z25 } from "zod";
|
|
16275
16995
|
function uniqueNonEmpty2(values) {
|
|
@@ -17081,6 +17801,31 @@ function cardStylesField(options = {}) {
|
|
|
17081
17801
|
return createBoxStylesFieldWithDepth("card", options);
|
|
17082
17802
|
}
|
|
17083
17803
|
|
|
17804
|
+
// ../blocks/src/system/fields/imageShape.ts
|
|
17805
|
+
var standardImageShapeOptions = [
|
|
17806
|
+
{ value: "default", label: "Default" },
|
|
17807
|
+
{ value: "square", label: "Square corners" },
|
|
17808
|
+
{ value: "rounded", label: "Rounded corners" },
|
|
17809
|
+
{ value: "circle", label: "Circle" },
|
|
17810
|
+
{ value: "arch", label: "Arch" }
|
|
17811
|
+
];
|
|
17812
|
+
function createImageShapeField(options = {}) {
|
|
17813
|
+
return {
|
|
17814
|
+
id: options.id ?? "imageShape",
|
|
17815
|
+
type: "select",
|
|
17816
|
+
label: options.label ?? "Image shape",
|
|
17817
|
+
...options.description ? { description: options.description } : {},
|
|
17818
|
+
required: false,
|
|
17819
|
+
defaultValue: options.defaultValue ?? "default",
|
|
17820
|
+
multiple: false,
|
|
17821
|
+
options: [...standardImageShapeOptions],
|
|
17822
|
+
ui: {
|
|
17823
|
+
intent: options.uiIntent ?? "display",
|
|
17824
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
17825
|
+
}
|
|
17826
|
+
};
|
|
17827
|
+
}
|
|
17828
|
+
|
|
17084
17829
|
// ../blocks/src/utils/env.ts
|
|
17085
17830
|
function isDevEnvironment() {
|
|
17086
17831
|
try {
|
|
@@ -17895,7 +18640,7 @@ function buildFooterNavAll(common) {
|
|
|
17895
18640
|
return stack(
|
|
17896
18641
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17897
18642
|
[item],
|
|
17898
|
-
|
|
18643
|
+
whenCollectionHasItems(collectionPath)
|
|
17899
18644
|
);
|
|
17900
18645
|
}
|
|
17901
18646
|
function buildFooterNavLinksOnly(common) {
|
|
@@ -17928,7 +18673,7 @@ function buildFooterNavLinksOnly(common) {
|
|
|
17928
18673
|
return stack(
|
|
17929
18674
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17930
18675
|
[item],
|
|
17931
|
-
|
|
18676
|
+
whenCollectionHasItems(collectionPath)
|
|
17932
18677
|
);
|
|
17933
18678
|
}
|
|
17934
18679
|
function buildFooterNavFlatten(common) {
|
|
@@ -17977,9 +18722,20 @@ function buildFooterNavFlatten(common) {
|
|
|
17977
18722
|
return stack(
|
|
17978
18723
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17979
18724
|
[item],
|
|
17980
|
-
|
|
18725
|
+
whenCollectionHasItems(collectionPath)
|
|
17981
18726
|
);
|
|
17982
18727
|
}
|
|
18728
|
+
var whenCollectionHasItems = (collectionPath) => (node) => ({
|
|
18729
|
+
...node,
|
|
18730
|
+
$when: {
|
|
18731
|
+
when: {
|
|
18732
|
+
from: collectionPath,
|
|
18733
|
+
transforms: [{ id: "array.length" }]
|
|
18734
|
+
},
|
|
18735
|
+
equals: 0,
|
|
18736
|
+
not: true
|
|
18737
|
+
}
|
|
18738
|
+
});
|
|
17983
18739
|
function footerNav(opts) {
|
|
17984
18740
|
const mode = opts?.mode ?? "all";
|
|
17985
18741
|
const collectionPath = opts?.collectionPath ?? "footerMenu.items";
|
|
@@ -20551,8 +21307,23 @@ function fragmentsToRepeaterField(id, label, fragments, options = {}) {
|
|
|
20551
21307
|
var heroLayoutControlsFragment = defineFragment({
|
|
20552
21308
|
id: "heroLayoutControls",
|
|
20553
21309
|
title: "Hero Layout",
|
|
20554
|
-
description: "
|
|
21310
|
+
description: "Title scale, alignment, and content width controls for hero layouts.",
|
|
20555
21311
|
fields: [
|
|
21312
|
+
{
|
|
21313
|
+
id: "titleSize",
|
|
21314
|
+
type: "select",
|
|
21315
|
+
label: "Title size",
|
|
21316
|
+
description: "Adjust the visual scale of the hero title.",
|
|
21317
|
+
required: false,
|
|
21318
|
+
ui: { intent: "display" },
|
|
21319
|
+
options: [
|
|
21320
|
+
{ value: "auto", label: "Auto" },
|
|
21321
|
+
{ value: "quiet", label: "Normal" },
|
|
21322
|
+
{ value: "editorial", label: "Large" },
|
|
21323
|
+
{ value: "display", label: "Huge" },
|
|
21324
|
+
{ value: "poster", label: "Poster" }
|
|
21325
|
+
]
|
|
21326
|
+
},
|
|
20556
21327
|
{
|
|
20557
21328
|
id: "contentAlignment",
|
|
20558
21329
|
type: "select",
|
|
@@ -21347,7 +22118,18 @@ function heroSplitImagePane() {
|
|
|
21347
22118
|
return stack(
|
|
21348
22119
|
{
|
|
21349
22120
|
gap: "none",
|
|
21350
|
-
className:
|
|
22121
|
+
className: {
|
|
22122
|
+
$bind: {
|
|
22123
|
+
from: "content.imageShape",
|
|
22124
|
+
transforms: [
|
|
22125
|
+
{
|
|
22126
|
+
id: "ui.imageShapeClassName",
|
|
22127
|
+
options: { baseClass: "rb-relative rb-overflow-hidden rb-rounded-3xl" }
|
|
22128
|
+
}
|
|
22129
|
+
],
|
|
22130
|
+
fallback: "rb-relative rb-overflow-hidden rb-rounded-3xl"
|
|
22131
|
+
}
|
|
22132
|
+
},
|
|
21351
22133
|
style: {
|
|
21352
22134
|
minHeight: "clamp(18rem, 36vw, 34rem)"
|
|
21353
22135
|
}
|
|
@@ -21465,6 +22247,12 @@ var heroConfig = {
|
|
|
21465
22247
|
label: "Content card",
|
|
21466
22248
|
renderInHeader: true,
|
|
21467
22249
|
intent: "style"
|
|
22250
|
+
}),
|
|
22251
|
+
createImageShapeField({
|
|
22252
|
+
id: "imageShape",
|
|
22253
|
+
label: "Image shape",
|
|
22254
|
+
defaultValue: "default",
|
|
22255
|
+
uiIntent: "display"
|
|
21468
22256
|
})
|
|
21469
22257
|
],
|
|
21470
22258
|
layout: classicLayout,
|
|
@@ -21479,6 +22267,15 @@ var heroConfig = {
|
|
|
21479
22267
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
21480
22268
|
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
21481
22269
|
icon: "Sparkles",
|
|
22270
|
+
previewCustomize: {
|
|
22271
|
+
quickFieldPriority: [
|
|
22272
|
+
"titleSize",
|
|
22273
|
+
"contentAlignment",
|
|
22274
|
+
"contentMaxWidth",
|
|
22275
|
+
"verticalAlignment",
|
|
22276
|
+
"imageShape"
|
|
22277
|
+
]
|
|
22278
|
+
},
|
|
21482
22279
|
styleTokens: {
|
|
21483
22280
|
typography: "display",
|
|
21484
22281
|
spacing: "xl"
|
|
@@ -21495,7 +22292,8 @@ var standardAspectRatioOptions = [
|
|
|
21495
22292
|
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
21496
22293
|
{ value: "4/3", label: "4:3 (Standard)" },
|
|
21497
22294
|
{ value: "1/1", label: "1:1 (Square)" },
|
|
21498
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
22295
|
+
{ value: "3/4", label: "3:4 (Portrait)" },
|
|
22296
|
+
{ value: "9/16", label: "9:16 (Tall portrait)" }
|
|
21499
22297
|
];
|
|
21500
22298
|
function createAspectRatioField(options = {}) {
|
|
21501
22299
|
return {
|
|
@@ -22715,6 +23513,258 @@ var formBlockDefinition = {
|
|
|
22715
23513
|
runtime: formBlockRuntime
|
|
22716
23514
|
};
|
|
22717
23515
|
|
|
23516
|
+
// ../blocks/src/system/blocks/contact-newsletter.ts
|
|
23517
|
+
var contactNewsletterLayout = styledSection({
|
|
23518
|
+
children: sectionContainer([
|
|
23519
|
+
el(
|
|
23520
|
+
"div",
|
|
23521
|
+
{ className: "contact-newsletter-grid" },
|
|
23522
|
+
[
|
|
23523
|
+
el(
|
|
23524
|
+
"div",
|
|
23525
|
+
{ className: "contact-newsletter-column contact-newsletter-contact" },
|
|
23526
|
+
[
|
|
23527
|
+
el(
|
|
23528
|
+
"div",
|
|
23529
|
+
{ className: "contact-newsletter-copy" },
|
|
23530
|
+
[
|
|
23531
|
+
text(
|
|
23532
|
+
{
|
|
23533
|
+
as: "h2",
|
|
23534
|
+
className: "form-copy-title"
|
|
23535
|
+
},
|
|
23536
|
+
when("contactTitle"),
|
|
23537
|
+
bind("contactTitle")
|
|
23538
|
+
),
|
|
23539
|
+
richText(
|
|
23540
|
+
{
|
|
23541
|
+
className: "form-copy-intro rb-prose rb-max-w-none"
|
|
23542
|
+
},
|
|
23543
|
+
when("contactIntro"),
|
|
23544
|
+
bind("contactIntro")
|
|
23545
|
+
)
|
|
23546
|
+
]
|
|
23547
|
+
),
|
|
23548
|
+
el(
|
|
23549
|
+
"form",
|
|
23550
|
+
withApiBindings({
|
|
23551
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } },
|
|
23552
|
+
submitLabel: { $bind: { from: "contactSubmitLabel" } },
|
|
23553
|
+
successMessage: { $bind: { from: "contactSuccessMessage" } }
|
|
23554
|
+
}),
|
|
23555
|
+
[],
|
|
23556
|
+
bind("data.form")
|
|
23557
|
+
)
|
|
23558
|
+
]
|
|
23559
|
+
),
|
|
23560
|
+
el(
|
|
23561
|
+
"div",
|
|
23562
|
+
{ className: "contact-newsletter-column contact-newsletter-info contact-newsletter-newsletter" },
|
|
23563
|
+
[
|
|
23564
|
+
el(
|
|
23565
|
+
"div",
|
|
23566
|
+
{ className: "contact-newsletter-copy" },
|
|
23567
|
+
[
|
|
23568
|
+
text(
|
|
23569
|
+
{
|
|
23570
|
+
as: "h2",
|
|
23571
|
+
className: "newsletter-copy-title"
|
|
23572
|
+
},
|
|
23573
|
+
when("newsletterTitle"),
|
|
23574
|
+
bind("newsletterTitle")
|
|
23575
|
+
),
|
|
23576
|
+
richText(
|
|
23577
|
+
{
|
|
23578
|
+
className: "newsletter-copy-subtitle rb-prose rb-max-w-none"
|
|
23579
|
+
},
|
|
23580
|
+
when("newsletterSubtitle"),
|
|
23581
|
+
bind("newsletterSubtitle")
|
|
23582
|
+
)
|
|
23583
|
+
]
|
|
23584
|
+
),
|
|
23585
|
+
el(
|
|
23586
|
+
"newsletter-form",
|
|
23587
|
+
withApiBindings({
|
|
23588
|
+
listId: { $bind: { from: "listId" } },
|
|
23589
|
+
preset: { $bind: { from: "preset" } },
|
|
23590
|
+
includePhone: { $bind: { from: "includePhone" } },
|
|
23591
|
+
buttonLabel: { $bind: { from: "newsletterButtonLabel" } },
|
|
23592
|
+
successMessage: { $bind: { from: "newsletterSuccessMessage" } },
|
|
23593
|
+
privacyNote: { $bind: { from: "newsletterPrivacyNote" } },
|
|
23594
|
+
tags: { $bind: { from: "newsletterTags" } },
|
|
23595
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } }
|
|
23596
|
+
}),
|
|
23597
|
+
[]
|
|
23598
|
+
)
|
|
23599
|
+
]
|
|
23600
|
+
)
|
|
23601
|
+
]
|
|
23602
|
+
)
|
|
23603
|
+
], {
|
|
23604
|
+
className: "contact-newsletter-container"
|
|
23605
|
+
}),
|
|
23606
|
+
baseClass: "",
|
|
23607
|
+
spacing: "medium",
|
|
23608
|
+
background: "surface"
|
|
23609
|
+
});
|
|
23610
|
+
var contactNewsletterManifest = createBlockManifest({
|
|
23611
|
+
id: "block.contact-newsletter",
|
|
23612
|
+
title: "Contact + Newsletter",
|
|
23613
|
+
titleSource: "contactTitle",
|
|
23614
|
+
description: "Two-column newsletter signup and contact form section.",
|
|
23615
|
+
category: "interactive",
|
|
23616
|
+
layout: contactNewsletterLayout,
|
|
23617
|
+
defaultVariant: "default",
|
|
23618
|
+
variants: {
|
|
23619
|
+
default: contactNewsletterLayout
|
|
23620
|
+
},
|
|
23621
|
+
variantOptions: {
|
|
23622
|
+
default: {
|
|
23623
|
+
label: "Two column",
|
|
23624
|
+
description: "Newsletter and contact form side by side.",
|
|
23625
|
+
icon: "Columns2"
|
|
23626
|
+
}
|
|
23627
|
+
},
|
|
23628
|
+
additionalFields: [
|
|
23629
|
+
{
|
|
23630
|
+
id: "newsletterTitle",
|
|
23631
|
+
type: "text",
|
|
23632
|
+
label: "Newsletter title",
|
|
23633
|
+
defaultValue: "Stay connected"
|
|
23634
|
+
},
|
|
23635
|
+
{
|
|
23636
|
+
id: "newsletterSubtitle",
|
|
23637
|
+
type: "richText",
|
|
23638
|
+
label: "Newsletter intro"
|
|
23639
|
+
},
|
|
23640
|
+
{
|
|
23641
|
+
id: "listId",
|
|
23642
|
+
type: "reference",
|
|
23643
|
+
label: "Newsletter list",
|
|
23644
|
+
description: "Select the list new subscribers should be added to.",
|
|
23645
|
+
required: true,
|
|
23646
|
+
referenceKind: "newsletterList",
|
|
23647
|
+
allowManualEntry: false,
|
|
23648
|
+
ui: { intent: "behavior" }
|
|
23649
|
+
},
|
|
23650
|
+
{
|
|
23651
|
+
id: "preset",
|
|
23652
|
+
type: "select",
|
|
23653
|
+
label: "Newsletter fields",
|
|
23654
|
+
defaultValue: "emailOnly",
|
|
23655
|
+
ui: { intent: "display" },
|
|
23656
|
+
options: [
|
|
23657
|
+
{ value: "emailOnly", label: "Email only" },
|
|
23658
|
+
{ value: "emailName", label: "Email + Name" },
|
|
23659
|
+
{ value: "emailFirstLast", label: "Email + First/Last Name" },
|
|
23660
|
+
{ value: "emailNameCompany", label: "Email + Name + Company (B2B)" }
|
|
23661
|
+
]
|
|
23662
|
+
},
|
|
23663
|
+
{
|
|
23664
|
+
id: "includePhone",
|
|
23665
|
+
type: "boolean",
|
|
23666
|
+
label: "Include phone field",
|
|
23667
|
+
defaultValue: false,
|
|
23668
|
+
ui: { intent: "display" }
|
|
23669
|
+
},
|
|
23670
|
+
{
|
|
23671
|
+
id: "newsletterButtonLabel",
|
|
23672
|
+
type: "text",
|
|
23673
|
+
label: "Newsletter button label",
|
|
23674
|
+
defaultValue: "Subscribe",
|
|
23675
|
+
ui: { intent: "display" }
|
|
23676
|
+
},
|
|
23677
|
+
{
|
|
23678
|
+
id: "newsletterSuccessMessage",
|
|
23679
|
+
type: "text",
|
|
23680
|
+
label: "Newsletter success message",
|
|
23681
|
+
defaultValue: "Thanks for subscribing!",
|
|
23682
|
+
ui: { intent: "behavior" }
|
|
23683
|
+
},
|
|
23684
|
+
{
|
|
23685
|
+
id: "newsletterPrivacyNote",
|
|
23686
|
+
type: "text",
|
|
23687
|
+
label: "Privacy note",
|
|
23688
|
+
ui: { intent: "display" }
|
|
23689
|
+
},
|
|
23690
|
+
{
|
|
23691
|
+
id: "newsletterTags",
|
|
23692
|
+
type: "text",
|
|
23693
|
+
label: "Newsletter tags",
|
|
23694
|
+
description: "Optional tags to apply on subscribe, separated by comma or semicolon.",
|
|
23695
|
+
ui: { intent: "behavior" }
|
|
23696
|
+
},
|
|
23697
|
+
{
|
|
23698
|
+
id: "contactTitle",
|
|
23699
|
+
type: "text",
|
|
23700
|
+
label: "Contact title",
|
|
23701
|
+
defaultValue: "Get in touch"
|
|
23702
|
+
},
|
|
23703
|
+
{
|
|
23704
|
+
id: "contactIntro",
|
|
23705
|
+
type: "richText",
|
|
23706
|
+
label: "Contact intro"
|
|
23707
|
+
},
|
|
23708
|
+
{
|
|
23709
|
+
id: "formSlug",
|
|
23710
|
+
type: "reference",
|
|
23711
|
+
label: "Contact form",
|
|
23712
|
+
description: "Pick a saved form to render.",
|
|
23713
|
+
required: true,
|
|
23714
|
+
referenceKind: "form",
|
|
23715
|
+
allowManualEntry: false,
|
|
23716
|
+
ui: { intent: "behavior" }
|
|
23717
|
+
},
|
|
23718
|
+
{
|
|
23719
|
+
id: "contactSubmitLabel",
|
|
23720
|
+
type: "text",
|
|
23721
|
+
label: "Contact button label",
|
|
23722
|
+
defaultValue: "Send message",
|
|
23723
|
+
ui: { intent: "display" }
|
|
23724
|
+
},
|
|
23725
|
+
{
|
|
23726
|
+
id: "contactSuccessMessage",
|
|
23727
|
+
type: "text",
|
|
23728
|
+
label: "Contact success message",
|
|
23729
|
+
defaultValue: "Thanks - we received your message.",
|
|
23730
|
+
ui: { intent: "behavior" }
|
|
23731
|
+
}
|
|
23732
|
+
],
|
|
23733
|
+
styleTokens: {
|
|
23734
|
+
background: "surface",
|
|
23735
|
+
typography: "body",
|
|
23736
|
+
spacing: "md"
|
|
23737
|
+
},
|
|
23738
|
+
behaviours: {
|
|
23739
|
+
supportsThemeSwitching: true,
|
|
23740
|
+
inlineEditing: true,
|
|
23741
|
+
animation: false,
|
|
23742
|
+
paletteHidden: false
|
|
23743
|
+
},
|
|
23744
|
+
tags: [
|
|
23745
|
+
"contact",
|
|
23746
|
+
"newsletter",
|
|
23747
|
+
"signup",
|
|
23748
|
+
"email",
|
|
23749
|
+
"form",
|
|
23750
|
+
"lead-capture"
|
|
23751
|
+
],
|
|
23752
|
+
icon: "MailPlus"
|
|
23753
|
+
});
|
|
23754
|
+
var contactNewsletterBlockDefinition = {
|
|
23755
|
+
manifest: contactNewsletterManifest,
|
|
23756
|
+
dataSchemas: { form: formDataSchema.optional() },
|
|
23757
|
+
dataLoaders: {
|
|
23758
|
+
form: {
|
|
23759
|
+
endpoint: "getPublicFormById",
|
|
23760
|
+
params: {
|
|
23761
|
+
formSlug: { $bind: { from: "formSlug" } }
|
|
23762
|
+
},
|
|
23763
|
+
mode: "server"
|
|
23764
|
+
}
|
|
23765
|
+
}
|
|
23766
|
+
};
|
|
23767
|
+
|
|
22718
23768
|
// ../blocks/src/system/blocks/faq.ts
|
|
22719
23769
|
function fragmentLayoutNode2(layout) {
|
|
22720
23770
|
return isNodeDefinitionArray2(layout) ? el("div", {}, [...layout]) : layout;
|
|
@@ -22943,6 +23993,7 @@ var joinClasses3 = (parts) => parts.filter(
|
|
|
22943
23993
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
22944
23994
|
var eyebrowTreatmentClassMap = {
|
|
22945
23995
|
plain: "",
|
|
23996
|
+
accent: "rb-eyebrow-treatment-accent",
|
|
22946
23997
|
pill: "rb-eyebrow-treatment-pill",
|
|
22947
23998
|
"accent-pill": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-accent",
|
|
22948
23999
|
"pill-bounce": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-pill-bounce",
|
|
@@ -22969,6 +24020,13 @@ var imageGalleryCornerClassMap = {
|
|
|
22969
24020
|
"2xl": "rb-rounded-2xl",
|
|
22970
24021
|
"3xl": "rb-rounded-3xl"
|
|
22971
24022
|
};
|
|
24023
|
+
var imageShapeClassMap = {
|
|
24024
|
+
default: "",
|
|
24025
|
+
square: "rb-media-shape-square",
|
|
24026
|
+
rounded: "rb-media-shape-rounded",
|
|
24027
|
+
circle: "rb-media-shape-circle",
|
|
24028
|
+
arch: "rb-media-shape-arch"
|
|
24029
|
+
};
|
|
22972
24030
|
var parseRatio = (raw) => {
|
|
22973
24031
|
if (typeof raw !== "string") return null;
|
|
22974
24032
|
const value = raw.trim();
|
|
@@ -23113,6 +24171,10 @@ function resolveHeroContentMaxWidth(content) {
|
|
|
23113
24171
|
return "default";
|
|
23114
24172
|
}
|
|
23115
24173
|
function resolveHeroTypographyScale(content) {
|
|
24174
|
+
const titleSize = readString(content, "titleSize");
|
|
24175
|
+
if (titleSize === "quiet" || titleSize === "editorial" || titleSize === "display" || titleSize === "poster") {
|
|
24176
|
+
return titleSize;
|
|
24177
|
+
}
|
|
23116
24178
|
const raw = readHeroLayoutString(
|
|
23117
24179
|
content,
|
|
23118
24180
|
"typographyScale",
|
|
@@ -23354,6 +24416,16 @@ var uiTransforms = [
|
|
|
23354
24416
|
heroGridClassFromVerticalAlignmentTransform,
|
|
23355
24417
|
imageFragmentClassTransform,
|
|
23356
24418
|
imageFragmentSizeTransform,
|
|
24419
|
+
{
|
|
24420
|
+
id: "ui.imageShapeClassName",
|
|
24421
|
+
kind: "string",
|
|
24422
|
+
summary: "Apply a constrained media shape class",
|
|
24423
|
+
run: (value, options) => {
|
|
24424
|
+
const baseClass = typeof options?.baseClass === "string" ? options.baseClass : "";
|
|
24425
|
+
const shape = typeof value === "string" ? value.trim() : "default";
|
|
24426
|
+
return joinClasses3([baseClass, imageShapeClassMap[shape] ?? ""]);
|
|
24427
|
+
}
|
|
24428
|
+
},
|
|
23357
24429
|
conditionalClassTransform,
|
|
23358
24430
|
twoColumnContainerClassTransform,
|
|
23359
24431
|
twoColumnFlexBasisTransform,
|
|
@@ -24697,6 +25769,21 @@ var siteHeaderManifest = createBlockManifest({
|
|
|
24697
25769
|
id: "block.site-header",
|
|
24698
25770
|
title: "Site Header",
|
|
24699
25771
|
category: "layout",
|
|
25772
|
+
additionalFields: [
|
|
25773
|
+
{
|
|
25774
|
+
id: "mode",
|
|
25775
|
+
type: "select",
|
|
25776
|
+
label: "Header display",
|
|
25777
|
+
required: false,
|
|
25778
|
+
multiple: false,
|
|
25779
|
+
defaultValue: "default",
|
|
25780
|
+
options: [
|
|
25781
|
+
{ value: "default", label: "Show header" },
|
|
25782
|
+
{ value: "hidden", label: "Hide header" }
|
|
25783
|
+
],
|
|
25784
|
+
ui: { intent: "display" }
|
|
25785
|
+
}
|
|
25786
|
+
],
|
|
24700
25787
|
// Skip section styles - this block uses theme-based styling
|
|
24701
25788
|
skipSectionStyles: true,
|
|
24702
25789
|
// Block manages its own wrapper - enables sticky positioning
|
|
@@ -26099,6 +27186,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26099
27186
|
category: "layout",
|
|
26100
27187
|
includeContainerStyles: true,
|
|
26101
27188
|
titleSource: "title",
|
|
27189
|
+
previewCustomize: {
|
|
27190
|
+
quickFieldPriority: ["imagePosition", "ratio", "imageShape", "titleAlignment", "aspectRatio"]
|
|
27191
|
+
},
|
|
26102
27192
|
additionalFields: [
|
|
26103
27193
|
{
|
|
26104
27194
|
id: "images",
|
|
@@ -26137,7 +27227,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26137
27227
|
{
|
|
26138
27228
|
id: "titleAlignment",
|
|
26139
27229
|
type: "select",
|
|
26140
|
-
label: "
|
|
27230
|
+
label: "Content alignment",
|
|
26141
27231
|
required: false,
|
|
26142
27232
|
defaultValue: "left",
|
|
26143
27233
|
multiple: false,
|
|
@@ -26195,7 +27285,18 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26195
27285
|
transition: "slide"
|
|
26196
27286
|
},
|
|
26197
27287
|
ui: { intent: "behavior" }
|
|
26198
|
-
})
|
|
27288
|
+
}).map((field) => ({
|
|
27289
|
+
...field,
|
|
27290
|
+
ui: {
|
|
27291
|
+
...field.ui ?? {},
|
|
27292
|
+
visibleWhen: field.id === "carouselAutoplayDelay" ? {
|
|
27293
|
+
allOf: [
|
|
27294
|
+
{ field: "images", minItems: 2 },
|
|
27295
|
+
{ field: "carouselAutoplay", equals: true }
|
|
27296
|
+
]
|
|
27297
|
+
} : { field: "images", minItems: 2 }
|
|
27298
|
+
}
|
|
27299
|
+
})),
|
|
26199
27300
|
createAspectRatioField({
|
|
26200
27301
|
id: "aspectRatio",
|
|
26201
27302
|
label: "Media aspect ratio",
|
|
@@ -26203,6 +27304,12 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26203
27304
|
defaultValue: "auto",
|
|
26204
27305
|
visibleWhen: { field: "images", notEquals: null }
|
|
26205
27306
|
}),
|
|
27307
|
+
createImageShapeField({
|
|
27308
|
+
id: "imageShape",
|
|
27309
|
+
label: "Media shape",
|
|
27310
|
+
defaultValue: "default",
|
|
27311
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
27312
|
+
}),
|
|
26206
27313
|
{
|
|
26207
27314
|
id: "text",
|
|
26208
27315
|
type: "richText",
|
|
@@ -26236,6 +27343,30 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26236
27343
|
...options?.not ? { not: true } : {}
|
|
26237
27344
|
}
|
|
26238
27345
|
});
|
|
27346
|
+
const bodyClassNameFromAlignment = {
|
|
27347
|
+
$bind: {
|
|
27348
|
+
from: "content.titleAlignment",
|
|
27349
|
+
transforms: [
|
|
27350
|
+
{
|
|
27351
|
+
id: "ui.bodyClassFromAlignment",
|
|
27352
|
+
options: { base: "rb-prose rb-max-w-none" }
|
|
27353
|
+
}
|
|
27354
|
+
],
|
|
27355
|
+
fallback: "rb-prose rb-max-w-none"
|
|
27356
|
+
}
|
|
27357
|
+
};
|
|
27358
|
+
const titleClassNameFromAlignment = {
|
|
27359
|
+
$bind: {
|
|
27360
|
+
from: "content.titleAlignment",
|
|
27361
|
+
transforms: [
|
|
27362
|
+
{
|
|
27363
|
+
id: "ui.headingClassFromAlignment",
|
|
27364
|
+
options: { base: "" }
|
|
27365
|
+
}
|
|
27366
|
+
],
|
|
27367
|
+
fallback: ""
|
|
27368
|
+
}
|
|
27369
|
+
};
|
|
26239
27370
|
const defaultTextColumn = el("div", {}, [
|
|
26240
27371
|
styledCard(
|
|
26241
27372
|
[
|
|
@@ -26260,8 +27391,55 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26260
27391
|
bind("content.text")
|
|
26261
27392
|
)
|
|
26262
27393
|
]);
|
|
27394
|
+
const bioTextColumn = el(
|
|
27395
|
+
"div",
|
|
27396
|
+
{ className: "rb-flex rb-h-full rb-w-full rb-max-w-prose rb-flex-col rb-justify-center rb-gap-5" },
|
|
27397
|
+
[
|
|
27398
|
+
text(
|
|
27399
|
+
{
|
|
27400
|
+
as: "h2",
|
|
27401
|
+
className: titleClassNameFromAlignment
|
|
27402
|
+
},
|
|
27403
|
+
when("content.title"),
|
|
27404
|
+
bind("content.title")
|
|
27405
|
+
),
|
|
27406
|
+
styledCard(
|
|
27407
|
+
[
|
|
27408
|
+
richText(
|
|
27409
|
+
{
|
|
27410
|
+
className: bodyClassNameFromAlignment
|
|
27411
|
+
},
|
|
27412
|
+
bind("content.text")
|
|
27413
|
+
)
|
|
27414
|
+
],
|
|
27415
|
+
{
|
|
27416
|
+
stylesFrom: "content._textCardStyles",
|
|
27417
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27418
|
+
},
|
|
27419
|
+
when("content.wrapTextInCard")
|
|
27420
|
+
),
|
|
27421
|
+
richText(
|
|
27422
|
+
{
|
|
27423
|
+
className: bodyClassNameFromAlignment
|
|
27424
|
+
},
|
|
27425
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27426
|
+
bind("content.text")
|
|
27427
|
+
)
|
|
27428
|
+
]
|
|
27429
|
+
);
|
|
26263
27430
|
const defaultImageCommonProps = {
|
|
26264
|
-
className:
|
|
27431
|
+
className: {
|
|
27432
|
+
$bind: {
|
|
27433
|
+
from: "content.imageShape",
|
|
27434
|
+
transforms: [
|
|
27435
|
+
{
|
|
27436
|
+
id: "ui.imageShapeClassName",
|
|
27437
|
+
options: { baseClass: "rb-w-full rb-h-auto rb-object-cover" }
|
|
27438
|
+
}
|
|
27439
|
+
],
|
|
27440
|
+
fallback: "rb-w-full rb-h-auto rb-object-cover"
|
|
27441
|
+
}
|
|
27442
|
+
},
|
|
26265
27443
|
style: {
|
|
26266
27444
|
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
26267
27445
|
}
|
|
@@ -26302,6 +27480,27 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26302
27480
|
],
|
|
26303
27481
|
whenImagesLength(0, { not: true })
|
|
26304
27482
|
);
|
|
27483
|
+
const bioImagesLayout = el(
|
|
27484
|
+
"div",
|
|
27485
|
+
{},
|
|
27486
|
+
[
|
|
27487
|
+
responsiveTwoColumn({
|
|
27488
|
+
image: el("div", {}, [
|
|
27489
|
+
el("div", {}, [defaultSingleImage], whenImagesLength(1)),
|
|
27490
|
+
el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))
|
|
27491
|
+
]),
|
|
27492
|
+
text: bioTextColumn,
|
|
27493
|
+
ratioFrom: "content.ratio",
|
|
27494
|
+
imagePositionFrom: "content.imagePosition",
|
|
27495
|
+
containerClassName: "rb-flex rb-flex-col rb-md-flex-row rb-md-items-center",
|
|
27496
|
+
gapFrom: "content.gap",
|
|
27497
|
+
gapFallback: "comfortable",
|
|
27498
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
27499
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-stretch"
|
|
27500
|
+
})
|
|
27501
|
+
],
|
|
27502
|
+
whenImagesLength(0, { not: true })
|
|
27503
|
+
);
|
|
26305
27504
|
const defaultTextOnlyLayout = el(
|
|
26306
27505
|
"div",
|
|
26307
27506
|
{},
|
|
@@ -26331,7 +27530,45 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26331
27530
|
],
|
|
26332
27531
|
whenImagesLength(0)
|
|
26333
27532
|
);
|
|
27533
|
+
const bioTextOnlyLayout = el(
|
|
27534
|
+
"div",
|
|
27535
|
+
{ className: "rb-flex rb-w-full rb-max-w-prose rb-flex-col rb-gap-5" },
|
|
27536
|
+
[
|
|
27537
|
+
text(
|
|
27538
|
+
{
|
|
27539
|
+
as: "h2",
|
|
27540
|
+
className: titleClassNameFromAlignment
|
|
27541
|
+
},
|
|
27542
|
+
when("content.title"),
|
|
27543
|
+
bind("content.title")
|
|
27544
|
+
),
|
|
27545
|
+
styledCard(
|
|
27546
|
+
[
|
|
27547
|
+
richText(
|
|
27548
|
+
{
|
|
27549
|
+
className: bodyClassNameFromAlignment
|
|
27550
|
+
},
|
|
27551
|
+
bind("content.text")
|
|
27552
|
+
)
|
|
27553
|
+
],
|
|
27554
|
+
{
|
|
27555
|
+
stylesFrom: "content._textCardStyles",
|
|
27556
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27557
|
+
},
|
|
27558
|
+
when("content.wrapTextInCard")
|
|
27559
|
+
),
|
|
27560
|
+
richText(
|
|
27561
|
+
{
|
|
27562
|
+
className: bodyClassNameFromAlignment
|
|
27563
|
+
},
|
|
27564
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27565
|
+
bind("content.text")
|
|
27566
|
+
)
|
|
27567
|
+
],
|
|
27568
|
+
whenImagesLength(0)
|
|
27569
|
+
);
|
|
26334
27570
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
27571
|
+
const bioInner = el("div", {}, [bioImagesLayout, bioTextOnlyLayout]);
|
|
26335
27572
|
const defaultLayout2 = styledSection({
|
|
26336
27573
|
children: styledContainer({
|
|
26337
27574
|
rootType: "stack",
|
|
@@ -26340,18 +27577,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26340
27577
|
text(
|
|
26341
27578
|
{
|
|
26342
27579
|
as: "h2",
|
|
26343
|
-
className:
|
|
26344
|
-
$bind: {
|
|
26345
|
-
from: "content.titleAlignment",
|
|
26346
|
-
transforms: [
|
|
26347
|
-
{
|
|
26348
|
-
id: "ui.headingClassFromAlignment",
|
|
26349
|
-
options: { base: "" }
|
|
26350
|
-
}
|
|
26351
|
-
],
|
|
26352
|
-
fallback: ""
|
|
26353
|
-
}
|
|
26354
|
-
}
|
|
27580
|
+
className: titleClassNameFromAlignment
|
|
26355
27581
|
},
|
|
26356
27582
|
when("content.title"),
|
|
26357
27583
|
bind("content.title")
|
|
@@ -26363,14 +27589,28 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26363
27589
|
baseClass: "",
|
|
26364
27590
|
spacing: "medium"
|
|
26365
27591
|
});
|
|
27592
|
+
const bioLayout = styledSection({
|
|
27593
|
+
children: styledContainer({
|
|
27594
|
+
rootType: "stack",
|
|
27595
|
+
rootProps: { gap: "lg" },
|
|
27596
|
+
children: [bioInner]
|
|
27597
|
+
}),
|
|
27598
|
+
baseClass: "",
|
|
27599
|
+
spacing: "medium"
|
|
27600
|
+
});
|
|
26366
27601
|
return {
|
|
26367
27602
|
layout: defaultLayout2,
|
|
26368
27603
|
variants: {
|
|
26369
|
-
default: defaultLayout2
|
|
27604
|
+
default: defaultLayout2,
|
|
27605
|
+
bio: bioLayout
|
|
26370
27606
|
},
|
|
26371
27607
|
defaultVariant: "default",
|
|
26372
27608
|
variantOptions: {
|
|
26373
|
-
default: { label: "Default" }
|
|
27609
|
+
default: { label: "Default" },
|
|
27610
|
+
bio: {
|
|
27611
|
+
label: "Bio",
|
|
27612
|
+
description: "Vertically centered title and copy beside media."
|
|
27613
|
+
}
|
|
26374
27614
|
}
|
|
26375
27615
|
};
|
|
26376
27616
|
})(),
|
|
@@ -27076,10 +28316,8 @@ var occurrenceContextSchema = z43.object({
|
|
|
27076
28316
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
27077
28317
|
import { z as z45 } from "zod";
|
|
27078
28318
|
|
|
27079
|
-
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
27080
|
-
import { z as z44 } from "zod";
|
|
27081
|
-
|
|
27082
28319
|
// ../blocks/src/system/constants/events.ts
|
|
28320
|
+
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
27083
28321
|
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
27084
28322
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
27085
28323
|
var eventCalendarListLayoutOptions = [
|
|
@@ -27093,8 +28331,133 @@ function isEventCalendarDisplayMode(value) {
|
|
|
27093
28331
|
function isEventCalendarListLayout(value) {
|
|
27094
28332
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
27095
28333
|
}
|
|
28334
|
+
function isEventContentType(slug) {
|
|
28335
|
+
if (!slug) return false;
|
|
28336
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
28337
|
+
}
|
|
28338
|
+
|
|
28339
|
+
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
28340
|
+
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
28341
|
+
function resolveRuntimeEventPricing(event) {
|
|
28342
|
+
if (isPublicEventPricing(event.pricing)) {
|
|
28343
|
+
return event.pricing;
|
|
28344
|
+
}
|
|
28345
|
+
const legacy = event;
|
|
28346
|
+
const currency = readCurrency(legacy.currency);
|
|
28347
|
+
if (event.requiresRegistration === false) {
|
|
28348
|
+
return {
|
|
28349
|
+
kind: "drop_in",
|
|
28350
|
+
currency,
|
|
28351
|
+
display: { kind: "free", currency }
|
|
28352
|
+
};
|
|
28353
|
+
}
|
|
28354
|
+
if (legacy.pricingMode === "ticket_types") {
|
|
28355
|
+
const ticketTypes = Array.isArray(legacy.ticketTypes) ? legacy.ticketTypes.filter(isPublicEventTicketType) : [];
|
|
28356
|
+
return {
|
|
28357
|
+
kind: "ticket_types",
|
|
28358
|
+
currency,
|
|
28359
|
+
ticketTypes,
|
|
28360
|
+
display: readTicketTypePriceDisplay(legacy.priceDisplay, currency)
|
|
28361
|
+
};
|
|
28362
|
+
}
|
|
28363
|
+
const amount = typeof legacy.price === "number" ? legacy.price : 0;
|
|
28364
|
+
if (legacy.pricingType === "paid" && amount > 0) {
|
|
28365
|
+
return {
|
|
28366
|
+
kind: "single_paid",
|
|
28367
|
+
amount,
|
|
28368
|
+
currency,
|
|
28369
|
+
display: { kind: "exact", amount, currency }
|
|
28370
|
+
};
|
|
28371
|
+
}
|
|
28372
|
+
return {
|
|
28373
|
+
kind: "free_registration",
|
|
28374
|
+
currency,
|
|
28375
|
+
display: { kind: "free", currency }
|
|
28376
|
+
};
|
|
28377
|
+
}
|
|
28378
|
+
function readCurrency(value) {
|
|
28379
|
+
return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
|
|
28380
|
+
}
|
|
28381
|
+
function isRecord3(value) {
|
|
28382
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28383
|
+
}
|
|
28384
|
+
function isPublicEventPricing(value) {
|
|
28385
|
+
if (!isRecord3(value) || typeof value.kind !== "string") return false;
|
|
28386
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
|
|
28387
|
+
}
|
|
28388
|
+
function isPublicEventTicketType(value) {
|
|
28389
|
+
return isRecord3(value) && typeof value.id === "string";
|
|
28390
|
+
}
|
|
28391
|
+
function readTicketTypePriceDisplay(value, currency) {
|
|
28392
|
+
const display = readLegacyPriceDisplay(value, currency);
|
|
28393
|
+
return display.kind === "course" ? { kind: "unavailable", currency } : display;
|
|
28394
|
+
}
|
|
28395
|
+
function readLegacyPriceDisplay(value, currency) {
|
|
28396
|
+
if (!isRecord3(value) || typeof value.kind !== "string") {
|
|
28397
|
+
return { kind: "unavailable", currency };
|
|
28398
|
+
}
|
|
28399
|
+
const displayCurrency = readCurrency(value.currency);
|
|
28400
|
+
switch (value.kind) {
|
|
28401
|
+
case "free":
|
|
28402
|
+
return { kind: "free", currency: displayCurrency };
|
|
28403
|
+
case "exact":
|
|
28404
|
+
return readAmount(value.amount) !== null ? {
|
|
28405
|
+
kind: "exact",
|
|
28406
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28407
|
+
currency: displayCurrency
|
|
28408
|
+
} : { kind: "unavailable", currency };
|
|
28409
|
+
case "from":
|
|
28410
|
+
return readAmount(value.amount) !== null ? {
|
|
28411
|
+
kind: "from",
|
|
28412
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28413
|
+
currency: displayCurrency
|
|
28414
|
+
} : { kind: "unavailable", currency };
|
|
28415
|
+
case "mixed":
|
|
28416
|
+
return readAmount(value.paidFromAmount) !== null ? {
|
|
28417
|
+
kind: "mixed",
|
|
28418
|
+
paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
|
|
28419
|
+
currency: displayCurrency
|
|
28420
|
+
} : { kind: "unavailable", currency };
|
|
28421
|
+
case "unavailable":
|
|
28422
|
+
return { kind: "unavailable", currency: displayCurrency };
|
|
28423
|
+
case "course":
|
|
28424
|
+
return isRecord3(value.display) ? {
|
|
28425
|
+
kind: "course",
|
|
28426
|
+
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
28427
|
+
} : {
|
|
28428
|
+
kind: "course",
|
|
28429
|
+
display: { kind: "unavailable", currency: displayCurrency }
|
|
28430
|
+
};
|
|
28431
|
+
default:
|
|
28432
|
+
return { kind: "unavailable", currency };
|
|
28433
|
+
}
|
|
28434
|
+
}
|
|
28435
|
+
function readCoursePriceDisplay(value, currency) {
|
|
28436
|
+
switch (value.kind) {
|
|
28437
|
+
case "free":
|
|
28438
|
+
return { kind: "free", currency: readCurrency(value.currency) };
|
|
28439
|
+
case "exact":
|
|
28440
|
+
return readAmount(value.amount) !== null ? {
|
|
28441
|
+
kind: "exact",
|
|
28442
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28443
|
+
currency: readCurrency(value.currency)
|
|
28444
|
+
} : { kind: "unavailable", currency };
|
|
28445
|
+
case "from":
|
|
28446
|
+
return readAmount(value.amount) !== null ? {
|
|
28447
|
+
kind: "from",
|
|
28448
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28449
|
+
currency: readCurrency(value.currency)
|
|
28450
|
+
} : { kind: "unavailable", currency };
|
|
28451
|
+
default:
|
|
28452
|
+
return { kind: "unavailable", currency };
|
|
28453
|
+
}
|
|
28454
|
+
}
|
|
28455
|
+
function readAmount(value) {
|
|
28456
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
28457
|
+
}
|
|
27096
28458
|
|
|
27097
28459
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28460
|
+
import { z as z44 } from "zod";
|
|
27098
28461
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
27099
28462
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
27100
28463
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
@@ -27105,12 +28468,73 @@ var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
|
27105
28468
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
27106
28469
|
var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
|
|
27107
28470
|
|
|
28471
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28472
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
28473
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
28474
|
+
if (!needsPaymentStep) {
|
|
28475
|
+
return baseSteps;
|
|
28476
|
+
}
|
|
28477
|
+
return [...baseSteps, "select-payment"];
|
|
28478
|
+
}
|
|
28479
|
+
|
|
28480
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
28481
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
28482
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
28483
|
+
}
|
|
28484
|
+
function findPreSelectedEvent(input) {
|
|
28485
|
+
const occurrenceContext = input.occurrenceContext;
|
|
28486
|
+
if (!occurrenceContext) {
|
|
28487
|
+
return null;
|
|
28488
|
+
}
|
|
28489
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28490
|
+
startsAt: occurrenceContext.startsAt,
|
|
28491
|
+
timeZone: occurrenceContext.timeZone
|
|
28492
|
+
}));
|
|
28493
|
+
return input.scopedEvents.find(
|
|
28494
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28495
|
+
startsAt: event.startsAt,
|
|
28496
|
+
timeZone: event.timeZone
|
|
28497
|
+
})) === contextDate
|
|
28498
|
+
) ?? null;
|
|
28499
|
+
}
|
|
28500
|
+
function resolveEventRequiresPayment(input) {
|
|
28501
|
+
if (input.eligibility) {
|
|
28502
|
+
return input.eligibility.requiresPayment;
|
|
28503
|
+
}
|
|
28504
|
+
if (input.selectedTicketType) {
|
|
28505
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
28506
|
+
}
|
|
28507
|
+
if (!input.event) {
|
|
28508
|
+
return false;
|
|
28509
|
+
}
|
|
28510
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
28511
|
+
}
|
|
28512
|
+
|
|
28513
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
28514
|
+
function toRegistrationEvent(event) {
|
|
28515
|
+
return {
|
|
28516
|
+
...event,
|
|
28517
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
28518
|
+
publicEventId: event.id,
|
|
28519
|
+
registrationOccurrenceId: event.occurrenceId
|
|
28520
|
+
};
|
|
28521
|
+
}
|
|
28522
|
+
function toRegistrationEvents(events) {
|
|
28523
|
+
return events.map(toRegistrationEvent);
|
|
28524
|
+
}
|
|
28525
|
+
|
|
27108
28526
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28527
|
+
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28528
|
+
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
27109
28529
|
var contentEntrySchema = z45.object({
|
|
27110
28530
|
id: z45.string(),
|
|
27111
28531
|
slug: z45.string(),
|
|
27112
28532
|
contentTypeSlug: z45.string()
|
|
27113
28533
|
});
|
|
28534
|
+
var eventRegistrationPublicEventSchema = z45.preprocess(
|
|
28535
|
+
normalizeEventRegistrationEventInput,
|
|
28536
|
+
publicEventSchema
|
|
28537
|
+
);
|
|
27114
28538
|
var eventRegistrationSourceSchema = z45.object({
|
|
27115
28539
|
siteId: z45.string().optional(),
|
|
27116
28540
|
apiBaseUrl: z45.string().optional(),
|
|
@@ -27118,7 +28542,7 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27118
28542
|
previewToken: z45.string().nullable().optional(),
|
|
27119
28543
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27120
28544
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27121
|
-
events: z45.array(
|
|
28545
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27122
28546
|
className: z45.string().nullable().optional(),
|
|
27123
28547
|
buttonText: z45.string().nullable().optional(),
|
|
27124
28548
|
maxTickets: z45.string().nullable().optional(),
|
|
@@ -27133,14 +28557,17 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27133
28557
|
});
|
|
27134
28558
|
var eventRegistrationDisplaySchema = z45.object({
|
|
27135
28559
|
kind: z45.literal("event-registration"),
|
|
27136
|
-
state: z45.literal("shell"),
|
|
28560
|
+
state: z45.literal("generic-shell"),
|
|
27137
28561
|
className: z45.string().nullable(),
|
|
28562
|
+
titleText: z45.string(),
|
|
28563
|
+
bodyText: z45.string(),
|
|
28564
|
+
stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
27138
28565
|
summaryButtonText: z45.string()
|
|
27139
28566
|
});
|
|
27140
28567
|
var eventRegistrationHydrationSchema = z45.object({
|
|
27141
28568
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27142
28569
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27143
|
-
events: z45.array(
|
|
28570
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27144
28571
|
maxTickets: z45.string().optional(),
|
|
27145
28572
|
showVenue: z45.boolean().optional(),
|
|
27146
28573
|
showCapacity: z45.boolean().optional(),
|
|
@@ -27169,13 +28596,81 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
27169
28596
|
"stage"
|
|
27170
28597
|
);
|
|
27171
28598
|
function buildEventRegistrationDisplay(source) {
|
|
28599
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
27172
28600
|
return {
|
|
27173
28601
|
kind: "event-registration",
|
|
27174
|
-
state: "shell",
|
|
28602
|
+
state: "generic-shell",
|
|
27175
28603
|
className: source.className ?? null,
|
|
28604
|
+
titleText: "Event registration",
|
|
28605
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
28606
|
+
stepLabels,
|
|
27176
28607
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
27177
28608
|
};
|
|
27178
28609
|
}
|
|
28610
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
28611
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
28612
|
+
if (scopedEvents.length === 0) {
|
|
28613
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
28614
|
+
}
|
|
28615
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
28616
|
+
scopedEvents,
|
|
28617
|
+
occurrenceContext: source.occurrenceContext
|
|
28618
|
+
});
|
|
28619
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
28620
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
28621
|
+
eligibility: null,
|
|
28622
|
+
selectedTicketType: null,
|
|
28623
|
+
event: preSelectedEvent
|
|
28624
|
+
}) : false;
|
|
28625
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
28626
|
+
}
|
|
28627
|
+
function scopeEventRegistrationEvents(source) {
|
|
28628
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
28629
|
+
if (source.occurrenceContext?.seriesId) {
|
|
28630
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
28631
|
+
}
|
|
28632
|
+
const entrySlug = source.contentEntry?.slug;
|
|
28633
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
28634
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
28635
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
28636
|
+
}
|
|
28637
|
+
return events;
|
|
28638
|
+
}
|
|
28639
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
28640
|
+
switch (step) {
|
|
28641
|
+
case "select-event":
|
|
28642
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
28643
|
+
case "select-tickets":
|
|
28644
|
+
return "Tickets";
|
|
28645
|
+
case "enter-details":
|
|
28646
|
+
return "Details";
|
|
28647
|
+
case "select-payment":
|
|
28648
|
+
return "Payment";
|
|
28649
|
+
case "error":
|
|
28650
|
+
case "success":
|
|
28651
|
+
case "submitting":
|
|
28652
|
+
case "redirecting":
|
|
28653
|
+
case "verifying-payment":
|
|
28654
|
+
case "verifying-timeout":
|
|
28655
|
+
case "payment-failed":
|
|
28656
|
+
return "Details";
|
|
28657
|
+
}
|
|
28658
|
+
}
|
|
28659
|
+
function isDateSelection(events) {
|
|
28660
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
28661
|
+
return Boolean(
|
|
28662
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
28663
|
+
);
|
|
28664
|
+
}
|
|
28665
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
28666
|
+
if (stepLabels.includes("Payment")) {
|
|
28667
|
+
return "Preparing tickets, details, and payment options.";
|
|
28668
|
+
}
|
|
28669
|
+
if (stepLabels[0] === "Tickets") {
|
|
28670
|
+
return "Preparing tickets and booking details.";
|
|
28671
|
+
}
|
|
28672
|
+
return "Preparing dates, tickets, and booking details.";
|
|
28673
|
+
}
|
|
27179
28674
|
var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
27180
28675
|
kind: "client-owned",
|
|
27181
28676
|
contracts: {
|
|
@@ -27199,6 +28694,18 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
27199
28694
|
}
|
|
27200
28695
|
})
|
|
27201
28696
|
});
|
|
28697
|
+
function normalizeEventRegistrationEventInput(value) {
|
|
28698
|
+
if (!isRecord4(value)) {
|
|
28699
|
+
return value;
|
|
28700
|
+
}
|
|
28701
|
+
return {
|
|
28702
|
+
...value,
|
|
28703
|
+
pricing: resolveRuntimeEventPricing(value)
|
|
28704
|
+
};
|
|
28705
|
+
}
|
|
28706
|
+
function isRecord4(value) {
|
|
28707
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28708
|
+
}
|
|
27202
28709
|
var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
27203
28710
|
runtime: eventRegistrationBlockRuntime,
|
|
27204
28711
|
mode: "event-registration",
|
|
@@ -29697,7 +31204,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
29697
31204
|
return keys.length >= 2 ? keys : [];
|
|
29698
31205
|
}
|
|
29699
31206
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
29700
|
-
if (!
|
|
31207
|
+
if (!isRecord5(value)) return null;
|
|
29701
31208
|
const groupOrderValue = value.groupOrder;
|
|
29702
31209
|
if (Array.isArray(groupOrderValue)) {
|
|
29703
31210
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -29710,7 +31217,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
29710
31217
|
return { ...value, groupOrder: [] };
|
|
29711
31218
|
}
|
|
29712
31219
|
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
|
|
29713
|
-
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(
|
|
31220
|
+
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord5) : []
|
|
29714
31221
|
);
|
|
29715
31222
|
return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
|
|
29716
31223
|
}
|
|
@@ -29724,7 +31231,7 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
29724
31231
|
}
|
|
29725
31232
|
return keys;
|
|
29726
31233
|
}
|
|
29727
|
-
function
|
|
31234
|
+
function isRecord5(value) {
|
|
29728
31235
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29729
31236
|
}
|
|
29730
31237
|
|
|
@@ -30091,7 +31598,7 @@ function isOfferingsPreviewItemLimit(value) {
|
|
|
30091
31598
|
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
30092
31599
|
}
|
|
30093
31600
|
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
30094
|
-
if (!
|
|
31601
|
+
if (!isRecord6(value)) return [];
|
|
30095
31602
|
const override = {};
|
|
30096
31603
|
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
|
|
30097
31604
|
override.sourceKey = value.sourceKey;
|
|
@@ -30123,12 +31630,12 @@ function isButtonVariant(value) {
|
|
|
30123
31630
|
return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
|
|
30124
31631
|
}
|
|
30125
31632
|
function normalizeCardStylesContent(value) {
|
|
30126
|
-
return
|
|
31633
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30127
31634
|
}
|
|
30128
31635
|
function normalizeSectionStylesContent(value) {
|
|
30129
|
-
return
|
|
31636
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30130
31637
|
}
|
|
30131
|
-
function
|
|
31638
|
+
function isRecord6(value) {
|
|
30132
31639
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30133
31640
|
}
|
|
30134
31641
|
|
|
@@ -34088,11 +35595,13 @@ var heroImageSurfaceMotions = [
|
|
|
34088
35595
|
];
|
|
34089
35596
|
var standardEyebrowTreatments = [
|
|
34090
35597
|
"plain",
|
|
35598
|
+
"accent",
|
|
34091
35599
|
"pill",
|
|
34092
35600
|
"accent-pill"
|
|
34093
35601
|
];
|
|
34094
35602
|
var animatedEyebrowTreatments = [
|
|
34095
35603
|
"plain",
|
|
35604
|
+
"accent",
|
|
34096
35605
|
"pill",
|
|
34097
35606
|
"accent-pill",
|
|
34098
35607
|
"pill-bounce",
|
|
@@ -34393,6 +35902,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
34393
35902
|
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
34394
35903
|
]
|
|
34395
35904
|
})),
|
|
35905
|
+
withDesignCapability("block.contact-newsletter", contactNewsletterBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
35906
|
+
flow: conversionFlow,
|
|
35907
|
+
layoutProfiles: [
|
|
35908
|
+
layoutProfile({
|
|
35909
|
+
variantKey: "default",
|
|
35910
|
+
family: "split",
|
|
35911
|
+
weight: "featured",
|
|
35912
|
+
bias: "soft"
|
|
35913
|
+
})
|
|
35914
|
+
]
|
|
35915
|
+
})),
|
|
34396
35916
|
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
34397
35917
|
sectionSurfaces: "supported",
|
|
34398
35918
|
contentFrames: ["plain", "panel"],
|
|
@@ -34484,6 +36004,12 @@ var systemBlockDefinitionsRaw = [
|
|
|
34484
36004
|
family: "media-text",
|
|
34485
36005
|
weight: "featured",
|
|
34486
36006
|
bias: "soft"
|
|
36007
|
+
}),
|
|
36008
|
+
layoutProfile({
|
|
36009
|
+
variantKey: "bio",
|
|
36010
|
+
family: "media-text",
|
|
36011
|
+
weight: "featured",
|
|
36012
|
+
bias: "soft"
|
|
34487
36013
|
})
|
|
34488
36014
|
]
|
|
34489
36015
|
})),
|
|
@@ -35516,6 +37042,11 @@ ${root} {
|
|
|
35516
37042
|
--er-event-card-bg: rgb(var(--tb-surface));
|
|
35517
37043
|
--er-event-card-border-width: var(--rb-border-width, 1px);
|
|
35518
37044
|
--er-event-card-hover-opacity: 1;
|
|
37045
|
+
--er-control-bg: rgb(var(--tb-background, var(--tb-surface)));
|
|
37046
|
+
--er-control-text: rgb(var(--tb-foreground, var(--tb-text)));
|
|
37047
|
+
--er-radius: var(--rb-block-radius);
|
|
37048
|
+
--er-surface-muted: rgba(var(--tb-muted, 241 245 249), 0.42);
|
|
37049
|
+
--er-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
35519
37050
|
|
|
35520
37051
|
/* Step indicator */
|
|
35521
37052
|
--er-step-active: rgb(var(--tb-primary));
|
|
@@ -36747,7 +38278,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
36747
38278
|
}
|
|
36748
38279
|
|
|
36749
38280
|
// ../api/src/utils/isRecord.ts
|
|
36750
|
-
function
|
|
38281
|
+
function isRecord7(value) {
|
|
36751
38282
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
36752
38283
|
}
|
|
36753
38284
|
|
|
@@ -37054,7 +38585,7 @@ function sanitizeMarks(marks) {
|
|
|
37054
38585
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
37055
38586
|
return [{ type: mark.type }];
|
|
37056
38587
|
}
|
|
37057
|
-
if (mark.type === "link" &&
|
|
38588
|
+
if (mark.type === "link" && isRecord7(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
37058
38589
|
const attrs = { href: mark.attrs.href };
|
|
37059
38590
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
37060
38591
|
attrs.target = mark.attrs.target;
|
|
@@ -37069,10 +38600,10 @@ function sanitizeMarks(marks) {
|
|
|
37069
38600
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
37070
38601
|
}
|
|
37071
38602
|
function unwrapRichTextValue(value) {
|
|
37072
|
-
if (
|
|
38603
|
+
if (isRecord7(value) && isRecord7(value.doc)) {
|
|
37073
38604
|
return unwrapRichTextValue(value.doc);
|
|
37074
38605
|
}
|
|
37075
|
-
if (
|
|
38606
|
+
if (isRecord7(value) && value.type === "doc") {
|
|
37076
38607
|
return {
|
|
37077
38608
|
type: "doc",
|
|
37078
38609
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -37081,7 +38612,7 @@ function unwrapRichTextValue(value) {
|
|
|
37081
38612
|
return EMPTY_SITE_BANNER_BODY;
|
|
37082
38613
|
}
|
|
37083
38614
|
function isTipTapNodeLike(value) {
|
|
37084
|
-
return
|
|
38615
|
+
return isRecord7(value) && typeof value.type === "string";
|
|
37085
38616
|
}
|
|
37086
38617
|
function coerceTipTapNode(value) {
|
|
37087
38618
|
return {
|
|
@@ -37089,9 +38620,9 @@ function coerceTipTapNode(value) {
|
|
|
37089
38620
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
37090
38621
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
37091
38622
|
...Array.isArray(value.marks) ? {
|
|
37092
|
-
marks: value.marks.filter((mark) =>
|
|
38623
|
+
marks: value.marks.filter((mark) => isRecord7(mark) && typeof mark.type === "string").map((mark) => ({
|
|
37093
38624
|
type: mark.type,
|
|
37094
|
-
...
|
|
38625
|
+
...isRecord7(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
37095
38626
|
}))
|
|
37096
38627
|
} : {}
|
|
37097
38628
|
};
|
|
@@ -37185,7 +38716,7 @@ function collectCartLinkStats(items, depth = 0) {
|
|
|
37185
38716
|
return result;
|
|
37186
38717
|
}
|
|
37187
38718
|
function isNavigationMenuValidationItem(value) {
|
|
37188
|
-
if (!
|
|
38719
|
+
if (!isRecord7(value)) return false;
|
|
37189
38720
|
return typeof value.label === "string";
|
|
37190
38721
|
}
|
|
37191
38722
|
|
|
@@ -37324,6 +38855,7 @@ var SYSTEM_BLOCK_KINDS = [
|
|
|
37324
38855
|
"block.site-footer",
|
|
37325
38856
|
// Form/booking blocks
|
|
37326
38857
|
"block.form",
|
|
38858
|
+
"block.contact-newsletter",
|
|
37327
38859
|
"block.appointment-booking",
|
|
37328
38860
|
"block.event-registration",
|
|
37329
38861
|
"block.event-details",
|