@riverbankcms/sdk 0.144.0 → 0.146.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/CHANGELOG.md +17 -0
- package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +688 -519
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +3381 -2017
- package/dist/_dts/ai/src/contracts/proposals.d.ts +5643 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +513 -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/bookingConfig.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +10 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +32 -24
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +316 -134
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +7 -1
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +22 -2
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +30 -11
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- 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/sdk-event-upsert.d.ts +40 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +4 -38
- package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +8 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- 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 +3 -1
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
- 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/pageRendererContracts.d.ts +3 -1
- 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/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -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/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- 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 +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -3
- 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/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -1
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +12 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +711 -242
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -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 +3 -3
- 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 -1
- 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/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +7 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +6 -2
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +10 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -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/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
- package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BEQNSptH.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-AMr-s5vw.mjs} +168 -95
- package/dist/client/bookings.mjs +239 -110
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-Bbt_QgJy.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-CnWi30zJ.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-f3nkWgd4.mjs} +3 -3
- package/dist/client/client.mjs +3222 -1612
- package/dist/client/{context-CDLCfDep.mjs → context-Bc8T6pCe.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-DUsCEzLb.mjs} +2 -3
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-CA3frIH5.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
- package/dist/client/{form-BjqKaBJ7.mjs → form-C2h3YAcg.mjs} +135 -104
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-lwMuMTH9.mjs} +3 -3
- package/dist/client/hooks.mjs +1023 -148
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-DJ2bLODV.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-8Pu5K32g.mjs} +225 -102
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-HHx3IgBz.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-C_1odnAf.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-CtCv-Nmx.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-Dcgsncxb.mjs} +111 -55
- package/dist/client/rendering/client.mjs +1389 -722
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +3136 -1400
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-DQXrQ8kJ.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-cuaONpkJ.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +500 -165
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +11 -0
- package/dist/preview-next/keepAlive.mjs +460 -165
- package/dist/preview-next/middleware.mjs +461 -165
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-h5IgbSp4.mjs} +485 -165
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-BpHS1KZK.mjs} +1 -1
- package/dist/server/components.mjs +3088 -1307
- package/dist/server/config-validation.mjs +927 -109
- package/dist/server/config.mjs +927 -109
- package/dist/server/data.mjs +939 -110
- package/dist/server/index.mjs +513 -169
- package/dist/server/next.mjs +2874 -1195
- package/dist/server/page-converter.mjs +420 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3071 -1289
- package/dist/server/rendering.mjs +3169 -1350
- package/dist/server/routing.mjs +1085 -159
- package/dist/server/server.mjs +1042 -291
- package/dist/server/theme-bridge.mjs +1658 -137
- package/dist/server/theme.mjs +6 -4
- package/dist/styles/index.css +186 -65
- package/package.json +2 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkbox and radio CSS shared by the full theme generator and the SDK
|
|
3
|
+
* theme bridge, so both render the same customer-facing controls.
|
|
4
|
+
*
|
|
5
|
+
* Emits:
|
|
6
|
+
* - .form-checkbox / .form-radio: the controls themselves. The tick and dot
|
|
7
|
+
* are drawn with ::before so their colour comes from theme tokens rather
|
|
8
|
+
* than a baked-in SVG.
|
|
9
|
+
* - .form-check: a label row holding a control and its text. The control
|
|
10
|
+
* lines up with the first line of text, so long labels wrap cleanly.
|
|
11
|
+
* - .form-check--tile: a bordered, fully clickable panel for agreements
|
|
12
|
+
* (booking consent, consent fields) that tints when ticked.
|
|
13
|
+
*/
|
|
14
|
+
export type CheckableCorners = 'square' | 'soft' | 'rounded' | 'pill';
|
|
15
|
+
export type CheckableCssInput = Readonly<{
|
|
16
|
+
/** Scoped root selector, e.g. `:where([data-theme-scope="x"])`. */
|
|
17
|
+
root: string;
|
|
18
|
+
/** Resolved CSS border width, e.g. `1px`. */
|
|
19
|
+
borderWidth: string;
|
|
20
|
+
/** Resolved CSS colour for the unchecked border. */
|
|
21
|
+
borderColor: string;
|
|
22
|
+
/** Resolved CSS colour for the unchecked fill. */
|
|
23
|
+
background: string;
|
|
24
|
+
/** Input corner style; checkboxes and tiles scale their radius from it. */
|
|
25
|
+
corners: CheckableCorners;
|
|
26
|
+
/**
|
|
27
|
+
* Theme colour token for the checked fill, tile tint and focus outline.
|
|
28
|
+
* Any opacity suffix is dropped (`primary/70` fills with solid primary):
|
|
29
|
+
* the tick's on-token only contrasts with the solid colour.
|
|
30
|
+
*/
|
|
31
|
+
accentToken: string;
|
|
32
|
+
/** Resolved CSS colour for an invalid agreement tile. */
|
|
33
|
+
errorColor: string;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Colour for the tick/dot drawn on top of the accent fill. Uses the palette's
|
|
37
|
+
* matching "on" token where there is one, falling back to white.
|
|
38
|
+
*/
|
|
39
|
+
/** The accent at full strength: `primary/70` becomes `primary`. */
|
|
40
|
+
export declare function solidAccentToken(accentToken: string): string;
|
|
41
|
+
export declare function checkableMarkColor(accentToken: string): string;
|
|
42
|
+
export declare function generateCheckableCss(input: CheckableCssInput): string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input group: a field and an action (usually a themed button) sharing one
|
|
3
|
+
* input-styled shell, e.g. the newsletter email + Sign up row.
|
|
4
|
+
*
|
|
5
|
+
* The shell `.form-input-group` takes the theme's `.form-input` rules (the
|
|
6
|
+
* generators add it to that selector list, plus focus and error), so it
|
|
7
|
+
* follows the site's input background, border, corners and shadow. This file
|
|
8
|
+
* only adds the layout overrides and the borderless inner field.
|
|
9
|
+
*/
|
|
10
|
+
export declare const INPUT_GROUP_SELECTOR = ".form-input-group";
|
|
11
|
+
/** Shell focus ring follows the field only, not the button beside it. */
|
|
12
|
+
export declare const INPUT_GROUP_FOCUS_SELECTOR = ".form-input-group:has(> .form-input-group-field:focus-visible)";
|
|
13
|
+
export declare const INPUT_GROUP_ERROR_SELECTOR = ".form-input-group:has(> .form-input-group-field[aria-invalid=\"true\"])";
|
|
14
|
+
/**
|
|
15
|
+
* @param root - scoped root selector
|
|
16
|
+
* @param padding - the theme's input padding shorthand (`block inline`), so the
|
|
17
|
+
* inner field's text sits where a plain input's text would.
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateInputGroupCss(root: string, padding: string): string;
|
|
@@ -33,6 +33,14 @@ export type CompositionBudgetValidationInput<TBlockId extends string = DesignBlo
|
|
|
33
33
|
policy: DesignResolutionPolicy;
|
|
34
34
|
budget: CompositionBudget;
|
|
35
35
|
resolved: ResolvedPageDesignPlan<TBlockId, TPurpose>;
|
|
36
|
+
/**
|
|
37
|
+
* The page's resolved joins. A join counts towards the transition mix when
|
|
38
|
+
* the frame rule lets it draw; one next to a flush panel doesn't.
|
|
39
|
+
*/
|
|
40
|
+
joins: readonly Readonly<{
|
|
41
|
+
previousBlockId: TBlockId;
|
|
42
|
+
nextBlockId: TBlockId;
|
|
43
|
+
}>[];
|
|
36
44
|
blockContexts?: readonly BlockCompositionContext<TBlockId>[];
|
|
37
45
|
}>;
|
|
38
46
|
export declare function maxCompositionItemsWithinRatio(totalItems: number, allowedRatio: number): number;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BlockDesignMetadata } from './blockFlow';
|
|
2
2
|
import { type PageDesignEditorIssue } from './pageDesignEditorModel';
|
|
3
|
-
import type { CompiledBlockRuntimeFields,
|
|
3
|
+
import type { CompiledBlockRuntimeFields, SurfaceResolutionContext } from './runtimeCompiler';
|
|
4
|
+
import type { PageRuntimeJoin } from './joinTreatment';
|
|
4
5
|
import { type ContentTemplateBlockScope, type ContentTemplateDesignBlockId, type ContentTemplateDesignIntent } from './contentTemplateDesignIntent';
|
|
5
6
|
import type { BlockDesignCapability, LayoutVariantKey } from './types';
|
|
6
7
|
export type ContentTemplateRuntimeBlockInput = Readonly<{
|
|
@@ -18,7 +19,7 @@ export type CompiledContentTemplateRuntimeBlock = Readonly<{
|
|
|
18
19
|
}>;
|
|
19
20
|
export type CompiledContentTemplateRuntime = Readonly<{
|
|
20
21
|
blocks: readonly CompiledContentTemplateRuntimeBlock[];
|
|
21
|
-
|
|
22
|
+
joins: readonly PageRuntimeJoin<ContentTemplateDesignBlockId>[];
|
|
22
23
|
fieldsByBlockId: ReadonlyMap<ContentTemplateDesignBlockId, CompiledBlockRuntimeFields>;
|
|
23
24
|
issues: readonly PageDesignEditorIssue<ContentTemplateDesignBlockId>[];
|
|
24
25
|
}>;
|
|
@@ -112,9 +112,7 @@ export declare const blockRuntimeStyleAuthoritySchema: z.ZodObject<{
|
|
|
112
112
|
_sectionStyles: "_sectionStyles";
|
|
113
113
|
_containerStyles: "_containerStyles";
|
|
114
114
|
_cardStyles: "_cardStyles";
|
|
115
|
-
|
|
116
|
-
styleGroup: "styleGroup";
|
|
117
|
-
}>>, z.ZodTransform<NonEmptyRuntimeStyleFieldNames, ("_frameStyles" | "_sectionStyles" | "_containerStyles" | "_cardStyles" | "_transitionStyles" | "styleGroup")[]>>;
|
|
115
|
+
}>>, z.ZodTransform<NonEmptyRuntimeStyleFieldNames, ("_frameStyles" | "_sectionStyles" | "_containerStyles" | "_cardStyles")[]>>;
|
|
118
116
|
authority: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
119
117
|
kind: z.ZodLiteral<"theme-v2">;
|
|
120
118
|
source: z.ZodEnum<{
|
|
@@ -3,6 +3,7 @@ import type { ThemeV2StyleAuthority } from './designState';
|
|
|
3
3
|
import { type PageDesignIntent } from './pageDesignIntent';
|
|
4
4
|
import { type HeaderOpeningSectionRepair } from './headerOpeningSection';
|
|
5
5
|
import type { HeaderOpeningSectionContext } from './headerLayoutStyles';
|
|
6
|
+
import { type JoinIntent } from './joinTreatment';
|
|
6
7
|
import { type CompiledPageRuntime } from './runtimeCompiler';
|
|
7
8
|
import { type BlockDesignCapabilityMap, type BlockDesignPlan, type DesignBlockId, type DesignRepairResult, type DesignResolutionIssue, type GeneratedPageDesignIntent, type ResolvedPageDesignPlan, type SiteStyleId } from './types';
|
|
8
9
|
import type { CuratedSiteStyle } from './curatedSiteStyles';
|
|
@@ -44,6 +45,8 @@ export type GeneratedDesignPipelineSuccess<TBlockId extends DesignBlockId = Desi
|
|
|
44
45
|
intent: GeneratedPageDesignIntent<TBlockId>;
|
|
45
46
|
plan: readonly BlockDesignPlan<TBlockId>[];
|
|
46
47
|
resolved: ResolvedPageDesignPlan<TBlockId>;
|
|
48
|
+
/** The page's resolved joins, in block order; see `resolveJoinTreatment`. */
|
|
49
|
+
joins: readonly JoinIntent<TBlockId>[];
|
|
47
50
|
headerOpeningSectionContext: HeaderOpeningSectionContext;
|
|
48
51
|
headerOpeningSectionRepairs: readonly HeaderOpeningSectionRepair[];
|
|
49
52
|
repairs: readonly DesignRepairResult<TBlockId>[];
|
|
@@ -23,6 +23,7 @@ export { compareCompiledHeaders, type CompiledHeaderComparison, type HeaderField
|
|
|
23
23
|
export { compileHeaderForCuratedSelection, recompileSiteChromeHeader, recompileSiteChromeHeaderFromPersistedIntent, type CuratedHeaderSelectionRepair, type CompiledCuratedHeader, type HeaderInteractionPaletteRequest, type RecompileSiteChromeHeaderInput, type RecompiledSiteChromeHeader, } from './headerRecompile';
|
|
24
24
|
export * from './headerOpeningForeground';
|
|
25
25
|
export * from './headerOpeningSection';
|
|
26
|
+
export * from './joinTreatment';
|
|
26
27
|
export * from './lookResolution';
|
|
27
28
|
export * from './lookOptionGroups';
|
|
28
29
|
export * from './logoBranding';
|
|
@@ -42,6 +43,7 @@ export * from './resolver';
|
|
|
42
43
|
export * from './runtimeCompiler';
|
|
43
44
|
export * from './runtimeBackgroundResolution';
|
|
44
45
|
export * from './sectionTransitions';
|
|
46
|
+
export * from './sectionBoundaryComposition';
|
|
45
47
|
export * from './siteChromeBackgrounds';
|
|
46
48
|
export * from './siteChromeNavPreferences';
|
|
47
49
|
export * from './siteStyleThemeCompiler';
|
|
@@ -49,6 +51,7 @@ export * from './siteStyleBlockPolicies';
|
|
|
49
51
|
export * from './sourceCatalogs';
|
|
50
52
|
export * from './styleTags';
|
|
51
53
|
export * from './tokenRecipes';
|
|
54
|
+
export * from './transitionCatalogue';
|
|
52
55
|
export * from './siteStyleTypography';
|
|
53
56
|
export * from './themeParity';
|
|
54
57
|
export * from './types';
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { type PageDesignDecisions } from './pageDesignIntent';
|
|
2
|
+
import type { PageDesignEditorIssue } from './pageDesignEditorModel';
|
|
3
|
+
import { type SectionBoundaryTreatment } from './sectionTransitions';
|
|
4
|
+
import type { DecorativeTransitionIntent } from './transitionCatalogue';
|
|
5
|
+
import { type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type GeneratedPageDesignBlockIntent, type PageFlowPresetId, type SiteStyleId } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Where a page-design join's default treatment came from. Derived at read
|
|
8
|
+
* time and never persisted (issue 1422).
|
|
9
|
+
*/
|
|
10
|
+
export type PageDesignDefaultJoinSource = Readonly<{
|
|
11
|
+
kind: 'site-style-default';
|
|
12
|
+
siteStyleId: SiteStyleId;
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
kind: 'page-flow-default';
|
|
15
|
+
/** Null when the page's preset id is unknown and the first option applies. */
|
|
16
|
+
pageFlowPresetId: PageFlowPresetId | null;
|
|
17
|
+
}>;
|
|
18
|
+
export type PageDesignJoinSource = Readonly<{
|
|
19
|
+
kind: 'user-pinned';
|
|
20
|
+
}> | PageDesignDefaultJoinSource;
|
|
21
|
+
export type GeneratedJoinSource = Readonly<{
|
|
22
|
+
kind: 'generated';
|
|
23
|
+
origin: 'boundary-intent' | 'block-design' | 'automatic';
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Where a join's treatment came from. Only `user-pinned` is a stored choice.
|
|
27
|
+
*/
|
|
28
|
+
export type JoinTreatmentSource = PageDesignJoinSource | GeneratedJoinSource;
|
|
29
|
+
/**
|
|
30
|
+
* One source's opinion about a join, in the persisted vocabulary. Adapters
|
|
31
|
+
* translate their inputs into these; they never decide support or fallback.
|
|
32
|
+
*/
|
|
33
|
+
export type JoinTreatmentCandidate<TSource extends JoinTreatmentSource = JoinTreatmentSource> = Readonly<{
|
|
34
|
+
source: TSource;
|
|
35
|
+
treatment: SectionBoundaryTreatment;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* A resolved break between two adjacent blocks: which treatment, and where it
|
|
39
|
+
* came from. Whether it draws is composition's call (`composeBoundary`), made
|
|
40
|
+
* from the content that finally renders. Joins that resolve to `none` are
|
|
41
|
+
* absent rather than carried with a `none` treatment.
|
|
42
|
+
*/
|
|
43
|
+
export type JoinIntent<TBlockId extends DesignBlockId = DesignBlockId, TSource extends JoinTreatmentSource = JoinTreatmentSource> = Readonly<{
|
|
44
|
+
boundaryId: DesignBoundaryId;
|
|
45
|
+
previousBlockId: TBlockId;
|
|
46
|
+
nextBlockId: TBlockId;
|
|
47
|
+
treatment: DecorativeTransitionIntent;
|
|
48
|
+
source: TSource;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* The public, intent-only form of a join sent to renderers. The boundary id is
|
|
52
|
+
* derivable from the two block ids (`makeBoundaryId`), and the source stays
|
|
53
|
+
* internal. The renderer decides whether each join draws, from final content.
|
|
54
|
+
*/
|
|
55
|
+
export type PageRuntimeJoin<TBlockId extends string = string> = Readonly<{
|
|
56
|
+
previousBlockId: TBlockId;
|
|
57
|
+
nextBlockId: TBlockId;
|
|
58
|
+
treatment: DecorativeTransitionIntent;
|
|
59
|
+
}>;
|
|
60
|
+
/** Narrows any join (a resolved intent included) to its public, intent-only form. */
|
|
61
|
+
export declare function toPageRuntimeJoin<TBlockId extends string>(join: PageRuntimeJoin<TBlockId>): PageRuntimeJoin<TBlockId>;
|
|
62
|
+
export type JoinIssue = Extract<PageDesignEditorIssue, Readonly<{
|
|
63
|
+
kind: 'pinned-boundary-option-unavailable';
|
|
64
|
+
}>>;
|
|
65
|
+
/**
|
|
66
|
+
* What became of the user's pin, if the candidates carried one. The editor
|
|
67
|
+
* shows a pin by this status; the unavailable-pin issue is built from it.
|
|
68
|
+
*/
|
|
69
|
+
export type JoinPinStatus = Readonly<{
|
|
70
|
+
kind: 'none';
|
|
71
|
+
}> | Readonly<{
|
|
72
|
+
kind: 'supported';
|
|
73
|
+
}> | Readonly<{
|
|
74
|
+
kind: 'unsupported';
|
|
75
|
+
/** The pin's own option id, or the option the join fell back to. */
|
|
76
|
+
optionId: BoundaryOptionId;
|
|
77
|
+
}>;
|
|
78
|
+
export type JoinTreatmentResolution<TBlockId extends DesignBlockId = DesignBlockId, TSource extends JoinTreatmentSource = JoinTreatmentSource> = Readonly<{
|
|
79
|
+
join: JoinIntent<TBlockId, TSource> | null;
|
|
80
|
+
/**
|
|
81
|
+
* The source of the winning candidate, kept even when that candidate was
|
|
82
|
+
* `none` and so yields no join. Null only when no candidate was usable.
|
|
83
|
+
*/
|
|
84
|
+
selectedSource: TSource | null;
|
|
85
|
+
pin: JoinPinStatus;
|
|
86
|
+
issues: readonly JoinIssue[];
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* The single rule set for which treatment a join gets. Candidates arrive in
|
|
90
|
+
* priority order; the first supported one wins.
|
|
91
|
+
*
|
|
92
|
+
* - `none` ends the search and yields no join.
|
|
93
|
+
* - An unsupported candidate (a legacy option id, or a structured treatment the
|
|
94
|
+
* catalogue lacks) falls through to the next one. When it was the user's
|
|
95
|
+
* pin, the pin is reported unsupported and the existing
|
|
96
|
+
* `pinned-boundary-option-unavailable` issue is raised.
|
|
97
|
+
*/
|
|
98
|
+
export declare function resolveJoinTreatment<TBlockId extends DesignBlockId, TSource extends JoinTreatmentSource>(input: Readonly<{
|
|
99
|
+
candidates: readonly JoinTreatmentCandidate<TSource>[];
|
|
100
|
+
previousBlockId: TBlockId;
|
|
101
|
+
nextBlockId: TBlockId;
|
|
102
|
+
}>): JoinTreatmentResolution<TBlockId, TSource>;
|
|
103
|
+
/**
|
|
104
|
+
* The page-design defaults for a join, in priority order: the site style's
|
|
105
|
+
* default break after the previous block, then the page-flow default, which
|
|
106
|
+
* is always last.
|
|
107
|
+
*/
|
|
108
|
+
export declare function pageDesignDefaultJoinCandidates(input: Readonly<{
|
|
109
|
+
siteStyleId: SiteStyleId;
|
|
110
|
+
pageFlowPresetId: PageDesignDecisions['pageFlowPresetId'];
|
|
111
|
+
previousBlockKind: string;
|
|
112
|
+
}>): readonly JoinTreatmentCandidate<PageDesignDefaultJoinSource>[];
|
|
113
|
+
/** The last-resort page-design default, also the source of a fully unsupported join. */
|
|
114
|
+
export declare function pageFlowDefaultJoinCandidate(pageFlowPresetId: PageDesignDecisions['pageFlowPresetId']): JoinTreatmentCandidate<Extract<PageDesignDefaultJoinSource, {
|
|
115
|
+
kind: 'page-flow-default';
|
|
116
|
+
}>>;
|
|
117
|
+
/**
|
|
118
|
+
* Page-design source adapter. Priority: the user's pin, then the defaults.
|
|
119
|
+
* The pin is offered even when unsupported so the rule function can report it.
|
|
120
|
+
*/
|
|
121
|
+
export declare function joinCandidatesFromPageDesign<TBlockId extends DesignBlockId>(intent: PageDesignDecisions<TBlockId>, siteStyleId: SiteStyleId, previous: Readonly<{
|
|
122
|
+
blockId: TBlockId;
|
|
123
|
+
blockKind: string;
|
|
124
|
+
}>, next: Readonly<{
|
|
125
|
+
blockId: TBlockId;
|
|
126
|
+
}>): readonly JoinTreatmentCandidate<PageDesignJoinSource>[];
|
|
127
|
+
/**
|
|
128
|
+
* Generated-design source adapter. Mirrors today's materialisation: the
|
|
129
|
+
* boundary intent's explicit choice, then the block design's explicit choice,
|
|
130
|
+
* then the automatic default of no break.
|
|
131
|
+
*/
|
|
132
|
+
export declare function joinCandidatesFromGeneratedIntent(block: GeneratedPageDesignBlockIntent): readonly JoinTreatmentCandidate<GeneratedJoinSource>[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type PageDesignChoice, type PageDesignDecisions } from './pageDesignIntent';
|
|
2
|
+
import type { PageDesignEditorBlock, PageDesignEditorBoundary, PageDesignEditorIssue, PageDesignEditorReadModel } from './pageDesignEditorModel';
|
|
3
|
+
import { type SectionBoundaryTreatment } from './sectionTransitions';
|
|
4
|
+
import { type DesignBlockId, type SiteStyleId } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* The editor's boundary read models. Each join's treatment, and where it came
|
|
7
|
+
* from, is decided by `resolveJoinTreatment`; this module only projects that
|
|
8
|
+
* resolution onto what the editor shows (issue 1422).
|
|
9
|
+
*/
|
|
10
|
+
type BoundaryReadModelResult<TBlockId extends DesignBlockId> = Readonly<{
|
|
11
|
+
boundary: PageDesignEditorBoundary<TBlockId>;
|
|
12
|
+
issues: readonly PageDesignEditorIssue<TBlockId>[];
|
|
13
|
+
}>;
|
|
14
|
+
export declare function buildBoundaryReadModels<TBlockId extends DesignBlockId>(input: Readonly<{
|
|
15
|
+
siteStyleId: SiteStyleId;
|
|
16
|
+
intent: PageDesignDecisions<TBlockId>;
|
|
17
|
+
blocks: readonly PageDesignEditorBlock<TBlockId>[];
|
|
18
|
+
}>): readonly BoundaryReadModelResult<TBlockId>[];
|
|
19
|
+
/**
|
|
20
|
+
* Re-resolves one boundary of an editor model for a changed break choice,
|
|
21
|
+
* through the same rules the model was built with. The preview uses it for
|
|
22
|
+
* optimistic updates, so a reset lands on whichever default the rules pick
|
|
23
|
+
* (site style or Page Flow). Null when either block is not in the model.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolvePageDesignEditorBoundaryForChoice<TBlockId extends DesignBlockId>(input: Readonly<{
|
|
26
|
+
editorModel: Pick<PageDesignEditorReadModel<TBlockId>, 'siteStyleId' | 'pageFlow' | 'blocks'>;
|
|
27
|
+
previousBlockId: TBlockId;
|
|
28
|
+
nextBlockId: TBlockId;
|
|
29
|
+
choice: PageDesignChoice<SectionBoundaryTreatment>;
|
|
30
|
+
}>): PageDesignEditorBoundary<TBlockId> | null;
|
|
31
|
+
export {};
|
|
@@ -2,17 +2,14 @@ import { type PageDesignEditorBackgroundSupport } from './pageDesignEditorCapabi
|
|
|
2
2
|
import type { BlockDesignMetadata } from './blockFlow';
|
|
3
3
|
import { type PageDesignDecisions } from './pageDesignIntent';
|
|
4
4
|
import { type AppearancePresetId, type BlockDesignCapability, type CardRoleCapability, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type SiteStyleId } from './types';
|
|
5
|
-
import {
|
|
5
|
+
import type { BoundaryOption } from './sectionTransitions';
|
|
6
|
+
import { type PageFlowPreset } from './pageFlowPresets';
|
|
7
|
+
import type { PageDesignDefaultJoinSource } from './joinTreatment';
|
|
6
8
|
import type { PageDesignEditorBlockContentRevision, PageDesignEditorLayoutOption, PageDesignEditorLookOption, PageDesignEditorLooksForLayout } from './pageDesignEditorOptions';
|
|
7
9
|
export { boundaryOptions, type BoundaryOption } from './sectionTransitions';
|
|
10
|
+
export { resolvePageDesignEditorBoundaryForChoice } from './pageDesignEditorBoundaries';
|
|
11
|
+
export { pageFlowPresets, type PageFlowBoundaryStrategy, type PageFlowPreset, } from './pageFlowPresets';
|
|
8
12
|
export type { PageDesignEditorBlockContentRevision, PageDesignEditorLayoutOption, PageDesignEditorLookOption, PageDesignEditorLooksForLayout, } from './pageDesignEditorOptions';
|
|
9
|
-
export type PageFlowBoundaryStrategy = 'quiet' | 'balanced' | 'expressive';
|
|
10
|
-
export type PageFlowPreset = Readonly<{
|
|
11
|
-
id: PageFlowPresetId;
|
|
12
|
-
label: string;
|
|
13
|
-
boundaryStrategy: PageFlowBoundaryStrategy;
|
|
14
|
-
defaultBoundaryOptionId: BoundaryOptionId;
|
|
15
|
-
}>;
|
|
16
13
|
export type PageDesignEditorBlockInput<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
|
|
17
14
|
blockId: TBlockId;
|
|
18
15
|
blockKind: string;
|
|
@@ -35,7 +32,9 @@ export declare function autoEditorChoice<TValue>(effectiveValue: TValue | null):
|
|
|
35
32
|
export declare function userPinnedEditorChoice<TValue>(value: TValue, input?: Readonly<{
|
|
36
33
|
status?: 'supported' | 'unsupported';
|
|
37
34
|
effectiveValue?: TValue | null;
|
|
38
|
-
}>): PageDesignEditorChoice<TValue
|
|
35
|
+
}>): Extract<PageDesignEditorChoice<TValue>, Readonly<{
|
|
36
|
+
kind: 'user-pinned';
|
|
37
|
+
}>>;
|
|
39
38
|
export type PageDesignEditorSelection<TValue> = Readonly<{
|
|
40
39
|
kind: 'selected';
|
|
41
40
|
value: TValue;
|
|
@@ -79,11 +78,35 @@ export declare const backgroundImagePromotedFieldPath: "_sectionStyles.backgroun
|
|
|
79
78
|
*/
|
|
80
79
|
export declare const normalEditorCuratedPromotedFieldPaths: readonly ["_sectionStyles.background.image"];
|
|
81
80
|
export type NormalEditorCuratedPromotedFieldPath = (typeof normalEditorCuratedPromotedFieldPaths)[number];
|
|
81
|
+
/**
|
|
82
|
+
* Where an `auto` break comes from. A site-style default and a page-flow
|
|
83
|
+
* default are both defaults, not user choices, but the editor labels them
|
|
84
|
+
* differently.
|
|
85
|
+
*/
|
|
86
|
+
export type PageDesignEditorBoundaryDefaultSource = PageDesignDefaultJoinSource;
|
|
87
|
+
/**
|
|
88
|
+
* A break choice as the editor shows it. It is assignable to
|
|
89
|
+
* `PageDesignEditorChoice<BoundaryOptionId>`; `auto` additionally says which
|
|
90
|
+
* default applies.
|
|
91
|
+
*/
|
|
92
|
+
export type PageDesignEditorBoundaryChoice = Readonly<{
|
|
93
|
+
kind: 'auto';
|
|
94
|
+
source: PageDesignEditorBoundaryDefaultSource;
|
|
95
|
+
effectiveValue: BoundaryOptionId | null;
|
|
96
|
+
}> | Extract<PageDesignEditorChoice<BoundaryOptionId>, Readonly<{
|
|
97
|
+
kind: 'user-pinned';
|
|
98
|
+
}>>;
|
|
82
99
|
export type PageDesignEditorBoundary<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
|
|
83
100
|
boundaryId: DesignBoundaryId;
|
|
84
101
|
previousBlockId: TBlockId;
|
|
85
102
|
nextBlockId: TBlockId;
|
|
86
|
-
breakChoice:
|
|
103
|
+
breakChoice: PageDesignEditorBoundaryChoice;
|
|
104
|
+
/**
|
|
105
|
+
* `breakChoice.effectiveValue` is the one effective break, decided by
|
|
106
|
+
* `resolveJoinTreatment`; the render compiler derives the join's treatment
|
|
107
|
+
* from it. Whether the break draws is decided by the renderer from final
|
|
108
|
+
* content.
|
|
109
|
+
*/
|
|
87
110
|
availableBreaks: readonly BoundaryOption[];
|
|
88
111
|
}>;
|
|
89
112
|
export type PageDesignEditorIssue<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
|
|
@@ -126,25 +149,6 @@ export type PageDesignEditorReadModel<TBlockId extends DesignBlockId = DesignBlo
|
|
|
126
149
|
boundaries: readonly PageDesignEditorBoundary<TBlockId>[];
|
|
127
150
|
issues: readonly PageDesignEditorIssue<TBlockId>[];
|
|
128
151
|
}>;
|
|
129
|
-
/**
|
|
130
|
-
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
131
|
-
*/
|
|
132
|
-
export declare const pageFlowPresets: readonly [{
|
|
133
|
-
readonly id: PageFlowPresetId;
|
|
134
|
-
readonly label: "Quiet";
|
|
135
|
-
readonly boundaryStrategy: "quiet";
|
|
136
|
-
readonly defaultBoundaryOptionId: BoundaryOptionId;
|
|
137
|
-
}, {
|
|
138
|
-
readonly id: PageFlowPresetId;
|
|
139
|
-
readonly label: "Balanced";
|
|
140
|
-
readonly boundaryStrategy: "balanced";
|
|
141
|
-
readonly defaultBoundaryOptionId: BoundaryOptionId;
|
|
142
|
-
}, {
|
|
143
|
-
readonly id: PageFlowPresetId;
|
|
144
|
-
readonly label: "Expressive";
|
|
145
|
-
readonly boundaryStrategy: "expressive";
|
|
146
|
-
readonly defaultBoundaryOptionId: BoundaryOptionId;
|
|
147
|
-
}];
|
|
148
152
|
export declare function buildPageDesignEditorReadModel<TBlockId extends DesignBlockId>(input: Readonly<{
|
|
149
153
|
siteStyleId: SiteStyleId;
|
|
150
154
|
intent: PageDesignDecisions<TBlockId>;
|
|
@@ -176,9 +176,9 @@ export declare const pageDesignBoundaryTreatmentSchema: z.ZodDiscriminatedUnion<
|
|
|
176
176
|
double: "double";
|
|
177
177
|
}>;
|
|
178
178
|
symmetry: z.ZodEnum<{
|
|
179
|
+
drift: "drift";
|
|
179
180
|
symmetrical: "symmetrical";
|
|
180
181
|
asymmetrical: "asymmetrical";
|
|
181
|
-
drift: "drift";
|
|
182
182
|
}>;
|
|
183
183
|
}, z.core.$strict>, z.ZodObject<{
|
|
184
184
|
kind: z.ZodLiteral<"angle-edge">;
|
|
@@ -234,9 +234,9 @@ export declare const pageDesignUserPinnedBoundaryTreatmentChoiceSchema: z.ZodObj
|
|
|
234
234
|
double: "double";
|
|
235
235
|
}>;
|
|
236
236
|
symmetry: z.ZodEnum<{
|
|
237
|
+
drift: "drift";
|
|
237
238
|
symmetrical: "symmetrical";
|
|
238
239
|
asymmetrical: "asymmetrical";
|
|
239
|
-
drift: "drift";
|
|
240
240
|
}>;
|
|
241
241
|
}, z.core.$strict>, z.ZodObject<{
|
|
242
242
|
kind: z.ZodLiteral<"angle-edge">;
|
|
@@ -305,9 +305,9 @@ export declare const pageDesignBoundaryPinSchema: z.ZodObject<{
|
|
|
305
305
|
double: "double";
|
|
306
306
|
}>;
|
|
307
307
|
symmetry: z.ZodEnum<{
|
|
308
|
+
drift: "drift";
|
|
308
309
|
symmetrical: "symmetrical";
|
|
309
310
|
asymmetrical: "asymmetrical";
|
|
310
|
-
drift: "drift";
|
|
311
311
|
}>;
|
|
312
312
|
}, z.core.$strict>, z.ZodObject<{
|
|
313
313
|
kind: z.ZodLiteral<"angle-edge">;
|
|
@@ -417,9 +417,9 @@ export declare const pageDesignIntentV2Schema: z.ZodObject<{
|
|
|
417
417
|
double: "double";
|
|
418
418
|
}>;
|
|
419
419
|
symmetry: z.ZodEnum<{
|
|
420
|
+
drift: "drift";
|
|
420
421
|
symmetrical: "symmetrical";
|
|
421
422
|
asymmetrical: "asymmetrical";
|
|
422
|
-
drift: "drift";
|
|
423
423
|
}>;
|
|
424
424
|
}, z.core.$strict>, z.ZodObject<{
|
|
425
425
|
kind: z.ZodLiteral<"angle-edge">;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type BoundaryOptionId, type PageFlowPresetId } from './types';
|
|
2
|
+
export type PageFlowBoundaryStrategy = 'quiet' | 'balanced' | 'expressive';
|
|
3
|
+
export type PageFlowPreset = Readonly<{
|
|
4
|
+
id: PageFlowPresetId;
|
|
5
|
+
label: string;
|
|
6
|
+
boundaryStrategy: PageFlowBoundaryStrategy;
|
|
7
|
+
defaultBoundaryOptionId: BoundaryOptionId;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Must remain non-empty; downstream code indexes `[0]` as the documented default.
|
|
11
|
+
*/
|
|
12
|
+
export declare const pageFlowPresets: readonly [{
|
|
13
|
+
readonly id: PageFlowPresetId;
|
|
14
|
+
readonly label: "Quiet";
|
|
15
|
+
readonly boundaryStrategy: "quiet";
|
|
16
|
+
readonly defaultBoundaryOptionId: BoundaryOptionId;
|
|
17
|
+
}, {
|
|
18
|
+
readonly id: PageFlowPresetId;
|
|
19
|
+
readonly label: "Balanced";
|
|
20
|
+
readonly boundaryStrategy: "balanced";
|
|
21
|
+
readonly defaultBoundaryOptionId: BoundaryOptionId;
|
|
22
|
+
}, {
|
|
23
|
+
readonly id: PageFlowPresetId;
|
|
24
|
+
readonly label: "Expressive";
|
|
25
|
+
readonly boundaryStrategy: "expressive";
|
|
26
|
+
readonly defaultBoundaryOptionId: BoundaryOptionId;
|
|
27
|
+
}];
|
|
28
|
+
/**
|
|
29
|
+
* The break a join gets when nothing more specific applies. An unknown preset
|
|
30
|
+
* id (a stale or policy-owned one) falls back to the first boundary option,
|
|
31
|
+
* and `preset` is null so callers can tell the two apart.
|
|
32
|
+
*/
|
|
33
|
+
export declare function pageFlowDefaultBoundary(pageFlowPresetId: PageFlowPresetId): Readonly<{
|
|
34
|
+
preset: PageFlowPreset | null;
|
|
35
|
+
boundaryOptionId: BoundaryOptionId;
|
|
36
|
+
}>;
|
|
@@ -5,7 +5,7 @@ import { type CuratedSiteStyle } from './curatedSiteStyles';
|
|
|
5
5
|
import { type FooterLookId } from './footerLooks';
|
|
6
6
|
import type { SiteThemeCompilationPlan } from './compilationPlan';
|
|
7
7
|
import type { HeaderLayoutStyleSelection } from './headerLayoutStyles';
|
|
8
|
-
import { type CompiledBlockRuntimeFields, type
|
|
8
|
+
import { type CompiledBlockRuntimeFields, type CompiledPageRuntime, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext } from './runtimeCompiler';
|
|
9
9
|
import { type AppearancePresetId, type DesignBlockId, type SiteStyleId } from './types';
|
|
10
10
|
import { type CuratedSiteStyleTheme } from './siteStyleThemeCompiler';
|
|
11
11
|
import type { SelectionFallbackWarning } from './selectionFallbackWarning';
|
|
@@ -20,13 +20,14 @@ export type { CuratedSiteStyleTheme } from './siteStyleThemeCompiler';
|
|
|
20
20
|
* enforced by `previewCompiler.client-boundary.test.ts`.
|
|
21
21
|
*/
|
|
22
22
|
export { defineBlockDesignMetadata, type BlockDesignMetadata, type BlockDesignMetadataInput, type BlockDesignMetadataMap, type BlockFlowBoundaryPreference, type BlockFlowContract, type BlockFlowSurfaceBehavior, type BlockFlowWeight, type BlockLayoutBoundaryBias, type BlockLayoutDesignProfile, type BlockLayoutDesignProfileInput, type BlockLayoutFamily, type BlockLayoutVisualWeight, type PageFlowRole, } from './blockFlow';
|
|
23
|
-
export { buildPageDesignEditorReadModel, boundaryOptions, pageFlowPresets, type BoundaryOption, type PageDesignEditorBlock, type PageDesignEditorBoundary, type PageDesignEditorChoice, type PageDesignEditorIssue, type PageDesignEditorReadModel, type PageDesignEditorSelection, type PageFlowPreset, } from './pageDesignEditorModel';
|
|
23
|
+
export { buildPageDesignEditorReadModel, boundaryOptions, pageFlowPresets, type BoundaryOption, type PageDesignEditorBlock, type PageDesignEditorBoundary, type PageDesignEditorBoundaryChoice, type PageDesignEditorBoundaryDefaultSource, type PageDesignEditorChoice, type PageDesignEditorIssue, type PageDesignEditorReadModel, type PageDesignEditorSelection, type PageFlowPreset, } from './pageDesignEditorModel';
|
|
24
24
|
export { autoDesignChoice, reducePageDesignIntentForUserAction, resolvePageDesignBlockLookChoice, resolvePageDesignBoundaryChoice, userPinnedDesignChoice, type PageDesignChoice, type PageDesignIntent, type PageDesignUserAction, } from './pageDesignIntent';
|
|
25
25
|
export { repairDesignIssue, resolveBlockDesignPlan } from './resolver';
|
|
26
26
|
export { cycleableOptionsFromResolved, deriveDesignCustomizationScope, recommendedDesignOption, type CycleableDesignOption, type CycleableOptions, type DesignCustomizationAuthority, type DesignCustomizationScope, type DesignCustomizationSurface, type DesignCustomizationUnsupportedReason, type DesignOptionIssue, type ResolvedDesignOption, } from './previewCustomization';
|
|
27
|
-
export { compileBlockRuntimeFields,
|
|
27
|
+
export { compileBlockRuntimeFields, compilePageRuntimeFields, compileTokenRecipes, compiledRuntimeStyleFieldNames, defaultComponentRuntimeRules, defaultDesignRuntimeRules, surfaceResolutionContextFromPalette, surfaceResolutionContextFromTheme, stripCompiledRuntimeStyleFields, type CompiledBlockRuntime, type CompiledBlockRuntimeFields, type CompiledPageRuntime, type CompileBlockRuntimeInput, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext, } from './runtimeCompiler';
|
|
28
28
|
export { defaultCuratedChoice, requireEntriesForCuratedChoices, resolveCuratedChoice, type CuratedChoice, type CuratedChoiceResolution, } from './curatedChoices';
|
|
29
29
|
export { curatedSiteStyles, defaultButtonStyleSelectionForSiteStyle, defaultPaletteForSiteStyle, getCuratedSiteStyle, type CuratedSiteStyle, } from './curatedSiteStyles';
|
|
30
|
+
export { toPageRuntimeJoin, type PageRuntimeJoin, } from './joinTreatment';
|
|
30
31
|
export { asDesignBlockId, asSiteStyleId, makeBoundaryId, type AppearancePresetId, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type ResolvedPageDesignPlan, type SiteStyleId, } from './types';
|
|
31
32
|
export declare const previewCustomizePurpose: "preview-customize";
|
|
32
33
|
/**
|
|
@@ -99,15 +100,8 @@ export type CompileEditorModelRuntimeInput<TBlockId extends DesignBlockId = Desi
|
|
|
99
100
|
*/
|
|
100
101
|
export declare function compileEditorModelRuntime<TBlockId extends DesignBlockId>(input: CompileEditorModelRuntimeInput<TBlockId>): CompiledPageRuntime<TBlockId>;
|
|
101
102
|
export declare function buildEditorModelRuntimeFieldsByBlockId<TBlockId extends DesignBlockId>(input: CompileEditorModelRuntimeInput<TBlockId>): ReadonlyMap<TBlockId, CompiledBlockRuntimeFields>;
|
|
102
|
-
export declare function buildEditorModelRuntimeBoundaries<TBlockId extends DesignBlockId>(input: CompileEditorModelRuntimeInput<TBlockId>): readonly CompiledBoundaryRuntime<TBlockId>[];
|
|
103
103
|
export declare function compileEditorModelRuntimeFieldsForBlock<TBlockId extends DesignBlockId>(input: CompileEditorModelRuntimeInput<TBlockId> & Readonly<{
|
|
104
104
|
blockId: TBlockId;
|
|
105
105
|
}>): CompiledBlockRuntimeFields | null;
|
|
106
106
|
export declare function applyCompiledRuntimeFieldsToContent<TContent extends Record<string, unknown>>(content: TContent, fields: CompiledBlockRuntimeFields | null | undefined): Record<string, unknown>;
|
|
107
|
-
export type RuntimeContentAdjacency = Readonly<{
|
|
108
|
-
currentContent: Record<string, unknown> | null | undefined;
|
|
109
|
-
nextContent: Record<string, unknown> | null | undefined;
|
|
110
|
-
}>;
|
|
111
|
-
export declare function retargetCompiledRuntimeFieldsForContentAdjacency(fields: CompiledBlockRuntimeFields | null | undefined, adjacency: RuntimeContentAdjacency): CompiledBlockRuntimeFields | null | undefined;
|
|
112
|
-
export declare function retargetCompiledBoundaryRuntimeForContentAdjacency<TBlockId extends string>(boundary: CompiledBoundaryRuntime<TBlockId>, adjacency: RuntimeContentAdjacency): CompiledBoundaryRuntime<TBlockId>;
|
|
113
107
|
export declare function restoreCompiledRuntimeFieldsFromContent<TCurrentContent extends Record<string, unknown>, TPreviousContent extends Record<string, unknown>>(currentContent: TCurrentContent, previousContent: TPreviousContent): Record<string, unknown>;
|
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
export declare const themeV2RuntimeStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles"
|
|
1
|
+
export declare const themeV2RuntimeStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles"];
|
|
2
2
|
export type ThemeV2RuntimeStyleFieldName = typeof themeV2RuntimeStyleFieldNames[number];
|
|
3
3
|
export declare const themeV2BlockSpecificRawStyleFieldNames: readonly ["_contentCardStyles", "_heroLayoutStyles", "_textCardStyles"];
|
|
4
4
|
export type ThemeV2BlockSpecificRawStyleFieldName = typeof themeV2BlockSpecificRawStyleFieldNames[number];
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* `styleGroup` is authored content (a theme's style-group select, or an SDK
|
|
7
|
+
* site's own value), not compiler output, so it is neither a runtime field
|
|
8
|
+
* nor compiler-owned. Normal editors still never show it directly.
|
|
9
|
+
*/
|
|
10
|
+
export type ThemeV2NormalEditorRawStyleFieldName = ThemeV2RuntimeStyleFieldName | ThemeV2BlockSpecificRawStyleFieldName | 'styleGroup';
|
|
6
11
|
export type ThemeV2CompilerOwnedFieldName = ThemeV2RuntimeStyleFieldName | ThemeV2BlockSpecificRawStyleFieldName;
|
|
7
|
-
export declare const themeV2NormalEditorRawStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "
|
|
8
|
-
export declare const themeV2CompilerOwnedFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "
|
|
12
|
+
export declare const themeV2NormalEditorRawStyleFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "_contentCardStyles", "_heroLayoutStyles", "_textCardStyles", "styleGroup"];
|
|
13
|
+
export declare const themeV2CompilerOwnedFieldNames: readonly ["_frameStyles", "_sectionStyles", "_containerStyles", "_cardStyles", "_contentCardStyles", "_heroLayoutStyles", "_textCardStyles"];
|
|
9
14
|
export declare const pageDesignEditorBackgroundOverrideOwner: "page-design-editor";
|
|
10
15
|
export type PageDesignEditorBackgroundOverrideOwner = typeof pageDesignEditorBackgroundOverrideOwner;
|
|
11
16
|
export declare const siteChromeBackgroundOverrideOwner: "site-chrome-editor";
|
|
12
17
|
export type SiteChromeBackgroundOverrideOwner = typeof siteChromeBackgroundOverrideOwner;
|
|
13
18
|
export declare function isThemeV2NormalEditorRawStyleFieldName(fieldName: string): boolean;
|
|
14
19
|
export declare function isThemeV2NormalEditorRawStylePath(fieldPath: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* A `styleGroup` in the retired `site-style-transition-*` namespace is residue
|
|
22
|
+
* from the old per-block transition path (issue 1422). Any other value is
|
|
23
|
+
* authored and must survive.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isStaleTransitionStyleGroup(value: unknown): boolean;
|
|
26
|
+
/** Drops a stale transition `styleGroup`, leaving authored values untouched. */
|
|
27
|
+
export declare function stripStaleTransitionStyleGroup(content: Readonly<Record<string, unknown>>): Record<string, unknown>;
|