@riverbankcms/sdk 0.144.0 → 0.145.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-CQZNnFiM.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +419 -348
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +2081 -1313
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
- package/dist/_dts/api/src/communications.d.ts +14 -22
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
- package/dist/_dts/api/src/endpoints.d.ts +105 -58
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/editor-state.d.ts +6 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/public-profile.d.ts +9 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +663 -241
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-DnsUeONl.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-CNBFqJS4.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-LAJTNrS8.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BcNF9TjX.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-BUaQ3S03.mjs} +142 -50
- package/dist/client/bookings.mjs +191 -64
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-CTdF6e0V.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-pGtyf_XU.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-Da9WSn7Y.mjs} +3 -3
- package/dist/client/client.mjs +1630 -816
- package/dist/client/{context-CDLCfDep.mjs → context-BFeY_Wbm.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-BhwVSxDg.mjs} +2 -2
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-BAtdnR4s.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-RksA3tRC.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-BpJBkviM.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-B18jFq_o.mjs} +8 -8
- package/dist/client/{form-BjqKaBJ7.mjs → form-Dodt8Y8t.mjs} +3 -3
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-B0qj9ttg.mjs} +3 -3
- package/dist/client/hooks.mjs +550 -99
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-gn-iMk7a.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-oByLdFkr.mjs} +26 -5
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-BOU0_Hai.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-D9v1zH2j.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-D-mItx1n.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-C3TP_z4x.mjs} +72 -33
- package/dist/client/rendering/client.mjs +900 -266
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +1637 -788
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-Dufw7N7o.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-gklw_hLF.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-B5nyA41S.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-CLL829vy.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +147 -77
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +147 -77
- package/dist/preview-next/middleware.mjs +147 -77
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-EvdCAn4V.mjs} +1 -1
- package/dist/server/components.mjs +1727 -991
- package/dist/server/config-validation.mjs +537 -97
- package/dist/server/config.mjs +537 -97
- package/dist/server/data.mjs +549 -98
- package/dist/server/index.mjs +159 -81
- package/dist/server/next.mjs +1460 -748
- package/dist/server/page-converter.mjs +384 -54
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1712 -973
- package/dist/server/rendering.mjs +1748 -1001
- package/dist/server/routing.mjs +624 -131
- package/dist/server/server.mjs +554 -138
- package/dist/server/theme-bridge.mjs +1192 -27
- package/dist/server/theme.mjs +6 -4
- package/package.json +2 -1
package/dist/server/server.mjs
CHANGED
|
@@ -43,6 +43,75 @@ function parsePublicProductCategorySelector(value) {
|
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
47
|
+
/**
|
|
48
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
49
|
+
* method, and parameter contract for the typed URL builders.
|
|
50
|
+
*/
|
|
51
|
+
function defineEndpointDefinitions(definitions) {
|
|
52
|
+
return definitions;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
56
|
+
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
57
|
+
subscribeNewsletter: {
|
|
58
|
+
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
59
|
+
method: "POST",
|
|
60
|
+
tags: ["public-newsletter-{siteId}"],
|
|
61
|
+
auth: "public",
|
|
62
|
+
responseKind: "json"
|
|
63
|
+
},
|
|
64
|
+
confirmNewsletter: {
|
|
65
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
66
|
+
method: "GET",
|
|
67
|
+
tags: ["public-newsletter-{siteId}"],
|
|
68
|
+
auth: "public",
|
|
69
|
+
responseKind: "text"
|
|
70
|
+
},
|
|
71
|
+
unsubscribeNewsletter: {
|
|
72
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
73
|
+
method: "GET",
|
|
74
|
+
tags: ["public-newsletter-{siteId}"],
|
|
75
|
+
auth: "public",
|
|
76
|
+
responseKind: "text"
|
|
77
|
+
},
|
|
78
|
+
unsubscribeNewsletterPost: {
|
|
79
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
80
|
+
method: "POST",
|
|
81
|
+
tags: ["public-newsletter-{siteId}"],
|
|
82
|
+
auth: "public",
|
|
83
|
+
responseKind: "text"
|
|
84
|
+
},
|
|
85
|
+
confirmNewsletterPost: {
|
|
86
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
87
|
+
method: "POST",
|
|
88
|
+
tags: ["public-newsletter-{siteId}"],
|
|
89
|
+
auth: "public",
|
|
90
|
+
responseKind: "text"
|
|
91
|
+
},
|
|
92
|
+
getNewsletterPreferences: {
|
|
93
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
94
|
+
method: "GET",
|
|
95
|
+
tags: ["public-newsletter-{siteId}"],
|
|
96
|
+
auth: "public",
|
|
97
|
+
responseKind: "text"
|
|
98
|
+
},
|
|
99
|
+
saveNewsletterPreferences: {
|
|
100
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
101
|
+
method: "POST",
|
|
102
|
+
tags: ["public-newsletter-{siteId}"],
|
|
103
|
+
auth: "public",
|
|
104
|
+
responseKind: "text"
|
|
105
|
+
},
|
|
106
|
+
getNewsletterArchive: {
|
|
107
|
+
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
108
|
+
method: "GET",
|
|
109
|
+
tags: ["public-newsletter-{siteId}"],
|
|
110
|
+
auth: "public",
|
|
111
|
+
responseKind: "text"
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
//#endregion
|
|
46
115
|
//#region ../api/src/apiEndpointTypes.ts
|
|
47
116
|
function allowedDemoMutationPolicy() {
|
|
48
117
|
return {
|
|
@@ -134,17 +203,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
|
|
|
134
203
|
}
|
|
135
204
|
};
|
|
136
205
|
//#endregion
|
|
137
|
-
//#region ../api/src/defineEndpointDefinitions.ts
|
|
138
|
-
/**
|
|
139
|
-
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
140
|
-
* method, and parameter contract for the typed URL builders.
|
|
141
|
-
*/
|
|
142
|
-
function defineEndpointDefinitions(definitions) {
|
|
143
|
-
return definitions;
|
|
144
|
-
}
|
|
145
|
-
//#endregion
|
|
146
206
|
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
147
207
|
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
208
|
+
...defineEndpointDefinitions({
|
|
209
|
+
listGroupedAppointmentServices: {
|
|
210
|
+
path: "/sites/{siteId}/bookings/services/grouped",
|
|
211
|
+
method: "GET",
|
|
212
|
+
auth: "user",
|
|
213
|
+
responseKind: "json",
|
|
214
|
+
errors: ["server:internal_error"]
|
|
215
|
+
},
|
|
216
|
+
reorderAppointmentServices: {
|
|
217
|
+
path: "/sites/{siteId}/bookings/services/order",
|
|
218
|
+
method: "PUT",
|
|
219
|
+
auth: "user",
|
|
220
|
+
responseKind: "json",
|
|
221
|
+
errors: [
|
|
222
|
+
"validation:invalid_input",
|
|
223
|
+
"auth:forbidden",
|
|
224
|
+
"resource:not_found",
|
|
225
|
+
"resource:conflict",
|
|
226
|
+
"server:internal_error"
|
|
227
|
+
]
|
|
228
|
+
},
|
|
229
|
+
listAppointmentServiceCategories: {
|
|
230
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
231
|
+
method: "GET",
|
|
232
|
+
auth: "user",
|
|
233
|
+
responseKind: "json",
|
|
234
|
+
errors: ["server:internal_error"]
|
|
235
|
+
},
|
|
236
|
+
createAppointmentServiceCategory: {
|
|
237
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
238
|
+
method: "POST",
|
|
239
|
+
auth: "user",
|
|
240
|
+
responseKind: "json",
|
|
241
|
+
errors: [
|
|
242
|
+
"validation:invalid_input",
|
|
243
|
+
"auth:forbidden",
|
|
244
|
+
"resource:conflict",
|
|
245
|
+
"server:internal_error"
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
updateAppointmentServiceCategory: {
|
|
249
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
250
|
+
method: "PUT",
|
|
251
|
+
auth: "user",
|
|
252
|
+
responseKind: "json",
|
|
253
|
+
errors: [
|
|
254
|
+
"validation:invalid_input",
|
|
255
|
+
"auth:forbidden",
|
|
256
|
+
"resource:not_found",
|
|
257
|
+
"resource:conflict",
|
|
258
|
+
"server:internal_error"
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
deleteAppointmentServiceCategory: {
|
|
262
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
263
|
+
method: "DELETE",
|
|
264
|
+
auth: "user",
|
|
265
|
+
responseKind: "json",
|
|
266
|
+
errors: [
|
|
267
|
+
"auth:forbidden",
|
|
268
|
+
"resource:not_found",
|
|
269
|
+
"server:internal_error"
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
reorderAppointmentServiceCategories: {
|
|
273
|
+
path: "/sites/{siteId}/bookings/service-categories/order",
|
|
274
|
+
method: "PUT",
|
|
275
|
+
auth: "user",
|
|
276
|
+
responseKind: "json",
|
|
277
|
+
errors: [
|
|
278
|
+
"validation:invalid_input",
|
|
279
|
+
"auth:forbidden",
|
|
280
|
+
"resource:conflict",
|
|
281
|
+
"server:internal_error"
|
|
282
|
+
]
|
|
283
|
+
}
|
|
284
|
+
}),
|
|
148
285
|
listAppointmentResources: {
|
|
149
286
|
path: "/sites/{siteId}/bookings/resources",
|
|
150
287
|
method: "GET",
|
|
@@ -1292,39 +1429,6 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1292
1429
|
auth: "user",
|
|
1293
1430
|
responseKind: "json",
|
|
1294
1431
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1295
|
-
},
|
|
1296
|
-
listNewsletterSendJobs: {
|
|
1297
|
-
path: "/sites/{siteId}/newsletter/jobs",
|
|
1298
|
-
method: "GET",
|
|
1299
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1300
|
-
auth: "user",
|
|
1301
|
-
responseKind: "json"
|
|
1302
|
-
},
|
|
1303
|
-
retryNewsletterSendJob: {
|
|
1304
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/retry",
|
|
1305
|
-
method: "POST",
|
|
1306
|
-
errors: [
|
|
1307
|
-
"validation:invalid_input",
|
|
1308
|
-
"resource:not_found",
|
|
1309
|
-
"auth:forbidden",
|
|
1310
|
-
"server:internal_error"
|
|
1311
|
-
],
|
|
1312
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1313
|
-
auth: "user",
|
|
1314
|
-
responseKind: "json"
|
|
1315
|
-
},
|
|
1316
|
-
cancelNewsletterSendJob: {
|
|
1317
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/cancel",
|
|
1318
|
-
method: "POST",
|
|
1319
|
-
errors: [
|
|
1320
|
-
"validation:invalid_input",
|
|
1321
|
-
"resource:not_found",
|
|
1322
|
-
"auth:forbidden",
|
|
1323
|
-
"server:internal_error"
|
|
1324
|
-
],
|
|
1325
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1326
|
-
auth: "user",
|
|
1327
|
-
responseKind: "json"
|
|
1328
1432
|
}
|
|
1329
1433
|
});
|
|
1330
1434
|
//#endregion
|
|
@@ -3403,6 +3507,7 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3403
3507
|
}
|
|
3404
3508
|
});
|
|
3405
3509
|
const API_ENDPOINTS$1 = {
|
|
3510
|
+
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3406
3511
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
3407
3512
|
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
3408
3513
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
@@ -6537,41 +6642,6 @@ const API_ENDPOINTS$1 = {
|
|
|
6537
6642
|
"server:internal_error"
|
|
6538
6643
|
]
|
|
6539
6644
|
},
|
|
6540
|
-
subscribeNewsletter: {
|
|
6541
|
-
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
6542
|
-
method: "POST",
|
|
6543
|
-
tags: ["public-newsletter-{siteId}"],
|
|
6544
|
-
auth: "public",
|
|
6545
|
-
responseKind: "json"
|
|
6546
|
-
},
|
|
6547
|
-
confirmNewsletter: {
|
|
6548
|
-
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
6549
|
-
method: "GET",
|
|
6550
|
-
tags: ["public-newsletter-{siteId}"],
|
|
6551
|
-
auth: "public",
|
|
6552
|
-
responseKind: "text"
|
|
6553
|
-
},
|
|
6554
|
-
unsubscribeNewsletter: {
|
|
6555
|
-
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
6556
|
-
method: "GET",
|
|
6557
|
-
tags: ["public-newsletter-{siteId}"],
|
|
6558
|
-
auth: "public",
|
|
6559
|
-
responseKind: "text"
|
|
6560
|
-
},
|
|
6561
|
-
unsubscribeNewsletterPost: {
|
|
6562
|
-
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
6563
|
-
method: "POST",
|
|
6564
|
-
tags: ["public-newsletter-{siteId}"],
|
|
6565
|
-
auth: "public",
|
|
6566
|
-
responseKind: "text"
|
|
6567
|
-
},
|
|
6568
|
-
getNewsletterArchive: {
|
|
6569
|
-
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
6570
|
-
method: "GET",
|
|
6571
|
-
tags: ["public-newsletter-{siteId}"],
|
|
6572
|
-
auth: "public",
|
|
6573
|
-
responseKind: "text"
|
|
6574
|
-
},
|
|
6575
6645
|
listSiteContentTypes: {
|
|
6576
6646
|
path: "/sites/{siteId}/content-types",
|
|
6577
6647
|
method: "GET",
|
|
@@ -9539,7 +9609,7 @@ var SimpleCache = class {
|
|
|
9539
9609
|
* 1. This constant
|
|
9540
9610
|
* 2. The "version" field in package.json
|
|
9541
9611
|
*/
|
|
9542
|
-
const SDK_VERSION = "0.
|
|
9612
|
+
const SDK_VERSION = "0.145.0";
|
|
9543
9613
|
//#endregion
|
|
9544
9614
|
//#region src/client/error.ts
|
|
9545
9615
|
let _Symbol$for;
|
|
@@ -15055,6 +15125,15 @@ function asSiteStyleId(value) {
|
|
|
15055
15125
|
function asDesignSystemTemplateId(value) {
|
|
15056
15126
|
return brandNonEmptyString(value, "DesignSystemTemplateId");
|
|
15057
15127
|
}
|
|
15128
|
+
function toNonEmptyReadonlyArray(values) {
|
|
15129
|
+
const [first, ...rest] = values;
|
|
15130
|
+
return first === void 0 ? null : [first, ...rest];
|
|
15131
|
+
}
|
|
15132
|
+
function requireNonEmptyReadonlyArray(values, message = "Expected a non-empty array.") {
|
|
15133
|
+
const result = toNonEmptyReadonlyArray(values);
|
|
15134
|
+
if (!result) throw new Error(message);
|
|
15135
|
+
return result;
|
|
15136
|
+
}
|
|
15058
15137
|
function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
15059
15138
|
return asDesignBoundaryId(`boundary:${encodeURIComponent(previousBlockId)}:${encodeURIComponent(nextBlockId)}`);
|
|
15060
15139
|
}
|
|
@@ -15257,16 +15336,18 @@ const themeV2RuntimeStyleFieldNames = [
|
|
|
15257
15336
|
"_frameStyles",
|
|
15258
15337
|
"_sectionStyles",
|
|
15259
15338
|
"_containerStyles",
|
|
15260
|
-
"_cardStyles"
|
|
15261
|
-
"_transitionStyles",
|
|
15262
|
-
"styleGroup"
|
|
15339
|
+
"_cardStyles"
|
|
15263
15340
|
];
|
|
15264
15341
|
const themeV2BlockSpecificRawStyleFieldNames = [
|
|
15265
15342
|
"_contentCardStyles",
|
|
15266
15343
|
"_heroLayoutStyles",
|
|
15267
15344
|
"_textCardStyles"
|
|
15268
15345
|
];
|
|
15269
|
-
const themeV2NormalEditorRawStyleFieldNames = [
|
|
15346
|
+
const themeV2NormalEditorRawStyleFieldNames = [
|
|
15347
|
+
...themeV2RuntimeStyleFieldNames,
|
|
15348
|
+
...themeV2BlockSpecificRawStyleFieldNames,
|
|
15349
|
+
"styleGroup"
|
|
15350
|
+
];
|
|
15270
15351
|
new Set(themeV2NormalEditorRawStyleFieldNames);
|
|
15271
15352
|
[...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
|
|
15272
15353
|
const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
@@ -16547,7 +16628,8 @@ const siteOptionSources = [
|
|
|
16547
16628
|
"eventCategories",
|
|
16548
16629
|
"eventSeries",
|
|
16549
16630
|
"venues",
|
|
16550
|
-
"staffMembers"
|
|
16631
|
+
"staffMembers",
|
|
16632
|
+
"appointmentServiceCategories"
|
|
16551
16633
|
];
|
|
16552
16634
|
const mediaDeliverySchema = z.object({
|
|
16553
16635
|
sizes: z.string().optional(),
|
|
@@ -19922,11 +20004,260 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
19922
20004
|
*/
|
|
19923
20005
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
19924
20006
|
//#endregion
|
|
19925
|
-
//#region ../theme-core/src/site-styles/
|
|
19926
|
-
|
|
19927
|
-
|
|
19928
|
-
|
|
19929
|
-
|
|
20007
|
+
//#region ../theme-core/src/site-styles/transitionCatalogue.ts
|
|
20008
|
+
/**
|
|
20009
|
+
* Family order for pickers. Entries below are listed family by family in this
|
|
20010
|
+
* same order, so the flat option list and the grouped families agree.
|
|
20011
|
+
*/
|
|
20012
|
+
const transitionCatalogueFamilies = [
|
|
20013
|
+
{
|
|
20014
|
+
id: "gradient",
|
|
20015
|
+
label: "Gradient"
|
|
20016
|
+
},
|
|
20017
|
+
{
|
|
20018
|
+
id: "wave",
|
|
20019
|
+
label: "Wave"
|
|
20020
|
+
},
|
|
20021
|
+
{
|
|
20022
|
+
id: "angle",
|
|
20023
|
+
label: "Angle"
|
|
20024
|
+
}
|
|
20025
|
+
];
|
|
20026
|
+
const mediumHeight = "6rem + 2px";
|
|
20027
|
+
const compactHeight = "4.5rem + 2px";
|
|
20028
|
+
const largeHeight = "7rem + 2px";
|
|
20029
|
+
/**
|
|
20030
|
+
* The single source of transition vocabulary. Order is significant: it is the
|
|
20031
|
+
* order of `boundaryOptions` (after `none`) and of each family's variants,
|
|
20032
|
+
* which persisted pins, page-flow presets and the editor picker all rely on.
|
|
20033
|
+
*
|
|
20034
|
+
* Shapes match what `generateLayoutCss` draws today. Structured
|
|
20035
|
+
* amplitude/frequency treatments (issue 826) extend this list later.
|
|
20036
|
+
*/
|
|
20037
|
+
const transitionCatalogueEntries = defineExactCatalog()([
|
|
20038
|
+
{
|
|
20039
|
+
intent: "soft-fade-short",
|
|
20040
|
+
optionId: asBoundaryOptionId("break:soft"),
|
|
20041
|
+
family: "gradient",
|
|
20042
|
+
variantId: "soft",
|
|
20043
|
+
label: "Soft",
|
|
20044
|
+
variantLabel: "Soft",
|
|
20045
|
+
treatment: {
|
|
20046
|
+
kind: "soft-fade",
|
|
20047
|
+
height: "medium",
|
|
20048
|
+
curve: "soft"
|
|
20049
|
+
},
|
|
20050
|
+
size: "medium",
|
|
20051
|
+
heightExpression: mediumHeight,
|
|
20052
|
+
shape: { kind: "fade" }
|
|
20053
|
+
},
|
|
20054
|
+
{
|
|
20055
|
+
intent: "soft-fade-long",
|
|
20056
|
+
optionId: asBoundaryOptionId("break:spacious"),
|
|
20057
|
+
family: "gradient",
|
|
20058
|
+
variantId: "spacious",
|
|
20059
|
+
label: "Spacious",
|
|
20060
|
+
variantLabel: "Spacious",
|
|
20061
|
+
treatment: {
|
|
20062
|
+
kind: "soft-fade",
|
|
20063
|
+
height: "large",
|
|
20064
|
+
curve: "spacious"
|
|
20065
|
+
},
|
|
20066
|
+
size: "spacious",
|
|
20067
|
+
heightExpression: "10rem",
|
|
20068
|
+
shape: { kind: "fade" }
|
|
20069
|
+
},
|
|
20070
|
+
{
|
|
20071
|
+
intent: "soft-fade-expansive",
|
|
20072
|
+
optionId: asBoundaryOptionId("break:expansive"),
|
|
20073
|
+
family: "gradient",
|
|
20074
|
+
variantId: "expansive",
|
|
20075
|
+
label: "Expansive",
|
|
20076
|
+
variantLabel: "Expansive",
|
|
20077
|
+
treatment: {
|
|
20078
|
+
kind: "soft-fade",
|
|
20079
|
+
height: "expansive",
|
|
20080
|
+
curve: "expansive"
|
|
20081
|
+
},
|
|
20082
|
+
size: "expansive",
|
|
20083
|
+
heightExpression: "14rem",
|
|
20084
|
+
shape: { kind: "fade" }
|
|
20085
|
+
},
|
|
20086
|
+
{
|
|
20087
|
+
intent: "wave-edge-balanced",
|
|
20088
|
+
optionId: asBoundaryOptionId("break:wave-balanced"),
|
|
20089
|
+
family: "wave",
|
|
20090
|
+
variantId: "balanced",
|
|
20091
|
+
label: "Balanced wave",
|
|
20092
|
+
variantLabel: "Balanced",
|
|
20093
|
+
treatment: {
|
|
20094
|
+
kind: "wave-edge",
|
|
20095
|
+
height: "medium",
|
|
20096
|
+
amplitude: "balanced",
|
|
20097
|
+
rhythm: "double",
|
|
20098
|
+
symmetry: "symmetrical"
|
|
20099
|
+
},
|
|
20100
|
+
size: "medium",
|
|
20101
|
+
heightExpression: mediumHeight,
|
|
20102
|
+
shape: {
|
|
20103
|
+
kind: "wave",
|
|
20104
|
+
mask: "balanced"
|
|
20105
|
+
}
|
|
20106
|
+
},
|
|
20107
|
+
{
|
|
20108
|
+
intent: "wave-edge",
|
|
20109
|
+
optionId: asBoundaryOptionId("break:wave"),
|
|
20110
|
+
family: "wave",
|
|
20111
|
+
variantId: "classic",
|
|
20112
|
+
label: "Classic wave",
|
|
20113
|
+
variantLabel: "Classic",
|
|
20114
|
+
treatment: {
|
|
20115
|
+
kind: "wave-edge",
|
|
20116
|
+
height: "medium",
|
|
20117
|
+
amplitude: "balanced",
|
|
20118
|
+
rhythm: "double",
|
|
20119
|
+
symmetry: "asymmetrical"
|
|
20120
|
+
},
|
|
20121
|
+
size: "medium",
|
|
20122
|
+
heightExpression: mediumHeight,
|
|
20123
|
+
shape: {
|
|
20124
|
+
kind: "wave",
|
|
20125
|
+
mask: "classic"
|
|
20126
|
+
}
|
|
20127
|
+
},
|
|
20128
|
+
{
|
|
20129
|
+
intent: "wave-edge-gentle",
|
|
20130
|
+
optionId: asBoundaryOptionId("break:wave-gentle"),
|
|
20131
|
+
family: "wave",
|
|
20132
|
+
variantId: "gentle",
|
|
20133
|
+
label: "Gentle wave",
|
|
20134
|
+
variantLabel: "Gentle",
|
|
20135
|
+
treatment: {
|
|
20136
|
+
kind: "wave-edge",
|
|
20137
|
+
height: "compact",
|
|
20138
|
+
amplitude: "subtle",
|
|
20139
|
+
rhythm: "single",
|
|
20140
|
+
symmetry: "symmetrical"
|
|
20141
|
+
},
|
|
20142
|
+
size: "compact",
|
|
20143
|
+
heightExpression: compactHeight,
|
|
20144
|
+
shape: {
|
|
20145
|
+
kind: "wave",
|
|
20146
|
+
mask: "gentle"
|
|
20147
|
+
}
|
|
20148
|
+
},
|
|
20149
|
+
{
|
|
20150
|
+
intent: "wave-edge-bold",
|
|
20151
|
+
optionId: asBoundaryOptionId("break:wave-bold"),
|
|
20152
|
+
family: "wave",
|
|
20153
|
+
variantId: "bold",
|
|
20154
|
+
label: "Bold wave",
|
|
20155
|
+
variantLabel: "Bold",
|
|
20156
|
+
treatment: {
|
|
20157
|
+
kind: "wave-edge",
|
|
20158
|
+
height: "large",
|
|
20159
|
+
amplitude: "bold",
|
|
20160
|
+
rhythm: "double",
|
|
20161
|
+
symmetry: "symmetrical"
|
|
20162
|
+
},
|
|
20163
|
+
size: "large",
|
|
20164
|
+
heightExpression: largeHeight,
|
|
20165
|
+
shape: {
|
|
20166
|
+
kind: "wave",
|
|
20167
|
+
mask: "bold"
|
|
20168
|
+
}
|
|
20169
|
+
},
|
|
20170
|
+
{
|
|
20171
|
+
intent: "wave-edge-drift",
|
|
20172
|
+
optionId: asBoundaryOptionId("break:wave-drift"),
|
|
20173
|
+
family: "wave",
|
|
20174
|
+
variantId: "drift",
|
|
20175
|
+
label: "Drift wave",
|
|
20176
|
+
variantLabel: "Drift",
|
|
20177
|
+
treatment: {
|
|
20178
|
+
kind: "wave-edge",
|
|
20179
|
+
height: "medium",
|
|
20180
|
+
amplitude: "balanced",
|
|
20181
|
+
rhythm: "double",
|
|
20182
|
+
symmetry: "drift"
|
|
20183
|
+
},
|
|
20184
|
+
size: "medium",
|
|
20185
|
+
heightExpression: mediumHeight,
|
|
20186
|
+
shape: {
|
|
20187
|
+
kind: "wave",
|
|
20188
|
+
mask: "drift"
|
|
20189
|
+
}
|
|
20190
|
+
},
|
|
20191
|
+
{
|
|
20192
|
+
intent: "angle-edge-subtle",
|
|
20193
|
+
optionId: asBoundaryOptionId("break:angle-subtle"),
|
|
20194
|
+
family: "angle",
|
|
20195
|
+
variantId: "subtle",
|
|
20196
|
+
label: "Subtle angle",
|
|
20197
|
+
variantLabel: "Subtle",
|
|
20198
|
+
treatment: {
|
|
20199
|
+
kind: "angle-edge",
|
|
20200
|
+
height: "compact",
|
|
20201
|
+
slope: "subtle",
|
|
20202
|
+
direction: "forward"
|
|
20203
|
+
},
|
|
20204
|
+
size: "compact",
|
|
20205
|
+
heightExpression: compactHeight,
|
|
20206
|
+
shape: {
|
|
20207
|
+
kind: "angle",
|
|
20208
|
+
polygon: {
|
|
20209
|
+
startTopPercent: 34,
|
|
20210
|
+
endTopPercent: 18
|
|
20211
|
+
}
|
|
20212
|
+
}
|
|
20213
|
+
},
|
|
20214
|
+
{
|
|
20215
|
+
intent: "angle-edge",
|
|
20216
|
+
optionId: asBoundaryOptionId("break:angle-balanced"),
|
|
20217
|
+
family: "angle",
|
|
20218
|
+
variantId: "balanced",
|
|
20219
|
+
label: "Balanced angle",
|
|
20220
|
+
variantLabel: "Balanced",
|
|
20221
|
+
treatment: {
|
|
20222
|
+
kind: "angle-edge",
|
|
20223
|
+
height: "medium",
|
|
20224
|
+
slope: "balanced",
|
|
20225
|
+
direction: "forward"
|
|
20226
|
+
},
|
|
20227
|
+
size: "medium",
|
|
20228
|
+
heightExpression: mediumHeight,
|
|
20229
|
+
shape: {
|
|
20230
|
+
kind: "angle",
|
|
20231
|
+
polygon: {
|
|
20232
|
+
startTopPercent: 42,
|
|
20233
|
+
endTopPercent: 8
|
|
20234
|
+
}
|
|
20235
|
+
}
|
|
20236
|
+
},
|
|
20237
|
+
{
|
|
20238
|
+
intent: "angle-edge-steep",
|
|
20239
|
+
optionId: asBoundaryOptionId("break:angle-steep"),
|
|
20240
|
+
family: "angle",
|
|
20241
|
+
variantId: "steep",
|
|
20242
|
+
label: "Steep angle",
|
|
20243
|
+
variantLabel: "Steep",
|
|
20244
|
+
treatment: {
|
|
20245
|
+
kind: "angle-edge",
|
|
20246
|
+
height: "large",
|
|
20247
|
+
slope: "steep",
|
|
20248
|
+
direction: "forward"
|
|
20249
|
+
},
|
|
20250
|
+
size: "large",
|
|
20251
|
+
heightExpression: largeHeight,
|
|
20252
|
+
shape: {
|
|
20253
|
+
kind: "angle",
|
|
20254
|
+
polygon: {
|
|
20255
|
+
startTopPercent: 54,
|
|
20256
|
+
endTopPercent: 0
|
|
20257
|
+
}
|
|
20258
|
+
}
|
|
20259
|
+
}
|
|
20260
|
+
]);
|
|
19930
20261
|
//#endregion
|
|
19931
20262
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
19932
20263
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
@@ -19937,42 +20268,106 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
|
19937
20268
|
reserveCss: `calc((${heightExpression}) / 2)`
|
|
19938
20269
|
};
|
|
19939
20270
|
}
|
|
19940
|
-
|
|
20271
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, entry]));
|
|
20272
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, boundaryRuntimeMetrics(entry.family, entry.size, entry.heightExpression)]));
|
|
20273
|
+
/**
|
|
20274
|
+
* The catalogue's compile-time coverage check guarantees an entry per
|
|
20275
|
+
* decorative intent, so a miss here is a broken invariant, not bad input.
|
|
20276
|
+
*/
|
|
20277
|
+
function requireCatalogueValue(values, intent) {
|
|
20278
|
+
const value = values.get(intent);
|
|
20279
|
+
if (value === void 0) throw new Error(`Transition catalogue has no entry for ${intent}`);
|
|
20280
|
+
return value;
|
|
20281
|
+
}
|
|
19941
20282
|
const noneBoundaryOption = {
|
|
19942
20283
|
id: asBoundaryOptionId("break:none"),
|
|
19943
20284
|
label: "None",
|
|
19944
20285
|
transitionAfter: "none",
|
|
19945
20286
|
treatment: { kind: "none" }
|
|
19946
20287
|
};
|
|
19947
|
-
const
|
|
19948
|
-
id:
|
|
19949
|
-
label:
|
|
19950
|
-
transitionAfter:
|
|
19951
|
-
treatment:
|
|
19952
|
-
|
|
19953
|
-
|
|
19954
|
-
|
|
19955
|
-
|
|
20288
|
+
const boundaryOptionByIntent = new Map(transitionCatalogueEntries.map((entry) => [entry.intent, {
|
|
20289
|
+
id: entry.optionId,
|
|
20290
|
+
label: entry.label,
|
|
20291
|
+
transitionAfter: entry.intent,
|
|
20292
|
+
treatment: entry.treatment
|
|
20293
|
+
}]));
|
|
20294
|
+
function boundaryOptionForTransitionIntent(intent) {
|
|
20295
|
+
return requireCatalogueValue(boundaryOptionByIntent, intent);
|
|
20296
|
+
}
|
|
20297
|
+
const softBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-short");
|
|
20298
|
+
const spaciousBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-long");
|
|
20299
|
+
boundaryOptionForTransitionIntent("soft-fade-expansive");
|
|
20300
|
+
boundaryOptionForTransitionIntent("wave-edge");
|
|
20301
|
+
boundaryOptionForTransitionIntent("wave-edge-balanced");
|
|
20302
|
+
boundaryOptionForTransitionIntent("wave-edge-gentle");
|
|
20303
|
+
boundaryOptionForTransitionIntent("wave-edge-bold");
|
|
20304
|
+
boundaryOptionForTransitionIntent("wave-edge-drift");
|
|
20305
|
+
boundaryOptionForTransitionIntent("angle-edge-subtle");
|
|
20306
|
+
boundaryOptionForTransitionIntent("angle-edge");
|
|
20307
|
+
boundaryOptionForTransitionIntent("angle-edge-steep");
|
|
20308
|
+
/**
|
|
20309
|
+
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
20310
|
+
*/
|
|
20311
|
+
const boundaryOptions = [noneBoundaryOption, ...transitionCatalogueEntries.map((entry) => boundaryOptionForTransitionIntent(entry.intent))];
|
|
20312
|
+
const noneTransitionVariant = {
|
|
20313
|
+
familyId: "none",
|
|
20314
|
+
variantId: "none",
|
|
20315
|
+
label: "None",
|
|
20316
|
+
boundaryOption: noneBoundaryOption
|
|
19956
20317
|
};
|
|
19957
|
-
|
|
19958
|
-
|
|
19959
|
-
|
|
19960
|
-
|
|
19961
|
-
|
|
19962
|
-
|
|
19963
|
-
|
|
19964
|
-
|
|
19965
|
-
|
|
20318
|
+
function transitionVariantForEntry(entry) {
|
|
20319
|
+
return {
|
|
20320
|
+
familyId: entry.family,
|
|
20321
|
+
variantId: entry.variantId,
|
|
20322
|
+
label: entry.variantLabel,
|
|
20323
|
+
boundaryOption: boundaryOptionForTransitionIntent(entry.intent)
|
|
20324
|
+
};
|
|
20325
|
+
}
|
|
20326
|
+
const sectionTransitionFamilies = [{
|
|
20327
|
+
id: "none",
|
|
20328
|
+
label: "None",
|
|
20329
|
+
variants: [noneTransitionVariant]
|
|
20330
|
+
}, ...transitionCatalogueFamilies.map((family) => ({
|
|
20331
|
+
id: family.id,
|
|
20332
|
+
label: family.label,
|
|
20333
|
+
variants: requireNonEmptyReadonlyArray(transitionCatalogueEntries.filter((entry) => entry.family === family.id).map(transitionVariantForEntry), `Transition family ${family.id} has no catalogue entries.`)
|
|
20334
|
+
}))];
|
|
20335
|
+
new Map(boundaryOptions.map((option) => [option.id, option]));
|
|
20336
|
+
new Map(boundaryOptions.map((option) => [stableTreatmentKey(option.treatment), option]));
|
|
20337
|
+
new Map(sectionTransitionFamilies.flatMap((family) => family.variants.map((variant) => [variant.boundaryOption.id, variant])));
|
|
20338
|
+
new Map(sectionTransitionFamilies.map((family) => [family.id, family]));
|
|
20339
|
+
function stableTreatmentKey(treatment) {
|
|
20340
|
+
switch (treatment.kind) {
|
|
20341
|
+
case "none": return "none";
|
|
20342
|
+
case "soft-fade": return `${treatment.kind}:${treatment.height}:${treatment.curve}`;
|
|
20343
|
+
case "wave-edge": return [
|
|
20344
|
+
treatment.kind,
|
|
20345
|
+
treatment.height,
|
|
20346
|
+
treatment.amplitude,
|
|
20347
|
+
treatment.rhythm,
|
|
20348
|
+
treatment.symmetry
|
|
20349
|
+
].join(":");
|
|
20350
|
+
case "angle-edge": return [
|
|
20351
|
+
treatment.kind,
|
|
20352
|
+
treatment.height,
|
|
20353
|
+
treatment.slope,
|
|
20354
|
+
treatment.direction
|
|
20355
|
+
].join(":");
|
|
20356
|
+
case "legacy-unsupported": return `${treatment.kind}:${treatment.boundaryOptionId}`;
|
|
20357
|
+
}
|
|
20358
|
+
}
|
|
20359
|
+
requireThemeColorToken$1("background");
|
|
20360
|
+
function requireThemeColorToken$1(value) {
|
|
20361
|
+
const token = parseThemeColorToken(value);
|
|
20362
|
+
if (!token) throw new Error(`Expected a theme color token. Received: ${value}`);
|
|
20363
|
+
return token;
|
|
20364
|
+
}
|
|
20365
|
+
//#endregion
|
|
20366
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
20367
|
+
const defaultHeaderBrandPreferences = {
|
|
20368
|
+
brandDisplay: "auto",
|
|
20369
|
+
logoSize: "auto"
|
|
19966
20370
|
};
|
|
19967
|
-
asBoundaryOptionId("break:expansive");
|
|
19968
|
-
asBoundaryOptionId("break:wave");
|
|
19969
|
-
asBoundaryOptionId("break:wave-balanced");
|
|
19970
|
-
asBoundaryOptionId("break:wave-gentle");
|
|
19971
|
-
asBoundaryOptionId("break:wave-bold");
|
|
19972
|
-
asBoundaryOptionId("break:wave-drift");
|
|
19973
|
-
asBoundaryOptionId("break:angle-subtle");
|
|
19974
|
-
asBoundaryOptionId("break:angle-balanced");
|
|
19975
|
-
asBoundaryOptionId("break:angle-steep");
|
|
19976
20371
|
asBoundaryOptionId("break:unknown");
|
|
19977
20372
|
const pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
19978
20373
|
kind: z.literal("user-pinned"),
|
|
@@ -20099,14 +20494,11 @@ function validateUniquePageDesignPins(intent, ctx) {
|
|
|
20099
20494
|
label: "block Look pin"
|
|
20100
20495
|
});
|
|
20101
20496
|
addDuplicateStringIssues(ctx, {
|
|
20102
|
-
values: intent.boundaryPins.map((pin) =>
|
|
20497
|
+
values: intent.boundaryPins.map((pin) => makeBoundaryId(pin.previousBlockId, pin.nextBlockId)),
|
|
20103
20498
|
path: ["boundaryPins"],
|
|
20104
20499
|
label: "boundary pin"
|
|
20105
20500
|
});
|
|
20106
20501
|
}
|
|
20107
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
20108
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
20109
|
-
}
|
|
20110
20502
|
//#endregion
|
|
20111
20503
|
//#region ../theme-core/src/site-styles/styleTags.ts
|
|
20112
20504
|
/**
|
|
@@ -23062,6 +23454,13 @@ z.object({
|
|
|
23062
23454
|
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
23063
23455
|
authority: styleAuthoritySchema
|
|
23064
23456
|
}).strict();
|
|
23457
|
+
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
23458
|
+
asPageFlowPresetId("generated-default");
|
|
23459
|
+
asSiteStyleId("site-style:south-west-twerk-school");
|
|
23460
|
+
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
23461
|
+
asLayoutVariantKey("classic");
|
|
23462
|
+
asLayoutVariantKey("micro");
|
|
23463
|
+
asBoundaryOptionId("break:wave");
|
|
23065
23464
|
//#endregion
|
|
23066
23465
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
23067
23466
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
@@ -23085,7 +23484,7 @@ function defineComponentRuntimeRules(rules) {
|
|
|
23085
23484
|
}
|
|
23086
23485
|
/**
|
|
23087
23486
|
* Default design rules translate semantic page-level choices into the current
|
|
23088
|
-
* runtime's section background
|
|
23487
|
+
* runtime's section background vocabulary.
|
|
23089
23488
|
*/
|
|
23090
23489
|
const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
23091
23490
|
sectionSurfaces: {
|
|
@@ -23120,8 +23519,7 @@ const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
23120
23519
|
color: "surface",
|
|
23121
23520
|
opacity: .88
|
|
23122
23521
|
}
|
|
23123
|
-
}
|
|
23124
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
23522
|
+
}
|
|
23125
23523
|
});
|
|
23126
23524
|
/**
|
|
23127
23525
|
* Default component rules translate frame and item-surface semantics into the
|
|
@@ -24856,19 +25254,11 @@ const curatedSiteStyles = [
|
|
|
24856
25254
|
})
|
|
24857
25255
|
];
|
|
24858
25256
|
new Map(curatedSiteStyles.map((style) => [style.id, style]));
|
|
24859
|
-
asPageFlowPresetId("generated-default");
|
|
24860
|
-
asSiteStyleId("site-style:south-west-twerk-school");
|
|
24861
|
-
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
24862
|
-
asLayoutVariantKey("classic");
|
|
24863
|
-
asLayoutVariantKey("micro");
|
|
24864
|
-
asBoundaryOptionId("break:wave");
|
|
24865
|
-
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
24866
25257
|
//#endregion
|
|
24867
25258
|
//#region ../theme-core/src/site-styles/resolver.ts
|
|
24868
25259
|
const blockDesignFallback = {
|
|
24869
25260
|
sectionSurface: "base",
|
|
24870
25261
|
contentFrame: plainFrame,
|
|
24871
|
-
transitionAfter: "none",
|
|
24872
25262
|
sectionHeight: "default",
|
|
24873
25263
|
heroLegibility: "none",
|
|
24874
25264
|
imageSurfaceTreatment: { kind: "none" },
|
|
@@ -24879,7 +25269,7 @@ const blockDesignFallback = {
|
|
|
24879
25269
|
accordionIconTreatment: null,
|
|
24880
25270
|
composition: null
|
|
24881
25271
|
};
|
|
24882
|
-
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.
|
|
25272
|
+
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
24883
25273
|
//#endregion
|
|
24884
25274
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
24885
25275
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
@@ -35471,6 +35861,15 @@ const appointmentServicesBlockDefinition = {
|
|
|
35471
35861
|
required: false,
|
|
35472
35862
|
ui: { intent: "content" }
|
|
35473
35863
|
},
|
|
35864
|
+
createSiteOptionSelectField({
|
|
35865
|
+
id: "categoryId",
|
|
35866
|
+
label: "Category",
|
|
35867
|
+
description: "Show one category (with its heading and intro), or leave it on All categories to show everything grouped.",
|
|
35868
|
+
required: false,
|
|
35869
|
+
multiple: false,
|
|
35870
|
+
optionSource: "appointmentServiceCategories",
|
|
35871
|
+
ui: { intent: "content" }
|
|
35872
|
+
}),
|
|
35474
35873
|
sectionStylesField({
|
|
35475
35874
|
id: "_sectionStyles",
|
|
35476
35875
|
label: "Section styles",
|
|
@@ -35505,6 +35904,7 @@ const appointmentServicesBlockDefinition = {
|
|
|
35505
35904
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
35506
35905
|
el("appointment-services", {
|
|
35507
35906
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
35907
|
+
categoryId: { $bind: { from: "content.categoryId" } },
|
|
35508
35908
|
services: { $bind: { from: "data.services" } },
|
|
35509
35909
|
pathname: { $bind: { from: "$root.pathname" } },
|
|
35510
35910
|
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
@@ -46575,6 +46975,17 @@ function coerceToString(value) {
|
|
|
46575
46975
|
return "";
|
|
46576
46976
|
}
|
|
46577
46977
|
/**
|
|
46978
|
+
* The appointment-services catalogue (issue 1403) pairs the services with the
|
|
46979
|
+
* site's ordered categories. Both are needed to group them, so that response
|
|
46980
|
+
* is passed through whole; any other `{ services }` wrapper is unwrapped.
|
|
46981
|
+
*/
|
|
46982
|
+
function coerceServicesPayload(record) {
|
|
46983
|
+
return Array.isArray(record.services) && Array.isArray(record.categories) ? {
|
|
46984
|
+
services: record.services,
|
|
46985
|
+
categories: record.categories
|
|
46986
|
+
} : record.services;
|
|
46987
|
+
}
|
|
46988
|
+
/**
|
|
46578
46989
|
* Extract data from API response.
|
|
46579
46990
|
* Unwraps common response wrappers: { data }, { form }, { entries }, { services }, { teamMembers }
|
|
46580
46991
|
*
|
|
@@ -46589,7 +47000,7 @@ function coercePayload(payload) {
|
|
|
46589
47000
|
if ("data" in record && typeof record.data !== "function") return record.data;
|
|
46590
47001
|
if ("form" in record && typeof record.form !== "function") return record.form;
|
|
46591
47002
|
if ("entries" in record && typeof record.entries !== "function") return record.entries;
|
|
46592
|
-
if ("services" in record && typeof record.services !== "function") return record
|
|
47003
|
+
if ("services" in record && typeof record.services !== "function") return coerceServicesPayload(record);
|
|
46593
47004
|
if ("teamMembers" in record && typeof record.teamMembers !== "function") return record.teamMembers;
|
|
46594
47005
|
}
|
|
46595
47006
|
return payload;
|
|
@@ -48123,7 +48534,7 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
48123
48534
|
const result = await reader({
|
|
48124
48535
|
cacheKey: plan.cacheKey,
|
|
48125
48536
|
endpoint: plan.endpoint,
|
|
48126
|
-
payloadSchemaVersion:
|
|
48537
|
+
payloadSchemaVersion: 2
|
|
48127
48538
|
});
|
|
48128
48539
|
if (result.kind === "miss") return {
|
|
48129
48540
|
kind: "miss",
|
|
@@ -48172,7 +48583,7 @@ function createRiverbankClientWithDeps(deps, config) {
|
|
|
48172
48583
|
siteId: plan.siteId ?? getRuntimePayloadSiteId(payload),
|
|
48173
48584
|
freshTtlSec: plan.freshTtlSec,
|
|
48174
48585
|
staleTtlSec: plan.staleTtlSec,
|
|
48175
|
-
payloadSchemaVersion:
|
|
48586
|
+
payloadSchemaVersion: 2,
|
|
48176
48587
|
writeReason: "live_success"
|
|
48177
48588
|
});
|
|
48178
48589
|
} catch {}
|
|
@@ -49927,7 +50338,12 @@ const appointmentSetupServiceDraftSchema = z.object({
|
|
|
49927
50338
|
venue: appointmentSetupVenueChoiceSchema,
|
|
49928
50339
|
timezone: z.string().trim().min(1).nullable(),
|
|
49929
50340
|
payment: appointmentSetupPaymentDraftSchema,
|
|
49930
|
-
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
50341
|
+
assignment: appointmentSetupServiceAssignmentDraftSchema,
|
|
50342
|
+
/**
|
|
50343
|
+
* The service's category, or null for "Other" (issue 1403). Omitted leaves
|
|
50344
|
+
* an existing service's category alone and puts a new one in "Other".
|
|
50345
|
+
*/
|
|
50346
|
+
categoryId: z.string().uuid().nullable().optional()
|
|
49931
50347
|
}).superRefine((service, ctx) => {
|
|
49932
50348
|
if (service.payment.kind !== "free" && (service.priceAmount === null || service.priceAmount <= 0)) ctx.addIssue({
|
|
49933
50349
|
code: "custom",
|
|
@@ -50913,7 +51329,7 @@ async function loadPageWithDeps(deps, params) {
|
|
|
50913
51329
|
});
|
|
50914
51330
|
return {
|
|
50915
51331
|
page: pageOutline,
|
|
50916
|
-
|
|
51332
|
+
runtimeJoins: pageData.runtimeJoins,
|
|
50917
51333
|
theme: requireSdkTheme(support.theme, siteId),
|
|
50918
51334
|
sdkConfig: support.sdkConfig,
|
|
50919
51335
|
siteId,
|
|
@@ -51696,7 +52112,7 @@ async function loadContentFromContentResponseWithDeps(deps, params) {
|
|
|
51696
52112
|
ogImageId: pageRecord.ogImageId ?? null
|
|
51697
52113
|
},
|
|
51698
52114
|
page: pageOutline,
|
|
51699
|
-
|
|
52115
|
+
runtimeJoins: pageData.runtimeJoins,
|
|
51700
52116
|
theme: support.theme,
|
|
51701
52117
|
siteId,
|
|
51702
52118
|
...support.customBlocks ? { customBlocks: support.customBlocks } : {},
|