@riverbankcms/sdk 0.107.0 → 0.108.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-DpAbAl08.mjs → PreviewEditorSidebar-BBT-kZAM.mjs} +46 -11
- package/dist/{PreviewEditorUI-O7cn6Xxv.mjs → PreviewEditorUI-D69xNKT2.mjs} +10 -9
- package/dist/{PreviewQueryProvider-D0tnKl0t.mjs → PreviewQueryProvider-RRu7wyQ5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CVB7urtl.mjs → SdkPreviewModeRuntime-CuDjXH6o.mjs} +426 -72
- package/dist/{SiteChromeCustomizeContext-C_sizso-.mjs → SiteChromeCustomizeContext-BQUY2dEk.mjs} +3865 -544
- package/dist/_dts/ai/src/contracts/proposals.d.ts +3712 -220
- package/dist/_dts/api/src/blocks.d.ts +41 -7
- package/dist/_dts/api/src/bookingRecords.d.ts +180 -115
- package/dist/_dts/api/src/cache-tags.d.ts +3 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +19 -1
- package/dist/_dts/api/src/endpoints.d.ts +99 -0
- package/dist/_dts/api/src/footer-settings.d.ts +1 -0
- package/dist/_dts/api/src/footerSettings.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +5 -2
- package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
- package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +62 -0
- package/dist/_dts/api/src/siteBanner.d.ts +2 -2
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +143 -55
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +41 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +2 -2
- package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
- package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +1 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
- package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
- package/dist/_dts/content-editor/src/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
- package/dist/_dts/core/src/branded.d.ts +3 -0
- package/dist/_dts/core/src/editor-state.d.ts +4 -0
- package/dist/_dts/core/src/footer-composition.d.ts +143 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/public-profile.d.ts +73 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3043 -2941
- package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +15 -1
- package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
- package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
- package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +13 -10
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -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 +3 -3
- package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -30
- package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1186 -34
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
- package/dist/cli/index.mjs +760 -374
- package/dist/client/{DiscountCodeDisclosure-BwGkvmVH.mjs → DiscountCodeDisclosure-D6TOf6Hi.mjs} +1 -1
- package/dist/client/{EventCombined.client-JnWE6Hzc.mjs → EventCombined.client-Dao3zxRk.mjs} +3 -3
- package/dist/client/{EventListing.client-DQewc_kg.mjs → EventListing.client-B2NNt4y1.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DPAU3SFt.mjs → LeafletStaticMap-BhwFo16w.mjs} +1 -1
- package/dist/client/{MagicLinkForm-D4kpWCbW.mjs → MagicLinkForm-BWnB7cMR.mjs} +2 -2
- package/dist/client/{StepIndicator-CBlkb4rA.mjs → StepIndicator-TzRiQ0BY.mjs} +2 -2
- package/dist/client/{accordion-DAIBVpTS.mjs → accordion-BPy-AJ4_.mjs} +1 -1
- package/dist/client/{bookingForm-DZ-4l5_1.mjs → bookingForm-BL4PGZds.mjs} +6 -6
- package/dist/client/bookings.mjs +143 -94
- package/dist/client/{buttons-DJgynGHQ.mjs → buttons-EBjyslaX.mjs} +144 -95
- package/dist/client/{carousel-D-SLfX8r.mjs → carousel-C2b7Cn9-.mjs} +1 -1
- package/dist/client/{cart-CEgbgJhX.mjs → cart-BQcbXIVD.mjs} +3 -3
- package/dist/client/{checkout-CXWrCRAA.mjs → checkout-DEmpGRJu.mjs} +3 -3
- package/dist/client/client.mjs +827 -434
- package/dist/client/{courseRegistration-DVmLrRVz.mjs → courseRegistration-BqRZPmsq.mjs} +7 -7
- package/dist/client/{eventCalendar-DCuyPY_c.mjs → eventCalendar-B8N_tSl5.mjs} +5 -5
- package/dist/client/{eventCombined-kP2CA2D4.mjs → eventCombined-Gjn6gtq7.mjs} +2 -2
- package/dist/client/{eventDetails-DU0LeF5e.mjs → eventDetails-M-VCxA-r.mjs} +3 -3
- package/dist/client/{eventListing-CcHF87BI.mjs → eventListing-DR19hqYi.mjs} +2 -2
- package/dist/client/{eventRegistration-DJnR0yFH.mjs → eventRegistration-BR02a0k3.mjs} +7 -7
- package/dist/client/{form-CH1lCusH.mjs → form-LY2xIbwg.mjs} +2 -2
- package/dist/client/{headerSection-CBPFZoku.mjs → headerSection-CYwwXJfh.mjs} +3 -3
- package/dist/client/hooks.mjs +377 -362
- package/dist/client/{locationMap-Cx1hBg5n.mjs → locationMap-DWnBXrFq.mjs} +2 -2
- package/dist/client/{newsletterForm-1ZL_ti9u.mjs → newsletterForm-D9s-fQ2P.mjs} +2 -2
- package/dist/client/{pricing-BIbzmV0G.mjs → pricing-DDq80oYc.mjs} +1 -1
- package/dist/client/{productDetail-BTh5gHBV.mjs → productDetail-B0SbWd45.mjs} +3 -3
- package/dist/client/{productList-Cc7OMrqN.mjs → productList-PwYlZn0y.mjs} +3 -3
- package/dist/client/{propsDecoder-oR-M-ISN.mjs → propsDecoder-BRWBiH7i.mjs} +33 -9
- package/dist/client/rendering/client.mjs +247 -40
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +478 -270
- package/dist/client/{shop-CQ_YbCnn.mjs → shop-CMwZPYME.mjs} +6 -6
- package/dist/client/{shop-commerce-BM-AoD3M.mjs → shop-commerce-BuxsFate.mjs} +5 -5
- package/dist/client/{shop-commerce-store-DFMQhU5p.mjs → shop-commerce-store-boYlEJ91.mjs} +1 -1
- package/dist/client/{shopShared-D0SKO2Cu.mjs → shopShared-D2naaOes.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-CrG4_ARt.mjs → useDiscountCodeUi-D9RHpVoj.mjs} +1 -1
- package/dist/client/{useEventFilters-CxK8Fekl.mjs → useEventFilters-igGiK1re.mjs} +3 -3
- package/dist/client/{usePolling-jcVryNgZ.mjs → usePolling-CI7MbsFB.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +178 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +178 -0
- package/dist/{previewAuthStore-BPcJPzdz.mjs → previewAuthStore-a_cBD28m.mjs} +178 -0
- package/dist/{sdk-runtime-C39Rsk-x.mjs → sdk-runtime-MBzD-GmP.mjs} +2 -2
- package/dist/{separator-BoMSQnsP.mjs → separator-5ahRBC85.mjs} +1 -1
- package/dist/server/components.mjs +556 -366
- package/dist/server/config-validation.mjs +384 -363
- package/dist/server/config.mjs +384 -364
- package/dist/server/data.mjs +377 -362
- package/dist/server/index.mjs +179 -1
- package/dist/server/navigation.mjs +9 -3
- package/dist/server/next.mjs +1384 -995
- package/dist/server/page-converter.mjs +368 -355
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +539 -360
- package/dist/server/rendering.mjs +556 -366
- package/dist/server/routing.mjs +613 -543
- package/dist/server/server.mjs +554 -361
- package/dist/server/theme-bridge.mjs +189 -98
- package/dist/server/theme.mjs +161 -95
- package/dist/styles/index.css +7 -1
- package/package.json +1 -1
package/dist/server/server.mjs
CHANGED
|
@@ -44,6 +44,12 @@ function parsePublicProductCategorySelector(value) {
|
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
46
|
//#region ../api/src/apiEndpointTypes.ts
|
|
47
|
+
function allowedDemoMutationPolicy() {
|
|
48
|
+
return {
|
|
49
|
+
classification: "allowed",
|
|
50
|
+
publicMessage: ""
|
|
51
|
+
};
|
|
52
|
+
}
|
|
47
53
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
48
54
|
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
49
55
|
return {
|
|
@@ -71,6 +77,7 @@ const TAG_TEMPLATES = {
|
|
|
71
77
|
siteRouteOutcomes: "riverbank:site:{siteId}:route-outcomes",
|
|
72
78
|
routeById: "riverbank:route:{routeId}",
|
|
73
79
|
pageById: "riverbank:page:{pageId}",
|
|
80
|
+
pageSurfaceById: "riverbank:page-surface:{pageSurfaceId}",
|
|
74
81
|
workflowRunById: "riverbank:workflow-run:{runId}",
|
|
75
82
|
siteForms: "riverbank:site:{siteId}:forms",
|
|
76
83
|
formById: "riverbank:form:{formId}",
|
|
@@ -96,6 +103,7 @@ const TAG_TEMPLATES = {
|
|
|
96
103
|
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
97
104
|
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
98
105
|
const DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
106
|
+
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
99
107
|
const API_ENDPOINTS$1 = {
|
|
100
108
|
aiContentUpdateChat: {
|
|
101
109
|
path: "/ai/content-update-chat",
|
|
@@ -2234,6 +2242,49 @@ const API_ENDPOINTS$1 = {
|
|
|
2234
2242
|
auth: "user",
|
|
2235
2243
|
responseKind: "json"
|
|
2236
2244
|
},
|
|
2245
|
+
updatePageSurfaceDraftContent: {
|
|
2246
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
2247
|
+
method: "PUT",
|
|
2248
|
+
errors: [
|
|
2249
|
+
"validation:invalid_input",
|
|
2250
|
+
"resource:not_found",
|
|
2251
|
+
"resource:conflict",
|
|
2252
|
+
"server:internal_error"
|
|
2253
|
+
],
|
|
2254
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById],
|
|
2255
|
+
auth: "user",
|
|
2256
|
+
responseKind: "json"
|
|
2257
|
+
},
|
|
2258
|
+
discardPageSurfaceDraftContent: {
|
|
2259
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
|
|
2260
|
+
method: "DELETE",
|
|
2261
|
+
errors: [
|
|
2262
|
+
"validation:invalid_input",
|
|
2263
|
+
"resource:not_found",
|
|
2264
|
+
"resource:conflict",
|
|
2265
|
+
"server:internal_error"
|
|
2266
|
+
],
|
|
2267
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById],
|
|
2268
|
+
auth: "user",
|
|
2269
|
+
responseKind: "json"
|
|
2270
|
+
},
|
|
2271
|
+
updatePageSurfaceRouteMetadata: {
|
|
2272
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
|
|
2273
|
+
method: "PATCH",
|
|
2274
|
+
errors: [
|
|
2275
|
+
"validation:invalid_input",
|
|
2276
|
+
"resource:not_found",
|
|
2277
|
+
"resource:conflict",
|
|
2278
|
+
"server:internal_error"
|
|
2279
|
+
],
|
|
2280
|
+
tags: [
|
|
2281
|
+
TAG_TEMPLATES.siteCollection,
|
|
2282
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
2283
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
2284
|
+
],
|
|
2285
|
+
auth: "user",
|
|
2286
|
+
responseKind: "json"
|
|
2287
|
+
},
|
|
2237
2288
|
runSdkWorkflow: {
|
|
2238
2289
|
path: "/sites/{siteId}/content/{type}/{entryId}/workflows/{workflowId}/run",
|
|
2239
2290
|
method: "POST",
|
|
@@ -2614,6 +2665,50 @@ const API_ENDPOINTS$1 = {
|
|
|
2614
2665
|
errors: [],
|
|
2615
2666
|
responseKind: "json"
|
|
2616
2667
|
},
|
|
2668
|
+
getFooterComposition: {
|
|
2669
|
+
path: "/sites/{siteId}/settings/footer-composition",
|
|
2670
|
+
method: "GET",
|
|
2671
|
+
revalidate: 120,
|
|
2672
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2673
|
+
auth: "user",
|
|
2674
|
+
errors: ["resource:not_found", "server:internal_error"],
|
|
2675
|
+
responseKind: "json"
|
|
2676
|
+
},
|
|
2677
|
+
updateFooterComposition: {
|
|
2678
|
+
path: "/sites/{siteId}/settings/footer-composition",
|
|
2679
|
+
method: "POST",
|
|
2680
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2681
|
+
auth: "user",
|
|
2682
|
+
demoMutation: DEMO_MUTATION_ALLOWED,
|
|
2683
|
+
errors: [
|
|
2684
|
+
"validation:invalid_input",
|
|
2685
|
+
"resource:not_found",
|
|
2686
|
+
"server:internal_error"
|
|
2687
|
+
],
|
|
2688
|
+
responseKind: "json"
|
|
2689
|
+
},
|
|
2690
|
+
getPublicProfile: {
|
|
2691
|
+
path: "/sites/{siteId}/settings/public-profile",
|
|
2692
|
+
method: "GET",
|
|
2693
|
+
revalidate: 120,
|
|
2694
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2695
|
+
auth: "user",
|
|
2696
|
+
errors: ["resource:not_found", "server:internal_error"],
|
|
2697
|
+
responseKind: "json"
|
|
2698
|
+
},
|
|
2699
|
+
updatePublicProfile: {
|
|
2700
|
+
path: "/sites/{siteId}/settings/public-profile",
|
|
2701
|
+
method: "POST",
|
|
2702
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2703
|
+
auth: "user",
|
|
2704
|
+
demoMutation: DEMO_MUTATION_ALLOWED,
|
|
2705
|
+
errors: [
|
|
2706
|
+
"validation:invalid_input",
|
|
2707
|
+
"resource:not_found",
|
|
2708
|
+
"server:internal_error"
|
|
2709
|
+
],
|
|
2710
|
+
responseKind: "json"
|
|
2711
|
+
},
|
|
2617
2712
|
updateSiteLayoutSettings: {
|
|
2618
2713
|
path: "/sites/{siteId}/settings/layout",
|
|
2619
2714
|
method: "POST",
|
|
@@ -3686,6 +3781,76 @@ const API_ENDPOINTS$1 = {
|
|
|
3686
3781
|
responseKind: "json",
|
|
3687
3782
|
errors: ["resource:not_found"]
|
|
3688
3783
|
},
|
|
3784
|
+
listPageSurfaceContentSlots: {
|
|
3785
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots",
|
|
3786
|
+
method: "GET",
|
|
3787
|
+
tags: [
|
|
3788
|
+
TAG_TEMPLATES.siteCollection,
|
|
3789
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3790
|
+
"surface-slots",
|
|
3791
|
+
"blocks"
|
|
3792
|
+
],
|
|
3793
|
+
auth: "user",
|
|
3794
|
+
responseKind: "json",
|
|
3795
|
+
errors: [
|
|
3796
|
+
"resource:not_found",
|
|
3797
|
+
"resource:conflict",
|
|
3798
|
+
"server:internal_error"
|
|
3799
|
+
]
|
|
3800
|
+
},
|
|
3801
|
+
createPageSurfaceSlotBlock: {
|
|
3802
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots/{slotKey}/blocks",
|
|
3803
|
+
method: "POST",
|
|
3804
|
+
tags: [
|
|
3805
|
+
TAG_TEMPLATES.siteCollection,
|
|
3806
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3807
|
+
"surface-slot-{slotKey}",
|
|
3808
|
+
"blocks"
|
|
3809
|
+
],
|
|
3810
|
+
auth: "user",
|
|
3811
|
+
responseKind: "json",
|
|
3812
|
+
errors: [
|
|
3813
|
+
"validation:invalid_input",
|
|
3814
|
+
"resource:not_found",
|
|
3815
|
+
"resource:conflict",
|
|
3816
|
+
"server:internal_error"
|
|
3817
|
+
]
|
|
3818
|
+
},
|
|
3819
|
+
reorderPageSurfaceSlotBlocks: {
|
|
3820
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots/{slotKey}/blocks/reorder",
|
|
3821
|
+
method: "POST",
|
|
3822
|
+
tags: [
|
|
3823
|
+
TAG_TEMPLATES.siteCollection,
|
|
3824
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3825
|
+
"surface-slot-{slotKey}",
|
|
3826
|
+
"blocks"
|
|
3827
|
+
],
|
|
3828
|
+
auth: "user",
|
|
3829
|
+
responseKind: "json",
|
|
3830
|
+
errors: [
|
|
3831
|
+
"validation:invalid_input",
|
|
3832
|
+
"resource:not_found",
|
|
3833
|
+
"resource:conflict",
|
|
3834
|
+
"server:internal_error"
|
|
3835
|
+
]
|
|
3836
|
+
},
|
|
3837
|
+
deletePageSurfaceSlotBlock: {
|
|
3838
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots/{slotKey}/blocks/{blockId}",
|
|
3839
|
+
method: "DELETE",
|
|
3840
|
+
tags: [
|
|
3841
|
+
TAG_TEMPLATES.siteCollection,
|
|
3842
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3843
|
+
"surface-slot-{slotKey}",
|
|
3844
|
+
"blocks"
|
|
3845
|
+
],
|
|
3846
|
+
auth: "user",
|
|
3847
|
+
responseKind: "json",
|
|
3848
|
+
errors: [
|
|
3849
|
+
"resource:not_found",
|
|
3850
|
+
"resource:conflict",
|
|
3851
|
+
"server:internal_error"
|
|
3852
|
+
]
|
|
3853
|
+
},
|
|
3689
3854
|
createBlock: {
|
|
3690
3855
|
path: "/sites/{siteId}/pages/{pageId}/blocks",
|
|
3691
3856
|
method: "POST",
|
|
@@ -6298,6 +6463,19 @@ const API_ENDPOINTS$1 = {
|
|
|
6298
6463
|
auth: "service",
|
|
6299
6464
|
responseKind: "json"
|
|
6300
6465
|
},
|
|
6466
|
+
sdkPatchPageBlock: {
|
|
6467
|
+
path: "/sdk/{siteId}/pages/{identifier}/blocks/{blockIdentifier}",
|
|
6468
|
+
method: "PATCH",
|
|
6469
|
+
errors: [
|
|
6470
|
+
"validation:invalid_input",
|
|
6471
|
+
"resource:not_found",
|
|
6472
|
+
"resource:conflict",
|
|
6473
|
+
"billing:plan_limit_exceeded",
|
|
6474
|
+
"server:internal_error"
|
|
6475
|
+
],
|
|
6476
|
+
auth: "service",
|
|
6477
|
+
responseKind: "json"
|
|
6478
|
+
},
|
|
6301
6479
|
sdkReorderPageBlocks: {
|
|
6302
6480
|
path: "/sdk/{siteId}/pages/{identifier}/blocks/reorder",
|
|
6303
6481
|
method: "POST",
|
|
@@ -7573,7 +7751,7 @@ var SimpleCache = class {
|
|
|
7573
7751
|
* 1. This constant
|
|
7574
7752
|
* 2. The "version" field in package.json
|
|
7575
7753
|
*/
|
|
7576
|
-
const SDK_VERSION = "0.
|
|
7754
|
+
const SDK_VERSION = "0.108.0";
|
|
7577
7755
|
//#endregion
|
|
7578
7756
|
//#region src/client/error.ts
|
|
7579
7757
|
let _Symbol$for;
|
|
@@ -15036,104 +15214,153 @@ const showtimePill = defineButtonPersonality({
|
|
|
15036
15214
|
}
|
|
15037
15215
|
});
|
|
15038
15216
|
//#endregion
|
|
15039
|
-
//#region ../theme-core/src/buttons/personalities/
|
|
15040
|
-
|
|
15041
|
-
|
|
15042
|
-
|
|
15043
|
-
|
|
15044
|
-
|
|
15045
|
-
|
|
15046
|
-
|
|
15047
|
-
|
|
15048
|
-
|
|
15049
|
-
|
|
15217
|
+
//#region ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
15218
|
+
/**
|
|
15219
|
+
* Soft Pill — rounded-full pill buttons with a hover lift. The default for
|
|
15220
|
+
* Calm Studio and Modern Wellness; reads as quietly modern and welcoming.
|
|
15221
|
+
*/
|
|
15222
|
+
const softPill = defineButtonPersonality({
|
|
15223
|
+
id: "soft-pill",
|
|
15224
|
+
name: "Soft Pill",
|
|
15225
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
15226
|
+
tags: {
|
|
15227
|
+
tone: "classic",
|
|
15228
|
+
energy: "calm",
|
|
15229
|
+
motion: "subtle",
|
|
15230
|
+
era: "organic"
|
|
15231
|
+
},
|
|
15232
|
+
buttonSystem: {
|
|
15233
|
+
global: {
|
|
15234
|
+
cornerStyle: "pill",
|
|
15235
|
+
shadow: "low",
|
|
15236
|
+
textTransform: "none",
|
|
15237
|
+
fontWeight: 500,
|
|
15238
|
+
borderWidth: 2,
|
|
15239
|
+
hoverTransform: "lift",
|
|
15240
|
+
hoverColor: "none"
|
|
15050
15241
|
},
|
|
15051
|
-
|
|
15052
|
-
|
|
15053
|
-
|
|
15054
|
-
|
|
15055
|
-
|
|
15056
|
-
|
|
15057
|
-
|
|
15058
|
-
|
|
15059
|
-
|
|
15060
|
-
},
|
|
15061
|
-
variants: [
|
|
15062
|
-
{
|
|
15063
|
-
id: "primary",
|
|
15064
|
-
name: "Primary",
|
|
15065
|
-
enabled: true,
|
|
15066
|
-
priority: 1,
|
|
15067
|
-
background: {
|
|
15068
|
-
type: "solid",
|
|
15069
|
-
colorToken: "primary"
|
|
15070
|
-
},
|
|
15071
|
-
textColorToken: "primaryForeground",
|
|
15072
|
-
borderRadius: "rounded-full",
|
|
15073
|
-
shadow: {
|
|
15074
|
-
elevation: "low",
|
|
15075
|
-
softness: "soft",
|
|
15076
|
-
position: "bottom"
|
|
15077
|
-
},
|
|
15078
|
-
effects: {
|
|
15079
|
-
hover: [{
|
|
15080
|
-
effectId: "lift",
|
|
15081
|
-
options: { translateY: "-1px" }
|
|
15082
|
-
}],
|
|
15083
|
-
active: [{
|
|
15084
|
-
effectId: "scale-down",
|
|
15085
|
-
options: { scale: "0.98" }
|
|
15086
|
-
}]
|
|
15087
|
-
}
|
|
15088
|
-
},
|
|
15089
|
-
{
|
|
15090
|
-
id: "secondary",
|
|
15091
|
-
name: "Secondary",
|
|
15092
|
-
enabled: true,
|
|
15093
|
-
priority: 2,
|
|
15094
|
-
background: { type: "transparent" },
|
|
15095
|
-
textColorToken: "primary",
|
|
15096
|
-
borderRadius: "rounded-full",
|
|
15097
|
-
border: {
|
|
15098
|
-
widthClass: "border-2",
|
|
15099
|
-
colorToken: "primary"
|
|
15100
|
-
},
|
|
15101
|
-
effects: { hover: [{
|
|
15102
|
-
effectId: "background-on-hover",
|
|
15103
|
-
options: { colorToken: "surface" }
|
|
15104
|
-
}] }
|
|
15242
|
+
variants: [
|
|
15243
|
+
{
|
|
15244
|
+
id: "primary",
|
|
15245
|
+
name: "Primary",
|
|
15246
|
+
enabled: true,
|
|
15247
|
+
priority: 1,
|
|
15248
|
+
background: {
|
|
15249
|
+
type: "solid",
|
|
15250
|
+
colorToken: "primary"
|
|
15105
15251
|
},
|
|
15106
|
-
|
|
15107
|
-
|
|
15108
|
-
|
|
15109
|
-
|
|
15110
|
-
|
|
15111
|
-
|
|
15112
|
-
textColorToken: "text",
|
|
15113
|
-
borderRadius: "rounded-full",
|
|
15114
|
-
border: {
|
|
15115
|
-
widthClass: "border",
|
|
15116
|
-
colorToken: "border"
|
|
15117
|
-
},
|
|
15118
|
-
effects: { hover: [{
|
|
15119
|
-
effectId: "background-on-hover",
|
|
15120
|
-
options: { colorToken: "surface" }
|
|
15121
|
-
}] }
|
|
15252
|
+
textColorToken: "primaryForeground",
|
|
15253
|
+
borderRadius: "rounded-full",
|
|
15254
|
+
shadow: {
|
|
15255
|
+
elevation: "low",
|
|
15256
|
+
softness: "soft",
|
|
15257
|
+
position: "bottom"
|
|
15122
15258
|
},
|
|
15123
|
-
{
|
|
15124
|
-
|
|
15125
|
-
|
|
15126
|
-
|
|
15127
|
-
|
|
15128
|
-
|
|
15129
|
-
|
|
15130
|
-
|
|
15131
|
-
|
|
15132
|
-
effectId: "background-on-hover",
|
|
15133
|
-
options: { colorToken: "surface" }
|
|
15134
|
-
}] }
|
|
15259
|
+
effects: {
|
|
15260
|
+
hover: [{
|
|
15261
|
+
effectId: "lift",
|
|
15262
|
+
options: { translateY: "-1px" }
|
|
15263
|
+
}],
|
|
15264
|
+
active: [{
|
|
15265
|
+
effectId: "scale-down",
|
|
15266
|
+
options: { scale: "0.98" }
|
|
15267
|
+
}]
|
|
15135
15268
|
}
|
|
15136
|
-
|
|
15269
|
+
},
|
|
15270
|
+
{
|
|
15271
|
+
id: "secondary",
|
|
15272
|
+
name: "Secondary",
|
|
15273
|
+
enabled: true,
|
|
15274
|
+
priority: 2,
|
|
15275
|
+
background: { type: "transparent" },
|
|
15276
|
+
textColorToken: "primary",
|
|
15277
|
+
borderRadius: "rounded-full",
|
|
15278
|
+
border: {
|
|
15279
|
+
widthClass: "border-2",
|
|
15280
|
+
colorToken: "primary"
|
|
15281
|
+
},
|
|
15282
|
+
effects: { hover: [{
|
|
15283
|
+
effectId: "background-on-hover",
|
|
15284
|
+
options: { colorToken: "surface" }
|
|
15285
|
+
}] }
|
|
15286
|
+
},
|
|
15287
|
+
{
|
|
15288
|
+
id: "outline",
|
|
15289
|
+
name: "Outline",
|
|
15290
|
+
enabled: true,
|
|
15291
|
+
priority: 3,
|
|
15292
|
+
background: { type: "transparent" },
|
|
15293
|
+
textColorToken: "text",
|
|
15294
|
+
borderRadius: "rounded-full",
|
|
15295
|
+
border: {
|
|
15296
|
+
widthClass: "border",
|
|
15297
|
+
colorToken: "border"
|
|
15298
|
+
},
|
|
15299
|
+
effects: { hover: [{
|
|
15300
|
+
effectId: "background-on-hover",
|
|
15301
|
+
options: { colorToken: "surface" }
|
|
15302
|
+
}] }
|
|
15303
|
+
},
|
|
15304
|
+
{
|
|
15305
|
+
id: "ghost",
|
|
15306
|
+
name: "Ghost",
|
|
15307
|
+
enabled: true,
|
|
15308
|
+
priority: 3,
|
|
15309
|
+
background: { type: "transparent" },
|
|
15310
|
+
textColorToken: "text",
|
|
15311
|
+
borderRadius: "rounded-full",
|
|
15312
|
+
effects: { hover: [{
|
|
15313
|
+
effectId: "background-on-hover",
|
|
15314
|
+
options: { colorToken: "surface" }
|
|
15315
|
+
}] }
|
|
15316
|
+
}
|
|
15317
|
+
]
|
|
15318
|
+
}
|
|
15319
|
+
});
|
|
15320
|
+
//#endregion
|
|
15321
|
+
//#region ../theme-core/src/buttons/personalities/two-tone-pill.ts
|
|
15322
|
+
const solidSecondary = {
|
|
15323
|
+
id: "secondary",
|
|
15324
|
+
name: "Secondary",
|
|
15325
|
+
enabled: true,
|
|
15326
|
+
priority: 2,
|
|
15327
|
+
background: {
|
|
15328
|
+
type: "solid",
|
|
15329
|
+
colorToken: "secondary"
|
|
15330
|
+
},
|
|
15331
|
+
textColorToken: "onSecondary",
|
|
15332
|
+
borderRadius: "rounded-full",
|
|
15333
|
+
shadow: {
|
|
15334
|
+
elevation: "none",
|
|
15335
|
+
softness: null,
|
|
15336
|
+
position: "bottom"
|
|
15337
|
+
},
|
|
15338
|
+
effects: {
|
|
15339
|
+
hover: [{
|
|
15340
|
+
effectId: "background-on-hover-alpha",
|
|
15341
|
+
options: {
|
|
15342
|
+
colorToken: "secondary",
|
|
15343
|
+
opacity: 88
|
|
15344
|
+
}
|
|
15345
|
+
}],
|
|
15346
|
+
active: [{
|
|
15347
|
+
effectId: "scale-down",
|
|
15348
|
+
options: { scale: "0.98" }
|
|
15349
|
+
}]
|
|
15350
|
+
}
|
|
15351
|
+
};
|
|
15352
|
+
//#endregion
|
|
15353
|
+
//#region ../theme-core/src/buttons/personalities/index.ts
|
|
15354
|
+
const buttonPersonalities = [
|
|
15355
|
+
softPill,
|
|
15356
|
+
defineButtonPersonality({
|
|
15357
|
+
id: "two-tone-pill",
|
|
15358
|
+
name: "Two-tone Pill",
|
|
15359
|
+
description: "Rounded pills with distinct solid primary and secondary brand colours.",
|
|
15360
|
+
tags: softPill.tags,
|
|
15361
|
+
buttonSystem: {
|
|
15362
|
+
...softPill.buttonSystem,
|
|
15363
|
+
variants: softPill.buttonSystem.variants.map((variant) => variant.id === "secondary" ? solidSecondary : variant)
|
|
15137
15364
|
}
|
|
15138
15365
|
}),
|
|
15139
15366
|
earthPill,
|
|
@@ -16667,6 +16894,7 @@ const navFontWeight = z$1.enum([
|
|
|
16667
16894
|
"bold"
|
|
16668
16895
|
]);
|
|
16669
16896
|
const headerMaxWidth = z$1.enum(["container", "full"]);
|
|
16897
|
+
const headerBarFrame = z$1.enum(["full-bleed", "inset-shell"]);
|
|
16670
16898
|
const headerContainerSchema = z$1.object({
|
|
16671
16899
|
rounded: z$1.enum([
|
|
16672
16900
|
"none",
|
|
@@ -16811,6 +17039,7 @@ const headerSchema = z$1.object({
|
|
|
16811
17039
|
positioning: headerPositioning,
|
|
16812
17040
|
shrinkOnScroll: z$1.boolean(),
|
|
16813
17041
|
maxWidth: headerMaxWidth,
|
|
17042
|
+
barFrame: headerBarFrame.optional(),
|
|
16814
17043
|
logoOverride: mediaSchema$1.nullable().optional(),
|
|
16815
17044
|
background: headerBackgroundSchema.default({
|
|
16816
17045
|
type: "color",
|
|
@@ -16820,6 +17049,7 @@ const headerSchema = z$1.object({
|
|
|
16820
17049
|
navStyle: headerNavStyle,
|
|
16821
17050
|
navColor: themeColorTokenSchema.nullable().optional(),
|
|
16822
17051
|
navWeight: navFontWeight.default("medium"),
|
|
17052
|
+
navFontRole: z$1.enum(["body", "heading"]).optional(),
|
|
16823
17053
|
navTypography: z$1.enum(["body", "heading"]).optional(),
|
|
16824
17054
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
16825
17055
|
navPlacement: z$1.enum(["end", "center"]).optional(),
|
|
@@ -16835,7 +17065,21 @@ const headerSchema = z$1.object({
|
|
|
16835
17065
|
ctaTreatment: headerCtaTreatmentSchema.optional(),
|
|
16836
17066
|
ctaVariant: z$1.string().min(1).optional(),
|
|
16837
17067
|
dropdownStyle: dropdownStyleSchema
|
|
16838
|
-
});
|
|
17068
|
+
}).transform(normaliseHeaderNavFontRole);
|
|
17069
|
+
/**
|
|
17070
|
+
* Normalises the legacy `navTypography` font-role alias into the canonical
|
|
17071
|
+
* `navFontRole` field so persisted themes migrate at the parse boundary without
|
|
17072
|
+
* a data migration. `navFontRole` always wins when both are present; the legacy
|
|
17073
|
+
* field is dropped so we never carry a dual write forward.
|
|
17074
|
+
*/
|
|
17075
|
+
function normaliseHeaderNavFontRole(header) {
|
|
17076
|
+
if (header.navTypography === void 0) return header;
|
|
17077
|
+
const { navTypography, ...rest } = header;
|
|
17078
|
+
return header.navFontRole === void 0 ? {
|
|
17079
|
+
...rest,
|
|
17080
|
+
navFontRole: navTypography
|
|
17081
|
+
} : rest;
|
|
17082
|
+
}
|
|
16839
17083
|
const footerVariant = z$1.enum([
|
|
16840
17084
|
"simple",
|
|
16841
17085
|
"columns",
|
|
@@ -18743,7 +18987,7 @@ const overlayLogoAccommodations = [
|
|
|
18743
18987
|
* optional nested styling fields that would otherwise leak from another Look.
|
|
18744
18988
|
*/
|
|
18745
18989
|
function baseHeader(theme) {
|
|
18746
|
-
const { navLinkStyle: _navLinkStyle, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
18990
|
+
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
18747
18991
|
return {
|
|
18748
18992
|
...header,
|
|
18749
18993
|
navContainer: {
|
|
@@ -18892,6 +19136,17 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
18892
19136
|
navTypography: "brand-caps",
|
|
18893
19137
|
moods: ["expressive"]
|
|
18894
19138
|
},
|
|
19139
|
+
{
|
|
19140
|
+
id: asHeaderStyleId("brand-capsule"),
|
|
19141
|
+
label: "Brand Capsule",
|
|
19142
|
+
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
19143
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
19144
|
+
navInteraction: "pill-background",
|
|
19145
|
+
surface: "brand-solid",
|
|
19146
|
+
defaultDepth: "shadow",
|
|
19147
|
+
navTypography: "quiet-caps",
|
|
19148
|
+
moods: ["expressive", "professional"]
|
|
19149
|
+
},
|
|
18895
19150
|
{
|
|
18896
19151
|
id: asHeaderStyleId("serif-line"),
|
|
18897
19152
|
label: "Serif Line",
|
|
@@ -18985,6 +19240,7 @@ const headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
18985
19240
|
"brand-bar",
|
|
18986
19241
|
"brand-underline",
|
|
18987
19242
|
"brand-pill",
|
|
19243
|
+
"brand-capsule",
|
|
18988
19244
|
"serif-line",
|
|
18989
19245
|
"flat-tabs"
|
|
18990
19246
|
])],
|
|
@@ -19022,6 +19278,11 @@ headerStyleRepairChain([
|
|
|
19022
19278
|
"brand-pill",
|
|
19023
19279
|
"brand-bar",
|
|
19024
19280
|
"minimal"
|
|
19281
|
+
]), headerStyleRepairChain([
|
|
19282
|
+
"brand-capsule",
|
|
19283
|
+
"brand-pill",
|
|
19284
|
+
"brand-bar",
|
|
19285
|
+
"minimal"
|
|
19025
19286
|
]), headerStyleRepairChain([
|
|
19026
19287
|
"pill-nav",
|
|
19027
19288
|
"soft-bar",
|
|
@@ -21259,6 +21520,7 @@ const curatedSiteStyles = [
|
|
|
21259
21520
|
],
|
|
21260
21521
|
buttonPersonalityChoices: [
|
|
21261
21522
|
buttonChoice("soft-pill"),
|
|
21523
|
+
buttonChoice("two-tone-pill"),
|
|
21262
21524
|
buttonChoice("pebble"),
|
|
21263
21525
|
buttonChoice("editorial-link"),
|
|
21264
21526
|
buttonChoice("brushed-wash")
|
|
@@ -22438,6 +22700,7 @@ const curatedSiteStyles = [
|
|
|
22438
22700
|
],
|
|
22439
22701
|
buttonPersonalityChoices: [
|
|
22440
22702
|
buttonChoice("quiet-arrow"),
|
|
22703
|
+
buttonChoice("two-tone-pill"),
|
|
22441
22704
|
buttonChoice("flat-ink"),
|
|
22442
22705
|
buttonChoice("editorial-link")
|
|
22443
22706
|
],
|
|
@@ -24872,6 +25135,7 @@ function devValidate(node) {
|
|
|
24872
25135
|
}
|
|
24873
25136
|
//#endregion
|
|
24874
25137
|
//#region ../blocks/src/system/node/fragments/backgroundLayer.ts
|
|
25138
|
+
const BACKGROUND_FRAME_BASE_CLASS = "rb-background-frame rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-isolate rb-pointer-events-none";
|
|
24875
25139
|
/**
|
|
24876
25140
|
* Creates background layer nodes for rendering backgrounds from field data.
|
|
24877
25141
|
*
|
|
@@ -24937,6 +25201,34 @@ function backgroundLayer(path, options = {}) {
|
|
|
24937
25201
|
];
|
|
24938
25202
|
}
|
|
24939
25203
|
/**
|
|
25204
|
+
* Wrap decorative background layers in their own clipping frame.
|
|
25205
|
+
*
|
|
25206
|
+
* Foreground content remains outside this frame, so editor outlines, focus
|
|
25207
|
+
* rings, and floating controls are never clipped by a visual background.
|
|
25208
|
+
* Backgrounds that explicitly opt into overflow keep that behavior within
|
|
25209
|
+
* the decorative layer rather than changing the content root.
|
|
25210
|
+
*/
|
|
25211
|
+
function backgroundFrame(path, options = {}) {
|
|
25212
|
+
const { leadingNodes = [], ...layerOptions } = options;
|
|
25213
|
+
const framedLayerOptions = {
|
|
25214
|
+
...layerOptions,
|
|
25215
|
+
styleClassName: layerOptions.styleClassName ?? "background-style rb-absolute rb-inset-0 rb-z-0 rb-h-full rb-w-full rb-pointer-events-none",
|
|
25216
|
+
imageClassName: layerOptions.imageClassName ?? "rb-absolute rb-z-0",
|
|
25217
|
+
overlayClassName: layerOptions.overlayClassName ?? "background-overlay rb-absolute rb-inset-0 rb-z-0 rb-h-full rb-w-full rb-pointer-events-none"
|
|
25218
|
+
};
|
|
25219
|
+
return el("div", {
|
|
25220
|
+
className: { $bind: {
|
|
25221
|
+
from: path,
|
|
25222
|
+
transforms: [{
|
|
25223
|
+
id: "background.resolveFrameClassName",
|
|
25224
|
+
options: { baseClass: BACKGROUND_FRAME_BASE_CLASS }
|
|
25225
|
+
}],
|
|
25226
|
+
fallback: `${BACKGROUND_FRAME_BASE_CLASS} rb-overflow-hidden`
|
|
25227
|
+
} },
|
|
25228
|
+
style: { borderRadius: "inherit" }
|
|
25229
|
+
}, [...leadingNodes, ...backgroundLayer(path, framedLayerOptions)]);
|
|
25230
|
+
}
|
|
25231
|
+
/**
|
|
24940
25232
|
* Creates a media node for rendering background image/video media with conditional rendering.
|
|
24941
25233
|
*
|
|
24942
25234
|
* This helper creates a media element that:
|
|
@@ -25098,8 +25390,8 @@ function sectionContainer(children, opts) {
|
|
|
25098
25390
|
* - content
|
|
25099
25391
|
*/
|
|
25100
25392
|
function styledContainer(config) {
|
|
25101
|
-
const { children, rootType = "div", rootProps, bindFrom = "_containerStyles", baseClassName = "rb-relative rb-isolate rb-overflow-
|
|
25102
|
-
const
|
|
25393
|
+
const { children, rootType = "div", rootProps, bindFrom = "_containerStyles", baseClassName = "rb-relative rb-isolate rb-overflow-visible", imageClassName = "rb-absolute rb-z-0", constrainWidth = true } = config;
|
|
25394
|
+
const backgroundNode = backgroundFrame(`${bindFrom}.background`, { imageClassName });
|
|
25103
25395
|
const childrenArray = Array.isArray(children) ? children : [children];
|
|
25104
25396
|
const { className: _ignoredClassName, style: _ignoredStyle, ...safeRootProps } = rootProps ?? {};
|
|
25105
25397
|
return el(rootType, {
|
|
@@ -25122,7 +25414,7 @@ function styledContainer(config) {
|
|
|
25122
25414
|
}],
|
|
25123
25415
|
fallback: constrainWidth ? `${baseClassName} rb-container` : baseClassName
|
|
25124
25416
|
} }
|
|
25125
|
-
}, [
|
|
25417
|
+
}, [backgroundNode, ...childrenArray]);
|
|
25126
25418
|
}
|
|
25127
25419
|
//#endregion
|
|
25128
25420
|
//#region ../blocks/src/system/spacing.ts
|
|
@@ -25255,7 +25547,7 @@ const DEFAULT_SECTION_SPACING = "medium";
|
|
|
25255
25547
|
* - Creating a section wrapper with background theme
|
|
25256
25548
|
* - Adding background color/gradient/image layers
|
|
25257
25549
|
* - Binding className to section styles with transform
|
|
25258
|
-
* -
|
|
25550
|
+
* - Keeping foreground overflow visible while decorative backgrounds clip independently
|
|
25259
25551
|
* - Wrapping content children
|
|
25260
25552
|
*
|
|
25261
25553
|
* Use this helper to eliminate 25+ lines of boilerplate section setup code.
|
|
@@ -25291,8 +25583,8 @@ const DEFAULT_SECTION_SPACING = "medium";
|
|
|
25291
25583
|
* });
|
|
25292
25584
|
*/
|
|
25293
25585
|
function styledSection(config) {
|
|
25294
|
-
const { children, baseClass = "rb-px-6", spacing = DEFAULT_SECTION_SPACING, background = "background", bindFrom = "_sectionStyles", imageClassName = "rb-absolute rb-z-
|
|
25295
|
-
const
|
|
25586
|
+
const { children, baseClass = "rb-px-6", spacing = DEFAULT_SECTION_SPACING, background = "background", bindFrom = "_sectionStyles", imageClassName = "rb-absolute rb-z-0", renderBackgroundImage = true, backgroundImageLoading, backgroundImageFetchPriority, fullWidthPath } = config;
|
|
25587
|
+
const renderedBackgroundNode = backgroundFrame(`${bindFrom}.background`, {
|
|
25296
25588
|
imageClassName,
|
|
25297
25589
|
fallbackToken: background,
|
|
25298
25590
|
omitImageLayer: !renderBackgroundImage,
|
|
@@ -25315,13 +25607,8 @@ function styledSection(config) {
|
|
|
25315
25607
|
fullWidthPath
|
|
25316
25608
|
}
|
|
25317
25609
|
}]
|
|
25318
|
-
} },
|
|
25319
|
-
allowOverflow: allowOverflow ? true : { $bind: {
|
|
25320
|
-
from: `${bindFrom}.background`,
|
|
25321
|
-
transforms: [{ id: "background.resolveAllowOverflow" }],
|
|
25322
|
-
fallback: false
|
|
25323
25610
|
} }
|
|
25324
|
-
}, [
|
|
25611
|
+
}, [renderedBackgroundNode, ...childrenArray]);
|
|
25325
25612
|
}
|
|
25326
25613
|
//#endregion
|
|
25327
25614
|
//#region ../blocks/src/system/node/fragments/ctaButton.ts
|
|
@@ -26182,9 +26469,12 @@ function responsiveTwoColumn({ image, text, ratioFrom, imagePositionFrom, gapCla
|
|
|
26182
26469
|
//#endregion
|
|
26183
26470
|
//#region ../blocks/src/system/node/fragments/styledCard.ts
|
|
26184
26471
|
function styledCard(children, opts, ...mods) {
|
|
26185
|
-
const baseClassName = opts.baseClassName ?? "rb-relative rb-isolate rb-overflow-
|
|
26186
|
-
const defaultBackgroundLayer = el("div", {
|
|
26187
|
-
|
|
26472
|
+
const baseClassName = opts.baseClassName ?? "rb-relative rb-isolate rb-overflow-visible rb-border";
|
|
26473
|
+
const defaultBackgroundLayer = el("div", {
|
|
26474
|
+
className: "rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-pointer-events-none rb-bg-surface",
|
|
26475
|
+
style: { borderRadius: "inherit" }
|
|
26476
|
+
});
|
|
26477
|
+
const backgroundNode = backgroundFrame(opts.backgroundFrom);
|
|
26188
26478
|
const style = {
|
|
26189
26479
|
...opts.style ?? {},
|
|
26190
26480
|
borderColor: { $bind: {
|
|
@@ -26211,7 +26501,7 @@ function styledCard(children, opts, ...mods) {
|
|
|
26211
26501
|
...style ? { style } : {}
|
|
26212
26502
|
}, [
|
|
26213
26503
|
defaultBackgroundLayer,
|
|
26214
|
-
|
|
26504
|
+
backgroundNode,
|
|
26215
26505
|
...children
|
|
26216
26506
|
], ...mods);
|
|
26217
26507
|
}
|
|
@@ -27220,7 +27510,7 @@ function buildTestimonialCard(...mods) {
|
|
|
27220
27510
|
}, props({ value: "“" })), richText({ className: "rb-prose rb-max-w-none" }, bind("testimonial.content.body"), when("testimonial.content.body"))]), el("div", { className: "rb-testimonial-attribution" }, buildAttributionNodes())])], {
|
|
27221
27511
|
stylesFrom: "content._cardStyles",
|
|
27222
27512
|
backgroundFrom: "content._cardStyles.background",
|
|
27223
|
-
baseClassName: "rb-testimonial-card rb-relative rb-isolate rb-flex rb-h-full rb-flex-col rb-overflow-
|
|
27513
|
+
baseClassName: "rb-testimonial-card rb-relative rb-isolate rb-flex rb-h-full rb-flex-col rb-overflow-visible rb-p-8"
|
|
27224
27514
|
}, ...mods);
|
|
27225
27515
|
}
|
|
27226
27516
|
/**
|
|
@@ -27692,39 +27982,6 @@ const formEmbedFragment = defineFragment({
|
|
|
27692
27982
|
}
|
|
27693
27983
|
});
|
|
27694
27984
|
//#endregion
|
|
27695
|
-
//#region ../blocks/src/system/fragments/library/footerBottomText.ts
|
|
27696
|
-
const footerBottomTextFragment = defineFragment({
|
|
27697
|
-
id: "footerBottomText",
|
|
27698
|
-
title: "Footer Text",
|
|
27699
|
-
description: "Rich text content for the main footer body and optional bottom bar.",
|
|
27700
|
-
fields: [{
|
|
27701
|
-
id: "bodyText",
|
|
27702
|
-
type: "richText",
|
|
27703
|
-
label: "Body text",
|
|
27704
|
-
description: "Appears in the main footer area.",
|
|
27705
|
-
ui: { variant: "limited" }
|
|
27706
|
-
}, {
|
|
27707
|
-
id: "bottomText",
|
|
27708
|
-
type: "richText",
|
|
27709
|
-
label: "Bottom bar text",
|
|
27710
|
-
description: "Appears in the optional footer bottom bar.",
|
|
27711
|
-
ui: { variant: "limited" }
|
|
27712
|
-
}],
|
|
27713
|
-
layout: [richText({
|
|
27714
|
-
className: "rb-prose rb-prose-sm rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
27715
|
-
style: textColorStyle("text/80")
|
|
27716
|
-
}, when("bodyText"), bind("bodyText", { transforms: [{
|
|
27717
|
-
id: "content.interpolateRichTextTokens",
|
|
27718
|
-
options: { tokens: ["year", "site_name"] }
|
|
27719
|
-
}] })), richText({
|
|
27720
|
-
className: "rb-prose rb-prose-sm rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
27721
|
-
style: textColorStyle("text/80")
|
|
27722
|
-
}, when("bottomText"), bind("bottomText", { transforms: [{
|
|
27723
|
-
id: "content.interpolateRichTextTokens",
|
|
27724
|
-
options: { tokens: ["year", "site_name"] }
|
|
27725
|
-
}] }))]
|
|
27726
|
-
});
|
|
27727
|
-
//#endregion
|
|
27728
27985
|
//#region ../blocks/src/system/fragments/library/singleButton.ts
|
|
27729
27986
|
const singleButtonFragment = defineFragment({
|
|
27730
27987
|
id: "singleButton",
|
|
@@ -27897,7 +28154,7 @@ function createFaqAccordionLayout(options = {}) {
|
|
|
27897
28154
|
options: {
|
|
27898
28155
|
axis: "all",
|
|
27899
28156
|
includeSpacing: false,
|
|
27900
|
-
baseClass: "rb-faq-item rb-relative rb-isolate rb-overflow-
|
|
28157
|
+
baseClass: "rb-faq-item rb-relative rb-isolate rb-overflow-visible"
|
|
27901
28158
|
}
|
|
27902
28159
|
}]
|
|
27903
28160
|
},
|
|
@@ -29021,7 +29278,6 @@ function splitLayoutWith(children) {
|
|
|
29021
29278
|
}
|
|
29022
29279
|
}),
|
|
29023
29280
|
renderBackgroundImage: false,
|
|
29024
|
-
allowOverflow: true,
|
|
29025
29281
|
baseClass: ""
|
|
29026
29282
|
});
|
|
29027
29283
|
}
|
|
@@ -29649,7 +29905,7 @@ function postCard(children, ...mods) {
|
|
|
29649
29905
|
return styledCard(children, {
|
|
29650
29906
|
stylesFrom: "content._cardStyles",
|
|
29651
29907
|
backgroundFrom: "content._cardStyles.background",
|
|
29652
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
29908
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible rb-border rb-flex rb-flex-col rb-h-full"
|
|
29653
29909
|
}, ...mods);
|
|
29654
29910
|
}
|
|
29655
29911
|
const gridPostCard = postCard([postImageLink("rb-h-48 rb-w-full rb-object-cover rb-transition-transform rb-hover-scale-105", {
|
|
@@ -29685,7 +29941,7 @@ const stackPostCard = styledCard([inline({
|
|
|
29685
29941
|
])])], {
|
|
29686
29942
|
stylesFrom: "content._cardStyles",
|
|
29687
29943
|
backgroundFrom: "content._cardStyles.background",
|
|
29688
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
29944
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible rb-border"
|
|
29689
29945
|
}, repeat("data.posts", "post"));
|
|
29690
29946
|
const emptyState$2 = {
|
|
29691
29947
|
...styledCard([text({
|
|
@@ -29694,7 +29950,7 @@ const emptyState$2 = {
|
|
|
29694
29950
|
}, bind("content.emptyMessage", { fallback: "No posts published yet." }))], {
|
|
29695
29951
|
stylesFrom: "content._cardStyles",
|
|
29696
29952
|
backgroundFrom: "content._cardStyles.background",
|
|
29697
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
29953
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible rb-border rb-border-dashed rb-p-8 rb-text-center"
|
|
29698
29954
|
}),
|
|
29699
29955
|
$when: {
|
|
29700
29956
|
when: { from: "data.posts[0]" },
|
|
@@ -29704,7 +29960,7 @@ const emptyState$2 = {
|
|
|
29704
29960
|
function blogListingShell(children) {
|
|
29705
29961
|
return styledSection({
|
|
29706
29962
|
children: styledContainer({
|
|
29707
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
29963
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible",
|
|
29708
29964
|
children
|
|
29709
29965
|
}),
|
|
29710
29966
|
baseClass: ""
|
|
@@ -30116,7 +30372,7 @@ const copyLayout = fragmentLayoutNode$1(formCopyFragment.layout);
|
|
|
30116
30372
|
const formSurface = styledContainer({
|
|
30117
30373
|
bindFrom: "_containerStyles",
|
|
30118
30374
|
constrainWidth: false,
|
|
30119
|
-
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-
|
|
30375
|
+
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-visible",
|
|
30120
30376
|
children: fragmentLayoutNode$1(formEmbedFragment.layout)
|
|
30121
30377
|
});
|
|
30122
30378
|
function createFormLayout(variant) {
|
|
@@ -31333,6 +31589,7 @@ const headerRootClassTransform = {
|
|
|
31333
31589
|
];
|
|
31334
31590
|
const variant = header?.variant;
|
|
31335
31591
|
if (variant && VALID_VARIANTS.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
31592
|
+
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
31336
31593
|
return joinClasses(classes);
|
|
31337
31594
|
}
|
|
31338
31595
|
};
|
|
@@ -31856,7 +32113,7 @@ function desktopOnlyDisplay(display) {
|
|
|
31856
32113
|
}
|
|
31857
32114
|
//#endregion
|
|
31858
32115
|
//#region ../blocks/src/system/blocks/site-header.ts
|
|
31859
|
-
const whenTransformed
|
|
32116
|
+
const whenTransformed = (from, transformId, equals = true) => (node) => ({
|
|
31860
32117
|
...node,
|
|
31861
32118
|
$when: {
|
|
31862
32119
|
when: {
|
|
@@ -31884,7 +32141,7 @@ const logoRow = link({
|
|
|
31884
32141
|
text({
|
|
31885
32142
|
as: "strong",
|
|
31886
32143
|
className: "header-logo-text rb-truncate"
|
|
31887
|
-
}, whenTransformed
|
|
32144
|
+
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
31888
32145
|
]);
|
|
31889
32146
|
const centeredLogoRow = link({
|
|
31890
32147
|
href: "/",
|
|
@@ -31904,7 +32161,7 @@ const centeredLogoRow = link({
|
|
|
31904
32161
|
text({
|
|
31905
32162
|
as: "strong",
|
|
31906
32163
|
className: "header-logo-text"
|
|
31907
|
-
}, whenTransformed
|
|
32164
|
+
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
31908
32165
|
]);
|
|
31909
32166
|
const createNavRow = (className, align = "end") => navRow({
|
|
31910
32167
|
className: `${className} header-nav-row`,
|
|
@@ -32036,7 +32293,7 @@ const classicLayout = inline({
|
|
|
32036
32293
|
logoRow,
|
|
32037
32294
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
32038
32295
|
headerCta
|
|
32039
|
-
], whenTransformed
|
|
32296
|
+
], whenTransformed("$root.theme.header", "layout.classicNavMode", "inline"));
|
|
32040
32297
|
const classicCenteredNavLayout = inline({
|
|
32041
32298
|
className: bindProp("$root.theme.header.maxWidth", {
|
|
32042
32299
|
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
@@ -32047,7 +32304,7 @@ const classicCenteredNavLayout = inline({
|
|
|
32047
32304
|
logoRow,
|
|
32048
32305
|
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
32049
32306
|
headerCta
|
|
32050
|
-
], whenTransformed
|
|
32307
|
+
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
32051
32308
|
const centeredLayout = stack({
|
|
32052
32309
|
gap: "md",
|
|
32053
32310
|
align: "center",
|
|
@@ -32110,7 +32367,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
32110
32367
|
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
32111
32368
|
fallback: "background"
|
|
32112
32369
|
}),
|
|
32113
|
-
allowOverflow: true,
|
|
32114
32370
|
className: bindProp("$root.theme.header", {
|
|
32115
32371
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
32116
32372
|
fallback: "header-root rb-z-40 rb-w-full transition-theme"
|
|
@@ -32160,218 +32416,154 @@ const footerNavGroupsLayout = stack({
|
|
|
32160
32416
|
linkRequired: true,
|
|
32161
32417
|
target: { $bind: { from: "entry.target" } },
|
|
32162
32418
|
rel: { $bind: { from: "entry.rel" } }
|
|
32163
|
-
}, [text({ as: "span" }, bind("entry.label"))], repeat("group.children", "entry"))])], repeat("footerMenu.groups", "group"))],
|
|
32419
|
+
}, [text({ as: "span" }, bind("entry.label"))], repeat("group.children", "entry"))])], repeat("footerMenu.groups", "group"))], whenCollectionHasItems("footerMenu.groups"));
|
|
32164
32420
|
//#endregion
|
|
32165
32421
|
//#region ../blocks/src/system/blocks/site-footer.ts
|
|
32166
|
-
const
|
|
32167
|
-
|
|
32168
|
-
...node,
|
|
32169
|
-
$when: {
|
|
32170
|
-
when: {
|
|
32171
|
-
from,
|
|
32172
|
-
transforms: [{ id: transformId }]
|
|
32173
|
-
},
|
|
32174
|
-
equals
|
|
32175
|
-
}
|
|
32176
|
-
});
|
|
32177
|
-
const bottomBarTextLayout = () => {
|
|
32178
|
-
const bottomTextNode = footerTextLayout()[1];
|
|
32179
|
-
return bottomTextNode ? [bottomTextNode] : [];
|
|
32180
|
-
};
|
|
32181
|
-
const bodyTextLayout = () => {
|
|
32182
|
-
const bodyTextNode = footerTextLayout()[0];
|
|
32183
|
-
return bodyTextNode ? [bodyTextNode] : [];
|
|
32184
|
-
};
|
|
32185
|
-
const businessAddressLayout = () => [text({
|
|
32186
|
-
as: "p",
|
|
32187
|
-
className: "rb-caption rb-opacity-80"
|
|
32188
|
-
}, bind("site.businessAddress.displayAddress"), when("content.showBusinessAddress", { equals: true }))];
|
|
32189
|
-
const inlineBottomTextLayout = () => {
|
|
32190
|
-
const bottomTextNode = footerTextLayout()[1];
|
|
32191
|
-
if (!bottomTextNode) return [];
|
|
32192
|
-
return [when("$root.theme.footer.bottomBar.enabled", {
|
|
32193
|
-
equals: true,
|
|
32194
|
-
not: true
|
|
32195
|
-
})(bottomTextNode)];
|
|
32196
|
-
};
|
|
32197
|
-
const simpleFooterLayout = stack({
|
|
32198
|
-
gap: "md",
|
|
32199
|
-
align: "start",
|
|
32200
|
-
className: { $bind: {
|
|
32201
|
-
from: "$root.theme.footer",
|
|
32202
|
-
transforms: [{ id: "layout.footerSimpleRootClass" }],
|
|
32203
|
-
fallback: "rb-container rb-flex rb-w-full rb-flex-col rb-items-start rb-gap-4 rb-py-10 rb-text-left"
|
|
32204
|
-
} }
|
|
32205
|
-
}, [
|
|
32206
|
-
link({
|
|
32207
|
-
href: "/",
|
|
32208
|
-
className: { $bind: {
|
|
32209
|
-
from: "$root.theme.footer.logo",
|
|
32210
|
-
transforms: [{
|
|
32211
|
-
id: "layout.footerLogoClass",
|
|
32212
|
-
options: { requireExplicitShow: true }
|
|
32213
|
-
}],
|
|
32214
|
-
fallback: "rb-hidden"
|
|
32215
|
-
} }
|
|
32216
|
-
}, [
|
|
32217
|
-
media({ className: { $bind: {
|
|
32218
|
-
from: "$root.theme.footer.logo",
|
|
32219
|
-
transforms: [{ id: "layout.footerLogoMediaClass" }],
|
|
32220
|
-
fallback: "rb-w-auto"
|
|
32221
|
-
} } }, when("content.logo"), bind("content.logo")),
|
|
32222
|
-
stack({ className: "rb-contents" }, [media({ className: { $bind: {
|
|
32223
|
-
from: "$root.theme.footer.logo",
|
|
32224
|
-
transforms: [{ id: "layout.footerLogoMediaClass" }],
|
|
32225
|
-
fallback: "rb-w-auto"
|
|
32226
|
-
} } }, when("site.logo"), bind("site.logo"))], when("content.logo", { not: true })),
|
|
32227
|
-
text({
|
|
32228
|
-
as: "strong",
|
|
32229
|
-
className: "footer-logo-text rb-nav-text"
|
|
32230
|
-
}, whenTransformed("$root.theme.footer", "layout.footerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
32231
|
-
]),
|
|
32232
|
-
footerNav({
|
|
32233
|
-
collectionPath: "footerMenu.items",
|
|
32234
|
-
mode: "flatten",
|
|
32235
|
-
className: { $bind: {
|
|
32236
|
-
from: "$root.theme.footer.navLayout",
|
|
32237
|
-
transforms: [{ id: "layout.footerSimpleNavClass" }],
|
|
32238
|
-
fallback: "footer-nav rb-flex rb-flex-wrap rb-justify-start rb-gap-x-6 rb-gap-y-3"
|
|
32239
|
-
} },
|
|
32240
|
-
linkClassName: "footer-nav-link rb-inline-flex rb-items-center rb-px-4 rb-py-2 rb-nav-text transition-theme-standard"
|
|
32241
|
-
}),
|
|
32242
|
-
...bodyTextLayout(),
|
|
32243
|
-
...businessAddressLayout(),
|
|
32244
|
-
...inlineBottomTextLayout()
|
|
32245
|
-
], when("$root.theme.footer.variant", { equals: "simple" }));
|
|
32246
|
-
const columnsFooterLayout = stack({
|
|
32247
|
-
gap: "xl",
|
|
32248
|
-
align: "start",
|
|
32422
|
+
const brandLogo = link({
|
|
32423
|
+
href: "/",
|
|
32249
32424
|
className: { $bind: {
|
|
32250
|
-
from: "$root.theme.footer.
|
|
32425
|
+
from: "$root.theme.footer.logo",
|
|
32251
32426
|
transforms: [{
|
|
32252
|
-
id: "layout.
|
|
32253
|
-
options: { base: "
|
|
32427
|
+
id: "layout.footerLogoClass",
|
|
32428
|
+
options: { base: "footer-logo rb-inline-flex rb-items-center rb-gap-3 rb-no-underline" }
|
|
32254
32429
|
}],
|
|
32255
|
-
fallback: "
|
|
32430
|
+
fallback: "footer-logo rb-inline-flex rb-items-center rb-gap-3 rb-no-underline"
|
|
32256
32431
|
} }
|
|
32257
|
-
}, [
|
|
32258
|
-
|
|
32259
|
-
|
|
32260
|
-
|
|
32261
|
-
|
|
32262
|
-
|
|
32263
|
-
|
|
32264
|
-
|
|
32265
|
-
|
|
32266
|
-
|
|
32267
|
-
|
|
32268
|
-
|
|
32269
|
-
|
|
32270
|
-
|
|
32271
|
-
|
|
32272
|
-
|
|
32273
|
-
|
|
32274
|
-
gap: "xl",
|
|
32275
|
-
align: "start",
|
|
32432
|
+
}, [media({ className: { $bind: {
|
|
32433
|
+
from: "$root.theme.footer.logo",
|
|
32434
|
+
transforms: [{
|
|
32435
|
+
id: "layout.footerLogoMediaClass",
|
|
32436
|
+
options: { base: "rb-h-10 rb-w-auto" }
|
|
32437
|
+
}],
|
|
32438
|
+
fallback: "rb-h-10 rb-w-auto"
|
|
32439
|
+
} } }, when("module.showLogo", { equals: true }), when("content.logo"), bind("content.logo")), text({
|
|
32440
|
+
as: "strong",
|
|
32441
|
+
className: "footer-logo-text rb-nav-text"
|
|
32442
|
+
}, when("module.showTitle", { equals: true }), bind("site.title", { fallback: "Your Site" }))], when("module.kind", { equals: "brand" }));
|
|
32443
|
+
const navigation = stack({
|
|
32444
|
+
gap: "md",
|
|
32445
|
+
className: "rb-w-full"
|
|
32446
|
+
}, [footerNavGroupsLayout, footerNav({
|
|
32447
|
+
collectionPath: "footerMenu.items",
|
|
32448
|
+
mode: "links-only",
|
|
32276
32449
|
className: { $bind: {
|
|
32277
|
-
from: "
|
|
32278
|
-
|
|
32279
|
-
|
|
32280
|
-
|
|
32281
|
-
|
|
32282
|
-
|
|
32283
|
-
|
|
32450
|
+
from: "module.navigationClassName",
|
|
32451
|
+
fallback: "footer-nav rb-flex rb-flex-wrap rb-gap-x-6 rb-gap-y-3"
|
|
32452
|
+
} },
|
|
32453
|
+
linkClassName: "footer-nav-link rb-nav-text transition-theme-standard"
|
|
32454
|
+
})], when("module.kind", { equals: "navigation" }));
|
|
32455
|
+
const legalNavigation = footerNav({
|
|
32456
|
+
collectionPath: "legalFooterMenu.items",
|
|
32457
|
+
mode: "links-only",
|
|
32458
|
+
className: "rb-flex rb-flex-wrap rb-gap-x-4 rb-gap-y-2",
|
|
32459
|
+
linkClassName: "footer-nav-link rb-caption transition-theme-standard"
|
|
32460
|
+
});
|
|
32461
|
+
const address = text({
|
|
32462
|
+
as: "address",
|
|
32463
|
+
className: "rb-not-italic rb-opacity-80"
|
|
32464
|
+
}, when("module.kind", { equals: "business-address" }), bind("module.address"));
|
|
32465
|
+
const contact = stack({
|
|
32466
|
+
gap: "sm",
|
|
32467
|
+
className: "rb-items-start"
|
|
32468
|
+
}, [link({
|
|
32469
|
+
href: { $bind: { from: "contactLink.href" } },
|
|
32470
|
+
className: "rb-nav-text rb-break-words transition-theme-standard"
|
|
32471
|
+
}, [text({ as: "span" }, bind("contactLink.label"))], repeat("module.contactLinks", "contactLink"))], when("module.kind", { equals: "contact" }));
|
|
32472
|
+
const hours = stack({
|
|
32473
|
+
gap: "sm",
|
|
32474
|
+
className: "rb-w-full"
|
|
32475
|
+
}, [inline({ className: "rb-flex rb-w-full rb-justify-between rb-gap-4" }, [text({
|
|
32476
|
+
as: "span",
|
|
32477
|
+
className: "rb-label"
|
|
32478
|
+
}, bind("hoursDay.weekday")), text({
|
|
32479
|
+
as: "span",
|
|
32480
|
+
className: "rb-caption rb-opacity-80"
|
|
32481
|
+
}, bind("hoursDay.hours"))], repeat("module.openingHours", "hoursDay")), text({
|
|
32482
|
+
as: "p",
|
|
32483
|
+
className: "rb-caption rb-opacity-70"
|
|
32484
|
+
}, bind("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
|
|
32485
|
+
const socials = inline({ className: "rb-flex rb-flex-wrap rb-gap-x-5 rb-gap-y-3" }, [link({
|
|
32486
|
+
href: { $bind: { from: "social.href" } },
|
|
32487
|
+
target: "_blank",
|
|
32488
|
+
rel: "noreferrer noopener",
|
|
32489
|
+
"aria-label": { $bind: { from: "social.label" } },
|
|
32490
|
+
className: "rb-nav-text transition-theme-standard"
|
|
32491
|
+
}, [icon({ className: "rb-h-5 rb-w-5" }, bind("social.icon"), when("social.icon")), text({ as: "span" }, bind("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
|
|
32492
|
+
const authoredCopy = richText({
|
|
32493
|
+
className: "rb-prose rb-prose-sm rb-max-w-none",
|
|
32494
|
+
style: textColorStyle("text/80")
|
|
32495
|
+
}, when("module.content"), bind("module.content", { transforms: [{
|
|
32496
|
+
id: "content.interpolateRichTextTokens",
|
|
32497
|
+
options: { tokens: ["year", "site_name"] }
|
|
32498
|
+
}] }));
|
|
32499
|
+
const footerGroup = stack({
|
|
32500
|
+
gap: "md",
|
|
32501
|
+
align: "stretch",
|
|
32502
|
+
className: "rb-min-w-0",
|
|
32503
|
+
"data-footer-group": { $bind: { from: "group.kind" } }
|
|
32504
|
+
}, [stack({
|
|
32505
|
+
gap: "md",
|
|
32506
|
+
align: "start",
|
|
32507
|
+
"data-preview-footer-module-id": { $bind: { from: "module.id" } }
|
|
32284
32508
|
}, [
|
|
32285
|
-
|
|
32286
|
-
|
|
32287
|
-
|
|
32288
|
-
|
|
32289
|
-
}
|
|
32290
|
-
|
|
32291
|
-
|
|
32292
|
-
|
|
32293
|
-
|
|
32294
|
-
|
|
32295
|
-
|
|
32296
|
-
|
|
32297
|
-
|
|
32298
|
-
|
|
32299
|
-
|
|
32300
|
-
|
|
32301
|
-
|
|
32302
|
-
|
|
32303
|
-
|
|
32304
|
-
|
|
32305
|
-
}
|
|
32306
|
-
|
|
32307
|
-
|
|
32308
|
-
|
|
32309
|
-
|
|
32310
|
-
|
|
32311
|
-
|
|
32312
|
-
from: "$root.theme.footer.logo",
|
|
32313
|
-
transforms: [{ id: "layout.footerLogoMediaClass" }],
|
|
32314
|
-
fallback: "rb-w-auto"
|
|
32315
|
-
} } }, when("site.logo"), bind("site.logo"))], when("content.logo", { not: true })),
|
|
32316
|
-
text({
|
|
32317
|
-
as: "strong",
|
|
32318
|
-
className: "footer-logo-text rb-nav-text"
|
|
32319
|
-
}, whenTransformed("$root.theme.footer", "layout.footerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
32320
|
-
])]),
|
|
32321
|
-
...businessAddressLayout(),
|
|
32322
|
-
...inlineBottomTextLayout()
|
|
32323
|
-
], when("$root.theme.footer.variant", { equals: "split" }));
|
|
32324
|
-
const footerLayout = section({
|
|
32325
|
-
background: "background",
|
|
32509
|
+
text({
|
|
32510
|
+
as: "h2",
|
|
32511
|
+
className: "rb-label",
|
|
32512
|
+
style: textColorStyle("text/70")
|
|
32513
|
+
}, bind("module.heading"), when("module.heading")),
|
|
32514
|
+
brandLogo,
|
|
32515
|
+
navigation,
|
|
32516
|
+
stack({
|
|
32517
|
+
gap: "sm",
|
|
32518
|
+
className: "rb-w-full"
|
|
32519
|
+
}, [legalNavigation], when("module.kind", { equals: "legal-navigation" })),
|
|
32520
|
+
address,
|
|
32521
|
+
contact,
|
|
32522
|
+
hours,
|
|
32523
|
+
socials,
|
|
32524
|
+
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
32525
|
+
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
32526
|
+
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
32527
|
+
const footerMainRegion = stack({
|
|
32528
|
+
className: { $bind: { from: "region.className" } },
|
|
32529
|
+
"data-footer-region": { $bind: { from: "region.kind" } }
|
|
32530
|
+
}, [footerGroup], when("region.kind", { equals: "main" }), repeat("content.footerRuntime.regions", "region"));
|
|
32531
|
+
const footerBottomRegion = stack({ className: { $bind: {
|
|
32532
|
+
from: "$root.theme.footer",
|
|
32533
|
+
transforms: [{ id: "layout.footerBottomBarContainerClass" }],
|
|
32534
|
+
fallback: "rb-w-full"
|
|
32535
|
+
} } }, [stack({
|
|
32326
32536
|
className: { $bind: {
|
|
32327
32537
|
from: "$root.theme.footer",
|
|
32328
|
-
transforms: [{ id: "layout.
|
|
32329
|
-
fallback: "rb-w-full rb-border-t
|
|
32538
|
+
transforms: [{ id: "layout.footerBottomBarClass" }],
|
|
32539
|
+
fallback: "rb-w-full rb-border-t rb-px-6 rb-py-6 rb-text-center"
|
|
32330
32540
|
} },
|
|
32331
32541
|
style: { $bind: {
|
|
32332
32542
|
from: "$root.theme.footer",
|
|
32333
|
-
transforms: [{ id: "layout.
|
|
32334
|
-
|
|
32335
|
-
|
|
32336
|
-
}, [
|
|
32337
|
-
simpleFooterLayout,
|
|
32338
|
-
columnsFooterLayout,
|
|
32339
|
-
splitFooterLayout,
|
|
32340
|
-
stack({
|
|
32341
|
-
className: { $bind: {
|
|
32342
|
-
from: "$root.theme.footer",
|
|
32343
|
-
transforms: [{ id: "layout.footerBottomBarClass" }],
|
|
32344
|
-
fallback: "rb-w-full rb-border-t rb-py-5"
|
|
32345
|
-
} },
|
|
32346
|
-
style: { $bind: {
|
|
32347
|
-
from: "$root.theme.footer",
|
|
32348
|
-
transforms: [{ id: "layout.footerBottomBarStyle" }]
|
|
32349
|
-
} }
|
|
32350
|
-
}, [stack({ className: { $bind: {
|
|
32351
|
-
from: "$root.theme.footer",
|
|
32352
|
-
transforms: [{ id: "layout.footerBottomBarContainerClass" }],
|
|
32353
|
-
fallback: "rb-container"
|
|
32354
|
-
} } }, [...bottomBarTextLayout()])], when("$root.theme.footer.bottomBar.enabled", { equals: true }))
|
|
32355
|
-
]);
|
|
32543
|
+
transforms: [{ id: "layout.footerBottomBarStyle" }]
|
|
32544
|
+
} },
|
|
32545
|
+
"data-footer-region": "bottom"
|
|
32546
|
+
}, [footerGroup])], when("region.kind", { equals: "bottom" }), repeat("content.footerRuntime.regions", "region"));
|
|
32356
32547
|
const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
32357
32548
|
id: "block.site-footer",
|
|
32358
32549
|
title: "Site Footer",
|
|
32359
32550
|
category: "layout",
|
|
32360
|
-
fragments: [{
|
|
32361
|
-
fragment: footerBottomTextFragment,
|
|
32362
|
-
fieldPriority: 0
|
|
32363
|
-
}],
|
|
32364
32551
|
skipSectionStyles: true,
|
|
32365
|
-
|
|
32366
|
-
|
|
32367
|
-
|
|
32368
|
-
|
|
32369
|
-
|
|
32370
|
-
|
|
32371
|
-
|
|
32372
|
-
|
|
32373
|
-
|
|
32374
|
-
|
|
32552
|
+
layout: section({
|
|
32553
|
+
background: "background",
|
|
32554
|
+
className: { $bind: {
|
|
32555
|
+
from: "$root.theme.footer",
|
|
32556
|
+
transforms: [{ id: "layout.footerRootClass" }],
|
|
32557
|
+
fallback: "rb-w-full rb-border-t transition-theme"
|
|
32558
|
+
} },
|
|
32559
|
+
style: { $bind: {
|
|
32560
|
+
from: "$root.theme.footer",
|
|
32561
|
+
transforms: [{ id: "layout.footerRootStyle" }],
|
|
32562
|
+
fallback: mergeStyles(backgroundColorStyle("surface"), surfaceForegroundStyle({ text: "rgb(var(--tb-text))" }), borderColorStyle("border"))
|
|
32563
|
+
} },
|
|
32564
|
+
"data-footer-membership": { $bind: { from: "content.footerRuntime.membershipKey" } }
|
|
32565
|
+
}, [footerMainRegion, footerBottomRegion]),
|
|
32566
|
+
description: "Site-wide composed footer with canonical shared details.",
|
|
32375
32567
|
styleTokens: { spacing: "md" },
|
|
32376
32568
|
paletteHidden: true
|
|
32377
32569
|
}) };
|
|
@@ -32849,7 +33041,7 @@ const repeatedItemsNode = repeaterFragmentLayout({
|
|
|
32849
33041
|
id: "boxStyles.all",
|
|
32850
33042
|
options: {
|
|
32851
33043
|
axis: "all",
|
|
32852
|
-
baseClass: "rb-collection-item rb-relative rb-isolate rb-overflow-
|
|
33044
|
+
baseClass: "rb-collection-item rb-relative rb-isolate rb-overflow-visible rb-border"
|
|
32853
33045
|
}
|
|
32854
33046
|
}]
|
|
32855
33047
|
},
|
|
@@ -44683,16 +44875,17 @@ const backgroundTransforms = [
|
|
|
44683
44875
|
run: (value, _options, context) => resolveSurfaceForegroundStyles(value, context)
|
|
44684
44876
|
},
|
|
44685
44877
|
{
|
|
44686
|
-
id: "background.
|
|
44878
|
+
id: "background.resolveFrameClassName",
|
|
44687
44879
|
kind: "formatter",
|
|
44688
|
-
summary: "Resolve
|
|
44689
|
-
run: (value) => {
|
|
44690
|
-
|
|
44880
|
+
summary: "Resolve clipping on a decorative background frame without clipping foreground content",
|
|
44881
|
+
run: (value, options) => {
|
|
44882
|
+
const baseClass = options?.baseClass?.trim() ?? "";
|
|
44883
|
+
if (!value || typeof value !== "object") return `${baseClass} rb-overflow-hidden`.trim();
|
|
44691
44884
|
const input = value;
|
|
44692
|
-
if (input.overflow === true) return
|
|
44885
|
+
if (input.overflow === true) return `${baseClass} rb-overflow-visible`.trim();
|
|
44693
44886
|
const objectFit = isString(input.objectFit) ? input.objectFit.trim() : null;
|
|
44694
44887
|
const scale = isString(input.scale) ? input.scale.trim() : isNumber(input.scale) ? String(input.scale) : null;
|
|
44695
|
-
return Boolean((objectFit === "custom" || objectFit === "original") && scale && scale.trim().length > 0);
|
|
44888
|
+
return `${baseClass} ${Boolean((objectFit === "custom" || objectFit === "original") && scale && scale.trim().length > 0) ? "rb-overflow-visible" : "rb-overflow-hidden"}`.trim();
|
|
44696
44889
|
}
|
|
44697
44890
|
},
|
|
44698
44891
|
{
|