@riverbankcms/sdk 0.151.0 → 0.152.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 +37 -0
- package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-DVQXWFm6.mjs} +10 -9
- package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-Dr4NJi3Q.mjs} +4 -3
- package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-DSZXQbyh.mjs} +5 -4
- package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-Dl4GyMc3.mjs} +124 -53
- package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-DgBe-FlM.mjs} +20418 -32298
- package/dist/ThemedButton-B8ViBnLK.mjs +16350 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/navigation/types.d.ts +7 -0
- package/dist/_dts/api/src/navigation.d.ts +1 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/blocks/src/definitions.d.ts +1 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +16 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
- package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
- package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
- package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +58 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +16 -0
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -1
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
- package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
- package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
- package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
- package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
- package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
- package/dist/_dts/core/src/branded.d.ts +0 -2
- package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
- package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
- package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +2 -0
- package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +51 -32
- package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
- package/dist/_dts/editor/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
- package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
- package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
- package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
- package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/image.d.ts +10 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
- package/dist/_dts/sdk/src/rendering/link.d.ts +9 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/client/BookingMailingListNote-CBuMKN0w.mjs +386 -0
- package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-Dc9XTXhB.mjs} +3 -4
- package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
- package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-CIqx_o0E.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-D3VQ_kLj.mjs} +85 -85
- package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-BHGEKise.mjs} +8 -9
- package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-Bo1Cm23R.mjs} +11 -10
- package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-D5OQgVPr.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-CLL5cWrr.mjs} +1 -1
- package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
- package/dist/client/{RichText-LjPCUGGi.mjs → RichText-BoDmnopf.mjs} +6 -3
- package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-Ciltp0IK.mjs} +2 -2
- package/dist/client/{accordion-Qe--SILD.mjs → accordion-DOkRS64-.mjs} +1 -1
- package/dist/client/aspectTransforms-D-TnDdq4.mjs +93 -0
- package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-wlMVwo9h.mjs} +289 -149
- package/dist/client/bookings.mjs +12212 -10832
- package/dist/client/{carousel-h2YjKOS2.mjs → carousel-CGWk-Z0u.mjs} +2 -2
- package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-kX5mN1Eg.mjs} +46 -41
- package/dist/client/{cart-5NeiigVd.mjs → cart-OBBPlaH4.mjs} +3 -3
- package/dist/client/{checkout-G4UWjOEw.mjs → checkout-Bmw2WjQX.mjs} +3 -3
- package/dist/client/client.mjs +9541 -6039
- package/dist/client/{colorStyles-DTunOThj.mjs → colorStyles-ECDNPE_P.mjs} +23 -86
- package/dist/client/{context-GK4-AVAh.mjs → context-BI77UFAn.mjs} +275 -10
- package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-qkej2Edn.mjs} +19 -17
- package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-DApKHvat.mjs} +4 -4
- package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-BQyUDPH0.mjs} +3 -4
- package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-CeAnshlZ.mjs} +4 -4
- package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-C3A3NyBO.mjs} +2209 -2144
- package/dist/client/{form-Cf0WMtfG.mjs → form-DW8rU7jO.mjs} +6 -6
- package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-CkIhsoNm.mjs} +9 -9
- package/dist/client/hooks.mjs +1289 -380
- package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-D4O8wbli.mjs} +4 -4
- package/dist/client/{media-47fcnhzD.mjs → media-C5K_0xPd.mjs} +2 -2
- package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-B7IxSPuz.mjs} +5 -5
- package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-Bqxpwy5N.mjs} +3 -3
- package/dist/client/{productList-BKQlWEKE.mjs → productList-u9Lz8V15.mjs} +3 -3
- package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-Bf1jucUp.mjs} +17333 -14489
- package/dist/client/rendering/client.mjs +58216 -55133
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +9099 -5636
- package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-BgP-aPMl.mjs} +1 -1
- package/dist/client/{shop-D7ytcFBC.mjs → shop-B_eykR-_.mjs} +16 -14
- package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-CT0APkFV.mjs} +9 -9
- package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DcvZxdEK.mjs} +1 -1
- package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BVJOiUiJ.mjs} +5 -5
- package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
- package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-DPmYDunz.mjs} +60 -77
- package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-8-U55vH5.mjs} +7 -8
- package/dist/preview-next/before-render.mjs +7 -0
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/keepAlive.mjs +7 -0
- package/dist/preview-next/middleware.mjs +7 -0
- package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-C5jPdSrk.mjs} +1 -1
- package/dist/server/components.mjs +3138 -1373
- package/dist/server/config-validation.mjs +1395 -486
- package/dist/server/config.mjs +1395 -486
- package/dist/server/data.mjs +1289 -380
- package/dist/server/index.mjs +8 -1
- package/dist/server/next.mjs +3362 -1538
- package/dist/server/page-converter.mjs +1357 -453
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2335 -1044
- package/dist/server/rendering.mjs +3152 -1370
- package/dist/server/routing.mjs +1437 -490
- package/dist/server/server.mjs +1297 -381
- package/dist/server/theme-bridge.mjs +1135 -795
- package/dist/{spinner-tSdG9YvG.mjs → spinner-B-ab2rJp.mjs} +1 -1
- package/dist/styles/index.css +1088 -721
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
- package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
- package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
- package/dist/client/pricing-CMD0kADd.mjs +0 -314
- package/dist/client/result-DRW7JWXz.mjs +0 -30
- package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
- package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
- package/dist/spinner-BL3kW9Uh.mjs +0 -803
package/CHANGELOG.md
CHANGED
|
@@ -7,9 +7,46 @@ and then gets the version it went out in.
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
- Additive: public events optionally expose nullable `scheduleSummary: { recurrenceDescription, startTime }`, using the stored series RRULE and local start time (`HH:mm`). Booking cards and bars prefer it over the date count; older payloads and irregular schedules retain the count fallback (#1581).
|
|
11
|
+
|
|
10
12
|
- Booking payment editor helpers now model independent upfront/offline choices and one exclusive collection choice. Replace primary-option and allow-upfront setters with `setBookingPaymentTermsEditorOptionEnabled`; disabled settings drafts are retained. Wizard draft version 5 rejects the previous shape.
|
|
11
13
|
- Booking editor deadline and validation helpers require `nowMs`, supplied by the UI or submit handler. `buildBookingPaymentOptionsChoiceFromEditor` now takes named `source`, `state` and required `hasPaidPricing` fields.
|
|
12
14
|
|
|
15
|
+
### Breaking: confirmed event booking outcomes (#1581)
|
|
16
|
+
|
|
17
|
+
- `ConfirmationPayment.manual_due` requires the authoritative `currency`;
|
|
18
|
+
amount-due confirmations require a “Still to pay” row. Offline instructions
|
|
19
|
+
reuse the shared payment-option copy, independently of custom success copy.
|
|
20
|
+
- Wizard/headless `waitlistClaim` is a booking-owned invitation union, replacing
|
|
21
|
+
the nullable claim/token/error flags. Success carries no active invitation;
|
|
22
|
+
Book another starts a fresh draft without credentials or reserved selections.
|
|
23
|
+
Completion clears both claim URL parameters. Claim responses are decoded
|
|
24
|
+
strictly before restoration; unsupported subjects or inconsistent selections
|
|
25
|
+
are rejected at the Block API boundary. Low-level submission takes the decided
|
|
26
|
+
invitation availability, and `SuccessStep` requires payment presentation.
|
|
27
|
+
|
|
28
|
+
- Register `bookingComplete`, direct checkout `completed`, and checkout-return
|
|
29
|
+
`resolved` responses require an authoritative `EventBookingOutcome`; its
|
|
30
|
+
identity contains the booking reference and original submission ID. Confirmed
|
|
31
|
+
responses no longer include a separate reference, deferred balance or
|
|
32
|
+
`paymentDeferred` arm. Registration summaries contain copy and optional
|
|
33
|
+
remaining pass credits rather than booking/payment facts.
|
|
34
|
+
- `RegistrationResult` requires an outcome for confirmed bookings. Wizard and
|
|
35
|
+
headless success states carry their result; completion uses one transition,
|
|
36
|
+
and `setStep('success')` is no longer supported. Unavailable details retain
|
|
37
|
+
successful booking identity for recovery.
|
|
38
|
+
|
|
39
|
+
### Breaking: event booking always opens in a panel on CMS pages (#1581)
|
|
40
|
+
|
|
41
|
+
- The page renderer's data context no longer accepts
|
|
42
|
+
`eventRegistrationOverlayEnabled`. The event registration block on a CMS
|
|
43
|
+
page now always shows a booking card in the page, a booking bar fixed to the
|
|
44
|
+
bottom of the screen, and the booking steps in a panel; there is no inline
|
|
45
|
+
form to switch back to. Pages built around booking (the system event page,
|
|
46
|
+
the hosted booking page) show the steps in place.
|
|
47
|
+
- Will accepted this on 2026-10-01. Drop the option from any renderer call
|
|
48
|
+
that passed it; it has no replacement.
|
|
49
|
+
|
|
13
50
|
### Booking payment choices (#1525)
|
|
14
51
|
|
|
15
52
|
- Refundable payments with no future balance use “Pay in full” copy while
|
package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-DVQXWFm6.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { Br as SpinnerNode, Hr as checkBrowserStripeKey, n as ThemedButton, oi as __commonJSMin } from "./ThemedButton-B8ViBnLK.mjs";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
//#region ../../node_modules/.pnpm/@stripe+stripe-js@9.17.0/node_modules/@stripe/stripe-js/dist/pure.js
|
|
@@ -231,21 +231,21 @@ function EventEmbeddedCheckoutStepWithDeps(props) {
|
|
|
231
231
|
const heading = useRef(null);
|
|
232
232
|
const status = useStripeMount(props, container, props.load);
|
|
233
233
|
useEffect(() => {
|
|
234
|
-
heading.current?.focus();
|
|
235
|
-
}, []);
|
|
234
|
+
if (props.onBack) heading.current?.focus();
|
|
235
|
+
}, [props.onBack]);
|
|
236
236
|
return /* @__PURE__ */ jsxs("section", {
|
|
237
237
|
className: "er-embedded-payment",
|
|
238
238
|
children: [
|
|
239
|
-
/* @__PURE__ */ jsx("button", {
|
|
239
|
+
props.onBack ? /* @__PURE__ */ jsx("button", {
|
|
240
240
|
type: "button",
|
|
241
241
|
className: "er-back-btn er-embedded-payment__back",
|
|
242
242
|
onClick: props.onBack,
|
|
243
243
|
children: "← Back"
|
|
244
|
-
}),
|
|
244
|
+
}) : null,
|
|
245
245
|
/* @__PURE__ */ jsx("h2", {
|
|
246
246
|
ref: heading,
|
|
247
247
|
tabIndex: -1,
|
|
248
|
-
className: "
|
|
248
|
+
className: "rb-sr-only",
|
|
249
249
|
children: "Payment"
|
|
250
250
|
}),
|
|
251
251
|
status === "loading" && /* @__PURE__ */ jsxs("div", {
|
|
@@ -266,11 +266,12 @@ function EventEmbeddedCheckoutStepWithDeps(props) {
|
|
|
266
266
|
children: [/* @__PURE__ */ jsx("p", {
|
|
267
267
|
className: "er-text--muted er-message",
|
|
268
268
|
children: "We couldn’t load the payment form."
|
|
269
|
-
}), /* @__PURE__ */ jsx(
|
|
269
|
+
}), /* @__PURE__ */ jsx(ThemedButton, {
|
|
270
270
|
type: "button",
|
|
271
|
-
|
|
271
|
+
variant: props.buttonVariant,
|
|
272
|
+
size: "md",
|
|
272
273
|
onClick: props.onRetry,
|
|
273
|
-
|
|
274
|
+
label: "Try again"
|
|
274
275
|
})]
|
|
275
276
|
}),
|
|
276
277
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { n as
|
|
4
|
-
import {
|
|
2
|
+
import { A as updateButtonStyleHoverPreference, Bn as paletteColorEntries, E as buttonStyleSelectionParameterValue, Hn as paletteColorsSchema, M as buttonStyleSelectionKey, Mr as generateFontFaceCss, Nr as getSiteFontsStorageUrl, O as findButtonStyleRecipe, Pr as VARIANT_ROLES, T as buttonStyleHoverPreferenceValue, Zn as resolveSdkFooterMode, i as ThemedButtonSpecimen, j as updateButtonStyleSelectionChoice, jr as buildFontPreviewUrl, k as resolveButtonStyleSelection } from "./ThemedButton-B8ViBnLK.mjs";
|
|
3
|
+
import { $a as Tabs, A as previewFooterLook, B as createOptimisticActionRunner, C as markApplySaved, Ca as getHeaderLayout, Ct as useUISelector, D as planStyleSwitch, Do as SlidersHorizontal, E as palettePreviewProjection, Eo as Smartphone, Et as useEntryController, F as setPaletteColors, Ga as SelectValue, Go as Button, Ha as SelectContent, Hn as listEntryPageContentSlots, Ho as ChevronLeft, I as styleConfiguratorHistoryEntryForPersistedSelection, Ja as SearchInput, Ka as Callout, L as syncStyleConfiguratorState, M as previewHeaderStyle, N as resetTypographyToSaved, No as Monitor, O as previewButtonStyle, P as restageSelectionChanges, Po as Maximize2, Pt as LinkedEntryLeaseBanner, Q as reportPreviewDesignError, Qa as Input, R as toggleRow, S as markApplyFailed, Sa as findFooterLook, Sr as ThemeScope, St as ContentFieldsForm, T as openRow, Ua as SelectItem, Un as listPageSurfaceContentSlots, Uo as ChevronDown, Va as Select, Vn as createManifestValidation, Vo as ChevronRight, Wa as SelectTrigger, Wn as blocksKeys, Wo as Check, Xa as PopoverContent, Xo as canWriteLinkedEntry, Ya as Popover, Yo as isEdited, Z as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, Za as PopoverTrigger, _ as cancelPreview, _o as DropdownMenuSeparator, a as selectionSnapshotFromApplySiteStyleSelectionResponse, ar as deriveRouteMetadataPresentation, b as dismissWarnings, bo as X$1, cr as unwrapResponse, cs as valueStatus, do as CollapsibleTrigger, eo as TabsContent, f as buildSiteChromeSelectionModels, fo as Surface, g as applyTypographyDraftPatch, ga as palettesForSiteStyle, go as DropdownMenuLabel, gt as FooterComposerPanel, h as applyResolvedSelections, ha as offeredSiteStyles, hn as createStoreBackend, ho as DropdownMenuItem, i as buildApplySiteStyleSelectionBody, j as previewHeaderLayout, k as previewCuratedPalette, kt as useAutosaveStatus, l as usePreviewDesignCoordinator, lo as Collapsible, lr as useEditorUiStore, lt as resolvePreviewSidebarTab, m as planSiteChromeSelection, ma as getCuratedSiteStyle, mn as FormRenderer, mo as DropdownMenuContent, mt as usePreviewAuth, n as useSiteChromeCustomizeOptional, no as TabsTrigger, o as deriveSiteStylePreviewUpdate, or as resolvePageRouteSlug, os as displayedValues, p as cycleSiteChromeSelectionId, pn as ManifestForm, po as DropdownMenu, qa as CalloutDescription, qn as getDashboardUrl, qo as cn, r as StyleSwitchSummary, rr as isAdapterReferenceKind, s as planConfiguratorPreview, sr as resolveContentTitle, ss as syncStateOf, to as TabsList, tr as routeLifecycleContext, un as BlockEditor, uo as CollapsibleContent, ur as useEditorUiStoreInstance, us as assertNever$1, v as createStyleConfiguratorState, vo as DropdownMenuTrigger, w as markApplySaving, wa as getHeaderStyle, wo as Tablet, x as isPreviewingChange, y as deriveStyleConfiguratorCapabilities, yr as toEditorBlockItem, z as resolveStyleConfiguratorInitialSnapshot } from "./SiteChromeCustomizeContext-DgBe-FlM.mjs";
|
|
4
|
+
import { n as Separator, t as Spinner } from "./spinner-B-ab2rJp.mjs";
|
|
5
|
+
import { _ as usePreviewBlockCustomizeSelectionOptional, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-Dl4GyMc3.mjs";
|
|
5
6
|
import React, { createContext, forwardRef, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
|
|
6
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
8
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Ao as
|
|
3
|
-
import { t as Spinner } from "./spinner-
|
|
4
|
-
import { a as PREVIEW_CHROME_PORTAL_CLASS_NAME, b as
|
|
2
|
+
import { Ao as Pencil, Ba as TooltipTrigger, Bo as EllipsisVertical, Co as TriangleAlert, Dt as useEntryEditorController, Fo as LoaderCircle, Go as Button, J as usePreviewDesignHistoryOrder, K as usePreviewPageDesignEditorState, Ko as cva, Lt as EditorWriteSurface, Mo as Palette, Ot as classifyHistoryShortcut, Ra as Tooltip, So as Undo2, To as Sparkles, Uo as ChevronDown, X as selectPreviewDesignHistoryDomain, Y as previewDesignHistoryDomainForCommand, ao as DialogDescription, co as DialogTitle, cr as unwrapResponse, fr as canDiscardDraft, ho as DropdownMenuItem, io as DialogContent, jo as PenLine, ko as Redo2, kt as useAutosaveStatus, lr as useEditorUiStore, mo as DropdownMenuContent, mt as usePreviewAuth, n as useSiteChromeCustomizeOptional, po as DropdownMenu, qo as cn, ro as Dialog, sn as useEditor, so as DialogHeader, ur as useEditorUiStoreInstance, vo as DropdownMenuTrigger, za as TooltipContent, zo as Eye } from "./SiteChromeCustomizeContext-DgBe-FlM.mjs";
|
|
3
|
+
import { t as Spinner } from "./spinner-B-ab2rJp.mjs";
|
|
4
|
+
import { a as PREVIEW_CHROME_PORTAL_CLASS_NAME, b as PREVIEW_CHROME_Z_INDEX, c as resolvePreviewChromeSurface, l as PREVIEW_THEME_COOKIE_NAME, o as PREVIEW_CHROME_THEME_CLASS_NAME, s as applyPreviewChromeSurfaceToElement, x as FixedBottomSurface } from "./SdkPreviewModeRuntime-Dl4GyMc3.mjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
import { useCallback, useEffect, useMemo, useState, useTransition } from "react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -79,7 +79,8 @@ const EditingToggle = ({ placement = "floating" }) => {
|
|
|
79
79
|
onClick: toggleEditingMode,
|
|
80
80
|
disabled: isEditingPending,
|
|
81
81
|
"aria-busy": isEditingPending,
|
|
82
|
-
className: placement === "toolbar" ? "h-10 w-10 cursor-pointer rounded-full shadow-lg backdrop-blur-sm transition-all hover:scale-105" : "fixed bottom-6 right-6
|
|
82
|
+
className: placement === "toolbar" ? "h-10 w-10 cursor-pointer rounded-full shadow-lg backdrop-blur-sm transition-all hover:scale-105" : "fixed bottom-6 right-6 h-10 w-10 cursor-pointer rounded-full shadow-lg backdrop-blur-sm transition-all hover:scale-105",
|
|
83
|
+
style: placement === "toolbar" ? void 0 : { zIndex: PREVIEW_CHROME_Z_INDEX },
|
|
83
84
|
children: [isEditingPending ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : /* @__PURE__ */ jsx(Icon, { className: "h-4 w-4" }), /* @__PURE__ */ jsx("span", {
|
|
84
85
|
className: "sr-only",
|
|
85
86
|
children: tooltipText
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { G as corners, H as parseThemeForPersistence, Hn as paletteColorsSchema, Sn as defaultThemeTokens, Sr as makeBoundaryId, Un as paletteModeSchema, Yt as resolveSurface, Zn as resolveSdkFooterMode, cr as asLayoutVariantKey, dr as assertNever$1, ft as isThemeV2NormalEditorRawStyleFieldName, gt as stripStaleTransitionStyleGroup, in as textColorStyle, rr as asDesignBlockId, si as __exportAll, ur as asSiteStyleId } from "./ThemedButton-B8ViBnLK.mjs";
|
|
3
3
|
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-AR9eEn7j.mjs";
|
|
4
|
-
import { $ as backgroundColorTokens, $a as
|
|
4
|
+
import { $ as backgroundColorTokens, $a as Tabs, $i as defineFragment, $n as createRoutingHelpers, $o as parseFooterModuleId, $r as normalizeOfferingsPreviewItemLimit, $t as FileField, Aa as sectionFactsForContent, Ai as buildResolveImageUrlContext, An as mapOptionValueForSelect, Ar as SITE_CHROME_VISIBLE_HEADER_SELECTOR, At as createEditorApiClientFactory, Bi as blogFeaturedPostFragment, Bn as createManifestFormAdapter, Br as systemCustomizeFacetDefinitionsForBlock, Bt as SiteOptionPickerField, Ci as coerceInlineTextWithFallback, Cn as clientComponentRegistry, Cr as containerResponsiveThemeCss, Ct as useUISelector, Da as resolveLookSlotSurfaces, Di as LINKED_CONTENT_ENTRY_META_KEY, Dn as useSdkConfig, Do as SlidersHorizontal, Dr as normalizeBlockContent, Dt as useEntryEditorController, Ea as resolveItemSurface, Ei as plainTextToInlineText, En as SdkConfigProvider, Er as getBlockDefinition, Fa as deriveSectionGround, Fi as richTextFragment, Fn as prepareBlockEditorManifest, Fr as compileManifestContentContract, Ft as EditLeaseDiscardedNotice, G as PreviewPageDesignEditorStateProvider, Ga as SelectValue, Gi as testimonialsHeadingFragment, Gn as getBlockManifestFromSdkConfig, Go as Button, Gr as getResponsiveScopeSpec, Gt as loadMailingListAuthoringContext, H as arrangementBlockControlsFor, Ha as SelectContent, Hi as formEmbedFragment, Ho as ChevronLeft, Hr as systemCustomizeFacetNextValue, Ht as OfferingsPreviewGroupOrderField, Ia as parseCanonicalRuntimeBackground, Ii as headingFragment, In as stripTopLevelRoutingUi, Io as Info, Ir as validateManifestDraft, It as EditLeaseModal, Ji as ctaRowFragment, Jo as baselineRevisionOf, Jr as getDefaultComponentRegistry, Jt as IconPickerField, K as usePreviewPageDesignEditorState, Ki as ctaCopyFragment, Kn as ApiRequestError, Kr as escapeStyleContent, Kt as MailingListTargetingProvider, La as resolveSectionBackground, Li as cardFragment, Ln as evaluateVisibility, Lo as Image, Lr as resolveArrangementKnobs, Lt as EditorWriteSurface, Ma as sectionTransitionFamilies, Mi as resolveImageUrlWithContext, Mn as FieldFrame, Mr as planSiteOverlayHeaderClearance, Mt as useRetentionTicks, Na as sectionTransitionFamilyForBoundaryOptionId, Ni as setContextResolveImageUrlContext, Nn as useField, Nr as visibleHeaderClearancePx, Nt as VIEWING_PARTICIPATION, Oa as boundaryLayout, Oi as coerceLinkedContentEntriesPayload, On as hasEmptyOption, Oo as RotateCcw, Or as offeringsPreviewBlockDefinition, Pa as sectionTransitionVariantForBoundaryOptionId, Pi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Pn as hideThemeV2RawStyleFields, Pr as parseStoredVariant, Qi as bodyCopyFragment, Qn as API_ENDPOINTS, Qo as buildMailingListSignupBlockSourceRef, Qr as buildOfferingsPreviewRenderStates, Qt as ButtonWidgetProvider, Ri as faqAccordionFragment, Rn as getFieldIntent, Ro as GripVertical, Rr as systemCustomizeFacetAppliesToLayoutVariant, Rt as createSiteOptionApiLoader, Si as planSiteChromePlacement, Sn as useApiMediaUploader, Sr as ThemeScope, Ta as arrangementSlotNames, Ti as isInlineTextEmpty, Tn as BlockApiProvider, Tr as makeDefaultBlockComponent, Tt as EntryControllerProvider, U as arrangementOwnedFieldIds, Ua as SelectItem, Ui as formCopyFragment, Ur as buildThemeRuntime, Ut as OfferingsPreviewWidgetProvider, V as arrangementBackgroundControlFor, Va as Select, Vi as singleButtonFragment, Vo as ChevronRight, Vr as systemCustomizeFacetLabelForValue, Vt as SiteOptionWidgetProvider, W as nextArrangementLookPin, Wa as SelectTrigger, Wi as testimonialsCarouselFragment, Wn as blocksKeys, Wr as DEFAULT_THEME_RESPONSIVE_MODE, Wt as MailingListTargetingField, Xi as ctaButton, Xn as SURFACE_IDS, Xr as buildItemDataMap, Xt as EntryPickerWidgetProvider, Yi as heroCopyFragment, Yn as SURFACE_DOCUMENT_DATA_ATTRIBUTE, Yo as isEdited, Yr as buildOfferingsCatalogueState, Yt as EntryPickerField, Zi as runTransforms, Zn as resolveSurfaceDocumentAttributes, Zo as canEditorWrite, Zr as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Zt as ButtonVariantField, _a as surfaceResolutionContextFromTheme, _i as resolveEntryRouteTarget, _n as decodePublicProductCategorySelectorQuery, _r as renderedFieldChanges, _t as renderSiteChromeBlock, aa as compileEditorModelRuntime, ai as parseGeneratedIconSetId, an as RichTextWidgetProvider, ao as DialogDescription, as as parseEditLeaseScope, at as planBackgroundOverride, ba as getGradientPreset, bi as isObjectRecord, bn as MediaEditorContextProvider, bo as X, br as unsafeAsLinkedContentEntryId, bt as PreviewTextEditor, c as PreviewDesignCoordinatorProvider, ca as readStoredMode, ci as Text$1, cn as LinkField, co as DialogTitle, cr as unwrapResponse, ct as resolveBackgroundCapability, d as usePreviewThemeOverlay, da as resolvePublishedLook, di as siblingPath, dn as PaletteProvider, dr as useOptionalEditorUiStoreInstance, ds as expectParsedBrandedId, dt as initPreviewAuth, ea as bindingSchema, ei as resolveOfferingsPreviewGroups, en as MediaField, eo as TabsContent, er as createSnapshotFromPageRecord, es as parseMailingListPlacementTargeting, et as canCycleBackgroundOverrideValue, fa as componentRuntimeRulesForTheme, fi as defaultTransforms, fn as usePalette, fs as parseMediaAssetId, ft as registerPreviewRenewalFetcher, gi as isRichTextDoc, gn as MediaEditor, gr as renderSourceFor, hi as bookingConsentCarrierSchema, hn as createStoreBackend, hr as remoteDraftValues, ht as usePreviewToken, ia as applyCompiledRuntimeFieldsToContent, ii as parseGeneratedIconAssetId, in as RichTextField, io as DialogContent, ir as parseReferenceKind, is as selectedContentVersionId, it as parseBackgroundOverrideFromContent, ja as defaultSectionTransitionVariantForFamily, ji as getCurrentResolveImageUrlContext, jn as unmapValueFromSelect, jr as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, jt as createPageSurfaceEditorServices, ka as composeBoundary, ki as getLinkedContentEntryMeta, kn as mapCurrentValueForSelect, kr as projectRecurringSchedule, la as resolveEffectiveArrangement, li as RichText$1, ln as LinkWidgetProvider, lr as useEditorUiStore, ls as unsafeAsEditorBlockId, lt as resolvePreviewSidebarTab, ma as getCuratedSiteStyle, mi as publicEventsArraySchema, mn as FormRenderer, mr as planLinkedSaveHandoverRetention, mt as usePreviewAuth, n as useSiteChromeCustomizeOptional, na as blockLookFromContent, nn as ReferenceWidgetProvider, no as TabsTrigger, nr as BUILT_IN_REFERENCE_KINDS, ns as NO_BLOCK_VERSIONS, nt as enabledBackgroundModes, oa as formatSiteChromeBackgroundTokenLabel, oi as renderInlineText, on as EditorProvider, oo as DialogFooter, ot as planBackgroundTransition, pa as designRuntimeRulesForTheme, pi as calendarWindowQuerySchema, pr as activeLinkedSaveHandover, ps as parseSiteId, pt as renewPreviewSession, q as PreviewDesignHistoryOrderProvider, qi as heroCtaRowFragment, qo as cn, qr as mergeContentWithBlockStyleOverrides, qt as InlineTextField, ra as readBlockComposition, ri as parseBlockIconValue, rn as useRichTextImagePicker, ro as Dialog, rs as readEditorBlockVersionsFromPlacement, rt as imagePoolForOverride, sa as arrangementManifestFromVariants, si as logger, sn as useEditor, so as DialogHeader, st as rankBackgroundImagePoolItems, t as SiteChromeCustomizeProvider, ta as arrangementHooksFromContent, ti as buildAppointmentServicesView, tn as ReferenceField, to as TabsList, ts as sameMailingListPlacementTargeting, tt as defaultBackgroundOverrideForMode, u as PreviewThemeOverlayProvider, ua as resolveModeArrangement, ui as getAtPath, ur as useEditorUiStoreInstance, us as assertNever$2, ut as createGuardedPreviewApiClient, va as gradientToCss, vi as resolvePageRouteTarget, vn as DEFAULT_LAUNCH_READINESS_INPUT, vr as resolveRenderedValues, vt as PreviewRichTextEditor, wi as inlineTextToPlainText, wn as ImageResolveContextProvider, wr as createCustomBlockRegistry, wt as EditableBlockProvider, xa as deriveSiteStyleBlockPolicy, xi as isRecord$8, xn as useMediaEditorOptional, xo as Upload, xr as isSupportedLoaderEndpoint, xt as PREVIEW_EDITABLE_OUTLINE, ya as GRADIENT_PRESETS, yi as resolveRouteTarget, yn as deriveLaunchReadiness, yt as PreviewInlineTextEditor, zi as faqHeadingFragment, zn as isHeaderField, zr as systemCustomizeFacetCurrentValue, zt as createSiteOptionWidgetAdapters } from "./SiteChromeCustomizeContext-DgBe-FlM.mjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
import React, { Children, Fragment, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -563,7 +563,7 @@ function pageBlockPosition(index, blockCount) {
|
|
|
563
563
|
//#endregion
|
|
564
564
|
//#region ../blocks/src/pageRendererContracts.ts
|
|
565
565
|
function buildPageRendererRootRuntime(dataContext) {
|
|
566
|
-
const { siteId = null, siteName, pageId = null, pathname = null, bookingTimeZone, previewStage = "published", apiBaseUrl = null, portalToken = null, readAuthority, bookingOfferingPresets = [], appointmentServicePathPrefix = null, mailingList = { tag: "not_configured" },
|
|
566
|
+
const { siteId = null, siteName, pageId = null, pathname = null, bookingTimeZone, previewStage = "published", apiBaseUrl = null, portalToken = null, readAuthority, bookingOfferingPresets = [], appointmentServicePathPrefix = null, mailingList = { tag: "not_configured" }, loaderFailures = {} } = dataContext ?? {};
|
|
567
567
|
return {
|
|
568
568
|
siteId,
|
|
569
569
|
demoEmailSuppressed: resolveDemoEmailSuppression(dataContext),
|
|
@@ -578,7 +578,6 @@ function buildPageRendererRootRuntime(dataContext) {
|
|
|
578
578
|
bookingOfferingPresets,
|
|
579
579
|
appointmentServicePathPrefix,
|
|
580
580
|
mailingList,
|
|
581
|
-
eventRegistrationOverlayEnabled,
|
|
582
581
|
loaderFailures
|
|
583
582
|
};
|
|
584
583
|
}
|
|
@@ -1292,7 +1291,7 @@ function planNewsletterBlockSubmission(placement) {
|
|
|
1292
1291
|
function planNewsletterPreviewSubmission(placement) {
|
|
1293
1292
|
if (!placement.publishedContentId) return { tag: "unpublished-form" };
|
|
1294
1293
|
if (!placement.publishedContent) return { tag: "unpublished-settings" };
|
|
1295
|
-
const draft = parseMailingListPlacementTargeting(placement.renderedContent.targeting
|
|
1294
|
+
const draft = parseMailingListPlacementTargeting(placement.renderedContent.targeting);
|
|
1296
1295
|
const published = parseMailingListPlacementTargeting(placement.publishedContent.targeting);
|
|
1297
1296
|
if (!draft.ok || !published.ok || !sameMailingListPlacementTargeting(draft.value, published.value)) return { tag: "unpublished-settings" };
|
|
1298
1297
|
const sourceRef = buildMailingListSignupBlockSourceRef(placement.blockId, placement.publishedContentId);
|
|
@@ -1412,7 +1411,8 @@ function preparedBlockProps(entry, content, data, input) {
|
|
|
1412
1411
|
block: entry.block,
|
|
1413
1412
|
themeResources: input.themeResources,
|
|
1414
1413
|
dataContext: input.dataContext,
|
|
1415
|
-
imageResolveContext: input.imageResolveContext
|
|
1414
|
+
imageResolveContext: input.imageResolveContext,
|
|
1415
|
+
routeMap: input.routeMap
|
|
1416
1416
|
}),
|
|
1417
1417
|
bookingTimeZone: input.dataContext?.bookingTimeZone
|
|
1418
1418
|
};
|
|
@@ -1432,6 +1432,12 @@ function buildBlockOverrideProps(input) {
|
|
|
1432
1432
|
...blockSessionProps(dataContext),
|
|
1433
1433
|
...blockSubjectProps(dataContext),
|
|
1434
1434
|
imageResolveContext: input.imageResolveContext,
|
|
1435
|
+
linkResolveContext: {
|
|
1436
|
+
routes: input.routeMap ?? dataContext?.routes,
|
|
1437
|
+
pagesByIdentifier: dataContext?.pagesByIdentifier,
|
|
1438
|
+
entriesByIdentifier: dataContext?.entriesByIdentifier,
|
|
1439
|
+
stage: dataContext?.previewStage
|
|
1440
|
+
},
|
|
1435
1441
|
blockId: block.id ?? null,
|
|
1436
1442
|
contentVersionId: block.contentVersionId ?? null,
|
|
1437
1443
|
...newsletterBlockProps(block, input.content, dataContext?.previewStage),
|
|
@@ -1488,7 +1494,7 @@ function arrangementResolvedData(kind, content, data) {
|
|
|
1488
1494
|
function arrangementResolvedContent(kind, content, data, context) {
|
|
1489
1495
|
if (content._effectiveLook === void 0 || !data || kind !== "block.offerings-preview" && kind !== "block.appointment-services") return content;
|
|
1490
1496
|
if (kind === "block.appointment-services") return appointmentArrangementContent(content, data, context);
|
|
1491
|
-
const normalized = offeringsPreviewBlockDefinition
|
|
1497
|
+
const normalized = normalizeBlockContent(offeringsPreviewBlockDefinition, content);
|
|
1492
1498
|
return withCardListPhotoCount(content, content.showPhotos === false ? 0 : offeringsPreviewPhotoCount({
|
|
1493
1499
|
...normalized,
|
|
1494
1500
|
presets: context?.bookingOfferingPresets,
|
|
@@ -1889,13 +1895,11 @@ function renderSystemBlockElement(input) {
|
|
|
1889
1895
|
* referential equality of all props that affect rendering. Standard React.memo
|
|
1890
1896
|
* wouldn't catch all the render triggers from the editor store.
|
|
1891
1897
|
*/
|
|
1892
|
-
const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources, entry: preparedEntry, audience, dataContext, registry, wrapBlock, imageResolveContext, previewAuthoring }) {
|
|
1893
|
-
const entry = preparedEntry
|
|
1894
|
-
const prepared = preparedEntry.prepared;
|
|
1898
|
+
const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources, entry: preparedEntry, routeMap, audience, dataContext, registry, wrapBlock, imageResolveContext, previewAuthoring }) {
|
|
1899
|
+
const { entry, prepared } = preparedEntry;
|
|
1895
1900
|
const block = entry.block;
|
|
1896
1901
|
const perfStart = globalThis.process?.env?.DEBUG_PERF === "1" && typeof window === "undefined" ? Date.now() : 0;
|
|
1897
|
-
const
|
|
1898
|
-
const resolvedImageResolveContext = imageResolveContext ?? fallbackImageResolveContext;
|
|
1902
|
+
const resolvedImageResolveContext = imageResolveContext ?? getCurrentResolveImageUrlContext();
|
|
1899
1903
|
function finish(node, meta) {
|
|
1900
1904
|
if (!perfStart) return node;
|
|
1901
1905
|
const durationMs = Date.now() - perfStart;
|
|
@@ -1935,7 +1939,8 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources
|
|
|
1935
1939
|
block,
|
|
1936
1940
|
themeResources,
|
|
1937
1941
|
dataContext,
|
|
1938
|
-
imageResolveContext: resolvedImageResolveContext
|
|
1942
|
+
imageResolveContext: resolvedImageResolveContext,
|
|
1943
|
+
routeMap
|
|
1939
1944
|
}) })), {
|
|
1940
1945
|
outcome: "overrideWithoutDefinition",
|
|
1941
1946
|
override: true,
|
|
@@ -3150,6 +3155,34 @@ function isNonEmptyString(value) {
|
|
|
3150
3155
|
function hasText(value) {
|
|
3151
3156
|
return isNonEmptyString(value);
|
|
3152
3157
|
}
|
|
3158
|
+
const CONTROL_CHARACTER_PATTERN = /[\u0000-\u001f\u007f]/u;
|
|
3159
|
+
function containsUnsafePathSegmentCharacter(value) {
|
|
3160
|
+
return value.includes("/") || value.includes("\\") || CONTROL_CHARACTER_PATTERN.test(value);
|
|
3161
|
+
}
|
|
3162
|
+
function isReservedPathSegment(value) {
|
|
3163
|
+
return value === "." || value === "..";
|
|
3164
|
+
}
|
|
3165
|
+
function isUnsafePathSegment(segment) {
|
|
3166
|
+
return segment.trim().length === 0 || segment !== segment.trim() || isReservedPathSegment(segment) || containsUnsafePathSegmentCharacter(segment);
|
|
3167
|
+
}
|
|
3168
|
+
const STORAGE_OBJECT_CHARACTER = "A-Za-z0-9_!.*'() &$=@;:+,-";
|
|
3169
|
+
const unsupportedFilenameCharacters = new RegExp(`[^${STORAGE_OBJECT_CHARACTER}]+`, "gu");
|
|
3170
|
+
const supportedObjectKey = new RegExp(`^[/${STORAGE_OBJECT_CHARACTER}]+$`, "u");
|
|
3171
|
+
/** Validate without trimming or rewriting: supplied keys are object identities. */
|
|
3172
|
+
function parseWritableStoragePath(value) {
|
|
3173
|
+
if (typeof value !== "string" || value.split("/").some(isUnsafePathSegment)) return err("unsafe-path-segment");
|
|
3174
|
+
if (!supportedObjectKey.test(value)) return err("unsupported-storage-character");
|
|
3175
|
+
return ok(value);
|
|
3176
|
+
}
|
|
3177
|
+
/** Choose a new internal filename; never use this to rewrite an existing key. */
|
|
3178
|
+
function storageObjectFilename(filename, maxLength = 255) {
|
|
3179
|
+
const converted = filename.trim().normalize("NFKD").replace(/[\u0300-\u036f]/gu, "").replace(unsupportedFilenameCharacters, "-").trim();
|
|
3180
|
+
const usable = isUnsafePathSegment(converted) ? "upload" : converted;
|
|
3181
|
+
const extension = /\.[A-Za-z0-9]{1,16}$/u.exec(usable)?.[0] ?? "";
|
|
3182
|
+
const stem = extension.length > 0 ? usable.slice(0, -extension.length) : usable;
|
|
3183
|
+
const shortenedFilename = `${(/[A-Za-z0-9]/u.test(stem) || converted === filename.trim() ? stem : "upload").slice(0, Math.max(1, maxLength - extension.length)).trim() || "upload"}${extension}`;
|
|
3184
|
+
return isUnsafePathSegment(shortenedFilename) ? "upload" : shortenedFilename;
|
|
3185
|
+
}
|
|
3153
3186
|
const FILE_STORAGE_BUCKETS = {
|
|
3154
3187
|
publicSite: unsafeAsStorageBucketName("media"),
|
|
3155
3188
|
privateSite: unsafeAsStorageBucketName("site-files-private"),
|
|
@@ -3280,11 +3313,6 @@ function parseRelativeStoragePath(value) {
|
|
|
3280
3313
|
if (!validated.ok) return validated;
|
|
3281
3314
|
return ok$1(brandRelativeStoragePath(validated.value));
|
|
3282
3315
|
}
|
|
3283
|
-
function assertRelativeStoragePath(value) {
|
|
3284
|
-
const parsed = parseRelativeStoragePath(value);
|
|
3285
|
-
if (!parsed.ok) throw new Error(`Expected RelativeStoragePath, got ${parsed.error.tag}`);
|
|
3286
|
-
return parsed.value;
|
|
3287
|
-
}
|
|
3288
3316
|
function isRecord$6(value) {
|
|
3289
3317
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
3290
3318
|
}
|
|
@@ -3614,9 +3642,10 @@ var MediaStorageError = class extends Error {
|
|
|
3614
3642
|
const pad = (value) => value.toString().padStart(2, "0");
|
|
3615
3643
|
const extractExtension = (filename) => {
|
|
3616
3644
|
if (!hasText(filename)) return "";
|
|
3617
|
-
const
|
|
3645
|
+
const internalFilename = storageObjectFilename(filename);
|
|
3646
|
+
const lastDot = internalFilename.lastIndexOf(".");
|
|
3618
3647
|
if (lastDot === -1) return "";
|
|
3619
|
-
return
|
|
3648
|
+
return internalFilename.slice(lastDot).toLowerCase();
|
|
3620
3649
|
};
|
|
3621
3650
|
const generateId = () => {
|
|
3622
3651
|
const crypto = globalThis.crypto;
|
|
@@ -3636,14 +3665,28 @@ const generateId = () => {
|
|
|
3636
3665
|
* since the site ID is prepended at runtime rather than stored in content data.
|
|
3637
3666
|
*/
|
|
3638
3667
|
const generateStoragePath = ({ filename, folder = "originals", variantKey, now = /* @__PURE__ */ new Date() }) => {
|
|
3639
|
-
const extension = extractExtension(filename);
|
|
3640
|
-
const year = now.getUTCFullYear();
|
|
3641
|
-
const month = pad(now.getUTCMonth() + 1);
|
|
3642
3668
|
const id = generateId();
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3669
|
+
const nowParts = {
|
|
3670
|
+
year: now.getUTCFullYear(),
|
|
3671
|
+
month: pad(now.getUTCMonth() + 1)
|
|
3672
|
+
};
|
|
3673
|
+
const path = decideGeneratedStoragePath({
|
|
3674
|
+
extension: extractExtension(filename),
|
|
3675
|
+
folder,
|
|
3676
|
+
...nowParts,
|
|
3677
|
+
id,
|
|
3678
|
+
variantKey: variantKey ?? (folder === "originals" ? id : generateId())
|
|
3679
|
+
});
|
|
3680
|
+
if (!path.ok) {
|
|
3681
|
+
const reason = typeof path.error === "string" ? path.error : path.error.tag;
|
|
3682
|
+
throw new Error(`Invalid generated storage path: ${reason}`);
|
|
3683
|
+
}
|
|
3684
|
+
return path.value;
|
|
3646
3685
|
};
|
|
3686
|
+
function decideGeneratedStoragePath(input) {
|
|
3687
|
+
const writable = parseWritableStoragePath(input.folder === "variants" ? `variants/${input.variantKey}/${input.id}${input.extension}` : input.folder === "imports" ? `imports/${input.variantKey}${input.extension}` : `originals/${input.year}/${input.month}/${input.id}${input.extension}`);
|
|
3688
|
+
return writable.ok ? parseRelativeStoragePath(writable.value) : writable;
|
|
3689
|
+
}
|
|
3647
3690
|
const DEFAULT_BUCKET = "media";
|
|
3648
3691
|
const MAX_LIMIT = 100;
|
|
3649
3692
|
const fileKindSchema = z.custom((value) => parseFileKindJson(value).ok, { message: "Invalid file kind JSON" });
|
|
@@ -4527,6 +4570,15 @@ function findPresetFromCss(css, tokens) {
|
|
|
4527
4570
|
return null;
|
|
4528
4571
|
}
|
|
4529
4572
|
//#endregion
|
|
4573
|
+
//#region ../editor/src/chrome/chromeLayers.ts
|
|
4574
|
+
/**
|
|
4575
|
+
* Where preview and editor chrome stacks against the site it shows. Sites
|
|
4576
|
+
* float their own overlays (the event booking bar sits at 12000 and its
|
|
4577
|
+
* booking panel at 14000): the chrome stays above a site's floating bars, so
|
|
4578
|
+
* its controls stay clickable while viewing, and below a site's modal panel.
|
|
4579
|
+
*/
|
|
4580
|
+
const PREVIEW_CHROME_Z_INDEX = 13e3;
|
|
4581
|
+
//#endregion
|
|
4530
4582
|
//#region ../editor-blocks/src/widgets/entry-picker/loaders.ts
|
|
4531
4583
|
function getStatusBadgeVariant(status) {
|
|
4532
4584
|
switch (status) {
|
|
@@ -4567,7 +4619,8 @@ async function loadRoutableContentItems({ apiClient, siteId }) {
|
|
|
4567
4619
|
endpoint: "getRoutableContent",
|
|
4568
4620
|
params: { siteId }
|
|
4569
4621
|
}));
|
|
4570
|
-
|
|
4622
|
+
if (!Array.isArray(payload?.items)) throw new Error("Invalid routable content response");
|
|
4623
|
+
return payload.items;
|
|
4571
4624
|
}
|
|
4572
4625
|
//#endregion
|
|
4573
4626
|
//#region ../editor-blocks/src/widgets/reference/dynamicAdapters.ts
|
|
@@ -4756,7 +4809,6 @@ const referenceLoaders = {
|
|
|
4756
4809
|
};
|
|
4757
4810
|
//#endregion
|
|
4758
4811
|
//#region ../preview-next/src/client/widgets/widgetAdapters.ts
|
|
4759
|
-
const routableContentCache = /* @__PURE__ */ new Map();
|
|
4760
4812
|
const entryPickerCache = /* @__PURE__ */ new Map();
|
|
4761
4813
|
const siteOptionItemsCache = /* @__PURE__ */ new Map();
|
|
4762
4814
|
/**
|
|
@@ -4834,23 +4886,10 @@ function createCachedReferenceAdapterLoader(kind, loader, previewClient, fallbac
|
|
|
4834
4886
|
};
|
|
4835
4887
|
}
|
|
4836
4888
|
function createPreviewLinkAdapters(previewClient) {
|
|
4837
|
-
return { fetchRoutableContent:
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
try {
|
|
4842
|
-
return await loadRoutableContentItems({
|
|
4843
|
-
apiClient: previewClient,
|
|
4844
|
-
siteId: currentSiteId
|
|
4845
|
-
});
|
|
4846
|
-
} catch (error) {
|
|
4847
|
-
routableContentCache.delete(currentSiteId);
|
|
4848
|
-
throw error;
|
|
4849
|
-
}
|
|
4850
|
-
})();
|
|
4851
|
-
setBoundedCache(routableContentCache, currentSiteId, promise);
|
|
4852
|
-
return promise;
|
|
4853
|
-
} };
|
|
4889
|
+
return { fetchRoutableContent: (siteId) => loadRoutableContentItems({
|
|
4890
|
+
apiClient: previewClient,
|
|
4891
|
+
siteId
|
|
4892
|
+
}) };
|
|
4854
4893
|
}
|
|
4855
4894
|
function createPreviewEntryPickerAdapter(previewClient) {
|
|
4856
4895
|
return {
|
|
@@ -6110,6 +6149,26 @@ function PreviewLeaseEditingMode() {
|
|
|
6110
6149
|
return null;
|
|
6111
6150
|
}
|
|
6112
6151
|
//#endregion
|
|
6152
|
+
//#region ../preview-next/src/client/preview/previewModeRootAttribute.ts
|
|
6153
|
+
/**
|
|
6154
|
+
* Marks the document root with the preview's mode while the preview shell is
|
|
6155
|
+
* mounted: "view" or "edit". Site CSS keys off it to put floating site
|
|
6156
|
+
* overlays (`[data-rb-site-overlay]`) away while editing, without the site
|
|
6157
|
+
* knowing about the editor.
|
|
6158
|
+
*/
|
|
6159
|
+
const PREVIEW_MODE_ATTRIBUTE = "data-rb-preview-mode";
|
|
6160
|
+
function previewModeValue(isEditingMode) {
|
|
6161
|
+
return isEditingMode ? "edit" : "view";
|
|
6162
|
+
}
|
|
6163
|
+
/** Follows mode changes, and leaves the root as it found it on unmount. */
|
|
6164
|
+
function usePreviewModeRootAttribute(isEditingMode) {
|
|
6165
|
+
useEffect(() => {
|
|
6166
|
+
const root = document.documentElement;
|
|
6167
|
+
root.setAttribute(PREVIEW_MODE_ATTRIBUTE, previewModeValue(isEditingMode));
|
|
6168
|
+
return () => root.removeAttribute(PREVIEW_MODE_ATTRIBUTE);
|
|
6169
|
+
}, [isEditingMode]);
|
|
6170
|
+
}
|
|
6171
|
+
//#endregion
|
|
6113
6172
|
//#region ../preview-next/src/client/preview/previewSetupGuidance.ts
|
|
6114
6173
|
function resolvePreviewSetupBannerState(input) {
|
|
6115
6174
|
if (input.authMode === "onboardingGrant") return input.dashboardUnlocked ? "dashboard_ready" : "awaiting_confirmation";
|
|
@@ -6970,15 +7029,23 @@ function PreviewChromeLayerProvider({ children }) {
|
|
|
6970
7029
|
portalTarget,
|
|
6971
7030
|
subscribeLayout
|
|
6972
7031
|
}), [portalTarget, subscribeLayout]);
|
|
7032
|
+
const layerHost = useBodyHost();
|
|
6973
7033
|
return /* @__PURE__ */ jsxs(PreviewChromeLayerContext.Provider, {
|
|
6974
7034
|
value,
|
|
6975
|
-
children: [children, /* @__PURE__ */ jsx("div", {
|
|
7035
|
+
children: [children, layerHost ? createPortal(/* @__PURE__ */ jsx("div", {
|
|
6976
7036
|
ref: setPortalTarget,
|
|
6977
|
-
className: "pointer-events-none fixed inset-0
|
|
7037
|
+
className: "pointer-events-none fixed inset-0",
|
|
7038
|
+
style: { zIndex: PREVIEW_CHROME_Z_INDEX },
|
|
6978
7039
|
"data-preview-chrome-layer": ""
|
|
6979
|
-
})]
|
|
7040
|
+
}), layerHost) : null]
|
|
6980
7041
|
});
|
|
6981
7042
|
}
|
|
7043
|
+
/** The document body once mounted; null during server rendering and hydration. */
|
|
7044
|
+
function useBodyHost() {
|
|
7045
|
+
const [host, setHost] = useState(null);
|
|
7046
|
+
useEffect(() => setHost(document.body), []);
|
|
7047
|
+
return host;
|
|
7048
|
+
}
|
|
6982
7049
|
/** Portal style writes are consequences of measurement, not new anchor changes. */
|
|
6983
7050
|
function hasPreviewAnchorMutation(records, portalTarget) {
|
|
6984
7051
|
return records.some(({ target }) => !portalTarget.contains(target));
|
|
@@ -8418,10 +8485,10 @@ function resolveShellThemeRoles(props) {
|
|
|
8418
8485
|
}
|
|
8419
8486
|
const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
|
|
8420
8487
|
const PreviewEditorSidebar = React.lazy(async () => {
|
|
8421
|
-
return { default: (await import("./PreviewEditorSidebar-
|
|
8488
|
+
return { default: (await import("./PreviewEditorSidebar-Dr4NJi3Q.mjs")).PreviewEditorSidebar };
|
|
8422
8489
|
});
|
|
8423
8490
|
const PreviewEditorUI = React.lazy(async () => {
|
|
8424
|
-
return { default: (await import("./PreviewEditorUI-
|
|
8491
|
+
return { default: (await import("./PreviewEditorUI-DSZXQbyh.mjs")).PreviewEditorUI };
|
|
8425
8492
|
});
|
|
8426
8493
|
const previewPaneContainmentStyle = {
|
|
8427
8494
|
contain: "layout paint",
|
|
@@ -8504,6 +8571,7 @@ function PreviewShellLayout(props) {
|
|
|
8504
8571
|
const siteChromeRenderModel = layout?.siteChromeRenderModel ?? null;
|
|
8505
8572
|
const surfaceDocument = useMemo(() => resolvePreviewChromeSurface(surfaceId), [surfaceId]);
|
|
8506
8573
|
const isOpen = usePreviewDrawerOpen();
|
|
8574
|
+
usePreviewModeRootAttribute(useEditor().isEditingMode);
|
|
8507
8575
|
const setDrawerOpen = useEditorUiStore((s) => s.setDrawerOpen);
|
|
8508
8576
|
const sidebarTab = useEditorUiStore((s) => s.previewSidebarTab);
|
|
8509
8577
|
const setPreviewSidebarActiveTab = useEditorUiStore((s) => s.setPreviewSidebarTab);
|
|
@@ -11047,8 +11115,11 @@ function PhoneBlockDock({ themeSource, children }) {
|
|
|
11047
11115
|
if (typeof document === "undefined") return null;
|
|
11048
11116
|
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
11049
11117
|
"data-preview-block-dock": "",
|
|
11050
|
-
style:
|
|
11051
|
-
|
|
11118
|
+
style: {
|
|
11119
|
+
...themeSource ? readThemeCustomProperties(themeSource) : {},
|
|
11120
|
+
zIndex: PREVIEW_CHROME_Z_INDEX
|
|
11121
|
+
},
|
|
11122
|
+
className: "builder-dashboard-chrome-theme fixed inset-x-2 bottom-[calc(var(--builder-editor-chrome-offset,0px)+0.5rem)] flex flex-col items-stretch gap-1.5 rounded-xl border bg-background/95 p-2 text-foreground shadow-xl",
|
|
11052
11123
|
children
|
|
11053
11124
|
}), document.body);
|
|
11054
11125
|
}
|
|
@@ -12357,4 +12428,4 @@ function deriveDashboardBaseUrlFromApiBaseUrl(apiBaseUrl) {
|
|
|
12357
12428
|
}
|
|
12358
12429
|
}
|
|
12359
12430
|
//#endregion
|
|
12360
|
-
export { usePreviewBlockCustomizeSelectionOptional as _, PREVIEW_CHROME_PORTAL_CLASS_NAME as a,
|
|
12431
|
+
export { usePreviewBlockCustomizeSelectionOptional as _, PREVIEW_CHROME_PORTAL_CLASS_NAME as a, PREVIEW_CHROME_Z_INDEX as b, resolvePreviewChromeSurface as c, buildPreviewDashboardSetupUrl as d, resolvePreviewDashboardSetupHandoff as f, useBlockCustomizeControls as g, usePreviewSiteFontStorageUrl as h, PreviewShellLayout as i, PREVIEW_THEME_COOKIE_NAME as l, resolvePreviewSidebarChromeModel as m, SdkPreviewModeRuntime_exports as n, PREVIEW_CHROME_THEME_CLASS_NAME as o, resolvePreviewEditorGuidanceModel as p, PreviewShell as r, applyPreviewChromeSurfaceToElement as s, SdkPreviewModeRuntime as t, canInspectSiteStyle as u, PreviewFormProvider as v, FixedBottomSurface as x, previewWidgetOverrides as y };
|