@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/config.mjs
CHANGED
|
@@ -54,6 +54,75 @@ const footerModeSchema = z.enum([
|
|
|
54
54
|
"none"
|
|
55
55
|
]);
|
|
56
56
|
//#endregion
|
|
57
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
58
|
+
/**
|
|
59
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
60
|
+
* method, and parameter contract for the typed URL builders.
|
|
61
|
+
*/
|
|
62
|
+
function defineEndpointDefinitions(definitions) {
|
|
63
|
+
return definitions;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
67
|
+
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
68
|
+
subscribeNewsletter: {
|
|
69
|
+
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
70
|
+
method: "POST",
|
|
71
|
+
tags: ["public-newsletter-{siteId}"],
|
|
72
|
+
auth: "public",
|
|
73
|
+
responseKind: "json"
|
|
74
|
+
},
|
|
75
|
+
confirmNewsletter: {
|
|
76
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
77
|
+
method: "GET",
|
|
78
|
+
tags: ["public-newsletter-{siteId}"],
|
|
79
|
+
auth: "public",
|
|
80
|
+
responseKind: "text"
|
|
81
|
+
},
|
|
82
|
+
unsubscribeNewsletter: {
|
|
83
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
84
|
+
method: "GET",
|
|
85
|
+
tags: ["public-newsletter-{siteId}"],
|
|
86
|
+
auth: "public",
|
|
87
|
+
responseKind: "text"
|
|
88
|
+
},
|
|
89
|
+
unsubscribeNewsletterPost: {
|
|
90
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
91
|
+
method: "POST",
|
|
92
|
+
tags: ["public-newsletter-{siteId}"],
|
|
93
|
+
auth: "public",
|
|
94
|
+
responseKind: "text"
|
|
95
|
+
},
|
|
96
|
+
confirmNewsletterPost: {
|
|
97
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
98
|
+
method: "POST",
|
|
99
|
+
tags: ["public-newsletter-{siteId}"],
|
|
100
|
+
auth: "public",
|
|
101
|
+
responseKind: "text"
|
|
102
|
+
},
|
|
103
|
+
getNewsletterPreferences: {
|
|
104
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
105
|
+
method: "GET",
|
|
106
|
+
tags: ["public-newsletter-{siteId}"],
|
|
107
|
+
auth: "public",
|
|
108
|
+
responseKind: "text"
|
|
109
|
+
},
|
|
110
|
+
saveNewsletterPreferences: {
|
|
111
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
112
|
+
method: "POST",
|
|
113
|
+
tags: ["public-newsletter-{siteId}"],
|
|
114
|
+
auth: "public",
|
|
115
|
+
responseKind: "text"
|
|
116
|
+
},
|
|
117
|
+
getNewsletterArchive: {
|
|
118
|
+
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
119
|
+
method: "GET",
|
|
120
|
+
tags: ["public-newsletter-{siteId}"],
|
|
121
|
+
auth: "public",
|
|
122
|
+
responseKind: "text"
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
//#endregion
|
|
57
126
|
//#region ../api/src/apiEndpointTypes.ts
|
|
58
127
|
function allowedDemoMutationPolicy() {
|
|
59
128
|
return {
|
|
@@ -145,17 +214,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
|
|
|
145
214
|
}
|
|
146
215
|
};
|
|
147
216
|
//#endregion
|
|
148
|
-
//#region ../api/src/defineEndpointDefinitions.ts
|
|
149
|
-
/**
|
|
150
|
-
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
151
|
-
* method, and parameter contract for the typed URL builders.
|
|
152
|
-
*/
|
|
153
|
-
function defineEndpointDefinitions(definitions) {
|
|
154
|
-
return definitions;
|
|
155
|
-
}
|
|
156
|
-
//#endregion
|
|
157
217
|
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
158
218
|
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
219
|
+
...defineEndpointDefinitions({
|
|
220
|
+
listGroupedAppointmentServices: {
|
|
221
|
+
path: "/sites/{siteId}/bookings/services/grouped",
|
|
222
|
+
method: "GET",
|
|
223
|
+
auth: "user",
|
|
224
|
+
responseKind: "json",
|
|
225
|
+
errors: ["server:internal_error"]
|
|
226
|
+
},
|
|
227
|
+
reorderAppointmentServices: {
|
|
228
|
+
path: "/sites/{siteId}/bookings/services/order",
|
|
229
|
+
method: "PUT",
|
|
230
|
+
auth: "user",
|
|
231
|
+
responseKind: "json",
|
|
232
|
+
errors: [
|
|
233
|
+
"validation:invalid_input",
|
|
234
|
+
"auth:forbidden",
|
|
235
|
+
"resource:not_found",
|
|
236
|
+
"resource:conflict",
|
|
237
|
+
"server:internal_error"
|
|
238
|
+
]
|
|
239
|
+
},
|
|
240
|
+
listAppointmentServiceCategories: {
|
|
241
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
242
|
+
method: "GET",
|
|
243
|
+
auth: "user",
|
|
244
|
+
responseKind: "json",
|
|
245
|
+
errors: ["server:internal_error"]
|
|
246
|
+
},
|
|
247
|
+
createAppointmentServiceCategory: {
|
|
248
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
249
|
+
method: "POST",
|
|
250
|
+
auth: "user",
|
|
251
|
+
responseKind: "json",
|
|
252
|
+
errors: [
|
|
253
|
+
"validation:invalid_input",
|
|
254
|
+
"auth:forbidden",
|
|
255
|
+
"resource:conflict",
|
|
256
|
+
"server:internal_error"
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
updateAppointmentServiceCategory: {
|
|
260
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
261
|
+
method: "PUT",
|
|
262
|
+
auth: "user",
|
|
263
|
+
responseKind: "json",
|
|
264
|
+
errors: [
|
|
265
|
+
"validation:invalid_input",
|
|
266
|
+
"auth:forbidden",
|
|
267
|
+
"resource:not_found",
|
|
268
|
+
"resource:conflict",
|
|
269
|
+
"server:internal_error"
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
deleteAppointmentServiceCategory: {
|
|
273
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
274
|
+
method: "DELETE",
|
|
275
|
+
auth: "user",
|
|
276
|
+
responseKind: "json",
|
|
277
|
+
errors: [
|
|
278
|
+
"auth:forbidden",
|
|
279
|
+
"resource:not_found",
|
|
280
|
+
"server:internal_error"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
reorderAppointmentServiceCategories: {
|
|
284
|
+
path: "/sites/{siteId}/bookings/service-categories/order",
|
|
285
|
+
method: "PUT",
|
|
286
|
+
auth: "user",
|
|
287
|
+
responseKind: "json",
|
|
288
|
+
errors: [
|
|
289
|
+
"validation:invalid_input",
|
|
290
|
+
"auth:forbidden",
|
|
291
|
+
"resource:conflict",
|
|
292
|
+
"server:internal_error"
|
|
293
|
+
]
|
|
294
|
+
}
|
|
295
|
+
}),
|
|
159
296
|
listAppointmentResources: {
|
|
160
297
|
path: "/sites/{siteId}/bookings/resources",
|
|
161
298
|
method: "GET",
|
|
@@ -1303,39 +1440,6 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1303
1440
|
auth: "user",
|
|
1304
1441
|
responseKind: "json",
|
|
1305
1442
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1306
|
-
},
|
|
1307
|
-
listNewsletterSendJobs: {
|
|
1308
|
-
path: "/sites/{siteId}/newsletter/jobs",
|
|
1309
|
-
method: "GET",
|
|
1310
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1311
|
-
auth: "user",
|
|
1312
|
-
responseKind: "json"
|
|
1313
|
-
},
|
|
1314
|
-
retryNewsletterSendJob: {
|
|
1315
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/retry",
|
|
1316
|
-
method: "POST",
|
|
1317
|
-
errors: [
|
|
1318
|
-
"validation:invalid_input",
|
|
1319
|
-
"resource:not_found",
|
|
1320
|
-
"auth:forbidden",
|
|
1321
|
-
"server:internal_error"
|
|
1322
|
-
],
|
|
1323
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1324
|
-
auth: "user",
|
|
1325
|
-
responseKind: "json"
|
|
1326
|
-
},
|
|
1327
|
-
cancelNewsletterSendJob: {
|
|
1328
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/cancel",
|
|
1329
|
-
method: "POST",
|
|
1330
|
-
errors: [
|
|
1331
|
-
"validation:invalid_input",
|
|
1332
|
-
"resource:not_found",
|
|
1333
|
-
"auth:forbidden",
|
|
1334
|
-
"server:internal_error"
|
|
1335
|
-
],
|
|
1336
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1337
|
-
auth: "user",
|
|
1338
|
-
responseKind: "json"
|
|
1339
1443
|
}
|
|
1340
1444
|
});
|
|
1341
1445
|
//#endregion
|
|
@@ -3443,6 +3547,7 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3443
3547
|
}
|
|
3444
3548
|
});
|
|
3445
3549
|
({
|
|
3550
|
+
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3446
3551
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
3447
3552
|
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
3448
3553
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
@@ -10165,6 +10270,15 @@ function asSiteStyleId(value) {
|
|
|
10165
10270
|
function asDesignSystemTemplateId(value) {
|
|
10166
10271
|
return brandNonEmptyString(value, "DesignSystemTemplateId");
|
|
10167
10272
|
}
|
|
10273
|
+
function toNonEmptyReadonlyArray(values) {
|
|
10274
|
+
const [first, ...rest] = values;
|
|
10275
|
+
return first === void 0 ? null : [first, ...rest];
|
|
10276
|
+
}
|
|
10277
|
+
function requireNonEmptyReadonlyArray(values, message = "Expected a non-empty array.") {
|
|
10278
|
+
const result = toNonEmptyReadonlyArray(values);
|
|
10279
|
+
if (!result) throw new Error(message);
|
|
10280
|
+
return result;
|
|
10281
|
+
}
|
|
10168
10282
|
function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
10169
10283
|
return asDesignBoundaryId(`boundary:${encodeURIComponent(previousBlockId)}:${encodeURIComponent(nextBlockId)}`);
|
|
10170
10284
|
}
|
|
@@ -10367,16 +10481,18 @@ const themeV2RuntimeStyleFieldNames = [
|
|
|
10367
10481
|
"_frameStyles",
|
|
10368
10482
|
"_sectionStyles",
|
|
10369
10483
|
"_containerStyles",
|
|
10370
|
-
"_cardStyles"
|
|
10371
|
-
"_transitionStyles",
|
|
10372
|
-
"styleGroup"
|
|
10484
|
+
"_cardStyles"
|
|
10373
10485
|
];
|
|
10374
10486
|
const themeV2BlockSpecificRawStyleFieldNames = [
|
|
10375
10487
|
"_contentCardStyles",
|
|
10376
10488
|
"_heroLayoutStyles",
|
|
10377
10489
|
"_textCardStyles"
|
|
10378
10490
|
];
|
|
10379
|
-
const themeV2NormalEditorRawStyleFieldNames = [
|
|
10491
|
+
const themeV2NormalEditorRawStyleFieldNames = [
|
|
10492
|
+
...themeV2RuntimeStyleFieldNames,
|
|
10493
|
+
...themeV2BlockSpecificRawStyleFieldNames,
|
|
10494
|
+
"styleGroup"
|
|
10495
|
+
];
|
|
10380
10496
|
new Set(themeV2NormalEditorRawStyleFieldNames);
|
|
10381
10497
|
[...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
|
|
10382
10498
|
const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
@@ -12102,11 +12218,260 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
12102
12218
|
*/
|
|
12103
12219
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
12104
12220
|
//#endregion
|
|
12105
|
-
//#region ../theme-core/src/site-styles/
|
|
12106
|
-
|
|
12107
|
-
|
|
12108
|
-
|
|
12109
|
-
|
|
12221
|
+
//#region ../theme-core/src/site-styles/transitionCatalogue.ts
|
|
12222
|
+
/**
|
|
12223
|
+
* Family order for pickers. Entries below are listed family by family in this
|
|
12224
|
+
* same order, so the flat option list and the grouped families agree.
|
|
12225
|
+
*/
|
|
12226
|
+
const transitionCatalogueFamilies = [
|
|
12227
|
+
{
|
|
12228
|
+
id: "gradient",
|
|
12229
|
+
label: "Gradient"
|
|
12230
|
+
},
|
|
12231
|
+
{
|
|
12232
|
+
id: "wave",
|
|
12233
|
+
label: "Wave"
|
|
12234
|
+
},
|
|
12235
|
+
{
|
|
12236
|
+
id: "angle",
|
|
12237
|
+
label: "Angle"
|
|
12238
|
+
}
|
|
12239
|
+
];
|
|
12240
|
+
const mediumHeight = "6rem + 2px";
|
|
12241
|
+
const compactHeight = "4.5rem + 2px";
|
|
12242
|
+
const largeHeight = "7rem + 2px";
|
|
12243
|
+
/**
|
|
12244
|
+
* The single source of transition vocabulary. Order is significant: it is the
|
|
12245
|
+
* order of `boundaryOptions` (after `none`) and of each family's variants,
|
|
12246
|
+
* which persisted pins, page-flow presets and the editor picker all rely on.
|
|
12247
|
+
*
|
|
12248
|
+
* Shapes match what `generateLayoutCss` draws today. Structured
|
|
12249
|
+
* amplitude/frequency treatments (issue 826) extend this list later.
|
|
12250
|
+
*/
|
|
12251
|
+
const transitionCatalogueEntries = defineExactCatalog()([
|
|
12252
|
+
{
|
|
12253
|
+
intent: "soft-fade-short",
|
|
12254
|
+
optionId: asBoundaryOptionId("break:soft"),
|
|
12255
|
+
family: "gradient",
|
|
12256
|
+
variantId: "soft",
|
|
12257
|
+
label: "Soft",
|
|
12258
|
+
variantLabel: "Soft",
|
|
12259
|
+
treatment: {
|
|
12260
|
+
kind: "soft-fade",
|
|
12261
|
+
height: "medium",
|
|
12262
|
+
curve: "soft"
|
|
12263
|
+
},
|
|
12264
|
+
size: "medium",
|
|
12265
|
+
heightExpression: mediumHeight,
|
|
12266
|
+
shape: { kind: "fade" }
|
|
12267
|
+
},
|
|
12268
|
+
{
|
|
12269
|
+
intent: "soft-fade-long",
|
|
12270
|
+
optionId: asBoundaryOptionId("break:spacious"),
|
|
12271
|
+
family: "gradient",
|
|
12272
|
+
variantId: "spacious",
|
|
12273
|
+
label: "Spacious",
|
|
12274
|
+
variantLabel: "Spacious",
|
|
12275
|
+
treatment: {
|
|
12276
|
+
kind: "soft-fade",
|
|
12277
|
+
height: "large",
|
|
12278
|
+
curve: "spacious"
|
|
12279
|
+
},
|
|
12280
|
+
size: "spacious",
|
|
12281
|
+
heightExpression: "10rem",
|
|
12282
|
+
shape: { kind: "fade" }
|
|
12283
|
+
},
|
|
12284
|
+
{
|
|
12285
|
+
intent: "soft-fade-expansive",
|
|
12286
|
+
optionId: asBoundaryOptionId("break:expansive"),
|
|
12287
|
+
family: "gradient",
|
|
12288
|
+
variantId: "expansive",
|
|
12289
|
+
label: "Expansive",
|
|
12290
|
+
variantLabel: "Expansive",
|
|
12291
|
+
treatment: {
|
|
12292
|
+
kind: "soft-fade",
|
|
12293
|
+
height: "expansive",
|
|
12294
|
+
curve: "expansive"
|
|
12295
|
+
},
|
|
12296
|
+
size: "expansive",
|
|
12297
|
+
heightExpression: "14rem",
|
|
12298
|
+
shape: { kind: "fade" }
|
|
12299
|
+
},
|
|
12300
|
+
{
|
|
12301
|
+
intent: "wave-edge-balanced",
|
|
12302
|
+
optionId: asBoundaryOptionId("break:wave-balanced"),
|
|
12303
|
+
family: "wave",
|
|
12304
|
+
variantId: "balanced",
|
|
12305
|
+
label: "Balanced wave",
|
|
12306
|
+
variantLabel: "Balanced",
|
|
12307
|
+
treatment: {
|
|
12308
|
+
kind: "wave-edge",
|
|
12309
|
+
height: "medium",
|
|
12310
|
+
amplitude: "balanced",
|
|
12311
|
+
rhythm: "double",
|
|
12312
|
+
symmetry: "symmetrical"
|
|
12313
|
+
},
|
|
12314
|
+
size: "medium",
|
|
12315
|
+
heightExpression: mediumHeight,
|
|
12316
|
+
shape: {
|
|
12317
|
+
kind: "wave",
|
|
12318
|
+
mask: "balanced"
|
|
12319
|
+
}
|
|
12320
|
+
},
|
|
12321
|
+
{
|
|
12322
|
+
intent: "wave-edge",
|
|
12323
|
+
optionId: asBoundaryOptionId("break:wave"),
|
|
12324
|
+
family: "wave",
|
|
12325
|
+
variantId: "classic",
|
|
12326
|
+
label: "Classic wave",
|
|
12327
|
+
variantLabel: "Classic",
|
|
12328
|
+
treatment: {
|
|
12329
|
+
kind: "wave-edge",
|
|
12330
|
+
height: "medium",
|
|
12331
|
+
amplitude: "balanced",
|
|
12332
|
+
rhythm: "double",
|
|
12333
|
+
symmetry: "asymmetrical"
|
|
12334
|
+
},
|
|
12335
|
+
size: "medium",
|
|
12336
|
+
heightExpression: mediumHeight,
|
|
12337
|
+
shape: {
|
|
12338
|
+
kind: "wave",
|
|
12339
|
+
mask: "classic"
|
|
12340
|
+
}
|
|
12341
|
+
},
|
|
12342
|
+
{
|
|
12343
|
+
intent: "wave-edge-gentle",
|
|
12344
|
+
optionId: asBoundaryOptionId("break:wave-gentle"),
|
|
12345
|
+
family: "wave",
|
|
12346
|
+
variantId: "gentle",
|
|
12347
|
+
label: "Gentle wave",
|
|
12348
|
+
variantLabel: "Gentle",
|
|
12349
|
+
treatment: {
|
|
12350
|
+
kind: "wave-edge",
|
|
12351
|
+
height: "compact",
|
|
12352
|
+
amplitude: "subtle",
|
|
12353
|
+
rhythm: "single",
|
|
12354
|
+
symmetry: "symmetrical"
|
|
12355
|
+
},
|
|
12356
|
+
size: "compact",
|
|
12357
|
+
heightExpression: compactHeight,
|
|
12358
|
+
shape: {
|
|
12359
|
+
kind: "wave",
|
|
12360
|
+
mask: "gentle"
|
|
12361
|
+
}
|
|
12362
|
+
},
|
|
12363
|
+
{
|
|
12364
|
+
intent: "wave-edge-bold",
|
|
12365
|
+
optionId: asBoundaryOptionId("break:wave-bold"),
|
|
12366
|
+
family: "wave",
|
|
12367
|
+
variantId: "bold",
|
|
12368
|
+
label: "Bold wave",
|
|
12369
|
+
variantLabel: "Bold",
|
|
12370
|
+
treatment: {
|
|
12371
|
+
kind: "wave-edge",
|
|
12372
|
+
height: "large",
|
|
12373
|
+
amplitude: "bold",
|
|
12374
|
+
rhythm: "double",
|
|
12375
|
+
symmetry: "symmetrical"
|
|
12376
|
+
},
|
|
12377
|
+
size: "large",
|
|
12378
|
+
heightExpression: largeHeight,
|
|
12379
|
+
shape: {
|
|
12380
|
+
kind: "wave",
|
|
12381
|
+
mask: "bold"
|
|
12382
|
+
}
|
|
12383
|
+
},
|
|
12384
|
+
{
|
|
12385
|
+
intent: "wave-edge-drift",
|
|
12386
|
+
optionId: asBoundaryOptionId("break:wave-drift"),
|
|
12387
|
+
family: "wave",
|
|
12388
|
+
variantId: "drift",
|
|
12389
|
+
label: "Drift wave",
|
|
12390
|
+
variantLabel: "Drift",
|
|
12391
|
+
treatment: {
|
|
12392
|
+
kind: "wave-edge",
|
|
12393
|
+
height: "medium",
|
|
12394
|
+
amplitude: "balanced",
|
|
12395
|
+
rhythm: "double",
|
|
12396
|
+
symmetry: "drift"
|
|
12397
|
+
},
|
|
12398
|
+
size: "medium",
|
|
12399
|
+
heightExpression: mediumHeight,
|
|
12400
|
+
shape: {
|
|
12401
|
+
kind: "wave",
|
|
12402
|
+
mask: "drift"
|
|
12403
|
+
}
|
|
12404
|
+
},
|
|
12405
|
+
{
|
|
12406
|
+
intent: "angle-edge-subtle",
|
|
12407
|
+
optionId: asBoundaryOptionId("break:angle-subtle"),
|
|
12408
|
+
family: "angle",
|
|
12409
|
+
variantId: "subtle",
|
|
12410
|
+
label: "Subtle angle",
|
|
12411
|
+
variantLabel: "Subtle",
|
|
12412
|
+
treatment: {
|
|
12413
|
+
kind: "angle-edge",
|
|
12414
|
+
height: "compact",
|
|
12415
|
+
slope: "subtle",
|
|
12416
|
+
direction: "forward"
|
|
12417
|
+
},
|
|
12418
|
+
size: "compact",
|
|
12419
|
+
heightExpression: compactHeight,
|
|
12420
|
+
shape: {
|
|
12421
|
+
kind: "angle",
|
|
12422
|
+
polygon: {
|
|
12423
|
+
startTopPercent: 34,
|
|
12424
|
+
endTopPercent: 18
|
|
12425
|
+
}
|
|
12426
|
+
}
|
|
12427
|
+
},
|
|
12428
|
+
{
|
|
12429
|
+
intent: "angle-edge",
|
|
12430
|
+
optionId: asBoundaryOptionId("break:angle-balanced"),
|
|
12431
|
+
family: "angle",
|
|
12432
|
+
variantId: "balanced",
|
|
12433
|
+
label: "Balanced angle",
|
|
12434
|
+
variantLabel: "Balanced",
|
|
12435
|
+
treatment: {
|
|
12436
|
+
kind: "angle-edge",
|
|
12437
|
+
height: "medium",
|
|
12438
|
+
slope: "balanced",
|
|
12439
|
+
direction: "forward"
|
|
12440
|
+
},
|
|
12441
|
+
size: "medium",
|
|
12442
|
+
heightExpression: mediumHeight,
|
|
12443
|
+
shape: {
|
|
12444
|
+
kind: "angle",
|
|
12445
|
+
polygon: {
|
|
12446
|
+
startTopPercent: 42,
|
|
12447
|
+
endTopPercent: 8
|
|
12448
|
+
}
|
|
12449
|
+
}
|
|
12450
|
+
},
|
|
12451
|
+
{
|
|
12452
|
+
intent: "angle-edge-steep",
|
|
12453
|
+
optionId: asBoundaryOptionId("break:angle-steep"),
|
|
12454
|
+
family: "angle",
|
|
12455
|
+
variantId: "steep",
|
|
12456
|
+
label: "Steep angle",
|
|
12457
|
+
variantLabel: "Steep",
|
|
12458
|
+
treatment: {
|
|
12459
|
+
kind: "angle-edge",
|
|
12460
|
+
height: "large",
|
|
12461
|
+
slope: "steep",
|
|
12462
|
+
direction: "forward"
|
|
12463
|
+
},
|
|
12464
|
+
size: "large",
|
|
12465
|
+
heightExpression: largeHeight,
|
|
12466
|
+
shape: {
|
|
12467
|
+
kind: "angle",
|
|
12468
|
+
polygon: {
|
|
12469
|
+
startTopPercent: 54,
|
|
12470
|
+
endTopPercent: 0
|
|
12471
|
+
}
|
|
12472
|
+
}
|
|
12473
|
+
}
|
|
12474
|
+
]);
|
|
12110
12475
|
//#endregion
|
|
12111
12476
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
12112
12477
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
@@ -12117,42 +12482,106 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
|
12117
12482
|
reserveCss: `calc((${heightExpression}) / 2)`
|
|
12118
12483
|
};
|
|
12119
12484
|
}
|
|
12120
|
-
|
|
12485
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, entry]));
|
|
12486
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, boundaryRuntimeMetrics(entry.family, entry.size, entry.heightExpression)]));
|
|
12487
|
+
/**
|
|
12488
|
+
* The catalogue's compile-time coverage check guarantees an entry per
|
|
12489
|
+
* decorative intent, so a miss here is a broken invariant, not bad input.
|
|
12490
|
+
*/
|
|
12491
|
+
function requireCatalogueValue(values, intent) {
|
|
12492
|
+
const value = values.get(intent);
|
|
12493
|
+
if (value === void 0) throw new Error(`Transition catalogue has no entry for ${intent}`);
|
|
12494
|
+
return value;
|
|
12495
|
+
}
|
|
12121
12496
|
const noneBoundaryOption = {
|
|
12122
12497
|
id: asBoundaryOptionId("break:none"),
|
|
12123
12498
|
label: "None",
|
|
12124
12499
|
transitionAfter: "none",
|
|
12125
12500
|
treatment: { kind: "none" }
|
|
12126
12501
|
};
|
|
12127
|
-
const
|
|
12128
|
-
id:
|
|
12129
|
-
label:
|
|
12130
|
-
transitionAfter:
|
|
12131
|
-
treatment:
|
|
12132
|
-
|
|
12133
|
-
|
|
12134
|
-
|
|
12135
|
-
|
|
12502
|
+
const boundaryOptionByIntent = new Map(transitionCatalogueEntries.map((entry) => [entry.intent, {
|
|
12503
|
+
id: entry.optionId,
|
|
12504
|
+
label: entry.label,
|
|
12505
|
+
transitionAfter: entry.intent,
|
|
12506
|
+
treatment: entry.treatment
|
|
12507
|
+
}]));
|
|
12508
|
+
function boundaryOptionForTransitionIntent(intent) {
|
|
12509
|
+
return requireCatalogueValue(boundaryOptionByIntent, intent);
|
|
12510
|
+
}
|
|
12511
|
+
const softBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-short");
|
|
12512
|
+
const spaciousBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-long");
|
|
12513
|
+
boundaryOptionForTransitionIntent("soft-fade-expansive");
|
|
12514
|
+
boundaryOptionForTransitionIntent("wave-edge");
|
|
12515
|
+
boundaryOptionForTransitionIntent("wave-edge-balanced");
|
|
12516
|
+
boundaryOptionForTransitionIntent("wave-edge-gentle");
|
|
12517
|
+
boundaryOptionForTransitionIntent("wave-edge-bold");
|
|
12518
|
+
boundaryOptionForTransitionIntent("wave-edge-drift");
|
|
12519
|
+
boundaryOptionForTransitionIntent("angle-edge-subtle");
|
|
12520
|
+
boundaryOptionForTransitionIntent("angle-edge");
|
|
12521
|
+
boundaryOptionForTransitionIntent("angle-edge-steep");
|
|
12522
|
+
/**
|
|
12523
|
+
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
12524
|
+
*/
|
|
12525
|
+
const boundaryOptions = [noneBoundaryOption, ...transitionCatalogueEntries.map((entry) => boundaryOptionForTransitionIntent(entry.intent))];
|
|
12526
|
+
const noneTransitionVariant = {
|
|
12527
|
+
familyId: "none",
|
|
12528
|
+
variantId: "none",
|
|
12529
|
+
label: "None",
|
|
12530
|
+
boundaryOption: noneBoundaryOption
|
|
12136
12531
|
};
|
|
12137
|
-
|
|
12138
|
-
|
|
12139
|
-
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
|
|
12145
|
-
|
|
12532
|
+
function transitionVariantForEntry(entry) {
|
|
12533
|
+
return {
|
|
12534
|
+
familyId: entry.family,
|
|
12535
|
+
variantId: entry.variantId,
|
|
12536
|
+
label: entry.variantLabel,
|
|
12537
|
+
boundaryOption: boundaryOptionForTransitionIntent(entry.intent)
|
|
12538
|
+
};
|
|
12539
|
+
}
|
|
12540
|
+
const sectionTransitionFamilies = [{
|
|
12541
|
+
id: "none",
|
|
12542
|
+
label: "None",
|
|
12543
|
+
variants: [noneTransitionVariant]
|
|
12544
|
+
}, ...transitionCatalogueFamilies.map((family) => ({
|
|
12545
|
+
id: family.id,
|
|
12546
|
+
label: family.label,
|
|
12547
|
+
variants: requireNonEmptyReadonlyArray(transitionCatalogueEntries.filter((entry) => entry.family === family.id).map(transitionVariantForEntry), `Transition family ${family.id} has no catalogue entries.`)
|
|
12548
|
+
}))];
|
|
12549
|
+
new Map(boundaryOptions.map((option) => [option.id, option]));
|
|
12550
|
+
new Map(boundaryOptions.map((option) => [stableTreatmentKey(option.treatment), option]));
|
|
12551
|
+
new Map(sectionTransitionFamilies.flatMap((family) => family.variants.map((variant) => [variant.boundaryOption.id, variant])));
|
|
12552
|
+
new Map(sectionTransitionFamilies.map((family) => [family.id, family]));
|
|
12553
|
+
function stableTreatmentKey(treatment) {
|
|
12554
|
+
switch (treatment.kind) {
|
|
12555
|
+
case "none": return "none";
|
|
12556
|
+
case "soft-fade": return `${treatment.kind}:${treatment.height}:${treatment.curve}`;
|
|
12557
|
+
case "wave-edge": return [
|
|
12558
|
+
treatment.kind,
|
|
12559
|
+
treatment.height,
|
|
12560
|
+
treatment.amplitude,
|
|
12561
|
+
treatment.rhythm,
|
|
12562
|
+
treatment.symmetry
|
|
12563
|
+
].join(":");
|
|
12564
|
+
case "angle-edge": return [
|
|
12565
|
+
treatment.kind,
|
|
12566
|
+
treatment.height,
|
|
12567
|
+
treatment.slope,
|
|
12568
|
+
treatment.direction
|
|
12569
|
+
].join(":");
|
|
12570
|
+
case "legacy-unsupported": return `${treatment.kind}:${treatment.boundaryOptionId}`;
|
|
12571
|
+
}
|
|
12572
|
+
}
|
|
12573
|
+
requireThemeColorToken$1("background");
|
|
12574
|
+
function requireThemeColorToken$1(value) {
|
|
12575
|
+
const token = parseThemeColorToken(value);
|
|
12576
|
+
if (!token) throw new Error(`Expected a theme color token. Received: ${value}`);
|
|
12577
|
+
return token;
|
|
12578
|
+
}
|
|
12579
|
+
//#endregion
|
|
12580
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
12581
|
+
const defaultHeaderBrandPreferences = {
|
|
12582
|
+
brandDisplay: "auto",
|
|
12583
|
+
logoSize: "auto"
|
|
12146
12584
|
};
|
|
12147
|
-
asBoundaryOptionId("break:expansive");
|
|
12148
|
-
asBoundaryOptionId("break:wave");
|
|
12149
|
-
asBoundaryOptionId("break:wave-balanced");
|
|
12150
|
-
asBoundaryOptionId("break:wave-gentle");
|
|
12151
|
-
asBoundaryOptionId("break:wave-bold");
|
|
12152
|
-
asBoundaryOptionId("break:wave-drift");
|
|
12153
|
-
asBoundaryOptionId("break:angle-subtle");
|
|
12154
|
-
asBoundaryOptionId("break:angle-balanced");
|
|
12155
|
-
asBoundaryOptionId("break:angle-steep");
|
|
12156
12585
|
asBoundaryOptionId("break:unknown");
|
|
12157
12586
|
const pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
12158
12587
|
kind: z.literal("user-pinned"),
|
|
@@ -12279,14 +12708,11 @@ function validateUniquePageDesignPins(intent, ctx) {
|
|
|
12279
12708
|
label: "block Look pin"
|
|
12280
12709
|
});
|
|
12281
12710
|
addDuplicateStringIssues(ctx, {
|
|
12282
|
-
values: intent.boundaryPins.map((pin) =>
|
|
12711
|
+
values: intent.boundaryPins.map((pin) => makeBoundaryId(pin.previousBlockId, pin.nextBlockId)),
|
|
12283
12712
|
path: ["boundaryPins"],
|
|
12284
12713
|
label: "boundary pin"
|
|
12285
12714
|
});
|
|
12286
12715
|
}
|
|
12287
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
12288
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
12289
|
-
}
|
|
12290
12716
|
//#endregion
|
|
12291
12717
|
//#region ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
12292
12718
|
/**
|
|
@@ -13914,6 +14340,13 @@ z.object({
|
|
|
13914
14340
|
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
13915
14341
|
authority: styleAuthoritySchema
|
|
13916
14342
|
}).strict();
|
|
14343
|
+
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
14344
|
+
asPageFlowPresetId("generated-default");
|
|
14345
|
+
asSiteStyleId("site-style:south-west-twerk-school");
|
|
14346
|
+
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
14347
|
+
asLayoutVariantKey("classic");
|
|
14348
|
+
asLayoutVariantKey("micro");
|
|
14349
|
+
asBoundaryOptionId("break:wave");
|
|
13917
14350
|
//#endregion
|
|
13918
14351
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
13919
14352
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
@@ -13937,7 +14370,7 @@ function defineComponentRuntimeRules(rules) {
|
|
|
13937
14370
|
}
|
|
13938
14371
|
/**
|
|
13939
14372
|
* Default design rules translate semantic page-level choices into the current
|
|
13940
|
-
* runtime's section background
|
|
14373
|
+
* runtime's section background vocabulary.
|
|
13941
14374
|
*/
|
|
13942
14375
|
const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
13943
14376
|
sectionSurfaces: {
|
|
@@ -13972,8 +14405,7 @@ const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
13972
14405
|
color: "surface",
|
|
13973
14406
|
opacity: .88
|
|
13974
14407
|
}
|
|
13975
|
-
}
|
|
13976
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
14408
|
+
}
|
|
13977
14409
|
});
|
|
13978
14410
|
/**
|
|
13979
14411
|
* Default component rules translate frame and item-surface semantics into the
|
|
@@ -15708,19 +16140,11 @@ const curatedSiteStyles = [
|
|
|
15708
16140
|
})
|
|
15709
16141
|
];
|
|
15710
16142
|
new Map(curatedSiteStyles.map((style) => [style.id, style]));
|
|
15711
|
-
asPageFlowPresetId("generated-default");
|
|
15712
|
-
asSiteStyleId("site-style:south-west-twerk-school");
|
|
15713
|
-
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
15714
|
-
asLayoutVariantKey("classic");
|
|
15715
|
-
asLayoutVariantKey("micro");
|
|
15716
|
-
asBoundaryOptionId("break:wave");
|
|
15717
|
-
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
15718
16143
|
//#endregion
|
|
15719
16144
|
//#region ../theme-core/src/site-styles/resolver.ts
|
|
15720
16145
|
const blockDesignFallback = {
|
|
15721
16146
|
sectionSurface: "base",
|
|
15722
16147
|
contentFrame: plainFrame,
|
|
15723
|
-
transitionAfter: "none",
|
|
15724
16148
|
sectionHeight: "default",
|
|
15725
16149
|
heroLegibility: "none",
|
|
15726
16150
|
imageSurfaceTreatment: { kind: "none" },
|
|
@@ -15731,7 +16155,7 @@ const blockDesignFallback = {
|
|
|
15731
16155
|
accordionIconTreatment: null,
|
|
15732
16156
|
composition: null
|
|
15733
16157
|
};
|
|
15734
|
-
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.
|
|
16158
|
+
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
15735
16159
|
//#endregion
|
|
15736
16160
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
15737
16161
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
@@ -16543,7 +16967,8 @@ const siteOptionSources = [
|
|
|
16543
16967
|
"eventCategories",
|
|
16544
16968
|
"eventSeries",
|
|
16545
16969
|
"venues",
|
|
16546
|
-
"staffMembers"
|
|
16970
|
+
"staffMembers",
|
|
16971
|
+
"appointmentServiceCategories"
|
|
16547
16972
|
];
|
|
16548
16973
|
const mediaDeliverySchema = z.object({
|
|
16549
16974
|
sizes: z.string().optional(),
|
|
@@ -27411,6 +27836,15 @@ const appointmentServicesBlockDefinition = {
|
|
|
27411
27836
|
required: false,
|
|
27412
27837
|
ui: { intent: "content" }
|
|
27413
27838
|
},
|
|
27839
|
+
createSiteOptionSelectField({
|
|
27840
|
+
id: "categoryId",
|
|
27841
|
+
label: "Category",
|
|
27842
|
+
description: "Show one category (with its heading and intro), or leave it on All categories to show everything grouped.",
|
|
27843
|
+
required: false,
|
|
27844
|
+
multiple: false,
|
|
27845
|
+
optionSource: "appointmentServiceCategories",
|
|
27846
|
+
ui: { intent: "content" }
|
|
27847
|
+
}),
|
|
27414
27848
|
sectionStylesField({
|
|
27415
27849
|
id: "_sectionStyles",
|
|
27416
27850
|
label: "Section styles",
|
|
@@ -27445,6 +27879,7 @@ const appointmentServicesBlockDefinition = {
|
|
|
27445
27879
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
27446
27880
|
el("appointment-services", {
|
|
27447
27881
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
27882
|
+
categoryId: { $bind: { from: "content.categoryId" } },
|
|
27448
27883
|
services: { $bind: { from: "data.services" } },
|
|
27449
27884
|
pathname: { $bind: { from: "$root.pathname" } },
|
|
27450
27885
|
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
@@ -38792,7 +39227,12 @@ const appointmentSetupServiceDraftSchema = z.object({
|
|
|
38792
39227
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38793
39228
|
timezone: z.string().trim().min(1).nullable(),
|
|
38794
39229
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38795
|
-
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
39230
|
+
assignment: appointmentSetupServiceAssignmentDraftSchema,
|
|
39231
|
+
/**
|
|
39232
|
+
* The service's category, or null for "Other" (issue 1403). Omitted leaves
|
|
39233
|
+
* an existing service's category alone and puts a new one in "Other".
|
|
39234
|
+
*/
|
|
39235
|
+
categoryId: z.string().uuid().nullable().optional()
|
|
38796
39236
|
}).superRefine((service, ctx) => {
|
|
38797
39237
|
if (service.payment.kind !== "free" && (service.priceAmount === null || service.priceAmount <= 0)) ctx.addIssue({
|
|
38798
39238
|
code: "custom",
|