@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
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type
|
|
2
|
+
import { type PublicDownloadMediaType } from '../../../lib/media';
|
|
3
|
+
import { type RuntimeMedia } from './media';
|
|
3
4
|
import { type BlockButtonRole } from '../../constants/buttonRoles';
|
|
4
5
|
export type FileDownloadNodeProps = Readonly<{
|
|
5
|
-
value?:
|
|
6
|
+
value?: RuntimeMedia | null;
|
|
6
7
|
title?: string | null;
|
|
7
8
|
description?: string | null;
|
|
8
9
|
buttonLabel?: string | null;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type LookListPresentation } from '../lookSurfaces';
|
|
3
|
+
type FieldPresentation = Pick<LookListPresentation, 'lookSlots'>;
|
|
2
4
|
import type { FormFieldDef } from './form.types';
|
|
3
|
-
export declare function FormFieldControl({ field }: Readonly<{
|
|
5
|
+
export declare function FormFieldControl({ field, lookSlots }: Readonly<{
|
|
4
6
|
field: FormFieldDef;
|
|
5
|
-
}>): React.ReactElement;
|
|
7
|
+
}> & FieldPresentation): React.ReactElement;
|
|
8
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { type LookListPresentation } from '../lookSurfaces';
|
|
1
2
|
import { type InteractiveIslandProps } from '../../../contracts/islands';
|
|
2
3
|
import { type FormFieldGroup } from './form-layout';
|
|
3
4
|
import type { FormRecord } from './form.types';
|
|
4
|
-
export type FormSourceProps = Readonly<{
|
|
5
|
+
export type FormSourceProps = Pick<LookListPresentation, 'lookSlots'> & Readonly<{
|
|
5
6
|
value?: FormRecord;
|
|
6
7
|
siteId?: string;
|
|
7
8
|
apiBaseUrl?: string;
|
|
@@ -10,7 +11,7 @@ export type FormSourceProps = Readonly<{
|
|
|
10
11
|
className?: string;
|
|
11
12
|
spamProtectionEnabled?: boolean;
|
|
12
13
|
}>;
|
|
13
|
-
export type FormDisplay = Readonly<{
|
|
14
|
+
export type FormDisplay = Pick<LookListPresentation, 'lookSlots'> & Readonly<{
|
|
14
15
|
kind: 'form';
|
|
15
16
|
state: 'missing' | 'ready';
|
|
16
17
|
className: string | null;
|
|
@@ -31,77 +32,26 @@ export declare function buildFormDisplay(source: FormSourceProps): FormDisplay;
|
|
|
31
32
|
export type FormInteractiveIslandProps = InteractiveIslandProps<FormIslandMeta, 'form', typeof formBlockRuntime>;
|
|
32
33
|
export declare const formBlockRuntime: Readonly<{
|
|
33
34
|
kind: "progressive";
|
|
34
|
-
buildRender: (source: Readonly<{
|
|
35
|
-
|
|
36
|
-
siteId?: string;
|
|
37
|
-
apiBaseUrl?: string;
|
|
38
|
-
submitLabel?: string;
|
|
39
|
-
successMessage?: string | null;
|
|
40
|
-
className?: string;
|
|
41
|
-
spamProtectionEnabled?: boolean;
|
|
42
|
-
}>) => Readonly<{
|
|
43
|
-
display: Readonly<{
|
|
44
|
-
kind: "form";
|
|
45
|
-
state: "missing" | "ready";
|
|
46
|
-
className: string | null;
|
|
47
|
-
formId: string | null;
|
|
48
|
-
submitLabel: string;
|
|
49
|
-
successMessage: string | null;
|
|
50
|
-
form: FormRecord | null;
|
|
51
|
-
groups: readonly FormFieldGroup[];
|
|
52
|
-
}>;
|
|
35
|
+
buildRender: (source: FormSourceProps) => Readonly<{
|
|
36
|
+
display: FormDisplay;
|
|
53
37
|
hydration: Readonly<{
|
|
54
38
|
spamProtectionEnabled?: boolean;
|
|
55
39
|
}>;
|
|
56
40
|
}>;
|
|
57
41
|
contracts: Readonly<{
|
|
58
42
|
source: Readonly<{
|
|
59
|
-
encode: (value:
|
|
60
|
-
|
|
61
|
-
siteId?: string;
|
|
62
|
-
apiBaseUrl?: string;
|
|
63
|
-
submitLabel?: string;
|
|
64
|
-
successMessage?: string | null;
|
|
65
|
-
className?: string;
|
|
66
|
-
spamProtectionEnabled?: boolean;
|
|
67
|
-
}>) => unknown;
|
|
68
|
-
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
69
|
-
value?: FormRecord;
|
|
70
|
-
siteId?: string;
|
|
71
|
-
apiBaseUrl?: string;
|
|
72
|
-
submitLabel?: string;
|
|
73
|
-
successMessage?: string | null;
|
|
74
|
-
className?: string;
|
|
75
|
-
spamProtectionEnabled?: boolean;
|
|
76
|
-
}>>;
|
|
43
|
+
encode: (value: FormSourceProps) => unknown;
|
|
44
|
+
decode: (input: unknown) => import("../../../contracts").DecodeResult<FormSourceProps>;
|
|
77
45
|
}>;
|
|
78
46
|
render: Readonly<{
|
|
79
47
|
encode: (value: Readonly<{
|
|
80
|
-
display:
|
|
81
|
-
kind: "form";
|
|
82
|
-
state: "missing" | "ready";
|
|
83
|
-
className: string | null;
|
|
84
|
-
formId: string | null;
|
|
85
|
-
submitLabel: string;
|
|
86
|
-
successMessage: string | null;
|
|
87
|
-
form: FormRecord | null;
|
|
88
|
-
groups: readonly FormFieldGroup[];
|
|
89
|
-
}>;
|
|
48
|
+
display: FormDisplay;
|
|
90
49
|
hydration: Readonly<{
|
|
91
50
|
spamProtectionEnabled?: boolean;
|
|
92
51
|
}>;
|
|
93
52
|
}>) => unknown;
|
|
94
53
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
95
|
-
display:
|
|
96
|
-
kind: "form";
|
|
97
|
-
state: "missing" | "ready";
|
|
98
|
-
className: string | null;
|
|
99
|
-
formId: string | null;
|
|
100
|
-
submitLabel: string;
|
|
101
|
-
successMessage: string | null;
|
|
102
|
-
form: FormRecord | null;
|
|
103
|
-
groups: readonly FormFieldGroup[];
|
|
104
|
-
}>;
|
|
54
|
+
display: FormDisplay;
|
|
105
55
|
hydration: Readonly<{
|
|
106
56
|
spamProtectionEnabled?: boolean;
|
|
107
57
|
}>;
|
|
@@ -118,16 +68,7 @@ export declare const formInteractiveIslandPropsCodec: Readonly<{
|
|
|
118
68
|
render: Readonly<{
|
|
119
69
|
mode: "form";
|
|
120
70
|
} & Readonly<{
|
|
121
|
-
display:
|
|
122
|
-
kind: "form";
|
|
123
|
-
state: "missing" | "ready";
|
|
124
|
-
className: string | null;
|
|
125
|
-
formId: string | null;
|
|
126
|
-
submitLabel: string;
|
|
127
|
-
successMessage: string | null;
|
|
128
|
-
form: FormRecord | null;
|
|
129
|
-
groups: readonly FormFieldGroup[];
|
|
130
|
-
}>;
|
|
71
|
+
display: FormDisplay;
|
|
131
72
|
hydration: Readonly<{
|
|
132
73
|
spamProtectionEnabled?: boolean;
|
|
133
74
|
}>;
|
|
@@ -141,16 +82,7 @@ export declare const formInteractiveIslandPropsCodec: Readonly<{
|
|
|
141
82
|
render: Readonly<{
|
|
142
83
|
mode: "form";
|
|
143
84
|
} & Readonly<{
|
|
144
|
-
display:
|
|
145
|
-
kind: "form";
|
|
146
|
-
state: "missing" | "ready";
|
|
147
|
-
className: string | null;
|
|
148
|
-
formId: string | null;
|
|
149
|
-
submitLabel: string;
|
|
150
|
-
successMessage: string | null;
|
|
151
|
-
form: FormRecord | null;
|
|
152
|
-
groups: readonly FormFieldGroup[];
|
|
153
|
-
}>;
|
|
85
|
+
display: FormDisplay;
|
|
154
86
|
hydration: Readonly<{
|
|
155
87
|
spamProtectionEnabled?: boolean;
|
|
156
88
|
}>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormDisplay } from './form.interactive';
|
|
3
|
+
/** SSR and hydration consume the same decided field groups and Look hooks. */
|
|
4
|
+
export declare function FormFieldGroups({ groups, lookSlots }: Pick<FormDisplay, 'groups' | 'lookSlots'>): React.ReactElement;
|
|
5
|
+
export declare function FormSubmitAction({ lookSlots, submitLabel, disabled }: Pick<FormDisplay, 'lookSlots' | 'submitLabel'> & Readonly<{
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}>): React.ReactElement;
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
type FormNodeProps = {
|
|
2
|
+
import { type FormSourceProps } from './form.interactive';
|
|
3
|
+
type FormNodeProps = FormSourceProps & {
|
|
4
4
|
blockId?: string | null;
|
|
5
|
-
value?: FormRecord;
|
|
6
|
-
submitLabel?: string;
|
|
7
|
-
successMessage?: string | null;
|
|
8
|
-
className?: string;
|
|
9
5
|
onSubmit?: React.FormEventHandler<HTMLFormElement>;
|
|
10
|
-
/** Override server form action (defaults to /api/forms/submit). */
|
|
11
6
|
action?: string;
|
|
12
|
-
/** Site ID for form submission */
|
|
13
|
-
siteId?: string;
|
|
14
|
-
/** API base URL for client-side fetching (passed from server to avoid env var resolution on client) */
|
|
15
|
-
apiBaseUrl?: string;
|
|
16
|
-
/** Enable spam protection (ALTCHA) */
|
|
17
|
-
spamProtectionEnabled?: boolean;
|
|
18
7
|
};
|
|
19
8
|
export declare const FormNodeSSR: React.FC<FormNodeProps>;
|
|
20
9
|
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type
|
|
2
|
+
import { type RuntimeMedia, type ManagedMediaResolution, type ResolvedMediaTransform, type DirectImageUrlOptions } from '../../../../../media-core/src/index';
|
|
3
3
|
import type { Media } from '../../../lib/media';
|
|
4
|
+
import { type ResolveImageUrlContext } from './mediaContext';
|
|
5
|
+
export { buildMediaAssetIndex, buildResolveImageUrlContext, getCurrentResolveImageUrlContext, getSiteId, getSupabaseUrl, runWithMediaContext, setContextSupabaseUrl, setContextSiteId, setContextMediaAssetIndex, setContextMediaAssets, setContextResolveImageUrlContext, } from './mediaContext';
|
|
6
|
+
export type { MediaAssetIndex, MediaAssetIndexItem, ResolveImageUrlContext, ResolveImageUrlContextInput } from './mediaContext';
|
|
7
|
+
export type { RuntimeMedia } from '../../../../../media-core/src/index';
|
|
4
8
|
/**
|
|
5
9
|
* Options for image URL resolution.
|
|
6
10
|
* Requires either dimensions or explicit original request.
|
|
@@ -18,24 +22,6 @@ export type ImageOptions = {
|
|
|
18
22
|
} | {
|
|
19
23
|
original: true;
|
|
20
24
|
};
|
|
21
|
-
export type ResolveImageUrlContext = {
|
|
22
|
-
supabaseUrl?: string;
|
|
23
|
-
siteId?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Optional per-call media asset index for resolving identifier-only media values
|
|
26
|
-
* without mutating persisted content shapes.
|
|
27
|
-
*/
|
|
28
|
-
mediaAssetIndex?: MediaAssetIndex;
|
|
29
|
-
};
|
|
30
|
-
export type ResolveImageUrlContextInput = Readonly<{
|
|
31
|
-
supabaseUrl?: string;
|
|
32
|
-
siteId?: string;
|
|
33
|
-
mediaAssetIndex?: MediaAssetIndex;
|
|
34
|
-
mediaAssets?: readonly MediaAssetIndexItem[];
|
|
35
|
-
}>;
|
|
36
|
-
export type MediaAssetIndexItem = RenderableMediaAsset;
|
|
37
|
-
export type MediaAssetIndex = RenderableMediaAssetIndex;
|
|
38
|
-
export declare function buildMediaAssetIndex(assets: readonly MediaAssetIndexItem[] | undefined): MediaAssetIndex | undefined;
|
|
39
25
|
export type ResolveImageSourceSetOptions = {
|
|
40
26
|
widthCandidates?: readonly number[];
|
|
41
27
|
sizes?: string;
|
|
@@ -78,9 +64,8 @@ export type MediaUrlResolution = Readonly<{
|
|
|
78
64
|
assetId?: string;
|
|
79
65
|
identifier?: string | null;
|
|
80
66
|
}>;
|
|
81
|
-
export declare function
|
|
82
|
-
export declare function
|
|
83
|
-
export declare function resolveMediaStorageUrlResult(value: Media, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): MediaUrlResolution;
|
|
67
|
+
export declare function resolveMediaStorageUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): string | undefined;
|
|
68
|
+
export declare function resolveMediaStorageUrlResult(value: RuntimeMedia, context?: ResolveImageUrlContext | null, transformOptions?: DirectImageUrlOptions): MediaUrlResolution;
|
|
84
69
|
/**
|
|
85
70
|
* Common image size presets.
|
|
86
71
|
* Use these for consistent sizing across the application.
|
|
@@ -111,68 +96,15 @@ export declare const ImagePresets: {
|
|
|
111
96
|
readonly resize: "contain";
|
|
112
97
|
};
|
|
113
98
|
};
|
|
114
|
-
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
*/
|
|
118
|
-
type MediaContext = {
|
|
119
|
-
supabaseUrl?: string;
|
|
120
|
-
siteId?: string;
|
|
121
|
-
mediaAssetIndex?: MediaAssetIndex;
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* Run a function with the given media context.
|
|
125
|
-
* On server: Uses AsyncLocalStorage to isolate context per request.
|
|
126
|
-
* On client: Temporarily sets module-level context for the duration of the call.
|
|
127
|
-
*
|
|
128
|
-
* @example
|
|
129
|
-
* ```tsx
|
|
130
|
-
* runWithMediaContext(
|
|
131
|
-
* { supabaseUrl: 'https://...', siteId: 'abc-123' },
|
|
132
|
-
* () => renderPage(page)
|
|
133
|
-
* )
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
export declare function runWithMediaContext<T>(context: MediaContext, fn: () => T): T;
|
|
137
|
-
/**
|
|
138
|
-
* Set the Supabase URL in the current context.
|
|
139
|
-
* @deprecated Use runWithMediaContext instead for request isolation.
|
|
140
|
-
*/
|
|
141
|
-
export declare function setContextSupabaseUrl(url: string | undefined): void;
|
|
142
|
-
/**
|
|
143
|
-
* Set the site ID in the current context.
|
|
144
|
-
* @deprecated Use runWithMediaContext instead for request isolation.
|
|
145
|
-
*/
|
|
146
|
-
export declare function setContextSiteId(siteId: string | undefined): void;
|
|
147
|
-
export declare function setContextMediaAssetIndex(index: MediaAssetIndex | undefined): void;
|
|
148
|
-
export declare function setContextResolveImageUrlContext(context: ResolveImageUrlContext | undefined): void;
|
|
149
|
-
export declare function getCurrentResolveImageUrlContext(): ResolveImageUrlContext | undefined;
|
|
150
|
-
export declare function setContextMediaAssets(assets: readonly MediaAssetIndexItem[] | undefined): void;
|
|
151
|
-
/**
|
|
152
|
-
* Get the Supabase URL for constructing direct storage URLs.
|
|
153
|
-
* Used for serving images directly from Supabase storage CDN.
|
|
154
|
-
*
|
|
155
|
-
* Resolution order:
|
|
156
|
-
* 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
|
|
157
|
-
* 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
|
|
158
|
-
*
|
|
159
|
-
* SDK sites receive the URL from the API, so they don't need the env var.
|
|
160
|
-
* Dashboard and frontend apps use the env var.
|
|
161
|
-
*/
|
|
162
|
-
export declare function getSupabaseUrl(): string;
|
|
163
|
-
/**
|
|
164
|
-
* Get the site ID for constructing storage paths.
|
|
165
|
-
* Required for relative path resolution.
|
|
166
|
-
*/
|
|
167
|
-
export declare function getSiteId(): string | undefined;
|
|
168
|
-
export declare function resolveVideoPosterUrl(value: Media, context?: ResolveImageUrlContext | null): string | undefined;
|
|
169
|
-
export declare function resolveMediaWithContext<TMedia extends Media>(value: TMedia, context?: ResolveImageUrlContext | null): TMedia;
|
|
99
|
+
/** Resolve portable content without exposing runtime metadata as saved values. */
|
|
100
|
+
export declare function resolveMediaWithContext<TReference extends Media>(reference: TReference, context?: ResolveImageUrlContext | null): ManagedMediaResolution<TReference>;
|
|
101
|
+
export declare function resolveVideoPosterUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null): string | undefined;
|
|
170
102
|
export type MediaImageLoading = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['loading']>;
|
|
171
103
|
export type MediaImageFetchPriority = NonNullable<React.ImgHTMLAttributes<HTMLImageElement>['fetchPriority']>;
|
|
172
104
|
export type MediaNodeProps = {
|
|
173
105
|
"data-slot"?: string;
|
|
174
106
|
"data-surface"?: string;
|
|
175
|
-
value?:
|
|
107
|
+
value?: RuntimeMedia | null;
|
|
176
108
|
className?: string;
|
|
177
109
|
style?: React.CSSProperties;
|
|
178
110
|
children?: React.ReactNode;
|
|
@@ -196,7 +128,7 @@ export type MediaNodeProps = {
|
|
|
196
128
|
imageResolveContext?: ResolveImageUrlContext | null;
|
|
197
129
|
};
|
|
198
130
|
export type VideoPlaybackMode = 'inline' | 'background';
|
|
199
|
-
export declare function resolveMediaNodeResponsiveImage(value:
|
|
131
|
+
export declare function resolveMediaNodeResponsiveImage(value: RuntimeMedia, size: ImageOptions, style: React.CSSProperties | undefined, slot: {
|
|
200
132
|
fieldPath?: string;
|
|
201
133
|
blockKind?: string | null;
|
|
202
134
|
blockContent?: unknown;
|
|
@@ -207,14 +139,15 @@ export declare function resolveMediaNodeResponsiveImage(value: Media, size: Imag
|
|
|
207
139
|
resolvedTransform?: ResolvedMediaTransform;
|
|
208
140
|
isProxy?: boolean;
|
|
209
141
|
};
|
|
210
|
-
export declare function renderVideo(value:
|
|
142
|
+
export declare function renderVideo(value: RuntimeMedia, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null, options?: {
|
|
211
143
|
playback?: VideoPlaybackMode;
|
|
212
144
|
}): React.ReactElement | null;
|
|
213
|
-
export declare function
|
|
214
|
-
export declare function
|
|
145
|
+
export declare function resolvePublicMediaUrl(value: RuntimeMedia, context?: ResolveImageUrlContext | null): string | undefined;
|
|
146
|
+
export declare function renderAudio(value: RuntimeMedia, className?: string, style?: React.CSSProperties, context?: ResolveImageUrlContext | null): React.ReactElement | null;
|
|
147
|
+
export declare function computeMediaTransformStyle(value: RuntimeMedia, style?: React.CSSProperties, targetAspectRatio?: number | string, options?: {
|
|
215
148
|
resolvedTransform?: ResolvedMediaTransform;
|
|
216
149
|
isProxy?: boolean;
|
|
217
|
-
}): React.CSSProperties | undefined;
|
|
150
|
+
}, context?: ResolveImageUrlContext | null): React.CSSProperties | undefined;
|
|
218
151
|
export declare const computeHotspotStyle: typeof computeMediaTransformStyle;
|
|
219
152
|
export declare function resolveTargetAspectRatio(size: ImageOptions): number | undefined;
|
|
220
153
|
export declare function MediaPlaceholder({ className, style, fieldPath, authoring, }: {
|
|
@@ -246,10 +179,9 @@ export declare const MediaNode: React.FC<MediaNodeProps>;
|
|
|
246
179
|
* resolveImageUrl(media, { original: true })
|
|
247
180
|
* ```
|
|
248
181
|
*/
|
|
249
|
-
export declare function resolveImageUrl(value:
|
|
250
|
-
export declare function resolveImageUrlResult(value:
|
|
251
|
-
export declare function resolveImageUrlWithContext(value:
|
|
252
|
-
export declare function resolveImageUrlWithContextResult(value:
|
|
253
|
-
export declare function resolveImageSourceSetWithContext(value:
|
|
182
|
+
export declare function resolveImageUrl(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null): string | undefined;
|
|
183
|
+
export declare function resolveImageUrlResult(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null): MediaUrlResolution;
|
|
184
|
+
export declare function resolveImageUrlWithContext(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): string | undefined;
|
|
185
|
+
export declare function resolveImageUrlWithContextResult(value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext | null, transformAspectRatio?: number | string): MediaUrlResolution;
|
|
186
|
+
export declare function resolveImageSourceSetWithContext(value: RuntimeMedia, options: ResolveImageSourceSetOptions, context?: ResolveImageUrlContext | null): ResolvedImageSourceSet | undefined;
|
|
254
187
|
export declare function mediaImageHostProps(props: Pick<MediaNodeProps, 'value' | 'className' | 'loading' | 'fetchPriority' | 'data-slot' | 'data-surface'>, style: React.CSSProperties | undefined): React.ImgHTMLAttributes<HTMLImageElement> & Pick<MediaNodeProps, 'data-slot' | 'data-surface'>;
|
|
255
|
-
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type RenderableMediaAsset, type RenderableMediaAssetIndex } from '../../../../../media-core/src/index';
|
|
2
|
+
export type ResolveImageUrlContext = {
|
|
3
|
+
supabaseUrl?: string;
|
|
4
|
+
siteId?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Optional per-call media asset index for resolving identifier-only media values
|
|
7
|
+
* without mutating persisted content shapes.
|
|
8
|
+
*/
|
|
9
|
+
mediaAssetIndex?: MediaAssetIndex;
|
|
10
|
+
};
|
|
11
|
+
export type ResolveImageUrlContextInput = Readonly<{
|
|
12
|
+
supabaseUrl?: string;
|
|
13
|
+
siteId?: string;
|
|
14
|
+
mediaAssetIndex?: MediaAssetIndex;
|
|
15
|
+
mediaAssets?: readonly MediaAssetIndexItem[];
|
|
16
|
+
}>;
|
|
17
|
+
export type MediaAssetIndexItem = RenderableMediaAsset;
|
|
18
|
+
export type MediaAssetIndex = RenderableMediaAssetIndex;
|
|
19
|
+
export declare function buildMediaAssetIndex(assets: readonly MediaAssetIndexItem[] | undefined): MediaAssetIndex | undefined;
|
|
20
|
+
export declare function buildResolveImageUrlContext(input: ResolveImageUrlContextInput | undefined): ResolveImageUrlContext;
|
|
21
|
+
/**
|
|
22
|
+
* Media context for URL resolution.
|
|
23
|
+
* Contains site-specific values needed to build storage URLs.
|
|
24
|
+
*/
|
|
25
|
+
type MediaContext = {
|
|
26
|
+
supabaseUrl?: string;
|
|
27
|
+
siteId?: string;
|
|
28
|
+
mediaAssetIndex?: MediaAssetIndex;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Run a function with the given media context.
|
|
32
|
+
* On server: Uses AsyncLocalStorage to isolate context per request.
|
|
33
|
+
* On client: Temporarily sets module-level context for the duration of the call.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* runWithMediaContext(
|
|
38
|
+
* { supabaseUrl: 'https://...', siteId: 'abc-123' },
|
|
39
|
+
* () => renderPage(page)
|
|
40
|
+
* )
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function runWithMediaContext<T>(context: MediaContext, fn: () => T): T;
|
|
44
|
+
export declare function setContextSupabaseUrl(url: string | undefined): void;
|
|
45
|
+
/** @deprecated Use runWithMediaContext for request isolation. */
|
|
46
|
+
export declare function setContextSiteId(siteId: string | undefined): void;
|
|
47
|
+
export declare function setContextMediaAssetIndex(index: MediaAssetIndex | undefined): void;
|
|
48
|
+
export declare function setContextResolveImageUrlContext(context: ResolveImageUrlContext | undefined): void;
|
|
49
|
+
export declare function getCurrentResolveImageUrlContext(): ResolveImageUrlContext | undefined;
|
|
50
|
+
export declare function setContextMediaAssets(assets: readonly MediaAssetIndexItem[] | undefined): void;
|
|
51
|
+
/**
|
|
52
|
+
* Get the Supabase URL for constructing direct storage URLs.
|
|
53
|
+
* Used for serving images directly from Supabase storage CDN.
|
|
54
|
+
*
|
|
55
|
+
* Resolution order:
|
|
56
|
+
* 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
|
|
57
|
+
* 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
|
|
58
|
+
*
|
|
59
|
+
* SDK sites receive the URL from the API, so they don't need the env var.
|
|
60
|
+
* Dashboard and frontend apps use the env var.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getSupabaseUrl(): string;
|
|
63
|
+
/**
|
|
64
|
+
* Get the site ID for constructing storage paths.
|
|
65
|
+
* Required for relative path resolution.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getSiteId(): string | undefined;
|
|
68
|
+
export declare function getMediaAssetIndex(context?: ResolveImageUrlContext): MediaAssetIndex | undefined;
|
|
69
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type LookListPresentation } from '../lookSurfaces';
|
|
1
2
|
import { type MailingListSignupSourceRef } from '../../../../../core/src/index';
|
|
2
3
|
import { type InteractiveIslandProps } from '../../../contracts/islands';
|
|
3
4
|
import { type NewsletterButtonVariant, type NewsletterFieldDef, type NewsletterFormProps } from './newsletter-form.types';
|
|
4
5
|
export type NewsletterFormSourceProps = NewsletterFormProps;
|
|
5
|
-
export type NewsletterFormDisplay = Readonly<{
|
|
6
|
+
export type NewsletterFormDisplay = Pick<LookListPresentation, 'lookSlots'> & Readonly<{
|
|
6
7
|
kind: 'newsletter-form';
|
|
7
8
|
availability: 'ready' | 'unavailable';
|
|
8
9
|
className: string | null;
|
|
@@ -47,25 +48,12 @@ type NewsletterIslandMeta = Readonly<{
|
|
|
47
48
|
siteId?: string;
|
|
48
49
|
apiBaseUrl?: string;
|
|
49
50
|
}>;
|
|
50
|
-
export declare function buildNewsletterDisplay(source: Pick<NewsletterFormSourceProps, 'source' | 'mailingList' | 'targeting' | 'buttonVariant' | 'className'>): NewsletterFormDisplay;
|
|
51
|
+
export declare function buildNewsletterDisplay(source: Pick<NewsletterFormSourceProps, 'source' | 'mailingList' | 'targeting' | 'buttonVariant' | 'className' | 'lookSlots'>): NewsletterFormDisplay;
|
|
51
52
|
export type NewsletterFormInteractiveIslandProps = InteractiveIslandProps<NewsletterIslandMeta, 'newsletter-form', typeof newsletterFormBlockRuntime>;
|
|
52
53
|
export declare const newsletterFormBlockRuntime: Readonly<{
|
|
53
54
|
kind: "progressive";
|
|
54
55
|
buildRender: (source: NewsletterFormProps) => Readonly<{
|
|
55
|
-
display:
|
|
56
|
-
kind: "newsletter-form";
|
|
57
|
-
availability: "ready" | "unavailable";
|
|
58
|
-
className: string | null;
|
|
59
|
-
buttonLabel: string;
|
|
60
|
-
successMessage: string;
|
|
61
|
-
buttonVariant: NewsletterButtonVariant;
|
|
62
|
-
privacyNote: string | null;
|
|
63
|
-
fields: readonly NewsletterFieldDef[];
|
|
64
|
-
choices: readonly Readonly<{
|
|
65
|
-
id: string;
|
|
66
|
-
label: string;
|
|
67
|
-
}>[];
|
|
68
|
-
}>;
|
|
56
|
+
display: NewsletterFormDisplay;
|
|
69
57
|
hydration: Readonly<{
|
|
70
58
|
target: NewsletterFormHydrationTarget;
|
|
71
59
|
setupRevision: number | null;
|
|
@@ -81,20 +69,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
81
69
|
}>;
|
|
82
70
|
render: Readonly<{
|
|
83
71
|
encode: (value: Readonly<{
|
|
84
|
-
display:
|
|
85
|
-
kind: "newsletter-form";
|
|
86
|
-
availability: "ready" | "unavailable";
|
|
87
|
-
className: string | null;
|
|
88
|
-
buttonLabel: string;
|
|
89
|
-
successMessage: string;
|
|
90
|
-
buttonVariant: NewsletterButtonVariant;
|
|
91
|
-
privacyNote: string | null;
|
|
92
|
-
fields: readonly NewsletterFieldDef[];
|
|
93
|
-
choices: readonly Readonly<{
|
|
94
|
-
id: string;
|
|
95
|
-
label: string;
|
|
96
|
-
}>[];
|
|
97
|
-
}>;
|
|
72
|
+
display: NewsletterFormDisplay;
|
|
98
73
|
hydration: Readonly<{
|
|
99
74
|
target: NewsletterFormHydrationTarget;
|
|
100
75
|
setupRevision: number | null;
|
|
@@ -104,20 +79,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
104
79
|
}>;
|
|
105
80
|
}>) => unknown;
|
|
106
81
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
107
|
-
display:
|
|
108
|
-
kind: "newsletter-form";
|
|
109
|
-
availability: "ready" | "unavailable";
|
|
110
|
-
className: string | null;
|
|
111
|
-
buttonLabel: string;
|
|
112
|
-
successMessage: string;
|
|
113
|
-
buttonVariant: NewsletterButtonVariant;
|
|
114
|
-
privacyNote: string | null;
|
|
115
|
-
fields: readonly NewsletterFieldDef[];
|
|
116
|
-
choices: readonly Readonly<{
|
|
117
|
-
id: string;
|
|
118
|
-
label: string;
|
|
119
|
-
}>[];
|
|
120
|
-
}>;
|
|
82
|
+
display: NewsletterFormDisplay;
|
|
121
83
|
hydration: Readonly<{
|
|
122
84
|
target: NewsletterFormHydrationTarget;
|
|
123
85
|
setupRevision: number | null;
|
|
@@ -139,20 +101,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
139
101
|
render: Readonly<{
|
|
140
102
|
mode: "newsletter-form";
|
|
141
103
|
} & Readonly<{
|
|
142
|
-
display:
|
|
143
|
-
kind: "newsletter-form";
|
|
144
|
-
availability: "ready" | "unavailable";
|
|
145
|
-
className: string | null;
|
|
146
|
-
buttonLabel: string;
|
|
147
|
-
successMessage: string;
|
|
148
|
-
buttonVariant: NewsletterButtonVariant;
|
|
149
|
-
privacyNote: string | null;
|
|
150
|
-
fields: readonly NewsletterFieldDef[];
|
|
151
|
-
choices: readonly Readonly<{
|
|
152
|
-
id: string;
|
|
153
|
-
label: string;
|
|
154
|
-
}>[];
|
|
155
|
-
}>;
|
|
104
|
+
display: NewsletterFormDisplay;
|
|
156
105
|
hydration: Readonly<{
|
|
157
106
|
target: NewsletterFormHydrationTarget;
|
|
158
107
|
setupRevision: number | null;
|
|
@@ -170,20 +119,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
170
119
|
render: Readonly<{
|
|
171
120
|
mode: "newsletter-form";
|
|
172
121
|
} & Readonly<{
|
|
173
|
-
display:
|
|
174
|
-
kind: "newsletter-form";
|
|
175
|
-
availability: "ready" | "unavailable";
|
|
176
|
-
className: string | null;
|
|
177
|
-
buttonLabel: string;
|
|
178
|
-
successMessage: string;
|
|
179
|
-
buttonVariant: NewsletterButtonVariant;
|
|
180
|
-
privacyNote: string | null;
|
|
181
|
-
fields: readonly NewsletterFieldDef[];
|
|
182
|
-
choices: readonly Readonly<{
|
|
183
|
-
id: string;
|
|
184
|
-
label: string;
|
|
185
|
-
}>[];
|
|
186
|
-
}>;
|
|
122
|
+
display: NewsletterFormDisplay;
|
|
187
123
|
hydration: Readonly<{
|
|
188
124
|
target: NewsletterFormHydrationTarget;
|
|
189
125
|
setupRevision: number | null;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import { type LookListPresentation } from '../lookSurfaces';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import type { NewsletterButtonVariant, NewsletterFieldDef } from './newsletter-form.types';
|
|
3
4
|
/**
|
|
4
5
|
* Newsletter form pieces shared by the SSR render and the hydrated island, so
|
|
5
6
|
* both produce the same markup.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* readers still get the label.
|
|
8
|
+
* Legacy layouts keep visually hidden labels and the joined email/button.
|
|
9
|
+
* Compiler-owned Look hooks expose labelled controls and a separate action.
|
|
10
10
|
*/
|
|
11
11
|
export declare const TOPIC_CHOICE_FIELD_ID = "mailingListChoice";
|
|
12
|
-
type FieldState = Readonly<{
|
|
12
|
+
type FieldState = Pick<LookListPresentation, 'lookSlots'> & Readonly<{
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
error?: string | null;
|
|
15
15
|
}>;
|
|
@@ -18,7 +18,7 @@ export declare function partitionNewsletterFields(fields: readonly NewsletterFie
|
|
|
18
18
|
email: NewsletterFieldDef | null;
|
|
19
19
|
extra: readonly NewsletterFieldDef[];
|
|
20
20
|
}>;
|
|
21
|
-
export declare function NewsletterExtraField({ field, disabled, error, }: Readonly<{
|
|
21
|
+
export declare function NewsletterExtraField({ field, disabled, error, lookSlots, }: Readonly<{
|
|
22
22
|
field: NewsletterFieldDef;
|
|
23
23
|
}> & FieldState): React.ReactElement;
|
|
24
24
|
/** The email field and submit button sharing one input-styled shell. */
|
|
@@ -31,7 +31,7 @@ export declare function NewsletterEmailEntry({ field, buttonVariant, buttonLabel
|
|
|
31
31
|
* The submit action: joined to the email field when the preset has one
|
|
32
32
|
* (every current preset does), otherwise a plain themed button.
|
|
33
33
|
*/
|
|
34
|
-
export declare function NewsletterSubmitRow({ emailField, buttonVariant, buttonLabel, disabled, error, }: Readonly<{
|
|
34
|
+
export declare function NewsletterSubmitRow({ emailField, lookSlots, buttonVariant, buttonLabel, disabled, error, }: Readonly<{
|
|
35
35
|
emailField: NewsletterFieldDef | null;
|
|
36
36
|
buttonVariant: NewsletterButtonVariant;
|
|
37
37
|
buttonLabel: string;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { MailingListGlobalForm, MailingListPlacementTargeting, MailingListRuntimeContext, MailingListSignupSourceRef } from '../../../../../core/src/index';
|
|
7
7
|
import type { BlockButtonRole } from '../../constants/buttonRoles';
|
|
8
|
+
import type { LookListPresentation } from '../lookSurfaces';
|
|
8
9
|
import type { NewsletterBlockSubmission } from './newsletter-form.block-submission';
|
|
9
10
|
export type NewsletterPreset = MailingListGlobalForm['fields']['preset'];
|
|
10
11
|
export type NewsletterFieldDef = {
|
|
@@ -15,7 +16,7 @@ export type NewsletterFieldDef = {
|
|
|
15
16
|
placeholder?: string;
|
|
16
17
|
};
|
|
17
18
|
export type NewsletterButtonVariant = BlockButtonRole;
|
|
18
|
-
type NewsletterFormCommonProps = {
|
|
19
|
+
type NewsletterFormCommonProps = Pick<LookListPresentation, 'lookSlots'> & {
|
|
19
20
|
/** Site ID for API calls */
|
|
20
21
|
siteId?: string;
|
|
21
22
|
/** API base URL for client-side fetching */
|
|
@@ -52,5 +53,5 @@ export type NewsletterFormProps = NewsletterFormCommonProps & (BlockNewsletterFo
|
|
|
52
53
|
/**
|
|
53
54
|
* Get form fields based on preset configuration.
|
|
54
55
|
*/
|
|
55
|
-
export declare function getGlobalFormFields(form: MailingListGlobalForm): NewsletterFieldDef[];
|
|
56
|
+
export declare function getGlobalFormFields(form: MailingListGlobalForm, presentation?: Pick<LookListPresentation, "lookSlots">): NewsletterFieldDef[];
|
|
56
57
|
export {};
|
|
@@ -18,8 +18,8 @@ export declare const eventButtonVariantSchema: z.ZodEnum<{
|
|
|
18
18
|
ghost: "ghost";
|
|
19
19
|
}>;
|
|
20
20
|
export declare const eventLayoutSchema: z.ZodEnum<{
|
|
21
|
-
stack: "stack";
|
|
22
21
|
compact: "compact";
|
|
22
|
+
stack: "stack";
|
|
23
23
|
grid: "grid";
|
|
24
24
|
}>;
|
|
25
25
|
export declare const eventCalendarDisplayModeSchema: z.ZodEnum<{
|
|
@@ -44,8 +44,8 @@ export declare const weekStartSchema: z.ZodEnum<{
|
|
|
44
44
|
}>;
|
|
45
45
|
export declare const filterAutoShowSchema: z.ZodEnum<{
|
|
46
46
|
auto: "auto";
|
|
47
|
-
never: "never";
|
|
48
47
|
always: "always";
|
|
48
|
+
never: "never";
|
|
49
49
|
}>;
|
|
50
50
|
export declare const calendarTabViewsSchema: z.ZodEnum<{
|
|
51
51
|
week: "week";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { surfaceDecorationColors } from '../../../../../../theme-core/src/site-styles/index';
|
|
1
2
|
import { resolveSurfaceForeground, type ResolvedSurfaceForeground } from '../../../../../../theme-core/src/surfaces/index';
|
|
2
3
|
import type { ThemeFooter, ThemeHeader } from '../../../../../../theme-core/src/schema';
|
|
3
4
|
import type { ThemeColorToken } from '../../../../../../theme-core/src/tokens/index';
|
|
@@ -7,3 +8,5 @@ export declare function resolveFooterRootForeground(footer: Partial<ThemeFooter>
|
|
|
7
8
|
export declare function resolveSurfaceForegroundStyles(value: unknown, context: TransformContext, options?: Readonly<{
|
|
8
9
|
fallbackToken?: string;
|
|
9
10
|
}>): Record<string, string>;
|
|
11
|
+
/** Decoration roles already resolved by the surface owner, shared with footer arrangements. */
|
|
12
|
+
export declare function surfaceInkStyles(foreground: ResolvedSurfaceForeground, palette: Parameters<typeof surfaceDecorationColors>[1]): Record<string, string>;
|