@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/data.mjs
CHANGED
|
@@ -3243,6 +3243,46 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3243
3243
|
auth: "user",
|
|
3244
3244
|
responseKind: "json"
|
|
3245
3245
|
},
|
|
3246
|
+
listEntrySlotBlocks: {
|
|
3247
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3248
|
+
method: "GET",
|
|
3249
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3250
|
+
auth: "user",
|
|
3251
|
+
responseKind: "json",
|
|
3252
|
+
errors: ["resource:not_found"]
|
|
3253
|
+
},
|
|
3254
|
+
listEntryPageContentSlots: {
|
|
3255
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots",
|
|
3256
|
+
method: "GET",
|
|
3257
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slots", "blocks"],
|
|
3258
|
+
auth: "user",
|
|
3259
|
+
responseKind: "json",
|
|
3260
|
+
errors: ["resource:not_found"]
|
|
3261
|
+
},
|
|
3262
|
+
createEntrySlotBlock: {
|
|
3263
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3264
|
+
method: "POST",
|
|
3265
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3266
|
+
auth: "user",
|
|
3267
|
+
responseKind: "json",
|
|
3268
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3269
|
+
},
|
|
3270
|
+
reorderEntrySlotBlocks: {
|
|
3271
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/reorder",
|
|
3272
|
+
method: "POST",
|
|
3273
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3274
|
+
auth: "user",
|
|
3275
|
+
responseKind: "json",
|
|
3276
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3277
|
+
},
|
|
3278
|
+
deleteEntrySlotBlock: {
|
|
3279
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/{blockId}",
|
|
3280
|
+
method: "DELETE",
|
|
3281
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3282
|
+
auth: "user",
|
|
3283
|
+
responseKind: "json",
|
|
3284
|
+
errors: ["resource:not_found"]
|
|
3285
|
+
},
|
|
3246
3286
|
createBlock: {
|
|
3247
3287
|
path: "/sites/{siteId}/pages/{pageId}/blocks",
|
|
3248
3288
|
method: "POST",
|
|
@@ -6335,6 +6375,171 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
6335
6375
|
}
|
|
6336
6376
|
};
|
|
6337
6377
|
|
|
6378
|
+
// ../core/src/result.ts
|
|
6379
|
+
function ok(value) {
|
|
6380
|
+
return { ok: true, value };
|
|
6381
|
+
}
|
|
6382
|
+
function err(error) {
|
|
6383
|
+
return { ok: false, error };
|
|
6384
|
+
}
|
|
6385
|
+
|
|
6386
|
+
// ../core/src/event-pricing.ts
|
|
6387
|
+
function publicEventPricingType(pricing) {
|
|
6388
|
+
switch (pricing.kind) {
|
|
6389
|
+
case "drop_in":
|
|
6390
|
+
case "free_registration":
|
|
6391
|
+
return "free";
|
|
6392
|
+
case "single_paid":
|
|
6393
|
+
case "ticket_types":
|
|
6394
|
+
case "course":
|
|
6395
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6396
|
+
}
|
|
6397
|
+
}
|
|
6398
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
6399
|
+
switch (display.kind) {
|
|
6400
|
+
case "free":
|
|
6401
|
+
return true;
|
|
6402
|
+
case "course":
|
|
6403
|
+
return display.display.kind === "free";
|
|
6404
|
+
case "exact":
|
|
6405
|
+
case "from":
|
|
6406
|
+
case "mixed":
|
|
6407
|
+
case "unavailable":
|
|
6408
|
+
return false;
|
|
6409
|
+
}
|
|
6410
|
+
}
|
|
6411
|
+
|
|
6412
|
+
// ../core/src/booking-date-time.ts
|
|
6413
|
+
var DEFAULT_LOCALE = "en-US";
|
|
6414
|
+
var FALLBACK_TIMEZONE = "UTC";
|
|
6415
|
+
function isValidTimeZone(timeZone) {
|
|
6416
|
+
try {
|
|
6417
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
6418
|
+
return true;
|
|
6419
|
+
} catch {
|
|
6420
|
+
return false;
|
|
6421
|
+
}
|
|
6422
|
+
}
|
|
6423
|
+
function getSafeTimeZone(timeZone) {
|
|
6424
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
6425
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
6426
|
+
}
|
|
6427
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
6428
|
+
const normalized = timeZone.trim();
|
|
6429
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
6430
|
+
return null;
|
|
6431
|
+
}
|
|
6432
|
+
return normalized;
|
|
6433
|
+
}
|
|
6434
|
+
function formatParseError(error) {
|
|
6435
|
+
switch (error.reason) {
|
|
6436
|
+
case "invalid_starts_at":
|
|
6437
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
6438
|
+
case "invalid_ends_at":
|
|
6439
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
6440
|
+
case "invalid_time_zone":
|
|
6441
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
6442
|
+
}
|
|
6443
|
+
}
|
|
6444
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
6445
|
+
return new Map(
|
|
6446
|
+
new Intl.DateTimeFormat(locale, {
|
|
6447
|
+
...format,
|
|
6448
|
+
timeZone
|
|
6449
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
6450
|
+
);
|
|
6451
|
+
}
|
|
6452
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
6453
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
6454
|
+
year: "numeric",
|
|
6455
|
+
month: "2-digit",
|
|
6456
|
+
day: "2-digit",
|
|
6457
|
+
hour: "2-digit",
|
|
6458
|
+
minute: "2-digit",
|
|
6459
|
+
second: "2-digit",
|
|
6460
|
+
hour12: false
|
|
6461
|
+
});
|
|
6462
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
6463
|
+
return {
|
|
6464
|
+
year: read("year"),
|
|
6465
|
+
month: read("month"),
|
|
6466
|
+
day: read("day"),
|
|
6467
|
+
hour: read("hour"),
|
|
6468
|
+
minute: read("minute"),
|
|
6469
|
+
second: read("second")
|
|
6470
|
+
};
|
|
6471
|
+
}
|
|
6472
|
+
function formatDateKey(date) {
|
|
6473
|
+
const year = String(date.year).padStart(4, "0");
|
|
6474
|
+
const month = String(date.month).padStart(2, "0");
|
|
6475
|
+
const day = String(date.day).padStart(2, "0");
|
|
6476
|
+
return `${year}-${month}-${day}`;
|
|
6477
|
+
}
|
|
6478
|
+
function parseUtcIsoDateTimeString(value) {
|
|
6479
|
+
const normalized = value.trim();
|
|
6480
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
6481
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
6482
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
6483
|
+
return err("missing-timezone-offset");
|
|
6484
|
+
}
|
|
6485
|
+
const date = new Date(normalized);
|
|
6486
|
+
if (Number.isNaN(date.getTime())) {
|
|
6487
|
+
return err("invalid-date-time");
|
|
6488
|
+
}
|
|
6489
|
+
return ok(date.toISOString());
|
|
6490
|
+
}
|
|
6491
|
+
function toUtcIsoDateTimeString(value) {
|
|
6492
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
6493
|
+
if (!parsed.ok) {
|
|
6494
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
6495
|
+
throw new Error(message);
|
|
6496
|
+
}
|
|
6497
|
+
return parsed.value;
|
|
6498
|
+
}
|
|
6499
|
+
function parseScheduledBookingDateTime(input) {
|
|
6500
|
+
try {
|
|
6501
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
6502
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
6503
|
+
if (!timeZone) {
|
|
6504
|
+
return {
|
|
6505
|
+
ok: false,
|
|
6506
|
+
field: "timeZone",
|
|
6507
|
+
reason: "invalid_time_zone",
|
|
6508
|
+
value: input.timeZone
|
|
6509
|
+
};
|
|
6510
|
+
}
|
|
6511
|
+
return {
|
|
6512
|
+
ok: true,
|
|
6513
|
+
value: {
|
|
6514
|
+
startsAt,
|
|
6515
|
+
timeZone,
|
|
6516
|
+
locale: input.locale
|
|
6517
|
+
}
|
|
6518
|
+
};
|
|
6519
|
+
} catch {
|
|
6520
|
+
return {
|
|
6521
|
+
ok: false,
|
|
6522
|
+
field: "startsAt",
|
|
6523
|
+
reason: "invalid_starts_at",
|
|
6524
|
+
value: input.startsAt
|
|
6525
|
+
};
|
|
6526
|
+
}
|
|
6527
|
+
}
|
|
6528
|
+
function toScheduledBookingDateTime(input) {
|
|
6529
|
+
const result = parseScheduledBookingDateTime(input);
|
|
6530
|
+
if (result.ok) {
|
|
6531
|
+
return result.value;
|
|
6532
|
+
}
|
|
6533
|
+
throw new Error(formatParseError(result));
|
|
6534
|
+
}
|
|
6535
|
+
function getBookingLocalDateKey(input) {
|
|
6536
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
6537
|
+
}
|
|
6538
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
6539
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
6540
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6338
6543
|
// ../core/src/location.ts
|
|
6339
6544
|
function normalizeLocationAddressText(value) {
|
|
6340
6545
|
if (typeof value !== "string") {
|
|
@@ -6782,6 +6987,21 @@ var selectSourceSchema = z4.discriminatedUnion("kind", [
|
|
|
6782
6987
|
function assertNeverSelectSource(value) {
|
|
6783
6988
|
throw new Error(`Unhandled select source: ${JSON.stringify(value)}`);
|
|
6784
6989
|
}
|
|
6990
|
+
var visibleWhenPredicateSchema = z4.object({
|
|
6991
|
+
field: z4.string().min(1),
|
|
6992
|
+
equals: z4.any().optional(),
|
|
6993
|
+
notEquals: z4.any().optional(),
|
|
6994
|
+
oneOf: z4.array(z4.any()).optional(),
|
|
6995
|
+
notIn: z4.array(z4.any()).optional(),
|
|
6996
|
+
minItems: z4.number().int().nonnegative().optional(),
|
|
6997
|
+
maxItems: z4.number().int().nonnegative().optional()
|
|
6998
|
+
});
|
|
6999
|
+
var visibleWhenSchema = z4.union([
|
|
7000
|
+
visibleWhenPredicateSchema,
|
|
7001
|
+
z4.object({
|
|
7002
|
+
allOf: z4.array(visibleWhenPredicateSchema).min(1)
|
|
7003
|
+
})
|
|
7004
|
+
]);
|
|
6785
7005
|
var uiSchema = z4.object({
|
|
6786
7006
|
widget: z4.string().optional(),
|
|
6787
7007
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -6814,13 +7034,7 @@ var uiSchema = z4.object({
|
|
|
6814
7034
|
showValue: z4.boolean().optional(),
|
|
6815
7035
|
pattern: z4.string().optional(),
|
|
6816
7036
|
placeholder: z4.string().optional(),
|
|
6817
|
-
visibleWhen:
|
|
6818
|
-
field: z4.string().min(1),
|
|
6819
|
-
equals: z4.any().optional(),
|
|
6820
|
-
notEquals: z4.any().optional(),
|
|
6821
|
-
oneOf: z4.array(z4.any()).optional(),
|
|
6822
|
-
notIn: z4.array(z4.any()).optional()
|
|
6823
|
-
}).optional(),
|
|
7037
|
+
visibleWhen: visibleWhenSchema.optional(),
|
|
6824
7038
|
// Modal configuration for modal and group fields
|
|
6825
7039
|
modalConfig: z4.object({
|
|
6826
7040
|
buttonLabel: z4.string().optional(),
|
|
@@ -7587,6 +7801,7 @@ var eventListTreatmentValues = [
|
|
|
7587
7801
|
];
|
|
7588
7802
|
var eyebrowTreatmentValues = [
|
|
7589
7803
|
"plain",
|
|
7804
|
+
"accent",
|
|
7590
7805
|
"pill",
|
|
7591
7806
|
"accent-pill",
|
|
7592
7807
|
"pill-bounce",
|
|
@@ -9178,9 +9393,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9178
9393
|
}
|
|
9179
9394
|
image.remove();
|
|
9180
9395
|
return res;
|
|
9181
|
-
} catch (
|
|
9396
|
+
} catch (err2) {
|
|
9182
9397
|
image.remove();
|
|
9183
|
-
return Promise.reject(
|
|
9398
|
+
return Promise.reject(err2);
|
|
9184
9399
|
}
|
|
9185
9400
|
}
|
|
9186
9401
|
async getPalettes() {
|
|
@@ -9194,9 +9409,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9194
9409
|
const res = result1.palettes;
|
|
9195
9410
|
image.remove();
|
|
9196
9411
|
return res;
|
|
9197
|
-
} catch (
|
|
9412
|
+
} catch (err2) {
|
|
9198
9413
|
image.remove();
|
|
9199
|
-
return Promise.reject(
|
|
9414
|
+
return Promise.reject(err2);
|
|
9200
9415
|
}
|
|
9201
9416
|
}
|
|
9202
9417
|
};
|
|
@@ -10601,27 +10816,28 @@ var joyStamp = defineButtonPersonality({
|
|
|
10601
10816
|
}
|
|
10602
10817
|
});
|
|
10603
10818
|
|
|
10604
|
-
// ../theme-core/src/buttons/personalities/
|
|
10605
|
-
var
|
|
10606
|
-
id: "
|
|
10607
|
-
name: "
|
|
10608
|
-
description: "
|
|
10609
|
-
tags: { tone: "classic", energy: "
|
|
10819
|
+
// ../theme-core/src/buttons/personalities/ornate-ritual.ts
|
|
10820
|
+
var ornateRitual = defineButtonPersonality({
|
|
10821
|
+
id: "ornate-ritual",
|
|
10822
|
+
name: "Ornate Ritual",
|
|
10823
|
+
description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
|
|
10824
|
+
tags: { tone: "classic", energy: "vibrant", motion: "subtle", era: "organic" },
|
|
10610
10825
|
buttonSystem: {
|
|
10611
10826
|
global: {
|
|
10612
|
-
cornerStyle: "
|
|
10827
|
+
cornerStyle: "rounded",
|
|
10613
10828
|
shadow: "none",
|
|
10614
|
-
textTransform: "
|
|
10615
|
-
fontWeight:
|
|
10616
|
-
borderWidth:
|
|
10829
|
+
textTransform: "uppercase",
|
|
10830
|
+
fontWeight: 600,
|
|
10831
|
+
borderWidth: 1,
|
|
10617
10832
|
hoverTransform: "none",
|
|
10618
|
-
hoverColor: "none"
|
|
10833
|
+
hoverColor: "none",
|
|
10834
|
+
letterSpacing: "loose"
|
|
10619
10835
|
},
|
|
10620
10836
|
sizes: {
|
|
10621
|
-
sm: { padding: "0.
|
|
10622
|
-
md: { padding: "0.
|
|
10623
|
-
lg: { padding: "
|
|
10624
|
-
xl: { padding: "
|
|
10837
|
+
sm: { padding: "0.5625rem 1.25rem", fontSize: "text-xs" },
|
|
10838
|
+
md: { padding: "0.75rem 1.75rem", fontSize: "text-xs" },
|
|
10839
|
+
lg: { padding: "0.875rem 2.25rem", fontSize: "text-sm" },
|
|
10840
|
+
xl: { padding: "1rem 2.75rem", fontSize: "text-base" }
|
|
10625
10841
|
},
|
|
10626
10842
|
variants: [
|
|
10627
10843
|
{
|
|
@@ -10631,97 +10847,12 @@ var pebble = defineButtonPersonality({
|
|
|
10631
10847
|
priority: 1,
|
|
10632
10848
|
background: { type: "solid", colorToken: "primary" },
|
|
10633
10849
|
textColorToken: "primaryForeground",
|
|
10634
|
-
borderRadius: "rounded-
|
|
10635
|
-
|
|
10636
|
-
|
|
10637
|
-
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
10638
|
-
]
|
|
10639
|
-
}
|
|
10640
|
-
},
|
|
10641
|
-
{
|
|
10642
|
-
id: "secondary",
|
|
10643
|
-
name: "Secondary",
|
|
10644
|
-
enabled: true,
|
|
10645
|
-
priority: 2,
|
|
10646
|
-
background: { type: "transparent" },
|
|
10647
|
-
textColorToken: "primary",
|
|
10648
|
-
borderRadius: "rounded-full",
|
|
10649
|
-
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10650
|
-
effects: {
|
|
10651
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
10652
|
-
}
|
|
10653
|
-
},
|
|
10654
|
-
{
|
|
10655
|
-
id: "outline",
|
|
10656
|
-
name: "Outline",
|
|
10657
|
-
enabled: true,
|
|
10658
|
-
priority: 3,
|
|
10659
|
-
background: { type: "transparent" },
|
|
10660
|
-
textColorToken: "text",
|
|
10661
|
-
borderRadius: "rounded-full",
|
|
10662
|
-
border: { widthClass: "border", colorToken: "border" },
|
|
10663
|
-
effects: {
|
|
10664
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10665
|
-
}
|
|
10666
|
-
},
|
|
10667
|
-
{
|
|
10668
|
-
id: "ghost",
|
|
10669
|
-
name: "Ghost",
|
|
10670
|
-
enabled: true,
|
|
10671
|
-
priority: 3,
|
|
10672
|
-
background: { type: "transparent" },
|
|
10673
|
-
textColorToken: "primary",
|
|
10674
|
-
borderRadius: "rounded-full",
|
|
10675
|
-
sizes: {
|
|
10676
|
-
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
10677
|
-
md: { padding: "0.5rem 1rem" },
|
|
10678
|
-
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
10679
|
-
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
10680
|
-
},
|
|
10681
|
-
effects: {
|
|
10682
|
-
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
10683
|
-
}
|
|
10684
|
-
}
|
|
10685
|
-
]
|
|
10686
|
-
}
|
|
10687
|
-
});
|
|
10688
|
-
|
|
10689
|
-
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
10690
|
-
var showtimePill = defineButtonPersonality({
|
|
10691
|
-
id: "showtime-pill",
|
|
10692
|
-
name: "Showtime Pill",
|
|
10693
|
-
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
10694
|
-
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
10695
|
-
buttonSystem: {
|
|
10696
|
-
global: {
|
|
10697
|
-
cornerStyle: "pill",
|
|
10698
|
-
shadow: "low",
|
|
10699
|
-
textTransform: "uppercase",
|
|
10700
|
-
fontWeight: 700,
|
|
10701
|
-
borderWidth: 2,
|
|
10702
|
-
hoverTransform: "lift",
|
|
10703
|
-
hoverColor: "darken",
|
|
10704
|
-
typography: "body",
|
|
10705
|
-
paddingPreset: "spacious",
|
|
10706
|
-
italic: false
|
|
10707
|
-
},
|
|
10708
|
-
sizes: {
|
|
10709
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
10710
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
10711
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
10712
|
-
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
10713
|
-
},
|
|
10714
|
-
variants: [
|
|
10715
|
-
{
|
|
10716
|
-
id: "primary",
|
|
10717
|
-
name: "Primary",
|
|
10718
|
-
enabled: true,
|
|
10719
|
-
priority: 1,
|
|
10720
|
-
background: { type: "solid", colorToken: "primary" },
|
|
10721
|
-
textColorToken: "background",
|
|
10722
|
-
borderRadius: "rounded-full",
|
|
10850
|
+
borderRadius: "rounded-md",
|
|
10851
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10852
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10723
10853
|
effects: {
|
|
10724
|
-
hover: [{ effectId: "
|
|
10854
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "primary-100" } }],
|
|
10855
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
10725
10856
|
}
|
|
10726
10857
|
},
|
|
10727
10858
|
{
|
|
@@ -10729,35 +10860,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10729
10860
|
name: "Secondary",
|
|
10730
10861
|
enabled: true,
|
|
10731
10862
|
priority: 2,
|
|
10732
|
-
background: { type: "transparent" },
|
|
10733
|
-
textColorToken: "primary",
|
|
10734
|
-
borderRadius: "rounded-full",
|
|
10735
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10736
|
-
effects: {
|
|
10737
|
-
hover: [{ effectId: "pop" }]
|
|
10738
|
-
}
|
|
10739
|
-
},
|
|
10740
|
-
{
|
|
10741
|
-
id: "hero",
|
|
10742
|
-
name: "Hero",
|
|
10743
|
-
enabled: true,
|
|
10744
|
-
priority: 1,
|
|
10745
10863
|
background: { type: "solid", colorToken: "secondary" },
|
|
10746
|
-
textColorToken: "
|
|
10747
|
-
borderRadius: "rounded-
|
|
10748
|
-
|
|
10749
|
-
|
|
10750
|
-
}
|
|
10751
|
-
},
|
|
10752
|
-
{
|
|
10753
|
-
id: "header",
|
|
10754
|
-
name: "Header",
|
|
10755
|
-
enabled: true,
|
|
10756
|
-
priority: 2,
|
|
10757
|
-
background: { type: "solid", colorToken: "background" },
|
|
10758
|
-
textColorToken: "primary",
|
|
10759
|
-
borderRadius: "rounded-full",
|
|
10760
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10864
|
+
textColorToken: "primaryForeground",
|
|
10865
|
+
borderRadius: "rounded-md",
|
|
10866
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10867
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10761
10868
|
effects: {
|
|
10762
10869
|
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10763
10870
|
}
|
|
@@ -10769,10 +10876,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10769
10876
|
priority: 3,
|
|
10770
10877
|
background: { type: "transparent" },
|
|
10771
10878
|
textColorToken: "primary",
|
|
10772
|
-
borderRadius: "rounded-
|
|
10773
|
-
border: { widthClass: "border
|
|
10879
|
+
borderRadius: "rounded-md",
|
|
10880
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10881
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10774
10882
|
effects: {
|
|
10775
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
10883
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
10776
10884
|
}
|
|
10777
10885
|
},
|
|
10778
10886
|
{
|
|
@@ -10781,32 +10889,44 @@ var showtimePill = defineButtonPersonality({
|
|
|
10781
10889
|
enabled: true,
|
|
10782
10890
|
priority: 3,
|
|
10783
10891
|
background: { type: "transparent" },
|
|
10784
|
-
textColorToken: "
|
|
10785
|
-
borderRadius: "rounded-
|
|
10892
|
+
textColorToken: "accent",
|
|
10893
|
+
borderRadius: "rounded-none",
|
|
10894
|
+
sizes: {
|
|
10895
|
+
sm: { padding: "0.375rem 0", fontSize: "text-xs" },
|
|
10896
|
+
md: { padding: "0.5rem 0", fontSize: "text-sm" },
|
|
10897
|
+
lg: { padding: "0.625rem 0", fontSize: "text-base" },
|
|
10898
|
+
xl: { padding: "0.75rem 0", fontSize: "text-lg" }
|
|
10899
|
+
},
|
|
10786
10900
|
effects: {
|
|
10787
|
-
|
|
10901
|
+
base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
|
|
10788
10902
|
}
|
|
10789
10903
|
}
|
|
10790
10904
|
]
|
|
10791
10905
|
}
|
|
10792
10906
|
});
|
|
10793
10907
|
|
|
10794
|
-
// ../theme-core/src/buttons/personalities/
|
|
10795
|
-
var
|
|
10796
|
-
id: "
|
|
10797
|
-
name: "
|
|
10798
|
-
description: "
|
|
10799
|
-
tags: { tone: "classic", energy: "calm", motion: "
|
|
10908
|
+
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
10909
|
+
var pebble = defineButtonPersonality({
|
|
10910
|
+
id: "pebble",
|
|
10911
|
+
name: "Pebble",
|
|
10912
|
+
description: "Generous pill buttons with a quiet colour-softening hover.",
|
|
10913
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
|
|
10800
10914
|
buttonSystem: {
|
|
10801
10915
|
global: {
|
|
10802
10916
|
cornerStyle: "pill",
|
|
10803
|
-
shadow: "
|
|
10917
|
+
shadow: "none",
|
|
10804
10918
|
textTransform: "none",
|
|
10805
10919
|
fontWeight: 500,
|
|
10806
10920
|
borderWidth: 2,
|
|
10807
|
-
hoverTransform: "
|
|
10921
|
+
hoverTransform: "none",
|
|
10808
10922
|
hoverColor: "none"
|
|
10809
10923
|
},
|
|
10924
|
+
sizes: {
|
|
10925
|
+
sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
|
|
10926
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
10927
|
+
lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
|
|
10928
|
+
xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
|
|
10929
|
+
},
|
|
10810
10930
|
variants: [
|
|
10811
10931
|
{
|
|
10812
10932
|
id: "primary",
|
|
@@ -10816,10 +10936,10 @@ var softPill = defineButtonPersonality({
|
|
|
10816
10936
|
background: { type: "solid", colorToken: "primary" },
|
|
10817
10937
|
textColorToken: "primaryForeground",
|
|
10818
10938
|
borderRadius: "rounded-full",
|
|
10819
|
-
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
10820
10939
|
effects: {
|
|
10821
|
-
hover: [
|
|
10822
|
-
|
|
10940
|
+
hover: [
|
|
10941
|
+
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
10942
|
+
]
|
|
10823
10943
|
}
|
|
10824
10944
|
},
|
|
10825
10945
|
{
|
|
@@ -10830,9 +10950,193 @@ var softPill = defineButtonPersonality({
|
|
|
10830
10950
|
background: { type: "transparent" },
|
|
10831
10951
|
textColorToken: "primary",
|
|
10832
10952
|
borderRadius: "rounded-full",
|
|
10833
|
-
border: { widthClass: "border-2", colorToken: "
|
|
10953
|
+
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10834
10954
|
effects: {
|
|
10835
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
10955
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
10956
|
+
}
|
|
10957
|
+
},
|
|
10958
|
+
{
|
|
10959
|
+
id: "outline",
|
|
10960
|
+
name: "Outline",
|
|
10961
|
+
enabled: true,
|
|
10962
|
+
priority: 3,
|
|
10963
|
+
background: { type: "transparent" },
|
|
10964
|
+
textColorToken: "text",
|
|
10965
|
+
borderRadius: "rounded-full",
|
|
10966
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
10967
|
+
effects: {
|
|
10968
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10969
|
+
}
|
|
10970
|
+
},
|
|
10971
|
+
{
|
|
10972
|
+
id: "ghost",
|
|
10973
|
+
name: "Ghost",
|
|
10974
|
+
enabled: true,
|
|
10975
|
+
priority: 3,
|
|
10976
|
+
background: { type: "transparent" },
|
|
10977
|
+
textColorToken: "primary",
|
|
10978
|
+
borderRadius: "rounded-full",
|
|
10979
|
+
sizes: {
|
|
10980
|
+
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
10981
|
+
md: { padding: "0.5rem 1rem" },
|
|
10982
|
+
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
10983
|
+
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
10984
|
+
},
|
|
10985
|
+
effects: {
|
|
10986
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
10987
|
+
}
|
|
10988
|
+
}
|
|
10989
|
+
]
|
|
10990
|
+
}
|
|
10991
|
+
});
|
|
10992
|
+
|
|
10993
|
+
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
10994
|
+
var showtimePill = defineButtonPersonality({
|
|
10995
|
+
id: "showtime-pill",
|
|
10996
|
+
name: "Showtime Pill",
|
|
10997
|
+
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
10998
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
10999
|
+
buttonSystem: {
|
|
11000
|
+
global: {
|
|
11001
|
+
cornerStyle: "pill",
|
|
11002
|
+
shadow: "low",
|
|
11003
|
+
textTransform: "uppercase",
|
|
11004
|
+
fontWeight: 700,
|
|
11005
|
+
borderWidth: 2,
|
|
11006
|
+
hoverTransform: "lift",
|
|
11007
|
+
hoverColor: "darken",
|
|
11008
|
+
typography: "body",
|
|
11009
|
+
paddingPreset: "spacious",
|
|
11010
|
+
italic: false
|
|
11011
|
+
},
|
|
11012
|
+
sizes: {
|
|
11013
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
11014
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
11015
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
11016
|
+
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
11017
|
+
},
|
|
11018
|
+
variants: [
|
|
11019
|
+
{
|
|
11020
|
+
id: "primary",
|
|
11021
|
+
name: "Primary",
|
|
11022
|
+
enabled: true,
|
|
11023
|
+
priority: 1,
|
|
11024
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11025
|
+
textColorToken: "background",
|
|
11026
|
+
borderRadius: "rounded-full",
|
|
11027
|
+
effects: {
|
|
11028
|
+
hover: [{ effectId: "pop" }]
|
|
11029
|
+
}
|
|
11030
|
+
},
|
|
11031
|
+
{
|
|
11032
|
+
id: "secondary",
|
|
11033
|
+
name: "Secondary",
|
|
11034
|
+
enabled: true,
|
|
11035
|
+
priority: 2,
|
|
11036
|
+
background: { type: "transparent" },
|
|
11037
|
+
textColorToken: "primary",
|
|
11038
|
+
borderRadius: "rounded-full",
|
|
11039
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11040
|
+
effects: {
|
|
11041
|
+
hover: [{ effectId: "pop" }]
|
|
11042
|
+
}
|
|
11043
|
+
},
|
|
11044
|
+
{
|
|
11045
|
+
id: "hero",
|
|
11046
|
+
name: "Hero",
|
|
11047
|
+
enabled: true,
|
|
11048
|
+
priority: 1,
|
|
11049
|
+
background: { type: "solid", colorToken: "secondary" },
|
|
11050
|
+
textColorToken: "primary",
|
|
11051
|
+
borderRadius: "rounded-full",
|
|
11052
|
+
effects: {
|
|
11053
|
+
hover: [{ effectId: "pop" }]
|
|
11054
|
+
}
|
|
11055
|
+
},
|
|
11056
|
+
{
|
|
11057
|
+
id: "header",
|
|
11058
|
+
name: "Header",
|
|
11059
|
+
enabled: true,
|
|
11060
|
+
priority: 2,
|
|
11061
|
+
background: { type: "solid", colorToken: "background" },
|
|
11062
|
+
textColorToken: "primary",
|
|
11063
|
+
borderRadius: "rounded-full",
|
|
11064
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11065
|
+
effects: {
|
|
11066
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11067
|
+
}
|
|
11068
|
+
},
|
|
11069
|
+
{
|
|
11070
|
+
id: "outline",
|
|
11071
|
+
name: "Outline",
|
|
11072
|
+
enabled: true,
|
|
11073
|
+
priority: 3,
|
|
11074
|
+
background: { type: "transparent" },
|
|
11075
|
+
textColorToken: "primary",
|
|
11076
|
+
borderRadius: "rounded-full",
|
|
11077
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11078
|
+
effects: {
|
|
11079
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
|
|
11080
|
+
}
|
|
11081
|
+
},
|
|
11082
|
+
{
|
|
11083
|
+
id: "ghost",
|
|
11084
|
+
name: "Ghost",
|
|
11085
|
+
enabled: true,
|
|
11086
|
+
priority: 3,
|
|
11087
|
+
background: { type: "transparent" },
|
|
11088
|
+
textColorToken: "primary",
|
|
11089
|
+
borderRadius: "rounded-full",
|
|
11090
|
+
effects: {
|
|
11091
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11092
|
+
}
|
|
11093
|
+
}
|
|
11094
|
+
]
|
|
11095
|
+
}
|
|
11096
|
+
});
|
|
11097
|
+
|
|
11098
|
+
// ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
11099
|
+
var softPill = defineButtonPersonality({
|
|
11100
|
+
id: "soft-pill",
|
|
11101
|
+
name: "Soft Pill",
|
|
11102
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
11103
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
11104
|
+
buttonSystem: {
|
|
11105
|
+
global: {
|
|
11106
|
+
cornerStyle: "pill",
|
|
11107
|
+
shadow: "low",
|
|
11108
|
+
textTransform: "none",
|
|
11109
|
+
fontWeight: 500,
|
|
11110
|
+
borderWidth: 2,
|
|
11111
|
+
hoverTransform: "lift",
|
|
11112
|
+
hoverColor: "none"
|
|
11113
|
+
},
|
|
11114
|
+
variants: [
|
|
11115
|
+
{
|
|
11116
|
+
id: "primary",
|
|
11117
|
+
name: "Primary",
|
|
11118
|
+
enabled: true,
|
|
11119
|
+
priority: 1,
|
|
11120
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11121
|
+
textColorToken: "primaryForeground",
|
|
11122
|
+
borderRadius: "rounded-full",
|
|
11123
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
11124
|
+
effects: {
|
|
11125
|
+
hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
|
|
11126
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
11127
|
+
}
|
|
11128
|
+
},
|
|
11129
|
+
{
|
|
11130
|
+
id: "secondary",
|
|
11131
|
+
name: "Secondary",
|
|
11132
|
+
enabled: true,
|
|
11133
|
+
priority: 2,
|
|
11134
|
+
background: { type: "transparent" },
|
|
11135
|
+
textColorToken: "primary",
|
|
11136
|
+
borderRadius: "rounded-full",
|
|
11137
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11138
|
+
effects: {
|
|
11139
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10836
11140
|
}
|
|
10837
11141
|
},
|
|
10838
11142
|
{
|
|
@@ -10874,7 +11178,8 @@ var buttonPersonalities = [
|
|
|
10874
11178
|
inkStamp,
|
|
10875
11179
|
brushedWash,
|
|
10876
11180
|
showtimePill,
|
|
10877
|
-
joyStamp
|
|
11181
|
+
joyStamp,
|
|
11182
|
+
ornateRitual
|
|
10878
11183
|
];
|
|
10879
11184
|
var personalitiesById = new Map(
|
|
10880
11185
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -11504,7 +11809,7 @@ function rgbColorValue(token) {
|
|
|
11504
11809
|
if (alpha === void 0) {
|
|
11505
11810
|
return `rgb(var(${cssVar}))`;
|
|
11506
11811
|
}
|
|
11507
|
-
return `
|
|
11812
|
+
return `rgb(var(${cssVar}) / ${alpha})`;
|
|
11508
11813
|
}
|
|
11509
11814
|
function backgroundColorStyle(token) {
|
|
11510
11815
|
return { backgroundColor: rgbColorValue(token) };
|
|
@@ -12609,6 +12914,28 @@ var warmDarkEmber = definePaletteVariant({
|
|
|
12609
12914
|
{ name: "border", hex: "#894e31" }
|
|
12610
12915
|
]
|
|
12611
12916
|
});
|
|
12917
|
+
var warmDarkKirtanGold = definePaletteVariant({
|
|
12918
|
+
id: "warm-dark-kirtan-gold",
|
|
12919
|
+
name: "Warm Dark \u2014 Kirtan Gold",
|
|
12920
|
+
description: "Deep plum ground with pale gold primary, rose accent, and soft devotional text.",
|
|
12921
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
12922
|
+
mode: "dark",
|
|
12923
|
+
colors: [
|
|
12924
|
+
{ name: "primary", hex: "#ffcdb2" },
|
|
12925
|
+
{ name: "secondary", hex: "#b5838d" },
|
|
12926
|
+
{ name: "accent", hex: "#e5989b" },
|
|
12927
|
+
{ name: "success", hex: "#8fbf8f" },
|
|
12928
|
+
{ name: "warning", hex: "#f2b86b" },
|
|
12929
|
+
{ name: "destructive", hex: "#d96b6b" },
|
|
12930
|
+
{ name: "background", hex: "#403944" },
|
|
12931
|
+
{ name: "surface", hex: "#403944" },
|
|
12932
|
+
{ name: "surfaceAlt", hex: "#372f3b" },
|
|
12933
|
+
{ name: "muted", hex: "#4d4550" },
|
|
12934
|
+
{ name: "text", hex: "#e6d2d5" },
|
|
12935
|
+
{ name: "primaryForeground", hex: "#403944" },
|
|
12936
|
+
{ name: "border", hex: "#8d747a" }
|
|
12937
|
+
]
|
|
12938
|
+
});
|
|
12612
12939
|
|
|
12613
12940
|
// ../theme-core/src/palette/variants/index.ts
|
|
12614
12941
|
var paletteVariants = [
|
|
@@ -12632,7 +12959,8 @@ var paletteVariants = [
|
|
|
12632
12959
|
softNaturalWatercolor,
|
|
12633
12960
|
softNaturalLilac,
|
|
12634
12961
|
// Warm-dark family (dark mode)
|
|
12635
|
-
warmDarkEmber
|
|
12962
|
+
warmDarkEmber,
|
|
12963
|
+
warmDarkKirtanGold
|
|
12636
12964
|
];
|
|
12637
12965
|
var paletteVariantsById = new Map(
|
|
12638
12966
|
paletteVariants.map((v) => [v.id, v])
|
|
@@ -14201,9 +14529,125 @@ function headerConfigurationKey(configuration) {
|
|
|
14201
14529
|
function asFooterLookId(value) {
|
|
14202
14530
|
return value;
|
|
14203
14531
|
}
|
|
14204
|
-
|
|
14532
|
+
function asFooterLayoutId(value) {
|
|
14533
|
+
return value;
|
|
14534
|
+
}
|
|
14535
|
+
function asFooterStyleId(value) {
|
|
14536
|
+
return value;
|
|
14537
|
+
}
|
|
14538
|
+
var guaranteedFallbackFooterLookId = asFooterLookId("footer-identity-quiet");
|
|
14539
|
+
var footerLayoutCatalog = defineExactCatalog()([
|
|
14540
|
+
{
|
|
14541
|
+
id: asFooterLayoutId("identity"),
|
|
14542
|
+
label: "Identity",
|
|
14543
|
+
description: "Logo, site text, address, and legal copy without relying on footer navigation."
|
|
14544
|
+
},
|
|
14545
|
+
{
|
|
14546
|
+
id: asFooterLayoutId("centered"),
|
|
14547
|
+
label: "Centered",
|
|
14548
|
+
description: "A calm centered stack for identity, short copy, and optional compact navigation.",
|
|
14549
|
+
maxRecommendedNavDensity: "sparse"
|
|
14550
|
+
},
|
|
14551
|
+
{
|
|
14552
|
+
id: asFooterLayoutId("split"),
|
|
14553
|
+
label: "Split",
|
|
14554
|
+
description: "Navigation and brand signoff separated into a wider split footer.",
|
|
14555
|
+
requiresFooterNav: true,
|
|
14556
|
+
maxRecommendedNavDensity: "balanced"
|
|
14557
|
+
},
|
|
14558
|
+
{
|
|
14559
|
+
id: asFooterLayoutId("columns"),
|
|
14560
|
+
label: "Columns",
|
|
14561
|
+
description: "Grouped footer navigation columns with a supporting bottom line.",
|
|
14562
|
+
requiresFooterNav: true,
|
|
14563
|
+
requiresFooterNavGroups: true
|
|
14564
|
+
}
|
|
14565
|
+
]);
|
|
14566
|
+
var footerStyleCatalog = defineExactCatalog()([
|
|
14567
|
+
{
|
|
14568
|
+
id: asFooterStyleId("quiet"),
|
|
14569
|
+
label: "Quiet",
|
|
14570
|
+
description: "Lightweight, practical footer treatment."
|
|
14571
|
+
},
|
|
14572
|
+
{
|
|
14573
|
+
id: asFooterStyleId("calm"),
|
|
14574
|
+
label: "Calm",
|
|
14575
|
+
description: "Soft centered treatment with restrained dividers."
|
|
14576
|
+
},
|
|
14577
|
+
{
|
|
14578
|
+
id: asFooterStyleId("editorial"),
|
|
14579
|
+
label: "Editorial",
|
|
14580
|
+
description: "Text-forward treatment with fine-line structure."
|
|
14581
|
+
},
|
|
14582
|
+
{
|
|
14583
|
+
id: asFooterStyleId("brand-band"),
|
|
14584
|
+
label: "Brand band",
|
|
14585
|
+
description: "High-contrast brand treatment with a stronger bottom bar."
|
|
14586
|
+
}
|
|
14587
|
+
]);
|
|
14588
|
+
var footerLayoutsById = new Map(
|
|
14589
|
+
footerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
14590
|
+
);
|
|
14591
|
+
var footerStylesById = new Map(
|
|
14592
|
+
footerStyleCatalog.map((style) => [style.id, style])
|
|
14593
|
+
);
|
|
14594
|
+
function identityQuietFooter(theme) {
|
|
14595
|
+
return {
|
|
14596
|
+
...theme.footer,
|
|
14597
|
+
variant: "simple",
|
|
14598
|
+
maxWidth: "container",
|
|
14599
|
+
background: {
|
|
14600
|
+
type: "color",
|
|
14601
|
+
color: "surface"
|
|
14602
|
+
},
|
|
14603
|
+
navStyle: "minimal",
|
|
14604
|
+
navWeight: "regular",
|
|
14605
|
+
navColor: "text",
|
|
14606
|
+
navLinkStyle: {
|
|
14607
|
+
typography: "body",
|
|
14608
|
+
fontWeight: "regular",
|
|
14609
|
+
textTransform: "none",
|
|
14610
|
+
italic: false,
|
|
14611
|
+
colorToken: "text",
|
|
14612
|
+
hoverColorToken: "primary",
|
|
14613
|
+
padding: "none",
|
|
14614
|
+
borderRadius: "none"
|
|
14615
|
+
},
|
|
14616
|
+
navLayout: {
|
|
14617
|
+
layout: "inline-wrap",
|
|
14618
|
+
align: "start",
|
|
14619
|
+
gapX: "default",
|
|
14620
|
+
gapY: "tight"
|
|
14621
|
+
},
|
|
14622
|
+
logo: {
|
|
14623
|
+
showLogo: true,
|
|
14624
|
+
showLogoText: true,
|
|
14625
|
+
placement: "left",
|
|
14626
|
+
size: "sm",
|
|
14627
|
+
align: "start"
|
|
14628
|
+
},
|
|
14629
|
+
bottomBar: {
|
|
14630
|
+
enabled: false,
|
|
14631
|
+
fullBleed: false,
|
|
14632
|
+
textAlign: "left",
|
|
14633
|
+
paddingX: "default",
|
|
14634
|
+
paddingY: "compact",
|
|
14635
|
+
borderTop: {
|
|
14636
|
+
width: "none"
|
|
14637
|
+
}
|
|
14638
|
+
}
|
|
14639
|
+
};
|
|
14640
|
+
}
|
|
14205
14641
|
function mutedGroundingFooter(theme) {
|
|
14206
|
-
return
|
|
14642
|
+
return {
|
|
14643
|
+
...identityQuietFooter(theme),
|
|
14644
|
+
background: theme.footer.background,
|
|
14645
|
+
navStyle: theme.footer.navStyle,
|
|
14646
|
+
navColor: theme.footer.navColor,
|
|
14647
|
+
navWeight: theme.footer.navWeight,
|
|
14648
|
+
navLinkStyle: theme.footer.navLinkStyle,
|
|
14649
|
+
bottomTextLinkStyle: theme.footer.bottomTextLinkStyle
|
|
14650
|
+
};
|
|
14207
14651
|
}
|
|
14208
14652
|
function brandTwoBandFooter(theme) {
|
|
14209
14653
|
return {
|
|
@@ -14308,6 +14752,53 @@ function centeredCalmFooter(theme) {
|
|
|
14308
14752
|
}
|
|
14309
14753
|
};
|
|
14310
14754
|
}
|
|
14755
|
+
function splitEditorialFooter(theme) {
|
|
14756
|
+
return {
|
|
14757
|
+
...theme.footer,
|
|
14758
|
+
variant: "split",
|
|
14759
|
+
maxWidth: "container",
|
|
14760
|
+
background: {
|
|
14761
|
+
type: "color",
|
|
14762
|
+
color: "surface"
|
|
14763
|
+
},
|
|
14764
|
+
navStyle: "minimal",
|
|
14765
|
+
navWeight: "regular",
|
|
14766
|
+
navColor: "text",
|
|
14767
|
+
navLinkStyle: {
|
|
14768
|
+
typography: "body",
|
|
14769
|
+
fontWeight: "regular",
|
|
14770
|
+
textTransform: "none",
|
|
14771
|
+
italic: false,
|
|
14772
|
+
colorToken: "text",
|
|
14773
|
+
hoverColorToken: "primary",
|
|
14774
|
+
padding: "none",
|
|
14775
|
+
borderRadius: "none"
|
|
14776
|
+
},
|
|
14777
|
+
navLayout: {
|
|
14778
|
+
layout: "inline-wrap",
|
|
14779
|
+
align: "start",
|
|
14780
|
+
gapX: "relaxed",
|
|
14781
|
+
gapY: "tight"
|
|
14782
|
+
},
|
|
14783
|
+
logo: {
|
|
14784
|
+
showLogo: true,
|
|
14785
|
+
showLogoText: true,
|
|
14786
|
+
placement: "right",
|
|
14787
|
+
size: "sm",
|
|
14788
|
+
align: "end"
|
|
14789
|
+
},
|
|
14790
|
+
bottomBar: {
|
|
14791
|
+
enabled: true,
|
|
14792
|
+
fullBleed: false,
|
|
14793
|
+
textAlign: "left",
|
|
14794
|
+
paddingX: "default",
|
|
14795
|
+
paddingY: "compact",
|
|
14796
|
+
borderTop: {
|
|
14797
|
+
width: "thin"
|
|
14798
|
+
}
|
|
14799
|
+
}
|
|
14800
|
+
};
|
|
14801
|
+
}
|
|
14311
14802
|
function editorialColumnsFooter(theme) {
|
|
14312
14803
|
return {
|
|
14313
14804
|
...theme.footer,
|
|
@@ -14350,25 +14841,47 @@ function editorialColumnsFooter(theme) {
|
|
|
14350
14841
|
};
|
|
14351
14842
|
}
|
|
14352
14843
|
var footerLookCatalog = defineExactCatalog()([
|
|
14844
|
+
{
|
|
14845
|
+
id: asFooterLookId("footer-identity-quiet"),
|
|
14846
|
+
label: "Identity footer",
|
|
14847
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14848
|
+
styleId: asFooterStyleId("quiet"),
|
|
14849
|
+
compile: identityQuietFooter
|
|
14850
|
+
},
|
|
14353
14851
|
{
|
|
14354
14852
|
id: asFooterLookId("footer-muted-grounding"),
|
|
14355
14853
|
label: "Muted grounding footer",
|
|
14854
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14855
|
+
styleId: asFooterStyleId("quiet"),
|
|
14856
|
+
hiddenFromLayoutStyleControls: true,
|
|
14356
14857
|
compile: mutedGroundingFooter
|
|
14357
14858
|
},
|
|
14358
14859
|
{
|
|
14359
14860
|
id: asFooterLookId("footer-centered-calm"),
|
|
14360
14861
|
label: "Centered calm footer",
|
|
14862
|
+
layoutId: asFooterLayoutId("centered"),
|
|
14863
|
+
styleId: asFooterStyleId("calm"),
|
|
14361
14864
|
compile: centeredCalmFooter
|
|
14362
14865
|
},
|
|
14866
|
+
{
|
|
14867
|
+
id: asFooterLookId("footer-split-editorial"),
|
|
14868
|
+
label: "Split editorial footer",
|
|
14869
|
+
layoutId: asFooterLayoutId("split"),
|
|
14870
|
+
styleId: asFooterStyleId("editorial"),
|
|
14871
|
+
compile: splitEditorialFooter
|
|
14872
|
+
},
|
|
14363
14873
|
{
|
|
14364
14874
|
id: asFooterLookId("footer-editorial-columns"),
|
|
14365
14875
|
label: "Editorial columns footer",
|
|
14876
|
+
layoutId: asFooterLayoutId("columns"),
|
|
14877
|
+
styleId: asFooterStyleId("editorial"),
|
|
14366
14878
|
compile: editorialColumnsFooter
|
|
14367
14879
|
},
|
|
14368
14880
|
{
|
|
14369
14881
|
id: asFooterLookId("site-footer-brand-two-band"),
|
|
14370
14882
|
label: "Two-band brand footer",
|
|
14371
|
-
|
|
14883
|
+
layoutId: asFooterLayoutId("split"),
|
|
14884
|
+
styleId: asFooterStyleId("brand-band"),
|
|
14372
14885
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
14373
14886
|
compile: brandTwoBandFooter
|
|
14374
14887
|
}
|
|
@@ -14571,6 +15084,30 @@ var luxeContrastTypography = {
|
|
|
14571
15084
|
},
|
|
14572
15085
|
scale: "spacious"
|
|
14573
15086
|
};
|
|
15087
|
+
var kirtanOrnateTypography = {
|
|
15088
|
+
body: {
|
|
15089
|
+
family: "Jost, system-ui, sans-serif",
|
|
15090
|
+
size: "md",
|
|
15091
|
+
weight: "regular",
|
|
15092
|
+
lineHeight: "relaxed",
|
|
15093
|
+
letterSpacing: "normal"
|
|
15094
|
+
},
|
|
15095
|
+
headings: {
|
|
15096
|
+
default: {
|
|
15097
|
+
family: "Marcellus, Georgia, serif",
|
|
15098
|
+
weight: "regular",
|
|
15099
|
+
lineHeight: "normal",
|
|
15100
|
+
letterSpacing: "normal",
|
|
15101
|
+
colorToken: "primary",
|
|
15102
|
+
italic: null,
|
|
15103
|
+
case: null
|
|
15104
|
+
},
|
|
15105
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15106
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15107
|
+
h3: { size: "md", weight: "regular", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
15108
|
+
},
|
|
15109
|
+
scale: "spacious"
|
|
15110
|
+
};
|
|
14574
15111
|
var boldDisplayTypography = {
|
|
14575
15112
|
body: {
|
|
14576
15113
|
family: "Manrope, system-ui, sans-serif",
|
|
@@ -14605,16 +15142,16 @@ var originalJoyTypography = {
|
|
|
14605
15142
|
},
|
|
14606
15143
|
headings: {
|
|
14607
15144
|
default: {
|
|
14608
|
-
family: "
|
|
14609
|
-
weight: "
|
|
15145
|
+
family: "Lobster, cursive",
|
|
15146
|
+
weight: "regular",
|
|
14610
15147
|
lineHeight: "normal",
|
|
14611
|
-
letterSpacing: "
|
|
15148
|
+
letterSpacing: "normal",
|
|
14612
15149
|
italic: null,
|
|
14613
15150
|
case: null
|
|
14614
15151
|
},
|
|
14615
|
-
h1: { size: "2xl", weight: "
|
|
14616
|
-
h2: { size: "xl", weight: "
|
|
14617
|
-
h3: { size: "lg", weight: "
|
|
15152
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15153
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15154
|
+
h3: { size: "lg", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
14618
15155
|
},
|
|
14619
15156
|
scale: "balanced"
|
|
14620
15157
|
};
|
|
@@ -14679,6 +15216,32 @@ var typographyPresets = [
|
|
|
14679
15216
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14680
15217
|
typography: luxeContrastTypography
|
|
14681
15218
|
}),
|
|
15219
|
+
defineTypographyPreset({
|
|
15220
|
+
id: "typography-preset:kirtan-ornate",
|
|
15221
|
+
name: "Kirtan Ornate",
|
|
15222
|
+
description: "Marcellus devotional headings over a refined Jost body, matching dark ceremonial layouts.",
|
|
15223
|
+
defaultFonts: { body: "Jost, system-ui, sans-serif", heading: "Marcellus, Georgia, serif" },
|
|
15224
|
+
recommendedFonts: {
|
|
15225
|
+
body: ["Jost", "Manrope", "Inter"],
|
|
15226
|
+
heading: ["Marcellus", "Cormorant Garamond", "Playfair Display"]
|
|
15227
|
+
},
|
|
15228
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
15229
|
+
typography: kirtanOrnateTypography,
|
|
15230
|
+
heroTypography: {
|
|
15231
|
+
headlineSize: "6xl",
|
|
15232
|
+
headlineLineHeight: "normal",
|
|
15233
|
+
subheadlineSize: "xl",
|
|
15234
|
+
subheadlineLineHeight: "relaxed",
|
|
15235
|
+
microHeadlineSize: "5xl",
|
|
15236
|
+
microHeadlineLineHeight: "normal",
|
|
15237
|
+
microSubheadlineSize: "lg",
|
|
15238
|
+
microSubheadlineLineHeight: "relaxed",
|
|
15239
|
+
responsive: {
|
|
15240
|
+
tablet: { headlineSize: "5xl" },
|
|
15241
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
15242
|
+
}
|
|
15243
|
+
}
|
|
15244
|
+
}),
|
|
14682
15245
|
defineTypographyPreset({
|
|
14683
15246
|
id: "typography-preset:bold-display",
|
|
14684
15247
|
name: "Bold Display",
|
|
@@ -14708,11 +15271,11 @@ var typographyPresets = [
|
|
|
14708
15271
|
defineTypographyPreset({
|
|
14709
15272
|
id: "typography-preset:original-joy",
|
|
14710
15273
|
name: "Original Joy",
|
|
14711
|
-
description: "
|
|
14712
|
-
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "
|
|
15274
|
+
description: "Lobster display headings over a clean DM Sans body, expressive and warm.",
|
|
15275
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Lobster, cursive" },
|
|
14713
15276
|
recommendedFonts: {
|
|
14714
15277
|
body: ["DM Sans", "Inter", "Manrope"],
|
|
14715
|
-
heading: ["Bricolage Grotesque", "Space Grotesk"
|
|
15278
|
+
heading: ["Lobster", "Bricolage Grotesque", "Space Grotesk"]
|
|
14716
15279
|
},
|
|
14717
15280
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14718
15281
|
typography: originalJoyTypography,
|
|
@@ -14736,6 +15299,319 @@ var typographyPresetsById = new Map(
|
|
|
14736
15299
|
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
14737
15300
|
);
|
|
14738
15301
|
|
|
15302
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
15303
|
+
import { z as z24 } from "zod";
|
|
15304
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
15305
|
+
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15306
|
+
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15307
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15308
|
+
fields3[0],
|
|
15309
|
+
...fields3.slice(1)
|
|
15310
|
+
]);
|
|
15311
|
+
var heroLegibilityStrategySchema = z24.enum([
|
|
15312
|
+
"none",
|
|
15313
|
+
"scrim-gradient",
|
|
15314
|
+
"solid-panel"
|
|
15315
|
+
]);
|
|
15316
|
+
var heroCompositionIntentSchema = z24.enum([
|
|
15317
|
+
"center",
|
|
15318
|
+
"bottom-left"
|
|
15319
|
+
]);
|
|
15320
|
+
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15321
|
+
"quiet",
|
|
15322
|
+
"editorial",
|
|
15323
|
+
"display",
|
|
15324
|
+
"poster"
|
|
15325
|
+
]);
|
|
15326
|
+
var sectionHeightIntentSchema = z24.enum([
|
|
15327
|
+
"default",
|
|
15328
|
+
"banner",
|
|
15329
|
+
"hero",
|
|
15330
|
+
"immersive"
|
|
15331
|
+
]);
|
|
15332
|
+
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15333
|
+
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15334
|
+
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15335
|
+
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15336
|
+
z24.object({
|
|
15337
|
+
kind: z24.literal("brand-scrim"),
|
|
15338
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15339
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15340
|
+
}).strict(),
|
|
15341
|
+
z24.object({
|
|
15342
|
+
kind: z24.literal("brand-wash"),
|
|
15343
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15344
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15345
|
+
}).strict(),
|
|
15346
|
+
z24.object({
|
|
15347
|
+
kind: z24.literal("neutral-scrim"),
|
|
15348
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15349
|
+
}).strict(),
|
|
15350
|
+
z24.object({
|
|
15351
|
+
kind: z24.literal("neutral-wash"),
|
|
15352
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15353
|
+
}).strict(),
|
|
15354
|
+
z24.object({
|
|
15355
|
+
kind: z24.literal("solid-panel"),
|
|
15356
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15357
|
+
}).strict()
|
|
15358
|
+
]);
|
|
15359
|
+
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
15360
|
+
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
15361
|
+
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
15362
|
+
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
15363
|
+
function uniqueNonEmpty(values) {
|
|
15364
|
+
const uniqueValues = [...new Set(values)];
|
|
15365
|
+
const firstValue = uniqueValues[0];
|
|
15366
|
+
if (!firstValue) {
|
|
15367
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
15368
|
+
}
|
|
15369
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
15370
|
+
}
|
|
15371
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
15372
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
15373
|
+
);
|
|
15374
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
15375
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
15376
|
+
);
|
|
15377
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
15378
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
15379
|
+
);
|
|
15380
|
+
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
15381
|
+
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
15382
|
+
z24.object({
|
|
15383
|
+
kind: z24.literal("panel"),
|
|
15384
|
+
treatment: z24.enum(userPanelTreatments)
|
|
15385
|
+
}).strict(),
|
|
15386
|
+
z24.object({
|
|
15387
|
+
kind: z24.literal("flush-panel"),
|
|
15388
|
+
treatment: z24.enum(userFlushTreatments),
|
|
15389
|
+
bleed: z24.enum(userFlushBleeds)
|
|
15390
|
+
}).strict()
|
|
15391
|
+
]);
|
|
15392
|
+
var blockDesignPlanSchema = z24.object({
|
|
15393
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15394
|
+
blockKind: z24.string().min(1),
|
|
15395
|
+
purpose: z24.string().min(1),
|
|
15396
|
+
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
15397
|
+
contentFrame: contentFrameIntentSchema,
|
|
15398
|
+
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
15399
|
+
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
15400
|
+
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
15401
|
+
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
15402
|
+
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
15403
|
+
heroComposition: heroCompositionIntentSchema.optional(),
|
|
15404
|
+
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
15405
|
+
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
15406
|
+
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
15407
|
+
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
15408
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
15409
|
+
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
15410
|
+
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
15411
|
+
}).strict();
|
|
15412
|
+
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
15413
|
+
z24.object({
|
|
15414
|
+
kind: z24.literal("theme-v2"),
|
|
15415
|
+
source: designResolutionPolicySchema,
|
|
15416
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15417
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15418
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15419
|
+
resolverVersion: z24.number().int().nonnegative()
|
|
15420
|
+
}).strict(),
|
|
15421
|
+
z24.object({
|
|
15422
|
+
kind: z24.literal("legacy-raw"),
|
|
15423
|
+
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
15424
|
+
}).strict(),
|
|
15425
|
+
z24.object({
|
|
15426
|
+
kind: z24.literal("advanced-detached"),
|
|
15427
|
+
reason: z24.literal("detached-custom-runtime-fields")
|
|
15428
|
+
}).strict()
|
|
15429
|
+
]);
|
|
15430
|
+
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
15431
|
+
unit: z24.literal("block-runtime-fields"),
|
|
15432
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15433
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
15434
|
+
authority: styleAuthoritySchema
|
|
15435
|
+
}).strict();
|
|
15436
|
+
var persistedPageDesignStateV1Schema = z24.object({
|
|
15437
|
+
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
15438
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15439
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15440
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15441
|
+
resolverVersion: z24.number().int().nonnegative(),
|
|
15442
|
+
rhythmPresetId: z24.string().min(1),
|
|
15443
|
+
blocks: z24.array(blockDesignPlanSchema),
|
|
15444
|
+
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
15445
|
+
}).strict();
|
|
15446
|
+
|
|
15447
|
+
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
15448
|
+
function defineDesignRuntimeRules(rules) {
|
|
15449
|
+
return rules;
|
|
15450
|
+
}
|
|
15451
|
+
function defineComponentRuntimeRules(rules) {
|
|
15452
|
+
return rules;
|
|
15453
|
+
}
|
|
15454
|
+
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15455
|
+
sectionSurfaces: {
|
|
15456
|
+
base: {},
|
|
15457
|
+
"muted-band": {
|
|
15458
|
+
background: {
|
|
15459
|
+
type: "color",
|
|
15460
|
+
color: "muted"
|
|
15461
|
+
}
|
|
15462
|
+
},
|
|
15463
|
+
"accent-band": {
|
|
15464
|
+
background: {
|
|
15465
|
+
type: "color",
|
|
15466
|
+
color: "primary"
|
|
15467
|
+
}
|
|
15468
|
+
},
|
|
15469
|
+
"brand-depth-band": {
|
|
15470
|
+
background: {
|
|
15471
|
+
type: "color",
|
|
15472
|
+
color: "primary-800"
|
|
15473
|
+
}
|
|
15474
|
+
},
|
|
15475
|
+
"hero-image": {
|
|
15476
|
+
background: {
|
|
15477
|
+
type: "image",
|
|
15478
|
+
opacity: 1,
|
|
15479
|
+
position: "center center",
|
|
15480
|
+
...uniformSectionForeground("text")
|
|
15481
|
+
}
|
|
15482
|
+
}
|
|
15483
|
+
},
|
|
15484
|
+
heroLegibility: {
|
|
15485
|
+
"scrim-gradient": {
|
|
15486
|
+
type: "gradient",
|
|
15487
|
+
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
15488
|
+
opacity: 1
|
|
15489
|
+
},
|
|
15490
|
+
"solid-panel": {
|
|
15491
|
+
type: "color",
|
|
15492
|
+
color: "surface",
|
|
15493
|
+
opacity: 0.88
|
|
15494
|
+
}
|
|
15495
|
+
},
|
|
15496
|
+
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
15497
|
+
});
|
|
15498
|
+
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
15499
|
+
panelFrames: {
|
|
15500
|
+
inset: {
|
|
15501
|
+
spacing: "comfortable",
|
|
15502
|
+
rounded: "xl",
|
|
15503
|
+
raised: false,
|
|
15504
|
+
background: {
|
|
15505
|
+
type: "color",
|
|
15506
|
+
color: "surfaceAlt",
|
|
15507
|
+
textColor: "text"
|
|
15508
|
+
}
|
|
15509
|
+
},
|
|
15510
|
+
raised: {
|
|
15511
|
+
spacing: "comfortable",
|
|
15512
|
+
rounded: "xl",
|
|
15513
|
+
raised: true,
|
|
15514
|
+
background: {
|
|
15515
|
+
type: "color",
|
|
15516
|
+
color: "surfaceAlt",
|
|
15517
|
+
textColor: "text"
|
|
15518
|
+
}
|
|
15519
|
+
},
|
|
15520
|
+
editorial: {
|
|
15521
|
+
spacing: "medium",
|
|
15522
|
+
rounded: "xl",
|
|
15523
|
+
raised: false,
|
|
15524
|
+
background: {
|
|
15525
|
+
type: "color",
|
|
15526
|
+
color: "surface",
|
|
15527
|
+
textColor: "text"
|
|
15528
|
+
}
|
|
15529
|
+
}
|
|
15530
|
+
},
|
|
15531
|
+
flushFrames: {
|
|
15532
|
+
"media-panel": {
|
|
15533
|
+
fullWidth: true,
|
|
15534
|
+
spacing: "none",
|
|
15535
|
+
rounded: "none",
|
|
15536
|
+
raised: false
|
|
15537
|
+
}
|
|
15538
|
+
},
|
|
15539
|
+
itemSurfaces: {
|
|
15540
|
+
none: null,
|
|
15541
|
+
default: {
|
|
15542
|
+
spacing: "medium",
|
|
15543
|
+
rounded: "lg",
|
|
15544
|
+
raised: false
|
|
15545
|
+
},
|
|
15546
|
+
flat: {
|
|
15547
|
+
spacing: "medium",
|
|
15548
|
+
rounded: "lg",
|
|
15549
|
+
raised: false
|
|
15550
|
+
},
|
|
15551
|
+
outlined: {
|
|
15552
|
+
spacing: "medium",
|
|
15553
|
+
rounded: "lg",
|
|
15554
|
+
raised: false,
|
|
15555
|
+
border: {
|
|
15556
|
+
enabled: true,
|
|
15557
|
+
width: "1",
|
|
15558
|
+
colorToken: "border"
|
|
15559
|
+
}
|
|
15560
|
+
},
|
|
15561
|
+
raised: {
|
|
15562
|
+
spacing: "medium",
|
|
15563
|
+
rounded: "xl",
|
|
15564
|
+
raised: true
|
|
15565
|
+
},
|
|
15566
|
+
inset: {
|
|
15567
|
+
treatment: "soft-panel",
|
|
15568
|
+
spacing: "comfortable",
|
|
15569
|
+
rounded: "xl",
|
|
15570
|
+
raised: false,
|
|
15571
|
+
border: {
|
|
15572
|
+
enabled: false
|
|
15573
|
+
},
|
|
15574
|
+
background: {
|
|
15575
|
+
type: "color",
|
|
15576
|
+
color: "surfaceAlt",
|
|
15577
|
+
textColor: "text"
|
|
15578
|
+
}
|
|
15579
|
+
},
|
|
15580
|
+
editorial: {
|
|
15581
|
+
// Boxless open column with a short rule on top; the visual treatment
|
|
15582
|
+
// lives in blocks-static/card-treatments.css.
|
|
15583
|
+
treatment: "editorial-rule",
|
|
15584
|
+
spacing: "none",
|
|
15585
|
+
rounded: "none",
|
|
15586
|
+
raised: false,
|
|
15587
|
+
border: {
|
|
15588
|
+
enabled: false
|
|
15589
|
+
}
|
|
15590
|
+
},
|
|
15591
|
+
"color-blocked": {
|
|
15592
|
+
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
15593
|
+
// (by position) and staggered offset live in
|
|
15594
|
+
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
15595
|
+
// generous padding, large radius, no border, flat (no shadow).
|
|
15596
|
+
treatment: "color-blocked",
|
|
15597
|
+
spacing: "spacious",
|
|
15598
|
+
rounded: "2xl",
|
|
15599
|
+
raised: false,
|
|
15600
|
+
border: {
|
|
15601
|
+
enabled: false
|
|
15602
|
+
}
|
|
15603
|
+
}
|
|
15604
|
+
}
|
|
15605
|
+
});
|
|
15606
|
+
function uniformSectionForeground(token) {
|
|
15607
|
+
return {
|
|
15608
|
+
textColor: token,
|
|
15609
|
+
headingColor: token,
|
|
15610
|
+
linkColor: token,
|
|
15611
|
+
supportingColor: token
|
|
15612
|
+
};
|
|
15613
|
+
}
|
|
15614
|
+
|
|
14739
15615
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
14740
15616
|
var SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
|
|
14741
15617
|
var SOFT_EARTH_SITE_STYLE_ID = asSiteStyleId(SOFT_EARTH_SITE_STYLE_ID_VALUE);
|
|
@@ -14754,6 +15630,7 @@ var curatedSiteStyleIdValues = [
|
|
|
14754
15630
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
14755
15631
|
"site-style:bold-launch",
|
|
14756
15632
|
"site-style:south-west-twerk-school",
|
|
15633
|
+
"site-style:kirtan-ornate",
|
|
14757
15634
|
"site-style:original-joy"
|
|
14758
15635
|
];
|
|
14759
15636
|
var quietBudget = {
|
|
@@ -14780,6 +15657,50 @@ var expressiveBudget = {
|
|
|
14780
15657
|
mediaDensity: "high",
|
|
14781
15658
|
decorativeRepetition: "medium"
|
|
14782
15659
|
};
|
|
15660
|
+
var kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15661
|
+
...defaultDesignRuntimeRules,
|
|
15662
|
+
defaultEyebrowTreatment: "accent",
|
|
15663
|
+
sectionSurfaces: {
|
|
15664
|
+
...defaultDesignRuntimeRules.sectionSurfaces,
|
|
15665
|
+
"muted-band": {
|
|
15666
|
+
background: {
|
|
15667
|
+
type: "color",
|
|
15668
|
+
color: "muted"
|
|
15669
|
+
},
|
|
15670
|
+
foreground: {
|
|
15671
|
+
textColor: "text",
|
|
15672
|
+
headingColor: "primary",
|
|
15673
|
+
linkColor: "primary",
|
|
15674
|
+
supportingColor: "text"
|
|
15675
|
+
}
|
|
15676
|
+
},
|
|
15677
|
+
"brand-depth-band": {
|
|
15678
|
+
background: {
|
|
15679
|
+
type: "color",
|
|
15680
|
+
color: "primary-800"
|
|
15681
|
+
},
|
|
15682
|
+
foreground: {
|
|
15683
|
+
textColor: "text",
|
|
15684
|
+
headingColor: "primary",
|
|
15685
|
+
linkColor: "primary",
|
|
15686
|
+
supportingColor: "text"
|
|
15687
|
+
}
|
|
15688
|
+
},
|
|
15689
|
+
"hero-image": {
|
|
15690
|
+
background: {
|
|
15691
|
+
type: "image",
|
|
15692
|
+
opacity: 1,
|
|
15693
|
+
position: "center center"
|
|
15694
|
+
},
|
|
15695
|
+
foreground: {
|
|
15696
|
+
textColor: "text",
|
|
15697
|
+
headingColor: "primary",
|
|
15698
|
+
linkColor: "primary",
|
|
15699
|
+
supportingColor: "text"
|
|
15700
|
+
}
|
|
15701
|
+
}
|
|
15702
|
+
}
|
|
15703
|
+
});
|
|
14783
15704
|
var expressiveUnderlineInputs = {
|
|
14784
15705
|
base: {
|
|
14785
15706
|
background: { type: "transparent" },
|
|
@@ -14817,6 +15738,43 @@ var expressiveUnderlineInputs = {
|
|
|
14817
15738
|
opacity: 0.6
|
|
14818
15739
|
}
|
|
14819
15740
|
};
|
|
15741
|
+
var ornateDarkInputs = {
|
|
15742
|
+
base: {
|
|
15743
|
+
background: { type: "solid", colorToken: "surfaceAlt" },
|
|
15744
|
+
textColorToken: "text",
|
|
15745
|
+
border: {
|
|
15746
|
+
widthClass: "border",
|
|
15747
|
+
colorToken: "primary/45",
|
|
15748
|
+
style: "all"
|
|
15749
|
+
},
|
|
15750
|
+
corners: "square",
|
|
15751
|
+
shadow: null,
|
|
15752
|
+
spacing: "medium",
|
|
15753
|
+
fontSize: "base"
|
|
15754
|
+
},
|
|
15755
|
+
label: {
|
|
15756
|
+
textColorToken: "primary",
|
|
15757
|
+
fontWeight: "semibold",
|
|
15758
|
+
fontSize: "xs",
|
|
15759
|
+
textTransform: "uppercase",
|
|
15760
|
+
letterSpacing: "wider",
|
|
15761
|
+
opacity: 1
|
|
15762
|
+
},
|
|
15763
|
+
focus: {
|
|
15764
|
+
ringColorToken: "primary/18",
|
|
15765
|
+
ringWidth: "2",
|
|
15766
|
+
borderColorToken: "primary/70"
|
|
15767
|
+
},
|
|
15768
|
+
error: {
|
|
15769
|
+
borderColorToken: "destructive",
|
|
15770
|
+
textColorToken: "destructive"
|
|
15771
|
+
},
|
|
15772
|
+
disabled: {
|
|
15773
|
+
backgroundColorToken: "muted",
|
|
15774
|
+
textColorToken: "mutedText",
|
|
15775
|
+
opacity: 0.6
|
|
15776
|
+
}
|
|
15777
|
+
};
|
|
14820
15778
|
function uniqueContentFrameKinds() {
|
|
14821
15779
|
const kinds = [
|
|
14822
15780
|
...new Set(
|
|
@@ -14874,6 +15832,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
14874
15832
|
// clean/minimal styles default to none.
|
|
14875
15833
|
headingDecoration: input.headingDecoration ?? noHeadingDecoration,
|
|
14876
15834
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
15835
|
+
...input.designRuntimeRules ? { designRuntimeRules: input.designRuntimeRules } : {},
|
|
14877
15836
|
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
14878
15837
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
14879
15838
|
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
@@ -15824,6 +16783,80 @@ var curatedSiteStyles = [
|
|
|
15824
16783
|
paletteChoice("high-contrast-ink")
|
|
15825
16784
|
]
|
|
15826
16785
|
}),
|
|
16786
|
+
defineCuratedSiteStyle({
|
|
16787
|
+
id: "site-style:kirtan-ornate",
|
|
16788
|
+
name: "Kirtan Ornate",
|
|
16789
|
+
headingDecoration: { family: "short-center-rule", colorToken: "accent" },
|
|
16790
|
+
description: "Ceremonial, jewel-toned, and devotional: ornate frames, warm contrast, and composed rhythm for intimate music gatherings.",
|
|
16791
|
+
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.",
|
|
16792
|
+
selectionKeywordRules: [
|
|
16793
|
+
{ kind: "word", value: "kirtan" },
|
|
16794
|
+
{ kind: "word", value: "chanting" },
|
|
16795
|
+
{ kind: "word", value: "ceremony" },
|
|
16796
|
+
{ kind: "word", value: "devotional" }
|
|
16797
|
+
],
|
|
16798
|
+
tokenRecipes: {
|
|
16799
|
+
palette: "brand-led",
|
|
16800
|
+
contrast: "strong",
|
|
16801
|
+
radius: "soft",
|
|
16802
|
+
shadow: "subtle",
|
|
16803
|
+
typography: "serif-editorial",
|
|
16804
|
+
spacing: "airy",
|
|
16805
|
+
motion: "subtle"
|
|
16806
|
+
},
|
|
16807
|
+
compositionBudget: expressiveBudget,
|
|
16808
|
+
typographyPresetChoices: [
|
|
16809
|
+
typographyChoice("typography-preset:kirtan-ornate"),
|
|
16810
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
16811
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
16812
|
+
],
|
|
16813
|
+
defaultTypographyPresetId: "typography-preset:kirtan-ornate",
|
|
16814
|
+
themeOverrides: {
|
|
16815
|
+
accordions: warmInsetAccordionSystem,
|
|
16816
|
+
cards: originalJoyCardSystem,
|
|
16817
|
+
testimonialQuote: serifDisplayQuote,
|
|
16818
|
+
bodyText: {
|
|
16819
|
+
intro: {
|
|
16820
|
+
paragraphSize: "editorial",
|
|
16821
|
+
headingSize: "editorial"
|
|
16822
|
+
}
|
|
16823
|
+
},
|
|
16824
|
+
inputs: ornateDarkInputs
|
|
16825
|
+
},
|
|
16826
|
+
designRuntimeRules: kirtanOrnateDesignRuntimeRules,
|
|
16827
|
+
recommendedAppearancePresetIds: [
|
|
16828
|
+
"hero-brand-scrim-fixed-frame",
|
|
16829
|
+
"media-text-quiet-story",
|
|
16830
|
+
"events-lined-panel",
|
|
16831
|
+
"schedule-details-brand-depth",
|
|
16832
|
+
"testimonials-statement-cards",
|
|
16833
|
+
"contact-form-panel"
|
|
16834
|
+
],
|
|
16835
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
16836
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
16837
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
16838
|
+
floating: [
|
|
16839
|
+
headerStyleChoice("minimal-surface"),
|
|
16840
|
+
headerStyleChoice("split-glass"),
|
|
16841
|
+
headerStyleChoice("glass")
|
|
16842
|
+
]
|
|
16843
|
+
},
|
|
16844
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
16845
|
+
recommendedFooterLookIds: [
|
|
16846
|
+
"site-footer-brand-two-band",
|
|
16847
|
+
"footer-muted-grounding"
|
|
16848
|
+
],
|
|
16849
|
+
buttonPersonalityChoices: [
|
|
16850
|
+
buttonChoice("ornate-ritual"),
|
|
16851
|
+
buttonChoice("joy-stamp"),
|
|
16852
|
+
buttonChoice("ink-stamp")
|
|
16853
|
+
],
|
|
16854
|
+
paletteVariantChoices: [
|
|
16855
|
+
paletteChoice("warm-dark-kirtan-gold"),
|
|
16856
|
+
paletteChoice("warm-dark-ember"),
|
|
16857
|
+
paletteChoice("brand-led-burgundy-gold")
|
|
16858
|
+
]
|
|
16859
|
+
}),
|
|
15827
16860
|
defineCuratedSiteStyle({
|
|
15828
16861
|
id: "site-style:original-joy",
|
|
15829
16862
|
name: "Original Joy",
|
|
@@ -15927,319 +16960,6 @@ var pageFlowPresets = [
|
|
|
15927
16960
|
}
|
|
15928
16961
|
];
|
|
15929
16962
|
|
|
15930
|
-
// ../theme-core/src/site-styles/designState.ts
|
|
15931
|
-
import { z as z24 } from "zod";
|
|
15932
|
-
var themeV2DesignStateSchemaVersion = 1;
|
|
15933
|
-
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15934
|
-
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15935
|
-
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15936
|
-
fields3[0],
|
|
15937
|
-
...fields3.slice(1)
|
|
15938
|
-
]);
|
|
15939
|
-
var heroLegibilityStrategySchema = z24.enum([
|
|
15940
|
-
"none",
|
|
15941
|
-
"scrim-gradient",
|
|
15942
|
-
"solid-panel"
|
|
15943
|
-
]);
|
|
15944
|
-
var heroCompositionIntentSchema = z24.enum([
|
|
15945
|
-
"center",
|
|
15946
|
-
"bottom-left"
|
|
15947
|
-
]);
|
|
15948
|
-
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15949
|
-
"quiet",
|
|
15950
|
-
"editorial",
|
|
15951
|
-
"display",
|
|
15952
|
-
"poster"
|
|
15953
|
-
]);
|
|
15954
|
-
var sectionHeightIntentSchema = z24.enum([
|
|
15955
|
-
"default",
|
|
15956
|
-
"banner",
|
|
15957
|
-
"hero",
|
|
15958
|
-
"immersive"
|
|
15959
|
-
]);
|
|
15960
|
-
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15961
|
-
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15962
|
-
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15963
|
-
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15964
|
-
z24.object({
|
|
15965
|
-
kind: z24.literal("brand-scrim"),
|
|
15966
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15967
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15968
|
-
}).strict(),
|
|
15969
|
-
z24.object({
|
|
15970
|
-
kind: z24.literal("brand-wash"),
|
|
15971
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15972
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15973
|
-
}).strict(),
|
|
15974
|
-
z24.object({
|
|
15975
|
-
kind: z24.literal("neutral-scrim"),
|
|
15976
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15977
|
-
}).strict(),
|
|
15978
|
-
z24.object({
|
|
15979
|
-
kind: z24.literal("neutral-wash"),
|
|
15980
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15981
|
-
}).strict(),
|
|
15982
|
-
z24.object({
|
|
15983
|
-
kind: z24.literal("solid-panel"),
|
|
15984
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15985
|
-
}).strict()
|
|
15986
|
-
]);
|
|
15987
|
-
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
15988
|
-
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
15989
|
-
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
15990
|
-
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
15991
|
-
function uniqueNonEmpty(values) {
|
|
15992
|
-
const uniqueValues = [...new Set(values)];
|
|
15993
|
-
const firstValue = uniqueValues[0];
|
|
15994
|
-
if (!firstValue) {
|
|
15995
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
15996
|
-
}
|
|
15997
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
15998
|
-
}
|
|
15999
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
16000
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
16001
|
-
);
|
|
16002
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
16003
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
16004
|
-
);
|
|
16005
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
16006
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
16007
|
-
);
|
|
16008
|
-
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
16009
|
-
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
16010
|
-
z24.object({
|
|
16011
|
-
kind: z24.literal("panel"),
|
|
16012
|
-
treatment: z24.enum(userPanelTreatments)
|
|
16013
|
-
}).strict(),
|
|
16014
|
-
z24.object({
|
|
16015
|
-
kind: z24.literal("flush-panel"),
|
|
16016
|
-
treatment: z24.enum(userFlushTreatments),
|
|
16017
|
-
bleed: z24.enum(userFlushBleeds)
|
|
16018
|
-
}).strict()
|
|
16019
|
-
]);
|
|
16020
|
-
var blockDesignPlanSchema = z24.object({
|
|
16021
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16022
|
-
blockKind: z24.string().min(1),
|
|
16023
|
-
purpose: z24.string().min(1),
|
|
16024
|
-
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
16025
|
-
contentFrame: contentFrameIntentSchema,
|
|
16026
|
-
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
16027
|
-
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
16028
|
-
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
16029
|
-
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
16030
|
-
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
16031
|
-
heroComposition: heroCompositionIntentSchema.optional(),
|
|
16032
|
-
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
16033
|
-
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
16034
|
-
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
16035
|
-
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
16036
|
-
tileTreatment: tileTreatmentSchema.optional(),
|
|
16037
|
-
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
16038
|
-
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
16039
|
-
}).strict();
|
|
16040
|
-
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
16041
|
-
z24.object({
|
|
16042
|
-
kind: z24.literal("theme-v2"),
|
|
16043
|
-
source: designResolutionPolicySchema,
|
|
16044
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16045
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16046
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16047
|
-
resolverVersion: z24.number().int().nonnegative()
|
|
16048
|
-
}).strict(),
|
|
16049
|
-
z24.object({
|
|
16050
|
-
kind: z24.literal("legacy-raw"),
|
|
16051
|
-
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
16052
|
-
}).strict(),
|
|
16053
|
-
z24.object({
|
|
16054
|
-
kind: z24.literal("advanced-detached"),
|
|
16055
|
-
reason: z24.literal("detached-custom-runtime-fields")
|
|
16056
|
-
}).strict()
|
|
16057
|
-
]);
|
|
16058
|
-
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
16059
|
-
unit: z24.literal("block-runtime-fields"),
|
|
16060
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16061
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
16062
|
-
authority: styleAuthoritySchema
|
|
16063
|
-
}).strict();
|
|
16064
|
-
var persistedPageDesignStateV1Schema = z24.object({
|
|
16065
|
-
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
16066
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16067
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16068
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16069
|
-
resolverVersion: z24.number().int().nonnegative(),
|
|
16070
|
-
rhythmPresetId: z24.string().min(1),
|
|
16071
|
-
blocks: z24.array(blockDesignPlanSchema),
|
|
16072
|
-
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
16073
|
-
}).strict();
|
|
16074
|
-
|
|
16075
|
-
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
16076
|
-
function defineDesignRuntimeRules(rules) {
|
|
16077
|
-
return rules;
|
|
16078
|
-
}
|
|
16079
|
-
function defineComponentRuntimeRules(rules) {
|
|
16080
|
-
return rules;
|
|
16081
|
-
}
|
|
16082
|
-
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
16083
|
-
sectionSurfaces: {
|
|
16084
|
-
base: {},
|
|
16085
|
-
"muted-band": {
|
|
16086
|
-
background: {
|
|
16087
|
-
type: "color",
|
|
16088
|
-
color: "muted"
|
|
16089
|
-
}
|
|
16090
|
-
},
|
|
16091
|
-
"accent-band": {
|
|
16092
|
-
background: {
|
|
16093
|
-
type: "color",
|
|
16094
|
-
color: "primary"
|
|
16095
|
-
}
|
|
16096
|
-
},
|
|
16097
|
-
"brand-depth-band": {
|
|
16098
|
-
background: {
|
|
16099
|
-
type: "color",
|
|
16100
|
-
color: "primary-800"
|
|
16101
|
-
}
|
|
16102
|
-
},
|
|
16103
|
-
"hero-image": {
|
|
16104
|
-
background: {
|
|
16105
|
-
type: "image",
|
|
16106
|
-
opacity: 1,
|
|
16107
|
-
position: "center center",
|
|
16108
|
-
...uniformSectionForeground("text")
|
|
16109
|
-
}
|
|
16110
|
-
}
|
|
16111
|
-
},
|
|
16112
|
-
heroLegibility: {
|
|
16113
|
-
"scrim-gradient": {
|
|
16114
|
-
type: "gradient",
|
|
16115
|
-
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
16116
|
-
opacity: 1
|
|
16117
|
-
},
|
|
16118
|
-
"solid-panel": {
|
|
16119
|
-
type: "color",
|
|
16120
|
-
color: "surface",
|
|
16121
|
-
opacity: 0.88
|
|
16122
|
-
}
|
|
16123
|
-
},
|
|
16124
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
16125
|
-
});
|
|
16126
|
-
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
16127
|
-
panelFrames: {
|
|
16128
|
-
inset: {
|
|
16129
|
-
spacing: "comfortable",
|
|
16130
|
-
rounded: "xl",
|
|
16131
|
-
raised: false,
|
|
16132
|
-
background: {
|
|
16133
|
-
type: "color",
|
|
16134
|
-
color: "surfaceAlt",
|
|
16135
|
-
textColor: "text"
|
|
16136
|
-
}
|
|
16137
|
-
},
|
|
16138
|
-
raised: {
|
|
16139
|
-
spacing: "comfortable",
|
|
16140
|
-
rounded: "xl",
|
|
16141
|
-
raised: true,
|
|
16142
|
-
background: {
|
|
16143
|
-
type: "color",
|
|
16144
|
-
color: "surfaceAlt",
|
|
16145
|
-
textColor: "text"
|
|
16146
|
-
}
|
|
16147
|
-
},
|
|
16148
|
-
editorial: {
|
|
16149
|
-
spacing: "medium",
|
|
16150
|
-
rounded: "xl",
|
|
16151
|
-
raised: false,
|
|
16152
|
-
background: {
|
|
16153
|
-
type: "color",
|
|
16154
|
-
color: "surface",
|
|
16155
|
-
textColor: "text"
|
|
16156
|
-
}
|
|
16157
|
-
}
|
|
16158
|
-
},
|
|
16159
|
-
flushFrames: {
|
|
16160
|
-
"media-panel": {
|
|
16161
|
-
fullWidth: true,
|
|
16162
|
-
spacing: "none",
|
|
16163
|
-
rounded: "none",
|
|
16164
|
-
raised: false
|
|
16165
|
-
}
|
|
16166
|
-
},
|
|
16167
|
-
itemSurfaces: {
|
|
16168
|
-
none: null,
|
|
16169
|
-
default: {
|
|
16170
|
-
spacing: "medium",
|
|
16171
|
-
rounded: "lg",
|
|
16172
|
-
raised: false
|
|
16173
|
-
},
|
|
16174
|
-
flat: {
|
|
16175
|
-
spacing: "medium",
|
|
16176
|
-
rounded: "lg",
|
|
16177
|
-
raised: false
|
|
16178
|
-
},
|
|
16179
|
-
outlined: {
|
|
16180
|
-
spacing: "medium",
|
|
16181
|
-
rounded: "lg",
|
|
16182
|
-
raised: false,
|
|
16183
|
-
border: {
|
|
16184
|
-
enabled: true,
|
|
16185
|
-
width: "1",
|
|
16186
|
-
colorToken: "border"
|
|
16187
|
-
}
|
|
16188
|
-
},
|
|
16189
|
-
raised: {
|
|
16190
|
-
spacing: "medium",
|
|
16191
|
-
rounded: "xl",
|
|
16192
|
-
raised: true
|
|
16193
|
-
},
|
|
16194
|
-
inset: {
|
|
16195
|
-
treatment: "soft-panel",
|
|
16196
|
-
spacing: "comfortable",
|
|
16197
|
-
rounded: "xl",
|
|
16198
|
-
raised: false,
|
|
16199
|
-
border: {
|
|
16200
|
-
enabled: false
|
|
16201
|
-
},
|
|
16202
|
-
background: {
|
|
16203
|
-
type: "color",
|
|
16204
|
-
color: "surfaceAlt",
|
|
16205
|
-
textColor: "text"
|
|
16206
|
-
}
|
|
16207
|
-
},
|
|
16208
|
-
editorial: {
|
|
16209
|
-
// Boxless open column with a short rule on top; the visual treatment
|
|
16210
|
-
// lives in blocks-static/card-treatments.css.
|
|
16211
|
-
treatment: "editorial-rule",
|
|
16212
|
-
spacing: "none",
|
|
16213
|
-
rounded: "none",
|
|
16214
|
-
raised: false,
|
|
16215
|
-
border: {
|
|
16216
|
-
enabled: false
|
|
16217
|
-
}
|
|
16218
|
-
},
|
|
16219
|
-
"color-blocked": {
|
|
16220
|
-
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
16221
|
-
// (by position) and staggered offset live in
|
|
16222
|
-
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
16223
|
-
// generous padding, large radius, no border, flat (no shadow).
|
|
16224
|
-
treatment: "color-blocked",
|
|
16225
|
-
spacing: "spacious",
|
|
16226
|
-
rounded: "2xl",
|
|
16227
|
-
raised: false,
|
|
16228
|
-
border: {
|
|
16229
|
-
enabled: false
|
|
16230
|
-
}
|
|
16231
|
-
}
|
|
16232
|
-
}
|
|
16233
|
-
});
|
|
16234
|
-
function uniformSectionForeground(token) {
|
|
16235
|
-
return {
|
|
16236
|
-
textColor: token,
|
|
16237
|
-
headingColor: token,
|
|
16238
|
-
linkColor: token,
|
|
16239
|
-
supportingColor: token
|
|
16240
|
-
};
|
|
16241
|
-
}
|
|
16242
|
-
|
|
16243
16963
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
16244
16964
|
import { z as z25 } from "zod";
|
|
16245
16965
|
function uniqueNonEmpty2(values) {
|
|
@@ -17051,6 +17771,31 @@ function cardStylesField(options = {}) {
|
|
|
17051
17771
|
return createBoxStylesFieldWithDepth("card", options);
|
|
17052
17772
|
}
|
|
17053
17773
|
|
|
17774
|
+
// ../blocks/src/system/fields/imageShape.ts
|
|
17775
|
+
var standardImageShapeOptions = [
|
|
17776
|
+
{ value: "default", label: "Default" },
|
|
17777
|
+
{ value: "square", label: "Square corners" },
|
|
17778
|
+
{ value: "rounded", label: "Rounded corners" },
|
|
17779
|
+
{ value: "circle", label: "Circle" },
|
|
17780
|
+
{ value: "arch", label: "Arch" }
|
|
17781
|
+
];
|
|
17782
|
+
function createImageShapeField(options = {}) {
|
|
17783
|
+
return {
|
|
17784
|
+
id: options.id ?? "imageShape",
|
|
17785
|
+
type: "select",
|
|
17786
|
+
label: options.label ?? "Image shape",
|
|
17787
|
+
...options.description ? { description: options.description } : {},
|
|
17788
|
+
required: false,
|
|
17789
|
+
defaultValue: options.defaultValue ?? "default",
|
|
17790
|
+
multiple: false,
|
|
17791
|
+
options: [...standardImageShapeOptions],
|
|
17792
|
+
ui: {
|
|
17793
|
+
intent: options.uiIntent ?? "display",
|
|
17794
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
17795
|
+
}
|
|
17796
|
+
};
|
|
17797
|
+
}
|
|
17798
|
+
|
|
17054
17799
|
// ../blocks/src/utils/env.ts
|
|
17055
17800
|
function isDevEnvironment() {
|
|
17056
17801
|
try {
|
|
@@ -17865,7 +18610,7 @@ function buildFooterNavAll(common) {
|
|
|
17865
18610
|
return stack(
|
|
17866
18611
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17867
18612
|
[item],
|
|
17868
|
-
|
|
18613
|
+
whenCollectionHasItems(collectionPath)
|
|
17869
18614
|
);
|
|
17870
18615
|
}
|
|
17871
18616
|
function buildFooterNavLinksOnly(common) {
|
|
@@ -17898,7 +18643,7 @@ function buildFooterNavLinksOnly(common) {
|
|
|
17898
18643
|
return stack(
|
|
17899
18644
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17900
18645
|
[item],
|
|
17901
|
-
|
|
18646
|
+
whenCollectionHasItems(collectionPath)
|
|
17902
18647
|
);
|
|
17903
18648
|
}
|
|
17904
18649
|
function buildFooterNavFlatten(common) {
|
|
@@ -17947,9 +18692,20 @@ function buildFooterNavFlatten(common) {
|
|
|
17947
18692
|
return stack(
|
|
17948
18693
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17949
18694
|
[item],
|
|
17950
|
-
|
|
18695
|
+
whenCollectionHasItems(collectionPath)
|
|
17951
18696
|
);
|
|
17952
18697
|
}
|
|
18698
|
+
var whenCollectionHasItems = (collectionPath) => (node) => ({
|
|
18699
|
+
...node,
|
|
18700
|
+
$when: {
|
|
18701
|
+
when: {
|
|
18702
|
+
from: collectionPath,
|
|
18703
|
+
transforms: [{ id: "array.length" }]
|
|
18704
|
+
},
|
|
18705
|
+
equals: 0,
|
|
18706
|
+
not: true
|
|
18707
|
+
}
|
|
18708
|
+
});
|
|
17953
18709
|
function footerNav(opts) {
|
|
17954
18710
|
const mode = opts?.mode ?? "all";
|
|
17955
18711
|
const collectionPath = opts?.collectionPath ?? "footerMenu.items";
|
|
@@ -20532,8 +21288,23 @@ function fragmentsToRepeaterField(id, label, fragments, options = {}) {
|
|
|
20532
21288
|
var heroLayoutControlsFragment = defineFragment({
|
|
20533
21289
|
id: "heroLayoutControls",
|
|
20534
21290
|
title: "Hero Layout",
|
|
20535
|
-
description: "
|
|
21291
|
+
description: "Title scale, alignment, and content width controls for hero layouts.",
|
|
20536
21292
|
fields: [
|
|
21293
|
+
{
|
|
21294
|
+
id: "titleSize",
|
|
21295
|
+
type: "select",
|
|
21296
|
+
label: "Title size",
|
|
21297
|
+
description: "Adjust the visual scale of the hero title.",
|
|
21298
|
+
required: false,
|
|
21299
|
+
ui: { intent: "display" },
|
|
21300
|
+
options: [
|
|
21301
|
+
{ value: "auto", label: "Auto" },
|
|
21302
|
+
{ value: "quiet", label: "Normal" },
|
|
21303
|
+
{ value: "editorial", label: "Large" },
|
|
21304
|
+
{ value: "display", label: "Huge" },
|
|
21305
|
+
{ value: "poster", label: "Poster" }
|
|
21306
|
+
]
|
|
21307
|
+
},
|
|
20537
21308
|
{
|
|
20538
21309
|
id: "contentAlignment",
|
|
20539
21310
|
type: "select",
|
|
@@ -21328,7 +22099,18 @@ function heroSplitImagePane() {
|
|
|
21328
22099
|
return stack(
|
|
21329
22100
|
{
|
|
21330
22101
|
gap: "none",
|
|
21331
|
-
className:
|
|
22102
|
+
className: {
|
|
22103
|
+
$bind: {
|
|
22104
|
+
from: "content.imageShape",
|
|
22105
|
+
transforms: [
|
|
22106
|
+
{
|
|
22107
|
+
id: "ui.imageShapeClassName",
|
|
22108
|
+
options: { baseClass: "rb-relative rb-overflow-hidden rb-rounded-3xl" }
|
|
22109
|
+
}
|
|
22110
|
+
],
|
|
22111
|
+
fallback: "rb-relative rb-overflow-hidden rb-rounded-3xl"
|
|
22112
|
+
}
|
|
22113
|
+
},
|
|
21332
22114
|
style: {
|
|
21333
22115
|
minHeight: "clamp(18rem, 36vw, 34rem)"
|
|
21334
22116
|
}
|
|
@@ -21446,6 +22228,12 @@ var heroConfig = {
|
|
|
21446
22228
|
label: "Content card",
|
|
21447
22229
|
renderInHeader: true,
|
|
21448
22230
|
intent: "style"
|
|
22231
|
+
}),
|
|
22232
|
+
createImageShapeField({
|
|
22233
|
+
id: "imageShape",
|
|
22234
|
+
label: "Image shape",
|
|
22235
|
+
defaultValue: "default",
|
|
22236
|
+
uiIntent: "display"
|
|
21449
22237
|
})
|
|
21450
22238
|
],
|
|
21451
22239
|
layout: classicLayout,
|
|
@@ -21460,6 +22248,15 @@ var heroConfig = {
|
|
|
21460
22248
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
21461
22249
|
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
21462
22250
|
icon: "Sparkles",
|
|
22251
|
+
previewCustomize: {
|
|
22252
|
+
quickFieldPriority: [
|
|
22253
|
+
"titleSize",
|
|
22254
|
+
"contentAlignment",
|
|
22255
|
+
"contentMaxWidth",
|
|
22256
|
+
"verticalAlignment",
|
|
22257
|
+
"imageShape"
|
|
22258
|
+
]
|
|
22259
|
+
},
|
|
21463
22260
|
styleTokens: {
|
|
21464
22261
|
typography: "display",
|
|
21465
22262
|
spacing: "xl"
|
|
@@ -21476,7 +22273,8 @@ var standardAspectRatioOptions = [
|
|
|
21476
22273
|
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
21477
22274
|
{ value: "4/3", label: "4:3 (Standard)" },
|
|
21478
22275
|
{ value: "1/1", label: "1:1 (Square)" },
|
|
21479
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
22276
|
+
{ value: "3/4", label: "3:4 (Portrait)" },
|
|
22277
|
+
{ value: "9/16", label: "9:16 (Tall portrait)" }
|
|
21480
22278
|
];
|
|
21481
22279
|
function createAspectRatioField(options = {}) {
|
|
21482
22280
|
return {
|
|
@@ -22696,6 +23494,258 @@ var formBlockDefinition = {
|
|
|
22696
23494
|
runtime: formBlockRuntime
|
|
22697
23495
|
};
|
|
22698
23496
|
|
|
23497
|
+
// ../blocks/src/system/blocks/contact-newsletter.ts
|
|
23498
|
+
var contactNewsletterLayout = styledSection({
|
|
23499
|
+
children: sectionContainer([
|
|
23500
|
+
el(
|
|
23501
|
+
"div",
|
|
23502
|
+
{ className: "contact-newsletter-grid" },
|
|
23503
|
+
[
|
|
23504
|
+
el(
|
|
23505
|
+
"div",
|
|
23506
|
+
{ className: "contact-newsletter-column contact-newsletter-contact" },
|
|
23507
|
+
[
|
|
23508
|
+
el(
|
|
23509
|
+
"div",
|
|
23510
|
+
{ className: "contact-newsletter-copy" },
|
|
23511
|
+
[
|
|
23512
|
+
text(
|
|
23513
|
+
{
|
|
23514
|
+
as: "h2",
|
|
23515
|
+
className: "form-copy-title"
|
|
23516
|
+
},
|
|
23517
|
+
when("contactTitle"),
|
|
23518
|
+
bind("contactTitle")
|
|
23519
|
+
),
|
|
23520
|
+
richText(
|
|
23521
|
+
{
|
|
23522
|
+
className: "form-copy-intro rb-prose rb-max-w-none"
|
|
23523
|
+
},
|
|
23524
|
+
when("contactIntro"),
|
|
23525
|
+
bind("contactIntro")
|
|
23526
|
+
)
|
|
23527
|
+
]
|
|
23528
|
+
),
|
|
23529
|
+
el(
|
|
23530
|
+
"form",
|
|
23531
|
+
withApiBindings({
|
|
23532
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } },
|
|
23533
|
+
submitLabel: { $bind: { from: "contactSubmitLabel" } },
|
|
23534
|
+
successMessage: { $bind: { from: "contactSuccessMessage" } }
|
|
23535
|
+
}),
|
|
23536
|
+
[],
|
|
23537
|
+
bind("data.form")
|
|
23538
|
+
)
|
|
23539
|
+
]
|
|
23540
|
+
),
|
|
23541
|
+
el(
|
|
23542
|
+
"div",
|
|
23543
|
+
{ className: "contact-newsletter-column contact-newsletter-info contact-newsletter-newsletter" },
|
|
23544
|
+
[
|
|
23545
|
+
el(
|
|
23546
|
+
"div",
|
|
23547
|
+
{ className: "contact-newsletter-copy" },
|
|
23548
|
+
[
|
|
23549
|
+
text(
|
|
23550
|
+
{
|
|
23551
|
+
as: "h2",
|
|
23552
|
+
className: "newsletter-copy-title"
|
|
23553
|
+
},
|
|
23554
|
+
when("newsletterTitle"),
|
|
23555
|
+
bind("newsletterTitle")
|
|
23556
|
+
),
|
|
23557
|
+
richText(
|
|
23558
|
+
{
|
|
23559
|
+
className: "newsletter-copy-subtitle rb-prose rb-max-w-none"
|
|
23560
|
+
},
|
|
23561
|
+
when("newsletterSubtitle"),
|
|
23562
|
+
bind("newsletterSubtitle")
|
|
23563
|
+
)
|
|
23564
|
+
]
|
|
23565
|
+
),
|
|
23566
|
+
el(
|
|
23567
|
+
"newsletter-form",
|
|
23568
|
+
withApiBindings({
|
|
23569
|
+
listId: { $bind: { from: "listId" } },
|
|
23570
|
+
preset: { $bind: { from: "preset" } },
|
|
23571
|
+
includePhone: { $bind: { from: "includePhone" } },
|
|
23572
|
+
buttonLabel: { $bind: { from: "newsletterButtonLabel" } },
|
|
23573
|
+
successMessage: { $bind: { from: "newsletterSuccessMessage" } },
|
|
23574
|
+
privacyNote: { $bind: { from: "newsletterPrivacyNote" } },
|
|
23575
|
+
tags: { $bind: { from: "newsletterTags" } },
|
|
23576
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } }
|
|
23577
|
+
}),
|
|
23578
|
+
[]
|
|
23579
|
+
)
|
|
23580
|
+
]
|
|
23581
|
+
)
|
|
23582
|
+
]
|
|
23583
|
+
)
|
|
23584
|
+
], {
|
|
23585
|
+
className: "contact-newsletter-container"
|
|
23586
|
+
}),
|
|
23587
|
+
baseClass: "",
|
|
23588
|
+
spacing: "medium",
|
|
23589
|
+
background: "surface"
|
|
23590
|
+
});
|
|
23591
|
+
var contactNewsletterManifest = createBlockManifest({
|
|
23592
|
+
id: "block.contact-newsletter",
|
|
23593
|
+
title: "Contact + Newsletter",
|
|
23594
|
+
titleSource: "contactTitle",
|
|
23595
|
+
description: "Two-column newsletter signup and contact form section.",
|
|
23596
|
+
category: "interactive",
|
|
23597
|
+
layout: contactNewsletterLayout,
|
|
23598
|
+
defaultVariant: "default",
|
|
23599
|
+
variants: {
|
|
23600
|
+
default: contactNewsletterLayout
|
|
23601
|
+
},
|
|
23602
|
+
variantOptions: {
|
|
23603
|
+
default: {
|
|
23604
|
+
label: "Two column",
|
|
23605
|
+
description: "Newsletter and contact form side by side.",
|
|
23606
|
+
icon: "Columns2"
|
|
23607
|
+
}
|
|
23608
|
+
},
|
|
23609
|
+
additionalFields: [
|
|
23610
|
+
{
|
|
23611
|
+
id: "newsletterTitle",
|
|
23612
|
+
type: "text",
|
|
23613
|
+
label: "Newsletter title",
|
|
23614
|
+
defaultValue: "Stay connected"
|
|
23615
|
+
},
|
|
23616
|
+
{
|
|
23617
|
+
id: "newsletterSubtitle",
|
|
23618
|
+
type: "richText",
|
|
23619
|
+
label: "Newsletter intro"
|
|
23620
|
+
},
|
|
23621
|
+
{
|
|
23622
|
+
id: "listId",
|
|
23623
|
+
type: "reference",
|
|
23624
|
+
label: "Newsletter list",
|
|
23625
|
+
description: "Select the list new subscribers should be added to.",
|
|
23626
|
+
required: true,
|
|
23627
|
+
referenceKind: "newsletterList",
|
|
23628
|
+
allowManualEntry: false,
|
|
23629
|
+
ui: { intent: "behavior" }
|
|
23630
|
+
},
|
|
23631
|
+
{
|
|
23632
|
+
id: "preset",
|
|
23633
|
+
type: "select",
|
|
23634
|
+
label: "Newsletter fields",
|
|
23635
|
+
defaultValue: "emailOnly",
|
|
23636
|
+
ui: { intent: "display" },
|
|
23637
|
+
options: [
|
|
23638
|
+
{ value: "emailOnly", label: "Email only" },
|
|
23639
|
+
{ value: "emailName", label: "Email + Name" },
|
|
23640
|
+
{ value: "emailFirstLast", label: "Email + First/Last Name" },
|
|
23641
|
+
{ value: "emailNameCompany", label: "Email + Name + Company (B2B)" }
|
|
23642
|
+
]
|
|
23643
|
+
},
|
|
23644
|
+
{
|
|
23645
|
+
id: "includePhone",
|
|
23646
|
+
type: "boolean",
|
|
23647
|
+
label: "Include phone field",
|
|
23648
|
+
defaultValue: false,
|
|
23649
|
+
ui: { intent: "display" }
|
|
23650
|
+
},
|
|
23651
|
+
{
|
|
23652
|
+
id: "newsletterButtonLabel",
|
|
23653
|
+
type: "text",
|
|
23654
|
+
label: "Newsletter button label",
|
|
23655
|
+
defaultValue: "Subscribe",
|
|
23656
|
+
ui: { intent: "display" }
|
|
23657
|
+
},
|
|
23658
|
+
{
|
|
23659
|
+
id: "newsletterSuccessMessage",
|
|
23660
|
+
type: "text",
|
|
23661
|
+
label: "Newsletter success message",
|
|
23662
|
+
defaultValue: "Thanks for subscribing!",
|
|
23663
|
+
ui: { intent: "behavior" }
|
|
23664
|
+
},
|
|
23665
|
+
{
|
|
23666
|
+
id: "newsletterPrivacyNote",
|
|
23667
|
+
type: "text",
|
|
23668
|
+
label: "Privacy note",
|
|
23669
|
+
ui: { intent: "display" }
|
|
23670
|
+
},
|
|
23671
|
+
{
|
|
23672
|
+
id: "newsletterTags",
|
|
23673
|
+
type: "text",
|
|
23674
|
+
label: "Newsletter tags",
|
|
23675
|
+
description: "Optional tags to apply on subscribe, separated by comma or semicolon.",
|
|
23676
|
+
ui: { intent: "behavior" }
|
|
23677
|
+
},
|
|
23678
|
+
{
|
|
23679
|
+
id: "contactTitle",
|
|
23680
|
+
type: "text",
|
|
23681
|
+
label: "Contact title",
|
|
23682
|
+
defaultValue: "Get in touch"
|
|
23683
|
+
},
|
|
23684
|
+
{
|
|
23685
|
+
id: "contactIntro",
|
|
23686
|
+
type: "richText",
|
|
23687
|
+
label: "Contact intro"
|
|
23688
|
+
},
|
|
23689
|
+
{
|
|
23690
|
+
id: "formSlug",
|
|
23691
|
+
type: "reference",
|
|
23692
|
+
label: "Contact form",
|
|
23693
|
+
description: "Pick a saved form to render.",
|
|
23694
|
+
required: true,
|
|
23695
|
+
referenceKind: "form",
|
|
23696
|
+
allowManualEntry: false,
|
|
23697
|
+
ui: { intent: "behavior" }
|
|
23698
|
+
},
|
|
23699
|
+
{
|
|
23700
|
+
id: "contactSubmitLabel",
|
|
23701
|
+
type: "text",
|
|
23702
|
+
label: "Contact button label",
|
|
23703
|
+
defaultValue: "Send message",
|
|
23704
|
+
ui: { intent: "display" }
|
|
23705
|
+
},
|
|
23706
|
+
{
|
|
23707
|
+
id: "contactSuccessMessage",
|
|
23708
|
+
type: "text",
|
|
23709
|
+
label: "Contact success message",
|
|
23710
|
+
defaultValue: "Thanks - we received your message.",
|
|
23711
|
+
ui: { intent: "behavior" }
|
|
23712
|
+
}
|
|
23713
|
+
],
|
|
23714
|
+
styleTokens: {
|
|
23715
|
+
background: "surface",
|
|
23716
|
+
typography: "body",
|
|
23717
|
+
spacing: "md"
|
|
23718
|
+
},
|
|
23719
|
+
behaviours: {
|
|
23720
|
+
supportsThemeSwitching: true,
|
|
23721
|
+
inlineEditing: true,
|
|
23722
|
+
animation: false,
|
|
23723
|
+
paletteHidden: false
|
|
23724
|
+
},
|
|
23725
|
+
tags: [
|
|
23726
|
+
"contact",
|
|
23727
|
+
"newsletter",
|
|
23728
|
+
"signup",
|
|
23729
|
+
"email",
|
|
23730
|
+
"form",
|
|
23731
|
+
"lead-capture"
|
|
23732
|
+
],
|
|
23733
|
+
icon: "MailPlus"
|
|
23734
|
+
});
|
|
23735
|
+
var contactNewsletterBlockDefinition = {
|
|
23736
|
+
manifest: contactNewsletterManifest,
|
|
23737
|
+
dataSchemas: { form: formDataSchema.optional() },
|
|
23738
|
+
dataLoaders: {
|
|
23739
|
+
form: {
|
|
23740
|
+
endpoint: "getPublicFormById",
|
|
23741
|
+
params: {
|
|
23742
|
+
formSlug: { $bind: { from: "formSlug" } }
|
|
23743
|
+
},
|
|
23744
|
+
mode: "server"
|
|
23745
|
+
}
|
|
23746
|
+
}
|
|
23747
|
+
};
|
|
23748
|
+
|
|
22699
23749
|
// ../blocks/src/system/blocks/faq.ts
|
|
22700
23750
|
function fragmentLayoutNode2(layout) {
|
|
22701
23751
|
return isNodeDefinitionArray2(layout) ? el("div", {}, [...layout]) : layout;
|
|
@@ -22924,6 +23974,7 @@ var joinClasses3 = (parts) => parts.filter(
|
|
|
22924
23974
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
22925
23975
|
var eyebrowTreatmentClassMap = {
|
|
22926
23976
|
plain: "",
|
|
23977
|
+
accent: "rb-eyebrow-treatment-accent",
|
|
22927
23978
|
pill: "rb-eyebrow-treatment-pill",
|
|
22928
23979
|
"accent-pill": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-accent",
|
|
22929
23980
|
"pill-bounce": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-pill-bounce",
|
|
@@ -22950,6 +24001,13 @@ var imageGalleryCornerClassMap = {
|
|
|
22950
24001
|
"2xl": "rb-rounded-2xl",
|
|
22951
24002
|
"3xl": "rb-rounded-3xl"
|
|
22952
24003
|
};
|
|
24004
|
+
var imageShapeClassMap = {
|
|
24005
|
+
default: "",
|
|
24006
|
+
square: "rb-media-shape-square",
|
|
24007
|
+
rounded: "rb-media-shape-rounded",
|
|
24008
|
+
circle: "rb-media-shape-circle",
|
|
24009
|
+
arch: "rb-media-shape-arch"
|
|
24010
|
+
};
|
|
22953
24011
|
var parseRatio = (raw) => {
|
|
22954
24012
|
if (typeof raw !== "string") return null;
|
|
22955
24013
|
const value = raw.trim();
|
|
@@ -23094,6 +24152,10 @@ function resolveHeroContentMaxWidth(content) {
|
|
|
23094
24152
|
return "default";
|
|
23095
24153
|
}
|
|
23096
24154
|
function resolveHeroTypographyScale(content) {
|
|
24155
|
+
const titleSize = readString(content, "titleSize");
|
|
24156
|
+
if (titleSize === "quiet" || titleSize === "editorial" || titleSize === "display" || titleSize === "poster") {
|
|
24157
|
+
return titleSize;
|
|
24158
|
+
}
|
|
23097
24159
|
const raw = readHeroLayoutString(
|
|
23098
24160
|
content,
|
|
23099
24161
|
"typographyScale",
|
|
@@ -23335,6 +24397,16 @@ var uiTransforms = [
|
|
|
23335
24397
|
heroGridClassFromVerticalAlignmentTransform,
|
|
23336
24398
|
imageFragmentClassTransform,
|
|
23337
24399
|
imageFragmentSizeTransform,
|
|
24400
|
+
{
|
|
24401
|
+
id: "ui.imageShapeClassName",
|
|
24402
|
+
kind: "string",
|
|
24403
|
+
summary: "Apply a constrained media shape class",
|
|
24404
|
+
run: (value, options) => {
|
|
24405
|
+
const baseClass = typeof options?.baseClass === "string" ? options.baseClass : "";
|
|
24406
|
+
const shape = typeof value === "string" ? value.trim() : "default";
|
|
24407
|
+
return joinClasses3([baseClass, imageShapeClassMap[shape] ?? ""]);
|
|
24408
|
+
}
|
|
24409
|
+
},
|
|
23338
24410
|
conditionalClassTransform,
|
|
23339
24411
|
twoColumnContainerClassTransform,
|
|
23340
24412
|
twoColumnFlexBasisTransform,
|
|
@@ -24681,6 +25753,21 @@ var siteHeaderManifest = createBlockManifest({
|
|
|
24681
25753
|
id: "block.site-header",
|
|
24682
25754
|
title: "Site Header",
|
|
24683
25755
|
category: "layout",
|
|
25756
|
+
additionalFields: [
|
|
25757
|
+
{
|
|
25758
|
+
id: "mode",
|
|
25759
|
+
type: "select",
|
|
25760
|
+
label: "Header display",
|
|
25761
|
+
required: false,
|
|
25762
|
+
multiple: false,
|
|
25763
|
+
defaultValue: "default",
|
|
25764
|
+
options: [
|
|
25765
|
+
{ value: "default", label: "Show header" },
|
|
25766
|
+
{ value: "hidden", label: "Hide header" }
|
|
25767
|
+
],
|
|
25768
|
+
ui: { intent: "display" }
|
|
25769
|
+
}
|
|
25770
|
+
],
|
|
24684
25771
|
// Skip section styles - this block uses theme-based styling
|
|
24685
25772
|
skipSectionStyles: true,
|
|
24686
25773
|
// Block manages its own wrapper - enables sticky positioning
|
|
@@ -26083,6 +27170,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26083
27170
|
category: "layout",
|
|
26084
27171
|
includeContainerStyles: true,
|
|
26085
27172
|
titleSource: "title",
|
|
27173
|
+
previewCustomize: {
|
|
27174
|
+
quickFieldPriority: ["imagePosition", "ratio", "imageShape", "titleAlignment", "aspectRatio"]
|
|
27175
|
+
},
|
|
26086
27176
|
additionalFields: [
|
|
26087
27177
|
{
|
|
26088
27178
|
id: "images",
|
|
@@ -26121,7 +27211,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26121
27211
|
{
|
|
26122
27212
|
id: "titleAlignment",
|
|
26123
27213
|
type: "select",
|
|
26124
|
-
label: "
|
|
27214
|
+
label: "Content alignment",
|
|
26125
27215
|
required: false,
|
|
26126
27216
|
defaultValue: "left",
|
|
26127
27217
|
multiple: false,
|
|
@@ -26179,7 +27269,18 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26179
27269
|
transition: "slide"
|
|
26180
27270
|
},
|
|
26181
27271
|
ui: { intent: "behavior" }
|
|
26182
|
-
})
|
|
27272
|
+
}).map((field) => ({
|
|
27273
|
+
...field,
|
|
27274
|
+
ui: {
|
|
27275
|
+
...field.ui ?? {},
|
|
27276
|
+
visibleWhen: field.id === "carouselAutoplayDelay" ? {
|
|
27277
|
+
allOf: [
|
|
27278
|
+
{ field: "images", minItems: 2 },
|
|
27279
|
+
{ field: "carouselAutoplay", equals: true }
|
|
27280
|
+
]
|
|
27281
|
+
} : { field: "images", minItems: 2 }
|
|
27282
|
+
}
|
|
27283
|
+
})),
|
|
26183
27284
|
createAspectRatioField({
|
|
26184
27285
|
id: "aspectRatio",
|
|
26185
27286
|
label: "Media aspect ratio",
|
|
@@ -26187,6 +27288,12 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26187
27288
|
defaultValue: "auto",
|
|
26188
27289
|
visibleWhen: { field: "images", notEquals: null }
|
|
26189
27290
|
}),
|
|
27291
|
+
createImageShapeField({
|
|
27292
|
+
id: "imageShape",
|
|
27293
|
+
label: "Media shape",
|
|
27294
|
+
defaultValue: "default",
|
|
27295
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
27296
|
+
}),
|
|
26190
27297
|
{
|
|
26191
27298
|
id: "text",
|
|
26192
27299
|
type: "richText",
|
|
@@ -26220,6 +27327,30 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26220
27327
|
...options?.not ? { not: true } : {}
|
|
26221
27328
|
}
|
|
26222
27329
|
});
|
|
27330
|
+
const bodyClassNameFromAlignment = {
|
|
27331
|
+
$bind: {
|
|
27332
|
+
from: "content.titleAlignment",
|
|
27333
|
+
transforms: [
|
|
27334
|
+
{
|
|
27335
|
+
id: "ui.bodyClassFromAlignment",
|
|
27336
|
+
options: { base: "rb-prose rb-max-w-none" }
|
|
27337
|
+
}
|
|
27338
|
+
],
|
|
27339
|
+
fallback: "rb-prose rb-max-w-none"
|
|
27340
|
+
}
|
|
27341
|
+
};
|
|
27342
|
+
const titleClassNameFromAlignment = {
|
|
27343
|
+
$bind: {
|
|
27344
|
+
from: "content.titleAlignment",
|
|
27345
|
+
transforms: [
|
|
27346
|
+
{
|
|
27347
|
+
id: "ui.headingClassFromAlignment",
|
|
27348
|
+
options: { base: "" }
|
|
27349
|
+
}
|
|
27350
|
+
],
|
|
27351
|
+
fallback: ""
|
|
27352
|
+
}
|
|
27353
|
+
};
|
|
26223
27354
|
const defaultTextColumn = el("div", {}, [
|
|
26224
27355
|
styledCard(
|
|
26225
27356
|
[
|
|
@@ -26244,8 +27375,55 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26244
27375
|
bind("content.text")
|
|
26245
27376
|
)
|
|
26246
27377
|
]);
|
|
27378
|
+
const bioTextColumn = el(
|
|
27379
|
+
"div",
|
|
27380
|
+
{ className: "rb-flex rb-h-full rb-w-full rb-max-w-prose rb-flex-col rb-justify-center rb-gap-5" },
|
|
27381
|
+
[
|
|
27382
|
+
text(
|
|
27383
|
+
{
|
|
27384
|
+
as: "h2",
|
|
27385
|
+
className: titleClassNameFromAlignment
|
|
27386
|
+
},
|
|
27387
|
+
when("content.title"),
|
|
27388
|
+
bind("content.title")
|
|
27389
|
+
),
|
|
27390
|
+
styledCard(
|
|
27391
|
+
[
|
|
27392
|
+
richText(
|
|
27393
|
+
{
|
|
27394
|
+
className: bodyClassNameFromAlignment
|
|
27395
|
+
},
|
|
27396
|
+
bind("content.text")
|
|
27397
|
+
)
|
|
27398
|
+
],
|
|
27399
|
+
{
|
|
27400
|
+
stylesFrom: "content._textCardStyles",
|
|
27401
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27402
|
+
},
|
|
27403
|
+
when("content.wrapTextInCard")
|
|
27404
|
+
),
|
|
27405
|
+
richText(
|
|
27406
|
+
{
|
|
27407
|
+
className: bodyClassNameFromAlignment
|
|
27408
|
+
},
|
|
27409
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27410
|
+
bind("content.text")
|
|
27411
|
+
)
|
|
27412
|
+
]
|
|
27413
|
+
);
|
|
26247
27414
|
const defaultImageCommonProps = {
|
|
26248
|
-
className:
|
|
27415
|
+
className: {
|
|
27416
|
+
$bind: {
|
|
27417
|
+
from: "content.imageShape",
|
|
27418
|
+
transforms: [
|
|
27419
|
+
{
|
|
27420
|
+
id: "ui.imageShapeClassName",
|
|
27421
|
+
options: { baseClass: "rb-w-full rb-h-auto rb-object-cover" }
|
|
27422
|
+
}
|
|
27423
|
+
],
|
|
27424
|
+
fallback: "rb-w-full rb-h-auto rb-object-cover"
|
|
27425
|
+
}
|
|
27426
|
+
},
|
|
26249
27427
|
style: {
|
|
26250
27428
|
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
26251
27429
|
}
|
|
@@ -26286,6 +27464,27 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26286
27464
|
],
|
|
26287
27465
|
whenImagesLength(0, { not: true })
|
|
26288
27466
|
);
|
|
27467
|
+
const bioImagesLayout = el(
|
|
27468
|
+
"div",
|
|
27469
|
+
{},
|
|
27470
|
+
[
|
|
27471
|
+
responsiveTwoColumn({
|
|
27472
|
+
image: el("div", {}, [
|
|
27473
|
+
el("div", {}, [defaultSingleImage], whenImagesLength(1)),
|
|
27474
|
+
el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))
|
|
27475
|
+
]),
|
|
27476
|
+
text: bioTextColumn,
|
|
27477
|
+
ratioFrom: "content.ratio",
|
|
27478
|
+
imagePositionFrom: "content.imagePosition",
|
|
27479
|
+
containerClassName: "rb-flex rb-flex-col rb-md-flex-row rb-md-items-center",
|
|
27480
|
+
gapFrom: "content.gap",
|
|
27481
|
+
gapFallback: "comfortable",
|
|
27482
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
27483
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-stretch"
|
|
27484
|
+
})
|
|
27485
|
+
],
|
|
27486
|
+
whenImagesLength(0, { not: true })
|
|
27487
|
+
);
|
|
26289
27488
|
const defaultTextOnlyLayout = el(
|
|
26290
27489
|
"div",
|
|
26291
27490
|
{},
|
|
@@ -26315,7 +27514,45 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26315
27514
|
],
|
|
26316
27515
|
whenImagesLength(0)
|
|
26317
27516
|
);
|
|
27517
|
+
const bioTextOnlyLayout = el(
|
|
27518
|
+
"div",
|
|
27519
|
+
{ className: "rb-flex rb-w-full rb-max-w-prose rb-flex-col rb-gap-5" },
|
|
27520
|
+
[
|
|
27521
|
+
text(
|
|
27522
|
+
{
|
|
27523
|
+
as: "h2",
|
|
27524
|
+
className: titleClassNameFromAlignment
|
|
27525
|
+
},
|
|
27526
|
+
when("content.title"),
|
|
27527
|
+
bind("content.title")
|
|
27528
|
+
),
|
|
27529
|
+
styledCard(
|
|
27530
|
+
[
|
|
27531
|
+
richText(
|
|
27532
|
+
{
|
|
27533
|
+
className: bodyClassNameFromAlignment
|
|
27534
|
+
},
|
|
27535
|
+
bind("content.text")
|
|
27536
|
+
)
|
|
27537
|
+
],
|
|
27538
|
+
{
|
|
27539
|
+
stylesFrom: "content._textCardStyles",
|
|
27540
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27541
|
+
},
|
|
27542
|
+
when("content.wrapTextInCard")
|
|
27543
|
+
),
|
|
27544
|
+
richText(
|
|
27545
|
+
{
|
|
27546
|
+
className: bodyClassNameFromAlignment
|
|
27547
|
+
},
|
|
27548
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27549
|
+
bind("content.text")
|
|
27550
|
+
)
|
|
27551
|
+
],
|
|
27552
|
+
whenImagesLength(0)
|
|
27553
|
+
);
|
|
26318
27554
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
27555
|
+
const bioInner = el("div", {}, [bioImagesLayout, bioTextOnlyLayout]);
|
|
26319
27556
|
const defaultLayout2 = styledSection({
|
|
26320
27557
|
children: styledContainer({
|
|
26321
27558
|
rootType: "stack",
|
|
@@ -26324,18 +27561,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26324
27561
|
text(
|
|
26325
27562
|
{
|
|
26326
27563
|
as: "h2",
|
|
26327
|
-
className:
|
|
26328
|
-
$bind: {
|
|
26329
|
-
from: "content.titleAlignment",
|
|
26330
|
-
transforms: [
|
|
26331
|
-
{
|
|
26332
|
-
id: "ui.headingClassFromAlignment",
|
|
26333
|
-
options: { base: "" }
|
|
26334
|
-
}
|
|
26335
|
-
],
|
|
26336
|
-
fallback: ""
|
|
26337
|
-
}
|
|
26338
|
-
}
|
|
27564
|
+
className: titleClassNameFromAlignment
|
|
26339
27565
|
},
|
|
26340
27566
|
when("content.title"),
|
|
26341
27567
|
bind("content.title")
|
|
@@ -26347,14 +27573,28 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26347
27573
|
baseClass: "",
|
|
26348
27574
|
spacing: "medium"
|
|
26349
27575
|
});
|
|
27576
|
+
const bioLayout = styledSection({
|
|
27577
|
+
children: styledContainer({
|
|
27578
|
+
rootType: "stack",
|
|
27579
|
+
rootProps: { gap: "lg" },
|
|
27580
|
+
children: [bioInner]
|
|
27581
|
+
}),
|
|
27582
|
+
baseClass: "",
|
|
27583
|
+
spacing: "medium"
|
|
27584
|
+
});
|
|
26350
27585
|
return {
|
|
26351
27586
|
layout: defaultLayout2,
|
|
26352
27587
|
variants: {
|
|
26353
|
-
default: defaultLayout2
|
|
27588
|
+
default: defaultLayout2,
|
|
27589
|
+
bio: bioLayout
|
|
26354
27590
|
},
|
|
26355
27591
|
defaultVariant: "default",
|
|
26356
27592
|
variantOptions: {
|
|
26357
|
-
default: { label: "Default" }
|
|
27593
|
+
default: { label: "Default" },
|
|
27594
|
+
bio: {
|
|
27595
|
+
label: "Bio",
|
|
27596
|
+
description: "Vertically centered title and copy beside media."
|
|
27597
|
+
}
|
|
26358
27598
|
}
|
|
26359
27599
|
};
|
|
26360
27600
|
})(),
|
|
@@ -27060,10 +28300,8 @@ var occurrenceContextSchema = z43.object({
|
|
|
27060
28300
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
27061
28301
|
import { z as z45 } from "zod";
|
|
27062
28302
|
|
|
27063
|
-
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
27064
|
-
import { z as z44 } from "zod";
|
|
27065
|
-
|
|
27066
28303
|
// ../blocks/src/system/constants/events.ts
|
|
28304
|
+
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
27067
28305
|
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
27068
28306
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
27069
28307
|
var eventCalendarListLayoutOptions = [
|
|
@@ -27077,8 +28315,133 @@ function isEventCalendarDisplayMode(value) {
|
|
|
27077
28315
|
function isEventCalendarListLayout(value) {
|
|
27078
28316
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
27079
28317
|
}
|
|
28318
|
+
function isEventContentType(slug) {
|
|
28319
|
+
if (!slug) return false;
|
|
28320
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
28321
|
+
}
|
|
28322
|
+
|
|
28323
|
+
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
28324
|
+
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
28325
|
+
function resolveRuntimeEventPricing(event) {
|
|
28326
|
+
if (isPublicEventPricing(event.pricing)) {
|
|
28327
|
+
return event.pricing;
|
|
28328
|
+
}
|
|
28329
|
+
const legacy = event;
|
|
28330
|
+
const currency = readCurrency(legacy.currency);
|
|
28331
|
+
if (event.requiresRegistration === false) {
|
|
28332
|
+
return {
|
|
28333
|
+
kind: "drop_in",
|
|
28334
|
+
currency,
|
|
28335
|
+
display: { kind: "free", currency }
|
|
28336
|
+
};
|
|
28337
|
+
}
|
|
28338
|
+
if (legacy.pricingMode === "ticket_types") {
|
|
28339
|
+
const ticketTypes = Array.isArray(legacy.ticketTypes) ? legacy.ticketTypes.filter(isPublicEventTicketType) : [];
|
|
28340
|
+
return {
|
|
28341
|
+
kind: "ticket_types",
|
|
28342
|
+
currency,
|
|
28343
|
+
ticketTypes,
|
|
28344
|
+
display: readTicketTypePriceDisplay(legacy.priceDisplay, currency)
|
|
28345
|
+
};
|
|
28346
|
+
}
|
|
28347
|
+
const amount = typeof legacy.price === "number" ? legacy.price : 0;
|
|
28348
|
+
if (legacy.pricingType === "paid" && amount > 0) {
|
|
28349
|
+
return {
|
|
28350
|
+
kind: "single_paid",
|
|
28351
|
+
amount,
|
|
28352
|
+
currency,
|
|
28353
|
+
display: { kind: "exact", amount, currency }
|
|
28354
|
+
};
|
|
28355
|
+
}
|
|
28356
|
+
return {
|
|
28357
|
+
kind: "free_registration",
|
|
28358
|
+
currency,
|
|
28359
|
+
display: { kind: "free", currency }
|
|
28360
|
+
};
|
|
28361
|
+
}
|
|
28362
|
+
function readCurrency(value) {
|
|
28363
|
+
return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
|
|
28364
|
+
}
|
|
28365
|
+
function isRecord3(value) {
|
|
28366
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28367
|
+
}
|
|
28368
|
+
function isPublicEventPricing(value) {
|
|
28369
|
+
if (!isRecord3(value) || typeof value.kind !== "string") return false;
|
|
28370
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
|
|
28371
|
+
}
|
|
28372
|
+
function isPublicEventTicketType(value) {
|
|
28373
|
+
return isRecord3(value) && typeof value.id === "string";
|
|
28374
|
+
}
|
|
28375
|
+
function readTicketTypePriceDisplay(value, currency) {
|
|
28376
|
+
const display = readLegacyPriceDisplay(value, currency);
|
|
28377
|
+
return display.kind === "course" ? { kind: "unavailable", currency } : display;
|
|
28378
|
+
}
|
|
28379
|
+
function readLegacyPriceDisplay(value, currency) {
|
|
28380
|
+
if (!isRecord3(value) || typeof value.kind !== "string") {
|
|
28381
|
+
return { kind: "unavailable", currency };
|
|
28382
|
+
}
|
|
28383
|
+
const displayCurrency = readCurrency(value.currency);
|
|
28384
|
+
switch (value.kind) {
|
|
28385
|
+
case "free":
|
|
28386
|
+
return { kind: "free", currency: displayCurrency };
|
|
28387
|
+
case "exact":
|
|
28388
|
+
return readAmount(value.amount) !== null ? {
|
|
28389
|
+
kind: "exact",
|
|
28390
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28391
|
+
currency: displayCurrency
|
|
28392
|
+
} : { kind: "unavailable", currency };
|
|
28393
|
+
case "from":
|
|
28394
|
+
return readAmount(value.amount) !== null ? {
|
|
28395
|
+
kind: "from",
|
|
28396
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28397
|
+
currency: displayCurrency
|
|
28398
|
+
} : { kind: "unavailable", currency };
|
|
28399
|
+
case "mixed":
|
|
28400
|
+
return readAmount(value.paidFromAmount) !== null ? {
|
|
28401
|
+
kind: "mixed",
|
|
28402
|
+
paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
|
|
28403
|
+
currency: displayCurrency
|
|
28404
|
+
} : { kind: "unavailable", currency };
|
|
28405
|
+
case "unavailable":
|
|
28406
|
+
return { kind: "unavailable", currency: displayCurrency };
|
|
28407
|
+
case "course":
|
|
28408
|
+
return isRecord3(value.display) ? {
|
|
28409
|
+
kind: "course",
|
|
28410
|
+
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
28411
|
+
} : {
|
|
28412
|
+
kind: "course",
|
|
28413
|
+
display: { kind: "unavailable", currency: displayCurrency }
|
|
28414
|
+
};
|
|
28415
|
+
default:
|
|
28416
|
+
return { kind: "unavailable", currency };
|
|
28417
|
+
}
|
|
28418
|
+
}
|
|
28419
|
+
function readCoursePriceDisplay(value, currency) {
|
|
28420
|
+
switch (value.kind) {
|
|
28421
|
+
case "free":
|
|
28422
|
+
return { kind: "free", currency: readCurrency(value.currency) };
|
|
28423
|
+
case "exact":
|
|
28424
|
+
return readAmount(value.amount) !== null ? {
|
|
28425
|
+
kind: "exact",
|
|
28426
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28427
|
+
currency: readCurrency(value.currency)
|
|
28428
|
+
} : { kind: "unavailable", currency };
|
|
28429
|
+
case "from":
|
|
28430
|
+
return readAmount(value.amount) !== null ? {
|
|
28431
|
+
kind: "from",
|
|
28432
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28433
|
+
currency: readCurrency(value.currency)
|
|
28434
|
+
} : { kind: "unavailable", currency };
|
|
28435
|
+
default:
|
|
28436
|
+
return { kind: "unavailable", currency };
|
|
28437
|
+
}
|
|
28438
|
+
}
|
|
28439
|
+
function readAmount(value) {
|
|
28440
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
28441
|
+
}
|
|
27080
28442
|
|
|
27081
28443
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28444
|
+
import { z as z44 } from "zod";
|
|
27082
28445
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
27083
28446
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
27084
28447
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
@@ -27089,12 +28452,73 @@ var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
|
27089
28452
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
27090
28453
|
var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
|
|
27091
28454
|
|
|
28455
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28456
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
28457
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
28458
|
+
if (!needsPaymentStep) {
|
|
28459
|
+
return baseSteps;
|
|
28460
|
+
}
|
|
28461
|
+
return [...baseSteps, "select-payment"];
|
|
28462
|
+
}
|
|
28463
|
+
|
|
28464
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
28465
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
28466
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
28467
|
+
}
|
|
28468
|
+
function findPreSelectedEvent(input) {
|
|
28469
|
+
const occurrenceContext = input.occurrenceContext;
|
|
28470
|
+
if (!occurrenceContext) {
|
|
28471
|
+
return null;
|
|
28472
|
+
}
|
|
28473
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28474
|
+
startsAt: occurrenceContext.startsAt,
|
|
28475
|
+
timeZone: occurrenceContext.timeZone
|
|
28476
|
+
}));
|
|
28477
|
+
return input.scopedEvents.find(
|
|
28478
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28479
|
+
startsAt: event.startsAt,
|
|
28480
|
+
timeZone: event.timeZone
|
|
28481
|
+
})) === contextDate
|
|
28482
|
+
) ?? null;
|
|
28483
|
+
}
|
|
28484
|
+
function resolveEventRequiresPayment(input) {
|
|
28485
|
+
if (input.eligibility) {
|
|
28486
|
+
return input.eligibility.requiresPayment;
|
|
28487
|
+
}
|
|
28488
|
+
if (input.selectedTicketType) {
|
|
28489
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
28490
|
+
}
|
|
28491
|
+
if (!input.event) {
|
|
28492
|
+
return false;
|
|
28493
|
+
}
|
|
28494
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
28495
|
+
}
|
|
28496
|
+
|
|
28497
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
28498
|
+
function toRegistrationEvent(event) {
|
|
28499
|
+
return {
|
|
28500
|
+
...event,
|
|
28501
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
28502
|
+
publicEventId: event.id,
|
|
28503
|
+
registrationOccurrenceId: event.occurrenceId
|
|
28504
|
+
};
|
|
28505
|
+
}
|
|
28506
|
+
function toRegistrationEvents(events) {
|
|
28507
|
+
return events.map(toRegistrationEvent);
|
|
28508
|
+
}
|
|
28509
|
+
|
|
27092
28510
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28511
|
+
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28512
|
+
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
27093
28513
|
var contentEntrySchema = z45.object({
|
|
27094
28514
|
id: z45.string(),
|
|
27095
28515
|
slug: z45.string(),
|
|
27096
28516
|
contentTypeSlug: z45.string()
|
|
27097
28517
|
});
|
|
28518
|
+
var eventRegistrationPublicEventSchema = z45.preprocess(
|
|
28519
|
+
normalizeEventRegistrationEventInput,
|
|
28520
|
+
publicEventSchema
|
|
28521
|
+
);
|
|
27098
28522
|
var eventRegistrationSourceSchema = z45.object({
|
|
27099
28523
|
siteId: z45.string().optional(),
|
|
27100
28524
|
apiBaseUrl: z45.string().optional(),
|
|
@@ -27102,7 +28526,7 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27102
28526
|
previewToken: z45.string().nullable().optional(),
|
|
27103
28527
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27104
28528
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27105
|
-
events: z45.array(
|
|
28529
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27106
28530
|
className: z45.string().nullable().optional(),
|
|
27107
28531
|
buttonText: z45.string().nullable().optional(),
|
|
27108
28532
|
maxTickets: z45.string().nullable().optional(),
|
|
@@ -27117,14 +28541,17 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27117
28541
|
});
|
|
27118
28542
|
var eventRegistrationDisplaySchema = z45.object({
|
|
27119
28543
|
kind: z45.literal("event-registration"),
|
|
27120
|
-
state: z45.literal("shell"),
|
|
28544
|
+
state: z45.literal("generic-shell"),
|
|
27121
28545
|
className: z45.string().nullable(),
|
|
28546
|
+
titleText: z45.string(),
|
|
28547
|
+
bodyText: z45.string(),
|
|
28548
|
+
stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
27122
28549
|
summaryButtonText: z45.string()
|
|
27123
28550
|
});
|
|
27124
28551
|
var eventRegistrationHydrationSchema = z45.object({
|
|
27125
28552
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27126
28553
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27127
|
-
events: z45.array(
|
|
28554
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27128
28555
|
maxTickets: z45.string().optional(),
|
|
27129
28556
|
showVenue: z45.boolean().optional(),
|
|
27130
28557
|
showCapacity: z45.boolean().optional(),
|
|
@@ -27153,13 +28580,81 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
27153
28580
|
"stage"
|
|
27154
28581
|
);
|
|
27155
28582
|
function buildEventRegistrationDisplay(source) {
|
|
28583
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
27156
28584
|
return {
|
|
27157
28585
|
kind: "event-registration",
|
|
27158
|
-
state: "shell",
|
|
28586
|
+
state: "generic-shell",
|
|
27159
28587
|
className: source.className ?? null,
|
|
28588
|
+
titleText: "Event registration",
|
|
28589
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
28590
|
+
stepLabels,
|
|
27160
28591
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
27161
28592
|
};
|
|
27162
28593
|
}
|
|
28594
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
28595
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
28596
|
+
if (scopedEvents.length === 0) {
|
|
28597
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
28598
|
+
}
|
|
28599
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
28600
|
+
scopedEvents,
|
|
28601
|
+
occurrenceContext: source.occurrenceContext
|
|
28602
|
+
});
|
|
28603
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
28604
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
28605
|
+
eligibility: null,
|
|
28606
|
+
selectedTicketType: null,
|
|
28607
|
+
event: preSelectedEvent
|
|
28608
|
+
}) : false;
|
|
28609
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
28610
|
+
}
|
|
28611
|
+
function scopeEventRegistrationEvents(source) {
|
|
28612
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
28613
|
+
if (source.occurrenceContext?.seriesId) {
|
|
28614
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
28615
|
+
}
|
|
28616
|
+
const entrySlug = source.contentEntry?.slug;
|
|
28617
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
28618
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
28619
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
28620
|
+
}
|
|
28621
|
+
return events;
|
|
28622
|
+
}
|
|
28623
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
28624
|
+
switch (step) {
|
|
28625
|
+
case "select-event":
|
|
28626
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
28627
|
+
case "select-tickets":
|
|
28628
|
+
return "Tickets";
|
|
28629
|
+
case "enter-details":
|
|
28630
|
+
return "Details";
|
|
28631
|
+
case "select-payment":
|
|
28632
|
+
return "Payment";
|
|
28633
|
+
case "error":
|
|
28634
|
+
case "success":
|
|
28635
|
+
case "submitting":
|
|
28636
|
+
case "redirecting":
|
|
28637
|
+
case "verifying-payment":
|
|
28638
|
+
case "verifying-timeout":
|
|
28639
|
+
case "payment-failed":
|
|
28640
|
+
return "Details";
|
|
28641
|
+
}
|
|
28642
|
+
}
|
|
28643
|
+
function isDateSelection(events) {
|
|
28644
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
28645
|
+
return Boolean(
|
|
28646
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
28647
|
+
);
|
|
28648
|
+
}
|
|
28649
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
28650
|
+
if (stepLabels.includes("Payment")) {
|
|
28651
|
+
return "Preparing tickets, details, and payment options.";
|
|
28652
|
+
}
|
|
28653
|
+
if (stepLabels[0] === "Tickets") {
|
|
28654
|
+
return "Preparing tickets and booking details.";
|
|
28655
|
+
}
|
|
28656
|
+
return "Preparing dates, tickets, and booking details.";
|
|
28657
|
+
}
|
|
27163
28658
|
var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
27164
28659
|
kind: "client-owned",
|
|
27165
28660
|
contracts: {
|
|
@@ -27183,6 +28678,18 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
27183
28678
|
}
|
|
27184
28679
|
})
|
|
27185
28680
|
});
|
|
28681
|
+
function normalizeEventRegistrationEventInput(value) {
|
|
28682
|
+
if (!isRecord4(value)) {
|
|
28683
|
+
return value;
|
|
28684
|
+
}
|
|
28685
|
+
return {
|
|
28686
|
+
...value,
|
|
28687
|
+
pricing: resolveRuntimeEventPricing(value)
|
|
28688
|
+
};
|
|
28689
|
+
}
|
|
28690
|
+
function isRecord4(value) {
|
|
28691
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28692
|
+
}
|
|
27186
28693
|
var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
27187
28694
|
runtime: eventRegistrationBlockRuntime,
|
|
27188
28695
|
mode: "event-registration",
|
|
@@ -29681,7 +31188,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
29681
31188
|
return keys.length >= 2 ? keys : [];
|
|
29682
31189
|
}
|
|
29683
31190
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
29684
|
-
if (!
|
|
31191
|
+
if (!isRecord5(value)) return null;
|
|
29685
31192
|
const groupOrderValue = value.groupOrder;
|
|
29686
31193
|
if (Array.isArray(groupOrderValue)) {
|
|
29687
31194
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -29694,7 +31201,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
29694
31201
|
return { ...value, groupOrder: [] };
|
|
29695
31202
|
}
|
|
29696
31203
|
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
|
|
29697
|
-
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(
|
|
31204
|
+
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord5) : []
|
|
29698
31205
|
);
|
|
29699
31206
|
return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
|
|
29700
31207
|
}
|
|
@@ -29708,7 +31215,7 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
29708
31215
|
}
|
|
29709
31216
|
return keys;
|
|
29710
31217
|
}
|
|
29711
|
-
function
|
|
31218
|
+
function isRecord5(value) {
|
|
29712
31219
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29713
31220
|
}
|
|
29714
31221
|
|
|
@@ -30075,7 +31582,7 @@ function isOfferingsPreviewItemLimit(value) {
|
|
|
30075
31582
|
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
30076
31583
|
}
|
|
30077
31584
|
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
30078
|
-
if (!
|
|
31585
|
+
if (!isRecord6(value)) return [];
|
|
30079
31586
|
const override = {};
|
|
30080
31587
|
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
|
|
30081
31588
|
override.sourceKey = value.sourceKey;
|
|
@@ -30107,12 +31614,12 @@ function isButtonVariant(value) {
|
|
|
30107
31614
|
return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
|
|
30108
31615
|
}
|
|
30109
31616
|
function normalizeCardStylesContent(value) {
|
|
30110
|
-
return
|
|
31617
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30111
31618
|
}
|
|
30112
31619
|
function normalizeSectionStylesContent(value) {
|
|
30113
|
-
return
|
|
31620
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30114
31621
|
}
|
|
30115
|
-
function
|
|
31622
|
+
function isRecord6(value) {
|
|
30116
31623
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30117
31624
|
}
|
|
30118
31625
|
|
|
@@ -34072,11 +35579,13 @@ var heroImageSurfaceMotions = [
|
|
|
34072
35579
|
];
|
|
34073
35580
|
var standardEyebrowTreatments = [
|
|
34074
35581
|
"plain",
|
|
35582
|
+
"accent",
|
|
34075
35583
|
"pill",
|
|
34076
35584
|
"accent-pill"
|
|
34077
35585
|
];
|
|
34078
35586
|
var animatedEyebrowTreatments = [
|
|
34079
35587
|
"plain",
|
|
35588
|
+
"accent",
|
|
34080
35589
|
"pill",
|
|
34081
35590
|
"accent-pill",
|
|
34082
35591
|
"pill-bounce",
|
|
@@ -34377,6 +35886,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
34377
35886
|
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
34378
35887
|
]
|
|
34379
35888
|
})),
|
|
35889
|
+
withDesignCapability("block.contact-newsletter", contactNewsletterBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
35890
|
+
flow: conversionFlow,
|
|
35891
|
+
layoutProfiles: [
|
|
35892
|
+
layoutProfile({
|
|
35893
|
+
variantKey: "default",
|
|
35894
|
+
family: "split",
|
|
35895
|
+
weight: "featured",
|
|
35896
|
+
bias: "soft"
|
|
35897
|
+
})
|
|
35898
|
+
]
|
|
35899
|
+
})),
|
|
34380
35900
|
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
34381
35901
|
sectionSurfaces: "supported",
|
|
34382
35902
|
contentFrames: ["plain", "panel"],
|
|
@@ -34468,6 +35988,12 @@ var systemBlockDefinitionsRaw = [
|
|
|
34468
35988
|
family: "media-text",
|
|
34469
35989
|
weight: "featured",
|
|
34470
35990
|
bias: "soft"
|
|
35991
|
+
}),
|
|
35992
|
+
layoutProfile({
|
|
35993
|
+
variantKey: "bio",
|
|
35994
|
+
family: "media-text",
|
|
35995
|
+
weight: "featured",
|
|
35996
|
+
bias: "soft"
|
|
34471
35997
|
})
|
|
34472
35998
|
]
|
|
34473
35999
|
})),
|
|
@@ -35269,7 +36795,7 @@ var defaultTransforms = createTransformRegistry(builtinTransformDefinitions);
|
|
|
35269
36795
|
// ../blocks/src/system/data/linkedContentEntries.ts
|
|
35270
36796
|
var LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
35271
36797
|
function coerceLinkedContentEntriesPayload(payload) {
|
|
35272
|
-
if (!
|
|
36798
|
+
if (!isRecord7(payload)) return payload;
|
|
35273
36799
|
const response = payload;
|
|
35274
36800
|
if (!Array.isArray(response.entries)) return payload;
|
|
35275
36801
|
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
@@ -35277,12 +36803,12 @@ function coerceLinkedContentEntriesPayload(payload) {
|
|
|
35277
36803
|
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
35278
36804
|
}
|
|
35279
36805
|
function enrichLinkedContentEntry(entry, contentType) {
|
|
35280
|
-
if (!
|
|
36806
|
+
if (!isRecord7(entry)) return entry;
|
|
35281
36807
|
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
35282
36808
|
if (!entryId) return entry;
|
|
35283
36809
|
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
35284
36810
|
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
35285
|
-
const content =
|
|
36811
|
+
const content = isRecord7(entry.content) ? entry.content : {};
|
|
35286
36812
|
const meta = {
|
|
35287
36813
|
kind: "linked-content-entry",
|
|
35288
36814
|
entryId,
|
|
@@ -35375,7 +36901,7 @@ function capitalize(value) {
|
|
|
35375
36901
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
35376
36902
|
}
|
|
35377
36903
|
function parsePublicContentTypeMeta(value) {
|
|
35378
|
-
if (!
|
|
36904
|
+
if (!isRecord7(value)) return null;
|
|
35379
36905
|
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
35380
36906
|
return {
|
|
35381
36907
|
key: value.key,
|
|
@@ -35385,7 +36911,7 @@ function parsePublicContentTypeMeta(value) {
|
|
|
35385
36911
|
};
|
|
35386
36912
|
}
|
|
35387
36913
|
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
35388
|
-
if (!
|
|
36914
|
+
if (!isRecord7(value) || typeof value.kind !== "string") return null;
|
|
35389
36915
|
switch (value.kind) {
|
|
35390
36916
|
case "generic":
|
|
35391
36917
|
return { kind: "generic" };
|
|
@@ -35399,7 +36925,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
|
35399
36925
|
}
|
|
35400
36926
|
}
|
|
35401
36927
|
function parsePublicContentTypeFieldMeta(value) {
|
|
35402
|
-
if (!
|
|
36928
|
+
if (!isRecord7(value)) return [];
|
|
35403
36929
|
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
35404
36930
|
return [{
|
|
35405
36931
|
id: value.id,
|
|
@@ -35413,7 +36939,7 @@ function parseStringArray(value) {
|
|
|
35413
36939
|
if (!Array.isArray(value)) return null;
|
|
35414
36940
|
return value.filter((item) => typeof item === "string");
|
|
35415
36941
|
}
|
|
35416
|
-
function
|
|
36942
|
+
function isRecord7(value) {
|
|
35417
36943
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
35418
36944
|
}
|
|
35419
36945
|
|
|
@@ -35606,6 +37132,11 @@ ${root} {
|
|
|
35606
37132
|
--er-event-card-bg: rgb(var(--tb-surface));
|
|
35607
37133
|
--er-event-card-border-width: var(--rb-border-width, 1px);
|
|
35608
37134
|
--er-event-card-hover-opacity: 1;
|
|
37135
|
+
--er-control-bg: rgb(var(--tb-background, var(--tb-surface)));
|
|
37136
|
+
--er-control-text: rgb(var(--tb-foreground, var(--tb-text)));
|
|
37137
|
+
--er-radius: var(--rb-block-radius);
|
|
37138
|
+
--er-surface-muted: rgba(var(--tb-muted, 241 245 249), 0.42);
|
|
37139
|
+
--er-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
35609
37140
|
|
|
35610
37141
|
/* Step indicator */
|
|
35611
37142
|
--er-step-active: rgb(var(--tb-primary));
|
|
@@ -36248,11 +37779,11 @@ function resolveParamsBindings(input, vm, meta) {
|
|
|
36248
37779
|
return binding.fallback;
|
|
36249
37780
|
}
|
|
36250
37781
|
return resolved;
|
|
36251
|
-
} catch (
|
|
37782
|
+
} catch (err2) {
|
|
36252
37783
|
if (shouldLogWarnings) {
|
|
36253
37784
|
console.warn(
|
|
36254
37785
|
`bindings: failed to parse loader param binding for block "${meta?.blockKind ?? "unknown"}"`,
|
|
36255
|
-
|
|
37786
|
+
err2
|
|
36256
37787
|
);
|
|
36257
37788
|
}
|
|
36258
37789
|
return void 0;
|
|
@@ -37180,7 +38711,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
37180
38711
|
}
|
|
37181
38712
|
|
|
37182
38713
|
// ../api/src/utils/isRecord.ts
|
|
37183
|
-
function
|
|
38714
|
+
function isRecord8(value) {
|
|
37184
38715
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37185
38716
|
}
|
|
37186
38717
|
|
|
@@ -37487,7 +39018,7 @@ function sanitizeMarks(marks) {
|
|
|
37487
39018
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
37488
39019
|
return [{ type: mark.type }];
|
|
37489
39020
|
}
|
|
37490
|
-
if (mark.type === "link" &&
|
|
39021
|
+
if (mark.type === "link" && isRecord8(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
37491
39022
|
const attrs = { href: mark.attrs.href };
|
|
37492
39023
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
37493
39024
|
attrs.target = mark.attrs.target;
|
|
@@ -37502,10 +39033,10 @@ function sanitizeMarks(marks) {
|
|
|
37502
39033
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
37503
39034
|
}
|
|
37504
39035
|
function unwrapRichTextValue(value) {
|
|
37505
|
-
if (
|
|
39036
|
+
if (isRecord8(value) && isRecord8(value.doc)) {
|
|
37506
39037
|
return unwrapRichTextValue(value.doc);
|
|
37507
39038
|
}
|
|
37508
|
-
if (
|
|
39039
|
+
if (isRecord8(value) && value.type === "doc") {
|
|
37509
39040
|
return {
|
|
37510
39041
|
type: "doc",
|
|
37511
39042
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -37514,7 +39045,7 @@ function unwrapRichTextValue(value) {
|
|
|
37514
39045
|
return EMPTY_SITE_BANNER_BODY;
|
|
37515
39046
|
}
|
|
37516
39047
|
function isTipTapNodeLike(value) {
|
|
37517
|
-
return
|
|
39048
|
+
return isRecord8(value) && typeof value.type === "string";
|
|
37518
39049
|
}
|
|
37519
39050
|
function coerceTipTapNode(value) {
|
|
37520
39051
|
return {
|
|
@@ -37522,9 +39053,9 @@ function coerceTipTapNode(value) {
|
|
|
37522
39053
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
37523
39054
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
37524
39055
|
...Array.isArray(value.marks) ? {
|
|
37525
|
-
marks: value.marks.filter((mark) =>
|
|
39056
|
+
marks: value.marks.filter((mark) => isRecord8(mark) && typeof mark.type === "string").map((mark) => ({
|
|
37526
39057
|
type: mark.type,
|
|
37527
|
-
...
|
|
39058
|
+
...isRecord8(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
37528
39059
|
}))
|
|
37529
39060
|
} : {}
|
|
37530
39061
|
};
|
|
@@ -37707,7 +39238,7 @@ var ENTRY_REF_KEYS = [
|
|
|
37707
39238
|
"entryId",
|
|
37708
39239
|
"slug"
|
|
37709
39240
|
];
|
|
37710
|
-
function
|
|
39241
|
+
function isRecord9(value) {
|
|
37711
39242
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
37712
39243
|
}
|
|
37713
39244
|
function extractManualEntryRef(item) {
|
|
@@ -37715,7 +39246,7 @@ function extractManualEntryRef(item) {
|
|
|
37715
39246
|
const trimmed = item.trim();
|
|
37716
39247
|
return trimmed.length > 0 ? trimmed : null;
|
|
37717
39248
|
}
|
|
37718
|
-
if (!
|
|
39249
|
+
if (!isRecord9(item)) return null;
|
|
37719
39250
|
for (const key of ENTRY_REF_KEYS) {
|
|
37720
39251
|
const raw = item[key];
|
|
37721
39252
|
if (typeof raw === "string" && raw.trim().length > 0) {
|