@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
|
@@ -9,6 +9,75 @@ const footerModeSchema = z.enum([
|
|
|
9
9
|
"none"
|
|
10
10
|
]);
|
|
11
11
|
//#endregion
|
|
12
|
+
//#region ../api/src/defineEndpointDefinitions.ts
|
|
13
|
+
/**
|
|
14
|
+
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
15
|
+
* method, and parameter contract for the typed URL builders.
|
|
16
|
+
*/
|
|
17
|
+
function defineEndpointDefinitions(definitions) {
|
|
18
|
+
return definitions;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region ../api/src/publicNewsletterEndpointDefinitions.ts
|
|
22
|
+
const PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
23
|
+
subscribeNewsletter: {
|
|
24
|
+
path: "/public/sites/{siteId}/newsletter/subscribe",
|
|
25
|
+
method: "POST",
|
|
26
|
+
tags: ["public-newsletter-{siteId}"],
|
|
27
|
+
auth: "public",
|
|
28
|
+
responseKind: "json"
|
|
29
|
+
},
|
|
30
|
+
confirmNewsletter: {
|
|
31
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
32
|
+
method: "GET",
|
|
33
|
+
tags: ["public-newsletter-{siteId}"],
|
|
34
|
+
auth: "public",
|
|
35
|
+
responseKind: "text"
|
|
36
|
+
},
|
|
37
|
+
unsubscribeNewsletter: {
|
|
38
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
39
|
+
method: "GET",
|
|
40
|
+
tags: ["public-newsletter-{siteId}"],
|
|
41
|
+
auth: "public",
|
|
42
|
+
responseKind: "text"
|
|
43
|
+
},
|
|
44
|
+
unsubscribeNewsletterPost: {
|
|
45
|
+
path: "/public/sites/{siteId}/newsletter/unsubscribe/{token}",
|
|
46
|
+
method: "POST",
|
|
47
|
+
tags: ["public-newsletter-{siteId}"],
|
|
48
|
+
auth: "public",
|
|
49
|
+
responseKind: "text"
|
|
50
|
+
},
|
|
51
|
+
confirmNewsletterPost: {
|
|
52
|
+
path: "/public/sites/{siteId}/newsletter/confirm/{token}",
|
|
53
|
+
method: "POST",
|
|
54
|
+
tags: ["public-newsletter-{siteId}"],
|
|
55
|
+
auth: "public",
|
|
56
|
+
responseKind: "text"
|
|
57
|
+
},
|
|
58
|
+
getNewsletterPreferences: {
|
|
59
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
60
|
+
method: "GET",
|
|
61
|
+
tags: ["public-newsletter-{siteId}"],
|
|
62
|
+
auth: "public",
|
|
63
|
+
responseKind: "text"
|
|
64
|
+
},
|
|
65
|
+
saveNewsletterPreferences: {
|
|
66
|
+
path: "/public/sites/{siteId}/newsletter/preferences/{token}",
|
|
67
|
+
method: "POST",
|
|
68
|
+
tags: ["public-newsletter-{siteId}"],
|
|
69
|
+
auth: "public",
|
|
70
|
+
responseKind: "text"
|
|
71
|
+
},
|
|
72
|
+
getNewsletterArchive: {
|
|
73
|
+
path: "/public/sites/{siteId}/newsletter/archive/{token}",
|
|
74
|
+
method: "GET",
|
|
75
|
+
tags: ["public-newsletter-{siteId}"],
|
|
76
|
+
auth: "public",
|
|
77
|
+
responseKind: "text"
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
//#endregion
|
|
12
81
|
//#region ../api/src/apiEndpointTypes.ts
|
|
13
82
|
function allowedDemoMutationPolicy() {
|
|
14
83
|
return {
|
|
@@ -100,17 +169,85 @@ const SDK_ENTRY_READ_ENDPOINTS = {
|
|
|
100
169
|
}
|
|
101
170
|
};
|
|
102
171
|
//#endregion
|
|
103
|
-
//#region ../api/src/defineEndpointDefinitions.ts
|
|
104
|
-
/**
|
|
105
|
-
* Validates extracted endpoint descriptors while preserving each literal path,
|
|
106
|
-
* method, and parameter contract for the typed URL builders.
|
|
107
|
-
*/
|
|
108
|
-
function defineEndpointDefinitions(definitions) {
|
|
109
|
-
return definitions;
|
|
110
|
-
}
|
|
111
|
-
//#endregion
|
|
112
172
|
//#region ../api/src/appointmentEndpointDefinitions.ts
|
|
113
173
|
const APPOINTMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
174
|
+
...defineEndpointDefinitions({
|
|
175
|
+
listGroupedAppointmentServices: {
|
|
176
|
+
path: "/sites/{siteId}/bookings/services/grouped",
|
|
177
|
+
method: "GET",
|
|
178
|
+
auth: "user",
|
|
179
|
+
responseKind: "json",
|
|
180
|
+
errors: ["server:internal_error"]
|
|
181
|
+
},
|
|
182
|
+
reorderAppointmentServices: {
|
|
183
|
+
path: "/sites/{siteId}/bookings/services/order",
|
|
184
|
+
method: "PUT",
|
|
185
|
+
auth: "user",
|
|
186
|
+
responseKind: "json",
|
|
187
|
+
errors: [
|
|
188
|
+
"validation:invalid_input",
|
|
189
|
+
"auth:forbidden",
|
|
190
|
+
"resource:not_found",
|
|
191
|
+
"resource:conflict",
|
|
192
|
+
"server:internal_error"
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
listAppointmentServiceCategories: {
|
|
196
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
197
|
+
method: "GET",
|
|
198
|
+
auth: "user",
|
|
199
|
+
responseKind: "json",
|
|
200
|
+
errors: ["server:internal_error"]
|
|
201
|
+
},
|
|
202
|
+
createAppointmentServiceCategory: {
|
|
203
|
+
path: "/sites/{siteId}/bookings/service-categories",
|
|
204
|
+
method: "POST",
|
|
205
|
+
auth: "user",
|
|
206
|
+
responseKind: "json",
|
|
207
|
+
errors: [
|
|
208
|
+
"validation:invalid_input",
|
|
209
|
+
"auth:forbidden",
|
|
210
|
+
"resource:conflict",
|
|
211
|
+
"server:internal_error"
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
updateAppointmentServiceCategory: {
|
|
215
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
216
|
+
method: "PUT",
|
|
217
|
+
auth: "user",
|
|
218
|
+
responseKind: "json",
|
|
219
|
+
errors: [
|
|
220
|
+
"validation:invalid_input",
|
|
221
|
+
"auth:forbidden",
|
|
222
|
+
"resource:not_found",
|
|
223
|
+
"resource:conflict",
|
|
224
|
+
"server:internal_error"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
deleteAppointmentServiceCategory: {
|
|
228
|
+
path: "/sites/{siteId}/bookings/service-categories/{categoryId}",
|
|
229
|
+
method: "DELETE",
|
|
230
|
+
auth: "user",
|
|
231
|
+
responseKind: "json",
|
|
232
|
+
errors: [
|
|
233
|
+
"auth:forbidden",
|
|
234
|
+
"resource:not_found",
|
|
235
|
+
"server:internal_error"
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
reorderAppointmentServiceCategories: {
|
|
239
|
+
path: "/sites/{siteId}/bookings/service-categories/order",
|
|
240
|
+
method: "PUT",
|
|
241
|
+
auth: "user",
|
|
242
|
+
responseKind: "json",
|
|
243
|
+
errors: [
|
|
244
|
+
"validation:invalid_input",
|
|
245
|
+
"auth:forbidden",
|
|
246
|
+
"resource:conflict",
|
|
247
|
+
"server:internal_error"
|
|
248
|
+
]
|
|
249
|
+
}
|
|
250
|
+
}),
|
|
114
251
|
listAppointmentResources: {
|
|
115
252
|
path: "/sites/{siteId}/bookings/resources",
|
|
116
253
|
method: "GET",
|
|
@@ -1258,39 +1395,6 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1258
1395
|
auth: "user",
|
|
1259
1396
|
responseKind: "json",
|
|
1260
1397
|
demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
|
|
1261
|
-
},
|
|
1262
|
-
listNewsletterSendJobs: {
|
|
1263
|
-
path: "/sites/{siteId}/newsletter/jobs",
|
|
1264
|
-
method: "GET",
|
|
1265
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1266
|
-
auth: "user",
|
|
1267
|
-
responseKind: "json"
|
|
1268
|
-
},
|
|
1269
|
-
retryNewsletterSendJob: {
|
|
1270
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/retry",
|
|
1271
|
-
method: "POST",
|
|
1272
|
-
errors: [
|
|
1273
|
-
"validation:invalid_input",
|
|
1274
|
-
"resource:not_found",
|
|
1275
|
-
"auth:forbidden",
|
|
1276
|
-
"server:internal_error"
|
|
1277
|
-
],
|
|
1278
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1279
|
-
auth: "user",
|
|
1280
|
-
responseKind: "json"
|
|
1281
|
-
},
|
|
1282
|
-
cancelNewsletterSendJob: {
|
|
1283
|
-
path: "/sites/{siteId}/newsletter/jobs/{jobId}/cancel",
|
|
1284
|
-
method: "POST",
|
|
1285
|
-
errors: [
|
|
1286
|
-
"validation:invalid_input",
|
|
1287
|
-
"resource:not_found",
|
|
1288
|
-
"auth:forbidden",
|
|
1289
|
-
"server:internal_error"
|
|
1290
|
-
],
|
|
1291
|
-
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
1292
|
-
auth: "user",
|
|
1293
|
-
responseKind: "json"
|
|
1294
1398
|
}
|
|
1295
1399
|
});
|
|
1296
1400
|
//#endregion
|
|
@@ -3366,6 +3470,7 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3366
3470
|
}
|
|
3367
3471
|
});
|
|
3368
3472
|
({
|
|
3473
|
+
...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3369
3474
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
3370
3475
|
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
3371
3476
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
@@ -10088,6 +10193,15 @@ function asSiteStyleId(value) {
|
|
|
10088
10193
|
function asDesignSystemTemplateId(value) {
|
|
10089
10194
|
return brandNonEmptyString(value, "DesignSystemTemplateId");
|
|
10090
10195
|
}
|
|
10196
|
+
function toNonEmptyReadonlyArray(values) {
|
|
10197
|
+
const [first, ...rest] = values;
|
|
10198
|
+
return first === void 0 ? null : [first, ...rest];
|
|
10199
|
+
}
|
|
10200
|
+
function requireNonEmptyReadonlyArray(values, message = "Expected a non-empty array.") {
|
|
10201
|
+
const result = toNonEmptyReadonlyArray(values);
|
|
10202
|
+
if (!result) throw new Error(message);
|
|
10203
|
+
return result;
|
|
10204
|
+
}
|
|
10091
10205
|
function makeBoundaryId(previousBlockId, nextBlockId) {
|
|
10092
10206
|
return asDesignBoundaryId(`boundary:${encodeURIComponent(previousBlockId)}:${encodeURIComponent(nextBlockId)}`);
|
|
10093
10207
|
}
|
|
@@ -10290,16 +10404,18 @@ const themeV2RuntimeStyleFieldNames = [
|
|
|
10290
10404
|
"_frameStyles",
|
|
10291
10405
|
"_sectionStyles",
|
|
10292
10406
|
"_containerStyles",
|
|
10293
|
-
"_cardStyles"
|
|
10294
|
-
"_transitionStyles",
|
|
10295
|
-
"styleGroup"
|
|
10407
|
+
"_cardStyles"
|
|
10296
10408
|
];
|
|
10297
10409
|
const themeV2BlockSpecificRawStyleFieldNames = [
|
|
10298
10410
|
"_contentCardStyles",
|
|
10299
10411
|
"_heroLayoutStyles",
|
|
10300
10412
|
"_textCardStyles"
|
|
10301
10413
|
];
|
|
10302
|
-
const themeV2NormalEditorRawStyleFieldNames = [
|
|
10414
|
+
const themeV2NormalEditorRawStyleFieldNames = [
|
|
10415
|
+
...themeV2RuntimeStyleFieldNames,
|
|
10416
|
+
...themeV2BlockSpecificRawStyleFieldNames,
|
|
10417
|
+
"styleGroup"
|
|
10418
|
+
];
|
|
10303
10419
|
new Set(themeV2NormalEditorRawStyleFieldNames);
|
|
10304
10420
|
[...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
|
|
10305
10421
|
const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
@@ -12025,11 +12141,260 @@ function cardRoleFromLegacyVocabulary(value) {
|
|
|
12025
12141
|
*/
|
|
12026
12142
|
const cardRoleWithLegacyAliasSchema = z.preprocess((value) => cardRoleFromLegacyVocabulary(value) ?? value, cardRoleSchema);
|
|
12027
12143
|
//#endregion
|
|
12028
|
-
//#region ../theme-core/src/site-styles/
|
|
12029
|
-
|
|
12030
|
-
|
|
12031
|
-
|
|
12032
|
-
|
|
12144
|
+
//#region ../theme-core/src/site-styles/transitionCatalogue.ts
|
|
12145
|
+
/**
|
|
12146
|
+
* Family order for pickers. Entries below are listed family by family in this
|
|
12147
|
+
* same order, so the flat option list and the grouped families agree.
|
|
12148
|
+
*/
|
|
12149
|
+
const transitionCatalogueFamilies = [
|
|
12150
|
+
{
|
|
12151
|
+
id: "gradient",
|
|
12152
|
+
label: "Gradient"
|
|
12153
|
+
},
|
|
12154
|
+
{
|
|
12155
|
+
id: "wave",
|
|
12156
|
+
label: "Wave"
|
|
12157
|
+
},
|
|
12158
|
+
{
|
|
12159
|
+
id: "angle",
|
|
12160
|
+
label: "Angle"
|
|
12161
|
+
}
|
|
12162
|
+
];
|
|
12163
|
+
const mediumHeight = "6rem + 2px";
|
|
12164
|
+
const compactHeight = "4.5rem + 2px";
|
|
12165
|
+
const largeHeight = "7rem + 2px";
|
|
12166
|
+
/**
|
|
12167
|
+
* The single source of transition vocabulary. Order is significant: it is the
|
|
12168
|
+
* order of `boundaryOptions` (after `none`) and of each family's variants,
|
|
12169
|
+
* which persisted pins, page-flow presets and the editor picker all rely on.
|
|
12170
|
+
*
|
|
12171
|
+
* Shapes match what `generateLayoutCss` draws today. Structured
|
|
12172
|
+
* amplitude/frequency treatments (issue 826) extend this list later.
|
|
12173
|
+
*/
|
|
12174
|
+
const transitionCatalogueEntries = defineExactCatalog()([
|
|
12175
|
+
{
|
|
12176
|
+
intent: "soft-fade-short",
|
|
12177
|
+
optionId: asBoundaryOptionId("break:soft"),
|
|
12178
|
+
family: "gradient",
|
|
12179
|
+
variantId: "soft",
|
|
12180
|
+
label: "Soft",
|
|
12181
|
+
variantLabel: "Soft",
|
|
12182
|
+
treatment: {
|
|
12183
|
+
kind: "soft-fade",
|
|
12184
|
+
height: "medium",
|
|
12185
|
+
curve: "soft"
|
|
12186
|
+
},
|
|
12187
|
+
size: "medium",
|
|
12188
|
+
heightExpression: mediumHeight,
|
|
12189
|
+
shape: { kind: "fade" }
|
|
12190
|
+
},
|
|
12191
|
+
{
|
|
12192
|
+
intent: "soft-fade-long",
|
|
12193
|
+
optionId: asBoundaryOptionId("break:spacious"),
|
|
12194
|
+
family: "gradient",
|
|
12195
|
+
variantId: "spacious",
|
|
12196
|
+
label: "Spacious",
|
|
12197
|
+
variantLabel: "Spacious",
|
|
12198
|
+
treatment: {
|
|
12199
|
+
kind: "soft-fade",
|
|
12200
|
+
height: "large",
|
|
12201
|
+
curve: "spacious"
|
|
12202
|
+
},
|
|
12203
|
+
size: "spacious",
|
|
12204
|
+
heightExpression: "10rem",
|
|
12205
|
+
shape: { kind: "fade" }
|
|
12206
|
+
},
|
|
12207
|
+
{
|
|
12208
|
+
intent: "soft-fade-expansive",
|
|
12209
|
+
optionId: asBoundaryOptionId("break:expansive"),
|
|
12210
|
+
family: "gradient",
|
|
12211
|
+
variantId: "expansive",
|
|
12212
|
+
label: "Expansive",
|
|
12213
|
+
variantLabel: "Expansive",
|
|
12214
|
+
treatment: {
|
|
12215
|
+
kind: "soft-fade",
|
|
12216
|
+
height: "expansive",
|
|
12217
|
+
curve: "expansive"
|
|
12218
|
+
},
|
|
12219
|
+
size: "expansive",
|
|
12220
|
+
heightExpression: "14rem",
|
|
12221
|
+
shape: { kind: "fade" }
|
|
12222
|
+
},
|
|
12223
|
+
{
|
|
12224
|
+
intent: "wave-edge-balanced",
|
|
12225
|
+
optionId: asBoundaryOptionId("break:wave-balanced"),
|
|
12226
|
+
family: "wave",
|
|
12227
|
+
variantId: "balanced",
|
|
12228
|
+
label: "Balanced wave",
|
|
12229
|
+
variantLabel: "Balanced",
|
|
12230
|
+
treatment: {
|
|
12231
|
+
kind: "wave-edge",
|
|
12232
|
+
height: "medium",
|
|
12233
|
+
amplitude: "balanced",
|
|
12234
|
+
rhythm: "double",
|
|
12235
|
+
symmetry: "symmetrical"
|
|
12236
|
+
},
|
|
12237
|
+
size: "medium",
|
|
12238
|
+
heightExpression: mediumHeight,
|
|
12239
|
+
shape: {
|
|
12240
|
+
kind: "wave",
|
|
12241
|
+
mask: "balanced"
|
|
12242
|
+
}
|
|
12243
|
+
},
|
|
12244
|
+
{
|
|
12245
|
+
intent: "wave-edge",
|
|
12246
|
+
optionId: asBoundaryOptionId("break:wave"),
|
|
12247
|
+
family: "wave",
|
|
12248
|
+
variantId: "classic",
|
|
12249
|
+
label: "Classic wave",
|
|
12250
|
+
variantLabel: "Classic",
|
|
12251
|
+
treatment: {
|
|
12252
|
+
kind: "wave-edge",
|
|
12253
|
+
height: "medium",
|
|
12254
|
+
amplitude: "balanced",
|
|
12255
|
+
rhythm: "double",
|
|
12256
|
+
symmetry: "asymmetrical"
|
|
12257
|
+
},
|
|
12258
|
+
size: "medium",
|
|
12259
|
+
heightExpression: mediumHeight,
|
|
12260
|
+
shape: {
|
|
12261
|
+
kind: "wave",
|
|
12262
|
+
mask: "classic"
|
|
12263
|
+
}
|
|
12264
|
+
},
|
|
12265
|
+
{
|
|
12266
|
+
intent: "wave-edge-gentle",
|
|
12267
|
+
optionId: asBoundaryOptionId("break:wave-gentle"),
|
|
12268
|
+
family: "wave",
|
|
12269
|
+
variantId: "gentle",
|
|
12270
|
+
label: "Gentle wave",
|
|
12271
|
+
variantLabel: "Gentle",
|
|
12272
|
+
treatment: {
|
|
12273
|
+
kind: "wave-edge",
|
|
12274
|
+
height: "compact",
|
|
12275
|
+
amplitude: "subtle",
|
|
12276
|
+
rhythm: "single",
|
|
12277
|
+
symmetry: "symmetrical"
|
|
12278
|
+
},
|
|
12279
|
+
size: "compact",
|
|
12280
|
+
heightExpression: compactHeight,
|
|
12281
|
+
shape: {
|
|
12282
|
+
kind: "wave",
|
|
12283
|
+
mask: "gentle"
|
|
12284
|
+
}
|
|
12285
|
+
},
|
|
12286
|
+
{
|
|
12287
|
+
intent: "wave-edge-bold",
|
|
12288
|
+
optionId: asBoundaryOptionId("break:wave-bold"),
|
|
12289
|
+
family: "wave",
|
|
12290
|
+
variantId: "bold",
|
|
12291
|
+
label: "Bold wave",
|
|
12292
|
+
variantLabel: "Bold",
|
|
12293
|
+
treatment: {
|
|
12294
|
+
kind: "wave-edge",
|
|
12295
|
+
height: "large",
|
|
12296
|
+
amplitude: "bold",
|
|
12297
|
+
rhythm: "double",
|
|
12298
|
+
symmetry: "symmetrical"
|
|
12299
|
+
},
|
|
12300
|
+
size: "large",
|
|
12301
|
+
heightExpression: largeHeight,
|
|
12302
|
+
shape: {
|
|
12303
|
+
kind: "wave",
|
|
12304
|
+
mask: "bold"
|
|
12305
|
+
}
|
|
12306
|
+
},
|
|
12307
|
+
{
|
|
12308
|
+
intent: "wave-edge-drift",
|
|
12309
|
+
optionId: asBoundaryOptionId("break:wave-drift"),
|
|
12310
|
+
family: "wave",
|
|
12311
|
+
variantId: "drift",
|
|
12312
|
+
label: "Drift wave",
|
|
12313
|
+
variantLabel: "Drift",
|
|
12314
|
+
treatment: {
|
|
12315
|
+
kind: "wave-edge",
|
|
12316
|
+
height: "medium",
|
|
12317
|
+
amplitude: "balanced",
|
|
12318
|
+
rhythm: "double",
|
|
12319
|
+
symmetry: "drift"
|
|
12320
|
+
},
|
|
12321
|
+
size: "medium",
|
|
12322
|
+
heightExpression: mediumHeight,
|
|
12323
|
+
shape: {
|
|
12324
|
+
kind: "wave",
|
|
12325
|
+
mask: "drift"
|
|
12326
|
+
}
|
|
12327
|
+
},
|
|
12328
|
+
{
|
|
12329
|
+
intent: "angle-edge-subtle",
|
|
12330
|
+
optionId: asBoundaryOptionId("break:angle-subtle"),
|
|
12331
|
+
family: "angle",
|
|
12332
|
+
variantId: "subtle",
|
|
12333
|
+
label: "Subtle angle",
|
|
12334
|
+
variantLabel: "Subtle",
|
|
12335
|
+
treatment: {
|
|
12336
|
+
kind: "angle-edge",
|
|
12337
|
+
height: "compact",
|
|
12338
|
+
slope: "subtle",
|
|
12339
|
+
direction: "forward"
|
|
12340
|
+
},
|
|
12341
|
+
size: "compact",
|
|
12342
|
+
heightExpression: compactHeight,
|
|
12343
|
+
shape: {
|
|
12344
|
+
kind: "angle",
|
|
12345
|
+
polygon: {
|
|
12346
|
+
startTopPercent: 34,
|
|
12347
|
+
endTopPercent: 18
|
|
12348
|
+
}
|
|
12349
|
+
}
|
|
12350
|
+
},
|
|
12351
|
+
{
|
|
12352
|
+
intent: "angle-edge",
|
|
12353
|
+
optionId: asBoundaryOptionId("break:angle-balanced"),
|
|
12354
|
+
family: "angle",
|
|
12355
|
+
variantId: "balanced",
|
|
12356
|
+
label: "Balanced angle",
|
|
12357
|
+
variantLabel: "Balanced",
|
|
12358
|
+
treatment: {
|
|
12359
|
+
kind: "angle-edge",
|
|
12360
|
+
height: "medium",
|
|
12361
|
+
slope: "balanced",
|
|
12362
|
+
direction: "forward"
|
|
12363
|
+
},
|
|
12364
|
+
size: "medium",
|
|
12365
|
+
heightExpression: mediumHeight,
|
|
12366
|
+
shape: {
|
|
12367
|
+
kind: "angle",
|
|
12368
|
+
polygon: {
|
|
12369
|
+
startTopPercent: 42,
|
|
12370
|
+
endTopPercent: 8
|
|
12371
|
+
}
|
|
12372
|
+
}
|
|
12373
|
+
},
|
|
12374
|
+
{
|
|
12375
|
+
intent: "angle-edge-steep",
|
|
12376
|
+
optionId: asBoundaryOptionId("break:angle-steep"),
|
|
12377
|
+
family: "angle",
|
|
12378
|
+
variantId: "steep",
|
|
12379
|
+
label: "Steep angle",
|
|
12380
|
+
variantLabel: "Steep",
|
|
12381
|
+
treatment: {
|
|
12382
|
+
kind: "angle-edge",
|
|
12383
|
+
height: "large",
|
|
12384
|
+
slope: "steep",
|
|
12385
|
+
direction: "forward"
|
|
12386
|
+
},
|
|
12387
|
+
size: "large",
|
|
12388
|
+
heightExpression: largeHeight,
|
|
12389
|
+
shape: {
|
|
12390
|
+
kind: "angle",
|
|
12391
|
+
polygon: {
|
|
12392
|
+
startTopPercent: 54,
|
|
12393
|
+
endTopPercent: 0
|
|
12394
|
+
}
|
|
12395
|
+
}
|
|
12396
|
+
}
|
|
12397
|
+
]);
|
|
12033
12398
|
//#endregion
|
|
12034
12399
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
12035
12400
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
@@ -12040,42 +12405,106 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
|
12040
12405
|
reserveCss: `calc((${heightExpression}) / 2)`
|
|
12041
12406
|
};
|
|
12042
12407
|
}
|
|
12043
|
-
|
|
12408
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, entry]));
|
|
12409
|
+
new Map(transitionCatalogueEntries.map((entry) => [entry.intent, boundaryRuntimeMetrics(entry.family, entry.size, entry.heightExpression)]));
|
|
12410
|
+
/**
|
|
12411
|
+
* The catalogue's compile-time coverage check guarantees an entry per
|
|
12412
|
+
* decorative intent, so a miss here is a broken invariant, not bad input.
|
|
12413
|
+
*/
|
|
12414
|
+
function requireCatalogueValue(values, intent) {
|
|
12415
|
+
const value = values.get(intent);
|
|
12416
|
+
if (value === void 0) throw new Error(`Transition catalogue has no entry for ${intent}`);
|
|
12417
|
+
return value;
|
|
12418
|
+
}
|
|
12044
12419
|
const noneBoundaryOption = {
|
|
12045
12420
|
id: asBoundaryOptionId("break:none"),
|
|
12046
12421
|
label: "None",
|
|
12047
12422
|
transitionAfter: "none",
|
|
12048
12423
|
treatment: { kind: "none" }
|
|
12049
12424
|
};
|
|
12050
|
-
const
|
|
12051
|
-
id:
|
|
12052
|
-
label:
|
|
12053
|
-
transitionAfter:
|
|
12054
|
-
treatment:
|
|
12055
|
-
|
|
12056
|
-
|
|
12057
|
-
|
|
12058
|
-
|
|
12425
|
+
const boundaryOptionByIntent = new Map(transitionCatalogueEntries.map((entry) => [entry.intent, {
|
|
12426
|
+
id: entry.optionId,
|
|
12427
|
+
label: entry.label,
|
|
12428
|
+
transitionAfter: entry.intent,
|
|
12429
|
+
treatment: entry.treatment
|
|
12430
|
+
}]));
|
|
12431
|
+
function boundaryOptionForTransitionIntent(intent) {
|
|
12432
|
+
return requireCatalogueValue(boundaryOptionByIntent, intent);
|
|
12433
|
+
}
|
|
12434
|
+
const softBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-short");
|
|
12435
|
+
const spaciousBoundaryOption = boundaryOptionForTransitionIntent("soft-fade-long");
|
|
12436
|
+
boundaryOptionForTransitionIntent("soft-fade-expansive");
|
|
12437
|
+
boundaryOptionForTransitionIntent("wave-edge");
|
|
12438
|
+
boundaryOptionForTransitionIntent("wave-edge-balanced");
|
|
12439
|
+
boundaryOptionForTransitionIntent("wave-edge-gentle");
|
|
12440
|
+
boundaryOptionForTransitionIntent("wave-edge-bold");
|
|
12441
|
+
boundaryOptionForTransitionIntent("wave-edge-drift");
|
|
12442
|
+
boundaryOptionForTransitionIntent("angle-edge-subtle");
|
|
12443
|
+
boundaryOptionForTransitionIntent("angle-edge");
|
|
12444
|
+
boundaryOptionForTransitionIntent("angle-edge-steep");
|
|
12445
|
+
/**
|
|
12446
|
+
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
12447
|
+
*/
|
|
12448
|
+
const boundaryOptions = [noneBoundaryOption, ...transitionCatalogueEntries.map((entry) => boundaryOptionForTransitionIntent(entry.intent))];
|
|
12449
|
+
const noneTransitionVariant = {
|
|
12450
|
+
familyId: "none",
|
|
12451
|
+
variantId: "none",
|
|
12452
|
+
label: "None",
|
|
12453
|
+
boundaryOption: noneBoundaryOption
|
|
12059
12454
|
};
|
|
12060
|
-
|
|
12061
|
-
|
|
12062
|
-
|
|
12063
|
-
|
|
12064
|
-
|
|
12065
|
-
|
|
12066
|
-
|
|
12067
|
-
|
|
12068
|
-
|
|
12455
|
+
function transitionVariantForEntry(entry) {
|
|
12456
|
+
return {
|
|
12457
|
+
familyId: entry.family,
|
|
12458
|
+
variantId: entry.variantId,
|
|
12459
|
+
label: entry.variantLabel,
|
|
12460
|
+
boundaryOption: boundaryOptionForTransitionIntent(entry.intent)
|
|
12461
|
+
};
|
|
12462
|
+
}
|
|
12463
|
+
const sectionTransitionFamilies = [{
|
|
12464
|
+
id: "none",
|
|
12465
|
+
label: "None",
|
|
12466
|
+
variants: [noneTransitionVariant]
|
|
12467
|
+
}, ...transitionCatalogueFamilies.map((family) => ({
|
|
12468
|
+
id: family.id,
|
|
12469
|
+
label: family.label,
|
|
12470
|
+
variants: requireNonEmptyReadonlyArray(transitionCatalogueEntries.filter((entry) => entry.family === family.id).map(transitionVariantForEntry), `Transition family ${family.id} has no catalogue entries.`)
|
|
12471
|
+
}))];
|
|
12472
|
+
new Map(boundaryOptions.map((option) => [option.id, option]));
|
|
12473
|
+
new Map(boundaryOptions.map((option) => [stableTreatmentKey(option.treatment), option]));
|
|
12474
|
+
new Map(sectionTransitionFamilies.flatMap((family) => family.variants.map((variant) => [variant.boundaryOption.id, variant])));
|
|
12475
|
+
new Map(sectionTransitionFamilies.map((family) => [family.id, family]));
|
|
12476
|
+
function stableTreatmentKey(treatment) {
|
|
12477
|
+
switch (treatment.kind) {
|
|
12478
|
+
case "none": return "none";
|
|
12479
|
+
case "soft-fade": return `${treatment.kind}:${treatment.height}:${treatment.curve}`;
|
|
12480
|
+
case "wave-edge": return [
|
|
12481
|
+
treatment.kind,
|
|
12482
|
+
treatment.height,
|
|
12483
|
+
treatment.amplitude,
|
|
12484
|
+
treatment.rhythm,
|
|
12485
|
+
treatment.symmetry
|
|
12486
|
+
].join(":");
|
|
12487
|
+
case "angle-edge": return [
|
|
12488
|
+
treatment.kind,
|
|
12489
|
+
treatment.height,
|
|
12490
|
+
treatment.slope,
|
|
12491
|
+
treatment.direction
|
|
12492
|
+
].join(":");
|
|
12493
|
+
case "legacy-unsupported": return `${treatment.kind}:${treatment.boundaryOptionId}`;
|
|
12494
|
+
}
|
|
12495
|
+
}
|
|
12496
|
+
requireThemeColorToken$1("background");
|
|
12497
|
+
function requireThemeColorToken$1(value) {
|
|
12498
|
+
const token = parseThemeColorToken(value);
|
|
12499
|
+
if (!token) throw new Error(`Expected a theme color token. Received: ${value}`);
|
|
12500
|
+
return token;
|
|
12501
|
+
}
|
|
12502
|
+
//#endregion
|
|
12503
|
+
//#region ../theme-core/src/site-styles/compilationPlan.ts
|
|
12504
|
+
const defaultHeaderBrandPreferences = {
|
|
12505
|
+
brandDisplay: "auto",
|
|
12506
|
+
logoSize: "auto"
|
|
12069
12507
|
};
|
|
12070
|
-
asBoundaryOptionId("break:expansive");
|
|
12071
|
-
asBoundaryOptionId("break:wave");
|
|
12072
|
-
asBoundaryOptionId("break:wave-balanced");
|
|
12073
|
-
asBoundaryOptionId("break:wave-gentle");
|
|
12074
|
-
asBoundaryOptionId("break:wave-bold");
|
|
12075
|
-
asBoundaryOptionId("break:wave-drift");
|
|
12076
|
-
asBoundaryOptionId("break:angle-subtle");
|
|
12077
|
-
asBoundaryOptionId("break:angle-balanced");
|
|
12078
|
-
asBoundaryOptionId("break:angle-steep");
|
|
12079
12508
|
asBoundaryOptionId("break:unknown");
|
|
12080
12509
|
const pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
12081
12510
|
kind: z.literal("user-pinned"),
|
|
@@ -12202,14 +12631,11 @@ function validateUniquePageDesignPins(intent, ctx) {
|
|
|
12202
12631
|
label: "block Look pin"
|
|
12203
12632
|
});
|
|
12204
12633
|
addDuplicateStringIssues(ctx, {
|
|
12205
|
-
values: intent.boundaryPins.map((pin) =>
|
|
12634
|
+
values: intent.boundaryPins.map((pin) => makeBoundaryId(pin.previousBlockId, pin.nextBlockId)),
|
|
12206
12635
|
path: ["boundaryPins"],
|
|
12207
12636
|
label: "boundary pin"
|
|
12208
12637
|
});
|
|
12209
12638
|
}
|
|
12210
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
12211
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
12212
|
-
}
|
|
12213
12639
|
//#endregion
|
|
12214
12640
|
//#region ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
12215
12641
|
/**
|
|
@@ -13837,6 +14263,13 @@ z.object({
|
|
|
13837
14263
|
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
13838
14264
|
authority: styleAuthoritySchema
|
|
13839
14265
|
}).strict();
|
|
14266
|
+
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
14267
|
+
asPageFlowPresetId("generated-default");
|
|
14268
|
+
asSiteStyleId("site-style:south-west-twerk-school");
|
|
14269
|
+
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
14270
|
+
asLayoutVariantKey("classic");
|
|
14271
|
+
asLayoutVariantKey("micro");
|
|
14272
|
+
asBoundaryOptionId("break:wave");
|
|
13840
14273
|
//#endregion
|
|
13841
14274
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
13842
14275
|
function defineSectionForegroundRuntimeTokens(input) {
|
|
@@ -13860,7 +14293,7 @@ function defineComponentRuntimeRules(rules) {
|
|
|
13860
14293
|
}
|
|
13861
14294
|
/**
|
|
13862
14295
|
* Default design rules translate semantic page-level choices into the current
|
|
13863
|
-
* runtime's section background
|
|
14296
|
+
* runtime's section background vocabulary.
|
|
13864
14297
|
*/
|
|
13865
14298
|
const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
13866
14299
|
sectionSurfaces: {
|
|
@@ -13895,8 +14328,7 @@ const defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
13895
14328
|
color: "surface",
|
|
13896
14329
|
opacity: .88
|
|
13897
14330
|
}
|
|
13898
|
-
}
|
|
13899
|
-
transitionClassName: (transition, fromSurface, toSurface) => transition === "none" ? null : `site-style-transition-${transition}-from-${fromSurface}-to-${toSurface}`
|
|
14331
|
+
}
|
|
13900
14332
|
});
|
|
13901
14333
|
/**
|
|
13902
14334
|
* Default component rules translate frame and item-surface semantics into the
|
|
@@ -15631,19 +16063,11 @@ const curatedSiteStyles = [
|
|
|
15631
16063
|
})
|
|
15632
16064
|
];
|
|
15633
16065
|
new Map(curatedSiteStyles.map((style) => [style.id, style]));
|
|
15634
|
-
asPageFlowPresetId("generated-default");
|
|
15635
|
-
asSiteStyleId("site-style:south-west-twerk-school");
|
|
15636
|
-
asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
15637
|
-
asLayoutVariantKey("classic");
|
|
15638
|
-
asLayoutVariantKey("micro");
|
|
15639
|
-
asBoundaryOptionId("break:wave");
|
|
15640
|
-
asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
|
|
15641
16066
|
//#endregion
|
|
15642
16067
|
//#region ../theme-core/src/site-styles/resolver.ts
|
|
15643
16068
|
const blockDesignFallback = {
|
|
15644
16069
|
sectionSurface: "base",
|
|
15645
16070
|
contentFrame: plainFrame,
|
|
15646
|
-
transitionAfter: "none",
|
|
15647
16071
|
sectionHeight: "default",
|
|
15648
16072
|
heroLegibility: "none",
|
|
15649
16073
|
imageSurfaceTreatment: { kind: "none" },
|
|
@@ -15654,7 +16078,7 @@ const blockDesignFallback = {
|
|
|
15654
16078
|
accordionIconTreatment: null,
|
|
15655
16079
|
composition: null
|
|
15656
16080
|
};
|
|
15657
|
-
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.
|
|
16081
|
+
blockDesignFallback.sectionSurface, blockDesignFallback.contentFrame, blockDesignFallback.sectionHeight, blockDesignFallback.heroLegibility, blockDesignFallback.imageSurfaceTreatment, blockDesignFallback.imageSurfaceMotion, blockDesignFallback.tileTreatment, blockDesignFallback.eventListTreatment, blockDesignFallback.eyebrowTreatment, blockDesignFallback.accordionIconTreatment, blockDesignFallback.composition;
|
|
15658
16082
|
//#endregion
|
|
15659
16083
|
//#region ../theme-core/src/site-styles/siteChromeBackgrounds.ts
|
|
15660
16084
|
const siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
|
|
@@ -16466,7 +16890,8 @@ const siteOptionSources = [
|
|
|
16466
16890
|
"eventCategories",
|
|
16467
16891
|
"eventSeries",
|
|
16468
16892
|
"venues",
|
|
16469
|
-
"staffMembers"
|
|
16893
|
+
"staffMembers",
|
|
16894
|
+
"appointmentServiceCategories"
|
|
16470
16895
|
];
|
|
16471
16896
|
const mediaDeliverySchema = z.object({
|
|
16472
16897
|
sizes: z.string().optional(),
|
|
@@ -27334,6 +27759,15 @@ const appointmentServicesBlockDefinition = {
|
|
|
27334
27759
|
required: false,
|
|
27335
27760
|
ui: { intent: "content" }
|
|
27336
27761
|
},
|
|
27762
|
+
createSiteOptionSelectField({
|
|
27763
|
+
id: "categoryId",
|
|
27764
|
+
label: "Category",
|
|
27765
|
+
description: "Show one category (with its heading and intro), or leave it on All categories to show everything grouped.",
|
|
27766
|
+
required: false,
|
|
27767
|
+
multiple: false,
|
|
27768
|
+
optionSource: "appointmentServiceCategories",
|
|
27769
|
+
ui: { intent: "content" }
|
|
27770
|
+
}),
|
|
27337
27771
|
sectionStylesField({
|
|
27338
27772
|
id: "_sectionStyles",
|
|
27339
27773
|
label: "Section styles",
|
|
@@ -27368,6 +27802,7 @@ const appointmentServicesBlockDefinition = {
|
|
|
27368
27802
|
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
27369
27803
|
el("appointment-services", {
|
|
27370
27804
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
27805
|
+
categoryId: { $bind: { from: "content.categoryId" } },
|
|
27371
27806
|
services: { $bind: { from: "data.services" } },
|
|
27372
27807
|
pathname: { $bind: { from: "$root.pathname" } },
|
|
27373
27808
|
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
@@ -38715,7 +39150,12 @@ const appointmentSetupServiceDraftSchema = z.object({
|
|
|
38715
39150
|
venue: appointmentSetupVenueChoiceSchema,
|
|
38716
39151
|
timezone: z.string().trim().min(1).nullable(),
|
|
38717
39152
|
payment: appointmentSetupPaymentDraftSchema,
|
|
38718
|
-
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
39153
|
+
assignment: appointmentSetupServiceAssignmentDraftSchema,
|
|
39154
|
+
/**
|
|
39155
|
+
* The service's category, or null for "Other" (issue 1403). Omitted leaves
|
|
39156
|
+
* an existing service's category alone and puts a new one in "Other".
|
|
39157
|
+
*/
|
|
39158
|
+
categoryId: z.string().uuid().nullable().optional()
|
|
38719
39159
|
}).superRefine((service, ctx) => {
|
|
38720
39160
|
if (service.payment.kind !== "free" && (service.priceAmount === null || service.priceAmount <= 0)) ctx.addIssue({
|
|
38721
39161
|
code: "custom",
|