@riverbankcms/sdk 0.152.0 → 0.154.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 +15 -0
- package/dist/{EventEmbeddedCheckoutStep-DVQXWFm6.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
- package/dist/{PreviewEditorSidebar-Dr4NJi3Q.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
- package/dist/{PreviewEditorUI-DSZXQbyh.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
- package/dist/{SdkPreviewModeRuntime-Dl4GyMc3.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +266 -143
- package/dist/{SiteChromeCustomizeContext-DgBe-FlM.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +5340 -4329
- package/dist/{ThemedButton-B8ViBnLK.mjs → ThemedButton-C8kzu0hY.mjs} +610 -116
- package/dist/_dts/ai/src/contracts/proposals.d.ts +416 -182
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +3270 -8214
- package/dist/_dts/api/src/billing.d.ts +2 -0
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
- package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
- package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
- package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
- package/dist/_dts/api/src/bookings.d.ts +2 -3
- package/dist/_dts/api/src/communications.d.ts +19 -5
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +88 -43
- package/dist/_dts/api/src/index.d.ts +4 -2
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkThemeWire.d.ts +348 -1537
- package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
- package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
- package/dist/_dts/api/src/siteSettings.d.ts +1 -0
- package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
- package/dist/_dts/api/src/teamMembers.d.ts +2 -27
- package/dist/_dts/api/src/types.d.ts +11 -31
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
- package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +276 -884
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -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 +92 -90
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
- package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
- package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +48 -48
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
- package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
- package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +18 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +28 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +12 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +289 -885
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
- package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
- package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
- package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -3
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
- package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
- package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
- package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
- package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
- package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
- package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
- package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
- package/dist/_dts/core/src/date-display.d.ts +85 -0
- package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
- package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
- package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
- package/dist/_dts/core/src/footer-composition.d.ts +1 -1
- package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +12 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -2
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +9 -1
- package/dist/_dts/core/src/public-profile.d.ts +3 -1
- package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +105 -13
- package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +2 -2
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
- package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
- package/dist/_dts/media-core/src/index.d.ts +4 -0
- package/dist/_dts/media-core/src/media.d.ts +406 -0
- package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
- package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
- package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
- package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
- package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
- package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
- package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
- package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
- package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
- package/dist/_dts/media-editor/src/types.d.ts +1 -1
- package/dist/_dts/media-editor/src/utils.d.ts +0 -1
- package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
- package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
- package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
- package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
- package/dist/_dts/sdk/src/index.d.ts +1 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/image.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/link.d.ts +3 -7
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
- package/dist/_dts/theme-core/src/buttons/types.d.ts +378 -66
- package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +42 -42
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
- package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +495 -2766
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +838 -3369
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
- package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
- package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
- package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
- package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +2 -2
- package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
- package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{BookingMailingListNote-CBuMKN0w.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
- package/dist/client/{CardListItem-Dc9XTXhB.mjs → CardListItem-BkTkqBkh.mjs} +5 -4
- package/dist/client/{CheckboxChoice-CIqx_o0E.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-D3VQ_kLj.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
- package/dist/client/{EventCombined.client-BHGEKise.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -6
- package/dist/client/{EventEmbeddedCheckoutStep-Bo1Cm23R.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
- package/dist/client/{EventListing.client-D5OQgVPr.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CLL5cWrr.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
- package/dist/client/{RichText-BoDmnopf.mjs → RichText-BI9bzbjo.mjs} +106 -60
- package/dist/client/{ThemedButton-Ciltp0IK.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -2
- package/dist/client/{accordion-DOkRS64-.mjs → accordion-6Yz8Wd83.mjs} +1 -1
- package/dist/client/{bookingForm-wlMVwo9h.mjs → bookingForm-i_pKIGiY.mjs} +42 -15
- package/dist/client/bookings.mjs +118357 -22833
- package/dist/client/{carousel-CGWk-Z0u.mjs → carousel-DNqd_PjC.mjs} +2 -2
- package/dist/client/{carousel.client-kX5mN1Eg.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
- package/dist/client/{cart-OBBPlaH4.mjs → cart-D8OBHuF4.mjs} +3 -3
- package/dist/client/{checkout-Bmw2WjQX.mjs → checkout-F3-9IGLU.mjs} +3 -3
- package/dist/client/client.mjs +20785 -19238
- package/dist/client/{context-BI77UFAn.mjs → context-Dg4ZrxDD.mjs} +1 -1
- package/dist/client/{eventCalendar-qkej2Edn.mjs → eventCalendar-BUc7YIBM.mjs} +8 -9
- package/dist/client/{eventCombined-DApKHvat.mjs → eventCombined-BwfShk2a.mjs} +4 -4
- package/dist/client/{eventDetails-BQyUDPH0.mjs → eventDetails-BMOVC3go.mjs} +3 -3
- package/dist/client/{eventListing-CeAnshlZ.mjs → eventListing-BwE9PM-t.mjs} +4 -4
- package/dist/client/{eventRegistration-C3A3NyBO.mjs → eventRegistration-CCWPYDc7.mjs} +10 -10
- package/dist/client/{form-DW8rU7jO.mjs → form-CXFr0Gd5.mjs} +115 -52
- package/dist/client/{headerSection-CkIhsoNm.mjs → headerSection-BX8qw8kH.mjs} +3 -3
- package/dist/client/hooks.mjs +17908 -16797
- package/dist/client/{locationMap-D4O8wbli.mjs → locationMap-B3La71m0.mjs} +3 -4
- package/dist/client/{media-C5K_0xPd.mjs → media-B1Cbv721.mjs} +183 -362
- package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
- package/dist/client/{newsletterForm-B7IxSPuz.mjs → newsletterForm-DnGyR0x7.mjs} +51 -15
- package/dist/client/{productDetail-Bqxpwy5N.mjs → productDetail-BVgTqvkb.mjs} +3 -3
- package/dist/client/{productList-u9Lz8V15.mjs → productList-CcO7kUQw.mjs} +3 -3
- package/dist/client/{propsDecoder-Bf1jucUp.mjs → propsDecoder-B1OeWavE.mjs} +2193 -374
- package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
- package/dist/client/rendering/client.mjs +22424 -21488
- package/dist/client/rendering/islands.mjs +20 -23
- package/dist/client/rendering.mjs +21025 -19413
- package/dist/client/{routeIslandApiConfig-BgP-aPMl.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
- package/dist/client/{shop-B_eykR-_.mjs → shop-P72nX5Fs.mjs} +7 -7
- package/dist/client/{shop-commerce-CT0APkFV.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
- package/dist/client/{shop-commerce-store-DcvZxdEK.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
- package/dist/client/{shopShared-BVJOiUiJ.mjs → shopShared-Db-cRGu3.mjs} +5 -5
- package/dist/client/{useDiscountCodeUi-DPmYDunz.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
- package/dist/client/{useEventPagination-8-U55vH5.mjs → useEventPagination-BdWpCniq.mjs} +6 -7
- package/dist/preview-next/before-render.mjs +222 -55
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/editor-chrome.css +5 -2
- package/dist/preview-next/keepAlive.mjs +133 -51
- package/dist/preview-next/middleware.mjs +133 -51
- package/dist/{sdk-runtime-C5jPdSrk.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
- package/dist/server/components.mjs +21541 -20118
- package/dist/server/config-validation.mjs +2466 -1403
- package/dist/server/config.mjs +2466 -1403
- package/dist/server/data.mjs +17842 -16759
- package/dist/server/date-time.mjs +258 -116
- package/dist/server/index.mjs +360 -53
- package/dist/server/next.mjs +21913 -20539
- package/dist/server/page-converter.mjs +8121 -7322
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +21196 -19760
- package/dist/server/rendering.mjs +21554 -20123
- package/dist/server/routing.mjs +19806 -18607
- package/dist/server/server.mjs +2907 -1845
- package/dist/server/theme-bridge.mjs +991 -160
- package/dist/server/theme.mjs +501 -100
- package/dist/{spinner-B-ab2rJp.mjs → spinner-MTooKfck.mjs} +1 -1
- package/dist/styles/index.css +254 -1
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
- package/dist/client/aspectTransforms-D-TnDdq4.mjs +0 -93
- package/dist/client/colorStyles-ECDNPE_P.mjs +0 -1253
package/dist/server/theme.mjs
CHANGED
|
@@ -961,15 +961,108 @@ const themeLookMetadataSchema = z.object({
|
|
|
961
961
|
skinMarks: skinMarksSchema.optional()
|
|
962
962
|
});
|
|
963
963
|
//#endregion
|
|
964
|
-
//#region ../
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
964
|
+
//#region ../core/src/result.ts
|
|
965
|
+
function ok(value) {
|
|
966
|
+
return {
|
|
967
|
+
ok: true,
|
|
968
|
+
value
|
|
969
|
+
};
|
|
970
|
+
}
|
|
971
|
+
function err(error) {
|
|
972
|
+
return {
|
|
973
|
+
ok: false,
|
|
974
|
+
error
|
|
975
|
+
};
|
|
976
|
+
}
|
|
977
|
+
//#endregion
|
|
978
|
+
//#region ../core/src/branded.ts
|
|
979
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
980
|
+
function parseUuidBrand(value, unsafeConstructor) {
|
|
981
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
982
|
+
const normalized = value.trim().toLowerCase();
|
|
983
|
+
if (normalized.length === 0) return err({ kind: "empty_string" });
|
|
984
|
+
if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
|
|
985
|
+
return ok(unsafeConstructor(normalized));
|
|
986
|
+
}
|
|
987
|
+
const unsafeAsMediaAssetId = (id) => id;
|
|
988
|
+
const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
|
|
971
989
|
//#endregion
|
|
972
|
-
//#region ../
|
|
990
|
+
//#region ../media-core/src/identifiers.ts
|
|
991
|
+
function slugifyMediaIdentifier(value) {
|
|
992
|
+
return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
|
|
993
|
+
}
|
|
994
|
+
function parseMediaIdentifier(value) {
|
|
995
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
996
|
+
const trimmed = value.trim();
|
|
997
|
+
if (trimmed.length === 0) return err({ kind: "empty_identifier" });
|
|
998
|
+
const normalized = slugifyMediaIdentifier(trimmed);
|
|
999
|
+
if (normalized.length === 0) return err({
|
|
1000
|
+
kind: "empty_after_normalization",
|
|
1001
|
+
value
|
|
1002
|
+
});
|
|
1003
|
+
return ok(normalized);
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* Admits identifiers read from trusted persistence without repairing dirty data in memory.
|
|
1007
|
+
* User input should use parseMediaIdentifier, which intentionally canonicalizes it.
|
|
1008
|
+
*/
|
|
1009
|
+
function parseCanonicalMediaIdentifier(value) {
|
|
1010
|
+
if (typeof value !== "string") return err({ kind: "not_string" });
|
|
1011
|
+
const parsed = parseMediaIdentifier(value);
|
|
1012
|
+
if (!parsed.ok) return parsed;
|
|
1013
|
+
if (value !== parsed.value) return err({
|
|
1014
|
+
kind: "non_canonical_identifier",
|
|
1015
|
+
value,
|
|
1016
|
+
canonical: parsed.value
|
|
1017
|
+
});
|
|
1018
|
+
return parsed;
|
|
1019
|
+
}
|
|
1020
|
+
//#endregion
|
|
1021
|
+
//#region ../media-core/src/mediaIdentifierSchema.ts
|
|
1022
|
+
/** Strict stored-reference admission delegates the canonical identifier decision. */
|
|
1023
|
+
const mediaIdentifierSchema = z.string().transform((value, context) => {
|
|
1024
|
+
const parsed = parseCanonicalMediaIdentifier(value);
|
|
1025
|
+
if (parsed.ok) return parsed.value;
|
|
1026
|
+
context.addIssue({
|
|
1027
|
+
code: "custom",
|
|
1028
|
+
message: "Expected a canonical media identifier"
|
|
1029
|
+
});
|
|
1030
|
+
return z.NEVER;
|
|
1031
|
+
});
|
|
1032
|
+
//#endregion
|
|
1033
|
+
//#region ../media-core/src/mediaKinds.ts
|
|
1034
|
+
const mediaTypeDiscriminants = [
|
|
1035
|
+
"image",
|
|
1036
|
+
"video",
|
|
1037
|
+
"audio",
|
|
1038
|
+
"document",
|
|
1039
|
+
"spreadsheet",
|
|
1040
|
+
"archive"
|
|
1041
|
+
];
|
|
1042
|
+
//#endregion
|
|
1043
|
+
//#region ../media-core/src/renderableMediaAssetAdmission.ts
|
|
1044
|
+
const mediaAssetIdSchema = z.string().transform((value, context) => {
|
|
1045
|
+
const parsed = parseMediaAssetId(value);
|
|
1046
|
+
if (parsed.ok) return parsed.value;
|
|
1047
|
+
context.addIssue({
|
|
1048
|
+
code: "custom",
|
|
1049
|
+
message: "Expected a media asset ID"
|
|
1050
|
+
});
|
|
1051
|
+
return z.NEVER;
|
|
1052
|
+
});
|
|
1053
|
+
const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
|
|
1054
|
+
const renderableMediaAssetSchema = z.object({
|
|
1055
|
+
id: mediaAssetIdSchema,
|
|
1056
|
+
identifier: mediaIdentifierSchema,
|
|
1057
|
+
storageBucket: nonemptyStorageValue,
|
|
1058
|
+
storagePath: nonemptyStorageValue,
|
|
1059
|
+
mimeType: nonemptyStorageValue,
|
|
1060
|
+
filename: z.string().optional(),
|
|
1061
|
+
width: z.number().positive().nullable(),
|
|
1062
|
+
height: z.number().positive().nullable()
|
|
1063
|
+
});
|
|
1064
|
+
//#endregion
|
|
1065
|
+
//#region ../media-core/src/media.ts
|
|
973
1066
|
const hotspotSchema = z.object({
|
|
974
1067
|
x: z.number().min(0).max(1),
|
|
975
1068
|
y: z.number().min(0).max(1),
|
|
@@ -1003,54 +1096,56 @@ const transformSchema = z.object({
|
|
|
1003
1096
|
rotation: rotationSchema.optional()
|
|
1004
1097
|
});
|
|
1005
1098
|
const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
1006
|
-
tag: z.literal("
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
storagePath: z.string().min(1)
|
|
1010
|
-
}), z.object({
|
|
1099
|
+
tag: z.literal("media"),
|
|
1100
|
+
identifier: mediaIdentifierSchema
|
|
1101
|
+
}).strict(), z.object({
|
|
1011
1102
|
tag: z.literal("external-src"),
|
|
1012
|
-
assetId: z.string().optional(),
|
|
1013
1103
|
src: z.string().url()
|
|
1014
|
-
})]);
|
|
1015
|
-
const
|
|
1104
|
+
}).strict()]);
|
|
1105
|
+
const mediaUsageShape = {
|
|
1016
1106
|
purpose: z.string().optional(),
|
|
1017
1107
|
placeholder: z.boolean().default(true).optional(),
|
|
1018
|
-
assetId: z.string().optional(),
|
|
1019
|
-
identifier: z.string().optional(),
|
|
1020
|
-
src: z.string().optional(),
|
|
1021
1108
|
alt: z.string().optional(),
|
|
1022
1109
|
filename: z.string().optional(),
|
|
1023
|
-
mimeType: z.string().optional(),
|
|
1024
1110
|
width: z.number().optional(),
|
|
1025
1111
|
height: z.number().optional(),
|
|
1026
|
-
storageBucket: z.string().optional(),
|
|
1027
|
-
storagePath: z.string().optional(),
|
|
1028
1112
|
poster: mediaPosterSchema.optional(),
|
|
1029
1113
|
transform: transformSchema.optional()
|
|
1030
|
-
}
|
|
1031
|
-
const
|
|
1114
|
+
};
|
|
1115
|
+
const environmentExclusions = {
|
|
1116
|
+
assetId: z.never().optional(),
|
|
1117
|
+
id: z.never().optional(),
|
|
1118
|
+
src: z.never().optional(),
|
|
1119
|
+
storageBucket: z.never().optional(),
|
|
1120
|
+
storagePath: z.never().optional(),
|
|
1121
|
+
mimeType: z.never().optional()
|
|
1122
|
+
};
|
|
1123
|
+
const mediaBaseSchema = z.object({
|
|
1124
|
+
...mediaUsageShape,
|
|
1125
|
+
...environmentExclusions,
|
|
1126
|
+
identifier: mediaIdentifierSchema
|
|
1127
|
+
}).strict();
|
|
1032
1128
|
const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
1033
1129
|
const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
1034
|
-
const
|
|
1035
|
-
const
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
z.
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
persistableMediaBaseSchema.extend({ type: z.literal("archive") })
|
|
1130
|
+
const mediaSchema = mediaBaseSchema.extend({ type: z.enum(mediaTypeDiscriminants) });
|
|
1131
|
+
const externalMediaSchema = z.object({
|
|
1132
|
+
...mediaUsageShape,
|
|
1133
|
+
...environmentExclusions,
|
|
1134
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
1135
|
+
src: z.string().min(1),
|
|
1136
|
+
identifier: z.never().optional()
|
|
1137
|
+
}).strict();
|
|
1138
|
+
const assetMediaSchema = z.object({
|
|
1139
|
+
...mediaUsageShape,
|
|
1140
|
+
...environmentExclusions,
|
|
1141
|
+
type: z.enum(mediaTypeDiscriminants),
|
|
1142
|
+
asset: renderableMediaAssetSchema,
|
|
1143
|
+
identifier: z.never().optional()
|
|
1144
|
+
}).strict();
|
|
1145
|
+
z.union([
|
|
1146
|
+
mediaSchema,
|
|
1147
|
+
externalMediaSchema,
|
|
1148
|
+
assetMediaSchema
|
|
1054
1149
|
]);
|
|
1055
1150
|
//#endregion
|
|
1056
1151
|
//#region ../theme-core/src/palette/schema.ts
|
|
@@ -1081,6 +1176,29 @@ const paletteSchema = z.object({
|
|
|
1081
1176
|
};
|
|
1082
1177
|
});
|
|
1083
1178
|
//#endregion
|
|
1179
|
+
//#region ../theme-core/src/buttons/typography.ts
|
|
1180
|
+
const textTransformSchema = z.enum([
|
|
1181
|
+
"none",
|
|
1182
|
+
"uppercase",
|
|
1183
|
+
"lowercase",
|
|
1184
|
+
"capitalize"
|
|
1185
|
+
]);
|
|
1186
|
+
const fontWeightSchema = z.union([
|
|
1187
|
+
z.literal(400),
|
|
1188
|
+
z.literal(500),
|
|
1189
|
+
z.literal(600),
|
|
1190
|
+
z.literal(700),
|
|
1191
|
+
z.literal(800)
|
|
1192
|
+
]);
|
|
1193
|
+
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
1194
|
+
const letterSpacingSchema = z.enum([
|
|
1195
|
+
"tight",
|
|
1196
|
+
"normal",
|
|
1197
|
+
"slight",
|
|
1198
|
+
"loose",
|
|
1199
|
+
"wide"
|
|
1200
|
+
]);
|
|
1201
|
+
//#endregion
|
|
1084
1202
|
//#region ../theme-core/src/buttons/types.ts
|
|
1085
1203
|
/**
|
|
1086
1204
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -1196,6 +1314,7 @@ const buttonEffectApplicationSchema = z.discriminatedUnion("effectId", [
|
|
|
1196
1314
|
z.strictObject({
|
|
1197
1315
|
effectId: z.literal("lift"),
|
|
1198
1316
|
options: z.strictObject({ amount: z.enum([
|
|
1317
|
+
"0.125",
|
|
1199
1318
|
"0.25",
|
|
1200
1319
|
"0.5",
|
|
1201
1320
|
"1"
|
|
@@ -1242,24 +1361,6 @@ const shadowSizeSchema = z.enum([
|
|
|
1242
1361
|
"medium",
|
|
1243
1362
|
"high"
|
|
1244
1363
|
]);
|
|
1245
|
-
const textTransformSchema = z.enum([
|
|
1246
|
-
"none",
|
|
1247
|
-
"uppercase",
|
|
1248
|
-
"lowercase",
|
|
1249
|
-
"capitalize"
|
|
1250
|
-
]);
|
|
1251
|
-
const fontWeightSchema = z.union([
|
|
1252
|
-
z.literal(500),
|
|
1253
|
-
z.literal(600),
|
|
1254
|
-
z.literal(700),
|
|
1255
|
-
z.literal(800)
|
|
1256
|
-
]);
|
|
1257
|
-
const buttonTypographySchema = z.enum(["body", "heading"]);
|
|
1258
|
-
const letterSpacingSchema = z.enum([
|
|
1259
|
-
"tight",
|
|
1260
|
-
"normal",
|
|
1261
|
-
"loose"
|
|
1262
|
-
]);
|
|
1263
1364
|
const hoverTransformSchema = z.enum([
|
|
1264
1365
|
"none",
|
|
1265
1366
|
"lift",
|
|
@@ -1331,7 +1432,8 @@ const paddingShorthandSchema = z.string().refine((value) => {
|
|
|
1331
1432
|
}, { message: "Padding must be two space-separated CSS length tokens (e.g. \"0.5rem 1rem\"). Use `0` for zero." });
|
|
1332
1433
|
const buttonSizeConfigSchema = z.object({
|
|
1333
1434
|
padding: paddingShorthandSchema,
|
|
1334
|
-
fontSize: z.string().optional()
|
|
1435
|
+
fontSize: z.string().optional(),
|
|
1436
|
+
borderRadius: z.string().optional()
|
|
1335
1437
|
});
|
|
1336
1438
|
/**
|
|
1337
1439
|
* `xl` is optional on the wire so themes persisted before the `xl` size was
|
|
@@ -1454,12 +1556,20 @@ const buttonVisualAppearanceSchema = z.strictObject({
|
|
|
1454
1556
|
textTransform: textTransformSchema
|
|
1455
1557
|
}),
|
|
1456
1558
|
effects: z.array(buttonEffectApplicationSchema),
|
|
1559
|
+
transform: z.literal("none").optional(),
|
|
1457
1560
|
contextualHover: contextualButtonHoverSchema.optional()
|
|
1458
1561
|
});
|
|
1459
1562
|
const buttonVisualStatesSchema = z.strictObject({
|
|
1460
1563
|
base: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1461
1564
|
hover: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1462
|
-
focus: buttonVisualAppearanceSchema.extend({
|
|
1565
|
+
focus: buttonVisualAppearanceSchema.extend({
|
|
1566
|
+
shadow: z.literal("focus-indicator"),
|
|
1567
|
+
indicator: z.strictObject({
|
|
1568
|
+
kind: z.literal("surface-ink"),
|
|
1569
|
+
width: z.union([z.literal(2), z.literal(3)]),
|
|
1570
|
+
offset: z.union([z.literal(3), z.literal(4)])
|
|
1571
|
+
}).optional()
|
|
1572
|
+
}),
|
|
1463
1573
|
active: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema }),
|
|
1464
1574
|
disabled: buttonVisualAppearanceSchema.extend({ shadow: variantShadowSchema })
|
|
1465
1575
|
});
|
|
@@ -1866,6 +1976,10 @@ function validateButtonTextContrast(input) {
|
|
|
1866
1976
|
}
|
|
1867
1977
|
};
|
|
1868
1978
|
}
|
|
1979
|
+
/** A text-token slab inverts the palette's text/background pair, including text shades. */
|
|
1980
|
+
function solidForegroundToken(backgroundToken) {
|
|
1981
|
+
return /^text(?:-\d+)?$/.test(backgroundToken) ? "background" : onColorTokenName(backgroundToken);
|
|
1982
|
+
}
|
|
1869
1983
|
//#endregion
|
|
1870
1984
|
//#region ../theme-core/src/buttons/contextualHover.ts
|
|
1871
1985
|
function resolveContextualHoverPreference(input) {
|
|
@@ -1963,7 +2077,7 @@ function candidate(family, shade, currentShade, direction, seedHex, palette) {
|
|
|
1963
2077
|
}
|
|
1964
2078
|
function hasSafeTextContrast(token, palette) {
|
|
1965
2079
|
const background = palette[token];
|
|
1966
|
-
const foreground = palette[
|
|
2080
|
+
const foreground = palette[solidForegroundToken(token)];
|
|
1967
2081
|
return typeof background === "string" && typeof foreground === "string" && contrastRatio(background, foreground) >= BUTTON_CONTRAST_POLICY.textMinimumRatio;
|
|
1968
2082
|
}
|
|
1969
2083
|
function isSafeCandidate(token, palette, surface) {
|
|
@@ -2058,6 +2172,13 @@ function compileDeclaredVisualStates(input, states) {
|
|
|
2058
2172
|
const colours = collectStateColours(mapVisualStates((state) => compileDeclaredVisualState(input, states, state, state === "hover" ? hover.treatment : states[state].background)));
|
|
2059
2173
|
return colours.ok ? {
|
|
2060
2174
|
...colours,
|
|
2175
|
+
focusIndicator: states.focus.indicator ? {
|
|
2176
|
+
kind: "surface-role",
|
|
2177
|
+
colorCss: input.surface?.foregroundCss ?? surfaceForegroundValue("text"),
|
|
2178
|
+
width: states.focus.indicator.width,
|
|
2179
|
+
offset: states.focus.indicator.offset,
|
|
2180
|
+
minimumSurfaceContrast: BUTTON_CONTRAST_POLICY.nonTextMinimumRatio
|
|
2181
|
+
} : colours.focusIndicator,
|
|
2061
2182
|
contextualHoverRepair: hover.repair
|
|
2062
2183
|
} : colours;
|
|
2063
2184
|
}
|
|
@@ -2195,7 +2316,7 @@ function resolveFocusIndicator(colour) {
|
|
|
2195
2316
|
function resolveSolid(input, backgroundToken, edge) {
|
|
2196
2317
|
const backgroundHex = paletteHex(input, backgroundToken);
|
|
2197
2318
|
if (!backgroundHex.ok) return backgroundHex;
|
|
2198
|
-
const foregroundToken = unsafeAsOpaqueButtonColourToken(
|
|
2319
|
+
const foregroundToken = unsafeAsOpaqueButtonColourToken(solidForegroundToken(backgroundToken));
|
|
2199
2320
|
const foregroundHex = input.palette[foregroundToken];
|
|
2200
2321
|
if (typeof foregroundHex !== "string") return {
|
|
2201
2322
|
ok: false,
|
|
@@ -2575,6 +2696,287 @@ function normalizeAppearance(appearance) {
|
|
|
2575
2696
|
};
|
|
2576
2697
|
}
|
|
2577
2698
|
//#endregion
|
|
2699
|
+
//#region ../theme-core/src/buttons/styles/recipes/lanternRecipes.ts
|
|
2700
|
+
const flatShadow = {
|
|
2701
|
+
elevation: "none",
|
|
2702
|
+
softness: null,
|
|
2703
|
+
position: "bottom"
|
|
2704
|
+
};
|
|
2705
|
+
const lift$1 = {
|
|
2706
|
+
effectId: "lift",
|
|
2707
|
+
options: { amount: "0.125" }
|
|
2708
|
+
};
|
|
2709
|
+
const tags = {
|
|
2710
|
+
tone: "classic",
|
|
2711
|
+
energy: "calm",
|
|
2712
|
+
motion: "subtle",
|
|
2713
|
+
era: "editorial"
|
|
2714
|
+
};
|
|
2715
|
+
/** Each role supplies complete states, including a flat surface-ink focus ring. */
|
|
2716
|
+
function states(base, hover, offset = 4, width = 2) {
|
|
2717
|
+
return {
|
|
2718
|
+
base,
|
|
2719
|
+
hover,
|
|
2720
|
+
focus: {
|
|
2721
|
+
...base,
|
|
2722
|
+
shadow: "focus-indicator",
|
|
2723
|
+
indicator: {
|
|
2724
|
+
kind: "surface-ink",
|
|
2725
|
+
width,
|
|
2726
|
+
offset
|
|
2727
|
+
}
|
|
2728
|
+
},
|
|
2729
|
+
active: {
|
|
2730
|
+
...base,
|
|
2731
|
+
transform: "none"
|
|
2732
|
+
},
|
|
2733
|
+
disabled: {
|
|
2734
|
+
...base,
|
|
2735
|
+
effects: []
|
|
2736
|
+
}
|
|
2737
|
+
};
|
|
2738
|
+
}
|
|
2739
|
+
const gilt = {
|
|
2740
|
+
text: "treatment",
|
|
2741
|
+
border: "none",
|
|
2742
|
+
borderRadius: "rounded-10px",
|
|
2743
|
+
shadow: flatShadow,
|
|
2744
|
+
sizes: {
|
|
2745
|
+
sm: {
|
|
2746
|
+
padding: "10px 20px",
|
|
2747
|
+
fontSize: "text-base",
|
|
2748
|
+
borderRadius: "rounded-lg"
|
|
2749
|
+
},
|
|
2750
|
+
md: {
|
|
2751
|
+
padding: "18px 36px",
|
|
2752
|
+
fontSize: "text-19px"
|
|
2753
|
+
},
|
|
2754
|
+
lg: {
|
|
2755
|
+
padding: "18px 36px",
|
|
2756
|
+
fontSize: "text-19px"
|
|
2757
|
+
},
|
|
2758
|
+
xl: {
|
|
2759
|
+
padding: "18px 36px",
|
|
2760
|
+
fontSize: "text-19px"
|
|
2761
|
+
}
|
|
2762
|
+
},
|
|
2763
|
+
typography: {
|
|
2764
|
+
fontWeight: 400,
|
|
2765
|
+
typography: "heading",
|
|
2766
|
+
fontSize: "text-19px",
|
|
2767
|
+
letterSpacing: "slight",
|
|
2768
|
+
italic: false,
|
|
2769
|
+
textTransform: "none"
|
|
2770
|
+
},
|
|
2771
|
+
effects: []
|
|
2772
|
+
};
|
|
2773
|
+
const giltPrimary = {
|
|
2774
|
+
...gilt,
|
|
2775
|
+
background: {
|
|
2776
|
+
type: "gradient",
|
|
2777
|
+
stops: ["accent", "primary"],
|
|
2778
|
+
direction: "to-br",
|
|
2779
|
+
foregroundToken: "onAccent"
|
|
2780
|
+
}
|
|
2781
|
+
};
|
|
2782
|
+
const giltPrimaryHover = {
|
|
2783
|
+
...giltPrimary,
|
|
2784
|
+
background: {
|
|
2785
|
+
...giltPrimary.background,
|
|
2786
|
+
stops: ["accent-400", "primary-400"],
|
|
2787
|
+
foregroundToken: "secondary-950"
|
|
2788
|
+
},
|
|
2789
|
+
effects: [lift$1]
|
|
2790
|
+
};
|
|
2791
|
+
const giltSecondary = {
|
|
2792
|
+
...gilt,
|
|
2793
|
+
background: {
|
|
2794
|
+
type: "solid",
|
|
2795
|
+
colorToken: "text"
|
|
2796
|
+
}
|
|
2797
|
+
};
|
|
2798
|
+
const giltSecondaryHover = {
|
|
2799
|
+
...giltSecondary,
|
|
2800
|
+
effects: [lift$1],
|
|
2801
|
+
contextualHover: {
|
|
2802
|
+
kind: "shade-shift",
|
|
2803
|
+
seedToken: unsafeAsOpaqueButtonColourToken("text"),
|
|
2804
|
+
fallbackDirection: "lighter"
|
|
2805
|
+
}
|
|
2806
|
+
};
|
|
2807
|
+
const giltPrimaryStates = states(giltPrimary, giltPrimaryHover);
|
|
2808
|
+
const giltSecondaryStates = states(giltSecondary, giltSecondaryHover);
|
|
2809
|
+
const giltSlabRecipe = defineStaticButtonStyleRecipe({
|
|
2810
|
+
id: "gilt-slab",
|
|
2811
|
+
accessibilityLabel: "Gilt slab",
|
|
2812
|
+
tags,
|
|
2813
|
+
system: { roles: {
|
|
2814
|
+
primary: { states: giltPrimaryStates },
|
|
2815
|
+
secondary: { states: giltSecondaryStates },
|
|
2816
|
+
outline: { states: giltSecondaryStates },
|
|
2817
|
+
ghost: { states: giltSecondaryStates },
|
|
2818
|
+
accent: { states: giltPrimaryStates }
|
|
2819
|
+
} }
|
|
2820
|
+
});
|
|
2821
|
+
const hairline = {
|
|
2822
|
+
text: "treatment",
|
|
2823
|
+
borderRadius: "rounded-3px",
|
|
2824
|
+
shadow: flatShadow,
|
|
2825
|
+
sizes: {
|
|
2826
|
+
sm: {
|
|
2827
|
+
padding: "9px 16px",
|
|
2828
|
+
fontSize: "text-xs"
|
|
2829
|
+
},
|
|
2830
|
+
md: {
|
|
2831
|
+
padding: "15px 28px",
|
|
2832
|
+
fontSize: "text-13px"
|
|
2833
|
+
},
|
|
2834
|
+
lg: {
|
|
2835
|
+
padding: "15px 28px",
|
|
2836
|
+
fontSize: "text-13px"
|
|
2837
|
+
},
|
|
2838
|
+
xl: {
|
|
2839
|
+
padding: "15px 28px",
|
|
2840
|
+
fontSize: "text-13px"
|
|
2841
|
+
}
|
|
2842
|
+
},
|
|
2843
|
+
typography: {
|
|
2844
|
+
fontWeight: 700,
|
|
2845
|
+
typography: "body",
|
|
2846
|
+
fontSize: "text-13px",
|
|
2847
|
+
letterSpacing: "wide",
|
|
2848
|
+
italic: false,
|
|
2849
|
+
textTransform: "uppercase"
|
|
2850
|
+
},
|
|
2851
|
+
effects: []
|
|
2852
|
+
};
|
|
2853
|
+
const hairlinePrimary = {
|
|
2854
|
+
...hairline,
|
|
2855
|
+
background: {
|
|
2856
|
+
type: "solid",
|
|
2857
|
+
colorToken: "primary"
|
|
2858
|
+
},
|
|
2859
|
+
border: {
|
|
2860
|
+
widthClass: "border",
|
|
2861
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
2862
|
+
}
|
|
2863
|
+
};
|
|
2864
|
+
const hairlineOutline = {
|
|
2865
|
+
...hairline,
|
|
2866
|
+
background: {
|
|
2867
|
+
type: "surface",
|
|
2868
|
+
role: "link"
|
|
2869
|
+
},
|
|
2870
|
+
border: {
|
|
2871
|
+
widthClass: "border",
|
|
2872
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
2873
|
+
}
|
|
2874
|
+
};
|
|
2875
|
+
const hairlineSecondary = {
|
|
2876
|
+
...hairlineOutline,
|
|
2877
|
+
border: {
|
|
2878
|
+
widthClass: "border",
|
|
2879
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
|
|
2880
|
+
}
|
|
2881
|
+
};
|
|
2882
|
+
const hairlineFilled = {
|
|
2883
|
+
...hairlineSecondary,
|
|
2884
|
+
background: {
|
|
2885
|
+
type: "solid",
|
|
2886
|
+
colorToken: "accent"
|
|
2887
|
+
}
|
|
2888
|
+
};
|
|
2889
|
+
const hairlinePrimaryStates = states(hairlinePrimary, hairlineOutline, 3);
|
|
2890
|
+
const hairlineSecondaryStates = states(hairlineSecondary, hairlineFilled, 3);
|
|
2891
|
+
const hairlineTabRecipe = defineStaticButtonStyleRecipe({
|
|
2892
|
+
id: "hairline-tab",
|
|
2893
|
+
accessibilityLabel: "Hairline tab",
|
|
2894
|
+
tags,
|
|
2895
|
+
system: { roles: {
|
|
2896
|
+
primary: { states: hairlinePrimaryStates },
|
|
2897
|
+
secondary: { states: hairlineSecondaryStates },
|
|
2898
|
+
outline: { states: hairlineSecondaryStates },
|
|
2899
|
+
ghost: { states: hairlineSecondaryStates },
|
|
2900
|
+
accent: { states: states(hairlineFilled, hairlineSecondary, 3) }
|
|
2901
|
+
} }
|
|
2902
|
+
});
|
|
2903
|
+
const marqueeAccent = {
|
|
2904
|
+
text: "treatment",
|
|
2905
|
+
borderRadius: "rounded-none",
|
|
2906
|
+
shadow: flatShadow,
|
|
2907
|
+
sizes: {
|
|
2908
|
+
sm: {
|
|
2909
|
+
padding: "8px 17px",
|
|
2910
|
+
fontSize: "text-15px"
|
|
2911
|
+
},
|
|
2912
|
+
md: {
|
|
2913
|
+
padding: "14px 25px",
|
|
2914
|
+
fontSize: "text-17px"
|
|
2915
|
+
},
|
|
2916
|
+
lg: {
|
|
2917
|
+
padding: "14px 25px",
|
|
2918
|
+
fontSize: "text-17px"
|
|
2919
|
+
},
|
|
2920
|
+
xl: {
|
|
2921
|
+
padding: "14px 25px",
|
|
2922
|
+
fontSize: "text-17px"
|
|
2923
|
+
}
|
|
2924
|
+
},
|
|
2925
|
+
typography: {
|
|
2926
|
+
fontWeight: 800,
|
|
2927
|
+
typography: "body",
|
|
2928
|
+
fontSize: "text-17px",
|
|
2929
|
+
letterSpacing: "loose",
|
|
2930
|
+
italic: false,
|
|
2931
|
+
textTransform: "uppercase"
|
|
2932
|
+
},
|
|
2933
|
+
effects: [],
|
|
2934
|
+
background: {
|
|
2935
|
+
type: "solid",
|
|
2936
|
+
colorToken: "accent"
|
|
2937
|
+
},
|
|
2938
|
+
border: {
|
|
2939
|
+
widthClass: "border-2",
|
|
2940
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("accent")
|
|
2941
|
+
}
|
|
2942
|
+
};
|
|
2943
|
+
const marqueePrimary = {
|
|
2944
|
+
...marqueeAccent,
|
|
2945
|
+
background: {
|
|
2946
|
+
type: "solid",
|
|
2947
|
+
colorToken: "primary"
|
|
2948
|
+
},
|
|
2949
|
+
border: {
|
|
2950
|
+
widthClass: "border-2",
|
|
2951
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("primary")
|
|
2952
|
+
}
|
|
2953
|
+
};
|
|
2954
|
+
const marqueeSecondary = {
|
|
2955
|
+
...marqueeAccent,
|
|
2956
|
+
background: {
|
|
2957
|
+
type: "solid",
|
|
2958
|
+
colorToken: "text"
|
|
2959
|
+
},
|
|
2960
|
+
border: {
|
|
2961
|
+
widthClass: "border-2",
|
|
2962
|
+
boundaryInk: unsafeAsOpaqueButtonColourToken("text")
|
|
2963
|
+
}
|
|
2964
|
+
};
|
|
2965
|
+
const marqueePrimaryStates = states(marqueeAccent, marqueePrimary, 4, 3);
|
|
2966
|
+
const marqueeSecondaryStates = states(marqueeSecondary, marqueeAccent, 4, 3);
|
|
2967
|
+
const marqueeRecipe = defineStaticButtonStyleRecipe({
|
|
2968
|
+
id: "marquee",
|
|
2969
|
+
accessibilityLabel: "Marquee",
|
|
2970
|
+
tags,
|
|
2971
|
+
system: { roles: {
|
|
2972
|
+
primary: { states: marqueePrimaryStates },
|
|
2973
|
+
secondary: { states: marqueeSecondaryStates },
|
|
2974
|
+
outline: { states: marqueeSecondaryStates },
|
|
2975
|
+
ghost: { states: marqueeSecondaryStates },
|
|
2976
|
+
accent: { states: marqueePrimaryStates }
|
|
2977
|
+
} }
|
|
2978
|
+
});
|
|
2979
|
+
//#endregion
|
|
2578
2980
|
//#region ../theme-core/src/buttons/styles/recipes/fulcrumRecipe.ts
|
|
2579
2981
|
const fulcrumSizes = {
|
|
2580
2982
|
sm: {
|
|
@@ -3316,7 +3718,10 @@ const BUTTON_STYLE_IDS = [
|
|
|
3316
3718
|
"offset-block",
|
|
3317
3719
|
"ringed-pill",
|
|
3318
3720
|
"square-outline",
|
|
3319
|
-
"fulcrum"
|
|
3721
|
+
"fulcrum",
|
|
3722
|
+
"gilt-slab",
|
|
3723
|
+
"hairline-tab",
|
|
3724
|
+
"marquee"
|
|
3320
3725
|
];
|
|
3321
3726
|
const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
|
|
3322
3727
|
const flatInkHoverTreatmentSchema = z.enum([
|
|
@@ -3353,7 +3758,10 @@ z.discriminatedUnion("styleId", [
|
|
|
3353
3758
|
selectionBranch("offset-block", emptyParametersSchema),
|
|
3354
3759
|
selectionBranch("ringed-pill", emptyParametersSchema),
|
|
3355
3760
|
selectionBranch("square-outline", emptyParametersSchema),
|
|
3356
|
-
selectionBranch("fulcrum", emptyParametersSchema)
|
|
3761
|
+
selectionBranch("fulcrum", emptyParametersSchema),
|
|
3762
|
+
selectionBranch("gilt-slab", emptyParametersSchema),
|
|
3763
|
+
selectionBranch("hairline-tab", emptyParametersSchema),
|
|
3764
|
+
selectionBranch("marquee", emptyParametersSchema)
|
|
3357
3765
|
]);
|
|
3358
3766
|
//#endregion
|
|
3359
3767
|
//#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
|
|
@@ -6869,7 +7277,10 @@ const buttonStyleRecipes = [
|
|
|
6869
7277
|
offsetBlockRecipe,
|
|
6870
7278
|
ringedPillRecipe,
|
|
6871
7279
|
squareOutlineRecipe,
|
|
6872
|
-
fulcrumRecipe
|
|
7280
|
+
fulcrumRecipe,
|
|
7281
|
+
giltSlabRecipe,
|
|
7282
|
+
hairlineTabRecipe,
|
|
7283
|
+
marqueeRecipe
|
|
6873
7284
|
];
|
|
6874
7285
|
const recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
|
|
6875
7286
|
function findButtonStyleRecipe(id) {
|
|
@@ -6885,6 +7296,9 @@ function resolveButtonStyleSelection(selection) {
|
|
|
6885
7296
|
case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
|
|
6886
7297
|
case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
|
|
6887
7298
|
case "ink-stamp": return resolveButtonStyleRecipe(inkStampRecipe, selection.parameters);
|
|
7299
|
+
case "gilt-slab": return resolveButtonStyleRecipe(giltSlabRecipe, selection.parameters);
|
|
7300
|
+
case "hairline-tab": return resolveButtonStyleRecipe(hairlineTabRecipe, selection.parameters);
|
|
7301
|
+
case "marquee": return resolveButtonStyleRecipe(marqueeRecipe, selection.parameters);
|
|
6888
7302
|
case "fulcrum": return resolveButtonStyleRecipe(fulcrumRecipe, selection.parameters);
|
|
6889
7303
|
case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
|
|
6890
7304
|
case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
|
|
@@ -8156,6 +8570,20 @@ const boxBackgroundSchema = z.discriminatedUnion("type", [
|
|
|
8156
8570
|
showVideoOnMobile: z.boolean().nullable().optional()
|
|
8157
8571
|
})
|
|
8158
8572
|
]);
|
|
8573
|
+
z.discriminatedUnion("type", [
|
|
8574
|
+
boxBackgroundSchema.options[0],
|
|
8575
|
+
boxBackgroundSchema.options[1],
|
|
8576
|
+
boxBackgroundSchema.options[2].extend({ image: z.union([
|
|
8577
|
+
imageMediaSchema,
|
|
8578
|
+
externalMediaSchema.extend({ type: z.literal("image") }),
|
|
8579
|
+
assetMediaSchema.extend({ type: z.literal("image") })
|
|
8580
|
+
]).nullable().optional() }),
|
|
8581
|
+
boxBackgroundSchema.options[3].extend({ image: z.union([
|
|
8582
|
+
videoMediaSchema,
|
|
8583
|
+
externalMediaSchema.extend({ type: z.literal("video") }),
|
|
8584
|
+
assetMediaSchema.extend({ type: z.literal("video") })
|
|
8585
|
+
]).nullable().optional() })
|
|
8586
|
+
]);
|
|
8159
8587
|
function normalizeAuthoringOpacity(value) {
|
|
8160
8588
|
if (!isRecord(value)) return value;
|
|
8161
8589
|
return {
|
|
@@ -8509,20 +8937,15 @@ const headerSchema = z.object({
|
|
|
8509
8937
|
const footerVariant = z.enum([
|
|
8510
8938
|
"simple",
|
|
8511
8939
|
"columns",
|
|
8512
|
-
"split"
|
|
8513
|
-
|
|
8940
|
+
"split",
|
|
8941
|
+
"centred"
|
|
8942
|
+
]).transform((value) => value === "columns" ? "simple" : value);
|
|
8514
8943
|
const footerMaxWidth = z.enum(["container", "full"]);
|
|
8515
8944
|
const footerNavLayoutMode = z.enum([
|
|
8516
8945
|
"stack",
|
|
8517
8946
|
"inline",
|
|
8518
8947
|
"inline-wrap"
|
|
8519
8948
|
]);
|
|
8520
|
-
const footerNavLayoutAlign = z.enum([
|
|
8521
|
-
"start",
|
|
8522
|
-
"center",
|
|
8523
|
-
"end",
|
|
8524
|
-
"space-between"
|
|
8525
|
-
]);
|
|
8526
8949
|
const footerSpacing = z.enum([
|
|
8527
8950
|
"none",
|
|
8528
8951
|
"tight",
|
|
@@ -8531,12 +8954,6 @@ const footerSpacing = z.enum([
|
|
|
8531
8954
|
"relaxed",
|
|
8532
8955
|
"spacious"
|
|
8533
8956
|
]);
|
|
8534
|
-
const footerLogoPlacement = z.enum([
|
|
8535
|
-
"left",
|
|
8536
|
-
"right",
|
|
8537
|
-
"above",
|
|
8538
|
-
"below"
|
|
8539
|
-
]);
|
|
8540
8957
|
const footerLogoSize = z.enum([
|
|
8541
8958
|
"sm",
|
|
8542
8959
|
"md",
|
|
@@ -8577,17 +8994,8 @@ const footerBottomBarSchema = z.object({
|
|
|
8577
8994
|
]).optional()
|
|
8578
8995
|
}).optional()
|
|
8579
8996
|
});
|
|
8580
|
-
const footerNavLayoutSchema = z.object({
|
|
8581
|
-
layout: footerNavLayoutMode.optional(),
|
|
8582
|
-
align: footerNavLayoutAlign.optional(),
|
|
8583
|
-
gapX: footerSpacing.optional(),
|
|
8584
|
-
gapY: footerSpacing.optional(),
|
|
8585
|
-
columns: z.number().int().min(1).max(6).optional()
|
|
8586
|
-
});
|
|
8997
|
+
const footerNavLayoutSchema = z.object({ layout: footerNavLayoutMode.optional() });
|
|
8587
8998
|
const footerLogoSchema = z.object({
|
|
8588
|
-
showLogo: z.boolean().default(true),
|
|
8589
|
-
showLogoText: z.boolean().optional(),
|
|
8590
|
-
placement: footerLogoPlacement.optional(),
|
|
8591
8999
|
size: footerLogoSize.optional(),
|
|
8592
9000
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
8593
9001
|
align: z.enum([
|
|
@@ -8597,15 +9005,8 @@ const footerLogoSchema = z.object({
|
|
|
8597
9005
|
]).optional()
|
|
8598
9006
|
});
|
|
8599
9007
|
const footerSchema = z.object({
|
|
8600
|
-
/**
|
|
8601
|
-
* SDK-only footer rendering mode.
|
|
8602
|
-
*
|
|
8603
|
-
* Historical persisted field; SDK rendering mode now lives in layout.footerMode.
|
|
8604
|
-
*/
|
|
8605
|
-
mode: footerModeSchema.optional(),
|
|
8606
9008
|
variant: footerVariant,
|
|
8607
9009
|
maxWidth: footerMaxWidth,
|
|
8608
|
-
showLogoText: z.boolean().optional(),
|
|
8609
9010
|
background: headerBackgroundSchema.default({
|
|
8610
9011
|
type: "color",
|
|
8611
9012
|
color: "surface"
|