@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
package/dist/server/config.mjs
CHANGED
|
@@ -3291,6 +3291,46 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3291
3291
|
auth: "user",
|
|
3292
3292
|
responseKind: "json"
|
|
3293
3293
|
},
|
|
3294
|
+
listEntrySlotBlocks: {
|
|
3295
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3296
|
+
method: "GET",
|
|
3297
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3298
|
+
auth: "user",
|
|
3299
|
+
responseKind: "json",
|
|
3300
|
+
errors: ["resource:not_found"]
|
|
3301
|
+
},
|
|
3302
|
+
listEntryPageContentSlots: {
|
|
3303
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots",
|
|
3304
|
+
method: "GET",
|
|
3305
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slots", "blocks"],
|
|
3306
|
+
auth: "user",
|
|
3307
|
+
responseKind: "json",
|
|
3308
|
+
errors: ["resource:not_found"]
|
|
3309
|
+
},
|
|
3310
|
+
createEntrySlotBlock: {
|
|
3311
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3312
|
+
method: "POST",
|
|
3313
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3314
|
+
auth: "user",
|
|
3315
|
+
responseKind: "json",
|
|
3316
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3317
|
+
},
|
|
3318
|
+
reorderEntrySlotBlocks: {
|
|
3319
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/reorder",
|
|
3320
|
+
method: "POST",
|
|
3321
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3322
|
+
auth: "user",
|
|
3323
|
+
responseKind: "json",
|
|
3324
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3325
|
+
},
|
|
3326
|
+
deleteEntrySlotBlock: {
|
|
3327
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/{blockId}",
|
|
3328
|
+
method: "DELETE",
|
|
3329
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3330
|
+
auth: "user",
|
|
3331
|
+
responseKind: "json",
|
|
3332
|
+
errors: ["resource:not_found"]
|
|
3333
|
+
},
|
|
3294
3334
|
createBlock: {
|
|
3295
3335
|
path: "/sites/{siteId}/pages/{pageId}/blocks",
|
|
3296
3336
|
method: "POST",
|
|
@@ -6383,6 +6423,171 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
6383
6423
|
}
|
|
6384
6424
|
};
|
|
6385
6425
|
|
|
6426
|
+
// ../core/src/result.ts
|
|
6427
|
+
function ok(value) {
|
|
6428
|
+
return { ok: true, value };
|
|
6429
|
+
}
|
|
6430
|
+
function err(error) {
|
|
6431
|
+
return { ok: false, error };
|
|
6432
|
+
}
|
|
6433
|
+
|
|
6434
|
+
// ../core/src/event-pricing.ts
|
|
6435
|
+
function publicEventPricingType(pricing) {
|
|
6436
|
+
switch (pricing.kind) {
|
|
6437
|
+
case "drop_in":
|
|
6438
|
+
case "free_registration":
|
|
6439
|
+
return "free";
|
|
6440
|
+
case "single_paid":
|
|
6441
|
+
case "ticket_types":
|
|
6442
|
+
case "course":
|
|
6443
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6444
|
+
}
|
|
6445
|
+
}
|
|
6446
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
6447
|
+
switch (display.kind) {
|
|
6448
|
+
case "free":
|
|
6449
|
+
return true;
|
|
6450
|
+
case "course":
|
|
6451
|
+
return display.display.kind === "free";
|
|
6452
|
+
case "exact":
|
|
6453
|
+
case "from":
|
|
6454
|
+
case "mixed":
|
|
6455
|
+
case "unavailable":
|
|
6456
|
+
return false;
|
|
6457
|
+
}
|
|
6458
|
+
}
|
|
6459
|
+
|
|
6460
|
+
// ../core/src/booking-date-time.ts
|
|
6461
|
+
var DEFAULT_LOCALE = "en-US";
|
|
6462
|
+
var FALLBACK_TIMEZONE = "UTC";
|
|
6463
|
+
function isValidTimeZone(timeZone) {
|
|
6464
|
+
try {
|
|
6465
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
6466
|
+
return true;
|
|
6467
|
+
} catch {
|
|
6468
|
+
return false;
|
|
6469
|
+
}
|
|
6470
|
+
}
|
|
6471
|
+
function getSafeTimeZone(timeZone) {
|
|
6472
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
6473
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
6474
|
+
}
|
|
6475
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
6476
|
+
const normalized = timeZone.trim();
|
|
6477
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
6478
|
+
return null;
|
|
6479
|
+
}
|
|
6480
|
+
return normalized;
|
|
6481
|
+
}
|
|
6482
|
+
function formatParseError(error) {
|
|
6483
|
+
switch (error.reason) {
|
|
6484
|
+
case "invalid_starts_at":
|
|
6485
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
6486
|
+
case "invalid_ends_at":
|
|
6487
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
6488
|
+
case "invalid_time_zone":
|
|
6489
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
6490
|
+
}
|
|
6491
|
+
}
|
|
6492
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
6493
|
+
return new Map(
|
|
6494
|
+
new Intl.DateTimeFormat(locale, {
|
|
6495
|
+
...format,
|
|
6496
|
+
timeZone
|
|
6497
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
6498
|
+
);
|
|
6499
|
+
}
|
|
6500
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
6501
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
6502
|
+
year: "numeric",
|
|
6503
|
+
month: "2-digit",
|
|
6504
|
+
day: "2-digit",
|
|
6505
|
+
hour: "2-digit",
|
|
6506
|
+
minute: "2-digit",
|
|
6507
|
+
second: "2-digit",
|
|
6508
|
+
hour12: false
|
|
6509
|
+
});
|
|
6510
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
6511
|
+
return {
|
|
6512
|
+
year: read("year"),
|
|
6513
|
+
month: read("month"),
|
|
6514
|
+
day: read("day"),
|
|
6515
|
+
hour: read("hour"),
|
|
6516
|
+
minute: read("minute"),
|
|
6517
|
+
second: read("second")
|
|
6518
|
+
};
|
|
6519
|
+
}
|
|
6520
|
+
function formatDateKey(date) {
|
|
6521
|
+
const year = String(date.year).padStart(4, "0");
|
|
6522
|
+
const month = String(date.month).padStart(2, "0");
|
|
6523
|
+
const day = String(date.day).padStart(2, "0");
|
|
6524
|
+
return `${year}-${month}-${day}`;
|
|
6525
|
+
}
|
|
6526
|
+
function parseUtcIsoDateTimeString(value) {
|
|
6527
|
+
const normalized = value.trim();
|
|
6528
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
6529
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
6530
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
6531
|
+
return err("missing-timezone-offset");
|
|
6532
|
+
}
|
|
6533
|
+
const date = new Date(normalized);
|
|
6534
|
+
if (Number.isNaN(date.getTime())) {
|
|
6535
|
+
return err("invalid-date-time");
|
|
6536
|
+
}
|
|
6537
|
+
return ok(date.toISOString());
|
|
6538
|
+
}
|
|
6539
|
+
function toUtcIsoDateTimeString(value) {
|
|
6540
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
6541
|
+
if (!parsed.ok) {
|
|
6542
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
6543
|
+
throw new Error(message);
|
|
6544
|
+
}
|
|
6545
|
+
return parsed.value;
|
|
6546
|
+
}
|
|
6547
|
+
function parseScheduledBookingDateTime(input) {
|
|
6548
|
+
try {
|
|
6549
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
6550
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
6551
|
+
if (!timeZone) {
|
|
6552
|
+
return {
|
|
6553
|
+
ok: false,
|
|
6554
|
+
field: "timeZone",
|
|
6555
|
+
reason: "invalid_time_zone",
|
|
6556
|
+
value: input.timeZone
|
|
6557
|
+
};
|
|
6558
|
+
}
|
|
6559
|
+
return {
|
|
6560
|
+
ok: true,
|
|
6561
|
+
value: {
|
|
6562
|
+
startsAt,
|
|
6563
|
+
timeZone,
|
|
6564
|
+
locale: input.locale
|
|
6565
|
+
}
|
|
6566
|
+
};
|
|
6567
|
+
} catch {
|
|
6568
|
+
return {
|
|
6569
|
+
ok: false,
|
|
6570
|
+
field: "startsAt",
|
|
6571
|
+
reason: "invalid_starts_at",
|
|
6572
|
+
value: input.startsAt
|
|
6573
|
+
};
|
|
6574
|
+
}
|
|
6575
|
+
}
|
|
6576
|
+
function toScheduledBookingDateTime(input) {
|
|
6577
|
+
const result = parseScheduledBookingDateTime(input);
|
|
6578
|
+
if (result.ok) {
|
|
6579
|
+
return result.value;
|
|
6580
|
+
}
|
|
6581
|
+
throw new Error(formatParseError(result));
|
|
6582
|
+
}
|
|
6583
|
+
function getBookingLocalDateKey(input) {
|
|
6584
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
6585
|
+
}
|
|
6586
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
6587
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
6588
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
6589
|
+
}
|
|
6590
|
+
|
|
6386
6591
|
// ../core/src/location.ts
|
|
6387
6592
|
function normalizeLocationAddressText(value) {
|
|
6388
6593
|
if (typeof value !== "string") {
|
|
@@ -6927,6 +7132,21 @@ var selectSourceSchema = z4.discriminatedUnion("kind", [
|
|
|
6927
7132
|
function assertNeverSelectSource(value) {
|
|
6928
7133
|
throw new Error(`Unhandled select source: ${JSON.stringify(value)}`);
|
|
6929
7134
|
}
|
|
7135
|
+
var visibleWhenPredicateSchema = z4.object({
|
|
7136
|
+
field: z4.string().min(1),
|
|
7137
|
+
equals: z4.any().optional(),
|
|
7138
|
+
notEquals: z4.any().optional(),
|
|
7139
|
+
oneOf: z4.array(z4.any()).optional(),
|
|
7140
|
+
notIn: z4.array(z4.any()).optional(),
|
|
7141
|
+
minItems: z4.number().int().nonnegative().optional(),
|
|
7142
|
+
maxItems: z4.number().int().nonnegative().optional()
|
|
7143
|
+
});
|
|
7144
|
+
var visibleWhenSchema = z4.union([
|
|
7145
|
+
visibleWhenPredicateSchema,
|
|
7146
|
+
z4.object({
|
|
7147
|
+
allOf: z4.array(visibleWhenPredicateSchema).min(1)
|
|
7148
|
+
})
|
|
7149
|
+
]);
|
|
6930
7150
|
var uiSchema = z4.object({
|
|
6931
7151
|
widget: z4.string().optional(),
|
|
6932
7152
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -6959,13 +7179,7 @@ var uiSchema = z4.object({
|
|
|
6959
7179
|
showValue: z4.boolean().optional(),
|
|
6960
7180
|
pattern: z4.string().optional(),
|
|
6961
7181
|
placeholder: z4.string().optional(),
|
|
6962
|
-
visibleWhen:
|
|
6963
|
-
field: z4.string().min(1),
|
|
6964
|
-
equals: z4.any().optional(),
|
|
6965
|
-
notEquals: z4.any().optional(),
|
|
6966
|
-
oneOf: z4.array(z4.any()).optional(),
|
|
6967
|
-
notIn: z4.array(z4.any()).optional()
|
|
6968
|
-
}).optional(),
|
|
7182
|
+
visibleWhen: visibleWhenSchema.optional(),
|
|
6969
7183
|
// Modal configuration for modal and group fields
|
|
6970
7184
|
modalConfig: z4.object({
|
|
6971
7185
|
buttonLabel: z4.string().optional(),
|
|
@@ -7732,6 +7946,7 @@ var eventListTreatmentValues = [
|
|
|
7732
7946
|
];
|
|
7733
7947
|
var eyebrowTreatmentValues = [
|
|
7734
7948
|
"plain",
|
|
7949
|
+
"accent",
|
|
7735
7950
|
"pill",
|
|
7736
7951
|
"accent-pill",
|
|
7737
7952
|
"pill-bounce",
|
|
@@ -9323,9 +9538,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9323
9538
|
}
|
|
9324
9539
|
image.remove();
|
|
9325
9540
|
return res;
|
|
9326
|
-
} catch (
|
|
9541
|
+
} catch (err2) {
|
|
9327
9542
|
image.remove();
|
|
9328
|
-
return Promise.reject(
|
|
9543
|
+
return Promise.reject(err2);
|
|
9329
9544
|
}
|
|
9330
9545
|
}
|
|
9331
9546
|
async getPalettes() {
|
|
@@ -9339,9 +9554,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9339
9554
|
const res = result1.palettes;
|
|
9340
9555
|
image.remove();
|
|
9341
9556
|
return res;
|
|
9342
|
-
} catch (
|
|
9557
|
+
} catch (err2) {
|
|
9343
9558
|
image.remove();
|
|
9344
|
-
return Promise.reject(
|
|
9559
|
+
return Promise.reject(err2);
|
|
9345
9560
|
}
|
|
9346
9561
|
}
|
|
9347
9562
|
};
|
|
@@ -10746,27 +10961,28 @@ var joyStamp = defineButtonPersonality({
|
|
|
10746
10961
|
}
|
|
10747
10962
|
});
|
|
10748
10963
|
|
|
10749
|
-
// ../theme-core/src/buttons/personalities/
|
|
10750
|
-
var
|
|
10751
|
-
id: "
|
|
10752
|
-
name: "
|
|
10753
|
-
description: "
|
|
10754
|
-
tags: { tone: "classic", energy: "
|
|
10964
|
+
// ../theme-core/src/buttons/personalities/ornate-ritual.ts
|
|
10965
|
+
var ornateRitual = defineButtonPersonality({
|
|
10966
|
+
id: "ornate-ritual",
|
|
10967
|
+
name: "Ornate Ritual",
|
|
10968
|
+
description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
|
|
10969
|
+
tags: { tone: "classic", energy: "vibrant", motion: "subtle", era: "organic" },
|
|
10755
10970
|
buttonSystem: {
|
|
10756
10971
|
global: {
|
|
10757
|
-
cornerStyle: "
|
|
10972
|
+
cornerStyle: "rounded",
|
|
10758
10973
|
shadow: "none",
|
|
10759
|
-
textTransform: "
|
|
10760
|
-
fontWeight:
|
|
10761
|
-
borderWidth:
|
|
10974
|
+
textTransform: "uppercase",
|
|
10975
|
+
fontWeight: 600,
|
|
10976
|
+
borderWidth: 1,
|
|
10762
10977
|
hoverTransform: "none",
|
|
10763
|
-
hoverColor: "none"
|
|
10978
|
+
hoverColor: "none",
|
|
10979
|
+
letterSpacing: "loose"
|
|
10764
10980
|
},
|
|
10765
10981
|
sizes: {
|
|
10766
|
-
sm: { padding: "0.
|
|
10767
|
-
md: { padding: "0.
|
|
10768
|
-
lg: { padding: "
|
|
10769
|
-
xl: { padding: "
|
|
10982
|
+
sm: { padding: "0.5625rem 1.25rem", fontSize: "text-xs" },
|
|
10983
|
+
md: { padding: "0.75rem 1.75rem", fontSize: "text-xs" },
|
|
10984
|
+
lg: { padding: "0.875rem 2.25rem", fontSize: "text-sm" },
|
|
10985
|
+
xl: { padding: "1rem 2.75rem", fontSize: "text-base" }
|
|
10770
10986
|
},
|
|
10771
10987
|
variants: [
|
|
10772
10988
|
{
|
|
@@ -10776,97 +10992,12 @@ var pebble = defineButtonPersonality({
|
|
|
10776
10992
|
priority: 1,
|
|
10777
10993
|
background: { type: "solid", colorToken: "primary" },
|
|
10778
10994
|
textColorToken: "primaryForeground",
|
|
10779
|
-
borderRadius: "rounded-
|
|
10780
|
-
|
|
10781
|
-
|
|
10782
|
-
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
10783
|
-
]
|
|
10784
|
-
}
|
|
10785
|
-
},
|
|
10786
|
-
{
|
|
10787
|
-
id: "secondary",
|
|
10788
|
-
name: "Secondary",
|
|
10789
|
-
enabled: true,
|
|
10790
|
-
priority: 2,
|
|
10791
|
-
background: { type: "transparent" },
|
|
10792
|
-
textColorToken: "primary",
|
|
10793
|
-
borderRadius: "rounded-full",
|
|
10794
|
-
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10795
|
-
effects: {
|
|
10796
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
10797
|
-
}
|
|
10798
|
-
},
|
|
10799
|
-
{
|
|
10800
|
-
id: "outline",
|
|
10801
|
-
name: "Outline",
|
|
10802
|
-
enabled: true,
|
|
10803
|
-
priority: 3,
|
|
10804
|
-
background: { type: "transparent" },
|
|
10805
|
-
textColorToken: "text",
|
|
10806
|
-
borderRadius: "rounded-full",
|
|
10807
|
-
border: { widthClass: "border", colorToken: "border" },
|
|
10808
|
-
effects: {
|
|
10809
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10810
|
-
}
|
|
10811
|
-
},
|
|
10812
|
-
{
|
|
10813
|
-
id: "ghost",
|
|
10814
|
-
name: "Ghost",
|
|
10815
|
-
enabled: true,
|
|
10816
|
-
priority: 3,
|
|
10817
|
-
background: { type: "transparent" },
|
|
10818
|
-
textColorToken: "primary",
|
|
10819
|
-
borderRadius: "rounded-full",
|
|
10820
|
-
sizes: {
|
|
10821
|
-
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
10822
|
-
md: { padding: "0.5rem 1rem" },
|
|
10823
|
-
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
10824
|
-
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
10825
|
-
},
|
|
10826
|
-
effects: {
|
|
10827
|
-
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
10828
|
-
}
|
|
10829
|
-
}
|
|
10830
|
-
]
|
|
10831
|
-
}
|
|
10832
|
-
});
|
|
10833
|
-
|
|
10834
|
-
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
10835
|
-
var showtimePill = defineButtonPersonality({
|
|
10836
|
-
id: "showtime-pill",
|
|
10837
|
-
name: "Showtime Pill",
|
|
10838
|
-
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
10839
|
-
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
10840
|
-
buttonSystem: {
|
|
10841
|
-
global: {
|
|
10842
|
-
cornerStyle: "pill",
|
|
10843
|
-
shadow: "low",
|
|
10844
|
-
textTransform: "uppercase",
|
|
10845
|
-
fontWeight: 700,
|
|
10846
|
-
borderWidth: 2,
|
|
10847
|
-
hoverTransform: "lift",
|
|
10848
|
-
hoverColor: "darken",
|
|
10849
|
-
typography: "body",
|
|
10850
|
-
paddingPreset: "spacious",
|
|
10851
|
-
italic: false
|
|
10852
|
-
},
|
|
10853
|
-
sizes: {
|
|
10854
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
10855
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
10856
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
10857
|
-
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
10858
|
-
},
|
|
10859
|
-
variants: [
|
|
10860
|
-
{
|
|
10861
|
-
id: "primary",
|
|
10862
|
-
name: "Primary",
|
|
10863
|
-
enabled: true,
|
|
10864
|
-
priority: 1,
|
|
10865
|
-
background: { type: "solid", colorToken: "primary" },
|
|
10866
|
-
textColorToken: "background",
|
|
10867
|
-
borderRadius: "rounded-full",
|
|
10995
|
+
borderRadius: "rounded-md",
|
|
10996
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10997
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10868
10998
|
effects: {
|
|
10869
|
-
hover: [{ effectId: "
|
|
10999
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "primary-100" } }],
|
|
11000
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
10870
11001
|
}
|
|
10871
11002
|
},
|
|
10872
11003
|
{
|
|
@@ -10874,35 +11005,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10874
11005
|
name: "Secondary",
|
|
10875
11006
|
enabled: true,
|
|
10876
11007
|
priority: 2,
|
|
10877
|
-
background: { type: "transparent" },
|
|
10878
|
-
textColorToken: "primary",
|
|
10879
|
-
borderRadius: "rounded-full",
|
|
10880
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10881
|
-
effects: {
|
|
10882
|
-
hover: [{ effectId: "pop" }]
|
|
10883
|
-
}
|
|
10884
|
-
},
|
|
10885
|
-
{
|
|
10886
|
-
id: "hero",
|
|
10887
|
-
name: "Hero",
|
|
10888
|
-
enabled: true,
|
|
10889
|
-
priority: 1,
|
|
10890
11008
|
background: { type: "solid", colorToken: "secondary" },
|
|
10891
|
-
textColorToken: "
|
|
10892
|
-
borderRadius: "rounded-
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
}
|
|
10896
|
-
},
|
|
10897
|
-
{
|
|
10898
|
-
id: "header",
|
|
10899
|
-
name: "Header",
|
|
10900
|
-
enabled: true,
|
|
10901
|
-
priority: 2,
|
|
10902
|
-
background: { type: "solid", colorToken: "background" },
|
|
10903
|
-
textColorToken: "primary",
|
|
10904
|
-
borderRadius: "rounded-full",
|
|
10905
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11009
|
+
textColorToken: "primaryForeground",
|
|
11010
|
+
borderRadius: "rounded-md",
|
|
11011
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
11012
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10906
11013
|
effects: {
|
|
10907
11014
|
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10908
11015
|
}
|
|
@@ -10914,10 +11021,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10914
11021
|
priority: 3,
|
|
10915
11022
|
background: { type: "transparent" },
|
|
10916
11023
|
textColorToken: "primary",
|
|
10917
|
-
borderRadius: "rounded-
|
|
10918
|
-
border: { widthClass: "border
|
|
11024
|
+
borderRadius: "rounded-md",
|
|
11025
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
11026
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10919
11027
|
effects: {
|
|
10920
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
11028
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
10921
11029
|
}
|
|
10922
11030
|
},
|
|
10923
11031
|
{
|
|
@@ -10926,32 +11034,44 @@ var showtimePill = defineButtonPersonality({
|
|
|
10926
11034
|
enabled: true,
|
|
10927
11035
|
priority: 3,
|
|
10928
11036
|
background: { type: "transparent" },
|
|
10929
|
-
textColorToken: "
|
|
10930
|
-
borderRadius: "rounded-
|
|
11037
|
+
textColorToken: "accent",
|
|
11038
|
+
borderRadius: "rounded-none",
|
|
11039
|
+
sizes: {
|
|
11040
|
+
sm: { padding: "0.375rem 0", fontSize: "text-xs" },
|
|
11041
|
+
md: { padding: "0.5rem 0", fontSize: "text-sm" },
|
|
11042
|
+
lg: { padding: "0.625rem 0", fontSize: "text-base" },
|
|
11043
|
+
xl: { padding: "0.75rem 0", fontSize: "text-lg" }
|
|
11044
|
+
},
|
|
10931
11045
|
effects: {
|
|
10932
|
-
|
|
11046
|
+
base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
|
|
10933
11047
|
}
|
|
10934
11048
|
}
|
|
10935
11049
|
]
|
|
10936
11050
|
}
|
|
10937
11051
|
});
|
|
10938
11052
|
|
|
10939
|
-
// ../theme-core/src/buttons/personalities/
|
|
10940
|
-
var
|
|
10941
|
-
id: "
|
|
10942
|
-
name: "
|
|
10943
|
-
description: "
|
|
10944
|
-
tags: { tone: "classic", energy: "calm", motion: "
|
|
11053
|
+
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
11054
|
+
var pebble = defineButtonPersonality({
|
|
11055
|
+
id: "pebble",
|
|
11056
|
+
name: "Pebble",
|
|
11057
|
+
description: "Generous pill buttons with a quiet colour-softening hover.",
|
|
11058
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
|
|
10945
11059
|
buttonSystem: {
|
|
10946
11060
|
global: {
|
|
10947
11061
|
cornerStyle: "pill",
|
|
10948
|
-
shadow: "
|
|
11062
|
+
shadow: "none",
|
|
10949
11063
|
textTransform: "none",
|
|
10950
11064
|
fontWeight: 500,
|
|
10951
11065
|
borderWidth: 2,
|
|
10952
|
-
hoverTransform: "
|
|
11066
|
+
hoverTransform: "none",
|
|
10953
11067
|
hoverColor: "none"
|
|
10954
11068
|
},
|
|
11069
|
+
sizes: {
|
|
11070
|
+
sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
|
|
11071
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
11072
|
+
lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
|
|
11073
|
+
xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
|
|
11074
|
+
},
|
|
10955
11075
|
variants: [
|
|
10956
11076
|
{
|
|
10957
11077
|
id: "primary",
|
|
@@ -10961,10 +11081,10 @@ var softPill = defineButtonPersonality({
|
|
|
10961
11081
|
background: { type: "solid", colorToken: "primary" },
|
|
10962
11082
|
textColorToken: "primaryForeground",
|
|
10963
11083
|
borderRadius: "rounded-full",
|
|
10964
|
-
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
10965
11084
|
effects: {
|
|
10966
|
-
hover: [
|
|
10967
|
-
|
|
11085
|
+
hover: [
|
|
11086
|
+
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
11087
|
+
]
|
|
10968
11088
|
}
|
|
10969
11089
|
},
|
|
10970
11090
|
{
|
|
@@ -10975,9 +11095,193 @@ var softPill = defineButtonPersonality({
|
|
|
10975
11095
|
background: { type: "transparent" },
|
|
10976
11096
|
textColorToken: "primary",
|
|
10977
11097
|
borderRadius: "rounded-full",
|
|
10978
|
-
border: { widthClass: "border-2", colorToken: "
|
|
11098
|
+
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10979
11099
|
effects: {
|
|
10980
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
11100
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
11101
|
+
}
|
|
11102
|
+
},
|
|
11103
|
+
{
|
|
11104
|
+
id: "outline",
|
|
11105
|
+
name: "Outline",
|
|
11106
|
+
enabled: true,
|
|
11107
|
+
priority: 3,
|
|
11108
|
+
background: { type: "transparent" },
|
|
11109
|
+
textColorToken: "text",
|
|
11110
|
+
borderRadius: "rounded-full",
|
|
11111
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
11112
|
+
effects: {
|
|
11113
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11114
|
+
}
|
|
11115
|
+
},
|
|
11116
|
+
{
|
|
11117
|
+
id: "ghost",
|
|
11118
|
+
name: "Ghost",
|
|
11119
|
+
enabled: true,
|
|
11120
|
+
priority: 3,
|
|
11121
|
+
background: { type: "transparent" },
|
|
11122
|
+
textColorToken: "primary",
|
|
11123
|
+
borderRadius: "rounded-full",
|
|
11124
|
+
sizes: {
|
|
11125
|
+
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
11126
|
+
md: { padding: "0.5rem 1rem" },
|
|
11127
|
+
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
11128
|
+
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
11129
|
+
},
|
|
11130
|
+
effects: {
|
|
11131
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
11132
|
+
}
|
|
11133
|
+
}
|
|
11134
|
+
]
|
|
11135
|
+
}
|
|
11136
|
+
});
|
|
11137
|
+
|
|
11138
|
+
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
11139
|
+
var showtimePill = defineButtonPersonality({
|
|
11140
|
+
id: "showtime-pill",
|
|
11141
|
+
name: "Showtime Pill",
|
|
11142
|
+
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
11143
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
11144
|
+
buttonSystem: {
|
|
11145
|
+
global: {
|
|
11146
|
+
cornerStyle: "pill",
|
|
11147
|
+
shadow: "low",
|
|
11148
|
+
textTransform: "uppercase",
|
|
11149
|
+
fontWeight: 700,
|
|
11150
|
+
borderWidth: 2,
|
|
11151
|
+
hoverTransform: "lift",
|
|
11152
|
+
hoverColor: "darken",
|
|
11153
|
+
typography: "body",
|
|
11154
|
+
paddingPreset: "spacious",
|
|
11155
|
+
italic: false
|
|
11156
|
+
},
|
|
11157
|
+
sizes: {
|
|
11158
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
11159
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
11160
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
11161
|
+
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
11162
|
+
},
|
|
11163
|
+
variants: [
|
|
11164
|
+
{
|
|
11165
|
+
id: "primary",
|
|
11166
|
+
name: "Primary",
|
|
11167
|
+
enabled: true,
|
|
11168
|
+
priority: 1,
|
|
11169
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11170
|
+
textColorToken: "background",
|
|
11171
|
+
borderRadius: "rounded-full",
|
|
11172
|
+
effects: {
|
|
11173
|
+
hover: [{ effectId: "pop" }]
|
|
11174
|
+
}
|
|
11175
|
+
},
|
|
11176
|
+
{
|
|
11177
|
+
id: "secondary",
|
|
11178
|
+
name: "Secondary",
|
|
11179
|
+
enabled: true,
|
|
11180
|
+
priority: 2,
|
|
11181
|
+
background: { type: "transparent" },
|
|
11182
|
+
textColorToken: "primary",
|
|
11183
|
+
borderRadius: "rounded-full",
|
|
11184
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11185
|
+
effects: {
|
|
11186
|
+
hover: [{ effectId: "pop" }]
|
|
11187
|
+
}
|
|
11188
|
+
},
|
|
11189
|
+
{
|
|
11190
|
+
id: "hero",
|
|
11191
|
+
name: "Hero",
|
|
11192
|
+
enabled: true,
|
|
11193
|
+
priority: 1,
|
|
11194
|
+
background: { type: "solid", colorToken: "secondary" },
|
|
11195
|
+
textColorToken: "primary",
|
|
11196
|
+
borderRadius: "rounded-full",
|
|
11197
|
+
effects: {
|
|
11198
|
+
hover: [{ effectId: "pop" }]
|
|
11199
|
+
}
|
|
11200
|
+
},
|
|
11201
|
+
{
|
|
11202
|
+
id: "header",
|
|
11203
|
+
name: "Header",
|
|
11204
|
+
enabled: true,
|
|
11205
|
+
priority: 2,
|
|
11206
|
+
background: { type: "solid", colorToken: "background" },
|
|
11207
|
+
textColorToken: "primary",
|
|
11208
|
+
borderRadius: "rounded-full",
|
|
11209
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11210
|
+
effects: {
|
|
11211
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11212
|
+
}
|
|
11213
|
+
},
|
|
11214
|
+
{
|
|
11215
|
+
id: "outline",
|
|
11216
|
+
name: "Outline",
|
|
11217
|
+
enabled: true,
|
|
11218
|
+
priority: 3,
|
|
11219
|
+
background: { type: "transparent" },
|
|
11220
|
+
textColorToken: "primary",
|
|
11221
|
+
borderRadius: "rounded-full",
|
|
11222
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11223
|
+
effects: {
|
|
11224
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
|
|
11225
|
+
}
|
|
11226
|
+
},
|
|
11227
|
+
{
|
|
11228
|
+
id: "ghost",
|
|
11229
|
+
name: "Ghost",
|
|
11230
|
+
enabled: true,
|
|
11231
|
+
priority: 3,
|
|
11232
|
+
background: { type: "transparent" },
|
|
11233
|
+
textColorToken: "primary",
|
|
11234
|
+
borderRadius: "rounded-full",
|
|
11235
|
+
effects: {
|
|
11236
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11237
|
+
}
|
|
11238
|
+
}
|
|
11239
|
+
]
|
|
11240
|
+
}
|
|
11241
|
+
});
|
|
11242
|
+
|
|
11243
|
+
// ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
11244
|
+
var softPill = defineButtonPersonality({
|
|
11245
|
+
id: "soft-pill",
|
|
11246
|
+
name: "Soft Pill",
|
|
11247
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
11248
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
11249
|
+
buttonSystem: {
|
|
11250
|
+
global: {
|
|
11251
|
+
cornerStyle: "pill",
|
|
11252
|
+
shadow: "low",
|
|
11253
|
+
textTransform: "none",
|
|
11254
|
+
fontWeight: 500,
|
|
11255
|
+
borderWidth: 2,
|
|
11256
|
+
hoverTransform: "lift",
|
|
11257
|
+
hoverColor: "none"
|
|
11258
|
+
},
|
|
11259
|
+
variants: [
|
|
11260
|
+
{
|
|
11261
|
+
id: "primary",
|
|
11262
|
+
name: "Primary",
|
|
11263
|
+
enabled: true,
|
|
11264
|
+
priority: 1,
|
|
11265
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11266
|
+
textColorToken: "primaryForeground",
|
|
11267
|
+
borderRadius: "rounded-full",
|
|
11268
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
11269
|
+
effects: {
|
|
11270
|
+
hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
|
|
11271
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
11272
|
+
}
|
|
11273
|
+
},
|
|
11274
|
+
{
|
|
11275
|
+
id: "secondary",
|
|
11276
|
+
name: "Secondary",
|
|
11277
|
+
enabled: true,
|
|
11278
|
+
priority: 2,
|
|
11279
|
+
background: { type: "transparent" },
|
|
11280
|
+
textColorToken: "primary",
|
|
11281
|
+
borderRadius: "rounded-full",
|
|
11282
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11283
|
+
effects: {
|
|
11284
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10981
11285
|
}
|
|
10982
11286
|
},
|
|
10983
11287
|
{
|
|
@@ -11019,7 +11323,8 @@ var buttonPersonalities = [
|
|
|
11019
11323
|
inkStamp,
|
|
11020
11324
|
brushedWash,
|
|
11021
11325
|
showtimePill,
|
|
11022
|
-
joyStamp
|
|
11326
|
+
joyStamp,
|
|
11327
|
+
ornateRitual
|
|
11023
11328
|
];
|
|
11024
11329
|
var personalitiesById = new Map(
|
|
11025
11330
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -11649,7 +11954,7 @@ function rgbColorValue(token) {
|
|
|
11649
11954
|
if (alpha === void 0) {
|
|
11650
11955
|
return `rgb(var(${cssVar}))`;
|
|
11651
11956
|
}
|
|
11652
|
-
return `
|
|
11957
|
+
return `rgb(var(${cssVar}) / ${alpha})`;
|
|
11653
11958
|
}
|
|
11654
11959
|
function backgroundColorStyle(token) {
|
|
11655
11960
|
return { backgroundColor: rgbColorValue(token) };
|
|
@@ -12754,6 +13059,28 @@ var warmDarkEmber = definePaletteVariant({
|
|
|
12754
13059
|
{ name: "border", hex: "#894e31" }
|
|
12755
13060
|
]
|
|
12756
13061
|
});
|
|
13062
|
+
var warmDarkKirtanGold = definePaletteVariant({
|
|
13063
|
+
id: "warm-dark-kirtan-gold",
|
|
13064
|
+
name: "Warm Dark \u2014 Kirtan Gold",
|
|
13065
|
+
description: "Deep plum ground with pale gold primary, rose accent, and soft devotional text.",
|
|
13066
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
13067
|
+
mode: "dark",
|
|
13068
|
+
colors: [
|
|
13069
|
+
{ name: "primary", hex: "#ffcdb2" },
|
|
13070
|
+
{ name: "secondary", hex: "#b5838d" },
|
|
13071
|
+
{ name: "accent", hex: "#e5989b" },
|
|
13072
|
+
{ name: "success", hex: "#8fbf8f" },
|
|
13073
|
+
{ name: "warning", hex: "#f2b86b" },
|
|
13074
|
+
{ name: "destructive", hex: "#d96b6b" },
|
|
13075
|
+
{ name: "background", hex: "#403944" },
|
|
13076
|
+
{ name: "surface", hex: "#403944" },
|
|
13077
|
+
{ name: "surfaceAlt", hex: "#372f3b" },
|
|
13078
|
+
{ name: "muted", hex: "#4d4550" },
|
|
13079
|
+
{ name: "text", hex: "#e6d2d5" },
|
|
13080
|
+
{ name: "primaryForeground", hex: "#403944" },
|
|
13081
|
+
{ name: "border", hex: "#8d747a" }
|
|
13082
|
+
]
|
|
13083
|
+
});
|
|
12757
13084
|
|
|
12758
13085
|
// ../theme-core/src/palette/variants/index.ts
|
|
12759
13086
|
var paletteVariants = [
|
|
@@ -12777,7 +13104,8 @@ var paletteVariants = [
|
|
|
12777
13104
|
softNaturalWatercolor,
|
|
12778
13105
|
softNaturalLilac,
|
|
12779
13106
|
// Warm-dark family (dark mode)
|
|
12780
|
-
warmDarkEmber
|
|
13107
|
+
warmDarkEmber,
|
|
13108
|
+
warmDarkKirtanGold
|
|
12781
13109
|
];
|
|
12782
13110
|
var paletteVariantsById = new Map(
|
|
12783
13111
|
paletteVariants.map((v) => [v.id, v])
|
|
@@ -14276,9 +14604,125 @@ function headerConfigurationKey(configuration) {
|
|
|
14276
14604
|
function asFooterLookId(value) {
|
|
14277
14605
|
return value;
|
|
14278
14606
|
}
|
|
14279
|
-
|
|
14607
|
+
function asFooterLayoutId(value) {
|
|
14608
|
+
return value;
|
|
14609
|
+
}
|
|
14610
|
+
function asFooterStyleId(value) {
|
|
14611
|
+
return value;
|
|
14612
|
+
}
|
|
14613
|
+
var guaranteedFallbackFooterLookId = asFooterLookId("footer-identity-quiet");
|
|
14614
|
+
var footerLayoutCatalog = defineExactCatalog()([
|
|
14615
|
+
{
|
|
14616
|
+
id: asFooterLayoutId("identity"),
|
|
14617
|
+
label: "Identity",
|
|
14618
|
+
description: "Logo, site text, address, and legal copy without relying on footer navigation."
|
|
14619
|
+
},
|
|
14620
|
+
{
|
|
14621
|
+
id: asFooterLayoutId("centered"),
|
|
14622
|
+
label: "Centered",
|
|
14623
|
+
description: "A calm centered stack for identity, short copy, and optional compact navigation.",
|
|
14624
|
+
maxRecommendedNavDensity: "sparse"
|
|
14625
|
+
},
|
|
14626
|
+
{
|
|
14627
|
+
id: asFooterLayoutId("split"),
|
|
14628
|
+
label: "Split",
|
|
14629
|
+
description: "Navigation and brand signoff separated into a wider split footer.",
|
|
14630
|
+
requiresFooterNav: true,
|
|
14631
|
+
maxRecommendedNavDensity: "balanced"
|
|
14632
|
+
},
|
|
14633
|
+
{
|
|
14634
|
+
id: asFooterLayoutId("columns"),
|
|
14635
|
+
label: "Columns",
|
|
14636
|
+
description: "Grouped footer navigation columns with a supporting bottom line.",
|
|
14637
|
+
requiresFooterNav: true,
|
|
14638
|
+
requiresFooterNavGroups: true
|
|
14639
|
+
}
|
|
14640
|
+
]);
|
|
14641
|
+
var footerStyleCatalog = defineExactCatalog()([
|
|
14642
|
+
{
|
|
14643
|
+
id: asFooterStyleId("quiet"),
|
|
14644
|
+
label: "Quiet",
|
|
14645
|
+
description: "Lightweight, practical footer treatment."
|
|
14646
|
+
},
|
|
14647
|
+
{
|
|
14648
|
+
id: asFooterStyleId("calm"),
|
|
14649
|
+
label: "Calm",
|
|
14650
|
+
description: "Soft centered treatment with restrained dividers."
|
|
14651
|
+
},
|
|
14652
|
+
{
|
|
14653
|
+
id: asFooterStyleId("editorial"),
|
|
14654
|
+
label: "Editorial",
|
|
14655
|
+
description: "Text-forward treatment with fine-line structure."
|
|
14656
|
+
},
|
|
14657
|
+
{
|
|
14658
|
+
id: asFooterStyleId("brand-band"),
|
|
14659
|
+
label: "Brand band",
|
|
14660
|
+
description: "High-contrast brand treatment with a stronger bottom bar."
|
|
14661
|
+
}
|
|
14662
|
+
]);
|
|
14663
|
+
var footerLayoutsById = new Map(
|
|
14664
|
+
footerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
14665
|
+
);
|
|
14666
|
+
var footerStylesById = new Map(
|
|
14667
|
+
footerStyleCatalog.map((style) => [style.id, style])
|
|
14668
|
+
);
|
|
14669
|
+
function identityQuietFooter(theme) {
|
|
14670
|
+
return {
|
|
14671
|
+
...theme.footer,
|
|
14672
|
+
variant: "simple",
|
|
14673
|
+
maxWidth: "container",
|
|
14674
|
+
background: {
|
|
14675
|
+
type: "color",
|
|
14676
|
+
color: "surface"
|
|
14677
|
+
},
|
|
14678
|
+
navStyle: "minimal",
|
|
14679
|
+
navWeight: "regular",
|
|
14680
|
+
navColor: "text",
|
|
14681
|
+
navLinkStyle: {
|
|
14682
|
+
typography: "body",
|
|
14683
|
+
fontWeight: "regular",
|
|
14684
|
+
textTransform: "none",
|
|
14685
|
+
italic: false,
|
|
14686
|
+
colorToken: "text",
|
|
14687
|
+
hoverColorToken: "primary",
|
|
14688
|
+
padding: "none",
|
|
14689
|
+
borderRadius: "none"
|
|
14690
|
+
},
|
|
14691
|
+
navLayout: {
|
|
14692
|
+
layout: "inline-wrap",
|
|
14693
|
+
align: "start",
|
|
14694
|
+
gapX: "default",
|
|
14695
|
+
gapY: "tight"
|
|
14696
|
+
},
|
|
14697
|
+
logo: {
|
|
14698
|
+
showLogo: true,
|
|
14699
|
+
showLogoText: true,
|
|
14700
|
+
placement: "left",
|
|
14701
|
+
size: "sm",
|
|
14702
|
+
align: "start"
|
|
14703
|
+
},
|
|
14704
|
+
bottomBar: {
|
|
14705
|
+
enabled: false,
|
|
14706
|
+
fullBleed: false,
|
|
14707
|
+
textAlign: "left",
|
|
14708
|
+
paddingX: "default",
|
|
14709
|
+
paddingY: "compact",
|
|
14710
|
+
borderTop: {
|
|
14711
|
+
width: "none"
|
|
14712
|
+
}
|
|
14713
|
+
}
|
|
14714
|
+
};
|
|
14715
|
+
}
|
|
14280
14716
|
function mutedGroundingFooter(theme) {
|
|
14281
|
-
return
|
|
14717
|
+
return {
|
|
14718
|
+
...identityQuietFooter(theme),
|
|
14719
|
+
background: theme.footer.background,
|
|
14720
|
+
navStyle: theme.footer.navStyle,
|
|
14721
|
+
navColor: theme.footer.navColor,
|
|
14722
|
+
navWeight: theme.footer.navWeight,
|
|
14723
|
+
navLinkStyle: theme.footer.navLinkStyle,
|
|
14724
|
+
bottomTextLinkStyle: theme.footer.bottomTextLinkStyle
|
|
14725
|
+
};
|
|
14282
14726
|
}
|
|
14283
14727
|
function brandTwoBandFooter(theme) {
|
|
14284
14728
|
return {
|
|
@@ -14383,6 +14827,53 @@ function centeredCalmFooter(theme) {
|
|
|
14383
14827
|
}
|
|
14384
14828
|
};
|
|
14385
14829
|
}
|
|
14830
|
+
function splitEditorialFooter(theme) {
|
|
14831
|
+
return {
|
|
14832
|
+
...theme.footer,
|
|
14833
|
+
variant: "split",
|
|
14834
|
+
maxWidth: "container",
|
|
14835
|
+
background: {
|
|
14836
|
+
type: "color",
|
|
14837
|
+
color: "surface"
|
|
14838
|
+
},
|
|
14839
|
+
navStyle: "minimal",
|
|
14840
|
+
navWeight: "regular",
|
|
14841
|
+
navColor: "text",
|
|
14842
|
+
navLinkStyle: {
|
|
14843
|
+
typography: "body",
|
|
14844
|
+
fontWeight: "regular",
|
|
14845
|
+
textTransform: "none",
|
|
14846
|
+
italic: false,
|
|
14847
|
+
colorToken: "text",
|
|
14848
|
+
hoverColorToken: "primary",
|
|
14849
|
+
padding: "none",
|
|
14850
|
+
borderRadius: "none"
|
|
14851
|
+
},
|
|
14852
|
+
navLayout: {
|
|
14853
|
+
layout: "inline-wrap",
|
|
14854
|
+
align: "start",
|
|
14855
|
+
gapX: "relaxed",
|
|
14856
|
+
gapY: "tight"
|
|
14857
|
+
},
|
|
14858
|
+
logo: {
|
|
14859
|
+
showLogo: true,
|
|
14860
|
+
showLogoText: true,
|
|
14861
|
+
placement: "right",
|
|
14862
|
+
size: "sm",
|
|
14863
|
+
align: "end"
|
|
14864
|
+
},
|
|
14865
|
+
bottomBar: {
|
|
14866
|
+
enabled: true,
|
|
14867
|
+
fullBleed: false,
|
|
14868
|
+
textAlign: "left",
|
|
14869
|
+
paddingX: "default",
|
|
14870
|
+
paddingY: "compact",
|
|
14871
|
+
borderTop: {
|
|
14872
|
+
width: "thin"
|
|
14873
|
+
}
|
|
14874
|
+
}
|
|
14875
|
+
};
|
|
14876
|
+
}
|
|
14386
14877
|
function editorialColumnsFooter(theme) {
|
|
14387
14878
|
return {
|
|
14388
14879
|
...theme.footer,
|
|
@@ -14425,25 +14916,47 @@ function editorialColumnsFooter(theme) {
|
|
|
14425
14916
|
};
|
|
14426
14917
|
}
|
|
14427
14918
|
var footerLookCatalog = defineExactCatalog()([
|
|
14919
|
+
{
|
|
14920
|
+
id: asFooterLookId("footer-identity-quiet"),
|
|
14921
|
+
label: "Identity footer",
|
|
14922
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14923
|
+
styleId: asFooterStyleId("quiet"),
|
|
14924
|
+
compile: identityQuietFooter
|
|
14925
|
+
},
|
|
14428
14926
|
{
|
|
14429
14927
|
id: asFooterLookId("footer-muted-grounding"),
|
|
14430
14928
|
label: "Muted grounding footer",
|
|
14929
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14930
|
+
styleId: asFooterStyleId("quiet"),
|
|
14931
|
+
hiddenFromLayoutStyleControls: true,
|
|
14431
14932
|
compile: mutedGroundingFooter
|
|
14432
14933
|
},
|
|
14433
14934
|
{
|
|
14434
14935
|
id: asFooterLookId("footer-centered-calm"),
|
|
14435
14936
|
label: "Centered calm footer",
|
|
14937
|
+
layoutId: asFooterLayoutId("centered"),
|
|
14938
|
+
styleId: asFooterStyleId("calm"),
|
|
14436
14939
|
compile: centeredCalmFooter
|
|
14437
14940
|
},
|
|
14941
|
+
{
|
|
14942
|
+
id: asFooterLookId("footer-split-editorial"),
|
|
14943
|
+
label: "Split editorial footer",
|
|
14944
|
+
layoutId: asFooterLayoutId("split"),
|
|
14945
|
+
styleId: asFooterStyleId("editorial"),
|
|
14946
|
+
compile: splitEditorialFooter
|
|
14947
|
+
},
|
|
14438
14948
|
{
|
|
14439
14949
|
id: asFooterLookId("footer-editorial-columns"),
|
|
14440
14950
|
label: "Editorial columns footer",
|
|
14951
|
+
layoutId: asFooterLayoutId("columns"),
|
|
14952
|
+
styleId: asFooterStyleId("editorial"),
|
|
14441
14953
|
compile: editorialColumnsFooter
|
|
14442
14954
|
},
|
|
14443
14955
|
{
|
|
14444
14956
|
id: asFooterLookId("site-footer-brand-two-band"),
|
|
14445
14957
|
label: "Two-band brand footer",
|
|
14446
|
-
|
|
14958
|
+
layoutId: asFooterLayoutId("split"),
|
|
14959
|
+
styleId: asFooterStyleId("brand-band"),
|
|
14447
14960
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
14448
14961
|
compile: brandTwoBandFooter
|
|
14449
14962
|
}
|
|
@@ -14646,6 +15159,30 @@ var luxeContrastTypography = {
|
|
|
14646
15159
|
},
|
|
14647
15160
|
scale: "spacious"
|
|
14648
15161
|
};
|
|
15162
|
+
var kirtanOrnateTypography = {
|
|
15163
|
+
body: {
|
|
15164
|
+
family: "Jost, system-ui, sans-serif",
|
|
15165
|
+
size: "md",
|
|
15166
|
+
weight: "regular",
|
|
15167
|
+
lineHeight: "relaxed",
|
|
15168
|
+
letterSpacing: "normal"
|
|
15169
|
+
},
|
|
15170
|
+
headings: {
|
|
15171
|
+
default: {
|
|
15172
|
+
family: "Marcellus, Georgia, serif",
|
|
15173
|
+
weight: "regular",
|
|
15174
|
+
lineHeight: "normal",
|
|
15175
|
+
letterSpacing: "normal",
|
|
15176
|
+
colorToken: "primary",
|
|
15177
|
+
italic: null,
|
|
15178
|
+
case: null
|
|
15179
|
+
},
|
|
15180
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15181
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15182
|
+
h3: { size: "md", weight: "regular", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
15183
|
+
},
|
|
15184
|
+
scale: "spacious"
|
|
15185
|
+
};
|
|
14649
15186
|
var boldDisplayTypography = {
|
|
14650
15187
|
body: {
|
|
14651
15188
|
family: "Manrope, system-ui, sans-serif",
|
|
@@ -14680,16 +15217,16 @@ var originalJoyTypography = {
|
|
|
14680
15217
|
},
|
|
14681
15218
|
headings: {
|
|
14682
15219
|
default: {
|
|
14683
|
-
family: "
|
|
14684
|
-
weight: "
|
|
15220
|
+
family: "Lobster, cursive",
|
|
15221
|
+
weight: "regular",
|
|
14685
15222
|
lineHeight: "normal",
|
|
14686
|
-
letterSpacing: "
|
|
15223
|
+
letterSpacing: "normal",
|
|
14687
15224
|
italic: null,
|
|
14688
15225
|
case: null
|
|
14689
15226
|
},
|
|
14690
|
-
h1: { size: "2xl", weight: "
|
|
14691
|
-
h2: { size: "xl", weight: "
|
|
14692
|
-
h3: { size: "lg", weight: "
|
|
15227
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15228
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15229
|
+
h3: { size: "lg", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
14693
15230
|
},
|
|
14694
15231
|
scale: "balanced"
|
|
14695
15232
|
};
|
|
@@ -14754,6 +15291,32 @@ var typographyPresets = [
|
|
|
14754
15291
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14755
15292
|
typography: luxeContrastTypography
|
|
14756
15293
|
}),
|
|
15294
|
+
defineTypographyPreset({
|
|
15295
|
+
id: "typography-preset:kirtan-ornate",
|
|
15296
|
+
name: "Kirtan Ornate",
|
|
15297
|
+
description: "Marcellus devotional headings over a refined Jost body, matching dark ceremonial layouts.",
|
|
15298
|
+
defaultFonts: { body: "Jost, system-ui, sans-serif", heading: "Marcellus, Georgia, serif" },
|
|
15299
|
+
recommendedFonts: {
|
|
15300
|
+
body: ["Jost", "Manrope", "Inter"],
|
|
15301
|
+
heading: ["Marcellus", "Cormorant Garamond", "Playfair Display"]
|
|
15302
|
+
},
|
|
15303
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
15304
|
+
typography: kirtanOrnateTypography,
|
|
15305
|
+
heroTypography: {
|
|
15306
|
+
headlineSize: "6xl",
|
|
15307
|
+
headlineLineHeight: "normal",
|
|
15308
|
+
subheadlineSize: "xl",
|
|
15309
|
+
subheadlineLineHeight: "relaxed",
|
|
15310
|
+
microHeadlineSize: "5xl",
|
|
15311
|
+
microHeadlineLineHeight: "normal",
|
|
15312
|
+
microSubheadlineSize: "lg",
|
|
15313
|
+
microSubheadlineLineHeight: "relaxed",
|
|
15314
|
+
responsive: {
|
|
15315
|
+
tablet: { headlineSize: "5xl" },
|
|
15316
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
15317
|
+
}
|
|
15318
|
+
}
|
|
15319
|
+
}),
|
|
14757
15320
|
defineTypographyPreset({
|
|
14758
15321
|
id: "typography-preset:bold-display",
|
|
14759
15322
|
name: "Bold Display",
|
|
@@ -14783,11 +15346,11 @@ var typographyPresets = [
|
|
|
14783
15346
|
defineTypographyPreset({
|
|
14784
15347
|
id: "typography-preset:original-joy",
|
|
14785
15348
|
name: "Original Joy",
|
|
14786
|
-
description: "
|
|
14787
|
-
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "
|
|
15349
|
+
description: "Lobster display headings over a clean DM Sans body, expressive and warm.",
|
|
15350
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Lobster, cursive" },
|
|
14788
15351
|
recommendedFonts: {
|
|
14789
15352
|
body: ["DM Sans", "Inter", "Manrope"],
|
|
14790
|
-
heading: ["Bricolage Grotesque", "Space Grotesk"
|
|
15353
|
+
heading: ["Lobster", "Bricolage Grotesque", "Space Grotesk"]
|
|
14791
15354
|
},
|
|
14792
15355
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14793
15356
|
typography: originalJoyTypography,
|
|
@@ -14811,6 +15374,319 @@ var typographyPresetsById = new Map(
|
|
|
14811
15374
|
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
14812
15375
|
);
|
|
14813
15376
|
|
|
15377
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
15378
|
+
import { z as z24 } from "zod";
|
|
15379
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
15380
|
+
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15381
|
+
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15382
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15383
|
+
fields3[0],
|
|
15384
|
+
...fields3.slice(1)
|
|
15385
|
+
]);
|
|
15386
|
+
var heroLegibilityStrategySchema = z24.enum([
|
|
15387
|
+
"none",
|
|
15388
|
+
"scrim-gradient",
|
|
15389
|
+
"solid-panel"
|
|
15390
|
+
]);
|
|
15391
|
+
var heroCompositionIntentSchema = z24.enum([
|
|
15392
|
+
"center",
|
|
15393
|
+
"bottom-left"
|
|
15394
|
+
]);
|
|
15395
|
+
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15396
|
+
"quiet",
|
|
15397
|
+
"editorial",
|
|
15398
|
+
"display",
|
|
15399
|
+
"poster"
|
|
15400
|
+
]);
|
|
15401
|
+
var sectionHeightIntentSchema = z24.enum([
|
|
15402
|
+
"default",
|
|
15403
|
+
"banner",
|
|
15404
|
+
"hero",
|
|
15405
|
+
"immersive"
|
|
15406
|
+
]);
|
|
15407
|
+
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15408
|
+
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15409
|
+
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15410
|
+
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15411
|
+
z24.object({
|
|
15412
|
+
kind: z24.literal("brand-scrim"),
|
|
15413
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15414
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15415
|
+
}).strict(),
|
|
15416
|
+
z24.object({
|
|
15417
|
+
kind: z24.literal("brand-wash"),
|
|
15418
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15419
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15420
|
+
}).strict(),
|
|
15421
|
+
z24.object({
|
|
15422
|
+
kind: z24.literal("neutral-scrim"),
|
|
15423
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15424
|
+
}).strict(),
|
|
15425
|
+
z24.object({
|
|
15426
|
+
kind: z24.literal("neutral-wash"),
|
|
15427
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15428
|
+
}).strict(),
|
|
15429
|
+
z24.object({
|
|
15430
|
+
kind: z24.literal("solid-panel"),
|
|
15431
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15432
|
+
}).strict()
|
|
15433
|
+
]);
|
|
15434
|
+
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
15435
|
+
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
15436
|
+
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
15437
|
+
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
15438
|
+
function uniqueNonEmpty(values) {
|
|
15439
|
+
const uniqueValues = [...new Set(values)];
|
|
15440
|
+
const firstValue = uniqueValues[0];
|
|
15441
|
+
if (!firstValue) {
|
|
15442
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
15443
|
+
}
|
|
15444
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
15445
|
+
}
|
|
15446
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
15447
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
15448
|
+
);
|
|
15449
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
15450
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
15451
|
+
);
|
|
15452
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
15453
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
15454
|
+
);
|
|
15455
|
+
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
15456
|
+
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
15457
|
+
z24.object({
|
|
15458
|
+
kind: z24.literal("panel"),
|
|
15459
|
+
treatment: z24.enum(userPanelTreatments)
|
|
15460
|
+
}).strict(),
|
|
15461
|
+
z24.object({
|
|
15462
|
+
kind: z24.literal("flush-panel"),
|
|
15463
|
+
treatment: z24.enum(userFlushTreatments),
|
|
15464
|
+
bleed: z24.enum(userFlushBleeds)
|
|
15465
|
+
}).strict()
|
|
15466
|
+
]);
|
|
15467
|
+
var blockDesignPlanSchema = z24.object({
|
|
15468
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15469
|
+
blockKind: z24.string().min(1),
|
|
15470
|
+
purpose: z24.string().min(1),
|
|
15471
|
+
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
15472
|
+
contentFrame: contentFrameIntentSchema,
|
|
15473
|
+
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
15474
|
+
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
15475
|
+
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
15476
|
+
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
15477
|
+
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
15478
|
+
heroComposition: heroCompositionIntentSchema.optional(),
|
|
15479
|
+
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
15480
|
+
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
15481
|
+
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
15482
|
+
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
15483
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
15484
|
+
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
15485
|
+
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
15486
|
+
}).strict();
|
|
15487
|
+
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
15488
|
+
z24.object({
|
|
15489
|
+
kind: z24.literal("theme-v2"),
|
|
15490
|
+
source: designResolutionPolicySchema,
|
|
15491
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15492
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15493
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15494
|
+
resolverVersion: z24.number().int().nonnegative()
|
|
15495
|
+
}).strict(),
|
|
15496
|
+
z24.object({
|
|
15497
|
+
kind: z24.literal("legacy-raw"),
|
|
15498
|
+
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
15499
|
+
}).strict(),
|
|
15500
|
+
z24.object({
|
|
15501
|
+
kind: z24.literal("advanced-detached"),
|
|
15502
|
+
reason: z24.literal("detached-custom-runtime-fields")
|
|
15503
|
+
}).strict()
|
|
15504
|
+
]);
|
|
15505
|
+
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
15506
|
+
unit: z24.literal("block-runtime-fields"),
|
|
15507
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15508
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
15509
|
+
authority: styleAuthoritySchema
|
|
15510
|
+
}).strict();
|
|
15511
|
+
var persistedPageDesignStateV1Schema = z24.object({
|
|
15512
|
+
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
15513
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15514
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15515
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15516
|
+
resolverVersion: z24.number().int().nonnegative(),
|
|
15517
|
+
rhythmPresetId: z24.string().min(1),
|
|
15518
|
+
blocks: z24.array(blockDesignPlanSchema),
|
|
15519
|
+
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
15520
|
+
}).strict();
|
|
15521
|
+
|
|
15522
|
+
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
15523
|
+
function defineDesignRuntimeRules(rules) {
|
|
15524
|
+
return rules;
|
|
15525
|
+
}
|
|
15526
|
+
function defineComponentRuntimeRules(rules) {
|
|
15527
|
+
return rules;
|
|
15528
|
+
}
|
|
15529
|
+
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15530
|
+
sectionSurfaces: {
|
|
15531
|
+
base: {},
|
|
15532
|
+
"muted-band": {
|
|
15533
|
+
background: {
|
|
15534
|
+
type: "color",
|
|
15535
|
+
color: "muted"
|
|
15536
|
+
}
|
|
15537
|
+
},
|
|
15538
|
+
"accent-band": {
|
|
15539
|
+
background: {
|
|
15540
|
+
type: "color",
|
|
15541
|
+
color: "primary"
|
|
15542
|
+
}
|
|
15543
|
+
},
|
|
15544
|
+
"brand-depth-band": {
|
|
15545
|
+
background: {
|
|
15546
|
+
type: "color",
|
|
15547
|
+
color: "primary-800"
|
|
15548
|
+
}
|
|
15549
|
+
},
|
|
15550
|
+
"hero-image": {
|
|
15551
|
+
background: {
|
|
15552
|
+
type: "image",
|
|
15553
|
+
opacity: 1,
|
|
15554
|
+
position: "center center",
|
|
15555
|
+
...uniformSectionForeground("text")
|
|
15556
|
+
}
|
|
15557
|
+
}
|
|
15558
|
+
},
|
|
15559
|
+
heroLegibility: {
|
|
15560
|
+
"scrim-gradient": {
|
|
15561
|
+
type: "gradient",
|
|
15562
|
+
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
15563
|
+
opacity: 1
|
|
15564
|
+
},
|
|
15565
|
+
"solid-panel": {
|
|
15566
|
+
type: "color",
|
|
15567
|
+
color: "surface",
|
|
15568
|
+
opacity: 0.88
|
|
15569
|
+
}
|
|
15570
|
+
},
|
|
15571
|
+
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
15572
|
+
});
|
|
15573
|
+
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
15574
|
+
panelFrames: {
|
|
15575
|
+
inset: {
|
|
15576
|
+
spacing: "comfortable",
|
|
15577
|
+
rounded: "xl",
|
|
15578
|
+
raised: false,
|
|
15579
|
+
background: {
|
|
15580
|
+
type: "color",
|
|
15581
|
+
color: "surfaceAlt",
|
|
15582
|
+
textColor: "text"
|
|
15583
|
+
}
|
|
15584
|
+
},
|
|
15585
|
+
raised: {
|
|
15586
|
+
spacing: "comfortable",
|
|
15587
|
+
rounded: "xl",
|
|
15588
|
+
raised: true,
|
|
15589
|
+
background: {
|
|
15590
|
+
type: "color",
|
|
15591
|
+
color: "surfaceAlt",
|
|
15592
|
+
textColor: "text"
|
|
15593
|
+
}
|
|
15594
|
+
},
|
|
15595
|
+
editorial: {
|
|
15596
|
+
spacing: "medium",
|
|
15597
|
+
rounded: "xl",
|
|
15598
|
+
raised: false,
|
|
15599
|
+
background: {
|
|
15600
|
+
type: "color",
|
|
15601
|
+
color: "surface",
|
|
15602
|
+
textColor: "text"
|
|
15603
|
+
}
|
|
15604
|
+
}
|
|
15605
|
+
},
|
|
15606
|
+
flushFrames: {
|
|
15607
|
+
"media-panel": {
|
|
15608
|
+
fullWidth: true,
|
|
15609
|
+
spacing: "none",
|
|
15610
|
+
rounded: "none",
|
|
15611
|
+
raised: false
|
|
15612
|
+
}
|
|
15613
|
+
},
|
|
15614
|
+
itemSurfaces: {
|
|
15615
|
+
none: null,
|
|
15616
|
+
default: {
|
|
15617
|
+
spacing: "medium",
|
|
15618
|
+
rounded: "lg",
|
|
15619
|
+
raised: false
|
|
15620
|
+
},
|
|
15621
|
+
flat: {
|
|
15622
|
+
spacing: "medium",
|
|
15623
|
+
rounded: "lg",
|
|
15624
|
+
raised: false
|
|
15625
|
+
},
|
|
15626
|
+
outlined: {
|
|
15627
|
+
spacing: "medium",
|
|
15628
|
+
rounded: "lg",
|
|
15629
|
+
raised: false,
|
|
15630
|
+
border: {
|
|
15631
|
+
enabled: true,
|
|
15632
|
+
width: "1",
|
|
15633
|
+
colorToken: "border"
|
|
15634
|
+
}
|
|
15635
|
+
},
|
|
15636
|
+
raised: {
|
|
15637
|
+
spacing: "medium",
|
|
15638
|
+
rounded: "xl",
|
|
15639
|
+
raised: true
|
|
15640
|
+
},
|
|
15641
|
+
inset: {
|
|
15642
|
+
treatment: "soft-panel",
|
|
15643
|
+
spacing: "comfortable",
|
|
15644
|
+
rounded: "xl",
|
|
15645
|
+
raised: false,
|
|
15646
|
+
border: {
|
|
15647
|
+
enabled: false
|
|
15648
|
+
},
|
|
15649
|
+
background: {
|
|
15650
|
+
type: "color",
|
|
15651
|
+
color: "surfaceAlt",
|
|
15652
|
+
textColor: "text"
|
|
15653
|
+
}
|
|
15654
|
+
},
|
|
15655
|
+
editorial: {
|
|
15656
|
+
// Boxless open column with a short rule on top; the visual treatment
|
|
15657
|
+
// lives in blocks-static/card-treatments.css.
|
|
15658
|
+
treatment: "editorial-rule",
|
|
15659
|
+
spacing: "none",
|
|
15660
|
+
rounded: "none",
|
|
15661
|
+
raised: false,
|
|
15662
|
+
border: {
|
|
15663
|
+
enabled: false
|
|
15664
|
+
}
|
|
15665
|
+
},
|
|
15666
|
+
"color-blocked": {
|
|
15667
|
+
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
15668
|
+
// (by position) and staggered offset live in
|
|
15669
|
+
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
15670
|
+
// generous padding, large radius, no border, flat (no shadow).
|
|
15671
|
+
treatment: "color-blocked",
|
|
15672
|
+
spacing: "spacious",
|
|
15673
|
+
rounded: "2xl",
|
|
15674
|
+
raised: false,
|
|
15675
|
+
border: {
|
|
15676
|
+
enabled: false
|
|
15677
|
+
}
|
|
15678
|
+
}
|
|
15679
|
+
}
|
|
15680
|
+
});
|
|
15681
|
+
function uniformSectionForeground(token) {
|
|
15682
|
+
return {
|
|
15683
|
+
textColor: token,
|
|
15684
|
+
headingColor: token,
|
|
15685
|
+
linkColor: token,
|
|
15686
|
+
supportingColor: token
|
|
15687
|
+
};
|
|
15688
|
+
}
|
|
15689
|
+
|
|
14814
15690
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
14815
15691
|
var SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
|
|
14816
15692
|
var SOFT_EARTH_SITE_STYLE_ID = asSiteStyleId(SOFT_EARTH_SITE_STYLE_ID_VALUE);
|
|
@@ -14829,6 +15705,7 @@ var curatedSiteStyleIdValues = [
|
|
|
14829
15705
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
14830
15706
|
"site-style:bold-launch",
|
|
14831
15707
|
"site-style:south-west-twerk-school",
|
|
15708
|
+
"site-style:kirtan-ornate",
|
|
14832
15709
|
"site-style:original-joy"
|
|
14833
15710
|
];
|
|
14834
15711
|
var quietBudget = {
|
|
@@ -14855,6 +15732,50 @@ var expressiveBudget = {
|
|
|
14855
15732
|
mediaDensity: "high",
|
|
14856
15733
|
decorativeRepetition: "medium"
|
|
14857
15734
|
};
|
|
15735
|
+
var kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15736
|
+
...defaultDesignRuntimeRules,
|
|
15737
|
+
defaultEyebrowTreatment: "accent",
|
|
15738
|
+
sectionSurfaces: {
|
|
15739
|
+
...defaultDesignRuntimeRules.sectionSurfaces,
|
|
15740
|
+
"muted-band": {
|
|
15741
|
+
background: {
|
|
15742
|
+
type: "color",
|
|
15743
|
+
color: "muted"
|
|
15744
|
+
},
|
|
15745
|
+
foreground: {
|
|
15746
|
+
textColor: "text",
|
|
15747
|
+
headingColor: "primary",
|
|
15748
|
+
linkColor: "primary",
|
|
15749
|
+
supportingColor: "text"
|
|
15750
|
+
}
|
|
15751
|
+
},
|
|
15752
|
+
"brand-depth-band": {
|
|
15753
|
+
background: {
|
|
15754
|
+
type: "color",
|
|
15755
|
+
color: "primary-800"
|
|
15756
|
+
},
|
|
15757
|
+
foreground: {
|
|
15758
|
+
textColor: "text",
|
|
15759
|
+
headingColor: "primary",
|
|
15760
|
+
linkColor: "primary",
|
|
15761
|
+
supportingColor: "text"
|
|
15762
|
+
}
|
|
15763
|
+
},
|
|
15764
|
+
"hero-image": {
|
|
15765
|
+
background: {
|
|
15766
|
+
type: "image",
|
|
15767
|
+
opacity: 1,
|
|
15768
|
+
position: "center center"
|
|
15769
|
+
},
|
|
15770
|
+
foreground: {
|
|
15771
|
+
textColor: "text",
|
|
15772
|
+
headingColor: "primary",
|
|
15773
|
+
linkColor: "primary",
|
|
15774
|
+
supportingColor: "text"
|
|
15775
|
+
}
|
|
15776
|
+
}
|
|
15777
|
+
}
|
|
15778
|
+
});
|
|
14858
15779
|
var expressiveUnderlineInputs = {
|
|
14859
15780
|
base: {
|
|
14860
15781
|
background: { type: "transparent" },
|
|
@@ -14892,6 +15813,43 @@ var expressiveUnderlineInputs = {
|
|
|
14892
15813
|
opacity: 0.6
|
|
14893
15814
|
}
|
|
14894
15815
|
};
|
|
15816
|
+
var ornateDarkInputs = {
|
|
15817
|
+
base: {
|
|
15818
|
+
background: { type: "solid", colorToken: "surfaceAlt" },
|
|
15819
|
+
textColorToken: "text",
|
|
15820
|
+
border: {
|
|
15821
|
+
widthClass: "border",
|
|
15822
|
+
colorToken: "primary/45",
|
|
15823
|
+
style: "all"
|
|
15824
|
+
},
|
|
15825
|
+
corners: "square",
|
|
15826
|
+
shadow: null,
|
|
15827
|
+
spacing: "medium",
|
|
15828
|
+
fontSize: "base"
|
|
15829
|
+
},
|
|
15830
|
+
label: {
|
|
15831
|
+
textColorToken: "primary",
|
|
15832
|
+
fontWeight: "semibold",
|
|
15833
|
+
fontSize: "xs",
|
|
15834
|
+
textTransform: "uppercase",
|
|
15835
|
+
letterSpacing: "wider",
|
|
15836
|
+
opacity: 1
|
|
15837
|
+
},
|
|
15838
|
+
focus: {
|
|
15839
|
+
ringColorToken: "primary/18",
|
|
15840
|
+
ringWidth: "2",
|
|
15841
|
+
borderColorToken: "primary/70"
|
|
15842
|
+
},
|
|
15843
|
+
error: {
|
|
15844
|
+
borderColorToken: "destructive",
|
|
15845
|
+
textColorToken: "destructive"
|
|
15846
|
+
},
|
|
15847
|
+
disabled: {
|
|
15848
|
+
backgroundColorToken: "muted",
|
|
15849
|
+
textColorToken: "mutedText",
|
|
15850
|
+
opacity: 0.6
|
|
15851
|
+
}
|
|
15852
|
+
};
|
|
14895
15853
|
function uniqueContentFrameKinds() {
|
|
14896
15854
|
const kinds = [
|
|
14897
15855
|
...new Set(
|
|
@@ -14949,6 +15907,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
14949
15907
|
// clean/minimal styles default to none.
|
|
14950
15908
|
headingDecoration: input.headingDecoration ?? noHeadingDecoration,
|
|
14951
15909
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
15910
|
+
...input.designRuntimeRules ? { designRuntimeRules: input.designRuntimeRules } : {},
|
|
14952
15911
|
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
14953
15912
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
14954
15913
|
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
@@ -15899,6 +16858,80 @@ var curatedSiteStyles = [
|
|
|
15899
16858
|
paletteChoice("high-contrast-ink")
|
|
15900
16859
|
]
|
|
15901
16860
|
}),
|
|
16861
|
+
defineCuratedSiteStyle({
|
|
16862
|
+
id: "site-style:kirtan-ornate",
|
|
16863
|
+
name: "Kirtan Ornate",
|
|
16864
|
+
headingDecoration: { family: "short-center-rule", colorToken: "accent" },
|
|
16865
|
+
description: "Ceremonial, jewel-toned, and devotional: ornate frames, warm contrast, and composed rhythm for intimate music gatherings.",
|
|
16866
|
+
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.",
|
|
16867
|
+
selectionKeywordRules: [
|
|
16868
|
+
{ kind: "word", value: "kirtan" },
|
|
16869
|
+
{ kind: "word", value: "chanting" },
|
|
16870
|
+
{ kind: "word", value: "ceremony" },
|
|
16871
|
+
{ kind: "word", value: "devotional" }
|
|
16872
|
+
],
|
|
16873
|
+
tokenRecipes: {
|
|
16874
|
+
palette: "brand-led",
|
|
16875
|
+
contrast: "strong",
|
|
16876
|
+
radius: "soft",
|
|
16877
|
+
shadow: "subtle",
|
|
16878
|
+
typography: "serif-editorial",
|
|
16879
|
+
spacing: "airy",
|
|
16880
|
+
motion: "subtle"
|
|
16881
|
+
},
|
|
16882
|
+
compositionBudget: expressiveBudget,
|
|
16883
|
+
typographyPresetChoices: [
|
|
16884
|
+
typographyChoice("typography-preset:kirtan-ornate"),
|
|
16885
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
16886
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
16887
|
+
],
|
|
16888
|
+
defaultTypographyPresetId: "typography-preset:kirtan-ornate",
|
|
16889
|
+
themeOverrides: {
|
|
16890
|
+
accordions: warmInsetAccordionSystem,
|
|
16891
|
+
cards: originalJoyCardSystem,
|
|
16892
|
+
testimonialQuote: serifDisplayQuote,
|
|
16893
|
+
bodyText: {
|
|
16894
|
+
intro: {
|
|
16895
|
+
paragraphSize: "editorial",
|
|
16896
|
+
headingSize: "editorial"
|
|
16897
|
+
}
|
|
16898
|
+
},
|
|
16899
|
+
inputs: ornateDarkInputs
|
|
16900
|
+
},
|
|
16901
|
+
designRuntimeRules: kirtanOrnateDesignRuntimeRules,
|
|
16902
|
+
recommendedAppearancePresetIds: [
|
|
16903
|
+
"hero-brand-scrim-fixed-frame",
|
|
16904
|
+
"media-text-quiet-story",
|
|
16905
|
+
"events-lined-panel",
|
|
16906
|
+
"schedule-details-brand-depth",
|
|
16907
|
+
"testimonials-statement-cards",
|
|
16908
|
+
"contact-form-panel"
|
|
16909
|
+
],
|
|
16910
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
16911
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
16912
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
16913
|
+
floating: [
|
|
16914
|
+
headerStyleChoice("minimal-surface"),
|
|
16915
|
+
headerStyleChoice("split-glass"),
|
|
16916
|
+
headerStyleChoice("glass")
|
|
16917
|
+
]
|
|
16918
|
+
},
|
|
16919
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
16920
|
+
recommendedFooterLookIds: [
|
|
16921
|
+
"site-footer-brand-two-band",
|
|
16922
|
+
"footer-muted-grounding"
|
|
16923
|
+
],
|
|
16924
|
+
buttonPersonalityChoices: [
|
|
16925
|
+
buttonChoice("ornate-ritual"),
|
|
16926
|
+
buttonChoice("joy-stamp"),
|
|
16927
|
+
buttonChoice("ink-stamp")
|
|
16928
|
+
],
|
|
16929
|
+
paletteVariantChoices: [
|
|
16930
|
+
paletteChoice("warm-dark-kirtan-gold"),
|
|
16931
|
+
paletteChoice("warm-dark-ember"),
|
|
16932
|
+
paletteChoice("brand-led-burgundy-gold")
|
|
16933
|
+
]
|
|
16934
|
+
}),
|
|
15902
16935
|
defineCuratedSiteStyle({
|
|
15903
16936
|
id: "site-style:original-joy",
|
|
15904
16937
|
name: "Original Joy",
|
|
@@ -16002,319 +17035,6 @@ var pageFlowPresets = [
|
|
|
16002
17035
|
}
|
|
16003
17036
|
];
|
|
16004
17037
|
|
|
16005
|
-
// ../theme-core/src/site-styles/designState.ts
|
|
16006
|
-
import { z as z24 } from "zod";
|
|
16007
|
-
var themeV2DesignStateSchemaVersion = 1;
|
|
16008
|
-
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
16009
|
-
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
16010
|
-
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
16011
|
-
fields3[0],
|
|
16012
|
-
...fields3.slice(1)
|
|
16013
|
-
]);
|
|
16014
|
-
var heroLegibilityStrategySchema = z24.enum([
|
|
16015
|
-
"none",
|
|
16016
|
-
"scrim-gradient",
|
|
16017
|
-
"solid-panel"
|
|
16018
|
-
]);
|
|
16019
|
-
var heroCompositionIntentSchema = z24.enum([
|
|
16020
|
-
"center",
|
|
16021
|
-
"bottom-left"
|
|
16022
|
-
]);
|
|
16023
|
-
var heroTypographyScaleIntentSchema = z24.enum([
|
|
16024
|
-
"quiet",
|
|
16025
|
-
"editorial",
|
|
16026
|
-
"display",
|
|
16027
|
-
"poster"
|
|
16028
|
-
]);
|
|
16029
|
-
var sectionHeightIntentSchema = z24.enum([
|
|
16030
|
-
"default",
|
|
16031
|
-
"banner",
|
|
16032
|
-
"hero",
|
|
16033
|
-
"immersive"
|
|
16034
|
-
]);
|
|
16035
|
-
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
16036
|
-
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
16037
|
-
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
16038
|
-
z24.object({ kind: z24.literal("none") }).strict(),
|
|
16039
|
-
z24.object({
|
|
16040
|
-
kind: z24.literal("brand-scrim"),
|
|
16041
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
16042
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16043
|
-
}).strict(),
|
|
16044
|
-
z24.object({
|
|
16045
|
-
kind: z24.literal("brand-wash"),
|
|
16046
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
16047
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16048
|
-
}).strict(),
|
|
16049
|
-
z24.object({
|
|
16050
|
-
kind: z24.literal("neutral-scrim"),
|
|
16051
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16052
|
-
}).strict(),
|
|
16053
|
-
z24.object({
|
|
16054
|
-
kind: z24.literal("neutral-wash"),
|
|
16055
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16056
|
-
}).strict(),
|
|
16057
|
-
z24.object({
|
|
16058
|
-
kind: z24.literal("solid-panel"),
|
|
16059
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
16060
|
-
}).strict()
|
|
16061
|
-
]);
|
|
16062
|
-
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
16063
|
-
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
16064
|
-
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
16065
|
-
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
16066
|
-
function uniqueNonEmpty(values) {
|
|
16067
|
-
const uniqueValues = [...new Set(values)];
|
|
16068
|
-
const firstValue = uniqueValues[0];
|
|
16069
|
-
if (!firstValue) {
|
|
16070
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
16071
|
-
}
|
|
16072
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
16073
|
-
}
|
|
16074
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
16075
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
16076
|
-
);
|
|
16077
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
16078
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
16079
|
-
);
|
|
16080
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
16081
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
16082
|
-
);
|
|
16083
|
-
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
16084
|
-
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
16085
|
-
z24.object({
|
|
16086
|
-
kind: z24.literal("panel"),
|
|
16087
|
-
treatment: z24.enum(userPanelTreatments)
|
|
16088
|
-
}).strict(),
|
|
16089
|
-
z24.object({
|
|
16090
|
-
kind: z24.literal("flush-panel"),
|
|
16091
|
-
treatment: z24.enum(userFlushTreatments),
|
|
16092
|
-
bleed: z24.enum(userFlushBleeds)
|
|
16093
|
-
}).strict()
|
|
16094
|
-
]);
|
|
16095
|
-
var blockDesignPlanSchema = z24.object({
|
|
16096
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16097
|
-
blockKind: z24.string().min(1),
|
|
16098
|
-
purpose: z24.string().min(1),
|
|
16099
|
-
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
16100
|
-
contentFrame: contentFrameIntentSchema,
|
|
16101
|
-
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
16102
|
-
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
16103
|
-
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
16104
|
-
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
16105
|
-
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
16106
|
-
heroComposition: heroCompositionIntentSchema.optional(),
|
|
16107
|
-
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
16108
|
-
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
16109
|
-
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
16110
|
-
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
16111
|
-
tileTreatment: tileTreatmentSchema.optional(),
|
|
16112
|
-
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
16113
|
-
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
16114
|
-
}).strict();
|
|
16115
|
-
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
16116
|
-
z24.object({
|
|
16117
|
-
kind: z24.literal("theme-v2"),
|
|
16118
|
-
source: designResolutionPolicySchema,
|
|
16119
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16120
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16121
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16122
|
-
resolverVersion: z24.number().int().nonnegative()
|
|
16123
|
-
}).strict(),
|
|
16124
|
-
z24.object({
|
|
16125
|
-
kind: z24.literal("legacy-raw"),
|
|
16126
|
-
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
16127
|
-
}).strict(),
|
|
16128
|
-
z24.object({
|
|
16129
|
-
kind: z24.literal("advanced-detached"),
|
|
16130
|
-
reason: z24.literal("detached-custom-runtime-fields")
|
|
16131
|
-
}).strict()
|
|
16132
|
-
]);
|
|
16133
|
-
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
16134
|
-
unit: z24.literal("block-runtime-fields"),
|
|
16135
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16136
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
16137
|
-
authority: styleAuthoritySchema
|
|
16138
|
-
}).strict();
|
|
16139
|
-
var persistedPageDesignStateV1Schema = z24.object({
|
|
16140
|
-
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
16141
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16142
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16143
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16144
|
-
resolverVersion: z24.number().int().nonnegative(),
|
|
16145
|
-
rhythmPresetId: z24.string().min(1),
|
|
16146
|
-
blocks: z24.array(blockDesignPlanSchema),
|
|
16147
|
-
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
16148
|
-
}).strict();
|
|
16149
|
-
|
|
16150
|
-
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
16151
|
-
function defineDesignRuntimeRules(rules) {
|
|
16152
|
-
return rules;
|
|
16153
|
-
}
|
|
16154
|
-
function defineComponentRuntimeRules(rules) {
|
|
16155
|
-
return rules;
|
|
16156
|
-
}
|
|
16157
|
-
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
16158
|
-
sectionSurfaces: {
|
|
16159
|
-
base: {},
|
|
16160
|
-
"muted-band": {
|
|
16161
|
-
background: {
|
|
16162
|
-
type: "color",
|
|
16163
|
-
color: "muted"
|
|
16164
|
-
}
|
|
16165
|
-
},
|
|
16166
|
-
"accent-band": {
|
|
16167
|
-
background: {
|
|
16168
|
-
type: "color",
|
|
16169
|
-
color: "primary"
|
|
16170
|
-
}
|
|
16171
|
-
},
|
|
16172
|
-
"brand-depth-band": {
|
|
16173
|
-
background: {
|
|
16174
|
-
type: "color",
|
|
16175
|
-
color: "primary-800"
|
|
16176
|
-
}
|
|
16177
|
-
},
|
|
16178
|
-
"hero-image": {
|
|
16179
|
-
background: {
|
|
16180
|
-
type: "image",
|
|
16181
|
-
opacity: 1,
|
|
16182
|
-
position: "center center",
|
|
16183
|
-
...uniformSectionForeground("text")
|
|
16184
|
-
}
|
|
16185
|
-
}
|
|
16186
|
-
},
|
|
16187
|
-
heroLegibility: {
|
|
16188
|
-
"scrim-gradient": {
|
|
16189
|
-
type: "gradient",
|
|
16190
|
-
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
16191
|
-
opacity: 1
|
|
16192
|
-
},
|
|
16193
|
-
"solid-panel": {
|
|
16194
|
-
type: "color",
|
|
16195
|
-
color: "surface",
|
|
16196
|
-
opacity: 0.88
|
|
16197
|
-
}
|
|
16198
|
-
},
|
|
16199
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
16200
|
-
});
|
|
16201
|
-
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
16202
|
-
panelFrames: {
|
|
16203
|
-
inset: {
|
|
16204
|
-
spacing: "comfortable",
|
|
16205
|
-
rounded: "xl",
|
|
16206
|
-
raised: false,
|
|
16207
|
-
background: {
|
|
16208
|
-
type: "color",
|
|
16209
|
-
color: "surfaceAlt",
|
|
16210
|
-
textColor: "text"
|
|
16211
|
-
}
|
|
16212
|
-
},
|
|
16213
|
-
raised: {
|
|
16214
|
-
spacing: "comfortable",
|
|
16215
|
-
rounded: "xl",
|
|
16216
|
-
raised: true,
|
|
16217
|
-
background: {
|
|
16218
|
-
type: "color",
|
|
16219
|
-
color: "surfaceAlt",
|
|
16220
|
-
textColor: "text"
|
|
16221
|
-
}
|
|
16222
|
-
},
|
|
16223
|
-
editorial: {
|
|
16224
|
-
spacing: "medium",
|
|
16225
|
-
rounded: "xl",
|
|
16226
|
-
raised: false,
|
|
16227
|
-
background: {
|
|
16228
|
-
type: "color",
|
|
16229
|
-
color: "surface",
|
|
16230
|
-
textColor: "text"
|
|
16231
|
-
}
|
|
16232
|
-
}
|
|
16233
|
-
},
|
|
16234
|
-
flushFrames: {
|
|
16235
|
-
"media-panel": {
|
|
16236
|
-
fullWidth: true,
|
|
16237
|
-
spacing: "none",
|
|
16238
|
-
rounded: "none",
|
|
16239
|
-
raised: false
|
|
16240
|
-
}
|
|
16241
|
-
},
|
|
16242
|
-
itemSurfaces: {
|
|
16243
|
-
none: null,
|
|
16244
|
-
default: {
|
|
16245
|
-
spacing: "medium",
|
|
16246
|
-
rounded: "lg",
|
|
16247
|
-
raised: false
|
|
16248
|
-
},
|
|
16249
|
-
flat: {
|
|
16250
|
-
spacing: "medium",
|
|
16251
|
-
rounded: "lg",
|
|
16252
|
-
raised: false
|
|
16253
|
-
},
|
|
16254
|
-
outlined: {
|
|
16255
|
-
spacing: "medium",
|
|
16256
|
-
rounded: "lg",
|
|
16257
|
-
raised: false,
|
|
16258
|
-
border: {
|
|
16259
|
-
enabled: true,
|
|
16260
|
-
width: "1",
|
|
16261
|
-
colorToken: "border"
|
|
16262
|
-
}
|
|
16263
|
-
},
|
|
16264
|
-
raised: {
|
|
16265
|
-
spacing: "medium",
|
|
16266
|
-
rounded: "xl",
|
|
16267
|
-
raised: true
|
|
16268
|
-
},
|
|
16269
|
-
inset: {
|
|
16270
|
-
treatment: "soft-panel",
|
|
16271
|
-
spacing: "comfortable",
|
|
16272
|
-
rounded: "xl",
|
|
16273
|
-
raised: false,
|
|
16274
|
-
border: {
|
|
16275
|
-
enabled: false
|
|
16276
|
-
},
|
|
16277
|
-
background: {
|
|
16278
|
-
type: "color",
|
|
16279
|
-
color: "surfaceAlt",
|
|
16280
|
-
textColor: "text"
|
|
16281
|
-
}
|
|
16282
|
-
},
|
|
16283
|
-
editorial: {
|
|
16284
|
-
// Boxless open column with a short rule on top; the visual treatment
|
|
16285
|
-
// lives in blocks-static/card-treatments.css.
|
|
16286
|
-
treatment: "editorial-rule",
|
|
16287
|
-
spacing: "none",
|
|
16288
|
-
rounded: "none",
|
|
16289
|
-
raised: false,
|
|
16290
|
-
border: {
|
|
16291
|
-
enabled: false
|
|
16292
|
-
}
|
|
16293
|
-
},
|
|
16294
|
-
"color-blocked": {
|
|
16295
|
-
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
16296
|
-
// (by position) and staggered offset live in
|
|
16297
|
-
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
16298
|
-
// generous padding, large radius, no border, flat (no shadow).
|
|
16299
|
-
treatment: "color-blocked",
|
|
16300
|
-
spacing: "spacious",
|
|
16301
|
-
rounded: "2xl",
|
|
16302
|
-
raised: false,
|
|
16303
|
-
border: {
|
|
16304
|
-
enabled: false
|
|
16305
|
-
}
|
|
16306
|
-
}
|
|
16307
|
-
}
|
|
16308
|
-
});
|
|
16309
|
-
function uniformSectionForeground(token) {
|
|
16310
|
-
return {
|
|
16311
|
-
textColor: token,
|
|
16312
|
-
headingColor: token,
|
|
16313
|
-
linkColor: token,
|
|
16314
|
-
supportingColor: token
|
|
16315
|
-
};
|
|
16316
|
-
}
|
|
16317
|
-
|
|
16318
17038
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
16319
17039
|
import { z as z25 } from "zod";
|
|
16320
17040
|
function uniqueNonEmpty2(values) {
|
|
@@ -17126,6 +17846,31 @@ function cardStylesField(options = {}) {
|
|
|
17126
17846
|
return createBoxStylesFieldWithDepth("card", options);
|
|
17127
17847
|
}
|
|
17128
17848
|
|
|
17849
|
+
// ../blocks/src/system/fields/imageShape.ts
|
|
17850
|
+
var standardImageShapeOptions = [
|
|
17851
|
+
{ value: "default", label: "Default" },
|
|
17852
|
+
{ value: "square", label: "Square corners" },
|
|
17853
|
+
{ value: "rounded", label: "Rounded corners" },
|
|
17854
|
+
{ value: "circle", label: "Circle" },
|
|
17855
|
+
{ value: "arch", label: "Arch" }
|
|
17856
|
+
];
|
|
17857
|
+
function createImageShapeField(options = {}) {
|
|
17858
|
+
return {
|
|
17859
|
+
id: options.id ?? "imageShape",
|
|
17860
|
+
type: "select",
|
|
17861
|
+
label: options.label ?? "Image shape",
|
|
17862
|
+
...options.description ? { description: options.description } : {},
|
|
17863
|
+
required: false,
|
|
17864
|
+
defaultValue: options.defaultValue ?? "default",
|
|
17865
|
+
multiple: false,
|
|
17866
|
+
options: [...standardImageShapeOptions],
|
|
17867
|
+
ui: {
|
|
17868
|
+
intent: options.uiIntent ?? "display",
|
|
17869
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
17870
|
+
}
|
|
17871
|
+
};
|
|
17872
|
+
}
|
|
17873
|
+
|
|
17129
17874
|
// ../blocks/src/utils/env.ts
|
|
17130
17875
|
function isDevEnvironment() {
|
|
17131
17876
|
try {
|
|
@@ -17940,7 +18685,7 @@ function buildFooterNavAll(common) {
|
|
|
17940
18685
|
return stack(
|
|
17941
18686
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17942
18687
|
[item],
|
|
17943
|
-
|
|
18688
|
+
whenCollectionHasItems(collectionPath)
|
|
17944
18689
|
);
|
|
17945
18690
|
}
|
|
17946
18691
|
function buildFooterNavLinksOnly(common) {
|
|
@@ -17973,7 +18718,7 @@ function buildFooterNavLinksOnly(common) {
|
|
|
17973
18718
|
return stack(
|
|
17974
18719
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17975
18720
|
[item],
|
|
17976
|
-
|
|
18721
|
+
whenCollectionHasItems(collectionPath)
|
|
17977
18722
|
);
|
|
17978
18723
|
}
|
|
17979
18724
|
function buildFooterNavFlatten(common) {
|
|
@@ -18022,9 +18767,20 @@ function buildFooterNavFlatten(common) {
|
|
|
18022
18767
|
return stack(
|
|
18023
18768
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
18024
18769
|
[item],
|
|
18025
|
-
|
|
18770
|
+
whenCollectionHasItems(collectionPath)
|
|
18026
18771
|
);
|
|
18027
18772
|
}
|
|
18773
|
+
var whenCollectionHasItems = (collectionPath) => (node) => ({
|
|
18774
|
+
...node,
|
|
18775
|
+
$when: {
|
|
18776
|
+
when: {
|
|
18777
|
+
from: collectionPath,
|
|
18778
|
+
transforms: [{ id: "array.length" }]
|
|
18779
|
+
},
|
|
18780
|
+
equals: 0,
|
|
18781
|
+
not: true
|
|
18782
|
+
}
|
|
18783
|
+
});
|
|
18028
18784
|
function footerNav(opts) {
|
|
18029
18785
|
const mode = opts?.mode ?? "all";
|
|
18030
18786
|
const collectionPath = opts?.collectionPath ?? "footerMenu.items";
|
|
@@ -20596,8 +21352,23 @@ function fragmentsToRepeaterField(id, label, fragments, options = {}) {
|
|
|
20596
21352
|
var heroLayoutControlsFragment = defineFragment({
|
|
20597
21353
|
id: "heroLayoutControls",
|
|
20598
21354
|
title: "Hero Layout",
|
|
20599
|
-
description: "
|
|
21355
|
+
description: "Title scale, alignment, and content width controls for hero layouts.",
|
|
20600
21356
|
fields: [
|
|
21357
|
+
{
|
|
21358
|
+
id: "titleSize",
|
|
21359
|
+
type: "select",
|
|
21360
|
+
label: "Title size",
|
|
21361
|
+
description: "Adjust the visual scale of the hero title.",
|
|
21362
|
+
required: false,
|
|
21363
|
+
ui: { intent: "display" },
|
|
21364
|
+
options: [
|
|
21365
|
+
{ value: "auto", label: "Auto" },
|
|
21366
|
+
{ value: "quiet", label: "Normal" },
|
|
21367
|
+
{ value: "editorial", label: "Large" },
|
|
21368
|
+
{ value: "display", label: "Huge" },
|
|
21369
|
+
{ value: "poster", label: "Poster" }
|
|
21370
|
+
]
|
|
21371
|
+
},
|
|
20601
21372
|
{
|
|
20602
21373
|
id: "contentAlignment",
|
|
20603
21374
|
type: "select",
|
|
@@ -21392,7 +22163,18 @@ function heroSplitImagePane() {
|
|
|
21392
22163
|
return stack(
|
|
21393
22164
|
{
|
|
21394
22165
|
gap: "none",
|
|
21395
|
-
className:
|
|
22166
|
+
className: {
|
|
22167
|
+
$bind: {
|
|
22168
|
+
from: "content.imageShape",
|
|
22169
|
+
transforms: [
|
|
22170
|
+
{
|
|
22171
|
+
id: "ui.imageShapeClassName",
|
|
22172
|
+
options: { baseClass: "rb-relative rb-overflow-hidden rb-rounded-3xl" }
|
|
22173
|
+
}
|
|
22174
|
+
],
|
|
22175
|
+
fallback: "rb-relative rb-overflow-hidden rb-rounded-3xl"
|
|
22176
|
+
}
|
|
22177
|
+
},
|
|
21396
22178
|
style: {
|
|
21397
22179
|
minHeight: "clamp(18rem, 36vw, 34rem)"
|
|
21398
22180
|
}
|
|
@@ -21510,6 +22292,12 @@ var heroConfig = {
|
|
|
21510
22292
|
label: "Content card",
|
|
21511
22293
|
renderInHeader: true,
|
|
21512
22294
|
intent: "style"
|
|
22295
|
+
}),
|
|
22296
|
+
createImageShapeField({
|
|
22297
|
+
id: "imageShape",
|
|
22298
|
+
label: "Image shape",
|
|
22299
|
+
defaultValue: "default",
|
|
22300
|
+
uiIntent: "display"
|
|
21513
22301
|
})
|
|
21514
22302
|
],
|
|
21515
22303
|
layout: classicLayout,
|
|
@@ -21524,6 +22312,15 @@ var heroConfig = {
|
|
|
21524
22312
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
21525
22313
|
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
21526
22314
|
icon: "Sparkles",
|
|
22315
|
+
previewCustomize: {
|
|
22316
|
+
quickFieldPriority: [
|
|
22317
|
+
"titleSize",
|
|
22318
|
+
"contentAlignment",
|
|
22319
|
+
"contentMaxWidth",
|
|
22320
|
+
"verticalAlignment",
|
|
22321
|
+
"imageShape"
|
|
22322
|
+
]
|
|
22323
|
+
},
|
|
21527
22324
|
styleTokens: {
|
|
21528
22325
|
typography: "display",
|
|
21529
22326
|
spacing: "xl"
|
|
@@ -21540,7 +22337,8 @@ var standardAspectRatioOptions = [
|
|
|
21540
22337
|
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
21541
22338
|
{ value: "4/3", label: "4:3 (Standard)" },
|
|
21542
22339
|
{ value: "1/1", label: "1:1 (Square)" },
|
|
21543
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
22340
|
+
{ value: "3/4", label: "3:4 (Portrait)" },
|
|
22341
|
+
{ value: "9/16", label: "9:16 (Tall portrait)" }
|
|
21544
22342
|
];
|
|
21545
22343
|
function createAspectRatioField(options = {}) {
|
|
21546
22344
|
return {
|
|
@@ -22760,6 +23558,258 @@ var formBlockDefinition = {
|
|
|
22760
23558
|
runtime: formBlockRuntime
|
|
22761
23559
|
};
|
|
22762
23560
|
|
|
23561
|
+
// ../blocks/src/system/blocks/contact-newsletter.ts
|
|
23562
|
+
var contactNewsletterLayout = styledSection({
|
|
23563
|
+
children: sectionContainer([
|
|
23564
|
+
el(
|
|
23565
|
+
"div",
|
|
23566
|
+
{ className: "contact-newsletter-grid" },
|
|
23567
|
+
[
|
|
23568
|
+
el(
|
|
23569
|
+
"div",
|
|
23570
|
+
{ className: "contact-newsletter-column contact-newsletter-contact" },
|
|
23571
|
+
[
|
|
23572
|
+
el(
|
|
23573
|
+
"div",
|
|
23574
|
+
{ className: "contact-newsletter-copy" },
|
|
23575
|
+
[
|
|
23576
|
+
text(
|
|
23577
|
+
{
|
|
23578
|
+
as: "h2",
|
|
23579
|
+
className: "form-copy-title"
|
|
23580
|
+
},
|
|
23581
|
+
when("contactTitle"),
|
|
23582
|
+
bind("contactTitle")
|
|
23583
|
+
),
|
|
23584
|
+
richText(
|
|
23585
|
+
{
|
|
23586
|
+
className: "form-copy-intro rb-prose rb-max-w-none"
|
|
23587
|
+
},
|
|
23588
|
+
when("contactIntro"),
|
|
23589
|
+
bind("contactIntro")
|
|
23590
|
+
)
|
|
23591
|
+
]
|
|
23592
|
+
),
|
|
23593
|
+
el(
|
|
23594
|
+
"form",
|
|
23595
|
+
withApiBindings({
|
|
23596
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } },
|
|
23597
|
+
submitLabel: { $bind: { from: "contactSubmitLabel" } },
|
|
23598
|
+
successMessage: { $bind: { from: "contactSuccessMessage" } }
|
|
23599
|
+
}),
|
|
23600
|
+
[],
|
|
23601
|
+
bind("data.form")
|
|
23602
|
+
)
|
|
23603
|
+
]
|
|
23604
|
+
),
|
|
23605
|
+
el(
|
|
23606
|
+
"div",
|
|
23607
|
+
{ className: "contact-newsletter-column contact-newsletter-info contact-newsletter-newsletter" },
|
|
23608
|
+
[
|
|
23609
|
+
el(
|
|
23610
|
+
"div",
|
|
23611
|
+
{ className: "contact-newsletter-copy" },
|
|
23612
|
+
[
|
|
23613
|
+
text(
|
|
23614
|
+
{
|
|
23615
|
+
as: "h2",
|
|
23616
|
+
className: "newsletter-copy-title"
|
|
23617
|
+
},
|
|
23618
|
+
when("newsletterTitle"),
|
|
23619
|
+
bind("newsletterTitle")
|
|
23620
|
+
),
|
|
23621
|
+
richText(
|
|
23622
|
+
{
|
|
23623
|
+
className: "newsletter-copy-subtitle rb-prose rb-max-w-none"
|
|
23624
|
+
},
|
|
23625
|
+
when("newsletterSubtitle"),
|
|
23626
|
+
bind("newsletterSubtitle")
|
|
23627
|
+
)
|
|
23628
|
+
]
|
|
23629
|
+
),
|
|
23630
|
+
el(
|
|
23631
|
+
"newsletter-form",
|
|
23632
|
+
withApiBindings({
|
|
23633
|
+
listId: { $bind: { from: "listId" } },
|
|
23634
|
+
preset: { $bind: { from: "preset" } },
|
|
23635
|
+
includePhone: { $bind: { from: "includePhone" } },
|
|
23636
|
+
buttonLabel: { $bind: { from: "newsletterButtonLabel" } },
|
|
23637
|
+
successMessage: { $bind: { from: "newsletterSuccessMessage" } },
|
|
23638
|
+
privacyNote: { $bind: { from: "newsletterPrivacyNote" } },
|
|
23639
|
+
tags: { $bind: { from: "newsletterTags" } },
|
|
23640
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } }
|
|
23641
|
+
}),
|
|
23642
|
+
[]
|
|
23643
|
+
)
|
|
23644
|
+
]
|
|
23645
|
+
)
|
|
23646
|
+
]
|
|
23647
|
+
)
|
|
23648
|
+
], {
|
|
23649
|
+
className: "contact-newsletter-container"
|
|
23650
|
+
}),
|
|
23651
|
+
baseClass: "",
|
|
23652
|
+
spacing: "medium",
|
|
23653
|
+
background: "surface"
|
|
23654
|
+
});
|
|
23655
|
+
var contactNewsletterManifest = createBlockManifest({
|
|
23656
|
+
id: "block.contact-newsletter",
|
|
23657
|
+
title: "Contact + Newsletter",
|
|
23658
|
+
titleSource: "contactTitle",
|
|
23659
|
+
description: "Two-column newsletter signup and contact form section.",
|
|
23660
|
+
category: "interactive",
|
|
23661
|
+
layout: contactNewsletterLayout,
|
|
23662
|
+
defaultVariant: "default",
|
|
23663
|
+
variants: {
|
|
23664
|
+
default: contactNewsletterLayout
|
|
23665
|
+
},
|
|
23666
|
+
variantOptions: {
|
|
23667
|
+
default: {
|
|
23668
|
+
label: "Two column",
|
|
23669
|
+
description: "Newsletter and contact form side by side.",
|
|
23670
|
+
icon: "Columns2"
|
|
23671
|
+
}
|
|
23672
|
+
},
|
|
23673
|
+
additionalFields: [
|
|
23674
|
+
{
|
|
23675
|
+
id: "newsletterTitle",
|
|
23676
|
+
type: "text",
|
|
23677
|
+
label: "Newsletter title",
|
|
23678
|
+
defaultValue: "Stay connected"
|
|
23679
|
+
},
|
|
23680
|
+
{
|
|
23681
|
+
id: "newsletterSubtitle",
|
|
23682
|
+
type: "richText",
|
|
23683
|
+
label: "Newsletter intro"
|
|
23684
|
+
},
|
|
23685
|
+
{
|
|
23686
|
+
id: "listId",
|
|
23687
|
+
type: "reference",
|
|
23688
|
+
label: "Newsletter list",
|
|
23689
|
+
description: "Select the list new subscribers should be added to.",
|
|
23690
|
+
required: true,
|
|
23691
|
+
referenceKind: "newsletterList",
|
|
23692
|
+
allowManualEntry: false,
|
|
23693
|
+
ui: { intent: "behavior" }
|
|
23694
|
+
},
|
|
23695
|
+
{
|
|
23696
|
+
id: "preset",
|
|
23697
|
+
type: "select",
|
|
23698
|
+
label: "Newsletter fields",
|
|
23699
|
+
defaultValue: "emailOnly",
|
|
23700
|
+
ui: { intent: "display" },
|
|
23701
|
+
options: [
|
|
23702
|
+
{ value: "emailOnly", label: "Email only" },
|
|
23703
|
+
{ value: "emailName", label: "Email + Name" },
|
|
23704
|
+
{ value: "emailFirstLast", label: "Email + First/Last Name" },
|
|
23705
|
+
{ value: "emailNameCompany", label: "Email + Name + Company (B2B)" }
|
|
23706
|
+
]
|
|
23707
|
+
},
|
|
23708
|
+
{
|
|
23709
|
+
id: "includePhone",
|
|
23710
|
+
type: "boolean",
|
|
23711
|
+
label: "Include phone field",
|
|
23712
|
+
defaultValue: false,
|
|
23713
|
+
ui: { intent: "display" }
|
|
23714
|
+
},
|
|
23715
|
+
{
|
|
23716
|
+
id: "newsletterButtonLabel",
|
|
23717
|
+
type: "text",
|
|
23718
|
+
label: "Newsletter button label",
|
|
23719
|
+
defaultValue: "Subscribe",
|
|
23720
|
+
ui: { intent: "display" }
|
|
23721
|
+
},
|
|
23722
|
+
{
|
|
23723
|
+
id: "newsletterSuccessMessage",
|
|
23724
|
+
type: "text",
|
|
23725
|
+
label: "Newsletter success message",
|
|
23726
|
+
defaultValue: "Thanks for subscribing!",
|
|
23727
|
+
ui: { intent: "behavior" }
|
|
23728
|
+
},
|
|
23729
|
+
{
|
|
23730
|
+
id: "newsletterPrivacyNote",
|
|
23731
|
+
type: "text",
|
|
23732
|
+
label: "Privacy note",
|
|
23733
|
+
ui: { intent: "display" }
|
|
23734
|
+
},
|
|
23735
|
+
{
|
|
23736
|
+
id: "newsletterTags",
|
|
23737
|
+
type: "text",
|
|
23738
|
+
label: "Newsletter tags",
|
|
23739
|
+
description: "Optional tags to apply on subscribe, separated by comma or semicolon.",
|
|
23740
|
+
ui: { intent: "behavior" }
|
|
23741
|
+
},
|
|
23742
|
+
{
|
|
23743
|
+
id: "contactTitle",
|
|
23744
|
+
type: "text",
|
|
23745
|
+
label: "Contact title",
|
|
23746
|
+
defaultValue: "Get in touch"
|
|
23747
|
+
},
|
|
23748
|
+
{
|
|
23749
|
+
id: "contactIntro",
|
|
23750
|
+
type: "richText",
|
|
23751
|
+
label: "Contact intro"
|
|
23752
|
+
},
|
|
23753
|
+
{
|
|
23754
|
+
id: "formSlug",
|
|
23755
|
+
type: "reference",
|
|
23756
|
+
label: "Contact form",
|
|
23757
|
+
description: "Pick a saved form to render.",
|
|
23758
|
+
required: true,
|
|
23759
|
+
referenceKind: "form",
|
|
23760
|
+
allowManualEntry: false,
|
|
23761
|
+
ui: { intent: "behavior" }
|
|
23762
|
+
},
|
|
23763
|
+
{
|
|
23764
|
+
id: "contactSubmitLabel",
|
|
23765
|
+
type: "text",
|
|
23766
|
+
label: "Contact button label",
|
|
23767
|
+
defaultValue: "Send message",
|
|
23768
|
+
ui: { intent: "display" }
|
|
23769
|
+
},
|
|
23770
|
+
{
|
|
23771
|
+
id: "contactSuccessMessage",
|
|
23772
|
+
type: "text",
|
|
23773
|
+
label: "Contact success message",
|
|
23774
|
+
defaultValue: "Thanks - we received your message.",
|
|
23775
|
+
ui: { intent: "behavior" }
|
|
23776
|
+
}
|
|
23777
|
+
],
|
|
23778
|
+
styleTokens: {
|
|
23779
|
+
background: "surface",
|
|
23780
|
+
typography: "body",
|
|
23781
|
+
spacing: "md"
|
|
23782
|
+
},
|
|
23783
|
+
behaviours: {
|
|
23784
|
+
supportsThemeSwitching: true,
|
|
23785
|
+
inlineEditing: true,
|
|
23786
|
+
animation: false,
|
|
23787
|
+
paletteHidden: false
|
|
23788
|
+
},
|
|
23789
|
+
tags: [
|
|
23790
|
+
"contact",
|
|
23791
|
+
"newsletter",
|
|
23792
|
+
"signup",
|
|
23793
|
+
"email",
|
|
23794
|
+
"form",
|
|
23795
|
+
"lead-capture"
|
|
23796
|
+
],
|
|
23797
|
+
icon: "MailPlus"
|
|
23798
|
+
});
|
|
23799
|
+
var contactNewsletterBlockDefinition = {
|
|
23800
|
+
manifest: contactNewsletterManifest,
|
|
23801
|
+
dataSchemas: { form: formDataSchema.optional() },
|
|
23802
|
+
dataLoaders: {
|
|
23803
|
+
form: {
|
|
23804
|
+
endpoint: "getPublicFormById",
|
|
23805
|
+
params: {
|
|
23806
|
+
formSlug: { $bind: { from: "formSlug" } }
|
|
23807
|
+
},
|
|
23808
|
+
mode: "server"
|
|
23809
|
+
}
|
|
23810
|
+
}
|
|
23811
|
+
};
|
|
23812
|
+
|
|
22763
23813
|
// ../blocks/src/system/blocks/faq.ts
|
|
22764
23814
|
function fragmentLayoutNode2(layout) {
|
|
22765
23815
|
return isNodeDefinitionArray2(layout) ? el("div", {}, [...layout]) : layout;
|
|
@@ -22988,6 +24038,7 @@ var joinClasses3 = (parts) => parts.filter(
|
|
|
22988
24038
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
22989
24039
|
var eyebrowTreatmentClassMap = {
|
|
22990
24040
|
plain: "",
|
|
24041
|
+
accent: "rb-eyebrow-treatment-accent",
|
|
22991
24042
|
pill: "rb-eyebrow-treatment-pill",
|
|
22992
24043
|
"accent-pill": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-accent",
|
|
22993
24044
|
"pill-bounce": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-pill-bounce",
|
|
@@ -23014,6 +24065,13 @@ var imageGalleryCornerClassMap = {
|
|
|
23014
24065
|
"2xl": "rb-rounded-2xl",
|
|
23015
24066
|
"3xl": "rb-rounded-3xl"
|
|
23016
24067
|
};
|
|
24068
|
+
var imageShapeClassMap = {
|
|
24069
|
+
default: "",
|
|
24070
|
+
square: "rb-media-shape-square",
|
|
24071
|
+
rounded: "rb-media-shape-rounded",
|
|
24072
|
+
circle: "rb-media-shape-circle",
|
|
24073
|
+
arch: "rb-media-shape-arch"
|
|
24074
|
+
};
|
|
23017
24075
|
var parseRatio = (raw) => {
|
|
23018
24076
|
if (typeof raw !== "string") return null;
|
|
23019
24077
|
const value = raw.trim();
|
|
@@ -23158,6 +24216,10 @@ function resolveHeroContentMaxWidth(content) {
|
|
|
23158
24216
|
return "default";
|
|
23159
24217
|
}
|
|
23160
24218
|
function resolveHeroTypographyScale(content) {
|
|
24219
|
+
const titleSize = readString(content, "titleSize");
|
|
24220
|
+
if (titleSize === "quiet" || titleSize === "editorial" || titleSize === "display" || titleSize === "poster") {
|
|
24221
|
+
return titleSize;
|
|
24222
|
+
}
|
|
23161
24223
|
const raw = readHeroLayoutString(
|
|
23162
24224
|
content,
|
|
23163
24225
|
"typographyScale",
|
|
@@ -23399,6 +24461,16 @@ var uiTransforms = [
|
|
|
23399
24461
|
heroGridClassFromVerticalAlignmentTransform,
|
|
23400
24462
|
imageFragmentClassTransform,
|
|
23401
24463
|
imageFragmentSizeTransform,
|
|
24464
|
+
{
|
|
24465
|
+
id: "ui.imageShapeClassName",
|
|
24466
|
+
kind: "string",
|
|
24467
|
+
summary: "Apply a constrained media shape class",
|
|
24468
|
+
run: (value, options) => {
|
|
24469
|
+
const baseClass = typeof options?.baseClass === "string" ? options.baseClass : "";
|
|
24470
|
+
const shape = typeof value === "string" ? value.trim() : "default";
|
|
24471
|
+
return joinClasses3([baseClass, imageShapeClassMap[shape] ?? ""]);
|
|
24472
|
+
}
|
|
24473
|
+
},
|
|
23402
24474
|
conditionalClassTransform,
|
|
23403
24475
|
twoColumnContainerClassTransform,
|
|
23404
24476
|
twoColumnFlexBasisTransform,
|
|
@@ -24742,6 +25814,21 @@ var siteHeaderManifest = createBlockManifest({
|
|
|
24742
25814
|
id: "block.site-header",
|
|
24743
25815
|
title: "Site Header",
|
|
24744
25816
|
category: "layout",
|
|
25817
|
+
additionalFields: [
|
|
25818
|
+
{
|
|
25819
|
+
id: "mode",
|
|
25820
|
+
type: "select",
|
|
25821
|
+
label: "Header display",
|
|
25822
|
+
required: false,
|
|
25823
|
+
multiple: false,
|
|
25824
|
+
defaultValue: "default",
|
|
25825
|
+
options: [
|
|
25826
|
+
{ value: "default", label: "Show header" },
|
|
25827
|
+
{ value: "hidden", label: "Hide header" }
|
|
25828
|
+
],
|
|
25829
|
+
ui: { intent: "display" }
|
|
25830
|
+
}
|
|
25831
|
+
],
|
|
24745
25832
|
// Skip section styles - this block uses theme-based styling
|
|
24746
25833
|
skipSectionStyles: true,
|
|
24747
25834
|
// Block manages its own wrapper - enables sticky positioning
|
|
@@ -26144,6 +27231,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26144
27231
|
category: "layout",
|
|
26145
27232
|
includeContainerStyles: true,
|
|
26146
27233
|
titleSource: "title",
|
|
27234
|
+
previewCustomize: {
|
|
27235
|
+
quickFieldPriority: ["imagePosition", "ratio", "imageShape", "titleAlignment", "aspectRatio"]
|
|
27236
|
+
},
|
|
26147
27237
|
additionalFields: [
|
|
26148
27238
|
{
|
|
26149
27239
|
id: "images",
|
|
@@ -26182,7 +27272,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26182
27272
|
{
|
|
26183
27273
|
id: "titleAlignment",
|
|
26184
27274
|
type: "select",
|
|
26185
|
-
label: "
|
|
27275
|
+
label: "Content alignment",
|
|
26186
27276
|
required: false,
|
|
26187
27277
|
defaultValue: "left",
|
|
26188
27278
|
multiple: false,
|
|
@@ -26240,7 +27330,18 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26240
27330
|
transition: "slide"
|
|
26241
27331
|
},
|
|
26242
27332
|
ui: { intent: "behavior" }
|
|
26243
|
-
})
|
|
27333
|
+
}).map((field) => ({
|
|
27334
|
+
...field,
|
|
27335
|
+
ui: {
|
|
27336
|
+
...field.ui ?? {},
|
|
27337
|
+
visibleWhen: field.id === "carouselAutoplayDelay" ? {
|
|
27338
|
+
allOf: [
|
|
27339
|
+
{ field: "images", minItems: 2 },
|
|
27340
|
+
{ field: "carouselAutoplay", equals: true }
|
|
27341
|
+
]
|
|
27342
|
+
} : { field: "images", minItems: 2 }
|
|
27343
|
+
}
|
|
27344
|
+
})),
|
|
26244
27345
|
createAspectRatioField({
|
|
26245
27346
|
id: "aspectRatio",
|
|
26246
27347
|
label: "Media aspect ratio",
|
|
@@ -26248,6 +27349,12 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26248
27349
|
defaultValue: "auto",
|
|
26249
27350
|
visibleWhen: { field: "images", notEquals: null }
|
|
26250
27351
|
}),
|
|
27352
|
+
createImageShapeField({
|
|
27353
|
+
id: "imageShape",
|
|
27354
|
+
label: "Media shape",
|
|
27355
|
+
defaultValue: "default",
|
|
27356
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
27357
|
+
}),
|
|
26251
27358
|
{
|
|
26252
27359
|
id: "text",
|
|
26253
27360
|
type: "richText",
|
|
@@ -26281,6 +27388,30 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26281
27388
|
...options?.not ? { not: true } : {}
|
|
26282
27389
|
}
|
|
26283
27390
|
});
|
|
27391
|
+
const bodyClassNameFromAlignment = {
|
|
27392
|
+
$bind: {
|
|
27393
|
+
from: "content.titleAlignment",
|
|
27394
|
+
transforms: [
|
|
27395
|
+
{
|
|
27396
|
+
id: "ui.bodyClassFromAlignment",
|
|
27397
|
+
options: { base: "rb-prose rb-max-w-none" }
|
|
27398
|
+
}
|
|
27399
|
+
],
|
|
27400
|
+
fallback: "rb-prose rb-max-w-none"
|
|
27401
|
+
}
|
|
27402
|
+
};
|
|
27403
|
+
const titleClassNameFromAlignment = {
|
|
27404
|
+
$bind: {
|
|
27405
|
+
from: "content.titleAlignment",
|
|
27406
|
+
transforms: [
|
|
27407
|
+
{
|
|
27408
|
+
id: "ui.headingClassFromAlignment",
|
|
27409
|
+
options: { base: "" }
|
|
27410
|
+
}
|
|
27411
|
+
],
|
|
27412
|
+
fallback: ""
|
|
27413
|
+
}
|
|
27414
|
+
};
|
|
26284
27415
|
const defaultTextColumn = el("div", {}, [
|
|
26285
27416
|
styledCard(
|
|
26286
27417
|
[
|
|
@@ -26305,8 +27436,55 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26305
27436
|
bind("content.text")
|
|
26306
27437
|
)
|
|
26307
27438
|
]);
|
|
27439
|
+
const bioTextColumn = el(
|
|
27440
|
+
"div",
|
|
27441
|
+
{ className: "rb-flex rb-h-full rb-w-full rb-max-w-prose rb-flex-col rb-justify-center rb-gap-5" },
|
|
27442
|
+
[
|
|
27443
|
+
text(
|
|
27444
|
+
{
|
|
27445
|
+
as: "h2",
|
|
27446
|
+
className: titleClassNameFromAlignment
|
|
27447
|
+
},
|
|
27448
|
+
when("content.title"),
|
|
27449
|
+
bind("content.title")
|
|
27450
|
+
),
|
|
27451
|
+
styledCard(
|
|
27452
|
+
[
|
|
27453
|
+
richText(
|
|
27454
|
+
{
|
|
27455
|
+
className: bodyClassNameFromAlignment
|
|
27456
|
+
},
|
|
27457
|
+
bind("content.text")
|
|
27458
|
+
)
|
|
27459
|
+
],
|
|
27460
|
+
{
|
|
27461
|
+
stylesFrom: "content._textCardStyles",
|
|
27462
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27463
|
+
},
|
|
27464
|
+
when("content.wrapTextInCard")
|
|
27465
|
+
),
|
|
27466
|
+
richText(
|
|
27467
|
+
{
|
|
27468
|
+
className: bodyClassNameFromAlignment
|
|
27469
|
+
},
|
|
27470
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27471
|
+
bind("content.text")
|
|
27472
|
+
)
|
|
27473
|
+
]
|
|
27474
|
+
);
|
|
26308
27475
|
const defaultImageCommonProps = {
|
|
26309
|
-
className:
|
|
27476
|
+
className: {
|
|
27477
|
+
$bind: {
|
|
27478
|
+
from: "content.imageShape",
|
|
27479
|
+
transforms: [
|
|
27480
|
+
{
|
|
27481
|
+
id: "ui.imageShapeClassName",
|
|
27482
|
+
options: { baseClass: "rb-w-full rb-h-auto rb-object-cover" }
|
|
27483
|
+
}
|
|
27484
|
+
],
|
|
27485
|
+
fallback: "rb-w-full rb-h-auto rb-object-cover"
|
|
27486
|
+
}
|
|
27487
|
+
},
|
|
26310
27488
|
style: {
|
|
26311
27489
|
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
26312
27490
|
}
|
|
@@ -26347,6 +27525,27 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26347
27525
|
],
|
|
26348
27526
|
whenImagesLength(0, { not: true })
|
|
26349
27527
|
);
|
|
27528
|
+
const bioImagesLayout = el(
|
|
27529
|
+
"div",
|
|
27530
|
+
{},
|
|
27531
|
+
[
|
|
27532
|
+
responsiveTwoColumn({
|
|
27533
|
+
image: el("div", {}, [
|
|
27534
|
+
el("div", {}, [defaultSingleImage], whenImagesLength(1)),
|
|
27535
|
+
el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))
|
|
27536
|
+
]),
|
|
27537
|
+
text: bioTextColumn,
|
|
27538
|
+
ratioFrom: "content.ratio",
|
|
27539
|
+
imagePositionFrom: "content.imagePosition",
|
|
27540
|
+
containerClassName: "rb-flex rb-flex-col rb-md-flex-row rb-md-items-center",
|
|
27541
|
+
gapFrom: "content.gap",
|
|
27542
|
+
gapFallback: "comfortable",
|
|
27543
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
27544
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-stretch"
|
|
27545
|
+
})
|
|
27546
|
+
],
|
|
27547
|
+
whenImagesLength(0, { not: true })
|
|
27548
|
+
);
|
|
26350
27549
|
const defaultTextOnlyLayout = el(
|
|
26351
27550
|
"div",
|
|
26352
27551
|
{},
|
|
@@ -26376,7 +27575,45 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26376
27575
|
],
|
|
26377
27576
|
whenImagesLength(0)
|
|
26378
27577
|
);
|
|
27578
|
+
const bioTextOnlyLayout = el(
|
|
27579
|
+
"div",
|
|
27580
|
+
{ className: "rb-flex rb-w-full rb-max-w-prose rb-flex-col rb-gap-5" },
|
|
27581
|
+
[
|
|
27582
|
+
text(
|
|
27583
|
+
{
|
|
27584
|
+
as: "h2",
|
|
27585
|
+
className: titleClassNameFromAlignment
|
|
27586
|
+
},
|
|
27587
|
+
when("content.title"),
|
|
27588
|
+
bind("content.title")
|
|
27589
|
+
),
|
|
27590
|
+
styledCard(
|
|
27591
|
+
[
|
|
27592
|
+
richText(
|
|
27593
|
+
{
|
|
27594
|
+
className: bodyClassNameFromAlignment
|
|
27595
|
+
},
|
|
27596
|
+
bind("content.text")
|
|
27597
|
+
)
|
|
27598
|
+
],
|
|
27599
|
+
{
|
|
27600
|
+
stylesFrom: "content._textCardStyles",
|
|
27601
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27602
|
+
},
|
|
27603
|
+
when("content.wrapTextInCard")
|
|
27604
|
+
),
|
|
27605
|
+
richText(
|
|
27606
|
+
{
|
|
27607
|
+
className: bodyClassNameFromAlignment
|
|
27608
|
+
},
|
|
27609
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27610
|
+
bind("content.text")
|
|
27611
|
+
)
|
|
27612
|
+
],
|
|
27613
|
+
whenImagesLength(0)
|
|
27614
|
+
);
|
|
26379
27615
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
27616
|
+
const bioInner = el("div", {}, [bioImagesLayout, bioTextOnlyLayout]);
|
|
26380
27617
|
const defaultLayout2 = styledSection({
|
|
26381
27618
|
children: styledContainer({
|
|
26382
27619
|
rootType: "stack",
|
|
@@ -26385,18 +27622,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26385
27622
|
text(
|
|
26386
27623
|
{
|
|
26387
27624
|
as: "h2",
|
|
26388
|
-
className:
|
|
26389
|
-
$bind: {
|
|
26390
|
-
from: "content.titleAlignment",
|
|
26391
|
-
transforms: [
|
|
26392
|
-
{
|
|
26393
|
-
id: "ui.headingClassFromAlignment",
|
|
26394
|
-
options: { base: "" }
|
|
26395
|
-
}
|
|
26396
|
-
],
|
|
26397
|
-
fallback: ""
|
|
26398
|
-
}
|
|
26399
|
-
}
|
|
27625
|
+
className: titleClassNameFromAlignment
|
|
26400
27626
|
},
|
|
26401
27627
|
when("content.title"),
|
|
26402
27628
|
bind("content.title")
|
|
@@ -26408,14 +27634,28 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26408
27634
|
baseClass: "",
|
|
26409
27635
|
spacing: "medium"
|
|
26410
27636
|
});
|
|
27637
|
+
const bioLayout = styledSection({
|
|
27638
|
+
children: styledContainer({
|
|
27639
|
+
rootType: "stack",
|
|
27640
|
+
rootProps: { gap: "lg" },
|
|
27641
|
+
children: [bioInner]
|
|
27642
|
+
}),
|
|
27643
|
+
baseClass: "",
|
|
27644
|
+
spacing: "medium"
|
|
27645
|
+
});
|
|
26411
27646
|
return {
|
|
26412
27647
|
layout: defaultLayout2,
|
|
26413
27648
|
variants: {
|
|
26414
|
-
default: defaultLayout2
|
|
27649
|
+
default: defaultLayout2,
|
|
27650
|
+
bio: bioLayout
|
|
26415
27651
|
},
|
|
26416
27652
|
defaultVariant: "default",
|
|
26417
27653
|
variantOptions: {
|
|
26418
|
-
default: { label: "Default" }
|
|
27654
|
+
default: { label: "Default" },
|
|
27655
|
+
bio: {
|
|
27656
|
+
label: "Bio",
|
|
27657
|
+
description: "Vertically centered title and copy beside media."
|
|
27658
|
+
}
|
|
26419
27659
|
}
|
|
26420
27660
|
};
|
|
26421
27661
|
})(),
|
|
@@ -27121,10 +28361,8 @@ var occurrenceContextSchema = z43.object({
|
|
|
27121
28361
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
27122
28362
|
import { z as z45 } from "zod";
|
|
27123
28363
|
|
|
27124
|
-
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
27125
|
-
import { z as z44 } from "zod";
|
|
27126
|
-
|
|
27127
28364
|
// ../blocks/src/system/constants/events.ts
|
|
28365
|
+
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
27128
28366
|
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
27129
28367
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
27130
28368
|
var eventCalendarListLayoutOptions = [
|
|
@@ -27138,8 +28376,133 @@ function isEventCalendarDisplayMode(value) {
|
|
|
27138
28376
|
function isEventCalendarListLayout(value) {
|
|
27139
28377
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
27140
28378
|
}
|
|
28379
|
+
function isEventContentType(slug) {
|
|
28380
|
+
if (!slug) return false;
|
|
28381
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
28382
|
+
}
|
|
28383
|
+
|
|
28384
|
+
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
28385
|
+
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
28386
|
+
function resolveRuntimeEventPricing(event) {
|
|
28387
|
+
if (isPublicEventPricing(event.pricing)) {
|
|
28388
|
+
return event.pricing;
|
|
28389
|
+
}
|
|
28390
|
+
const legacy = event;
|
|
28391
|
+
const currency = readCurrency(legacy.currency);
|
|
28392
|
+
if (event.requiresRegistration === false) {
|
|
28393
|
+
return {
|
|
28394
|
+
kind: "drop_in",
|
|
28395
|
+
currency,
|
|
28396
|
+
display: { kind: "free", currency }
|
|
28397
|
+
};
|
|
28398
|
+
}
|
|
28399
|
+
if (legacy.pricingMode === "ticket_types") {
|
|
28400
|
+
const ticketTypes = Array.isArray(legacy.ticketTypes) ? legacy.ticketTypes.filter(isPublicEventTicketType) : [];
|
|
28401
|
+
return {
|
|
28402
|
+
kind: "ticket_types",
|
|
28403
|
+
currency,
|
|
28404
|
+
ticketTypes,
|
|
28405
|
+
display: readTicketTypePriceDisplay(legacy.priceDisplay, currency)
|
|
28406
|
+
};
|
|
28407
|
+
}
|
|
28408
|
+
const amount = typeof legacy.price === "number" ? legacy.price : 0;
|
|
28409
|
+
if (legacy.pricingType === "paid" && amount > 0) {
|
|
28410
|
+
return {
|
|
28411
|
+
kind: "single_paid",
|
|
28412
|
+
amount,
|
|
28413
|
+
currency,
|
|
28414
|
+
display: { kind: "exact", amount, currency }
|
|
28415
|
+
};
|
|
28416
|
+
}
|
|
28417
|
+
return {
|
|
28418
|
+
kind: "free_registration",
|
|
28419
|
+
currency,
|
|
28420
|
+
display: { kind: "free", currency }
|
|
28421
|
+
};
|
|
28422
|
+
}
|
|
28423
|
+
function readCurrency(value) {
|
|
28424
|
+
return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
|
|
28425
|
+
}
|
|
28426
|
+
function isRecord3(value) {
|
|
28427
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28428
|
+
}
|
|
28429
|
+
function isPublicEventPricing(value) {
|
|
28430
|
+
if (!isRecord3(value) || typeof value.kind !== "string") return false;
|
|
28431
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
|
|
28432
|
+
}
|
|
28433
|
+
function isPublicEventTicketType(value) {
|
|
28434
|
+
return isRecord3(value) && typeof value.id === "string";
|
|
28435
|
+
}
|
|
28436
|
+
function readTicketTypePriceDisplay(value, currency) {
|
|
28437
|
+
const display = readLegacyPriceDisplay(value, currency);
|
|
28438
|
+
return display.kind === "course" ? { kind: "unavailable", currency } : display;
|
|
28439
|
+
}
|
|
28440
|
+
function readLegacyPriceDisplay(value, currency) {
|
|
28441
|
+
if (!isRecord3(value) || typeof value.kind !== "string") {
|
|
28442
|
+
return { kind: "unavailable", currency };
|
|
28443
|
+
}
|
|
28444
|
+
const displayCurrency = readCurrency(value.currency);
|
|
28445
|
+
switch (value.kind) {
|
|
28446
|
+
case "free":
|
|
28447
|
+
return { kind: "free", currency: displayCurrency };
|
|
28448
|
+
case "exact":
|
|
28449
|
+
return readAmount(value.amount) !== null ? {
|
|
28450
|
+
kind: "exact",
|
|
28451
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28452
|
+
currency: displayCurrency
|
|
28453
|
+
} : { kind: "unavailable", currency };
|
|
28454
|
+
case "from":
|
|
28455
|
+
return readAmount(value.amount) !== null ? {
|
|
28456
|
+
kind: "from",
|
|
28457
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28458
|
+
currency: displayCurrency
|
|
28459
|
+
} : { kind: "unavailable", currency };
|
|
28460
|
+
case "mixed":
|
|
28461
|
+
return readAmount(value.paidFromAmount) !== null ? {
|
|
28462
|
+
kind: "mixed",
|
|
28463
|
+
paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
|
|
28464
|
+
currency: displayCurrency
|
|
28465
|
+
} : { kind: "unavailable", currency };
|
|
28466
|
+
case "unavailable":
|
|
28467
|
+
return { kind: "unavailable", currency: displayCurrency };
|
|
28468
|
+
case "course":
|
|
28469
|
+
return isRecord3(value.display) ? {
|
|
28470
|
+
kind: "course",
|
|
28471
|
+
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
28472
|
+
} : {
|
|
28473
|
+
kind: "course",
|
|
28474
|
+
display: { kind: "unavailable", currency: displayCurrency }
|
|
28475
|
+
};
|
|
28476
|
+
default:
|
|
28477
|
+
return { kind: "unavailable", currency };
|
|
28478
|
+
}
|
|
28479
|
+
}
|
|
28480
|
+
function readCoursePriceDisplay(value, currency) {
|
|
28481
|
+
switch (value.kind) {
|
|
28482
|
+
case "free":
|
|
28483
|
+
return { kind: "free", currency: readCurrency(value.currency) };
|
|
28484
|
+
case "exact":
|
|
28485
|
+
return readAmount(value.amount) !== null ? {
|
|
28486
|
+
kind: "exact",
|
|
28487
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28488
|
+
currency: readCurrency(value.currency)
|
|
28489
|
+
} : { kind: "unavailable", currency };
|
|
28490
|
+
case "from":
|
|
28491
|
+
return readAmount(value.amount) !== null ? {
|
|
28492
|
+
kind: "from",
|
|
28493
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28494
|
+
currency: readCurrency(value.currency)
|
|
28495
|
+
} : { kind: "unavailable", currency };
|
|
28496
|
+
default:
|
|
28497
|
+
return { kind: "unavailable", currency };
|
|
28498
|
+
}
|
|
28499
|
+
}
|
|
28500
|
+
function readAmount(value) {
|
|
28501
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
28502
|
+
}
|
|
27141
28503
|
|
|
27142
28504
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28505
|
+
import { z as z44 } from "zod";
|
|
27143
28506
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
27144
28507
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
27145
28508
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
@@ -27150,12 +28513,73 @@ var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
|
27150
28513
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
27151
28514
|
var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
|
|
27152
28515
|
|
|
28516
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28517
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
28518
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
28519
|
+
if (!needsPaymentStep) {
|
|
28520
|
+
return baseSteps;
|
|
28521
|
+
}
|
|
28522
|
+
return [...baseSteps, "select-payment"];
|
|
28523
|
+
}
|
|
28524
|
+
|
|
28525
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
28526
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
28527
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
28528
|
+
}
|
|
28529
|
+
function findPreSelectedEvent(input) {
|
|
28530
|
+
const occurrenceContext = input.occurrenceContext;
|
|
28531
|
+
if (!occurrenceContext) {
|
|
28532
|
+
return null;
|
|
28533
|
+
}
|
|
28534
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28535
|
+
startsAt: occurrenceContext.startsAt,
|
|
28536
|
+
timeZone: occurrenceContext.timeZone
|
|
28537
|
+
}));
|
|
28538
|
+
return input.scopedEvents.find(
|
|
28539
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28540
|
+
startsAt: event.startsAt,
|
|
28541
|
+
timeZone: event.timeZone
|
|
28542
|
+
})) === contextDate
|
|
28543
|
+
) ?? null;
|
|
28544
|
+
}
|
|
28545
|
+
function resolveEventRequiresPayment(input) {
|
|
28546
|
+
if (input.eligibility) {
|
|
28547
|
+
return input.eligibility.requiresPayment;
|
|
28548
|
+
}
|
|
28549
|
+
if (input.selectedTicketType) {
|
|
28550
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
28551
|
+
}
|
|
28552
|
+
if (!input.event) {
|
|
28553
|
+
return false;
|
|
28554
|
+
}
|
|
28555
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
28556
|
+
}
|
|
28557
|
+
|
|
28558
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
28559
|
+
function toRegistrationEvent(event) {
|
|
28560
|
+
return {
|
|
28561
|
+
...event,
|
|
28562
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
28563
|
+
publicEventId: event.id,
|
|
28564
|
+
registrationOccurrenceId: event.occurrenceId
|
|
28565
|
+
};
|
|
28566
|
+
}
|
|
28567
|
+
function toRegistrationEvents(events) {
|
|
28568
|
+
return events.map(toRegistrationEvent);
|
|
28569
|
+
}
|
|
28570
|
+
|
|
27153
28571
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28572
|
+
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28573
|
+
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
27154
28574
|
var contentEntrySchema = z45.object({
|
|
27155
28575
|
id: z45.string(),
|
|
27156
28576
|
slug: z45.string(),
|
|
27157
28577
|
contentTypeSlug: z45.string()
|
|
27158
28578
|
});
|
|
28579
|
+
var eventRegistrationPublicEventSchema = z45.preprocess(
|
|
28580
|
+
normalizeEventRegistrationEventInput,
|
|
28581
|
+
publicEventSchema
|
|
28582
|
+
);
|
|
27159
28583
|
var eventRegistrationSourceSchema = z45.object({
|
|
27160
28584
|
siteId: z45.string().optional(),
|
|
27161
28585
|
apiBaseUrl: z45.string().optional(),
|
|
@@ -27163,7 +28587,7 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27163
28587
|
previewToken: z45.string().nullable().optional(),
|
|
27164
28588
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27165
28589
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27166
|
-
events: z45.array(
|
|
28590
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27167
28591
|
className: z45.string().nullable().optional(),
|
|
27168
28592
|
buttonText: z45.string().nullable().optional(),
|
|
27169
28593
|
maxTickets: z45.string().nullable().optional(),
|
|
@@ -27178,14 +28602,17 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27178
28602
|
});
|
|
27179
28603
|
var eventRegistrationDisplaySchema = z45.object({
|
|
27180
28604
|
kind: z45.literal("event-registration"),
|
|
27181
|
-
state: z45.literal("shell"),
|
|
28605
|
+
state: z45.literal("generic-shell"),
|
|
27182
28606
|
className: z45.string().nullable(),
|
|
28607
|
+
titleText: z45.string(),
|
|
28608
|
+
bodyText: z45.string(),
|
|
28609
|
+
stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
27183
28610
|
summaryButtonText: z45.string()
|
|
27184
28611
|
});
|
|
27185
28612
|
var eventRegistrationHydrationSchema = z45.object({
|
|
27186
28613
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27187
28614
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27188
|
-
events: z45.array(
|
|
28615
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27189
28616
|
maxTickets: z45.string().optional(),
|
|
27190
28617
|
showVenue: z45.boolean().optional(),
|
|
27191
28618
|
showCapacity: z45.boolean().optional(),
|
|
@@ -27214,13 +28641,81 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
27214
28641
|
"stage"
|
|
27215
28642
|
);
|
|
27216
28643
|
function buildEventRegistrationDisplay(source) {
|
|
28644
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
27217
28645
|
return {
|
|
27218
28646
|
kind: "event-registration",
|
|
27219
|
-
state: "shell",
|
|
28647
|
+
state: "generic-shell",
|
|
27220
28648
|
className: source.className ?? null,
|
|
28649
|
+
titleText: "Event registration",
|
|
28650
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
28651
|
+
stepLabels,
|
|
27221
28652
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
27222
28653
|
};
|
|
27223
28654
|
}
|
|
28655
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
28656
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
28657
|
+
if (scopedEvents.length === 0) {
|
|
28658
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
28659
|
+
}
|
|
28660
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
28661
|
+
scopedEvents,
|
|
28662
|
+
occurrenceContext: source.occurrenceContext
|
|
28663
|
+
});
|
|
28664
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
28665
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
28666
|
+
eligibility: null,
|
|
28667
|
+
selectedTicketType: null,
|
|
28668
|
+
event: preSelectedEvent
|
|
28669
|
+
}) : false;
|
|
28670
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
28671
|
+
}
|
|
28672
|
+
function scopeEventRegistrationEvents(source) {
|
|
28673
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
28674
|
+
if (source.occurrenceContext?.seriesId) {
|
|
28675
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
28676
|
+
}
|
|
28677
|
+
const entrySlug = source.contentEntry?.slug;
|
|
28678
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
28679
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
28680
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
28681
|
+
}
|
|
28682
|
+
return events;
|
|
28683
|
+
}
|
|
28684
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
28685
|
+
switch (step) {
|
|
28686
|
+
case "select-event":
|
|
28687
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
28688
|
+
case "select-tickets":
|
|
28689
|
+
return "Tickets";
|
|
28690
|
+
case "enter-details":
|
|
28691
|
+
return "Details";
|
|
28692
|
+
case "select-payment":
|
|
28693
|
+
return "Payment";
|
|
28694
|
+
case "error":
|
|
28695
|
+
case "success":
|
|
28696
|
+
case "submitting":
|
|
28697
|
+
case "redirecting":
|
|
28698
|
+
case "verifying-payment":
|
|
28699
|
+
case "verifying-timeout":
|
|
28700
|
+
case "payment-failed":
|
|
28701
|
+
return "Details";
|
|
28702
|
+
}
|
|
28703
|
+
}
|
|
28704
|
+
function isDateSelection(events) {
|
|
28705
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
28706
|
+
return Boolean(
|
|
28707
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
28708
|
+
);
|
|
28709
|
+
}
|
|
28710
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
28711
|
+
if (stepLabels.includes("Payment")) {
|
|
28712
|
+
return "Preparing tickets, details, and payment options.";
|
|
28713
|
+
}
|
|
28714
|
+
if (stepLabels[0] === "Tickets") {
|
|
28715
|
+
return "Preparing tickets and booking details.";
|
|
28716
|
+
}
|
|
28717
|
+
return "Preparing dates, tickets, and booking details.";
|
|
28718
|
+
}
|
|
27224
28719
|
var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
27225
28720
|
kind: "client-owned",
|
|
27226
28721
|
contracts: {
|
|
@@ -27244,6 +28739,18 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
27244
28739
|
}
|
|
27245
28740
|
})
|
|
27246
28741
|
});
|
|
28742
|
+
function normalizeEventRegistrationEventInput(value) {
|
|
28743
|
+
if (!isRecord4(value)) {
|
|
28744
|
+
return value;
|
|
28745
|
+
}
|
|
28746
|
+
return {
|
|
28747
|
+
...value,
|
|
28748
|
+
pricing: resolveRuntimeEventPricing(value)
|
|
28749
|
+
};
|
|
28750
|
+
}
|
|
28751
|
+
function isRecord4(value) {
|
|
28752
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28753
|
+
}
|
|
27247
28754
|
var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
27248
28755
|
runtime: eventRegistrationBlockRuntime,
|
|
27249
28756
|
mode: "event-registration",
|
|
@@ -29742,7 +31249,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
29742
31249
|
return keys.length >= 2 ? keys : [];
|
|
29743
31250
|
}
|
|
29744
31251
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
29745
|
-
if (!
|
|
31252
|
+
if (!isRecord5(value)) return null;
|
|
29746
31253
|
const groupOrderValue = value.groupOrder;
|
|
29747
31254
|
if (Array.isArray(groupOrderValue)) {
|
|
29748
31255
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -29755,7 +31262,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
29755
31262
|
return { ...value, groupOrder: [] };
|
|
29756
31263
|
}
|
|
29757
31264
|
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
|
|
29758
|
-
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(
|
|
31265
|
+
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord5) : []
|
|
29759
31266
|
);
|
|
29760
31267
|
return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
|
|
29761
31268
|
}
|
|
@@ -29769,7 +31276,7 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
29769
31276
|
}
|
|
29770
31277
|
return keys;
|
|
29771
31278
|
}
|
|
29772
|
-
function
|
|
31279
|
+
function isRecord5(value) {
|
|
29773
31280
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29774
31281
|
}
|
|
29775
31282
|
|
|
@@ -30136,7 +31643,7 @@ function isOfferingsPreviewItemLimit(value) {
|
|
|
30136
31643
|
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
30137
31644
|
}
|
|
30138
31645
|
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
30139
|
-
if (!
|
|
31646
|
+
if (!isRecord6(value)) return [];
|
|
30140
31647
|
const override = {};
|
|
30141
31648
|
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
|
|
30142
31649
|
override.sourceKey = value.sourceKey;
|
|
@@ -30168,12 +31675,12 @@ function isButtonVariant(value) {
|
|
|
30168
31675
|
return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
|
|
30169
31676
|
}
|
|
30170
31677
|
function normalizeCardStylesContent(value) {
|
|
30171
|
-
return
|
|
31678
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30172
31679
|
}
|
|
30173
31680
|
function normalizeSectionStylesContent(value) {
|
|
30174
|
-
return
|
|
31681
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30175
31682
|
}
|
|
30176
|
-
function
|
|
31683
|
+
function isRecord6(value) {
|
|
30177
31684
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30178
31685
|
}
|
|
30179
31686
|
|
|
@@ -34133,11 +35640,13 @@ var heroImageSurfaceMotions = [
|
|
|
34133
35640
|
];
|
|
34134
35641
|
var standardEyebrowTreatments = [
|
|
34135
35642
|
"plain",
|
|
35643
|
+
"accent",
|
|
34136
35644
|
"pill",
|
|
34137
35645
|
"accent-pill"
|
|
34138
35646
|
];
|
|
34139
35647
|
var animatedEyebrowTreatments = [
|
|
34140
35648
|
"plain",
|
|
35649
|
+
"accent",
|
|
34141
35650
|
"pill",
|
|
34142
35651
|
"accent-pill",
|
|
34143
35652
|
"pill-bounce",
|
|
@@ -34438,6 +35947,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
34438
35947
|
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
34439
35948
|
]
|
|
34440
35949
|
})),
|
|
35950
|
+
withDesignCapability("block.contact-newsletter", contactNewsletterBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
35951
|
+
flow: conversionFlow,
|
|
35952
|
+
layoutProfiles: [
|
|
35953
|
+
layoutProfile({
|
|
35954
|
+
variantKey: "default",
|
|
35955
|
+
family: "split",
|
|
35956
|
+
weight: "featured",
|
|
35957
|
+
bias: "soft"
|
|
35958
|
+
})
|
|
35959
|
+
]
|
|
35960
|
+
})),
|
|
34441
35961
|
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
34442
35962
|
sectionSurfaces: "supported",
|
|
34443
35963
|
contentFrames: ["plain", "panel"],
|
|
@@ -34529,6 +36049,12 @@ var systemBlockDefinitionsRaw = [
|
|
|
34529
36049
|
family: "media-text",
|
|
34530
36050
|
weight: "featured",
|
|
34531
36051
|
bias: "soft"
|
|
36052
|
+
}),
|
|
36053
|
+
layoutProfile({
|
|
36054
|
+
variantKey: "bio",
|
|
36055
|
+
family: "media-text",
|
|
36056
|
+
weight: "featured",
|
|
36057
|
+
bias: "soft"
|
|
34532
36058
|
})
|
|
34533
36059
|
]
|
|
34534
36060
|
})),
|
|
@@ -35561,6 +37087,11 @@ ${root} {
|
|
|
35561
37087
|
--er-event-card-bg: rgb(var(--tb-surface));
|
|
35562
37088
|
--er-event-card-border-width: var(--rb-border-width, 1px);
|
|
35563
37089
|
--er-event-card-hover-opacity: 1;
|
|
37090
|
+
--er-control-bg: rgb(var(--tb-background, var(--tb-surface)));
|
|
37091
|
+
--er-control-text: rgb(var(--tb-foreground, var(--tb-text)));
|
|
37092
|
+
--er-radius: var(--rb-block-radius);
|
|
37093
|
+
--er-surface-muted: rgba(var(--tb-muted, 241 245 249), 0.42);
|
|
37094
|
+
--er-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
35564
37095
|
|
|
35565
37096
|
/* Step indicator */
|
|
35566
37097
|
--er-step-active: rgb(var(--tb-primary));
|
|
@@ -36792,7 +38323,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
36792
38323
|
}
|
|
36793
38324
|
|
|
36794
38325
|
// ../api/src/utils/isRecord.ts
|
|
36795
|
-
function
|
|
38326
|
+
function isRecord7(value) {
|
|
36796
38327
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
36797
38328
|
}
|
|
36798
38329
|
|
|
@@ -37099,7 +38630,7 @@ function sanitizeMarks(marks) {
|
|
|
37099
38630
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
37100
38631
|
return [{ type: mark.type }];
|
|
37101
38632
|
}
|
|
37102
|
-
if (mark.type === "link" &&
|
|
38633
|
+
if (mark.type === "link" && isRecord7(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
37103
38634
|
const attrs = { href: mark.attrs.href };
|
|
37104
38635
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
37105
38636
|
attrs.target = mark.attrs.target;
|
|
@@ -37114,10 +38645,10 @@ function sanitizeMarks(marks) {
|
|
|
37114
38645
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
37115
38646
|
}
|
|
37116
38647
|
function unwrapRichTextValue(value) {
|
|
37117
|
-
if (
|
|
38648
|
+
if (isRecord7(value) && isRecord7(value.doc)) {
|
|
37118
38649
|
return unwrapRichTextValue(value.doc);
|
|
37119
38650
|
}
|
|
37120
|
-
if (
|
|
38651
|
+
if (isRecord7(value) && value.type === "doc") {
|
|
37121
38652
|
return {
|
|
37122
38653
|
type: "doc",
|
|
37123
38654
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -37126,7 +38657,7 @@ function unwrapRichTextValue(value) {
|
|
|
37126
38657
|
return EMPTY_SITE_BANNER_BODY;
|
|
37127
38658
|
}
|
|
37128
38659
|
function isTipTapNodeLike(value) {
|
|
37129
|
-
return
|
|
38660
|
+
return isRecord7(value) && typeof value.type === "string";
|
|
37130
38661
|
}
|
|
37131
38662
|
function coerceTipTapNode(value) {
|
|
37132
38663
|
return {
|
|
@@ -37134,9 +38665,9 @@ function coerceTipTapNode(value) {
|
|
|
37134
38665
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
37135
38666
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
37136
38667
|
...Array.isArray(value.marks) ? {
|
|
37137
|
-
marks: value.marks.filter((mark) =>
|
|
38668
|
+
marks: value.marks.filter((mark) => isRecord7(mark) && typeof mark.type === "string").map((mark) => ({
|
|
37138
38669
|
type: mark.type,
|
|
37139
|
-
...
|
|
38670
|
+
...isRecord7(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
37140
38671
|
}))
|
|
37141
38672
|
} : {}
|
|
37142
38673
|
};
|
|
@@ -37230,7 +38761,7 @@ function collectCartLinkStats(items, depth = 0) {
|
|
|
37230
38761
|
return result;
|
|
37231
38762
|
}
|
|
37232
38763
|
function isNavigationMenuValidationItem(value) {
|
|
37233
|
-
if (!
|
|
38764
|
+
if (!isRecord7(value)) return false;
|
|
37234
38765
|
return typeof value.label === "string";
|
|
37235
38766
|
}
|
|
37236
38767
|
|
|
@@ -37369,6 +38900,7 @@ var SYSTEM_BLOCK_KINDS = [
|
|
|
37369
38900
|
"block.site-footer",
|
|
37370
38901
|
// Form/booking blocks
|
|
37371
38902
|
"block.form",
|
|
38903
|
+
"block.contact-newsletter",
|
|
37372
38904
|
"block.appointment-booking",
|
|
37373
38905
|
"block.event-registration",
|
|
37374
38906
|
"block.event-details",
|