@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/client/hooks.mjs
CHANGED
|
@@ -3250,6 +3250,46 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3250
3250
|
auth: "user",
|
|
3251
3251
|
responseKind: "json"
|
|
3252
3252
|
},
|
|
3253
|
+
listEntrySlotBlocks: {
|
|
3254
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3255
|
+
method: "GET",
|
|
3256
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3257
|
+
auth: "user",
|
|
3258
|
+
responseKind: "json",
|
|
3259
|
+
errors: ["resource:not_found"]
|
|
3260
|
+
},
|
|
3261
|
+
listEntryPageContentSlots: {
|
|
3262
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots",
|
|
3263
|
+
method: "GET",
|
|
3264
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slots", "blocks"],
|
|
3265
|
+
auth: "user",
|
|
3266
|
+
responseKind: "json",
|
|
3267
|
+
errors: ["resource:not_found"]
|
|
3268
|
+
},
|
|
3269
|
+
createEntrySlotBlock: {
|
|
3270
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks",
|
|
3271
|
+
method: "POST",
|
|
3272
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3273
|
+
auth: "user",
|
|
3274
|
+
responseKind: "json",
|
|
3275
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3276
|
+
},
|
|
3277
|
+
reorderEntrySlotBlocks: {
|
|
3278
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/reorder",
|
|
3279
|
+
method: "POST",
|
|
3280
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3281
|
+
auth: "user",
|
|
3282
|
+
responseKind: "json",
|
|
3283
|
+
errors: ["validation:invalid_input", "resource:not_found"]
|
|
3284
|
+
},
|
|
3285
|
+
deleteEntrySlotBlock: {
|
|
3286
|
+
path: "/sites/{siteId}/content/{type}/{entryId}/slots/{slotKey}/blocks/{blockId}",
|
|
3287
|
+
method: "DELETE",
|
|
3288
|
+
tags: ["site-{siteId}", "content-entry-{entryId}", "entry-slot-{slotKey}", "blocks"],
|
|
3289
|
+
auth: "user",
|
|
3290
|
+
responseKind: "json",
|
|
3291
|
+
errors: ["resource:not_found"]
|
|
3292
|
+
},
|
|
3253
3293
|
createBlock: {
|
|
3254
3294
|
path: "/sites/{siteId}/pages/{pageId}/blocks",
|
|
3255
3295
|
method: "POST",
|
|
@@ -6342,6 +6382,171 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
6342
6382
|
}
|
|
6343
6383
|
};
|
|
6344
6384
|
|
|
6385
|
+
// ../core/src/result.ts
|
|
6386
|
+
function ok(value) {
|
|
6387
|
+
return { ok: true, value };
|
|
6388
|
+
}
|
|
6389
|
+
function err(error) {
|
|
6390
|
+
return { ok: false, error };
|
|
6391
|
+
}
|
|
6392
|
+
|
|
6393
|
+
// ../core/src/event-pricing.ts
|
|
6394
|
+
function publicEventPricingType(pricing) {
|
|
6395
|
+
switch (pricing.kind) {
|
|
6396
|
+
case "drop_in":
|
|
6397
|
+
case "free_registration":
|
|
6398
|
+
return "free";
|
|
6399
|
+
case "single_paid":
|
|
6400
|
+
case "ticket_types":
|
|
6401
|
+
case "course":
|
|
6402
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6403
|
+
}
|
|
6404
|
+
}
|
|
6405
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
6406
|
+
switch (display.kind) {
|
|
6407
|
+
case "free":
|
|
6408
|
+
return true;
|
|
6409
|
+
case "course":
|
|
6410
|
+
return display.display.kind === "free";
|
|
6411
|
+
case "exact":
|
|
6412
|
+
case "from":
|
|
6413
|
+
case "mixed":
|
|
6414
|
+
case "unavailable":
|
|
6415
|
+
return false;
|
|
6416
|
+
}
|
|
6417
|
+
}
|
|
6418
|
+
|
|
6419
|
+
// ../core/src/booking-date-time.ts
|
|
6420
|
+
var DEFAULT_LOCALE = "en-US";
|
|
6421
|
+
var FALLBACK_TIMEZONE = "UTC";
|
|
6422
|
+
function isValidTimeZone(timeZone) {
|
|
6423
|
+
try {
|
|
6424
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
6425
|
+
return true;
|
|
6426
|
+
} catch {
|
|
6427
|
+
return false;
|
|
6428
|
+
}
|
|
6429
|
+
}
|
|
6430
|
+
function getSafeTimeZone(timeZone) {
|
|
6431
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
6432
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
6433
|
+
}
|
|
6434
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
6435
|
+
const normalized = timeZone.trim();
|
|
6436
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
6437
|
+
return null;
|
|
6438
|
+
}
|
|
6439
|
+
return normalized;
|
|
6440
|
+
}
|
|
6441
|
+
function formatParseError(error) {
|
|
6442
|
+
switch (error.reason) {
|
|
6443
|
+
case "invalid_starts_at":
|
|
6444
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
6445
|
+
case "invalid_ends_at":
|
|
6446
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
6447
|
+
case "invalid_time_zone":
|
|
6448
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
6449
|
+
}
|
|
6450
|
+
}
|
|
6451
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
6452
|
+
return new Map(
|
|
6453
|
+
new Intl.DateTimeFormat(locale, {
|
|
6454
|
+
...format,
|
|
6455
|
+
timeZone
|
|
6456
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
6457
|
+
);
|
|
6458
|
+
}
|
|
6459
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
6460
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
6461
|
+
year: "numeric",
|
|
6462
|
+
month: "2-digit",
|
|
6463
|
+
day: "2-digit",
|
|
6464
|
+
hour: "2-digit",
|
|
6465
|
+
minute: "2-digit",
|
|
6466
|
+
second: "2-digit",
|
|
6467
|
+
hour12: false
|
|
6468
|
+
});
|
|
6469
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
6470
|
+
return {
|
|
6471
|
+
year: read("year"),
|
|
6472
|
+
month: read("month"),
|
|
6473
|
+
day: read("day"),
|
|
6474
|
+
hour: read("hour"),
|
|
6475
|
+
minute: read("minute"),
|
|
6476
|
+
second: read("second")
|
|
6477
|
+
};
|
|
6478
|
+
}
|
|
6479
|
+
function formatDateKey(date) {
|
|
6480
|
+
const year = String(date.year).padStart(4, "0");
|
|
6481
|
+
const month = String(date.month).padStart(2, "0");
|
|
6482
|
+
const day = String(date.day).padStart(2, "0");
|
|
6483
|
+
return `${year}-${month}-${day}`;
|
|
6484
|
+
}
|
|
6485
|
+
function parseUtcIsoDateTimeString(value) {
|
|
6486
|
+
const normalized = value.trim();
|
|
6487
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
6488
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
6489
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
6490
|
+
return err("missing-timezone-offset");
|
|
6491
|
+
}
|
|
6492
|
+
const date = new Date(normalized);
|
|
6493
|
+
if (Number.isNaN(date.getTime())) {
|
|
6494
|
+
return err("invalid-date-time");
|
|
6495
|
+
}
|
|
6496
|
+
return ok(date.toISOString());
|
|
6497
|
+
}
|
|
6498
|
+
function toUtcIsoDateTimeString(value) {
|
|
6499
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
6500
|
+
if (!parsed.ok) {
|
|
6501
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
6502
|
+
throw new Error(message);
|
|
6503
|
+
}
|
|
6504
|
+
return parsed.value;
|
|
6505
|
+
}
|
|
6506
|
+
function parseScheduledBookingDateTime(input) {
|
|
6507
|
+
try {
|
|
6508
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
6509
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
6510
|
+
if (!timeZone) {
|
|
6511
|
+
return {
|
|
6512
|
+
ok: false,
|
|
6513
|
+
field: "timeZone",
|
|
6514
|
+
reason: "invalid_time_zone",
|
|
6515
|
+
value: input.timeZone
|
|
6516
|
+
};
|
|
6517
|
+
}
|
|
6518
|
+
return {
|
|
6519
|
+
ok: true,
|
|
6520
|
+
value: {
|
|
6521
|
+
startsAt,
|
|
6522
|
+
timeZone,
|
|
6523
|
+
locale: input.locale
|
|
6524
|
+
}
|
|
6525
|
+
};
|
|
6526
|
+
} catch {
|
|
6527
|
+
return {
|
|
6528
|
+
ok: false,
|
|
6529
|
+
field: "startsAt",
|
|
6530
|
+
reason: "invalid_starts_at",
|
|
6531
|
+
value: input.startsAt
|
|
6532
|
+
};
|
|
6533
|
+
}
|
|
6534
|
+
}
|
|
6535
|
+
function toScheduledBookingDateTime(input) {
|
|
6536
|
+
const result = parseScheduledBookingDateTime(input);
|
|
6537
|
+
if (result.ok) {
|
|
6538
|
+
return result.value;
|
|
6539
|
+
}
|
|
6540
|
+
throw new Error(formatParseError(result));
|
|
6541
|
+
}
|
|
6542
|
+
function getBookingLocalDateKey(input) {
|
|
6543
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
6544
|
+
}
|
|
6545
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
6546
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
6547
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
6548
|
+
}
|
|
6549
|
+
|
|
6345
6550
|
// ../core/src/location.ts
|
|
6346
6551
|
function normalizeLocationAddressText(value) {
|
|
6347
6552
|
if (typeof value !== "string") {
|
|
@@ -6789,6 +6994,21 @@ var selectSourceSchema = z4.discriminatedUnion("kind", [
|
|
|
6789
6994
|
function assertNeverSelectSource(value) {
|
|
6790
6995
|
throw new Error(`Unhandled select source: ${JSON.stringify(value)}`);
|
|
6791
6996
|
}
|
|
6997
|
+
var visibleWhenPredicateSchema = z4.object({
|
|
6998
|
+
field: z4.string().min(1),
|
|
6999
|
+
equals: z4.any().optional(),
|
|
7000
|
+
notEquals: z4.any().optional(),
|
|
7001
|
+
oneOf: z4.array(z4.any()).optional(),
|
|
7002
|
+
notIn: z4.array(z4.any()).optional(),
|
|
7003
|
+
minItems: z4.number().int().nonnegative().optional(),
|
|
7004
|
+
maxItems: z4.number().int().nonnegative().optional()
|
|
7005
|
+
});
|
|
7006
|
+
var visibleWhenSchema = z4.union([
|
|
7007
|
+
visibleWhenPredicateSchema,
|
|
7008
|
+
z4.object({
|
|
7009
|
+
allOf: z4.array(visibleWhenPredicateSchema).min(1)
|
|
7010
|
+
})
|
|
7011
|
+
]);
|
|
6792
7012
|
var uiSchema = z4.object({
|
|
6793
7013
|
widget: z4.string().optional(),
|
|
6794
7014
|
// Container/widget presets (used by Group/Repeater widgets themselves, not for widget selection)
|
|
@@ -6821,13 +7041,7 @@ var uiSchema = z4.object({
|
|
|
6821
7041
|
showValue: z4.boolean().optional(),
|
|
6822
7042
|
pattern: z4.string().optional(),
|
|
6823
7043
|
placeholder: z4.string().optional(),
|
|
6824
|
-
visibleWhen:
|
|
6825
|
-
field: z4.string().min(1),
|
|
6826
|
-
equals: z4.any().optional(),
|
|
6827
|
-
notEquals: z4.any().optional(),
|
|
6828
|
-
oneOf: z4.array(z4.any()).optional(),
|
|
6829
|
-
notIn: z4.array(z4.any()).optional()
|
|
6830
|
-
}).optional(),
|
|
7044
|
+
visibleWhen: visibleWhenSchema.optional(),
|
|
6831
7045
|
// Modal configuration for modal and group fields
|
|
6832
7046
|
modalConfig: z4.object({
|
|
6833
7047
|
buttonLabel: z4.string().optional(),
|
|
@@ -7594,6 +7808,7 @@ var eventListTreatmentValues = [
|
|
|
7594
7808
|
];
|
|
7595
7809
|
var eyebrowTreatmentValues = [
|
|
7596
7810
|
"plain",
|
|
7811
|
+
"accent",
|
|
7597
7812
|
"pill",
|
|
7598
7813
|
"accent-pill",
|
|
7599
7814
|
"pill-bounce",
|
|
@@ -9185,9 +9400,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9185
9400
|
}
|
|
9186
9401
|
image.remove();
|
|
9187
9402
|
return res;
|
|
9188
|
-
} catch (
|
|
9403
|
+
} catch (err2) {
|
|
9189
9404
|
image.remove();
|
|
9190
|
-
return Promise.reject(
|
|
9405
|
+
return Promise.reject(err2);
|
|
9191
9406
|
}
|
|
9192
9407
|
}
|
|
9193
9408
|
async getPalettes() {
|
|
@@ -9201,9 +9416,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9201
9416
|
const res = result1.palettes;
|
|
9202
9417
|
image.remove();
|
|
9203
9418
|
return res;
|
|
9204
|
-
} catch (
|
|
9419
|
+
} catch (err2) {
|
|
9205
9420
|
image.remove();
|
|
9206
|
-
return Promise.reject(
|
|
9421
|
+
return Promise.reject(err2);
|
|
9207
9422
|
}
|
|
9208
9423
|
}
|
|
9209
9424
|
};
|
|
@@ -10608,27 +10823,28 @@ var joyStamp = defineButtonPersonality({
|
|
|
10608
10823
|
}
|
|
10609
10824
|
});
|
|
10610
10825
|
|
|
10611
|
-
// ../theme-core/src/buttons/personalities/
|
|
10612
|
-
var
|
|
10613
|
-
id: "
|
|
10614
|
-
name: "
|
|
10615
|
-
description: "
|
|
10616
|
-
tags: { tone: "classic", energy: "
|
|
10826
|
+
// ../theme-core/src/buttons/personalities/ornate-ritual.ts
|
|
10827
|
+
var ornateRitual = defineButtonPersonality({
|
|
10828
|
+
id: "ornate-ritual",
|
|
10829
|
+
name: "Ornate Ritual",
|
|
10830
|
+
description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
|
|
10831
|
+
tags: { tone: "classic", energy: "vibrant", motion: "subtle", era: "organic" },
|
|
10617
10832
|
buttonSystem: {
|
|
10618
10833
|
global: {
|
|
10619
|
-
cornerStyle: "
|
|
10834
|
+
cornerStyle: "rounded",
|
|
10620
10835
|
shadow: "none",
|
|
10621
|
-
textTransform: "
|
|
10622
|
-
fontWeight:
|
|
10623
|
-
borderWidth:
|
|
10836
|
+
textTransform: "uppercase",
|
|
10837
|
+
fontWeight: 600,
|
|
10838
|
+
borderWidth: 1,
|
|
10624
10839
|
hoverTransform: "none",
|
|
10625
|
-
hoverColor: "none"
|
|
10840
|
+
hoverColor: "none",
|
|
10841
|
+
letterSpacing: "loose"
|
|
10626
10842
|
},
|
|
10627
10843
|
sizes: {
|
|
10628
|
-
sm: { padding: "0.
|
|
10629
|
-
md: { padding: "0.
|
|
10630
|
-
lg: { padding: "
|
|
10631
|
-
xl: { padding: "
|
|
10844
|
+
sm: { padding: "0.5625rem 1.25rem", fontSize: "text-xs" },
|
|
10845
|
+
md: { padding: "0.75rem 1.75rem", fontSize: "text-xs" },
|
|
10846
|
+
lg: { padding: "0.875rem 2.25rem", fontSize: "text-sm" },
|
|
10847
|
+
xl: { padding: "1rem 2.75rem", fontSize: "text-base" }
|
|
10632
10848
|
},
|
|
10633
10849
|
variants: [
|
|
10634
10850
|
{
|
|
@@ -10638,97 +10854,12 @@ var pebble = defineButtonPersonality({
|
|
|
10638
10854
|
priority: 1,
|
|
10639
10855
|
background: { type: "solid", colorToken: "primary" },
|
|
10640
10856
|
textColorToken: "primaryForeground",
|
|
10641
|
-
borderRadius: "rounded-
|
|
10642
|
-
|
|
10643
|
-
|
|
10644
|
-
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
10645
|
-
]
|
|
10646
|
-
}
|
|
10647
|
-
},
|
|
10648
|
-
{
|
|
10649
|
-
id: "secondary",
|
|
10650
|
-
name: "Secondary",
|
|
10651
|
-
enabled: true,
|
|
10652
|
-
priority: 2,
|
|
10653
|
-
background: { type: "transparent" },
|
|
10654
|
-
textColorToken: "primary",
|
|
10655
|
-
borderRadius: "rounded-full",
|
|
10656
|
-
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10657
|
-
effects: {
|
|
10658
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
10659
|
-
}
|
|
10660
|
-
},
|
|
10661
|
-
{
|
|
10662
|
-
id: "outline",
|
|
10663
|
-
name: "Outline",
|
|
10664
|
-
enabled: true,
|
|
10665
|
-
priority: 3,
|
|
10666
|
-
background: { type: "transparent" },
|
|
10667
|
-
textColorToken: "text",
|
|
10668
|
-
borderRadius: "rounded-full",
|
|
10669
|
-
border: { widthClass: "border", colorToken: "border" },
|
|
10670
|
-
effects: {
|
|
10671
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10672
|
-
}
|
|
10673
|
-
},
|
|
10674
|
-
{
|
|
10675
|
-
id: "ghost",
|
|
10676
|
-
name: "Ghost",
|
|
10677
|
-
enabled: true,
|
|
10678
|
-
priority: 3,
|
|
10679
|
-
background: { type: "transparent" },
|
|
10680
|
-
textColorToken: "primary",
|
|
10681
|
-
borderRadius: "rounded-full",
|
|
10682
|
-
sizes: {
|
|
10683
|
-
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
10684
|
-
md: { padding: "0.5rem 1rem" },
|
|
10685
|
-
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
10686
|
-
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
10687
|
-
},
|
|
10688
|
-
effects: {
|
|
10689
|
-
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
10690
|
-
}
|
|
10691
|
-
}
|
|
10692
|
-
]
|
|
10693
|
-
}
|
|
10694
|
-
});
|
|
10695
|
-
|
|
10696
|
-
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
10697
|
-
var showtimePill = defineButtonPersonality({
|
|
10698
|
-
id: "showtime-pill",
|
|
10699
|
-
name: "Showtime Pill",
|
|
10700
|
-
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
10701
|
-
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
10702
|
-
buttonSystem: {
|
|
10703
|
-
global: {
|
|
10704
|
-
cornerStyle: "pill",
|
|
10705
|
-
shadow: "low",
|
|
10706
|
-
textTransform: "uppercase",
|
|
10707
|
-
fontWeight: 700,
|
|
10708
|
-
borderWidth: 2,
|
|
10709
|
-
hoverTransform: "lift",
|
|
10710
|
-
hoverColor: "darken",
|
|
10711
|
-
typography: "body",
|
|
10712
|
-
paddingPreset: "spacious",
|
|
10713
|
-
italic: false
|
|
10714
|
-
},
|
|
10715
|
-
sizes: {
|
|
10716
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
10717
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
10718
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
10719
|
-
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
10720
|
-
},
|
|
10721
|
-
variants: [
|
|
10722
|
-
{
|
|
10723
|
-
id: "primary",
|
|
10724
|
-
name: "Primary",
|
|
10725
|
-
enabled: true,
|
|
10726
|
-
priority: 1,
|
|
10727
|
-
background: { type: "solid", colorToken: "primary" },
|
|
10728
|
-
textColorToken: "background",
|
|
10729
|
-
borderRadius: "rounded-full",
|
|
10857
|
+
borderRadius: "rounded-md",
|
|
10858
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10859
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10730
10860
|
effects: {
|
|
10731
|
-
hover: [{ effectId: "
|
|
10861
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "primary-100" } }],
|
|
10862
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
10732
10863
|
}
|
|
10733
10864
|
},
|
|
10734
10865
|
{
|
|
@@ -10736,35 +10867,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10736
10867
|
name: "Secondary",
|
|
10737
10868
|
enabled: true,
|
|
10738
10869
|
priority: 2,
|
|
10739
|
-
background: { type: "transparent" },
|
|
10740
|
-
textColorToken: "primary",
|
|
10741
|
-
borderRadius: "rounded-full",
|
|
10742
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10743
|
-
effects: {
|
|
10744
|
-
hover: [{ effectId: "pop" }]
|
|
10745
|
-
}
|
|
10746
|
-
},
|
|
10747
|
-
{
|
|
10748
|
-
id: "hero",
|
|
10749
|
-
name: "Hero",
|
|
10750
|
-
enabled: true,
|
|
10751
|
-
priority: 1,
|
|
10752
10870
|
background: { type: "solid", colorToken: "secondary" },
|
|
10753
|
-
textColorToken: "
|
|
10754
|
-
borderRadius: "rounded-
|
|
10755
|
-
|
|
10756
|
-
|
|
10757
|
-
}
|
|
10758
|
-
},
|
|
10759
|
-
{
|
|
10760
|
-
id: "header",
|
|
10761
|
-
name: "Header",
|
|
10762
|
-
enabled: true,
|
|
10763
|
-
priority: 2,
|
|
10764
|
-
background: { type: "solid", colorToken: "background" },
|
|
10765
|
-
textColorToken: "primary",
|
|
10766
|
-
borderRadius: "rounded-full",
|
|
10767
|
-
border: { widthClass: "border-2", colorToken: "primary" },
|
|
10871
|
+
textColorToken: "primaryForeground",
|
|
10872
|
+
borderRadius: "rounded-md",
|
|
10873
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10874
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10768
10875
|
effects: {
|
|
10769
10876
|
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10770
10877
|
}
|
|
@@ -10776,10 +10883,11 @@ var showtimePill = defineButtonPersonality({
|
|
|
10776
10883
|
priority: 3,
|
|
10777
10884
|
background: { type: "transparent" },
|
|
10778
10885
|
textColorToken: "primary",
|
|
10779
|
-
borderRadius: "rounded-
|
|
10780
|
-
border: { widthClass: "border
|
|
10886
|
+
borderRadius: "rounded-md",
|
|
10887
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10888
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10781
10889
|
effects: {
|
|
10782
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
10890
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
10783
10891
|
}
|
|
10784
10892
|
},
|
|
10785
10893
|
{
|
|
@@ -10788,32 +10896,44 @@ var showtimePill = defineButtonPersonality({
|
|
|
10788
10896
|
enabled: true,
|
|
10789
10897
|
priority: 3,
|
|
10790
10898
|
background: { type: "transparent" },
|
|
10791
|
-
textColorToken: "
|
|
10792
|
-
borderRadius: "rounded-
|
|
10899
|
+
textColorToken: "accent",
|
|
10900
|
+
borderRadius: "rounded-none",
|
|
10901
|
+
sizes: {
|
|
10902
|
+
sm: { padding: "0.375rem 0", fontSize: "text-xs" },
|
|
10903
|
+
md: { padding: "0.5rem 0", fontSize: "text-sm" },
|
|
10904
|
+
lg: { padding: "0.625rem 0", fontSize: "text-base" },
|
|
10905
|
+
xl: { padding: "0.75rem 0", fontSize: "text-lg" }
|
|
10906
|
+
},
|
|
10793
10907
|
effects: {
|
|
10794
|
-
|
|
10908
|
+
base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
|
|
10795
10909
|
}
|
|
10796
10910
|
}
|
|
10797
10911
|
]
|
|
10798
10912
|
}
|
|
10799
10913
|
});
|
|
10800
10914
|
|
|
10801
|
-
// ../theme-core/src/buttons/personalities/
|
|
10802
|
-
var
|
|
10803
|
-
id: "
|
|
10804
|
-
name: "
|
|
10805
|
-
description: "
|
|
10806
|
-
tags: { tone: "classic", energy: "calm", motion: "
|
|
10915
|
+
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
10916
|
+
var pebble = defineButtonPersonality({
|
|
10917
|
+
id: "pebble",
|
|
10918
|
+
name: "Pebble",
|
|
10919
|
+
description: "Generous pill buttons with a quiet colour-softening hover.",
|
|
10920
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
|
|
10807
10921
|
buttonSystem: {
|
|
10808
10922
|
global: {
|
|
10809
10923
|
cornerStyle: "pill",
|
|
10810
|
-
shadow: "
|
|
10924
|
+
shadow: "none",
|
|
10811
10925
|
textTransform: "none",
|
|
10812
10926
|
fontWeight: 500,
|
|
10813
10927
|
borderWidth: 2,
|
|
10814
|
-
hoverTransform: "
|
|
10928
|
+
hoverTransform: "none",
|
|
10815
10929
|
hoverColor: "none"
|
|
10816
10930
|
},
|
|
10931
|
+
sizes: {
|
|
10932
|
+
sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
|
|
10933
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
10934
|
+
lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
|
|
10935
|
+
xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
|
|
10936
|
+
},
|
|
10817
10937
|
variants: [
|
|
10818
10938
|
{
|
|
10819
10939
|
id: "primary",
|
|
@@ -10823,10 +10943,10 @@ var softPill = defineButtonPersonality({
|
|
|
10823
10943
|
background: { type: "solid", colorToken: "primary" },
|
|
10824
10944
|
textColorToken: "primaryForeground",
|
|
10825
10945
|
borderRadius: "rounded-full",
|
|
10826
|
-
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
10827
10946
|
effects: {
|
|
10828
|
-
hover: [
|
|
10829
|
-
|
|
10947
|
+
hover: [
|
|
10948
|
+
{ effectId: "background-on-hover-alpha", options: { colorToken: "primary", opacity: 88 } }
|
|
10949
|
+
]
|
|
10830
10950
|
}
|
|
10831
10951
|
},
|
|
10832
10952
|
{
|
|
@@ -10837,9 +10957,193 @@ var softPill = defineButtonPersonality({
|
|
|
10837
10957
|
background: { type: "transparent" },
|
|
10838
10958
|
textColorToken: "primary",
|
|
10839
10959
|
borderRadius: "rounded-full",
|
|
10840
|
-
border: { widthClass: "border-2", colorToken: "
|
|
10960
|
+
border: { widthClass: "border-2", colorToken: "accent" },
|
|
10841
10961
|
effects: {
|
|
10842
|
-
hover: [{ effectId: "background-on-hover", options: { colorToken: "
|
|
10962
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
10963
|
+
}
|
|
10964
|
+
},
|
|
10965
|
+
{
|
|
10966
|
+
id: "outline",
|
|
10967
|
+
name: "Outline",
|
|
10968
|
+
enabled: true,
|
|
10969
|
+
priority: 3,
|
|
10970
|
+
background: { type: "transparent" },
|
|
10971
|
+
textColorToken: "text",
|
|
10972
|
+
borderRadius: "rounded-full",
|
|
10973
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
10974
|
+
effects: {
|
|
10975
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10976
|
+
}
|
|
10977
|
+
},
|
|
10978
|
+
{
|
|
10979
|
+
id: "ghost",
|
|
10980
|
+
name: "Ghost",
|
|
10981
|
+
enabled: true,
|
|
10982
|
+
priority: 3,
|
|
10983
|
+
background: { type: "transparent" },
|
|
10984
|
+
textColorToken: "primary",
|
|
10985
|
+
borderRadius: "rounded-full",
|
|
10986
|
+
sizes: {
|
|
10987
|
+
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
10988
|
+
md: { padding: "0.5rem 1rem" },
|
|
10989
|
+
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
10990
|
+
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
10991
|
+
},
|
|
10992
|
+
effects: {
|
|
10993
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
10994
|
+
}
|
|
10995
|
+
}
|
|
10996
|
+
]
|
|
10997
|
+
}
|
|
10998
|
+
});
|
|
10999
|
+
|
|
11000
|
+
// ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
11001
|
+
var showtimePill = defineButtonPersonality({
|
|
11002
|
+
id: "showtime-pill",
|
|
11003
|
+
name: "Showtime Pill",
|
|
11004
|
+
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
11005
|
+
tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
|
|
11006
|
+
buttonSystem: {
|
|
11007
|
+
global: {
|
|
11008
|
+
cornerStyle: "pill",
|
|
11009
|
+
shadow: "low",
|
|
11010
|
+
textTransform: "uppercase",
|
|
11011
|
+
fontWeight: 700,
|
|
11012
|
+
borderWidth: 2,
|
|
11013
|
+
hoverTransform: "lift",
|
|
11014
|
+
hoverColor: "darken",
|
|
11015
|
+
typography: "body",
|
|
11016
|
+
paddingPreset: "spacious",
|
|
11017
|
+
italic: false
|
|
11018
|
+
},
|
|
11019
|
+
sizes: {
|
|
11020
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
|
|
11021
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
|
|
11022
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
|
|
11023
|
+
xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
|
|
11024
|
+
},
|
|
11025
|
+
variants: [
|
|
11026
|
+
{
|
|
11027
|
+
id: "primary",
|
|
11028
|
+
name: "Primary",
|
|
11029
|
+
enabled: true,
|
|
11030
|
+
priority: 1,
|
|
11031
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11032
|
+
textColorToken: "background",
|
|
11033
|
+
borderRadius: "rounded-full",
|
|
11034
|
+
effects: {
|
|
11035
|
+
hover: [{ effectId: "pop" }]
|
|
11036
|
+
}
|
|
11037
|
+
},
|
|
11038
|
+
{
|
|
11039
|
+
id: "secondary",
|
|
11040
|
+
name: "Secondary",
|
|
11041
|
+
enabled: true,
|
|
11042
|
+
priority: 2,
|
|
11043
|
+
background: { type: "transparent" },
|
|
11044
|
+
textColorToken: "primary",
|
|
11045
|
+
borderRadius: "rounded-full",
|
|
11046
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11047
|
+
effects: {
|
|
11048
|
+
hover: [{ effectId: "pop" }]
|
|
11049
|
+
}
|
|
11050
|
+
},
|
|
11051
|
+
{
|
|
11052
|
+
id: "hero",
|
|
11053
|
+
name: "Hero",
|
|
11054
|
+
enabled: true,
|
|
11055
|
+
priority: 1,
|
|
11056
|
+
background: { type: "solid", colorToken: "secondary" },
|
|
11057
|
+
textColorToken: "primary",
|
|
11058
|
+
borderRadius: "rounded-full",
|
|
11059
|
+
effects: {
|
|
11060
|
+
hover: [{ effectId: "pop" }]
|
|
11061
|
+
}
|
|
11062
|
+
},
|
|
11063
|
+
{
|
|
11064
|
+
id: "header",
|
|
11065
|
+
name: "Header",
|
|
11066
|
+
enabled: true,
|
|
11067
|
+
priority: 2,
|
|
11068
|
+
background: { type: "solid", colorToken: "background" },
|
|
11069
|
+
textColorToken: "primary",
|
|
11070
|
+
borderRadius: "rounded-full",
|
|
11071
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11072
|
+
effects: {
|
|
11073
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11074
|
+
}
|
|
11075
|
+
},
|
|
11076
|
+
{
|
|
11077
|
+
id: "outline",
|
|
11078
|
+
name: "Outline",
|
|
11079
|
+
enabled: true,
|
|
11080
|
+
priority: 3,
|
|
11081
|
+
background: { type: "transparent" },
|
|
11082
|
+
textColorToken: "primary",
|
|
11083
|
+
borderRadius: "rounded-full",
|
|
11084
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11085
|
+
effects: {
|
|
11086
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
|
|
11087
|
+
}
|
|
11088
|
+
},
|
|
11089
|
+
{
|
|
11090
|
+
id: "ghost",
|
|
11091
|
+
name: "Ghost",
|
|
11092
|
+
enabled: true,
|
|
11093
|
+
priority: 3,
|
|
11094
|
+
background: { type: "transparent" },
|
|
11095
|
+
textColorToken: "primary",
|
|
11096
|
+
borderRadius: "rounded-full",
|
|
11097
|
+
effects: {
|
|
11098
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
11099
|
+
}
|
|
11100
|
+
}
|
|
11101
|
+
]
|
|
11102
|
+
}
|
|
11103
|
+
});
|
|
11104
|
+
|
|
11105
|
+
// ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
11106
|
+
var softPill = defineButtonPersonality({
|
|
11107
|
+
id: "soft-pill",
|
|
11108
|
+
name: "Soft Pill",
|
|
11109
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
11110
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
11111
|
+
buttonSystem: {
|
|
11112
|
+
global: {
|
|
11113
|
+
cornerStyle: "pill",
|
|
11114
|
+
shadow: "low",
|
|
11115
|
+
textTransform: "none",
|
|
11116
|
+
fontWeight: 500,
|
|
11117
|
+
borderWidth: 2,
|
|
11118
|
+
hoverTransform: "lift",
|
|
11119
|
+
hoverColor: "none"
|
|
11120
|
+
},
|
|
11121
|
+
variants: [
|
|
11122
|
+
{
|
|
11123
|
+
id: "primary",
|
|
11124
|
+
name: "Primary",
|
|
11125
|
+
enabled: true,
|
|
11126
|
+
priority: 1,
|
|
11127
|
+
background: { type: "solid", colorToken: "primary" },
|
|
11128
|
+
textColorToken: "primaryForeground",
|
|
11129
|
+
borderRadius: "rounded-full",
|
|
11130
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
11131
|
+
effects: {
|
|
11132
|
+
hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
|
|
11133
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
11134
|
+
}
|
|
11135
|
+
},
|
|
11136
|
+
{
|
|
11137
|
+
id: "secondary",
|
|
11138
|
+
name: "Secondary",
|
|
11139
|
+
enabled: true,
|
|
11140
|
+
priority: 2,
|
|
11141
|
+
background: { type: "transparent" },
|
|
11142
|
+
textColorToken: "primary",
|
|
11143
|
+
borderRadius: "rounded-full",
|
|
11144
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
11145
|
+
effects: {
|
|
11146
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
10843
11147
|
}
|
|
10844
11148
|
},
|
|
10845
11149
|
{
|
|
@@ -10881,7 +11185,8 @@ var buttonPersonalities = [
|
|
|
10881
11185
|
inkStamp,
|
|
10882
11186
|
brushedWash,
|
|
10883
11187
|
showtimePill,
|
|
10884
|
-
joyStamp
|
|
11188
|
+
joyStamp,
|
|
11189
|
+
ornateRitual
|
|
10885
11190
|
];
|
|
10886
11191
|
var personalitiesById = new Map(
|
|
10887
11192
|
buttonPersonalities.map((p) => [p.id, p])
|
|
@@ -11511,7 +11816,7 @@ function rgbColorValue(token) {
|
|
|
11511
11816
|
if (alpha === void 0) {
|
|
11512
11817
|
return `rgb(var(${cssVar}))`;
|
|
11513
11818
|
}
|
|
11514
|
-
return `
|
|
11819
|
+
return `rgb(var(${cssVar}) / ${alpha})`;
|
|
11515
11820
|
}
|
|
11516
11821
|
function backgroundColorStyle(token) {
|
|
11517
11822
|
return { backgroundColor: rgbColorValue(token) };
|
|
@@ -12616,6 +12921,28 @@ var warmDarkEmber = definePaletteVariant({
|
|
|
12616
12921
|
{ name: "border", hex: "#894e31" }
|
|
12617
12922
|
]
|
|
12618
12923
|
});
|
|
12924
|
+
var warmDarkKirtanGold = definePaletteVariant({
|
|
12925
|
+
id: "warm-dark-kirtan-gold",
|
|
12926
|
+
name: "Warm Dark \u2014 Kirtan Gold",
|
|
12927
|
+
description: "Deep plum ground with pale gold primary, rose accent, and soft devotional text.",
|
|
12928
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
12929
|
+
mode: "dark",
|
|
12930
|
+
colors: [
|
|
12931
|
+
{ name: "primary", hex: "#ffcdb2" },
|
|
12932
|
+
{ name: "secondary", hex: "#b5838d" },
|
|
12933
|
+
{ name: "accent", hex: "#e5989b" },
|
|
12934
|
+
{ name: "success", hex: "#8fbf8f" },
|
|
12935
|
+
{ name: "warning", hex: "#f2b86b" },
|
|
12936
|
+
{ name: "destructive", hex: "#d96b6b" },
|
|
12937
|
+
{ name: "background", hex: "#403944" },
|
|
12938
|
+
{ name: "surface", hex: "#403944" },
|
|
12939
|
+
{ name: "surfaceAlt", hex: "#372f3b" },
|
|
12940
|
+
{ name: "muted", hex: "#4d4550" },
|
|
12941
|
+
{ name: "text", hex: "#e6d2d5" },
|
|
12942
|
+
{ name: "primaryForeground", hex: "#403944" },
|
|
12943
|
+
{ name: "border", hex: "#8d747a" }
|
|
12944
|
+
]
|
|
12945
|
+
});
|
|
12619
12946
|
|
|
12620
12947
|
// ../theme-core/src/palette/variants/index.ts
|
|
12621
12948
|
var paletteVariants = [
|
|
@@ -12639,7 +12966,8 @@ var paletteVariants = [
|
|
|
12639
12966
|
softNaturalWatercolor,
|
|
12640
12967
|
softNaturalLilac,
|
|
12641
12968
|
// Warm-dark family (dark mode)
|
|
12642
|
-
warmDarkEmber
|
|
12969
|
+
warmDarkEmber,
|
|
12970
|
+
warmDarkKirtanGold
|
|
12643
12971
|
];
|
|
12644
12972
|
var paletteVariantsById = new Map(
|
|
12645
12973
|
paletteVariants.map((v) => [v.id, v])
|
|
@@ -14208,9 +14536,125 @@ function headerConfigurationKey(configuration) {
|
|
|
14208
14536
|
function asFooterLookId(value) {
|
|
14209
14537
|
return value;
|
|
14210
14538
|
}
|
|
14211
|
-
|
|
14539
|
+
function asFooterLayoutId(value) {
|
|
14540
|
+
return value;
|
|
14541
|
+
}
|
|
14542
|
+
function asFooterStyleId(value) {
|
|
14543
|
+
return value;
|
|
14544
|
+
}
|
|
14545
|
+
var guaranteedFallbackFooterLookId = asFooterLookId("footer-identity-quiet");
|
|
14546
|
+
var footerLayoutCatalog = defineExactCatalog()([
|
|
14547
|
+
{
|
|
14548
|
+
id: asFooterLayoutId("identity"),
|
|
14549
|
+
label: "Identity",
|
|
14550
|
+
description: "Logo, site text, address, and legal copy without relying on footer navigation."
|
|
14551
|
+
},
|
|
14552
|
+
{
|
|
14553
|
+
id: asFooterLayoutId("centered"),
|
|
14554
|
+
label: "Centered",
|
|
14555
|
+
description: "A calm centered stack for identity, short copy, and optional compact navigation.",
|
|
14556
|
+
maxRecommendedNavDensity: "sparse"
|
|
14557
|
+
},
|
|
14558
|
+
{
|
|
14559
|
+
id: asFooterLayoutId("split"),
|
|
14560
|
+
label: "Split",
|
|
14561
|
+
description: "Navigation and brand signoff separated into a wider split footer.",
|
|
14562
|
+
requiresFooterNav: true,
|
|
14563
|
+
maxRecommendedNavDensity: "balanced"
|
|
14564
|
+
},
|
|
14565
|
+
{
|
|
14566
|
+
id: asFooterLayoutId("columns"),
|
|
14567
|
+
label: "Columns",
|
|
14568
|
+
description: "Grouped footer navigation columns with a supporting bottom line.",
|
|
14569
|
+
requiresFooterNav: true,
|
|
14570
|
+
requiresFooterNavGroups: true
|
|
14571
|
+
}
|
|
14572
|
+
]);
|
|
14573
|
+
var footerStyleCatalog = defineExactCatalog()([
|
|
14574
|
+
{
|
|
14575
|
+
id: asFooterStyleId("quiet"),
|
|
14576
|
+
label: "Quiet",
|
|
14577
|
+
description: "Lightweight, practical footer treatment."
|
|
14578
|
+
},
|
|
14579
|
+
{
|
|
14580
|
+
id: asFooterStyleId("calm"),
|
|
14581
|
+
label: "Calm",
|
|
14582
|
+
description: "Soft centered treatment with restrained dividers."
|
|
14583
|
+
},
|
|
14584
|
+
{
|
|
14585
|
+
id: asFooterStyleId("editorial"),
|
|
14586
|
+
label: "Editorial",
|
|
14587
|
+
description: "Text-forward treatment with fine-line structure."
|
|
14588
|
+
},
|
|
14589
|
+
{
|
|
14590
|
+
id: asFooterStyleId("brand-band"),
|
|
14591
|
+
label: "Brand band",
|
|
14592
|
+
description: "High-contrast brand treatment with a stronger bottom bar."
|
|
14593
|
+
}
|
|
14594
|
+
]);
|
|
14595
|
+
var footerLayoutsById = new Map(
|
|
14596
|
+
footerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
14597
|
+
);
|
|
14598
|
+
var footerStylesById = new Map(
|
|
14599
|
+
footerStyleCatalog.map((style) => [style.id, style])
|
|
14600
|
+
);
|
|
14601
|
+
function identityQuietFooter(theme) {
|
|
14602
|
+
return {
|
|
14603
|
+
...theme.footer,
|
|
14604
|
+
variant: "simple",
|
|
14605
|
+
maxWidth: "container",
|
|
14606
|
+
background: {
|
|
14607
|
+
type: "color",
|
|
14608
|
+
color: "surface"
|
|
14609
|
+
},
|
|
14610
|
+
navStyle: "minimal",
|
|
14611
|
+
navWeight: "regular",
|
|
14612
|
+
navColor: "text",
|
|
14613
|
+
navLinkStyle: {
|
|
14614
|
+
typography: "body",
|
|
14615
|
+
fontWeight: "regular",
|
|
14616
|
+
textTransform: "none",
|
|
14617
|
+
italic: false,
|
|
14618
|
+
colorToken: "text",
|
|
14619
|
+
hoverColorToken: "primary",
|
|
14620
|
+
padding: "none",
|
|
14621
|
+
borderRadius: "none"
|
|
14622
|
+
},
|
|
14623
|
+
navLayout: {
|
|
14624
|
+
layout: "inline-wrap",
|
|
14625
|
+
align: "start",
|
|
14626
|
+
gapX: "default",
|
|
14627
|
+
gapY: "tight"
|
|
14628
|
+
},
|
|
14629
|
+
logo: {
|
|
14630
|
+
showLogo: true,
|
|
14631
|
+
showLogoText: true,
|
|
14632
|
+
placement: "left",
|
|
14633
|
+
size: "sm",
|
|
14634
|
+
align: "start"
|
|
14635
|
+
},
|
|
14636
|
+
bottomBar: {
|
|
14637
|
+
enabled: false,
|
|
14638
|
+
fullBleed: false,
|
|
14639
|
+
textAlign: "left",
|
|
14640
|
+
paddingX: "default",
|
|
14641
|
+
paddingY: "compact",
|
|
14642
|
+
borderTop: {
|
|
14643
|
+
width: "none"
|
|
14644
|
+
}
|
|
14645
|
+
}
|
|
14646
|
+
};
|
|
14647
|
+
}
|
|
14212
14648
|
function mutedGroundingFooter(theme) {
|
|
14213
|
-
return
|
|
14649
|
+
return {
|
|
14650
|
+
...identityQuietFooter(theme),
|
|
14651
|
+
background: theme.footer.background,
|
|
14652
|
+
navStyle: theme.footer.navStyle,
|
|
14653
|
+
navColor: theme.footer.navColor,
|
|
14654
|
+
navWeight: theme.footer.navWeight,
|
|
14655
|
+
navLinkStyle: theme.footer.navLinkStyle,
|
|
14656
|
+
bottomTextLinkStyle: theme.footer.bottomTextLinkStyle
|
|
14657
|
+
};
|
|
14214
14658
|
}
|
|
14215
14659
|
function brandTwoBandFooter(theme) {
|
|
14216
14660
|
return {
|
|
@@ -14315,6 +14759,53 @@ function centeredCalmFooter(theme) {
|
|
|
14315
14759
|
}
|
|
14316
14760
|
};
|
|
14317
14761
|
}
|
|
14762
|
+
function splitEditorialFooter(theme) {
|
|
14763
|
+
return {
|
|
14764
|
+
...theme.footer,
|
|
14765
|
+
variant: "split",
|
|
14766
|
+
maxWidth: "container",
|
|
14767
|
+
background: {
|
|
14768
|
+
type: "color",
|
|
14769
|
+
color: "surface"
|
|
14770
|
+
},
|
|
14771
|
+
navStyle: "minimal",
|
|
14772
|
+
navWeight: "regular",
|
|
14773
|
+
navColor: "text",
|
|
14774
|
+
navLinkStyle: {
|
|
14775
|
+
typography: "body",
|
|
14776
|
+
fontWeight: "regular",
|
|
14777
|
+
textTransform: "none",
|
|
14778
|
+
italic: false,
|
|
14779
|
+
colorToken: "text",
|
|
14780
|
+
hoverColorToken: "primary",
|
|
14781
|
+
padding: "none",
|
|
14782
|
+
borderRadius: "none"
|
|
14783
|
+
},
|
|
14784
|
+
navLayout: {
|
|
14785
|
+
layout: "inline-wrap",
|
|
14786
|
+
align: "start",
|
|
14787
|
+
gapX: "relaxed",
|
|
14788
|
+
gapY: "tight"
|
|
14789
|
+
},
|
|
14790
|
+
logo: {
|
|
14791
|
+
showLogo: true,
|
|
14792
|
+
showLogoText: true,
|
|
14793
|
+
placement: "right",
|
|
14794
|
+
size: "sm",
|
|
14795
|
+
align: "end"
|
|
14796
|
+
},
|
|
14797
|
+
bottomBar: {
|
|
14798
|
+
enabled: true,
|
|
14799
|
+
fullBleed: false,
|
|
14800
|
+
textAlign: "left",
|
|
14801
|
+
paddingX: "default",
|
|
14802
|
+
paddingY: "compact",
|
|
14803
|
+
borderTop: {
|
|
14804
|
+
width: "thin"
|
|
14805
|
+
}
|
|
14806
|
+
}
|
|
14807
|
+
};
|
|
14808
|
+
}
|
|
14318
14809
|
function editorialColumnsFooter(theme) {
|
|
14319
14810
|
return {
|
|
14320
14811
|
...theme.footer,
|
|
@@ -14357,25 +14848,47 @@ function editorialColumnsFooter(theme) {
|
|
|
14357
14848
|
};
|
|
14358
14849
|
}
|
|
14359
14850
|
var footerLookCatalog = defineExactCatalog()([
|
|
14851
|
+
{
|
|
14852
|
+
id: asFooterLookId("footer-identity-quiet"),
|
|
14853
|
+
label: "Identity footer",
|
|
14854
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14855
|
+
styleId: asFooterStyleId("quiet"),
|
|
14856
|
+
compile: identityQuietFooter
|
|
14857
|
+
},
|
|
14360
14858
|
{
|
|
14361
14859
|
id: asFooterLookId("footer-muted-grounding"),
|
|
14362
14860
|
label: "Muted grounding footer",
|
|
14861
|
+
layoutId: asFooterLayoutId("identity"),
|
|
14862
|
+
styleId: asFooterStyleId("quiet"),
|
|
14863
|
+
hiddenFromLayoutStyleControls: true,
|
|
14363
14864
|
compile: mutedGroundingFooter
|
|
14364
14865
|
},
|
|
14365
14866
|
{
|
|
14366
14867
|
id: asFooterLookId("footer-centered-calm"),
|
|
14367
14868
|
label: "Centered calm footer",
|
|
14869
|
+
layoutId: asFooterLayoutId("centered"),
|
|
14870
|
+
styleId: asFooterStyleId("calm"),
|
|
14368
14871
|
compile: centeredCalmFooter
|
|
14369
14872
|
},
|
|
14873
|
+
{
|
|
14874
|
+
id: asFooterLookId("footer-split-editorial"),
|
|
14875
|
+
label: "Split editorial footer",
|
|
14876
|
+
layoutId: asFooterLayoutId("split"),
|
|
14877
|
+
styleId: asFooterStyleId("editorial"),
|
|
14878
|
+
compile: splitEditorialFooter
|
|
14879
|
+
},
|
|
14370
14880
|
{
|
|
14371
14881
|
id: asFooterLookId("footer-editorial-columns"),
|
|
14372
14882
|
label: "Editorial columns footer",
|
|
14883
|
+
layoutId: asFooterLayoutId("columns"),
|
|
14884
|
+
styleId: asFooterStyleId("editorial"),
|
|
14373
14885
|
compile: editorialColumnsFooter
|
|
14374
14886
|
},
|
|
14375
14887
|
{
|
|
14376
14888
|
id: asFooterLookId("site-footer-brand-two-band"),
|
|
14377
14889
|
label: "Two-band brand footer",
|
|
14378
|
-
|
|
14890
|
+
layoutId: asFooterLayoutId("split"),
|
|
14891
|
+
styleId: asFooterStyleId("brand-band"),
|
|
14379
14892
|
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
14380
14893
|
compile: brandTwoBandFooter
|
|
14381
14894
|
}
|
|
@@ -14578,6 +15091,30 @@ var luxeContrastTypography = {
|
|
|
14578
15091
|
},
|
|
14579
15092
|
scale: "spacious"
|
|
14580
15093
|
};
|
|
15094
|
+
var kirtanOrnateTypography = {
|
|
15095
|
+
body: {
|
|
15096
|
+
family: "Jost, system-ui, sans-serif",
|
|
15097
|
+
size: "md",
|
|
15098
|
+
weight: "regular",
|
|
15099
|
+
lineHeight: "relaxed",
|
|
15100
|
+
letterSpacing: "normal"
|
|
15101
|
+
},
|
|
15102
|
+
headings: {
|
|
15103
|
+
default: {
|
|
15104
|
+
family: "Marcellus, Georgia, serif",
|
|
15105
|
+
weight: "regular",
|
|
15106
|
+
lineHeight: "normal",
|
|
15107
|
+
letterSpacing: "normal",
|
|
15108
|
+
colorToken: "primary",
|
|
15109
|
+
italic: null,
|
|
15110
|
+
case: null
|
|
15111
|
+
},
|
|
15112
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15113
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15114
|
+
h3: { size: "md", weight: "regular", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
15115
|
+
},
|
|
15116
|
+
scale: "spacious"
|
|
15117
|
+
};
|
|
14581
15118
|
var boldDisplayTypography = {
|
|
14582
15119
|
body: {
|
|
14583
15120
|
family: "Manrope, system-ui, sans-serif",
|
|
@@ -14612,16 +15149,16 @@ var originalJoyTypography = {
|
|
|
14612
15149
|
},
|
|
14613
15150
|
headings: {
|
|
14614
15151
|
default: {
|
|
14615
|
-
family: "
|
|
14616
|
-
weight: "
|
|
15152
|
+
family: "Lobster, cursive",
|
|
15153
|
+
weight: "regular",
|
|
14617
15154
|
lineHeight: "normal",
|
|
14618
|
-
letterSpacing: "
|
|
15155
|
+
letterSpacing: "normal",
|
|
14619
15156
|
italic: null,
|
|
14620
15157
|
case: null
|
|
14621
15158
|
},
|
|
14622
|
-
h1: { size: "2xl", weight: "
|
|
14623
|
-
h2: { size: "xl", weight: "
|
|
14624
|
-
h3: { size: "lg", weight: "
|
|
15159
|
+
h1: { size: "2xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15160
|
+
h2: { size: "xl", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
15161
|
+
h3: { size: "lg", weight: "regular", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
14625
15162
|
},
|
|
14626
15163
|
scale: "balanced"
|
|
14627
15164
|
};
|
|
@@ -14686,6 +15223,32 @@ var typographyPresets = [
|
|
|
14686
15223
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14687
15224
|
typography: luxeContrastTypography
|
|
14688
15225
|
}),
|
|
15226
|
+
defineTypographyPreset({
|
|
15227
|
+
id: "typography-preset:kirtan-ornate",
|
|
15228
|
+
name: "Kirtan Ornate",
|
|
15229
|
+
description: "Marcellus devotional headings over a refined Jost body, matching dark ceremonial layouts.",
|
|
15230
|
+
defaultFonts: { body: "Jost, system-ui, sans-serif", heading: "Marcellus, Georgia, serif" },
|
|
15231
|
+
recommendedFonts: {
|
|
15232
|
+
body: ["Jost", "Manrope", "Inter"],
|
|
15233
|
+
heading: ["Marcellus", "Cormorant Garamond", "Playfair Display"]
|
|
15234
|
+
},
|
|
15235
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
15236
|
+
typography: kirtanOrnateTypography,
|
|
15237
|
+
heroTypography: {
|
|
15238
|
+
headlineSize: "6xl",
|
|
15239
|
+
headlineLineHeight: "normal",
|
|
15240
|
+
subheadlineSize: "xl",
|
|
15241
|
+
subheadlineLineHeight: "relaxed",
|
|
15242
|
+
microHeadlineSize: "5xl",
|
|
15243
|
+
microHeadlineLineHeight: "normal",
|
|
15244
|
+
microSubheadlineSize: "lg",
|
|
15245
|
+
microSubheadlineLineHeight: "relaxed",
|
|
15246
|
+
responsive: {
|
|
15247
|
+
tablet: { headlineSize: "5xl" },
|
|
15248
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
|
|
15249
|
+
}
|
|
15250
|
+
}
|
|
15251
|
+
}),
|
|
14689
15252
|
defineTypographyPreset({
|
|
14690
15253
|
id: "typography-preset:bold-display",
|
|
14691
15254
|
name: "Bold Display",
|
|
@@ -14715,11 +15278,11 @@ var typographyPresets = [
|
|
|
14715
15278
|
defineTypographyPreset({
|
|
14716
15279
|
id: "typography-preset:original-joy",
|
|
14717
15280
|
name: "Original Joy",
|
|
14718
|
-
description: "
|
|
14719
|
-
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "
|
|
15281
|
+
description: "Lobster display headings over a clean DM Sans body, expressive and warm.",
|
|
15282
|
+
defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Lobster, cursive" },
|
|
14720
15283
|
recommendedFonts: {
|
|
14721
15284
|
body: ["DM Sans", "Inter", "Manrope"],
|
|
14722
|
-
heading: ["Bricolage Grotesque", "Space Grotesk"
|
|
15285
|
+
heading: ["Lobster", "Bricolage Grotesque", "Space Grotesk"]
|
|
14723
15286
|
},
|
|
14724
15287
|
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
14725
15288
|
typography: originalJoyTypography,
|
|
@@ -14743,6 +15306,319 @@ var typographyPresetsById = new Map(
|
|
|
14743
15306
|
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
14744
15307
|
);
|
|
14745
15308
|
|
|
15309
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
15310
|
+
import { z as z24 } from "zod";
|
|
15311
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
15312
|
+
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15313
|
+
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15314
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15315
|
+
fields3[0],
|
|
15316
|
+
...fields3.slice(1)
|
|
15317
|
+
]);
|
|
15318
|
+
var heroLegibilityStrategySchema = z24.enum([
|
|
15319
|
+
"none",
|
|
15320
|
+
"scrim-gradient",
|
|
15321
|
+
"solid-panel"
|
|
15322
|
+
]);
|
|
15323
|
+
var heroCompositionIntentSchema = z24.enum([
|
|
15324
|
+
"center",
|
|
15325
|
+
"bottom-left"
|
|
15326
|
+
]);
|
|
15327
|
+
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15328
|
+
"quiet",
|
|
15329
|
+
"editorial",
|
|
15330
|
+
"display",
|
|
15331
|
+
"poster"
|
|
15332
|
+
]);
|
|
15333
|
+
var sectionHeightIntentSchema = z24.enum([
|
|
15334
|
+
"default",
|
|
15335
|
+
"banner",
|
|
15336
|
+
"hero",
|
|
15337
|
+
"immersive"
|
|
15338
|
+
]);
|
|
15339
|
+
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15340
|
+
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15341
|
+
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15342
|
+
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15343
|
+
z24.object({
|
|
15344
|
+
kind: z24.literal("brand-scrim"),
|
|
15345
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15346
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15347
|
+
}).strict(),
|
|
15348
|
+
z24.object({
|
|
15349
|
+
kind: z24.literal("brand-wash"),
|
|
15350
|
+
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15351
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15352
|
+
}).strict(),
|
|
15353
|
+
z24.object({
|
|
15354
|
+
kind: z24.literal("neutral-scrim"),
|
|
15355
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15356
|
+
}).strict(),
|
|
15357
|
+
z24.object({
|
|
15358
|
+
kind: z24.literal("neutral-wash"),
|
|
15359
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15360
|
+
}).strict(),
|
|
15361
|
+
z24.object({
|
|
15362
|
+
kind: z24.literal("solid-panel"),
|
|
15363
|
+
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15364
|
+
}).strict()
|
|
15365
|
+
]);
|
|
15366
|
+
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
15367
|
+
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
15368
|
+
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
15369
|
+
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
15370
|
+
function uniqueNonEmpty(values) {
|
|
15371
|
+
const uniqueValues = [...new Set(values)];
|
|
15372
|
+
const firstValue = uniqueValues[0];
|
|
15373
|
+
if (!firstValue) {
|
|
15374
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
15375
|
+
}
|
|
15376
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
15377
|
+
}
|
|
15378
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
15379
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
15380
|
+
);
|
|
15381
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
15382
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
15383
|
+
);
|
|
15384
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
15385
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
15386
|
+
);
|
|
15387
|
+
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
15388
|
+
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
15389
|
+
z24.object({
|
|
15390
|
+
kind: z24.literal("panel"),
|
|
15391
|
+
treatment: z24.enum(userPanelTreatments)
|
|
15392
|
+
}).strict(),
|
|
15393
|
+
z24.object({
|
|
15394
|
+
kind: z24.literal("flush-panel"),
|
|
15395
|
+
treatment: z24.enum(userFlushTreatments),
|
|
15396
|
+
bleed: z24.enum(userFlushBleeds)
|
|
15397
|
+
}).strict()
|
|
15398
|
+
]);
|
|
15399
|
+
var blockDesignPlanSchema = z24.object({
|
|
15400
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15401
|
+
blockKind: z24.string().min(1),
|
|
15402
|
+
purpose: z24.string().min(1),
|
|
15403
|
+
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
15404
|
+
contentFrame: contentFrameIntentSchema,
|
|
15405
|
+
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
15406
|
+
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
15407
|
+
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
15408
|
+
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
15409
|
+
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
15410
|
+
heroComposition: heroCompositionIntentSchema.optional(),
|
|
15411
|
+
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
15412
|
+
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
15413
|
+
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
15414
|
+
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
15415
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
15416
|
+
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
15417
|
+
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
15418
|
+
}).strict();
|
|
15419
|
+
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
15420
|
+
z24.object({
|
|
15421
|
+
kind: z24.literal("theme-v2"),
|
|
15422
|
+
source: designResolutionPolicySchema,
|
|
15423
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15424
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15425
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15426
|
+
resolverVersion: z24.number().int().nonnegative()
|
|
15427
|
+
}).strict(),
|
|
15428
|
+
z24.object({
|
|
15429
|
+
kind: z24.literal("legacy-raw"),
|
|
15430
|
+
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
15431
|
+
}).strict(),
|
|
15432
|
+
z24.object({
|
|
15433
|
+
kind: z24.literal("advanced-detached"),
|
|
15434
|
+
reason: z24.literal("detached-custom-runtime-fields")
|
|
15435
|
+
}).strict()
|
|
15436
|
+
]);
|
|
15437
|
+
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
15438
|
+
unit: z24.literal("block-runtime-fields"),
|
|
15439
|
+
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
15440
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
15441
|
+
authority: styleAuthoritySchema
|
|
15442
|
+
}).strict();
|
|
15443
|
+
var persistedPageDesignStateV1Schema = z24.object({
|
|
15444
|
+
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
15445
|
+
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
15446
|
+
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
15447
|
+
templateVersion: z24.number().int().nonnegative(),
|
|
15448
|
+
resolverVersion: z24.number().int().nonnegative(),
|
|
15449
|
+
rhythmPresetId: z24.string().min(1),
|
|
15450
|
+
blocks: z24.array(blockDesignPlanSchema),
|
|
15451
|
+
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
15452
|
+
}).strict();
|
|
15453
|
+
|
|
15454
|
+
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
15455
|
+
function defineDesignRuntimeRules(rules) {
|
|
15456
|
+
return rules;
|
|
15457
|
+
}
|
|
15458
|
+
function defineComponentRuntimeRules(rules) {
|
|
15459
|
+
return rules;
|
|
15460
|
+
}
|
|
15461
|
+
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15462
|
+
sectionSurfaces: {
|
|
15463
|
+
base: {},
|
|
15464
|
+
"muted-band": {
|
|
15465
|
+
background: {
|
|
15466
|
+
type: "color",
|
|
15467
|
+
color: "muted"
|
|
15468
|
+
}
|
|
15469
|
+
},
|
|
15470
|
+
"accent-band": {
|
|
15471
|
+
background: {
|
|
15472
|
+
type: "color",
|
|
15473
|
+
color: "primary"
|
|
15474
|
+
}
|
|
15475
|
+
},
|
|
15476
|
+
"brand-depth-band": {
|
|
15477
|
+
background: {
|
|
15478
|
+
type: "color",
|
|
15479
|
+
color: "primary-800"
|
|
15480
|
+
}
|
|
15481
|
+
},
|
|
15482
|
+
"hero-image": {
|
|
15483
|
+
background: {
|
|
15484
|
+
type: "image",
|
|
15485
|
+
opacity: 1,
|
|
15486
|
+
position: "center center",
|
|
15487
|
+
...uniformSectionForeground("text")
|
|
15488
|
+
}
|
|
15489
|
+
}
|
|
15490
|
+
},
|
|
15491
|
+
heroLegibility: {
|
|
15492
|
+
"scrim-gradient": {
|
|
15493
|
+
type: "gradient",
|
|
15494
|
+
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
15495
|
+
opacity: 1
|
|
15496
|
+
},
|
|
15497
|
+
"solid-panel": {
|
|
15498
|
+
type: "color",
|
|
15499
|
+
color: "surface",
|
|
15500
|
+
opacity: 0.88
|
|
15501
|
+
}
|
|
15502
|
+
},
|
|
15503
|
+
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
15504
|
+
});
|
|
15505
|
+
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
15506
|
+
panelFrames: {
|
|
15507
|
+
inset: {
|
|
15508
|
+
spacing: "comfortable",
|
|
15509
|
+
rounded: "xl",
|
|
15510
|
+
raised: false,
|
|
15511
|
+
background: {
|
|
15512
|
+
type: "color",
|
|
15513
|
+
color: "surfaceAlt",
|
|
15514
|
+
textColor: "text"
|
|
15515
|
+
}
|
|
15516
|
+
},
|
|
15517
|
+
raised: {
|
|
15518
|
+
spacing: "comfortable",
|
|
15519
|
+
rounded: "xl",
|
|
15520
|
+
raised: true,
|
|
15521
|
+
background: {
|
|
15522
|
+
type: "color",
|
|
15523
|
+
color: "surfaceAlt",
|
|
15524
|
+
textColor: "text"
|
|
15525
|
+
}
|
|
15526
|
+
},
|
|
15527
|
+
editorial: {
|
|
15528
|
+
spacing: "medium",
|
|
15529
|
+
rounded: "xl",
|
|
15530
|
+
raised: false,
|
|
15531
|
+
background: {
|
|
15532
|
+
type: "color",
|
|
15533
|
+
color: "surface",
|
|
15534
|
+
textColor: "text"
|
|
15535
|
+
}
|
|
15536
|
+
}
|
|
15537
|
+
},
|
|
15538
|
+
flushFrames: {
|
|
15539
|
+
"media-panel": {
|
|
15540
|
+
fullWidth: true,
|
|
15541
|
+
spacing: "none",
|
|
15542
|
+
rounded: "none",
|
|
15543
|
+
raised: false
|
|
15544
|
+
}
|
|
15545
|
+
},
|
|
15546
|
+
itemSurfaces: {
|
|
15547
|
+
none: null,
|
|
15548
|
+
default: {
|
|
15549
|
+
spacing: "medium",
|
|
15550
|
+
rounded: "lg",
|
|
15551
|
+
raised: false
|
|
15552
|
+
},
|
|
15553
|
+
flat: {
|
|
15554
|
+
spacing: "medium",
|
|
15555
|
+
rounded: "lg",
|
|
15556
|
+
raised: false
|
|
15557
|
+
},
|
|
15558
|
+
outlined: {
|
|
15559
|
+
spacing: "medium",
|
|
15560
|
+
rounded: "lg",
|
|
15561
|
+
raised: false,
|
|
15562
|
+
border: {
|
|
15563
|
+
enabled: true,
|
|
15564
|
+
width: "1",
|
|
15565
|
+
colorToken: "border"
|
|
15566
|
+
}
|
|
15567
|
+
},
|
|
15568
|
+
raised: {
|
|
15569
|
+
spacing: "medium",
|
|
15570
|
+
rounded: "xl",
|
|
15571
|
+
raised: true
|
|
15572
|
+
},
|
|
15573
|
+
inset: {
|
|
15574
|
+
treatment: "soft-panel",
|
|
15575
|
+
spacing: "comfortable",
|
|
15576
|
+
rounded: "xl",
|
|
15577
|
+
raised: false,
|
|
15578
|
+
border: {
|
|
15579
|
+
enabled: false
|
|
15580
|
+
},
|
|
15581
|
+
background: {
|
|
15582
|
+
type: "color",
|
|
15583
|
+
color: "surfaceAlt",
|
|
15584
|
+
textColor: "text"
|
|
15585
|
+
}
|
|
15586
|
+
},
|
|
15587
|
+
editorial: {
|
|
15588
|
+
// Boxless open column with a short rule on top; the visual treatment
|
|
15589
|
+
// lives in blocks-static/card-treatments.css.
|
|
15590
|
+
treatment: "editorial-rule",
|
|
15591
|
+
spacing: "none",
|
|
15592
|
+
rounded: "none",
|
|
15593
|
+
raised: false,
|
|
15594
|
+
border: {
|
|
15595
|
+
enabled: false
|
|
15596
|
+
}
|
|
15597
|
+
},
|
|
15598
|
+
"color-blocked": {
|
|
15599
|
+
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
15600
|
+
// (by position) and staggered offset live in
|
|
15601
|
+
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
15602
|
+
// generous padding, large radius, no border, flat (no shadow).
|
|
15603
|
+
treatment: "color-blocked",
|
|
15604
|
+
spacing: "spacious",
|
|
15605
|
+
rounded: "2xl",
|
|
15606
|
+
raised: false,
|
|
15607
|
+
border: {
|
|
15608
|
+
enabled: false
|
|
15609
|
+
}
|
|
15610
|
+
}
|
|
15611
|
+
}
|
|
15612
|
+
});
|
|
15613
|
+
function uniformSectionForeground(token) {
|
|
15614
|
+
return {
|
|
15615
|
+
textColor: token,
|
|
15616
|
+
headingColor: token,
|
|
15617
|
+
linkColor: token,
|
|
15618
|
+
supportingColor: token
|
|
15619
|
+
};
|
|
15620
|
+
}
|
|
15621
|
+
|
|
14746
15622
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
14747
15623
|
var SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
|
|
14748
15624
|
var SOFT_EARTH_SITE_STYLE_ID = asSiteStyleId(SOFT_EARTH_SITE_STYLE_ID_VALUE);
|
|
@@ -14761,6 +15637,7 @@ var curatedSiteStyleIdValues = [
|
|
|
14761
15637
|
SOFT_EARTH_SITE_STYLE_ID_VALUE,
|
|
14762
15638
|
"site-style:bold-launch",
|
|
14763
15639
|
"site-style:south-west-twerk-school",
|
|
15640
|
+
"site-style:kirtan-ornate",
|
|
14764
15641
|
"site-style:original-joy"
|
|
14765
15642
|
];
|
|
14766
15643
|
var quietBudget = {
|
|
@@ -14787,6 +15664,50 @@ var expressiveBudget = {
|
|
|
14787
15664
|
mediaDensity: "high",
|
|
14788
15665
|
decorativeRepetition: "medium"
|
|
14789
15666
|
};
|
|
15667
|
+
var kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
15668
|
+
...defaultDesignRuntimeRules,
|
|
15669
|
+
defaultEyebrowTreatment: "accent",
|
|
15670
|
+
sectionSurfaces: {
|
|
15671
|
+
...defaultDesignRuntimeRules.sectionSurfaces,
|
|
15672
|
+
"muted-band": {
|
|
15673
|
+
background: {
|
|
15674
|
+
type: "color",
|
|
15675
|
+
color: "muted"
|
|
15676
|
+
},
|
|
15677
|
+
foreground: {
|
|
15678
|
+
textColor: "text",
|
|
15679
|
+
headingColor: "primary",
|
|
15680
|
+
linkColor: "primary",
|
|
15681
|
+
supportingColor: "text"
|
|
15682
|
+
}
|
|
15683
|
+
},
|
|
15684
|
+
"brand-depth-band": {
|
|
15685
|
+
background: {
|
|
15686
|
+
type: "color",
|
|
15687
|
+
color: "primary-800"
|
|
15688
|
+
},
|
|
15689
|
+
foreground: {
|
|
15690
|
+
textColor: "text",
|
|
15691
|
+
headingColor: "primary",
|
|
15692
|
+
linkColor: "primary",
|
|
15693
|
+
supportingColor: "text"
|
|
15694
|
+
}
|
|
15695
|
+
},
|
|
15696
|
+
"hero-image": {
|
|
15697
|
+
background: {
|
|
15698
|
+
type: "image",
|
|
15699
|
+
opacity: 1,
|
|
15700
|
+
position: "center center"
|
|
15701
|
+
},
|
|
15702
|
+
foreground: {
|
|
15703
|
+
textColor: "text",
|
|
15704
|
+
headingColor: "primary",
|
|
15705
|
+
linkColor: "primary",
|
|
15706
|
+
supportingColor: "text"
|
|
15707
|
+
}
|
|
15708
|
+
}
|
|
15709
|
+
}
|
|
15710
|
+
});
|
|
14790
15711
|
var expressiveUnderlineInputs = {
|
|
14791
15712
|
base: {
|
|
14792
15713
|
background: { type: "transparent" },
|
|
@@ -14824,6 +15745,43 @@ var expressiveUnderlineInputs = {
|
|
|
14824
15745
|
opacity: 0.6
|
|
14825
15746
|
}
|
|
14826
15747
|
};
|
|
15748
|
+
var ornateDarkInputs = {
|
|
15749
|
+
base: {
|
|
15750
|
+
background: { type: "solid", colorToken: "surfaceAlt" },
|
|
15751
|
+
textColorToken: "text",
|
|
15752
|
+
border: {
|
|
15753
|
+
widthClass: "border",
|
|
15754
|
+
colorToken: "primary/45",
|
|
15755
|
+
style: "all"
|
|
15756
|
+
},
|
|
15757
|
+
corners: "square",
|
|
15758
|
+
shadow: null,
|
|
15759
|
+
spacing: "medium",
|
|
15760
|
+
fontSize: "base"
|
|
15761
|
+
},
|
|
15762
|
+
label: {
|
|
15763
|
+
textColorToken: "primary",
|
|
15764
|
+
fontWeight: "semibold",
|
|
15765
|
+
fontSize: "xs",
|
|
15766
|
+
textTransform: "uppercase",
|
|
15767
|
+
letterSpacing: "wider",
|
|
15768
|
+
opacity: 1
|
|
15769
|
+
},
|
|
15770
|
+
focus: {
|
|
15771
|
+
ringColorToken: "primary/18",
|
|
15772
|
+
ringWidth: "2",
|
|
15773
|
+
borderColorToken: "primary/70"
|
|
15774
|
+
},
|
|
15775
|
+
error: {
|
|
15776
|
+
borderColorToken: "destructive",
|
|
15777
|
+
textColorToken: "destructive"
|
|
15778
|
+
},
|
|
15779
|
+
disabled: {
|
|
15780
|
+
backgroundColorToken: "muted",
|
|
15781
|
+
textColorToken: "mutedText",
|
|
15782
|
+
opacity: 0.6
|
|
15783
|
+
}
|
|
15784
|
+
};
|
|
14827
15785
|
function uniqueContentFrameKinds() {
|
|
14828
15786
|
const kinds = [
|
|
14829
15787
|
...new Set(
|
|
@@ -14881,6 +15839,7 @@ function defineCuratedSiteStyle(input) {
|
|
|
14881
15839
|
// clean/minimal styles default to none.
|
|
14882
15840
|
headingDecoration: input.headingDecoration ?? noHeadingDecoration,
|
|
14883
15841
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
15842
|
+
...input.designRuntimeRules ? { designRuntimeRules: input.designRuntimeRules } : {},
|
|
14884
15843
|
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
14885
15844
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
14886
15845
|
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
@@ -15831,6 +16790,80 @@ var curatedSiteStyles = [
|
|
|
15831
16790
|
paletteChoice("high-contrast-ink")
|
|
15832
16791
|
]
|
|
15833
16792
|
}),
|
|
16793
|
+
defineCuratedSiteStyle({
|
|
16794
|
+
id: "site-style:kirtan-ornate",
|
|
16795
|
+
name: "Kirtan Ornate",
|
|
16796
|
+
headingDecoration: { family: "short-center-rule", colorToken: "accent" },
|
|
16797
|
+
description: "Ceremonial, jewel-toned, and devotional: ornate frames, warm contrast, and composed rhythm for intimate music gatherings.",
|
|
16798
|
+
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.",
|
|
16799
|
+
selectionKeywordRules: [
|
|
16800
|
+
{ kind: "word", value: "kirtan" },
|
|
16801
|
+
{ kind: "word", value: "chanting" },
|
|
16802
|
+
{ kind: "word", value: "ceremony" },
|
|
16803
|
+
{ kind: "word", value: "devotional" }
|
|
16804
|
+
],
|
|
16805
|
+
tokenRecipes: {
|
|
16806
|
+
palette: "brand-led",
|
|
16807
|
+
contrast: "strong",
|
|
16808
|
+
radius: "soft",
|
|
16809
|
+
shadow: "subtle",
|
|
16810
|
+
typography: "serif-editorial",
|
|
16811
|
+
spacing: "airy",
|
|
16812
|
+
motion: "subtle"
|
|
16813
|
+
},
|
|
16814
|
+
compositionBudget: expressiveBudget,
|
|
16815
|
+
typographyPresetChoices: [
|
|
16816
|
+
typographyChoice("typography-preset:kirtan-ornate"),
|
|
16817
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
16818
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
16819
|
+
],
|
|
16820
|
+
defaultTypographyPresetId: "typography-preset:kirtan-ornate",
|
|
16821
|
+
themeOverrides: {
|
|
16822
|
+
accordions: warmInsetAccordionSystem,
|
|
16823
|
+
cards: originalJoyCardSystem,
|
|
16824
|
+
testimonialQuote: serifDisplayQuote,
|
|
16825
|
+
bodyText: {
|
|
16826
|
+
intro: {
|
|
16827
|
+
paragraphSize: "editorial",
|
|
16828
|
+
headingSize: "editorial"
|
|
16829
|
+
}
|
|
16830
|
+
},
|
|
16831
|
+
inputs: ornateDarkInputs
|
|
16832
|
+
},
|
|
16833
|
+
designRuntimeRules: kirtanOrnateDesignRuntimeRules,
|
|
16834
|
+
recommendedAppearancePresetIds: [
|
|
16835
|
+
"hero-brand-scrim-fixed-frame",
|
|
16836
|
+
"media-text-quiet-story",
|
|
16837
|
+
"events-lined-panel",
|
|
16838
|
+
"schedule-details-brand-depth",
|
|
16839
|
+
"testimonials-statement-cards",
|
|
16840
|
+
"contact-form-panel"
|
|
16841
|
+
],
|
|
16842
|
+
defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
|
|
16843
|
+
recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
|
|
16844
|
+
recommendedHeaderStyleChoicesByLayout: {
|
|
16845
|
+
floating: [
|
|
16846
|
+
headerStyleChoice("minimal-surface"),
|
|
16847
|
+
headerStyleChoice("split-glass"),
|
|
16848
|
+
headerStyleChoice("glass")
|
|
16849
|
+
]
|
|
16850
|
+
},
|
|
16851
|
+
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
16852
|
+
recommendedFooterLookIds: [
|
|
16853
|
+
"site-footer-brand-two-band",
|
|
16854
|
+
"footer-muted-grounding"
|
|
16855
|
+
],
|
|
16856
|
+
buttonPersonalityChoices: [
|
|
16857
|
+
buttonChoice("ornate-ritual"),
|
|
16858
|
+
buttonChoice("joy-stamp"),
|
|
16859
|
+
buttonChoice("ink-stamp")
|
|
16860
|
+
],
|
|
16861
|
+
paletteVariantChoices: [
|
|
16862
|
+
paletteChoice("warm-dark-kirtan-gold"),
|
|
16863
|
+
paletteChoice("warm-dark-ember"),
|
|
16864
|
+
paletteChoice("brand-led-burgundy-gold")
|
|
16865
|
+
]
|
|
16866
|
+
}),
|
|
15834
16867
|
defineCuratedSiteStyle({
|
|
15835
16868
|
id: "site-style:original-joy",
|
|
15836
16869
|
name: "Original Joy",
|
|
@@ -15934,319 +16967,6 @@ var pageFlowPresets = [
|
|
|
15934
16967
|
}
|
|
15935
16968
|
];
|
|
15936
16969
|
|
|
15937
|
-
// ../theme-core/src/site-styles/designState.ts
|
|
15938
|
-
import { z as z24 } from "zod";
|
|
15939
|
-
var themeV2DesignStateSchemaVersion = 1;
|
|
15940
|
-
var designResolutionPolicySchema = z24.enum(["generated", "user", "admin", "sdk"]);
|
|
15941
|
-
var runtimeStyleFieldNameSchema = z24.enum(themeV2RuntimeStyleFieldNames);
|
|
15942
|
-
var nonEmptyRuntimeStyleFieldNamesSchema = z24.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
15943
|
-
fields3[0],
|
|
15944
|
-
...fields3.slice(1)
|
|
15945
|
-
]);
|
|
15946
|
-
var heroLegibilityStrategySchema = z24.enum([
|
|
15947
|
-
"none",
|
|
15948
|
-
"scrim-gradient",
|
|
15949
|
-
"solid-panel"
|
|
15950
|
-
]);
|
|
15951
|
-
var heroCompositionIntentSchema = z24.enum([
|
|
15952
|
-
"center",
|
|
15953
|
-
"bottom-left"
|
|
15954
|
-
]);
|
|
15955
|
-
var heroTypographyScaleIntentSchema = z24.enum([
|
|
15956
|
-
"quiet",
|
|
15957
|
-
"editorial",
|
|
15958
|
-
"display",
|
|
15959
|
-
"poster"
|
|
15960
|
-
]);
|
|
15961
|
-
var sectionHeightIntentSchema = z24.enum([
|
|
15962
|
-
"default",
|
|
15963
|
-
"banner",
|
|
15964
|
-
"hero",
|
|
15965
|
-
"immersive"
|
|
15966
|
-
]);
|
|
15967
|
-
var imageSurfaceTreatmentIntensitySchema = z24.enum(["soft", "balanced", "strong"]);
|
|
15968
|
-
var imageSurfaceMotionSchema = z24.enum(["static", "fixed-frame"]);
|
|
15969
|
-
var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
15970
|
-
z24.object({ kind: z24.literal("none") }).strict(),
|
|
15971
|
-
z24.object({
|
|
15972
|
-
kind: z24.literal("brand-scrim"),
|
|
15973
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15974
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15975
|
-
}).strict(),
|
|
15976
|
-
z24.object({
|
|
15977
|
-
kind: z24.literal("brand-wash"),
|
|
15978
|
-
token: z24.enum(["primary", "secondary", "accent"]),
|
|
15979
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15980
|
-
}).strict(),
|
|
15981
|
-
z24.object({
|
|
15982
|
-
kind: z24.literal("neutral-scrim"),
|
|
15983
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15984
|
-
}).strict(),
|
|
15985
|
-
z24.object({
|
|
15986
|
-
kind: z24.literal("neutral-wash"),
|
|
15987
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15988
|
-
}).strict(),
|
|
15989
|
-
z24.object({
|
|
15990
|
-
kind: z24.literal("solid-panel"),
|
|
15991
|
-
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
15992
|
-
}).strict()
|
|
15993
|
-
]);
|
|
15994
|
-
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
15995
|
-
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
15996
|
-
var eventListTreatmentSchema = z24.enum(eventListTreatmentValues);
|
|
15997
|
-
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
15998
|
-
function uniqueNonEmpty(values) {
|
|
15999
|
-
const uniqueValues = [...new Set(values)];
|
|
16000
|
-
const firstValue = uniqueValues[0];
|
|
16001
|
-
if (!firstValue) {
|
|
16002
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
16003
|
-
}
|
|
16004
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
16005
|
-
}
|
|
16006
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
16007
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
16008
|
-
);
|
|
16009
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
16010
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
16011
|
-
);
|
|
16012
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
16013
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
16014
|
-
);
|
|
16015
|
-
var contentFrameIntentSchema = z24.discriminatedUnion("kind", [
|
|
16016
|
-
z24.object({ kind: z24.literal("plain") }).strict(),
|
|
16017
|
-
z24.object({
|
|
16018
|
-
kind: z24.literal("panel"),
|
|
16019
|
-
treatment: z24.enum(userPanelTreatments)
|
|
16020
|
-
}).strict(),
|
|
16021
|
-
z24.object({
|
|
16022
|
-
kind: z24.literal("flush-panel"),
|
|
16023
|
-
treatment: z24.enum(userFlushTreatments),
|
|
16024
|
-
bleed: z24.enum(userFlushBleeds)
|
|
16025
|
-
}).strict()
|
|
16026
|
-
]);
|
|
16027
|
-
var blockDesignPlanSchema = z24.object({
|
|
16028
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16029
|
-
blockKind: z24.string().min(1),
|
|
16030
|
-
purpose: z24.string().min(1),
|
|
16031
|
-
sectionSurface: z24.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
16032
|
-
contentFrame: contentFrameIntentSchema,
|
|
16033
|
-
itemSurface: z24.enum(userDesignOptionCatalog.itemSurfaces),
|
|
16034
|
-
transitionAfter: z24.enum(userDesignOptionCatalog.transitions),
|
|
16035
|
-
emphasis: z24.enum(userDesignOptionCatalog.emphases),
|
|
16036
|
-
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
16037
|
-
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
16038
|
-
heroComposition: heroCompositionIntentSchema.optional(),
|
|
16039
|
-
heroTypographyScale: heroTypographyScaleIntentSchema.optional(),
|
|
16040
|
-
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
16041
|
-
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
16042
|
-
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
16043
|
-
tileTreatment: tileTreatmentSchema.optional(),
|
|
16044
|
-
eventListTreatment: eventListTreatmentSchema.optional(),
|
|
16045
|
-
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
16046
|
-
}).strict();
|
|
16047
|
-
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
16048
|
-
z24.object({
|
|
16049
|
-
kind: z24.literal("theme-v2"),
|
|
16050
|
-
source: designResolutionPolicySchema,
|
|
16051
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16052
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16053
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16054
|
-
resolverVersion: z24.number().int().nonnegative()
|
|
16055
|
-
}).strict(),
|
|
16056
|
-
z24.object({
|
|
16057
|
-
kind: z24.literal("legacy-raw"),
|
|
16058
|
-
reason: z24.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
16059
|
-
}).strict(),
|
|
16060
|
-
z24.object({
|
|
16061
|
-
kind: z24.literal("advanced-detached"),
|
|
16062
|
-
reason: z24.literal("detached-custom-runtime-fields")
|
|
16063
|
-
}).strict()
|
|
16064
|
-
]);
|
|
16065
|
-
var blockRuntimeStyleAuthoritySchema = z24.object({
|
|
16066
|
-
unit: z24.literal("block-runtime-fields"),
|
|
16067
|
-
blockId: z24.string().min(1).transform(asDesignBlockId),
|
|
16068
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
16069
|
-
authority: styleAuthoritySchema
|
|
16070
|
-
}).strict();
|
|
16071
|
-
var persistedPageDesignStateV1Schema = z24.object({
|
|
16072
|
-
schemaVersion: z24.literal(themeV2DesignStateSchemaVersion),
|
|
16073
|
-
siteStyleId: z24.string().min(1).transform(asSiteStyleId),
|
|
16074
|
-
templateId: z24.string().min(1).transform(asDesignSystemTemplateId),
|
|
16075
|
-
templateVersion: z24.number().int().nonnegative(),
|
|
16076
|
-
resolverVersion: z24.number().int().nonnegative(),
|
|
16077
|
-
rhythmPresetId: z24.string().min(1),
|
|
16078
|
-
blocks: z24.array(blockDesignPlanSchema),
|
|
16079
|
-
styleAuthorities: z24.array(blockRuntimeStyleAuthoritySchema)
|
|
16080
|
-
}).strict();
|
|
16081
|
-
|
|
16082
|
-
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
16083
|
-
function defineDesignRuntimeRules(rules) {
|
|
16084
|
-
return rules;
|
|
16085
|
-
}
|
|
16086
|
-
function defineComponentRuntimeRules(rules) {
|
|
16087
|
-
return rules;
|
|
16088
|
-
}
|
|
16089
|
-
var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
16090
|
-
sectionSurfaces: {
|
|
16091
|
-
base: {},
|
|
16092
|
-
"muted-band": {
|
|
16093
|
-
background: {
|
|
16094
|
-
type: "color",
|
|
16095
|
-
color: "muted"
|
|
16096
|
-
}
|
|
16097
|
-
},
|
|
16098
|
-
"accent-band": {
|
|
16099
|
-
background: {
|
|
16100
|
-
type: "color",
|
|
16101
|
-
color: "primary"
|
|
16102
|
-
}
|
|
16103
|
-
},
|
|
16104
|
-
"brand-depth-band": {
|
|
16105
|
-
background: {
|
|
16106
|
-
type: "color",
|
|
16107
|
-
color: "primary-800"
|
|
16108
|
-
}
|
|
16109
|
-
},
|
|
16110
|
-
"hero-image": {
|
|
16111
|
-
background: {
|
|
16112
|
-
type: "image",
|
|
16113
|
-
opacity: 1,
|
|
16114
|
-
position: "center center",
|
|
16115
|
-
...uniformSectionForeground("text")
|
|
16116
|
-
}
|
|
16117
|
-
}
|
|
16118
|
-
},
|
|
16119
|
-
heroLegibility: {
|
|
16120
|
-
"scrim-gradient": {
|
|
16121
|
-
type: "gradient",
|
|
16122
|
-
gradient: "linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(244,241,234,0.62) 90%)",
|
|
16123
|
-
opacity: 1
|
|
16124
|
-
},
|
|
16125
|
-
"solid-panel": {
|
|
16126
|
-
type: "color",
|
|
16127
|
-
color: "surface",
|
|
16128
|
-
opacity: 0.88
|
|
16129
|
-
}
|
|
16130
|
-
},
|
|
16131
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
16132
|
-
});
|
|
16133
|
-
var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
16134
|
-
panelFrames: {
|
|
16135
|
-
inset: {
|
|
16136
|
-
spacing: "comfortable",
|
|
16137
|
-
rounded: "xl",
|
|
16138
|
-
raised: false,
|
|
16139
|
-
background: {
|
|
16140
|
-
type: "color",
|
|
16141
|
-
color: "surfaceAlt",
|
|
16142
|
-
textColor: "text"
|
|
16143
|
-
}
|
|
16144
|
-
},
|
|
16145
|
-
raised: {
|
|
16146
|
-
spacing: "comfortable",
|
|
16147
|
-
rounded: "xl",
|
|
16148
|
-
raised: true,
|
|
16149
|
-
background: {
|
|
16150
|
-
type: "color",
|
|
16151
|
-
color: "surfaceAlt",
|
|
16152
|
-
textColor: "text"
|
|
16153
|
-
}
|
|
16154
|
-
},
|
|
16155
|
-
editorial: {
|
|
16156
|
-
spacing: "medium",
|
|
16157
|
-
rounded: "xl",
|
|
16158
|
-
raised: false,
|
|
16159
|
-
background: {
|
|
16160
|
-
type: "color",
|
|
16161
|
-
color: "surface",
|
|
16162
|
-
textColor: "text"
|
|
16163
|
-
}
|
|
16164
|
-
}
|
|
16165
|
-
},
|
|
16166
|
-
flushFrames: {
|
|
16167
|
-
"media-panel": {
|
|
16168
|
-
fullWidth: true,
|
|
16169
|
-
spacing: "none",
|
|
16170
|
-
rounded: "none",
|
|
16171
|
-
raised: false
|
|
16172
|
-
}
|
|
16173
|
-
},
|
|
16174
|
-
itemSurfaces: {
|
|
16175
|
-
none: null,
|
|
16176
|
-
default: {
|
|
16177
|
-
spacing: "medium",
|
|
16178
|
-
rounded: "lg",
|
|
16179
|
-
raised: false
|
|
16180
|
-
},
|
|
16181
|
-
flat: {
|
|
16182
|
-
spacing: "medium",
|
|
16183
|
-
rounded: "lg",
|
|
16184
|
-
raised: false
|
|
16185
|
-
},
|
|
16186
|
-
outlined: {
|
|
16187
|
-
spacing: "medium",
|
|
16188
|
-
rounded: "lg",
|
|
16189
|
-
raised: false,
|
|
16190
|
-
border: {
|
|
16191
|
-
enabled: true,
|
|
16192
|
-
width: "1",
|
|
16193
|
-
colorToken: "border"
|
|
16194
|
-
}
|
|
16195
|
-
},
|
|
16196
|
-
raised: {
|
|
16197
|
-
spacing: "medium",
|
|
16198
|
-
rounded: "xl",
|
|
16199
|
-
raised: true
|
|
16200
|
-
},
|
|
16201
|
-
inset: {
|
|
16202
|
-
treatment: "soft-panel",
|
|
16203
|
-
spacing: "comfortable",
|
|
16204
|
-
rounded: "xl",
|
|
16205
|
-
raised: false,
|
|
16206
|
-
border: {
|
|
16207
|
-
enabled: false
|
|
16208
|
-
},
|
|
16209
|
-
background: {
|
|
16210
|
-
type: "color",
|
|
16211
|
-
color: "surfaceAlt",
|
|
16212
|
-
textColor: "text"
|
|
16213
|
-
}
|
|
16214
|
-
},
|
|
16215
|
-
editorial: {
|
|
16216
|
-
// Boxless open column with a short rule on top; the visual treatment
|
|
16217
|
-
// lives in blocks-static/card-treatments.css.
|
|
16218
|
-
treatment: "editorial-rule",
|
|
16219
|
-
spacing: "none",
|
|
16220
|
-
rounded: "none",
|
|
16221
|
-
raised: false,
|
|
16222
|
-
border: {
|
|
16223
|
-
enabled: false
|
|
16224
|
-
}
|
|
16225
|
-
},
|
|
16226
|
-
"color-blocked": {
|
|
16227
|
-
// Bold, flat colour-blocked cards. The per-card background colour cycle
|
|
16228
|
-
// (by position) and staggered offset live in
|
|
16229
|
-
// blocks-static/card-treatments.css; here we set the shared shape:
|
|
16230
|
-
// generous padding, large radius, no border, flat (no shadow).
|
|
16231
|
-
treatment: "color-blocked",
|
|
16232
|
-
spacing: "spacious",
|
|
16233
|
-
rounded: "2xl",
|
|
16234
|
-
raised: false,
|
|
16235
|
-
border: {
|
|
16236
|
-
enabled: false
|
|
16237
|
-
}
|
|
16238
|
-
}
|
|
16239
|
-
}
|
|
16240
|
-
});
|
|
16241
|
-
function uniformSectionForeground(token) {
|
|
16242
|
-
return {
|
|
16243
|
-
textColor: token,
|
|
16244
|
-
headingColor: token,
|
|
16245
|
-
linkColor: token,
|
|
16246
|
-
supportingColor: token
|
|
16247
|
-
};
|
|
16248
|
-
}
|
|
16249
|
-
|
|
16250
16970
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
16251
16971
|
import { z as z25 } from "zod";
|
|
16252
16972
|
function uniqueNonEmpty2(values) {
|
|
@@ -17058,6 +17778,31 @@ function cardStylesField(options = {}) {
|
|
|
17058
17778
|
return createBoxStylesFieldWithDepth("card", options);
|
|
17059
17779
|
}
|
|
17060
17780
|
|
|
17781
|
+
// ../blocks/src/system/fields/imageShape.ts
|
|
17782
|
+
var standardImageShapeOptions = [
|
|
17783
|
+
{ value: "default", label: "Default" },
|
|
17784
|
+
{ value: "square", label: "Square corners" },
|
|
17785
|
+
{ value: "rounded", label: "Rounded corners" },
|
|
17786
|
+
{ value: "circle", label: "Circle" },
|
|
17787
|
+
{ value: "arch", label: "Arch" }
|
|
17788
|
+
];
|
|
17789
|
+
function createImageShapeField(options = {}) {
|
|
17790
|
+
return {
|
|
17791
|
+
id: options.id ?? "imageShape",
|
|
17792
|
+
type: "select",
|
|
17793
|
+
label: options.label ?? "Image shape",
|
|
17794
|
+
...options.description ? { description: options.description } : {},
|
|
17795
|
+
required: false,
|
|
17796
|
+
defaultValue: options.defaultValue ?? "default",
|
|
17797
|
+
multiple: false,
|
|
17798
|
+
options: [...standardImageShapeOptions],
|
|
17799
|
+
ui: {
|
|
17800
|
+
intent: options.uiIntent ?? "display",
|
|
17801
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
17802
|
+
}
|
|
17803
|
+
};
|
|
17804
|
+
}
|
|
17805
|
+
|
|
17061
17806
|
// ../blocks/src/utils/env.ts
|
|
17062
17807
|
function isDevEnvironment() {
|
|
17063
17808
|
try {
|
|
@@ -17872,7 +18617,7 @@ function buildFooterNavAll(common) {
|
|
|
17872
18617
|
return stack(
|
|
17873
18618
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17874
18619
|
[item],
|
|
17875
|
-
|
|
18620
|
+
whenCollectionHasItems(collectionPath)
|
|
17876
18621
|
);
|
|
17877
18622
|
}
|
|
17878
18623
|
function buildFooterNavLinksOnly(common) {
|
|
@@ -17905,7 +18650,7 @@ function buildFooterNavLinksOnly(common) {
|
|
|
17905
18650
|
return stack(
|
|
17906
18651
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17907
18652
|
[item],
|
|
17908
|
-
|
|
18653
|
+
whenCollectionHasItems(collectionPath)
|
|
17909
18654
|
);
|
|
17910
18655
|
}
|
|
17911
18656
|
function buildFooterNavFlatten(common) {
|
|
@@ -17954,9 +18699,20 @@ function buildFooterNavFlatten(common) {
|
|
|
17954
18699
|
return stack(
|
|
17955
18700
|
{ className: common.className, gap: common.gap, align: "stretch" },
|
|
17956
18701
|
[item],
|
|
17957
|
-
|
|
18702
|
+
whenCollectionHasItems(collectionPath)
|
|
17958
18703
|
);
|
|
17959
18704
|
}
|
|
18705
|
+
var whenCollectionHasItems = (collectionPath) => (node) => ({
|
|
18706
|
+
...node,
|
|
18707
|
+
$when: {
|
|
18708
|
+
when: {
|
|
18709
|
+
from: collectionPath,
|
|
18710
|
+
transforms: [{ id: "array.length" }]
|
|
18711
|
+
},
|
|
18712
|
+
equals: 0,
|
|
18713
|
+
not: true
|
|
18714
|
+
}
|
|
18715
|
+
});
|
|
17960
18716
|
function footerNav(opts) {
|
|
17961
18717
|
const mode = opts?.mode ?? "all";
|
|
17962
18718
|
const collectionPath = opts?.collectionPath ?? "footerMenu.items";
|
|
@@ -20539,8 +21295,23 @@ function fragmentsToRepeaterField(id, label, fragments, options = {}) {
|
|
|
20539
21295
|
var heroLayoutControlsFragment = defineFragment({
|
|
20540
21296
|
id: "heroLayoutControls",
|
|
20541
21297
|
title: "Hero Layout",
|
|
20542
|
-
description: "
|
|
21298
|
+
description: "Title scale, alignment, and content width controls for hero layouts.",
|
|
20543
21299
|
fields: [
|
|
21300
|
+
{
|
|
21301
|
+
id: "titleSize",
|
|
21302
|
+
type: "select",
|
|
21303
|
+
label: "Title size",
|
|
21304
|
+
description: "Adjust the visual scale of the hero title.",
|
|
21305
|
+
required: false,
|
|
21306
|
+
ui: { intent: "display" },
|
|
21307
|
+
options: [
|
|
21308
|
+
{ value: "auto", label: "Auto" },
|
|
21309
|
+
{ value: "quiet", label: "Normal" },
|
|
21310
|
+
{ value: "editorial", label: "Large" },
|
|
21311
|
+
{ value: "display", label: "Huge" },
|
|
21312
|
+
{ value: "poster", label: "Poster" }
|
|
21313
|
+
]
|
|
21314
|
+
},
|
|
20544
21315
|
{
|
|
20545
21316
|
id: "contentAlignment",
|
|
20546
21317
|
type: "select",
|
|
@@ -21335,7 +22106,18 @@ function heroSplitImagePane() {
|
|
|
21335
22106
|
return stack(
|
|
21336
22107
|
{
|
|
21337
22108
|
gap: "none",
|
|
21338
|
-
className:
|
|
22109
|
+
className: {
|
|
22110
|
+
$bind: {
|
|
22111
|
+
from: "content.imageShape",
|
|
22112
|
+
transforms: [
|
|
22113
|
+
{
|
|
22114
|
+
id: "ui.imageShapeClassName",
|
|
22115
|
+
options: { baseClass: "rb-relative rb-overflow-hidden rb-rounded-3xl" }
|
|
22116
|
+
}
|
|
22117
|
+
],
|
|
22118
|
+
fallback: "rb-relative rb-overflow-hidden rb-rounded-3xl"
|
|
22119
|
+
}
|
|
22120
|
+
},
|
|
21339
22121
|
style: {
|
|
21340
22122
|
minHeight: "clamp(18rem, 36vw, 34rem)"
|
|
21341
22123
|
}
|
|
@@ -21453,6 +22235,12 @@ var heroConfig = {
|
|
|
21453
22235
|
label: "Content card",
|
|
21454
22236
|
renderInHeader: true,
|
|
21455
22237
|
intent: "style"
|
|
22238
|
+
}),
|
|
22239
|
+
createImageShapeField({
|
|
22240
|
+
id: "imageShape",
|
|
22241
|
+
label: "Image shape",
|
|
22242
|
+
defaultValue: "default",
|
|
22243
|
+
uiIntent: "display"
|
|
21456
22244
|
})
|
|
21457
22245
|
],
|
|
21458
22246
|
layout: classicLayout,
|
|
@@ -21467,6 +22255,15 @@ var heroConfig = {
|
|
|
21467
22255
|
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
21468
22256
|
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
21469
22257
|
icon: "Sparkles",
|
|
22258
|
+
previewCustomize: {
|
|
22259
|
+
quickFieldPriority: [
|
|
22260
|
+
"titleSize",
|
|
22261
|
+
"contentAlignment",
|
|
22262
|
+
"contentMaxWidth",
|
|
22263
|
+
"verticalAlignment",
|
|
22264
|
+
"imageShape"
|
|
22265
|
+
]
|
|
22266
|
+
},
|
|
21470
22267
|
styleTokens: {
|
|
21471
22268
|
typography: "display",
|
|
21472
22269
|
spacing: "xl"
|
|
@@ -21483,7 +22280,8 @@ var standardAspectRatioOptions = [
|
|
|
21483
22280
|
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
21484
22281
|
{ value: "4/3", label: "4:3 (Standard)" },
|
|
21485
22282
|
{ value: "1/1", label: "1:1 (Square)" },
|
|
21486
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
22283
|
+
{ value: "3/4", label: "3:4 (Portrait)" },
|
|
22284
|
+
{ value: "9/16", label: "9:16 (Tall portrait)" }
|
|
21487
22285
|
];
|
|
21488
22286
|
function createAspectRatioField(options = {}) {
|
|
21489
22287
|
return {
|
|
@@ -22703,6 +23501,258 @@ var formBlockDefinition = {
|
|
|
22703
23501
|
runtime: formBlockRuntime
|
|
22704
23502
|
};
|
|
22705
23503
|
|
|
23504
|
+
// ../blocks/src/system/blocks/contact-newsletter.ts
|
|
23505
|
+
var contactNewsletterLayout = styledSection({
|
|
23506
|
+
children: sectionContainer([
|
|
23507
|
+
el(
|
|
23508
|
+
"div",
|
|
23509
|
+
{ className: "contact-newsletter-grid" },
|
|
23510
|
+
[
|
|
23511
|
+
el(
|
|
23512
|
+
"div",
|
|
23513
|
+
{ className: "contact-newsletter-column contact-newsletter-contact" },
|
|
23514
|
+
[
|
|
23515
|
+
el(
|
|
23516
|
+
"div",
|
|
23517
|
+
{ className: "contact-newsletter-copy" },
|
|
23518
|
+
[
|
|
23519
|
+
text(
|
|
23520
|
+
{
|
|
23521
|
+
as: "h2",
|
|
23522
|
+
className: "form-copy-title"
|
|
23523
|
+
},
|
|
23524
|
+
when("contactTitle"),
|
|
23525
|
+
bind("contactTitle")
|
|
23526
|
+
),
|
|
23527
|
+
richText(
|
|
23528
|
+
{
|
|
23529
|
+
className: "form-copy-intro rb-prose rb-max-w-none"
|
|
23530
|
+
},
|
|
23531
|
+
when("contactIntro"),
|
|
23532
|
+
bind("contactIntro")
|
|
23533
|
+
)
|
|
23534
|
+
]
|
|
23535
|
+
),
|
|
23536
|
+
el(
|
|
23537
|
+
"form",
|
|
23538
|
+
withApiBindings({
|
|
23539
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } },
|
|
23540
|
+
submitLabel: { $bind: { from: "contactSubmitLabel" } },
|
|
23541
|
+
successMessage: { $bind: { from: "contactSuccessMessage" } }
|
|
23542
|
+
}),
|
|
23543
|
+
[],
|
|
23544
|
+
bind("data.form")
|
|
23545
|
+
)
|
|
23546
|
+
]
|
|
23547
|
+
),
|
|
23548
|
+
el(
|
|
23549
|
+
"div",
|
|
23550
|
+
{ className: "contact-newsletter-column contact-newsletter-info contact-newsletter-newsletter" },
|
|
23551
|
+
[
|
|
23552
|
+
el(
|
|
23553
|
+
"div",
|
|
23554
|
+
{ className: "contact-newsletter-copy" },
|
|
23555
|
+
[
|
|
23556
|
+
text(
|
|
23557
|
+
{
|
|
23558
|
+
as: "h2",
|
|
23559
|
+
className: "newsletter-copy-title"
|
|
23560
|
+
},
|
|
23561
|
+
when("newsletterTitle"),
|
|
23562
|
+
bind("newsletterTitle")
|
|
23563
|
+
),
|
|
23564
|
+
richText(
|
|
23565
|
+
{
|
|
23566
|
+
className: "newsletter-copy-subtitle rb-prose rb-max-w-none"
|
|
23567
|
+
},
|
|
23568
|
+
when("newsletterSubtitle"),
|
|
23569
|
+
bind("newsletterSubtitle")
|
|
23570
|
+
)
|
|
23571
|
+
]
|
|
23572
|
+
),
|
|
23573
|
+
el(
|
|
23574
|
+
"newsletter-form",
|
|
23575
|
+
withApiBindings({
|
|
23576
|
+
listId: { $bind: { from: "listId" } },
|
|
23577
|
+
preset: { $bind: { from: "preset" } },
|
|
23578
|
+
includePhone: { $bind: { from: "includePhone" } },
|
|
23579
|
+
buttonLabel: { $bind: { from: "newsletterButtonLabel" } },
|
|
23580
|
+
successMessage: { $bind: { from: "newsletterSuccessMessage" } },
|
|
23581
|
+
privacyNote: { $bind: { from: "newsletterPrivacyNote" } },
|
|
23582
|
+
tags: { $bind: { from: "newsletterTags" } },
|
|
23583
|
+
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } }
|
|
23584
|
+
}),
|
|
23585
|
+
[]
|
|
23586
|
+
)
|
|
23587
|
+
]
|
|
23588
|
+
)
|
|
23589
|
+
]
|
|
23590
|
+
)
|
|
23591
|
+
], {
|
|
23592
|
+
className: "contact-newsletter-container"
|
|
23593
|
+
}),
|
|
23594
|
+
baseClass: "",
|
|
23595
|
+
spacing: "medium",
|
|
23596
|
+
background: "surface"
|
|
23597
|
+
});
|
|
23598
|
+
var contactNewsletterManifest = createBlockManifest({
|
|
23599
|
+
id: "block.contact-newsletter",
|
|
23600
|
+
title: "Contact + Newsletter",
|
|
23601
|
+
titleSource: "contactTitle",
|
|
23602
|
+
description: "Two-column newsletter signup and contact form section.",
|
|
23603
|
+
category: "interactive",
|
|
23604
|
+
layout: contactNewsletterLayout,
|
|
23605
|
+
defaultVariant: "default",
|
|
23606
|
+
variants: {
|
|
23607
|
+
default: contactNewsletterLayout
|
|
23608
|
+
},
|
|
23609
|
+
variantOptions: {
|
|
23610
|
+
default: {
|
|
23611
|
+
label: "Two column",
|
|
23612
|
+
description: "Newsletter and contact form side by side.",
|
|
23613
|
+
icon: "Columns2"
|
|
23614
|
+
}
|
|
23615
|
+
},
|
|
23616
|
+
additionalFields: [
|
|
23617
|
+
{
|
|
23618
|
+
id: "newsletterTitle",
|
|
23619
|
+
type: "text",
|
|
23620
|
+
label: "Newsletter title",
|
|
23621
|
+
defaultValue: "Stay connected"
|
|
23622
|
+
},
|
|
23623
|
+
{
|
|
23624
|
+
id: "newsletterSubtitle",
|
|
23625
|
+
type: "richText",
|
|
23626
|
+
label: "Newsletter intro"
|
|
23627
|
+
},
|
|
23628
|
+
{
|
|
23629
|
+
id: "listId",
|
|
23630
|
+
type: "reference",
|
|
23631
|
+
label: "Newsletter list",
|
|
23632
|
+
description: "Select the list new subscribers should be added to.",
|
|
23633
|
+
required: true,
|
|
23634
|
+
referenceKind: "newsletterList",
|
|
23635
|
+
allowManualEntry: false,
|
|
23636
|
+
ui: { intent: "behavior" }
|
|
23637
|
+
},
|
|
23638
|
+
{
|
|
23639
|
+
id: "preset",
|
|
23640
|
+
type: "select",
|
|
23641
|
+
label: "Newsletter fields",
|
|
23642
|
+
defaultValue: "emailOnly",
|
|
23643
|
+
ui: { intent: "display" },
|
|
23644
|
+
options: [
|
|
23645
|
+
{ value: "emailOnly", label: "Email only" },
|
|
23646
|
+
{ value: "emailName", label: "Email + Name" },
|
|
23647
|
+
{ value: "emailFirstLast", label: "Email + First/Last Name" },
|
|
23648
|
+
{ value: "emailNameCompany", label: "Email + Name + Company (B2B)" }
|
|
23649
|
+
]
|
|
23650
|
+
},
|
|
23651
|
+
{
|
|
23652
|
+
id: "includePhone",
|
|
23653
|
+
type: "boolean",
|
|
23654
|
+
label: "Include phone field",
|
|
23655
|
+
defaultValue: false,
|
|
23656
|
+
ui: { intent: "display" }
|
|
23657
|
+
},
|
|
23658
|
+
{
|
|
23659
|
+
id: "newsletterButtonLabel",
|
|
23660
|
+
type: "text",
|
|
23661
|
+
label: "Newsletter button label",
|
|
23662
|
+
defaultValue: "Subscribe",
|
|
23663
|
+
ui: { intent: "display" }
|
|
23664
|
+
},
|
|
23665
|
+
{
|
|
23666
|
+
id: "newsletterSuccessMessage",
|
|
23667
|
+
type: "text",
|
|
23668
|
+
label: "Newsletter success message",
|
|
23669
|
+
defaultValue: "Thanks for subscribing!",
|
|
23670
|
+
ui: { intent: "behavior" }
|
|
23671
|
+
},
|
|
23672
|
+
{
|
|
23673
|
+
id: "newsletterPrivacyNote",
|
|
23674
|
+
type: "text",
|
|
23675
|
+
label: "Privacy note",
|
|
23676
|
+
ui: { intent: "display" }
|
|
23677
|
+
},
|
|
23678
|
+
{
|
|
23679
|
+
id: "newsletterTags",
|
|
23680
|
+
type: "text",
|
|
23681
|
+
label: "Newsletter tags",
|
|
23682
|
+
description: "Optional tags to apply on subscribe, separated by comma or semicolon.",
|
|
23683
|
+
ui: { intent: "behavior" }
|
|
23684
|
+
},
|
|
23685
|
+
{
|
|
23686
|
+
id: "contactTitle",
|
|
23687
|
+
type: "text",
|
|
23688
|
+
label: "Contact title",
|
|
23689
|
+
defaultValue: "Get in touch"
|
|
23690
|
+
},
|
|
23691
|
+
{
|
|
23692
|
+
id: "contactIntro",
|
|
23693
|
+
type: "richText",
|
|
23694
|
+
label: "Contact intro"
|
|
23695
|
+
},
|
|
23696
|
+
{
|
|
23697
|
+
id: "formSlug",
|
|
23698
|
+
type: "reference",
|
|
23699
|
+
label: "Contact form",
|
|
23700
|
+
description: "Pick a saved form to render.",
|
|
23701
|
+
required: true,
|
|
23702
|
+
referenceKind: "form",
|
|
23703
|
+
allowManualEntry: false,
|
|
23704
|
+
ui: { intent: "behavior" }
|
|
23705
|
+
},
|
|
23706
|
+
{
|
|
23707
|
+
id: "contactSubmitLabel",
|
|
23708
|
+
type: "text",
|
|
23709
|
+
label: "Contact button label",
|
|
23710
|
+
defaultValue: "Send message",
|
|
23711
|
+
ui: { intent: "display" }
|
|
23712
|
+
},
|
|
23713
|
+
{
|
|
23714
|
+
id: "contactSuccessMessage",
|
|
23715
|
+
type: "text",
|
|
23716
|
+
label: "Contact success message",
|
|
23717
|
+
defaultValue: "Thanks - we received your message.",
|
|
23718
|
+
ui: { intent: "behavior" }
|
|
23719
|
+
}
|
|
23720
|
+
],
|
|
23721
|
+
styleTokens: {
|
|
23722
|
+
background: "surface",
|
|
23723
|
+
typography: "body",
|
|
23724
|
+
spacing: "md"
|
|
23725
|
+
},
|
|
23726
|
+
behaviours: {
|
|
23727
|
+
supportsThemeSwitching: true,
|
|
23728
|
+
inlineEditing: true,
|
|
23729
|
+
animation: false,
|
|
23730
|
+
paletteHidden: false
|
|
23731
|
+
},
|
|
23732
|
+
tags: [
|
|
23733
|
+
"contact",
|
|
23734
|
+
"newsletter",
|
|
23735
|
+
"signup",
|
|
23736
|
+
"email",
|
|
23737
|
+
"form",
|
|
23738
|
+
"lead-capture"
|
|
23739
|
+
],
|
|
23740
|
+
icon: "MailPlus"
|
|
23741
|
+
});
|
|
23742
|
+
var contactNewsletterBlockDefinition = {
|
|
23743
|
+
manifest: contactNewsletterManifest,
|
|
23744
|
+
dataSchemas: { form: formDataSchema.optional() },
|
|
23745
|
+
dataLoaders: {
|
|
23746
|
+
form: {
|
|
23747
|
+
endpoint: "getPublicFormById",
|
|
23748
|
+
params: {
|
|
23749
|
+
formSlug: { $bind: { from: "formSlug" } }
|
|
23750
|
+
},
|
|
23751
|
+
mode: "server"
|
|
23752
|
+
}
|
|
23753
|
+
}
|
|
23754
|
+
};
|
|
23755
|
+
|
|
22706
23756
|
// ../blocks/src/system/blocks/faq.ts
|
|
22707
23757
|
function fragmentLayoutNode2(layout) {
|
|
22708
23758
|
return isNodeDefinitionArray2(layout) ? el("div", {}, [...layout]) : layout;
|
|
@@ -22931,6 +23981,7 @@ var joinClasses3 = (parts) => parts.filter(
|
|
|
22931
23981
|
).join(" ").replace(/\s+/g, " ").trim();
|
|
22932
23982
|
var eyebrowTreatmentClassMap = {
|
|
22933
23983
|
plain: "",
|
|
23984
|
+
accent: "rb-eyebrow-treatment-accent",
|
|
22934
23985
|
pill: "rb-eyebrow-treatment-pill",
|
|
22935
23986
|
"accent-pill": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-accent",
|
|
22936
23987
|
"pill-bounce": "rb-eyebrow-treatment-pill rb-eyebrow-treatment-pill-bounce",
|
|
@@ -22957,6 +24008,13 @@ var imageGalleryCornerClassMap = {
|
|
|
22957
24008
|
"2xl": "rb-rounded-2xl",
|
|
22958
24009
|
"3xl": "rb-rounded-3xl"
|
|
22959
24010
|
};
|
|
24011
|
+
var imageShapeClassMap = {
|
|
24012
|
+
default: "",
|
|
24013
|
+
square: "rb-media-shape-square",
|
|
24014
|
+
rounded: "rb-media-shape-rounded",
|
|
24015
|
+
circle: "rb-media-shape-circle",
|
|
24016
|
+
arch: "rb-media-shape-arch"
|
|
24017
|
+
};
|
|
22960
24018
|
var parseRatio = (raw) => {
|
|
22961
24019
|
if (typeof raw !== "string") return null;
|
|
22962
24020
|
const value = raw.trim();
|
|
@@ -23101,6 +24159,10 @@ function resolveHeroContentMaxWidth(content) {
|
|
|
23101
24159
|
return "default";
|
|
23102
24160
|
}
|
|
23103
24161
|
function resolveHeroTypographyScale(content) {
|
|
24162
|
+
const titleSize = readString(content, "titleSize");
|
|
24163
|
+
if (titleSize === "quiet" || titleSize === "editorial" || titleSize === "display" || titleSize === "poster") {
|
|
24164
|
+
return titleSize;
|
|
24165
|
+
}
|
|
23104
24166
|
const raw = readHeroLayoutString(
|
|
23105
24167
|
content,
|
|
23106
24168
|
"typographyScale",
|
|
@@ -23342,6 +24404,16 @@ var uiTransforms = [
|
|
|
23342
24404
|
heroGridClassFromVerticalAlignmentTransform,
|
|
23343
24405
|
imageFragmentClassTransform,
|
|
23344
24406
|
imageFragmentSizeTransform,
|
|
24407
|
+
{
|
|
24408
|
+
id: "ui.imageShapeClassName",
|
|
24409
|
+
kind: "string",
|
|
24410
|
+
summary: "Apply a constrained media shape class",
|
|
24411
|
+
run: (value, options) => {
|
|
24412
|
+
const baseClass = typeof options?.baseClass === "string" ? options.baseClass : "";
|
|
24413
|
+
const shape = typeof value === "string" ? value.trim() : "default";
|
|
24414
|
+
return joinClasses3([baseClass, imageShapeClassMap[shape] ?? ""]);
|
|
24415
|
+
}
|
|
24416
|
+
},
|
|
23345
24417
|
conditionalClassTransform,
|
|
23346
24418
|
twoColumnContainerClassTransform,
|
|
23347
24419
|
twoColumnFlexBasisTransform,
|
|
@@ -24688,6 +25760,21 @@ var siteHeaderManifest = createBlockManifest({
|
|
|
24688
25760
|
id: "block.site-header",
|
|
24689
25761
|
title: "Site Header",
|
|
24690
25762
|
category: "layout",
|
|
25763
|
+
additionalFields: [
|
|
25764
|
+
{
|
|
25765
|
+
id: "mode",
|
|
25766
|
+
type: "select",
|
|
25767
|
+
label: "Header display",
|
|
25768
|
+
required: false,
|
|
25769
|
+
multiple: false,
|
|
25770
|
+
defaultValue: "default",
|
|
25771
|
+
options: [
|
|
25772
|
+
{ value: "default", label: "Show header" },
|
|
25773
|
+
{ value: "hidden", label: "Hide header" }
|
|
25774
|
+
],
|
|
25775
|
+
ui: { intent: "display" }
|
|
25776
|
+
}
|
|
25777
|
+
],
|
|
24691
25778
|
// Skip section styles - this block uses theme-based styling
|
|
24692
25779
|
skipSectionStyles: true,
|
|
24693
25780
|
// Block manages its own wrapper - enables sticky positioning
|
|
@@ -26090,6 +27177,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26090
27177
|
category: "layout",
|
|
26091
27178
|
includeContainerStyles: true,
|
|
26092
27179
|
titleSource: "title",
|
|
27180
|
+
previewCustomize: {
|
|
27181
|
+
quickFieldPriority: ["imagePosition", "ratio", "imageShape", "titleAlignment", "aspectRatio"]
|
|
27182
|
+
},
|
|
26093
27183
|
additionalFields: [
|
|
26094
27184
|
{
|
|
26095
27185
|
id: "images",
|
|
@@ -26128,7 +27218,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26128
27218
|
{
|
|
26129
27219
|
id: "titleAlignment",
|
|
26130
27220
|
type: "select",
|
|
26131
|
-
label: "
|
|
27221
|
+
label: "Content alignment",
|
|
26132
27222
|
required: false,
|
|
26133
27223
|
defaultValue: "left",
|
|
26134
27224
|
multiple: false,
|
|
@@ -26186,7 +27276,18 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26186
27276
|
transition: "slide"
|
|
26187
27277
|
},
|
|
26188
27278
|
ui: { intent: "behavior" }
|
|
26189
|
-
})
|
|
27279
|
+
}).map((field) => ({
|
|
27280
|
+
...field,
|
|
27281
|
+
ui: {
|
|
27282
|
+
...field.ui ?? {},
|
|
27283
|
+
visibleWhen: field.id === "carouselAutoplayDelay" ? {
|
|
27284
|
+
allOf: [
|
|
27285
|
+
{ field: "images", minItems: 2 },
|
|
27286
|
+
{ field: "carouselAutoplay", equals: true }
|
|
27287
|
+
]
|
|
27288
|
+
} : { field: "images", minItems: 2 }
|
|
27289
|
+
}
|
|
27290
|
+
})),
|
|
26190
27291
|
createAspectRatioField({
|
|
26191
27292
|
id: "aspectRatio",
|
|
26192
27293
|
label: "Media aspect ratio",
|
|
@@ -26194,6 +27295,12 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26194
27295
|
defaultValue: "auto",
|
|
26195
27296
|
visibleWhen: { field: "images", notEquals: null }
|
|
26196
27297
|
}),
|
|
27298
|
+
createImageShapeField({
|
|
27299
|
+
id: "imageShape",
|
|
27300
|
+
label: "Media shape",
|
|
27301
|
+
defaultValue: "default",
|
|
27302
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
27303
|
+
}),
|
|
26197
27304
|
{
|
|
26198
27305
|
id: "text",
|
|
26199
27306
|
type: "richText",
|
|
@@ -26227,6 +27334,30 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26227
27334
|
...options?.not ? { not: true } : {}
|
|
26228
27335
|
}
|
|
26229
27336
|
});
|
|
27337
|
+
const bodyClassNameFromAlignment = {
|
|
27338
|
+
$bind: {
|
|
27339
|
+
from: "content.titleAlignment",
|
|
27340
|
+
transforms: [
|
|
27341
|
+
{
|
|
27342
|
+
id: "ui.bodyClassFromAlignment",
|
|
27343
|
+
options: { base: "rb-prose rb-max-w-none" }
|
|
27344
|
+
}
|
|
27345
|
+
],
|
|
27346
|
+
fallback: "rb-prose rb-max-w-none"
|
|
27347
|
+
}
|
|
27348
|
+
};
|
|
27349
|
+
const titleClassNameFromAlignment = {
|
|
27350
|
+
$bind: {
|
|
27351
|
+
from: "content.titleAlignment",
|
|
27352
|
+
transforms: [
|
|
27353
|
+
{
|
|
27354
|
+
id: "ui.headingClassFromAlignment",
|
|
27355
|
+
options: { base: "" }
|
|
27356
|
+
}
|
|
27357
|
+
],
|
|
27358
|
+
fallback: ""
|
|
27359
|
+
}
|
|
27360
|
+
};
|
|
26230
27361
|
const defaultTextColumn = el("div", {}, [
|
|
26231
27362
|
styledCard(
|
|
26232
27363
|
[
|
|
@@ -26251,8 +27382,55 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26251
27382
|
bind("content.text")
|
|
26252
27383
|
)
|
|
26253
27384
|
]);
|
|
27385
|
+
const bioTextColumn = el(
|
|
27386
|
+
"div",
|
|
27387
|
+
{ className: "rb-flex rb-h-full rb-w-full rb-max-w-prose rb-flex-col rb-justify-center rb-gap-5" },
|
|
27388
|
+
[
|
|
27389
|
+
text(
|
|
27390
|
+
{
|
|
27391
|
+
as: "h2",
|
|
27392
|
+
className: titleClassNameFromAlignment
|
|
27393
|
+
},
|
|
27394
|
+
when("content.title"),
|
|
27395
|
+
bind("content.title")
|
|
27396
|
+
),
|
|
27397
|
+
styledCard(
|
|
27398
|
+
[
|
|
27399
|
+
richText(
|
|
27400
|
+
{
|
|
27401
|
+
className: bodyClassNameFromAlignment
|
|
27402
|
+
},
|
|
27403
|
+
bind("content.text")
|
|
27404
|
+
)
|
|
27405
|
+
],
|
|
27406
|
+
{
|
|
27407
|
+
stylesFrom: "content._textCardStyles",
|
|
27408
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27409
|
+
},
|
|
27410
|
+
when("content.wrapTextInCard")
|
|
27411
|
+
),
|
|
27412
|
+
richText(
|
|
27413
|
+
{
|
|
27414
|
+
className: bodyClassNameFromAlignment
|
|
27415
|
+
},
|
|
27416
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27417
|
+
bind("content.text")
|
|
27418
|
+
)
|
|
27419
|
+
]
|
|
27420
|
+
);
|
|
26254
27421
|
const defaultImageCommonProps = {
|
|
26255
|
-
className:
|
|
27422
|
+
className: {
|
|
27423
|
+
$bind: {
|
|
27424
|
+
from: "content.imageShape",
|
|
27425
|
+
transforms: [
|
|
27426
|
+
{
|
|
27427
|
+
id: "ui.imageShapeClassName",
|
|
27428
|
+
options: { baseClass: "rb-w-full rb-h-auto rb-object-cover" }
|
|
27429
|
+
}
|
|
27430
|
+
],
|
|
27431
|
+
fallback: "rb-w-full rb-h-auto rb-object-cover"
|
|
27432
|
+
}
|
|
27433
|
+
},
|
|
26256
27434
|
style: {
|
|
26257
27435
|
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
26258
27436
|
}
|
|
@@ -26293,6 +27471,27 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26293
27471
|
],
|
|
26294
27472
|
whenImagesLength(0, { not: true })
|
|
26295
27473
|
);
|
|
27474
|
+
const bioImagesLayout = el(
|
|
27475
|
+
"div",
|
|
27476
|
+
{},
|
|
27477
|
+
[
|
|
27478
|
+
responsiveTwoColumn({
|
|
27479
|
+
image: el("div", {}, [
|
|
27480
|
+
el("div", {}, [defaultSingleImage], whenImagesLength(1)),
|
|
27481
|
+
el("div", {}, [defaultCarouselImages], whenImagesLength(1, { not: true }))
|
|
27482
|
+
]),
|
|
27483
|
+
text: bioTextColumn,
|
|
27484
|
+
ratioFrom: "content.ratio",
|
|
27485
|
+
imagePositionFrom: "content.imagePosition",
|
|
27486
|
+
containerClassName: "rb-flex rb-flex-col rb-md-flex-row rb-md-items-center",
|
|
27487
|
+
gapFrom: "content.gap",
|
|
27488
|
+
gapFallback: "comfortable",
|
|
27489
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
27490
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-stretch"
|
|
27491
|
+
})
|
|
27492
|
+
],
|
|
27493
|
+
whenImagesLength(0, { not: true })
|
|
27494
|
+
);
|
|
26296
27495
|
const defaultTextOnlyLayout = el(
|
|
26297
27496
|
"div",
|
|
26298
27497
|
{},
|
|
@@ -26322,7 +27521,45 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26322
27521
|
],
|
|
26323
27522
|
whenImagesLength(0)
|
|
26324
27523
|
);
|
|
27524
|
+
const bioTextOnlyLayout = el(
|
|
27525
|
+
"div",
|
|
27526
|
+
{ className: "rb-flex rb-w-full rb-max-w-prose rb-flex-col rb-gap-5" },
|
|
27527
|
+
[
|
|
27528
|
+
text(
|
|
27529
|
+
{
|
|
27530
|
+
as: "h2",
|
|
27531
|
+
className: titleClassNameFromAlignment
|
|
27532
|
+
},
|
|
27533
|
+
when("content.title"),
|
|
27534
|
+
bind("content.title")
|
|
27535
|
+
),
|
|
27536
|
+
styledCard(
|
|
27537
|
+
[
|
|
27538
|
+
richText(
|
|
27539
|
+
{
|
|
27540
|
+
className: bodyClassNameFromAlignment
|
|
27541
|
+
},
|
|
27542
|
+
bind("content.text")
|
|
27543
|
+
)
|
|
27544
|
+
],
|
|
27545
|
+
{
|
|
27546
|
+
stylesFrom: "content._textCardStyles",
|
|
27547
|
+
backgroundFrom: "content._textCardStyles.background"
|
|
27548
|
+
},
|
|
27549
|
+
when("content.wrapTextInCard")
|
|
27550
|
+
),
|
|
27551
|
+
richText(
|
|
27552
|
+
{
|
|
27553
|
+
className: bodyClassNameFromAlignment
|
|
27554
|
+
},
|
|
27555
|
+
when("content.wrapTextInCard", { not: true }),
|
|
27556
|
+
bind("content.text")
|
|
27557
|
+
)
|
|
27558
|
+
],
|
|
27559
|
+
whenImagesLength(0)
|
|
27560
|
+
);
|
|
26325
27561
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
27562
|
+
const bioInner = el("div", {}, [bioImagesLayout, bioTextOnlyLayout]);
|
|
26326
27563
|
const defaultLayout2 = styledSection({
|
|
26327
27564
|
children: styledContainer({
|
|
26328
27565
|
rootType: "stack",
|
|
@@ -26331,18 +27568,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26331
27568
|
text(
|
|
26332
27569
|
{
|
|
26333
27570
|
as: "h2",
|
|
26334
|
-
className:
|
|
26335
|
-
$bind: {
|
|
26336
|
-
from: "content.titleAlignment",
|
|
26337
|
-
transforms: [
|
|
26338
|
-
{
|
|
26339
|
-
id: "ui.headingClassFromAlignment",
|
|
26340
|
-
options: { base: "" }
|
|
26341
|
-
}
|
|
26342
|
-
],
|
|
26343
|
-
fallback: ""
|
|
26344
|
-
}
|
|
26345
|
-
}
|
|
27571
|
+
className: titleClassNameFromAlignment
|
|
26346
27572
|
},
|
|
26347
27573
|
when("content.title"),
|
|
26348
27574
|
bind("content.title")
|
|
@@ -26354,14 +27580,28 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26354
27580
|
baseClass: "",
|
|
26355
27581
|
spacing: "medium"
|
|
26356
27582
|
});
|
|
27583
|
+
const bioLayout = styledSection({
|
|
27584
|
+
children: styledContainer({
|
|
27585
|
+
rootType: "stack",
|
|
27586
|
+
rootProps: { gap: "lg" },
|
|
27587
|
+
children: [bioInner]
|
|
27588
|
+
}),
|
|
27589
|
+
baseClass: "",
|
|
27590
|
+
spacing: "medium"
|
|
27591
|
+
});
|
|
26357
27592
|
return {
|
|
26358
27593
|
layout: defaultLayout2,
|
|
26359
27594
|
variants: {
|
|
26360
|
-
default: defaultLayout2
|
|
27595
|
+
default: defaultLayout2,
|
|
27596
|
+
bio: bioLayout
|
|
26361
27597
|
},
|
|
26362
27598
|
defaultVariant: "default",
|
|
26363
27599
|
variantOptions: {
|
|
26364
|
-
default: { label: "Default" }
|
|
27600
|
+
default: { label: "Default" },
|
|
27601
|
+
bio: {
|
|
27602
|
+
label: "Bio",
|
|
27603
|
+
description: "Vertically centered title and copy beside media."
|
|
27604
|
+
}
|
|
26365
27605
|
}
|
|
26366
27606
|
};
|
|
26367
27607
|
})(),
|
|
@@ -27067,10 +28307,8 @@ var occurrenceContextSchema = z43.object({
|
|
|
27067
28307
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
27068
28308
|
import { z as z45 } from "zod";
|
|
27069
28309
|
|
|
27070
|
-
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
27071
|
-
import { z as z44 } from "zod";
|
|
27072
|
-
|
|
27073
28310
|
// ../blocks/src/system/constants/events.ts
|
|
28311
|
+
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
27074
28312
|
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
27075
28313
|
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
27076
28314
|
var eventCalendarListLayoutOptions = [
|
|
@@ -27084,8 +28322,133 @@ function isEventCalendarDisplayMode(value) {
|
|
|
27084
28322
|
function isEventCalendarListLayout(value) {
|
|
27085
28323
|
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
27086
28324
|
}
|
|
28325
|
+
function isEventContentType(slug) {
|
|
28326
|
+
if (!slug) return false;
|
|
28327
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
28328
|
+
}
|
|
28329
|
+
|
|
28330
|
+
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
28331
|
+
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
28332
|
+
function resolveRuntimeEventPricing(event) {
|
|
28333
|
+
if (isPublicEventPricing(event.pricing)) {
|
|
28334
|
+
return event.pricing;
|
|
28335
|
+
}
|
|
28336
|
+
const legacy = event;
|
|
28337
|
+
const currency = readCurrency(legacy.currency);
|
|
28338
|
+
if (event.requiresRegistration === false) {
|
|
28339
|
+
return {
|
|
28340
|
+
kind: "drop_in",
|
|
28341
|
+
currency,
|
|
28342
|
+
display: { kind: "free", currency }
|
|
28343
|
+
};
|
|
28344
|
+
}
|
|
28345
|
+
if (legacy.pricingMode === "ticket_types") {
|
|
28346
|
+
const ticketTypes = Array.isArray(legacy.ticketTypes) ? legacy.ticketTypes.filter(isPublicEventTicketType) : [];
|
|
28347
|
+
return {
|
|
28348
|
+
kind: "ticket_types",
|
|
28349
|
+
currency,
|
|
28350
|
+
ticketTypes,
|
|
28351
|
+
display: readTicketTypePriceDisplay(legacy.priceDisplay, currency)
|
|
28352
|
+
};
|
|
28353
|
+
}
|
|
28354
|
+
const amount = typeof legacy.price === "number" ? legacy.price : 0;
|
|
28355
|
+
if (legacy.pricingType === "paid" && amount > 0) {
|
|
28356
|
+
return {
|
|
28357
|
+
kind: "single_paid",
|
|
28358
|
+
amount,
|
|
28359
|
+
currency,
|
|
28360
|
+
display: { kind: "exact", amount, currency }
|
|
28361
|
+
};
|
|
28362
|
+
}
|
|
28363
|
+
return {
|
|
28364
|
+
kind: "free_registration",
|
|
28365
|
+
currency,
|
|
28366
|
+
display: { kind: "free", currency }
|
|
28367
|
+
};
|
|
28368
|
+
}
|
|
28369
|
+
function readCurrency(value) {
|
|
28370
|
+
return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
|
|
28371
|
+
}
|
|
28372
|
+
function isRecord3(value) {
|
|
28373
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28374
|
+
}
|
|
28375
|
+
function isPublicEventPricing(value) {
|
|
28376
|
+
if (!isRecord3(value) || typeof value.kind !== "string") return false;
|
|
28377
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
|
|
28378
|
+
}
|
|
28379
|
+
function isPublicEventTicketType(value) {
|
|
28380
|
+
return isRecord3(value) && typeof value.id === "string";
|
|
28381
|
+
}
|
|
28382
|
+
function readTicketTypePriceDisplay(value, currency) {
|
|
28383
|
+
const display = readLegacyPriceDisplay(value, currency);
|
|
28384
|
+
return display.kind === "course" ? { kind: "unavailable", currency } : display;
|
|
28385
|
+
}
|
|
28386
|
+
function readLegacyPriceDisplay(value, currency) {
|
|
28387
|
+
if (!isRecord3(value) || typeof value.kind !== "string") {
|
|
28388
|
+
return { kind: "unavailable", currency };
|
|
28389
|
+
}
|
|
28390
|
+
const displayCurrency = readCurrency(value.currency);
|
|
28391
|
+
switch (value.kind) {
|
|
28392
|
+
case "free":
|
|
28393
|
+
return { kind: "free", currency: displayCurrency };
|
|
28394
|
+
case "exact":
|
|
28395
|
+
return readAmount(value.amount) !== null ? {
|
|
28396
|
+
kind: "exact",
|
|
28397
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28398
|
+
currency: displayCurrency
|
|
28399
|
+
} : { kind: "unavailable", currency };
|
|
28400
|
+
case "from":
|
|
28401
|
+
return readAmount(value.amount) !== null ? {
|
|
28402
|
+
kind: "from",
|
|
28403
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28404
|
+
currency: displayCurrency
|
|
28405
|
+
} : { kind: "unavailable", currency };
|
|
28406
|
+
case "mixed":
|
|
28407
|
+
return readAmount(value.paidFromAmount) !== null ? {
|
|
28408
|
+
kind: "mixed",
|
|
28409
|
+
paidFromAmount: readAmount(value.paidFromAmount) ?? 0,
|
|
28410
|
+
currency: displayCurrency
|
|
28411
|
+
} : { kind: "unavailable", currency };
|
|
28412
|
+
case "unavailable":
|
|
28413
|
+
return { kind: "unavailable", currency: displayCurrency };
|
|
28414
|
+
case "course":
|
|
28415
|
+
return isRecord3(value.display) ? {
|
|
28416
|
+
kind: "course",
|
|
28417
|
+
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
28418
|
+
} : {
|
|
28419
|
+
kind: "course",
|
|
28420
|
+
display: { kind: "unavailable", currency: displayCurrency }
|
|
28421
|
+
};
|
|
28422
|
+
default:
|
|
28423
|
+
return { kind: "unavailable", currency };
|
|
28424
|
+
}
|
|
28425
|
+
}
|
|
28426
|
+
function readCoursePriceDisplay(value, currency) {
|
|
28427
|
+
switch (value.kind) {
|
|
28428
|
+
case "free":
|
|
28429
|
+
return { kind: "free", currency: readCurrency(value.currency) };
|
|
28430
|
+
case "exact":
|
|
28431
|
+
return readAmount(value.amount) !== null ? {
|
|
28432
|
+
kind: "exact",
|
|
28433
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28434
|
+
currency: readCurrency(value.currency)
|
|
28435
|
+
} : { kind: "unavailable", currency };
|
|
28436
|
+
case "from":
|
|
28437
|
+
return readAmount(value.amount) !== null ? {
|
|
28438
|
+
kind: "from",
|
|
28439
|
+
amount: readAmount(value.amount) ?? 0,
|
|
28440
|
+
currency: readCurrency(value.currency)
|
|
28441
|
+
} : { kind: "unavailable", currency };
|
|
28442
|
+
default:
|
|
28443
|
+
return { kind: "unavailable", currency };
|
|
28444
|
+
}
|
|
28445
|
+
}
|
|
28446
|
+
function readAmount(value) {
|
|
28447
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
28448
|
+
}
|
|
27087
28449
|
|
|
27088
28450
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28451
|
+
import { z as z44 } from "zod";
|
|
27089
28452
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
27090
28453
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
27091
28454
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
@@ -27096,12 +28459,73 @@ var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
|
27096
28459
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
27097
28460
|
var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
|
|
27098
28461
|
|
|
28462
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28463
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
28464
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
28465
|
+
if (!needsPaymentStep) {
|
|
28466
|
+
return baseSteps;
|
|
28467
|
+
}
|
|
28468
|
+
return [...baseSteps, "select-payment"];
|
|
28469
|
+
}
|
|
28470
|
+
|
|
28471
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
28472
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
28473
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
28474
|
+
}
|
|
28475
|
+
function findPreSelectedEvent(input) {
|
|
28476
|
+
const occurrenceContext = input.occurrenceContext;
|
|
28477
|
+
if (!occurrenceContext) {
|
|
28478
|
+
return null;
|
|
28479
|
+
}
|
|
28480
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28481
|
+
startsAt: occurrenceContext.startsAt,
|
|
28482
|
+
timeZone: occurrenceContext.timeZone
|
|
28483
|
+
}));
|
|
28484
|
+
return input.scopedEvents.find(
|
|
28485
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28486
|
+
startsAt: event.startsAt,
|
|
28487
|
+
timeZone: event.timeZone
|
|
28488
|
+
})) === contextDate
|
|
28489
|
+
) ?? null;
|
|
28490
|
+
}
|
|
28491
|
+
function resolveEventRequiresPayment(input) {
|
|
28492
|
+
if (input.eligibility) {
|
|
28493
|
+
return input.eligibility.requiresPayment;
|
|
28494
|
+
}
|
|
28495
|
+
if (input.selectedTicketType) {
|
|
28496
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
28497
|
+
}
|
|
28498
|
+
if (!input.event) {
|
|
28499
|
+
return false;
|
|
28500
|
+
}
|
|
28501
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
28502
|
+
}
|
|
28503
|
+
|
|
28504
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
28505
|
+
function toRegistrationEvent(event) {
|
|
28506
|
+
return {
|
|
28507
|
+
...event,
|
|
28508
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
28509
|
+
publicEventId: event.id,
|
|
28510
|
+
registrationOccurrenceId: event.occurrenceId
|
|
28511
|
+
};
|
|
28512
|
+
}
|
|
28513
|
+
function toRegistrationEvents(events) {
|
|
28514
|
+
return events.map(toRegistrationEvent);
|
|
28515
|
+
}
|
|
28516
|
+
|
|
27099
28517
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28518
|
+
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28519
|
+
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
27100
28520
|
var contentEntrySchema = z45.object({
|
|
27101
28521
|
id: z45.string(),
|
|
27102
28522
|
slug: z45.string(),
|
|
27103
28523
|
contentTypeSlug: z45.string()
|
|
27104
28524
|
});
|
|
28525
|
+
var eventRegistrationPublicEventSchema = z45.preprocess(
|
|
28526
|
+
normalizeEventRegistrationEventInput,
|
|
28527
|
+
publicEventSchema
|
|
28528
|
+
);
|
|
27105
28529
|
var eventRegistrationSourceSchema = z45.object({
|
|
27106
28530
|
siteId: z45.string().optional(),
|
|
27107
28531
|
apiBaseUrl: z45.string().optional(),
|
|
@@ -27109,7 +28533,7 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27109
28533
|
previewToken: z45.string().nullable().optional(),
|
|
27110
28534
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27111
28535
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27112
|
-
events: z45.array(
|
|
28536
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27113
28537
|
className: z45.string().nullable().optional(),
|
|
27114
28538
|
buttonText: z45.string().nullable().optional(),
|
|
27115
28539
|
maxTickets: z45.string().nullable().optional(),
|
|
@@ -27124,14 +28548,17 @@ var eventRegistrationSourceSchema = z45.object({
|
|
|
27124
28548
|
});
|
|
27125
28549
|
var eventRegistrationDisplaySchema = z45.object({
|
|
27126
28550
|
kind: z45.literal("event-registration"),
|
|
27127
|
-
state: z45.literal("shell"),
|
|
28551
|
+
state: z45.literal("generic-shell"),
|
|
27128
28552
|
className: z45.string().nullable(),
|
|
28553
|
+
titleText: z45.string(),
|
|
28554
|
+
bodyText: z45.string(),
|
|
28555
|
+
stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
27129
28556
|
summaryButtonText: z45.string()
|
|
27130
28557
|
});
|
|
27131
28558
|
var eventRegistrationHydrationSchema = z45.object({
|
|
27132
28559
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
27133
28560
|
contentEntry: contentEntrySchema.nullable().optional(),
|
|
27134
|
-
events: z45.array(
|
|
28561
|
+
events: z45.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
27135
28562
|
maxTickets: z45.string().optional(),
|
|
27136
28563
|
showVenue: z45.boolean().optional(),
|
|
27137
28564
|
showCapacity: z45.boolean().optional(),
|
|
@@ -27160,13 +28587,81 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
27160
28587
|
"stage"
|
|
27161
28588
|
);
|
|
27162
28589
|
function buildEventRegistrationDisplay(source) {
|
|
28590
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
27163
28591
|
return {
|
|
27164
28592
|
kind: "event-registration",
|
|
27165
|
-
state: "shell",
|
|
28593
|
+
state: "generic-shell",
|
|
27166
28594
|
className: source.className ?? null,
|
|
28595
|
+
titleText: "Event registration",
|
|
28596
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
28597
|
+
stepLabels,
|
|
27167
28598
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
27168
28599
|
};
|
|
27169
28600
|
}
|
|
28601
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
28602
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
28603
|
+
if (scopedEvents.length === 0) {
|
|
28604
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
28605
|
+
}
|
|
28606
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
28607
|
+
scopedEvents,
|
|
28608
|
+
occurrenceContext: source.occurrenceContext
|
|
28609
|
+
});
|
|
28610
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
28611
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
28612
|
+
eligibility: null,
|
|
28613
|
+
selectedTicketType: null,
|
|
28614
|
+
event: preSelectedEvent
|
|
28615
|
+
}) : false;
|
|
28616
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
28617
|
+
}
|
|
28618
|
+
function scopeEventRegistrationEvents(source) {
|
|
28619
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
28620
|
+
if (source.occurrenceContext?.seriesId) {
|
|
28621
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
28622
|
+
}
|
|
28623
|
+
const entrySlug = source.contentEntry?.slug;
|
|
28624
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
28625
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
28626
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
28627
|
+
}
|
|
28628
|
+
return events;
|
|
28629
|
+
}
|
|
28630
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
28631
|
+
switch (step) {
|
|
28632
|
+
case "select-event":
|
|
28633
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
28634
|
+
case "select-tickets":
|
|
28635
|
+
return "Tickets";
|
|
28636
|
+
case "enter-details":
|
|
28637
|
+
return "Details";
|
|
28638
|
+
case "select-payment":
|
|
28639
|
+
return "Payment";
|
|
28640
|
+
case "error":
|
|
28641
|
+
case "success":
|
|
28642
|
+
case "submitting":
|
|
28643
|
+
case "redirecting":
|
|
28644
|
+
case "verifying-payment":
|
|
28645
|
+
case "verifying-timeout":
|
|
28646
|
+
case "payment-failed":
|
|
28647
|
+
return "Details";
|
|
28648
|
+
}
|
|
28649
|
+
}
|
|
28650
|
+
function isDateSelection(events) {
|
|
28651
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
28652
|
+
return Boolean(
|
|
28653
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
28654
|
+
);
|
|
28655
|
+
}
|
|
28656
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
28657
|
+
if (stepLabels.includes("Payment")) {
|
|
28658
|
+
return "Preparing tickets, details, and payment options.";
|
|
28659
|
+
}
|
|
28660
|
+
if (stepLabels[0] === "Tickets") {
|
|
28661
|
+
return "Preparing tickets and booking details.";
|
|
28662
|
+
}
|
|
28663
|
+
return "Preparing dates, tickets, and booking details.";
|
|
28664
|
+
}
|
|
27170
28665
|
var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
27171
28666
|
kind: "client-owned",
|
|
27172
28667
|
contracts: {
|
|
@@ -27190,6 +28685,18 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
27190
28685
|
}
|
|
27191
28686
|
})
|
|
27192
28687
|
});
|
|
28688
|
+
function normalizeEventRegistrationEventInput(value) {
|
|
28689
|
+
if (!isRecord4(value)) {
|
|
28690
|
+
return value;
|
|
28691
|
+
}
|
|
28692
|
+
return {
|
|
28693
|
+
...value,
|
|
28694
|
+
pricing: resolveRuntimeEventPricing(value)
|
|
28695
|
+
};
|
|
28696
|
+
}
|
|
28697
|
+
function isRecord4(value) {
|
|
28698
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28699
|
+
}
|
|
27193
28700
|
var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
27194
28701
|
runtime: eventRegistrationBlockRuntime,
|
|
27195
28702
|
mode: "event-registration",
|
|
@@ -29688,7 +31195,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
29688
31195
|
return keys.length >= 2 ? keys : [];
|
|
29689
31196
|
}
|
|
29690
31197
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
29691
|
-
if (!
|
|
31198
|
+
if (!isRecord5(value)) return null;
|
|
29692
31199
|
const groupOrderValue = value.groupOrder;
|
|
29693
31200
|
if (Array.isArray(groupOrderValue)) {
|
|
29694
31201
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -29701,7 +31208,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
29701
31208
|
return { ...value, groupOrder: [] };
|
|
29702
31209
|
}
|
|
29703
31210
|
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
|
|
29704
|
-
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(
|
|
31211
|
+
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord5) : []
|
|
29705
31212
|
);
|
|
29706
31213
|
return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
|
|
29707
31214
|
}
|
|
@@ -29715,7 +31222,7 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
29715
31222
|
}
|
|
29716
31223
|
return keys;
|
|
29717
31224
|
}
|
|
29718
|
-
function
|
|
31225
|
+
function isRecord5(value) {
|
|
29719
31226
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29720
31227
|
}
|
|
29721
31228
|
|
|
@@ -30082,7 +31589,7 @@ function isOfferingsPreviewItemLimit(value) {
|
|
|
30082
31589
|
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
30083
31590
|
}
|
|
30084
31591
|
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
30085
|
-
if (!
|
|
31592
|
+
if (!isRecord6(value)) return [];
|
|
30086
31593
|
const override = {};
|
|
30087
31594
|
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
|
|
30088
31595
|
override.sourceKey = value.sourceKey;
|
|
@@ -30114,12 +31621,12 @@ function isButtonVariant(value) {
|
|
|
30114
31621
|
return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
|
|
30115
31622
|
}
|
|
30116
31623
|
function normalizeCardStylesContent(value) {
|
|
30117
|
-
return
|
|
31624
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30118
31625
|
}
|
|
30119
31626
|
function normalizeSectionStylesContent(value) {
|
|
30120
|
-
return
|
|
31627
|
+
return isRecord6(value) || value === null ? value : void 0;
|
|
30121
31628
|
}
|
|
30122
|
-
function
|
|
31629
|
+
function isRecord6(value) {
|
|
30123
31630
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30124
31631
|
}
|
|
30125
31632
|
|
|
@@ -34079,11 +35586,13 @@ var heroImageSurfaceMotions = [
|
|
|
34079
35586
|
];
|
|
34080
35587
|
var standardEyebrowTreatments = [
|
|
34081
35588
|
"plain",
|
|
35589
|
+
"accent",
|
|
34082
35590
|
"pill",
|
|
34083
35591
|
"accent-pill"
|
|
34084
35592
|
];
|
|
34085
35593
|
var animatedEyebrowTreatments = [
|
|
34086
35594
|
"plain",
|
|
35595
|
+
"accent",
|
|
34087
35596
|
"pill",
|
|
34088
35597
|
"accent-pill",
|
|
34089
35598
|
"pill-bounce",
|
|
@@ -34384,6 +35893,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
34384
35893
|
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
34385
35894
|
]
|
|
34386
35895
|
})),
|
|
35896
|
+
withDesignCapability("block.contact-newsletter", contactNewsletterBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
35897
|
+
flow: conversionFlow,
|
|
35898
|
+
layoutProfiles: [
|
|
35899
|
+
layoutProfile({
|
|
35900
|
+
variantKey: "default",
|
|
35901
|
+
family: "split",
|
|
35902
|
+
weight: "featured",
|
|
35903
|
+
bias: "soft"
|
|
35904
|
+
})
|
|
35905
|
+
]
|
|
35906
|
+
})),
|
|
34387
35907
|
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
34388
35908
|
sectionSurfaces: "supported",
|
|
34389
35909
|
contentFrames: ["plain", "panel"],
|
|
@@ -34475,6 +35995,12 @@ var systemBlockDefinitionsRaw = [
|
|
|
34475
35995
|
family: "media-text",
|
|
34476
35996
|
weight: "featured",
|
|
34477
35997
|
bias: "soft"
|
|
35998
|
+
}),
|
|
35999
|
+
layoutProfile({
|
|
36000
|
+
variantKey: "bio",
|
|
36001
|
+
family: "media-text",
|
|
36002
|
+
weight: "featured",
|
|
36003
|
+
bias: "soft"
|
|
34478
36004
|
})
|
|
34479
36005
|
]
|
|
34480
36006
|
})),
|
|
@@ -35276,7 +36802,7 @@ var defaultTransforms = createTransformRegistry(builtinTransformDefinitions);
|
|
|
35276
36802
|
// ../blocks/src/system/data/linkedContentEntries.ts
|
|
35277
36803
|
var LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
35278
36804
|
function coerceLinkedContentEntriesPayload(payload) {
|
|
35279
|
-
if (!
|
|
36805
|
+
if (!isRecord7(payload)) return payload;
|
|
35280
36806
|
const response = payload;
|
|
35281
36807
|
if (!Array.isArray(response.entries)) return payload;
|
|
35282
36808
|
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
@@ -35284,12 +36810,12 @@ function coerceLinkedContentEntriesPayload(payload) {
|
|
|
35284
36810
|
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
35285
36811
|
}
|
|
35286
36812
|
function enrichLinkedContentEntry(entry, contentType) {
|
|
35287
|
-
if (!
|
|
36813
|
+
if (!isRecord7(entry)) return entry;
|
|
35288
36814
|
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
35289
36815
|
if (!entryId) return entry;
|
|
35290
36816
|
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
35291
36817
|
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
35292
|
-
const content =
|
|
36818
|
+
const content = isRecord7(entry.content) ? entry.content : {};
|
|
35293
36819
|
const meta = {
|
|
35294
36820
|
kind: "linked-content-entry",
|
|
35295
36821
|
entryId,
|
|
@@ -35382,7 +36908,7 @@ function capitalize(value) {
|
|
|
35382
36908
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
35383
36909
|
}
|
|
35384
36910
|
function parsePublicContentTypeMeta(value) {
|
|
35385
|
-
if (!
|
|
36911
|
+
if (!isRecord7(value)) return null;
|
|
35386
36912
|
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
35387
36913
|
return {
|
|
35388
36914
|
key: value.key,
|
|
@@ -35392,7 +36918,7 @@ function parsePublicContentTypeMeta(value) {
|
|
|
35392
36918
|
};
|
|
35393
36919
|
}
|
|
35394
36920
|
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
35395
|
-
if (!
|
|
36921
|
+
if (!isRecord7(value) || typeof value.kind !== "string") return null;
|
|
35396
36922
|
switch (value.kind) {
|
|
35397
36923
|
case "generic":
|
|
35398
36924
|
return { kind: "generic" };
|
|
@@ -35406,7 +36932,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
|
35406
36932
|
}
|
|
35407
36933
|
}
|
|
35408
36934
|
function parsePublicContentTypeFieldMeta(value) {
|
|
35409
|
-
if (!
|
|
36935
|
+
if (!isRecord7(value)) return [];
|
|
35410
36936
|
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
35411
36937
|
return [{
|
|
35412
36938
|
id: value.id,
|
|
@@ -35420,7 +36946,7 @@ function parseStringArray(value) {
|
|
|
35420
36946
|
if (!Array.isArray(value)) return null;
|
|
35421
36947
|
return value.filter((item) => typeof item === "string");
|
|
35422
36948
|
}
|
|
35423
|
-
function
|
|
36949
|
+
function isRecord7(value) {
|
|
35424
36950
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
35425
36951
|
}
|
|
35426
36952
|
|
|
@@ -35613,6 +37139,11 @@ ${root} {
|
|
|
35613
37139
|
--er-event-card-bg: rgb(var(--tb-surface));
|
|
35614
37140
|
--er-event-card-border-width: var(--rb-border-width, 1px);
|
|
35615
37141
|
--er-event-card-hover-opacity: 1;
|
|
37142
|
+
--er-control-bg: rgb(var(--tb-background, var(--tb-surface)));
|
|
37143
|
+
--er-control-text: rgb(var(--tb-foreground, var(--tb-text)));
|
|
37144
|
+
--er-radius: var(--rb-block-radius);
|
|
37145
|
+
--er-surface-muted: rgba(var(--tb-muted, 241 245 249), 0.42);
|
|
37146
|
+
--er-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
35616
37147
|
|
|
35617
37148
|
/* Step indicator */
|
|
35618
37149
|
--er-step-active: rgb(var(--tb-primary));
|
|
@@ -36255,11 +37786,11 @@ function resolveParamsBindings(input, vm, meta) {
|
|
|
36255
37786
|
return binding.fallback;
|
|
36256
37787
|
}
|
|
36257
37788
|
return resolved;
|
|
36258
|
-
} catch (
|
|
37789
|
+
} catch (err2) {
|
|
36259
37790
|
if (shouldLogWarnings) {
|
|
36260
37791
|
console.warn(
|
|
36261
37792
|
`bindings: failed to parse loader param binding for block "${meta?.blockKind ?? "unknown"}"`,
|
|
36262
|
-
|
|
37793
|
+
err2
|
|
36263
37794
|
);
|
|
36264
37795
|
}
|
|
36265
37796
|
return void 0;
|
|
@@ -37187,7 +38718,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
37187
38718
|
}
|
|
37188
38719
|
|
|
37189
38720
|
// ../api/src/utils/isRecord.ts
|
|
37190
|
-
function
|
|
38721
|
+
function isRecord8(value) {
|
|
37191
38722
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37192
38723
|
}
|
|
37193
38724
|
|
|
@@ -37494,7 +39025,7 @@ function sanitizeMarks(marks) {
|
|
|
37494
39025
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
37495
39026
|
return [{ type: mark.type }];
|
|
37496
39027
|
}
|
|
37497
|
-
if (mark.type === "link" &&
|
|
39028
|
+
if (mark.type === "link" && isRecord8(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
37498
39029
|
const attrs = { href: mark.attrs.href };
|
|
37499
39030
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
37500
39031
|
attrs.target = mark.attrs.target;
|
|
@@ -37509,10 +39040,10 @@ function sanitizeMarks(marks) {
|
|
|
37509
39040
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
37510
39041
|
}
|
|
37511
39042
|
function unwrapRichTextValue(value) {
|
|
37512
|
-
if (
|
|
39043
|
+
if (isRecord8(value) && isRecord8(value.doc)) {
|
|
37513
39044
|
return unwrapRichTextValue(value.doc);
|
|
37514
39045
|
}
|
|
37515
|
-
if (
|
|
39046
|
+
if (isRecord8(value) && value.type === "doc") {
|
|
37516
39047
|
return {
|
|
37517
39048
|
type: "doc",
|
|
37518
39049
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -37521,7 +39052,7 @@ function unwrapRichTextValue(value) {
|
|
|
37521
39052
|
return EMPTY_SITE_BANNER_BODY;
|
|
37522
39053
|
}
|
|
37523
39054
|
function isTipTapNodeLike(value) {
|
|
37524
|
-
return
|
|
39055
|
+
return isRecord8(value) && typeof value.type === "string";
|
|
37525
39056
|
}
|
|
37526
39057
|
function coerceTipTapNode(value) {
|
|
37527
39058
|
return {
|
|
@@ -37529,9 +39060,9 @@ function coerceTipTapNode(value) {
|
|
|
37529
39060
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
37530
39061
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
37531
39062
|
...Array.isArray(value.marks) ? {
|
|
37532
|
-
marks: value.marks.filter((mark) =>
|
|
39063
|
+
marks: value.marks.filter((mark) => isRecord8(mark) && typeof mark.type === "string").map((mark) => ({
|
|
37533
39064
|
type: mark.type,
|
|
37534
|
-
...
|
|
39065
|
+
...isRecord8(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
37535
39066
|
}))
|
|
37536
39067
|
} : {}
|
|
37537
39068
|
};
|
|
@@ -37714,7 +39245,7 @@ var ENTRY_REF_KEYS = [
|
|
|
37714
39245
|
"entryId",
|
|
37715
39246
|
"slug"
|
|
37716
39247
|
];
|
|
37717
|
-
function
|
|
39248
|
+
function isRecord9(value) {
|
|
37718
39249
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
37719
39250
|
}
|
|
37720
39251
|
function extractManualEntryRef(item) {
|
|
@@ -37722,7 +39253,7 @@ function extractManualEntryRef(item) {
|
|
|
37722
39253
|
const trimmed = item.trim();
|
|
37723
39254
|
return trimmed.length > 0 ? trimmed : null;
|
|
37724
39255
|
}
|
|
37725
|
-
if (!
|
|
39256
|
+
if (!isRecord9(item)) return null;
|
|
37726
39257
|
for (const key of ENTRY_REF_KEYS) {
|
|
37727
39258
|
const raw = item[key];
|
|
37728
39259
|
if (typeof raw === "string" && raw.trim().length > 0) {
|