@riverbankcms/sdk 0.109.0 → 0.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-DWqwfy3_.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +178 -117
- package/dist/{PreviewEditorUI-B7OL4sfR.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
- package/dist/{PreviewQueryProvider-D0y2l8JN.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-D8Gt9Gbe.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +229 -219
- package/dist/{SiteChromeCustomizeContext-DUpalEdL.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +1695 -2169
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1716 -76
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
- package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
- package/dist/_dts/api/src/courses.d.ts +30 -15
- package/dist/_dts/api/src/endpoints.d.ts +14 -4
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/sdkContracts.d.ts +23 -11
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteOperations.d.ts +11 -19
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -6
- package/dist/_dts/api/src/webhooks.d.ts +98 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
- package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
- package/dist/_dts/blocks/src/client.d.ts +4 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +2 -4
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
- package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -18
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -9
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
- package/dist/_dts/content-editor/src/index.d.ts +12 -12
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -53
- package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -7
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
- package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
- package/dist/_dts/sdk/src/client/management/types.d.ts +2 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
- package/dist/_dts/site-commands/src/commands.d.ts +129 -6
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
- package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
- package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +4 -4
- package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
- package/dist/cli/index.mjs +1760 -1914
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
- package/dist/client/{DiscountCodeDisclosure-DU1ygxU2.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
- package/dist/client/{EventCombined.client-DB5zagCo.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
- package/dist/client/{EventListing.client-CTX9JHBL.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BYImhgiB.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
- package/dist/client/{MagicLinkForm-CRkw_M3l.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
- package/dist/client/{StepIndicator-BnmVBJJh.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
- package/dist/client/{accordion-CeGreumd.mjs → accordion-D8JTs2Si.mjs} +1 -1
- package/dist/client/{bookingForm-CSzFNrpN.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
- package/dist/client/bookings.mjs +3069 -1447
- package/dist/client/{carousel-B2jDtogf.mjs → carousel-DMr_QWlz.mjs} +1 -1
- package/dist/client/{cart-D-jZ-vaY.mjs → cart-DWMbfBdR.mjs} +3 -3
- package/dist/client/{checkout-Dza-LA7N.mjs → checkout-zmfdkXLx.mjs} +3 -3
- package/dist/client/client.mjs +1732 -1913
- package/dist/client/{colorStyles-CrgzoXsm.mjs → colorStyles-gcTh5yZT.mjs} +2 -12
- package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
- package/dist/client/{courseRegistration-TYkNychb.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
- package/dist/client/{eventCalendar-BI_90SsT.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
- package/dist/client/{eventCombined-mNrpryE9.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
- package/dist/client/{eventDetails-D4GVlCIY.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
- package/dist/client/{eventListing-YhKN018y.mjs → eventListing-W1SuL7EP.mjs} +2 -2
- package/dist/client/{eventRegistration-CdHGtilr.mjs → eventRegistration-ClWricui.mjs} +6 -7
- package/dist/client/{form-AcAL45rA.mjs → form--eKPwAAD.mjs} +1 -2
- package/dist/client/{headerSection-uEC52ueD.mjs → headerSection-BSeGr-FS.mjs} +2 -3
- package/dist/client/hooks.mjs +1554 -1871
- package/dist/client/{locationMap-_wJDSUYe.mjs → locationMap-BpOrtNYn.mjs} +8 -5
- package/dist/client/{media-BK0O3b-U.mjs → media-DoF0dcVx.mjs} +2 -2
- package/dist/client/{newsletterForm-DrArsb2B.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
- package/dist/client/{pricing-BSYVghwo.mjs → pricing-BTjSDDr4.mjs} +1 -1
- package/dist/client/{productDetail-Dyk90sMs.mjs → productDetail-ICnVTcCg.mjs} +3 -3
- package/dist/client/{productList-BCKThwAI.mjs → productList-ZHr6D604.mjs} +3 -3
- package/dist/client/{propsDecoder-CkXxkdSR.mjs → propsDecoder-wWN0tBDF.mjs} +2351 -129
- package/dist/client/rendering/client.mjs +1664 -1824
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +1697 -1909
- package/dist/client/{shop-DeltVH10.mjs → shop-C1u_BUn0.mjs} +5 -6
- package/dist/client/{shop-commerce-BD9Jsm2Z.mjs → shop-commerce-CleZdRha.mjs} +5 -6
- package/dist/client/{shop-commerce-store-CmXD6FDS.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
- package/dist/client/{shopShared-B8v-lH_F.mjs → shopShared-CPhByt2a.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-DbWJN8ld.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
- package/dist/client/{useEventFilters-EJIMUnqT.mjs → useEventFilters-DKPN7hSY.mjs} +26 -27
- package/dist/client/{usePolling-Cmh14fc7.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +37 -6
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +37 -6
- package/dist/{previewAuthStore-CTO7CRPk.mjs → previewAuthStore-BkT1D06A.mjs} +37 -6
- package/dist/{sdk-runtime-Dou0GAav.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
- package/dist/{separator-CI5wZNXT.mjs → separator-Bln8izQ9.mjs} +1 -1
- package/dist/server/components.mjs +1472 -1788
- package/dist/server/config-validation.mjs +1559 -1876
- package/dist/server/config.mjs +1559 -1876
- package/dist/server/data.mjs +1554 -1871
- package/dist/server/index.mjs +38 -7
- package/dist/server/next/revalidate.mjs +53 -1
- package/dist/server/next.mjs +1584 -1869
- package/dist/server/page-converter.mjs +1543 -1860
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1472 -1788
- package/dist/server/rendering.mjs +1472 -1788
- package/dist/server/routing.mjs +1600 -1891
- package/dist/server/server.mjs +1574 -1860
- package/dist/server/theme-bridge.mjs +1436 -1619
- package/dist/server/theme.mjs +1345 -1241
- package/dist/server/webhooks.mjs +54 -2
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
- package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -285
- package/dist/client/buttons-DoFV7KDL.mjs +0 -2115
- package/dist/client/foregroundContract-xICPq59x.mjs +0 -31
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { $ as beginAutosaveBatch, $a as eventPageSizeSchema, $c as getImageUrl, $i as NAV_LINK_PADDING_X_MAP, $l as Popover, $n as useImageResolveContextOptional, $o as resolveEventLinkProps, $r as headingFragment, $s as resolveIconPickerPreset, $t as evaluateVisibility, $u as cva, Ac as XIcon, Ad as parseMediaAssetId, Af as CirclePlus, Ai as formatSiteChromeBackgroundTokenLabel, Al as useBlockContext, An as CSS, Ao as normalizeEventVenueId, Ar as checkoutBlockDefinition, As as getFeatureCardIconCompletion, At as canUndoHistory, Ba as buildOfferingsPreviewRenderStates, Bc as resolveMediaNodeResponsiveImage, Bd as err$2, Bf as ArrowUp, Bi as designRuntimeRulesForTheme, Bl as TooltipContent, Bn as siteHeaderManifest, Bo as normalizeLocationMapProps, Br as buildProductDetailDisplay, Bs as resolveBlockIconRenderValue, Bt as createSnapshotFromPageRecord, Bu as __generator, C as usePreviewThemeOverlay, Ca as foregroundTokenForBackgroundAppearanceColorToken, Cc as MapPinIcon$1, Cd as publicEventPricingMode, Ci as BACKGROUND_POSITION_PRESET_VALUES, Cl as surfaceForegroundDeclarations, Cn as closestCenter, Co as eventSurfaceScopeValues, Cr as getWizardStepsForContext$1, Cs as ICON_CONFIG, Cu as Root, Dc as PlusIcon, Dd as formatCurrencyAmount, Df as CreditCard, Di as resolveBackgroundColorValue, Dl as getModalConfig, Dn as useDroppable, Do as normalizeEventStaffMemberId, Dr as buildCourseRegistrationInteractiveIslandProps, Ds as FEATURE_CARD_GENERATED_ICON_SIZE_PX, Dt as useEditorUiStoreInstance, Du as CardContent, Ec as PlayIcon, Ed as publicEventTicketTypes, Ef as Crop, Ei as resolveSurfaceForegroundStyles, El as getFieldIntent, En as useDraggable, Eo as normalizeEventScheduleScope, Er as courseRegistrationBlockDefinition, Es as mediaSchema, Et as useEditorUiStore, Eu as Card, Fa as ctaButton, Fc as computeMediaTransformStyle, Fd as unsafeAsFormId, Ff as ChevronRight, Fi as normalEditorCuratedPromotedFieldPaths, Fl as mapOptionValueForSelect, Fn as isSupportedLoaderEndpoint, Fo as normalizeCardVariantRole, Fr as buildProductListInteractiveIslandProps, Fs as toFeatureCardIconSuggestionInputs, Ft as unsafeAsLinkedContentEntryId, Fu as DropdownMenuSeparator, Ga as resolveOfferingsPreviewCoursePath, Gc as attachRenderableMediaAssetFields, Gf as __toESM, Gi as pageDesignEditorBackgroundOverrideOwner, Gl as Select, Gn as contentTransforms, Go as formatEventPrice, Gr as buildProductCartItem, Gs as unwrapRichTextRoot, Gt as usePalette, Gu as useId$1, Ha as isOfferingsPreviewSourceKey, Hc as setContextResolveImageUrlContext, Hd as lucide_react_exports, Hf as Archive, Hi as surfaceResolutionContextFromTheme, Hl as TooltipTrigger, Hn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Ho as formatDate$3, Hr as formatInterval, Hs as parseGeneratedIconSetId, Hu as __rest, Ic as getCurrentResolveImageUrlContext, Id as unsafeAsMediaAssetId, If as ChevronLeft, Ii as planPageDesignLayoutLookCompatibility, Il as unmapValueFromSelect, In as getBlockDefinition, Io as isCssColorLiteral, Ir as buildShopInteractiveIslandProps, Is as buildGeneratedBlockIconRenderAssetLookupFromUnknown, It as recordsEqual, Iu as DropdownMenuTrigger, Ja as resolveOfferingsPreviewGroups, Jc as formatAspectRatioToken, Jd as Ticket, Ji as parseBlockCustomCssRules, Jl as SelectTrigger, Jn as uiTransforms, Jo as formatTime$3, Jr as productItemKey, Js as coerceInlineTextWithFallback, Jt as validateBlockManifestIssues, Ju as useControllableState, Ka as resolveOfferingsPreviewGroupCta, Kc as isRotationDimensionSwap, Ki as getComponentBorderWidthPx, Kl as SelectContent, Kn as mediaTransforms, Ko as formatEventPriceDisplay, Kr as deriveCommerceCheckoutState, Ks as isObjectRecord, Kt as recoveryConflictCopy, Ku as useDirection, Lc as renderAudio, Ld as unsafeAsPassId, Lf as ChevronDown, Li as resolveVisiblePromotedFieldPathsForEditorBlock, Ll as FieldFrame, Ln as listBlockDescriptors, Lo as resolveOnColorForThemeToken, Lr as getShopDisplayForItems, Ls as getBlockIconSemanticId, Lu as __assign, Ma as generateCssVars, Mc as ImagePresets, Md as unsafeAsAppointmentResourceId, Mf as CircleCheck, Mi as compileEditorModelRuntime, Ml as useSdkConfig, Mn as useCombinedRefs, Mo as generateCardCss, Mr as buildCartInteractiveIslandProps, Ms as resolveFeatureCardGeneratedIconSizePx, Mt as pushHistoryEntry, Mu as DropdownMenuContent, Na as createTransformRegistry, Nc as MediaPlaceholder, Nd as unsafeAsAppointmentServiceId, Nf as CircleAlert, Ni as retargetCompiledBoundaryRuntimeForContentAdjacency, Nl as hasEmptyOption, Nn as useIsomorphicLayoutEffect, No as generateShadowValue, Nr as buildCheckoutInteractiveIslandProps, Ns as shouldReserveFeatureCardIconZone, Nt as redoHistory, Nu as DropdownMenuItem, Oc as ShoppingCartIcon, Od as assertNever$5, Of as Copy, Oi as mergeHeaderNavTypographyPreference, Ol as isHeaderField, On as useSensor, Oo as normalizeEventSurfacePresetsCsv, Or as normalizeEventRegistrationPageSurfaceSubject, Os as FEATURE_CARD_ICON_TREATMENTS, Ot as useOptionalEditorUiStoreInstance, Ou as CardHeader, Pa as runTransforms, Pc as buildResolveImageUrlContext, Pd as unsafeAsCustomerPassId, Pf as ChevronsUpDown, Pi as retargetCompiledRuntimeFieldsForContentAdjacency, Pl as mapCurrentValueForSelect, Pn as useUniqueId, Po as normalizeBoxStylesCardVariant, Pr as buildProductDetailInteractiveIslandProps, Ps as suggestSemanticIconForFeatureCard, Pt as undoHistory, Qa as eventListPaginationActionSchema, Qc as getDirectImageUrlForMediaAsset, Qi as NAV_LINK_PADDING_MAP, Qn as ImageResolveContextProvider, Qo as resolveEventCta, Qr as richTextFragment, Qs as isIconPickerPreset, Qt as FormRenderer, Qu as Button, Rc as renderVideo, Rd as unsafeAsPositiveByteCount$1, Rf as Check, Ri as componentRuntimeRulesForTheme, Rl as useField, Rn as projectRecurringSchedule, Ro as resolveTokenOrCssColorValue, Rr as buildCartDisplay, Rs as getGeneratedBlockIconStyleState, Rt as useDebouncedLatestSave, Ru as __awaiter, S as PreviewThemeOverlayProvider, Sa as backgroundAppearanceQuickColorTokenNames, Sc as MailIcon, Sd as publicEventPricingCurrency, Sf as FileArchive, Si as MQ_TABLET_ONLY, Sl as DEFAULT_SURFACE_TEXT_COLOR, Sn as PointerSensor, So as eventScheduleScopeValues, Sr as getStepNumber$1, Ss as ACCORDION_TRIGGER_LETTER_SPACING, St as EntryControllerProvider, Su as Content, Ta as defaultThemeTokens, Tc as PhoneIcon, Td as publicEventScalarPrice, Tf as EllipsisVertical, Ti as boxStylesTransforms, Tl as useBackendWatch, Tn as useDndContext, To as normalizeEventCategoryIdsCsv, Tr as buildGiftingInteractiveIslandProps, Ts as PUBLIC_DOWNLOAD_MEDIA_TYPES, Tu as createCollapsibleScope, Ua as normalizeOfferingsPreviewGroupOrder, Uc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Ud as X, Uf as __commonJSMin, Ui as isThemeV2NormalEditorRawStyleFieldName, Ul as Textarea, Un as planSiteOverlayHeaderClearance, Uo as formatEventCompactDateRail, Ur as EMPTY_COMMERCE_CART_STATE, Us as parseSiteIconStyleGuideVersionId, Uu as __spreadArray, Va as inferLegacyOfferingsPreviewGroupOrder, Vc as resolveMediaStorageUrl, Vd as ok$3, Vf as ArrowDown, Vi as getCuratedSiteStyle, Vl as TooltipProvider, Vn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Vo as toLocationMapHydrationProps, Vr as formatCommercePrice, Vs as parseGeneratedIconAssetId, Vu as __read, Wa as normalizeOfferingsPreviewItemLimit, Wc as resolveMediaSlotContract, Wd as Upload, Wf as __exportAll, Wi as isThemeV2NormalEditorRawStylePath, Wl as Slider, Wn as visibleHeaderClearancePx, Wo as formatEventDateParts, Wr as buildPassCartItem, Ws as createRichTextDocFromMarkdown, Wt as PaletteProvider, Wu as __spreadArrays, Xa as resolveSpacing, Xc as resolveMediaTransformForAspect, Xd as Star, Xi as NAV_LINK_BORDER_RADIUS_MAP, Xl as Label, Xn as createManifestValidator, Xo as getContainerClass, Xr as augmentManifest, Xs as isInlineTextEmpty, Xt as createManifestFormAdapter, Xu as composeEventHandlers, Ya as isSemanticSpacing, Yc as parseAspectRatioValue, Yi as parseCustomCssRules, Yl as SelectValue, Yn as formattingTransforms, Yo as getCardOrientation, Yr as reduceCommerceCart, Ys as inlineTextToPlainText, Yt as ManifestForm, Yu as createContextScope, Za as buildEventRuntimeFilters, Zc as asRecord, Zd as Sparkles, Zi as NAV_LINK_LETTER_SPACING_MAP, Zl as Badge, Zn as isInternalResolvedLinkValue, Zo as groupEventsByDate, Zr as augmentManifestWithStyleGroups, Zs as parseInlineTextFromUnknown, Zu as Primitive, _a as sectionTransitionFamilies, _c as FileArchiveIcon, _d as resolveBookingTimeZoneId, _f as File, _i as MQ_LG_UP, _l as borderColorStyle, _n as DEFAULT_LAUNCH_READINESS_INPUT, _o as el, _r as findPreSelectedEvent, _s as asDesignBlockId, _t as EditorProvider, _u as DialogHeader, ac as ArrowRightIcon, ad as createEditorRemoveBlockCommand, af as Pencil, ai as formEmbedFragment, al as generateButtonCss, an as createBlock, ao as normalizeOptionalId, ar as eventListingBlockDefinition, as as blockBookingPaymentTermsSchema, au as TabsList, b as PreviewDesignCoordinatorProvider, ba as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, bc as FileTextIcon, bd as parseEventPageSurfaceSubject, bf as FilePlay, bi as MQ_SM_DOWN, bl as rgbColorValue, bn as DndContext, bo as bindingSchema, br as resolveRegistrationTarget, bs as ACCORDION_SPACING_MAP, bt as useUISelector, bu as CollapsibleContent, cc as ChevronDownIcon, cd as unsafeAsEditorBlockValues, ci as testimonialsHeadingFragment, cl as featuresFromHex, cn as deleteBlock, co as eventButtonVariantSchema, cr as buildEventCalendarInteractiveIslandProps, cs as defineInteractiveIslandMetaKeys, ct as PreviewRichTextEditor, cu as List, da as GRADIENT_PRESETS, dc as ChevronUpIcon, dd as formatBookingDateTime, df as LoaderCircle, di as ctaRowFragment, dl as generateBaseInteractiveCSS, do as filterAutoShowSchema, dr as formBlockDefinition, ds as defineProgressiveBlockRuntime, dt as useRichTextEditor, du as ScrollableDialogContent, ea as NAV_LINK_TEXT_SIZE_MAP, ec as SEMANTIC_ICON_DEFINITIONS, ed as useComposedRefs, ef as Settings, ei as cardFragment, el as getAtPath, en as createStoreBackend, eo as getEventRuntimeFiltersKey, er as shopBlockDefinition, es as getEventAvailability, et as confirmAutosaveBatch, eu as PopoverContent, f as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, fa as GRADIENT_PRESET_IDS, fc as CircleMinusIcon, fd as formatBookingInstant, ff as Image, fi as heroCopyFragment, fl as generateInteractiveChildInheritanceCSS, fn as mutateBlockContent, fo as previewStageSchema, fr as buildFormInteractiveIslandProps, ft as EMPTY_DOC, fu as Dialog, ga as defaultSectionTransitionVariantForFamily, gc as ExternalLinkIcon, gd as parseBookingLocalDate, gf as GripVertical, gi as siteOptionSources, gl as backgroundColorStyle, gn as decodePublicProductCategorySelectorQuery, go as bind, gr as findEventByOccurrenceId, gs as planSiteChromePlacement, gt as InlineTextEditor, gu as DialogFooter, ha as boundaryRuntimeMetricsForTransition, hc as DownloadIcon, hd as getBookingLocalDateKey, hf as ImageOff, hi as PUBLIC_FILE_FIELD_KINDS, hl as themeButtonClassName, hn as reorderPageSurfaceSlotBlocks, ho as eventCalendarListLayoutOptions, hr as toRegistrationEvents, hs as splitPositioningClasses, ht as insertOrReplaceRichTextImage, hu as DialogDescription, i as usePreviewDesignHistoryOrder, ia as LABEL_FONT_SIZE_MAP, ic as ArrowLeftIcon, id as createEditorInsertBlockCommand, if as Plus, ii as singleButtonFragment, il as AFFORDANCE_SUPPRESS_CLASS, in as getPageDesignEditorState, io as normalizeCsvString, ir as buildNewsletterFormInteractiveIslandProps, is as resolveRuntimeEventPricing, it as rejectAutosaveBatch, iu as TabsContent, jc as createIcon, jd as parseSiteId, jf as CircleMinus, ji as applyCompiledRuntimeFieldsToContent, jl as SdkConfigProvider, jn as isKeyboardEvent, jo as publicEventSchema, jr as cartBlockDefinition, js as parseFeatureCardGeneratedIconSizePx, jt as createHistoryState, ju as DropdownMenu, kc as UploadIcon, kd as expectParsedBrandedId, kf as Clock3, ki as readHeaderNavFontSizePreference, kl as isNonEmptyValue, kn as useSensors, ko as normalizeEventSurfaceScope, kr as resolveEventRegistrationScopedEvents, ks as createFeatureCardIconKey, kt as canRedoHistory, ku as CardTitle, lc as ChevronLeftIcon, ld as addLocalScheduleDays, lf as Minus, li as ctaCopyFragment, ll as generateEffectsCSS, ln as deleteEntrySlotBlock, lo as eventCalendarDefaultViewSchema, lr as buildEventCalendarListingDisplay, ls as createZodCodec, lt as PreviewInlineTextEditor, lu as Root2$1, ma as parseGradientPresetId, mc as ClockIcon$1, md as formatLocalScheduleDate, mf as ImagePlus, mi as defineFragment, ml as parseThemeButtonVariantId, mn as reorderEntrySlotBlocks, mo as eventCalendarListLayoutCompatibleDisplayModeValues, mr as buildEventRegistrationInteractiveIslandProps, ms as markEditableSurfaceForwarding, mt as getRichTextImagePositionFromTarget, mu as DialogContent, n as useSiteChromeCustomizeOptional, na as INPUT_FONT_SIZE_MAP, nc as isSemanticIconId, nd as clsx, nf as RotateCcw, ni as faqHeadingFragment, nn as toRoutableLinkPayload, no as resolveEventListPaginationAction, nr as productDetailBlockDefinition, ns as getLocalDateKey, nt as enqueueTransaction, nu as Input, oc as CalendarIcon$1, od as createEditorReorderBlocksCommand, oi as formCopyFragment, ol as expandPalette, on as createEntrySlotBlock, oo as calendarTabViewsSchema, or as buildEventListingInteractiveIslandProps, os as buildInteractiveIslandProps, ot as resolvePreviewSidebarTab, ou as TabsTrigger, p as reportPreviewDesignError, pa as getGradientPreset, pc as CirclePlusIcon, pd as formatBookingTime, pf as ImageUp, pi as bodyCopyFragment, pl as TokenResolver, pn as reorderBlocks, po as weekStartSchema, pr as eventRegistrationBlockDefinition, ps as composeHeaderSectionWrapperClassName, pt as RichTextEditorSurface, pu as DialogClose, qa as resolveOfferingsPreviewGroupOrderEntries, qc as normalizeRightAngle, qd as Trash2, qi as getComponentShadowVar, ql as SelectItem, qn as layoutTransforms, qo as formatEventTeacherLine, qr as parseStoredCommerceCartState, qs as isRecord$21, qt as unfinishedBlockCopy, qu as createCollection, r as PreviewDesignHistoryOrderProvider, ra as INPUT_SPACING_MAP, rc as ArrowDownIcon, rd as parseFooterModuleId, ri as blogFeaturedPostFragment, rn as applyPageDesignEditorAction, ro as normalizeCsvIds, rr as newsletterSignupBlockDefinition, rs as getLocalMinuteOfDay, rt as idleEditorTransactionQueueState, ru as Tabs, sc as CheckIcon$1, sd as unsafeAsEditorBlockId, si as testimonialsCarouselFragment, sl as getTextColorForBackground, sn as createPageSurfaceSlotBlock, so as columnOptionSchema, sr as eventCalendarBlockDefinition, ss as createInteractiveIslandCodec, su as Content$1, t as SiteChromeCustomizeProvider, ta as FONT_WEIGHT_MAP, tc as getSemanticIconComponent, td as cn$1, tf as Search, ti as faqAccordionFragment, tl as siblingPath$1, tn as listContentTypes, to as resolveEventCalendarListPageSize, tr as productListBlockDefinition, ts as getEventAvailabilityStatus, tt as deriveTransactionCapabilities, tu as PopoverTrigger, u as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, ua as gradientToCss, uc as ChevronRightIcon, ud as formatBookingDate, ui as heroCtaRowFragment, ul as generateShadowValue$1, un as deletePageSurfaceSlotBlock, uo as eventLayoutSchema, ur as buildEventCalendarListingRender, us as defineClientOwnedBlockRuntime, ut as PreviewTextEditor, uu as Trigger$1, va as sectionTransitionFamilyForBoundaryOptionId, vc as FileAudioIcon, vd as toBookingTimeZone, vf as FileText, vi as MQ_MD_DOWN, vl as cssVarValue, vn as deriveLaunchReadiness, vo as richText, vr as resolveDiscountContext, vs as assertNever$6, vt as useEditor, vu as DialogTitle, wa as parseBackgroundAppearanceColorToken, wc as MinusIcon, wd as publicEventPricingType, wf as EyeOff, wi as getAnchorClasses, wl as surfaceForegroundValue, wn as getClientRect, wo as normalizeEventBlockKind, wr as giftingBlockDefinition, ws as ICON_SIZE_PX, wt as useEntryEditorController, wu as Trigger, xa as backgroundAppearanceColorTokenNames, xc as InfoIcon, xd as formatBookingPriceDisplay, xf as FileHeadphone, xi as MQ_SM_UP, xl as textColorStyle, xn as KeyboardCode, xo as eventBlockKindValues, xr as WIZARD_STEPS$1, xs as ACCORDION_TRIGGER_FONT_SCALE, xt as EditableBlockProvider, ya as sectionTransitionVariantForBoundaryOptionId, yc as FileSpreadsheetIcon, yd as toScheduledBookingDateTime, yf as FileSpreadsheet, yi as MQ_MD_UP, yl as mergeStyles, yn as AMBIENT_BACKGROUND_ROLES$1, yo as when, yr as resolveEventRequiresPayment, ys as ACCORDION_OPEN_ACCENT_THICKNESS, yu as Collapsible, za as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, zc as resolveImageUrlWithContext, zd as unsafeAsPositiveSeconds, zf as Box, zl as Tooltip, zn as siteFooterManifest, zo as buildGoogleMapsDirectionsUrl, zr as buildProductCardDisplay, zs as parseBlockIconValue, zt as createRoutingHelpers, zu as __extends } from "./SiteChromeCustomizeContext-DUpalEdL.mjs";
|
|
3
|
-
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-
|
|
4
|
-
import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, l as ApiEnvelopeError, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-
|
|
2
|
+
import { $ as confirmAutosaveBatch, $a as resolveEventListPaginationAction, $c as getImageUrl, $d as Sparkles, $i as NAV_LINK_TEXT_SIZE_MAP, $l as Badge, $n as shopBlockDefinition, $o as getLocalDateKey, $r as cardFragment, $s as resolveIconPickerPreset, $t as createStoreBackend, $u as Primitive, Aa as createTransformRegistry, Ac as XIcon, Ad as assertNever$5, Af as Copy, Ai as applyCompiledRuntimeFieldsToContent, Al as isHeaderField, An as isKeyboardEvent, Ao as generateShadowValue, Ar as cartBlockDefinition, As as shouldReserveFeatureCardIconZone, At as createHistoryState, Au as CardHeader, Ba as normalizeOfferingsPreviewGroupOrder, Bc as resolveMediaNodeResponsiveImage, Bd as unsafeAsPositiveByteCount$1, Bf as Check, Bi as getCuratedSiteStyle, Bl as useField, Bn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Bo as formatEventCompactDateRail, Br as formatCommercePrice, Bs as parseSiteIconStyleGuideVersionId, Bu as __awaiter, Cc as MapPinIcon$1, Cd as formatBookingPriceDisplay, Cf as FileHeadphone, Ci as getAnchorClasses, Cl as textColorStyle, Cn as getClientRect, Co as normalizeEventScheduleScope, Cr as giftingBlockDefinition, Cs as mediaSchema, Ct as useEntryEditorController, Dc as PlusIcon, Dd as publicEventScalarPrice, Df as EllipsisVertical, Di as mergeHeaderNavTypographyPreference, Dl as useBackendWatch, Dn as useSensor, Do as normalizeEventVenueId, Dr as normalizeEventRegistrationPageSurfaceSubject, Ds as getFeatureCardIconCompletion, Dt as useOptionalEditorUiStoreInstance, Du as createCollapsibleScope, Ec as PlayIcon, Ed as publicEventPricingType, Ef as EyeOff, Ei as resolveBackgroundColorValue, El as surfaceForegroundValue, En as useDroppable, Eo as normalizeEventSurfaceScope, Er as buildCourseRegistrationInteractiveIslandProps, Es as createFeatureCardIconKey, Et as useEditorUiStoreInstance, Eu as Trigger, Fc as computeMediaTransformStyle, Fd as unsafeAsAppointmentServiceId, Ff as CircleAlert, Fi as planPageDesignLayoutLookCompatibility, Fl as hasEmptyOption, Fn as getBlockDefinition, Fo as resolveTokenOrCssColorValue, Fr as buildShopInteractiveIslandProps, Fs as getGeneratedBlockIconStyleState, Ft as recordsEqual, Fu as DropdownMenuItem, Ga as resolveOfferingsPreviewGroups, Gc as attachRenderableMediaAssetFields, Gd as X, Gf as __commonJSMin, Gi as getComponentBorderWidthPx, Gl as Textarea, Gn as mediaTransforms, Go as formatTime$3, Gr as deriveCommerceCheckoutState, Gs as coerceInlineTextWithFallback, Gt as recoveryConflictCopy, Gu as __spreadArray, Ha as resolveOfferingsPreviewCoursePath, Hc as setContextResolveImageUrlContext, Hd as err$2, Hf as ArrowUp, Hi as isThemeV2NormalEditorRawStyleFieldName, Hl as TooltipContent, Hn as planSiteOverlayHeaderClearance, Ho as formatEventPrice, Hr as EMPTY_COMMERCE_CART_STATE, Hs as unwrapRichTextRoot, Hu as __generator, Ia as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Ic as getCurrentResolveImageUrlContext, Id as unsafeAsCustomerPassId, If as ChevronsUpDown, Ii as resolveVisiblePromotedFieldPathsForEditorBlock, Il as mapCurrentValueForSelect, In as listBlockDescriptors, Io as buildGoogleMapsDirectionsUrl, Ir as getShopDisplayForItems, Is as parseBlockIconValue, Ja as buildEventRuntimeFilters, Jc as formatAspectRatioToken, Ji as parseCustomCssRules, Jl as SelectContent, Jn as formattingTransforms, Jo as groupEventsByDate, Jr as reduceCommerceCart, Js as parseInlineTextFromUnknown, Jt as ManifestForm, Ju as useDirection, Ka as isSemanticSpacing, Kc as isRotationDimensionSwap, Kd as Upload, Kf as __exportAll, Ki as getComponentShadowVar, Kl as Slider, Kn as layoutTransforms, Ko as getCardOrientation, Kr as parseStoredCommerceCartState, Ks as inlineTextToPlainText, Kt as unfinishedBlockCopy, Ku as __spreadArrays, La as buildOfferingsPreviewRenderStates, Lc as renderAudio, Ld as unsafeAsFormId, Lf as ChevronRight, Li as componentRuntimeRulesForTheme, Ll as mapOptionValueForSelect, Ln as projectRecurringSchedule, Lo as normalizeLocationMapProps, Lr as buildCartDisplay, Ls as resolveBlockIconRenderValue, Lt as useDebouncedLatestSave, Lu as DropdownMenuSeparator, Ma as ctaButton, Mc as ImagePresets, Md as parseMediaAssetId, Mf as CirclePlus, Mi as retargetCompiledBoundaryRuntimeForContentAdjacency, Ml as useBlockContext, Mn as useIsomorphicLayoutEffect, Mo as normalizeCardVariantRole, Mr as buildCheckoutInteractiveIslandProps, Ms as toFeatureCardIconSuggestionInputs, Mt as redoHistory, Nc as MediaPlaceholder, Nd as parseSiteId, Nf as CircleMinus, Ni as retargetCompiledRuntimeFieldsForContentAdjacency, Nl as SdkConfigProvider, Nn as useUniqueId, No as isCssColorLiteral, Nr as buildProductDetailInteractiveIslandProps, Ns as buildGeneratedBlockIconRenderAssetLookupFromUnknown, Nt as undoHistory, Nu as DropdownMenu, Oc as ShoppingCartIcon, Od as publicEventTicketTypes, Of as Crop, Oi as readHeaderNavFontSizePreference, Ol as getFieldIntent, On as useSensors, Oo as publicEventSchema, Or as resolveEventRegistrationScopedEvents, Os as parseFeatureCardGeneratedIconSizePx, Ot as canRedoHistory, Ou as Card, Pc as buildResolveImageUrlContext, Pd as unsafeAsAppointmentResourceId, Pf as CircleCheck, Pi as normalEditorCuratedPromotedFieldPaths, Pl as useSdkConfig, Pn as isSupportedLoaderEndpoint, Po as resolveOnColorForThemeToken, Pr as buildProductListInteractiveIslandProps, Ps as getBlockIconSemanticId, Pt as unsafeAsLinkedContentEntryId, Pu as DropdownMenuContent, Q as beginAutosaveBatch, Qa as resolveEventCalendarListPageSize, Qc as getDirectImageUrlForMediaAsset, Qd as Star, Qi as NAV_LINK_PADDING_X_MAP, Ql as Label, Qn as useImageResolveContextOptional, Qo as getEventAvailabilityStatus, Qr as headingFragment, Qs as isIconPickerPreset, Qt as evaluateVisibility, Qu as composeEventHandlers, Ra as inferLegacyOfferingsPreviewGroupOrder, Rc as renderVideo, Rd as unsafeAsMediaAssetId, Rf as ChevronLeft, Rl as unmapValueFromSelect, Rn as siteFooterManifest, Ro as toLocationMapHydrationProps, Rr as buildProductCardDisplay, Rs as parseGeneratedIconAssetId, Rt as createRoutingHelpers, Ru as DropdownMenuTrigger, S as usePreviewThemeOverlay, Sa as defaultThemeTokens, Sc as MailIcon, Sd as parseEventPageSurfaceSubject, Sf as FilePlay, Si as BACKGROUND_POSITION_PRESET_VALUES, Sl as rgbColorValue, Sn as closestCenter, So as normalizeEventCategoryIdsCsv, Sr as getWizardStepsForContext$1, Ss as PUBLIC_DOWNLOAD_MEDIA_TYPES, Su as CollapsibleContent, Tc as PhoneIcon, Td as publicEventPricingMode, Ti as resolveSurfaceForegroundStyles, Tl as surfaceForegroundDeclarations, Tn as useDraggable, To as normalizeEventSurfacePresetsCsv, Tr as courseRegistrationBlockDefinition, Ts as FEATURE_CARD_ICON_TREATMENTS, Tt as useEditorUiStore, Tu as Root, Ua as resolveOfferingsPreviewGroupCta, Uc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Ud as ok$3, Uf as ArrowDown, Ui as isThemeV2NormalEditorRawStylePath, Ul as TooltipProvider, Un as visibleHeaderClearancePx, Uo as formatEventPriceDisplay, Ur as buildPassCartItem, Us as isObjectRecord, Ut as PaletteProvider, Uu as __read, Va as normalizeOfferingsPreviewItemLimit, Vc as resolveMediaStorageUrl, Vd as unsafeAsPositiveSeconds, Vf as Box, Vi as surfaceResolutionContextFromTheme, Vl as Tooltip, Vn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Vo as formatEventDateParts, Vr as formatInterval, Vs as createRichTextDocFromMarkdown, Vu as __extends, Wa as resolveOfferingsPreviewGroupOrderEntries, Wc as resolveMediaSlotContract, Wd as lucide_react_exports, Wf as Archive, Wi as pageDesignEditorBackgroundOverrideOwner, Wl as TooltipTrigger, Wn as contentTransforms, Wo as formatEventTeacherLine, Wr as buildProductCartItem, Ws as isRecord$20, Wt as usePalette, Wu as __rest, Xa as eventPageSizeSchema, Xc as resolveMediaTransformForAspect, Xd as Ticket, Xi as NAV_LINK_LETTER_SPACING_MAP, Xl as SelectTrigger, Xn as isInternalResolvedLinkValue, Xo as resolveEventLinkProps, Xr as augmentManifestWithStyleGroups, Xs as canonicalizePersistedBlockButtonRole, Xu as useControllableState, Ya as eventListPaginationActionSchema, Yc as parseAspectRatioValue, Yd as Trash2, Yi as NAV_LINK_BORDER_RADIUS_MAP, Yl as SelectItem, Yn as createManifestValidator, Yo as resolveEventCta, Yr as augmentManifest, Ys as BLOCK_BUTTON_ROLE_OPTIONS, Yt as createManifestFormAdapter, Yu as createCollection, Za as getEventRuntimeFiltersKey, Zc as asRecord, Zi as NAV_LINK_PADDING_MAP, Zl as SelectValue, Zn as ImageResolveContextProvider, Zo as getEventAvailability, Zr as richTextFragment, Zs as isBlockButtonRole, Zt as FormRenderer, Zu as createContextScope, _a as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, _c as FileArchiveIcon, _d as getBookingLocalDateKey, _f as ImageOff, _i as MQ_MD_DOWN, _l as parseThemeButtonVariantId, _n as deriveLaunchReadiness, _o as bindingSchema, _r as resolveDiscountContext, _s as ACCORDION_SPACING_MAP, _t as useEditor, _u as DialogDescription, ac as ArrowRightIcon, ad as parseFooterModuleId, ai as formCopyFragment, an as createEntrySlotBlock, ao as eventButtonVariantSchema, ar as buildEventListingInteractiveIslandProps, as as defineInteractiveIslandMetaKeys, at as resolvePreviewSidebarTab, au as Tabs, ba as foregroundTokenForBackgroundAppearanceColorToken, bc as FileTextIcon, bd as toBookingTimeZone, bf as FileText, bi as MQ_SM_UP, bl as cssVarValue, bn as KeyboardCode, bo as eventSurfaceScopeValues, br as WIZARD_STEPS$1, bs as ICON_CONFIG, bt as EditableBlockProvider, bu as DialogTitle, ca as GRADIENT_PRESETS, cc as ChevronDownIcon, cd as createEditorReorderBlocksCommand, ci as ctaCopyFragment, cl as generateButtonCss, cn as deleteEntrySlotBlock, co as filterAutoShowSchema, cr as buildEventCalendarListingDisplay, cs as defineProgressiveBlockRuntime, ct as PreviewInlineTextEditor, cu as TabsTrigger, da as parseGradientPresetId, dc as ChevronUpIcon, dd as addLocalScheduleDays, df as Minus, di as heroCopyFragment, dl as featuresFromHex, dn as mutateBlockContent, do as eventCalendarListLayoutCompatibleDisplayModeValues, dr as buildFormInteractiveIslandProps, ds as markEditableSurfaceForwarding, dt as EMPTY_DOC, du as Root2$1, ea as FONT_WEIGHT_MAP, ec as SEMANTIC_ICON_DEFINITIONS, ed as Button, ei as faqAccordionFragment, el as getAtPath, en as listContentTypes, eo as normalizeCsvIds, er as productListBlockDefinition, es as getLocalMinuteOfDay, et as deriveTransactionCapabilities, f as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, fa as boundaryRuntimeMetricsForTransition, fc as CircleMinusIcon, fd as formatBookingDate, fi as bodyCopyFragment, fl as generateEffectsCSS, fn as reorderBlocks, fo as eventCalendarListLayoutOptions, fr as eventRegistrationBlockDefinition, fs as splitPositioningClasses, ft as RichTextEditorSurface, fu as Trigger$1, ga as sectionTransitionVariantForBoundaryOptionId, gc as ExternalLinkIcon, gd as formatLocalScheduleDate, gf as ImagePlus, gi as MQ_LG_UP, gl as TokenResolver, gn as DEFAULT_LAUNCH_READINESS_INPUT, go as when, gr as findPreSelectedEvent, gs as ACCORDION_OPEN_ACCENT_THICKNESS, gt as EditorProvider, gu as DialogContent, ha as sectionTransitionFamilyForBoundaryOptionId, hc as DownloadIcon, hd as formatBookingTime, hf as ImageUp, hi as siteOptionSources, hl as generateInteractiveChildInheritanceCSS, hn as decodePublicProductCategorySelectorQuery, ho as richText, hr as findEventByOccurrenceId, hs as assertNever$6, ht as InlineTextEditor, hu as DialogClose, i as usePreviewDesignHistoryOrder, ic as ArrowLeftIcon, id as clsx, if as RotateCcw, ii as formEmbedFragment, in as createBlock, io as columnOptionSchema, ir as eventListingBlockDefinition, is as createInteractiveIslandCodec, iu as Input, ja as runTransforms, jc as createIcon, jd as expectParsedBrandedId, jf as Clock3, ji as compileEditorModelRuntime, jl as isNonEmptyValue, jn as useCombinedRefs, jo as normalizeBoxStylesCardVariant, jr as buildCartInteractiveIslandProps, js as suggestSemanticIconForFeatureCard, jt as pushHistoryEntry, ju as CardTitle, ka as generateCssVars, kc as UploadIcon, kd as formatCurrencyAmount, kf as CreditCard, ki as formatSiteChromeBackgroundTokenLabel, kl as getModalConfig, kn as CSS, ko as generateCardCss, kr as checkoutBlockDefinition, ks as resolveFeatureCardGeneratedIconSizePx, kt as canUndoHistory, ku as CardContent, la as GRADIENT_PRESET_IDS, lc as ChevronLeftIcon, ld as unsafeAsEditorBlockId, li as heroCtaRowFragment, ll as expandPalette, ln as deletePageSurfaceSlotBlock, lo as previewStageSchema, lr as buildEventCalendarListingRender, lt as PreviewTextEditor, lu as Content$1, ma as sectionTransitionFamilies, mc as ClockIcon$1, md as formatBookingInstant, mf as Image, mi as PUBLIC_FILE_FIELD_KINDS, ml as generateBaseInteractiveCSS, mn as reorderPageSurfaceSlotBlocks, mo as el, mr as toRegistrationEvents, ms as asDesignBlockId, mt as insertOrReplaceRichTextImage, mu as Dialog, n as useSiteChromeCustomizeOptional, na as INPUT_SPACING_MAP, nc as isSemanticIconId, nd as useComposedRefs, nf as Settings, ni as blogFeaturedPostFragment, nn as applyPageDesignEditorAction, no as normalizeOptionalId, nr as newsletterSignupBlockDefinition, ns as blockBookingPaymentTermsSchema, nt as idleEditorTransactionQueueState, nu as PopoverContent, oc as CalendarIcon$1, od as createEditorInsertBlockCommand, of as Plus, oi as testimonialsCarouselFragment, on as createPageSurfaceSlotBlock, oo as eventCalendarDefaultViewSchema, or as eventCalendarBlockDefinition, os as createZodCodec, ou as TabsContent, p as reportPreviewDesignError, pa as defaultSectionTransitionVariantForFamily, pc as CirclePlusIcon, pd as formatBookingDateTime, pf as LoaderCircle, pi as defineFragment, pl as generateShadowValue$1, pn as reorderEntrySlotBlocks, po as bind, pr as buildEventRegistrationInteractiveIslandProps, ps as planSiteChromePlacement, pt as getRichTextImagePositionFromTarget, pu as ScrollableDialogContent, qa as resolveSpacing, qc as normalizeRightAngle, qf as __toESM, qi as parseBlockCustomCssRules, ql as Select, qn as uiTransforms, qo as getContainerClass, qr as productItemKey, qs as isInlineTextEmpty, qt as validateBlockManifestIssues, qu as useId$1, r as PreviewDesignHistoryOrderProvider, ra as LABEL_FONT_SIZE_MAP, rc as ArrowDownIcon, rd as cn$1, rf as Search, ri as singleButtonFragment, rn as getPageDesignEditorState, ro as calendarTabViewsSchema, rr as buildNewsletterFormInteractiveIslandProps, rs as buildInteractiveIslandProps, rt as rejectAutosaveBatch, ru as PopoverTrigger, sa as gradientToCss, sc as CheckIcon$1, sd as createEditorRemoveBlockCommand, sf as Pencil, si as testimonialsHeadingFragment, sl as AFFORDANCE_SUPPRESS_CLASS, sn as deleteBlock, so as eventLayoutSchema, sr as buildEventCalendarInteractiveIslandProps, ss as defineClientOwnedBlockRuntime, st as PreviewRichTextEditor, su as TabsList, t as SiteChromeCustomizeProvider, ta as INPUT_FONT_SIZE_MAP, tc as getSemanticIconComponent, td as cva, ti as faqHeadingFragment, tl as siblingPath$1, tn as toRoutableLinkPayload, to as normalizeCsvString, tr as productDetailBlockDefinition, ts as resolveRuntimeEventPricing, tt as enqueueTransaction, tu as Popover, u as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, ua as getGradientPreset, uc as ChevronRightIcon, ud as unsafeAsEditorBlockValues, ui as ctaRowFragment, ul as getTextColorForBackground, uo as weekStartSchema, ur as formBlockDefinition, us as composeHeaderSectionWrapperClassName, ut as useRichTextEditor, uu as List, va as backgroundAppearanceColorTokenNames, vc as FileAudioIcon, vd as parseBookingLocalDate, vf as GripVertical, vi as MQ_MD_UP, vl as themeButtonClassName, vn as AMBIENT_BACKGROUND_ROLES$1, vo as eventBlockKindValues, vr as resolveEventRequiresPayment, vs as ACCORDION_TRIGGER_FONT_SCALE, vu as DialogFooter, wc as MinusIcon, wd as publicEventPricingCurrency, wf as FileArchive, wi as boxStylesTransforms, wl as DEFAULT_SURFACE_TEXT_COLOR, wn as useDndContext, wo as normalizeEventStaffMemberId, wr as buildGiftingInteractiveIslandProps, ws as FEATURE_CARD_GENERATED_ICON_SIZE_PX, wu as Content, x as PreviewThemeOverlayProvider, xa as parseBackgroundAppearanceColorToken, xc as InfoIcon, xd as toScheduledBookingDateTime, xf as FileSpreadsheet, xi as MQ_TABLET_ONLY, xl as mergeStyles, xn as PointerSensor, xo as normalizeEventBlockKind, xr as getStepNumber$1, xs as ICON_SIZE_PX, xt as EntryControllerProvider, xu as Collapsible, y as PreviewDesignCoordinatorProvider, ya as backgroundAppearanceQuickColorTokenNames, yc as FileSpreadsheetIcon, yd as resolveBookingTimeZoneId, yf as File, yi as MQ_SM_DOWN, yl as backgroundColorStyle, yn as DndContext, yo as eventScheduleScopeValues, yr as resolveRegistrationTarget, ys as ACCORDION_TRIGGER_LETTER_SPACING, yt as useUISelector, yu as DialogHeader, za as isOfferingsPreviewSourceKey, zc as resolveImageUrlWithContext, zd as unsafeAsPassId, zf as ChevronDown, zi as designRuntimeRulesForTheme, zl as FieldFrame, zn as siteHeaderManifest, zo as formatDate$3, zr as buildProductDetailDisplay, zs as parseGeneratedIconSetId, zt as createSnapshotFromPageRecord, zu as __assign } from "./SiteChromeCustomizeContext-DOSDLCiJ.mjs";
|
|
3
|
+
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-kkmjklLG.mjs";
|
|
4
|
+
import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, l as ApiEnvelopeError, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-BkT1D06A.mjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
import React, { Children, Component, Fragment, cloneElement, createContext, createElement, createRef, forwardRef, isValidElement, memo, startTransition, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1280,7 +1280,7 @@ var BlockApiError = class extends Error {
|
|
|
1280
1280
|
this.name = "BlockApiError";
|
|
1281
1281
|
}
|
|
1282
1282
|
};
|
|
1283
|
-
function isRecord$
|
|
1283
|
+
function isRecord$19(value) {
|
|
1284
1284
|
return typeof value === "object" && value !== null;
|
|
1285
1285
|
}
|
|
1286
1286
|
function isJsonResponseContentType(contentType) {
|
|
@@ -1304,8 +1304,8 @@ async function parseJsonBody(response) {
|
|
|
1304
1304
|
}
|
|
1305
1305
|
}
|
|
1306
1306
|
function getBlockApiErrorDetails(data) {
|
|
1307
|
-
if (!isRecord$
|
|
1308
|
-
const nestedError = isRecord$
|
|
1307
|
+
if (!isRecord$19(data)) return {};
|
|
1308
|
+
const nestedError = isRecord$19(data.error) ? data.error : void 0;
|
|
1309
1309
|
return {
|
|
1310
1310
|
message: typeof nestedError?.message === "string" ? nestedError.message : typeof data.message === "string" ? data.message : void 0,
|
|
1311
1311
|
code: typeof nestedError?.code === "string" ? nestedError.code : typeof data.code === "string" ? data.code : void 0
|
|
@@ -2737,7 +2737,7 @@ function resolveButtonAffordance(input) {
|
|
|
2737
2737
|
function coerceRichTextDoc(value) {
|
|
2738
2738
|
const raw = unwrapRichTextRoot(value);
|
|
2739
2739
|
if (typeof raw === "string") return createRichTextDocFromMarkdown(raw);
|
|
2740
|
-
if (isRecord$
|
|
2740
|
+
if (isRecord$20(raw) && typeof raw.type === "string") return raw;
|
|
2741
2741
|
return null;
|
|
2742
2742
|
}
|
|
2743
2743
|
//#endregion
|
|
@@ -2822,7 +2822,7 @@ const ButtonNode = ({ value, children, href, variantId = "primary", size = "md",
|
|
|
2822
2822
|
return null;
|
|
2823
2823
|
}
|
|
2824
2824
|
const extraClassName = affordanceIcon ? [className, AFFORDANCE_SUPPRESS_CLASS].filter(Boolean).join(" ") : className;
|
|
2825
|
-
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
2825
|
+
const resolvedVariantId = parseThemeButtonVariantId(canonicalizePersistedBlockButtonRole(variantId));
|
|
2826
2826
|
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
2827
2827
|
variant: resolvedVariantId,
|
|
2828
2828
|
size,
|
|
@@ -2881,7 +2881,7 @@ const IconNode = ({ value, title, className, blockId: _blockId, blockKind: _bloc
|
|
|
2881
2881
|
};
|
|
2882
2882
|
//#endregion
|
|
2883
2883
|
//#region ../blocks/src/system/icons/generatedAssets.ts
|
|
2884
|
-
function isRecord$
|
|
2884
|
+
function isRecord$18(value) {
|
|
2885
2885
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2886
2886
|
}
|
|
2887
2887
|
function generatedIconAssetRefKey(ref) {
|
|
@@ -2891,11 +2891,11 @@ function collectGeneratedIconAssetRefs(page) {
|
|
|
2891
2891
|
const blocks = [];
|
|
2892
2892
|
for (const block of page.blocks) {
|
|
2893
2893
|
if (block.kind !== "block.feature-cards" || typeof block.id !== "string") continue;
|
|
2894
|
-
const content = isRecord$
|
|
2894
|
+
const content = isRecord$18(block.draftContent) ? block.draftContent : isRecord$18(block.content) ? block.content : null;
|
|
2895
2895
|
const cards = Array.isArray(content?.cards) ? content.cards : [];
|
|
2896
2896
|
const refs = /* @__PURE__ */ new Map();
|
|
2897
2897
|
for (const card of cards) {
|
|
2898
|
-
if (!isRecord$
|
|
2898
|
+
if (!isRecord$18(card)) continue;
|
|
2899
2899
|
const icon = parseBlockIconValue(card.icon);
|
|
2900
2900
|
if (icon.kind !== "generated") continue;
|
|
2901
2901
|
const ref = {
|
|
@@ -3017,12 +3017,6 @@ const MediaNodeServer = ({ value, className, style, videoPlayback = "inline", lo
|
|
|
3017
3017
|
};
|
|
3018
3018
|
//#endregion
|
|
3019
3019
|
//#region ../blocks/src/system/runtime/nodes/file-download.tsx
|
|
3020
|
-
const FILE_DOWNLOAD_BUTTON_VARIANTS = [
|
|
3021
|
-
"primary",
|
|
3022
|
-
"secondary",
|
|
3023
|
-
"outline",
|
|
3024
|
-
"link"
|
|
3025
|
-
];
|
|
3026
3020
|
function isDownloadableMediaType(type) {
|
|
3027
3021
|
return typeof type === "string" && PUBLIC_DOWNLOAD_MEDIA_TYPES.includes(type);
|
|
3028
3022
|
}
|
|
@@ -3054,7 +3048,7 @@ function iconForMediaType(type) {
|
|
|
3054
3048
|
}
|
|
3055
3049
|
}
|
|
3056
3050
|
function normalizeButtonVariant(value) {
|
|
3057
|
-
return
|
|
3051
|
+
return isBlockButtonRole(value) ? value : "primary";
|
|
3058
3052
|
}
|
|
3059
3053
|
function FileDownloadNode({ value, title, description, buttonLabel, buttonVariant, className }) {
|
|
3060
3054
|
if (!value || !isDownloadableMediaType(value.type)) return null;
|
|
@@ -3932,12 +3926,12 @@ function resolveBookingSiteId(siteId, form) {
|
|
|
3932
3926
|
return siteId || form?.siteId || "";
|
|
3933
3927
|
}
|
|
3934
3928
|
function normalizeBookingFormConfig(form) {
|
|
3935
|
-
if (!isRecord$
|
|
3929
|
+
if (!isRecord$17(form)) return null;
|
|
3936
3930
|
const id = readNonEmptyString(form.id);
|
|
3937
3931
|
const name = readNonEmptyString(form.name);
|
|
3938
3932
|
if (!id || !name) return null;
|
|
3939
|
-
const schemaSource = isRecord$
|
|
3940
|
-
const settingsSource = isRecord$
|
|
3933
|
+
const schemaSource = isRecord$17(form.schema) ? form.schema : isRecord$17(form.schemaJson) ? form.schemaJson : null;
|
|
3934
|
+
const settingsSource = isRecord$17(form.settings) ? form.settings : isRecord$17(form.settingsJson) ? form.settingsJson : null;
|
|
3941
3935
|
return {
|
|
3942
3936
|
id,
|
|
3943
3937
|
name,
|
|
@@ -3957,8 +3951,8 @@ function normalizeBookingServices(services) {
|
|
|
3957
3951
|
};
|
|
3958
3952
|
if (!services) return [];
|
|
3959
3953
|
if (Array.isArray(services)) return services.filter(isBookingFormService).map(normalizeService);
|
|
3960
|
-
if (isRecord$
|
|
3961
|
-
return isRecord$
|
|
3954
|
+
if (isRecord$17(services) && "services" in services) return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
|
|
3955
|
+
return isRecord$17(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
|
|
3962
3956
|
}
|
|
3963
3957
|
function normalizeBookingSchema(value) {
|
|
3964
3958
|
if (!value) return void 0;
|
|
@@ -3969,7 +3963,7 @@ function normalizeBookingSchema(value) {
|
|
|
3969
3963
|
};
|
|
3970
3964
|
}
|
|
3971
3965
|
function readBookingFormField(value) {
|
|
3972
|
-
if (!isRecord$
|
|
3966
|
+
if (!isRecord$17(value)) return null;
|
|
3973
3967
|
const id = readNonEmptyString(value.id);
|
|
3974
3968
|
const label = readNonEmptyString(value.label);
|
|
3975
3969
|
const type = readBookingFieldType(value.type);
|
|
@@ -4013,7 +4007,7 @@ function readBookingFieldOptions(value) {
|
|
|
4013
4007
|
return options.length > 0 ? options : void 0;
|
|
4014
4008
|
}
|
|
4015
4009
|
function readBookingFieldOption(value) {
|
|
4016
|
-
if (!isRecord$
|
|
4010
|
+
if (!isRecord$17(value)) return null;
|
|
4017
4011
|
const optionValue = readNonEmptyString(value.value);
|
|
4018
4012
|
const label = readNonEmptyString(value.label);
|
|
4019
4013
|
return optionValue && label ? {
|
|
@@ -4033,7 +4027,7 @@ function normalizeBookingSettings(value) {
|
|
|
4033
4027
|
};
|
|
4034
4028
|
}
|
|
4035
4029
|
function isBookingFormService(value) {
|
|
4036
|
-
return isRecord$
|
|
4030
|
+
return isRecord$17(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
4037
4031
|
}
|
|
4038
4032
|
function collectBookingCustomFields(data) {
|
|
4039
4033
|
const customFields = {};
|
|
@@ -4083,7 +4077,7 @@ function readStringArray(value) {
|
|
|
4083
4077
|
const strings = value.filter((item) => typeof item === "string");
|
|
4084
4078
|
return strings.length > 0 ? strings : void 0;
|
|
4085
4079
|
}
|
|
4086
|
-
function isRecord$
|
|
4080
|
+
function isRecord$17(value) {
|
|
4087
4081
|
return typeof value === "object" && value !== null;
|
|
4088
4082
|
}
|
|
4089
4083
|
function getBookingServicePaymentSelectionMode(service) {
|
|
@@ -5653,8 +5647,11 @@ function LocationMapView({ addressText, location, zoom, heightPx, showAddressTex
|
|
|
5653
5647
|
href: directionsUrl,
|
|
5654
5648
|
target: "_blank",
|
|
5655
5649
|
rel: "noreferrer",
|
|
5656
|
-
className:
|
|
5657
|
-
|
|
5650
|
+
className: themeButtonClassName({
|
|
5651
|
+
variant: "ghost",
|
|
5652
|
+
size: "sm",
|
|
5653
|
+
extraClassName: "rb-w-fit"
|
|
5654
|
+
}),
|
|
5658
5655
|
children: directionsLabel
|
|
5659
5656
|
}) : null
|
|
5660
5657
|
]
|
|
@@ -7375,7 +7372,11 @@ function WeeklySlotAvailabilityView({ availability, loading = false, error, empt
|
|
|
7375
7372
|
]
|
|
7376
7373
|
}),
|
|
7377
7374
|
resolvedCtaUrl ? /* @__PURE__ */ jsx("a", {
|
|
7378
|
-
className:
|
|
7375
|
+
className: themeButtonClassName({
|
|
7376
|
+
variant: "ghost",
|
|
7377
|
+
size: "sm",
|
|
7378
|
+
extraClassName: "weekly-slot-availability__cta"
|
|
7379
|
+
}),
|
|
7379
7380
|
href: buildSlotCtaUrl(resolvedCtaUrl, slot),
|
|
7380
7381
|
"aria-label": buildSlotCtaLabel(resolvedCtaText, slot),
|
|
7381
7382
|
children: resolvedCtaText
|
|
@@ -18732,7 +18733,7 @@ function resolveHasCoursePayment(pricing) {
|
|
|
18732
18733
|
if (pricing.selectedOption) return pricing.selectedRequiresPayment;
|
|
18733
18734
|
return pricing.hasPaidSelection;
|
|
18734
18735
|
}
|
|
18735
|
-
function useCourseRegistrationWizard(props) {
|
|
18736
|
+
function useCourseRegistrationWizard(props, options = {}) {
|
|
18736
18737
|
const api = useBlockApi();
|
|
18737
18738
|
const { contentEntry, courses, entrySubrouteContext, subject } = props;
|
|
18738
18739
|
const scopedCourses = useMemo(() => {
|
|
@@ -18979,21 +18980,34 @@ function useCourseRegistrationWizard(props) {
|
|
|
18979
18980
|
setStep("enter-details");
|
|
18980
18981
|
};
|
|
18981
18982
|
const handleSubmit = async () => {
|
|
18982
|
-
if (!selectedCourse) return
|
|
18983
|
-
|
|
18983
|
+
if (!selectedCourse) return {
|
|
18984
|
+
kind: "blocked",
|
|
18985
|
+
message: "Choose an available set of dates to continue."
|
|
18986
|
+
};
|
|
18987
|
+
if (!handleValidateForm()) return { kind: "validation-failed" };
|
|
18984
18988
|
if (missingPricingSelectionMessage) {
|
|
18985
18989
|
setErrorMessage(missingPricingSelectionMessage);
|
|
18986
18990
|
setStep("error");
|
|
18987
|
-
return
|
|
18991
|
+
return {
|
|
18992
|
+
kind: "blocked",
|
|
18993
|
+
message: missingPricingSelectionMessage
|
|
18994
|
+
};
|
|
18988
18995
|
}
|
|
18989
18996
|
const requiresPayment = selectedCoursePricing?.selectedRequiresPayment ?? false;
|
|
18990
18997
|
const canUseMembership = requiresPayment && selectedCourse.acceptsMemberships && portalAuthState === "authenticated" && eligibleMemberships.length > 0;
|
|
18991
18998
|
if (showSpamProtection && !altchaSolution) {
|
|
18992
|
-
|
|
18999
|
+
const message = "Please complete the verification check.";
|
|
19000
|
+
setErrorMessage(message);
|
|
18993
19001
|
setStep("error");
|
|
18994
|
-
return
|
|
19002
|
+
return {
|
|
19003
|
+
kind: "blocked",
|
|
19004
|
+
message
|
|
19005
|
+
};
|
|
18995
19006
|
}
|
|
18996
|
-
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return
|
|
19007
|
+
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return {
|
|
19008
|
+
kind: "blocked",
|
|
19009
|
+
message: courseEligibility.reason ?? "This course is fully booked."
|
|
19010
|
+
};
|
|
18997
19011
|
if (courseEligibility?.canJoinWaitlist) {
|
|
18998
19012
|
setStep("submitting");
|
|
18999
19013
|
try {
|
|
@@ -19014,15 +19028,20 @@ function useCourseRegistrationWizard(props) {
|
|
|
19014
19028
|
usedMembership: false
|
|
19015
19029
|
});
|
|
19016
19030
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
19031
|
+
return { kind: "state-updated" };
|
|
19017
19032
|
} catch (error) {
|
|
19018
|
-
|
|
19033
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
19034
|
+
setErrorMessage(message);
|
|
19019
19035
|
setStep("error");
|
|
19036
|
+
return {
|
|
19037
|
+
kind: "failed",
|
|
19038
|
+
message
|
|
19039
|
+
};
|
|
19020
19040
|
}
|
|
19021
|
-
return;
|
|
19022
19041
|
}
|
|
19023
19042
|
if (requiresPayment && canUseMembership) {
|
|
19024
19043
|
setStep("select-payment");
|
|
19025
|
-
return;
|
|
19044
|
+
return { kind: "state-updated" };
|
|
19026
19045
|
}
|
|
19027
19046
|
if (requiresPayment) {
|
|
19028
19047
|
setStep("submitting");
|
|
@@ -19048,16 +19067,24 @@ function useCourseRegistrationWizard(props) {
|
|
|
19048
19067
|
usedMembership: false
|
|
19049
19068
|
});
|
|
19050
19069
|
setStep("success");
|
|
19051
|
-
return;
|
|
19070
|
+
return { kind: "state-updated" };
|
|
19052
19071
|
}
|
|
19053
19072
|
if (!checkoutResult.checkoutUrl) throw new Error("Checkout URL missing");
|
|
19054
19073
|
setStep("redirecting");
|
|
19055
|
-
|
|
19056
|
-
|
|
19074
|
+
if (options.onCheckoutRedirect) options.onCheckoutRedirect(checkoutResult.checkoutUrl);
|
|
19075
|
+
else window.location.href = checkoutResult.checkoutUrl;
|
|
19076
|
+
return {
|
|
19077
|
+
kind: "checkout-redirect",
|
|
19078
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
19079
|
+
};
|
|
19057
19080
|
} catch (error) {
|
|
19058
|
-
|
|
19081
|
+
const message = error instanceof Error ? error.message : "Checkout failed";
|
|
19082
|
+
setErrorMessage(message);
|
|
19059
19083
|
setStep("error");
|
|
19060
|
-
return
|
|
19084
|
+
return {
|
|
19085
|
+
kind: "failed",
|
|
19086
|
+
message
|
|
19087
|
+
};
|
|
19061
19088
|
}
|
|
19062
19089
|
}
|
|
19063
19090
|
setStep("submitting");
|
|
@@ -19079,35 +19106,58 @@ function useCourseRegistrationWizard(props) {
|
|
|
19079
19106
|
usedMembership: result.paymentMethod === "membership"
|
|
19080
19107
|
});
|
|
19081
19108
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
19109
|
+
return { kind: "state-updated" };
|
|
19082
19110
|
} catch (error) {
|
|
19083
|
-
|
|
19111
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
19112
|
+
setErrorMessage(message);
|
|
19084
19113
|
setStep("error");
|
|
19114
|
+
return {
|
|
19115
|
+
kind: "failed",
|
|
19116
|
+
message
|
|
19117
|
+
};
|
|
19085
19118
|
}
|
|
19086
19119
|
};
|
|
19087
19120
|
const handlePaymentContinue = async () => {
|
|
19088
|
-
if (!selectedCourse) return
|
|
19089
|
-
|
|
19121
|
+
if (!selectedCourse) return {
|
|
19122
|
+
kind: "blocked",
|
|
19123
|
+
message: "Choose an available set of dates to continue."
|
|
19124
|
+
};
|
|
19125
|
+
if (!handleValidateForm()) return { kind: "validation-failed" };
|
|
19090
19126
|
if (missingPricingSelectionMessage) {
|
|
19091
19127
|
setErrorMessage(missingPricingSelectionMessage);
|
|
19092
19128
|
setStep("error");
|
|
19093
|
-
return
|
|
19129
|
+
return {
|
|
19130
|
+
kind: "blocked",
|
|
19131
|
+
message: missingPricingSelectionMessage
|
|
19132
|
+
};
|
|
19094
19133
|
}
|
|
19095
19134
|
const requiresPayment = selectedCoursePricing?.selectedRequiresPayment ?? false;
|
|
19096
|
-
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return
|
|
19135
|
+
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return {
|
|
19136
|
+
kind: "blocked",
|
|
19137
|
+
message: courseEligibility.reason ?? "This course is fully booked."
|
|
19138
|
+
};
|
|
19097
19139
|
if (!requiresPayment) {
|
|
19098
19140
|
setStep("enter-details");
|
|
19099
|
-
return;
|
|
19141
|
+
return { kind: "state-updated" };
|
|
19100
19142
|
}
|
|
19101
19143
|
if (showSpamProtection && !altchaSolution) {
|
|
19102
|
-
|
|
19144
|
+
const message = "Please complete the verification check.";
|
|
19145
|
+
setErrorMessage(message);
|
|
19103
19146
|
setStep("error");
|
|
19104
|
-
return
|
|
19147
|
+
return {
|
|
19148
|
+
kind: "blocked",
|
|
19149
|
+
message
|
|
19150
|
+
};
|
|
19105
19151
|
}
|
|
19106
19152
|
if (paymentChoice === "membership") {
|
|
19107
19153
|
if (!selectedMembershipId) {
|
|
19108
|
-
|
|
19154
|
+
const message = "Select a membership to sign up.";
|
|
19155
|
+
setErrorMessage(message);
|
|
19109
19156
|
setStep("error");
|
|
19110
|
-
return
|
|
19157
|
+
return {
|
|
19158
|
+
kind: "blocked",
|
|
19159
|
+
message
|
|
19160
|
+
};
|
|
19111
19161
|
}
|
|
19112
19162
|
setStep("submitting");
|
|
19113
19163
|
try {
|
|
@@ -19129,11 +19179,16 @@ function useCourseRegistrationWizard(props) {
|
|
|
19129
19179
|
usedMembership: true
|
|
19130
19180
|
});
|
|
19131
19181
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
19182
|
+
return { kind: "state-updated" };
|
|
19132
19183
|
} catch (error) {
|
|
19133
|
-
|
|
19184
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
19185
|
+
setErrorMessage(message);
|
|
19134
19186
|
setStep("error");
|
|
19187
|
+
return {
|
|
19188
|
+
kind: "failed",
|
|
19189
|
+
message
|
|
19190
|
+
};
|
|
19135
19191
|
}
|
|
19136
|
-
return;
|
|
19137
19192
|
}
|
|
19138
19193
|
setStep("submitting");
|
|
19139
19194
|
try {
|
|
@@ -19158,14 +19213,24 @@ function useCourseRegistrationWizard(props) {
|
|
|
19158
19213
|
usedMembership: false
|
|
19159
19214
|
});
|
|
19160
19215
|
setStep("success");
|
|
19161
|
-
return;
|
|
19216
|
+
return { kind: "state-updated" };
|
|
19162
19217
|
}
|
|
19163
19218
|
if (!checkoutResult.checkoutUrl) throw new Error("Checkout URL missing");
|
|
19164
19219
|
setStep("redirecting");
|
|
19165
|
-
|
|
19220
|
+
if (options.onCheckoutRedirect) options.onCheckoutRedirect(checkoutResult.checkoutUrl);
|
|
19221
|
+
else window.location.href = checkoutResult.checkoutUrl;
|
|
19222
|
+
return {
|
|
19223
|
+
kind: "checkout-redirect",
|
|
19224
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
19225
|
+
};
|
|
19166
19226
|
} catch (error) {
|
|
19167
|
-
|
|
19227
|
+
const message = error instanceof Error ? error.message : "Checkout failed";
|
|
19228
|
+
setErrorMessage(message);
|
|
19168
19229
|
setStep("error");
|
|
19230
|
+
return {
|
|
19231
|
+
kind: "failed",
|
|
19232
|
+
message
|
|
19233
|
+
};
|
|
19169
19234
|
}
|
|
19170
19235
|
};
|
|
19171
19236
|
const handleRetry = () => {
|
|
@@ -20084,7 +20149,7 @@ const LEAFLET_JS_INTEGRITY = "sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo
|
|
|
20084
20149
|
let leafletLoaded = false;
|
|
20085
20150
|
let leafletLoadPromise = null;
|
|
20086
20151
|
function isLeafletApi(value) {
|
|
20087
|
-
if (!isRecord$
|
|
20152
|
+
if (!isRecord$20(value)) return false;
|
|
20088
20153
|
return typeof value.map === "function" && typeof value.tileLayer === "function" && typeof value.marker === "function";
|
|
20089
20154
|
}
|
|
20090
20155
|
function loadLeaflet() {
|
|
@@ -21406,7 +21471,7 @@ Autoplay.globalOptions = void 0;
|
|
|
21406
21471
|
function isObject$2(subject) {
|
|
21407
21472
|
return Object.prototype.toString.call(subject) === "[object Object]";
|
|
21408
21473
|
}
|
|
21409
|
-
function isRecord$
|
|
21474
|
+
function isRecord$16(subject) {
|
|
21410
21475
|
return isObject$2(subject) || Array.isArray(subject);
|
|
21411
21476
|
}
|
|
21412
21477
|
function canUseDOM() {
|
|
@@ -21421,7 +21486,7 @@ function areOptionsEqual(optionsA, optionsB) {
|
|
|
21421
21486
|
const valueA = optionsA[key];
|
|
21422
21487
|
const valueB = optionsB[key];
|
|
21423
21488
|
if (typeof valueA === "function") return `${valueA}` === `${valueB}`;
|
|
21424
|
-
if (!isRecord$
|
|
21489
|
+
if (!isRecord$16(valueA) || !isRecord$16(valueB)) return valueA === valueB;
|
|
21425
21490
|
return areOptionsEqual(valueA, valueB);
|
|
21426
21491
|
});
|
|
21427
21492
|
}
|
|
@@ -27978,7 +28043,7 @@ function WeeklySlotAvailabilityClient({ serviceId, resourceId, horizonWeeks, tim
|
|
|
27978
28043
|
}
|
|
27979
28044
|
//#endregion
|
|
27980
28045
|
//#region ../blocks/src/system/runtime/components/registry.client.tsx
|
|
27981
|
-
function isRecord$
|
|
28046
|
+
function isRecord$15(value) {
|
|
27982
28047
|
return typeof value === "object" && value !== null;
|
|
27983
28048
|
}
|
|
27984
28049
|
function buildRenderFromLooseProps(runtime, mode, props) {
|
|
@@ -27997,12 +28062,12 @@ function withRuntimeBackedEnvelope(source, runtime, render) {
|
|
|
27997
28062
|
function normalizeLegacyInteractiveRenderProps(runtime, mode, props) {
|
|
27998
28063
|
const source = props;
|
|
27999
28064
|
const render = props["render"];
|
|
28000
|
-
if (!isRecord$
|
|
28001
|
-
if (isRecord$
|
|
28065
|
+
if (!isRecord$15(render)) return withRuntimeBackedEnvelope(source, runtime, buildRenderFromLooseProps(runtime, mode, props));
|
|
28066
|
+
if (isRecord$15(render["hydration"])) return withRuntimeBackedEnvelope(source, runtime, {
|
|
28002
28067
|
...render,
|
|
28003
28068
|
mode
|
|
28004
28069
|
});
|
|
28005
|
-
if (!isRecord$
|
|
28070
|
+
if (!isRecord$15(render["display"])) return withRuntimeBackedEnvelope(source, runtime, buildRenderFromLooseProps(runtime, mode, props));
|
|
28006
28071
|
const { display, mode: _legacyMode, ...legacyHydration } = render;
|
|
28007
28072
|
return withRuntimeBackedEnvelope(source, runtime, {
|
|
28008
28073
|
display,
|
|
@@ -28549,7 +28614,7 @@ const defaultTransforms = createTransformRegistry([
|
|
|
28549
28614
|
//#region ../blocks/src/system/data/linkedContentEntries.ts
|
|
28550
28615
|
const LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
28551
28616
|
function coerceLinkedContentEntriesPayload(payload) {
|
|
28552
|
-
if (!isRecord$
|
|
28617
|
+
if (!isRecord$14(payload)) return payload;
|
|
28553
28618
|
const response = payload;
|
|
28554
28619
|
if (!Array.isArray(response.entries)) return payload;
|
|
28555
28620
|
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
@@ -28557,16 +28622,16 @@ function coerceLinkedContentEntriesPayload(payload) {
|
|
|
28557
28622
|
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
28558
28623
|
}
|
|
28559
28624
|
function getLinkedContentEntryMeta(value) {
|
|
28560
|
-
if (!isRecord$
|
|
28625
|
+
if (!isRecord$14(value)) return null;
|
|
28561
28626
|
const candidate = value[LINKED_CONTENT_ENTRY_META_KEY];
|
|
28562
28627
|
return isLinkedContentEntryMeta(candidate) ? candidate : null;
|
|
28563
28628
|
}
|
|
28564
28629
|
function buildLinkedContentEditTarget(input) {
|
|
28565
28630
|
const { entry, sourceBlockId, sourceBlockKind, itemIndex } = input;
|
|
28566
|
-
if (!isRecord$
|
|
28631
|
+
if (!isRecord$14(entry)) return null;
|
|
28567
28632
|
const meta = getLinkedContentEntryMeta(entry);
|
|
28568
28633
|
if (!meta || meta.support.kind !== "supported") return null;
|
|
28569
|
-
const content = isRecord$
|
|
28634
|
+
const content = isRecord$14(entry.content) ? entry.content : {};
|
|
28570
28635
|
return {
|
|
28571
28636
|
kind: "linked-content-entry",
|
|
28572
28637
|
entryId: meta.entryId,
|
|
@@ -28630,12 +28695,12 @@ function resolveLinkedEntryInlineFieldEligibility(input) {
|
|
|
28630
28695
|
};
|
|
28631
28696
|
}
|
|
28632
28697
|
function enrichLinkedContentEntry(entry, contentType) {
|
|
28633
|
-
if (!isRecord$
|
|
28698
|
+
if (!isRecord$14(entry)) return entry;
|
|
28634
28699
|
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
28635
28700
|
if (!entryId) return entry;
|
|
28636
28701
|
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
28637
28702
|
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
28638
|
-
const content = isRecord$
|
|
28703
|
+
const content = isRecord$14(entry.content) ? entry.content : {};
|
|
28639
28704
|
const meta = {
|
|
28640
28705
|
kind: "linked-content-entry",
|
|
28641
28706
|
entryId,
|
|
@@ -28731,7 +28796,7 @@ function capitalize(value) {
|
|
|
28731
28796
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
28732
28797
|
}
|
|
28733
28798
|
function parsePublicContentTypeMeta(value) {
|
|
28734
|
-
if (!isRecord$
|
|
28799
|
+
if (!isRecord$14(value)) return null;
|
|
28735
28800
|
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
28736
28801
|
return {
|
|
28737
28802
|
key: value.key,
|
|
@@ -28741,7 +28806,7 @@ function parsePublicContentTypeMeta(value) {
|
|
|
28741
28806
|
};
|
|
28742
28807
|
}
|
|
28743
28808
|
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
28744
|
-
if (!isRecord$
|
|
28809
|
+
if (!isRecord$14(value) || typeof value.kind !== "string") return null;
|
|
28745
28810
|
switch (value.kind) {
|
|
28746
28811
|
case "generic": return { kind: "generic" };
|
|
28747
28812
|
case "unsupported-domain-backed": return {
|
|
@@ -28752,7 +28817,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
|
28752
28817
|
}
|
|
28753
28818
|
}
|
|
28754
28819
|
function parsePublicContentTypeFieldMeta(value) {
|
|
28755
|
-
if (!isRecord$
|
|
28820
|
+
if (!isRecord$14(value)) return [];
|
|
28756
28821
|
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
28757
28822
|
return [{
|
|
28758
28823
|
id: value.id,
|
|
@@ -28767,14 +28832,14 @@ function parseStringArray(value) {
|
|
|
28767
28832
|
return value.filter((item) => typeof item === "string");
|
|
28768
28833
|
}
|
|
28769
28834
|
function isLinkedContentEntryMeta(value) {
|
|
28770
|
-
if (!isRecord$
|
|
28835
|
+
if (!isRecord$14(value)) return false;
|
|
28771
28836
|
if (value.kind !== "linked-content-entry") return false;
|
|
28772
28837
|
if (typeof value.entryId !== "string") return false;
|
|
28773
28838
|
if (typeof value.contentTypeKey !== "string") return false;
|
|
28774
28839
|
if (typeof value.contentTypeLabel !== "string") return false;
|
|
28775
28840
|
if (typeof value.title !== "string") return false;
|
|
28776
28841
|
if (!(value.optimisticHash === null || typeof value.optimisticHash === "string")) return false;
|
|
28777
|
-
if (!isRecord$
|
|
28842
|
+
if (!isRecord$14(value.contentType)) return false;
|
|
28778
28843
|
if (!isLinkedEntryFieldSourceArray(value.fieldSources)) return false;
|
|
28779
28844
|
return isLinkedContentEditSupport(value.support);
|
|
28780
28845
|
}
|
|
@@ -28782,7 +28847,7 @@ function isLinkedEntryFieldSourceArray(value) {
|
|
|
28782
28847
|
return Array.isArray(value) && value.every(isLinkedEntryFieldSource);
|
|
28783
28848
|
}
|
|
28784
28849
|
function isLinkedEntryFieldSource(value) {
|
|
28785
|
-
if (!isRecord$
|
|
28850
|
+
if (!isRecord$14(value)) return false;
|
|
28786
28851
|
if (typeof value.displayPath !== "string") return false;
|
|
28787
28852
|
switch (value.kind) {
|
|
28788
28853
|
case "content-field": return typeof value.fieldPath === "string" && (value.fieldType === "text" || value.fieldType === "richText");
|
|
@@ -28803,7 +28868,7 @@ function isLinkedEntryInlineFieldReadOnlyReason(value) {
|
|
|
28803
28868
|
}
|
|
28804
28869
|
}
|
|
28805
28870
|
function isLinkedContentEditSupport(value) {
|
|
28806
|
-
if (!isRecord$
|
|
28871
|
+
if (!isRecord$14(value) || typeof value.kind !== "string") return false;
|
|
28807
28872
|
switch (value.kind) {
|
|
28808
28873
|
case "supported": return true;
|
|
28809
28874
|
case "unsupported-domain-backed":
|
|
@@ -28812,7 +28877,7 @@ function isLinkedContentEditSupport(value) {
|
|
|
28812
28877
|
default: return false;
|
|
28813
28878
|
}
|
|
28814
28879
|
}
|
|
28815
|
-
function isRecord$
|
|
28880
|
+
function isRecord$14(value) {
|
|
28816
28881
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28817
28882
|
}
|
|
28818
28883
|
//#endregion
|
|
@@ -28866,14 +28931,14 @@ function isDecoratedHeadingBlockKind(blockKind) {
|
|
|
28866
28931
|
return blockKind === "block.intro" || blockKind === "block.feature-cards" || blockKind === "block.testimonials" || blockKind === "block.faq";
|
|
28867
28932
|
}
|
|
28868
28933
|
function readVariant(blockContent) {
|
|
28869
|
-
if (!isRecord$
|
|
28934
|
+
if (!isRecord$13(blockContent)) return void 0;
|
|
28870
28935
|
const variant = blockContent.variant;
|
|
28871
28936
|
return typeof variant === "string" ? variant : void 0;
|
|
28872
28937
|
}
|
|
28873
28938
|
function isFaqDecoratedVariant(variant) {
|
|
28874
28939
|
return variant === "default" || variant === "question-columns";
|
|
28875
28940
|
}
|
|
28876
|
-
function isRecord$
|
|
28941
|
+
function isRecord$13(value) {
|
|
28877
28942
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28878
28943
|
}
|
|
28879
28944
|
function buildHeadingDecorationWrapperClassName(className) {
|
|
@@ -29943,7 +30008,7 @@ function applyStyleOverride(target, key, defaults) {
|
|
|
29943
30008
|
//#endregion
|
|
29944
30009
|
//#region ../blocks/src/system/runtime/blockComposition.ts
|
|
29945
30010
|
function readBlockComposition(value) {
|
|
29946
|
-
if (!isRecord$
|
|
30011
|
+
if (!isRecord$12(value) || typeof value.kind !== "string") return null;
|
|
29947
30012
|
switch (value.kind) {
|
|
29948
30013
|
case "intro": return value.treatment === "editorial-statement" || value.treatment === "portrait-bio" ? {
|
|
29949
30014
|
kind: "intro",
|
|
@@ -29956,7 +30021,7 @@ function readBlockComposition(value) {
|
|
|
29956
30021
|
default: return null;
|
|
29957
30022
|
}
|
|
29958
30023
|
}
|
|
29959
|
-
function isRecord$
|
|
30024
|
+
function isRecord$12(value) {
|
|
29960
30025
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29961
30026
|
}
|
|
29962
30027
|
//#endregion
|
|
@@ -33864,7 +33929,7 @@ function hydrateValue(value, context) {
|
|
|
33864
33929
|
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
33865
33930
|
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
33866
33931
|
}
|
|
33867
|
-
if (isRecord$
|
|
33932
|
+
if (isRecord$20(value)) {
|
|
33868
33933
|
if (isInternalLink(value)) return hydrateInternalLink(value, context.routes);
|
|
33869
33934
|
if (isPageLink(value)) return hydratePageLink(value, context);
|
|
33870
33935
|
if (isEntryLink(value)) return hydrateEntryLink(value, context);
|
|
@@ -56011,7 +56076,7 @@ function assertRelativeStoragePath(value) {
|
|
|
56011
56076
|
if (!parsed.ok) throw new Error(`Expected RelativeStoragePath, got ${parsed.error.tag}`);
|
|
56012
56077
|
return parsed.value;
|
|
56013
56078
|
}
|
|
56014
|
-
function isRecord$
|
|
56079
|
+
function isRecord$11(value) {
|
|
56015
56080
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
56016
56081
|
}
|
|
56017
56082
|
function parseFileKindJson(value) {
|
|
@@ -56232,7 +56297,7 @@ function parseEntitledCustomerAccessScopeJson(value) {
|
|
|
56232
56297
|
}
|
|
56233
56298
|
}
|
|
56234
56299
|
function requireRecord(value) {
|
|
56235
|
-
if (!isRecord$
|
|
56300
|
+
if (!isRecord$11(value)) return err("expected-object");
|
|
56236
56301
|
return ok(value);
|
|
56237
56302
|
}
|
|
56238
56303
|
function requireString(value) {
|
|
@@ -56447,7 +56512,7 @@ const DEFAULT_MESSAGES = {
|
|
|
56447
56512
|
update: "Failed to update media asset",
|
|
56448
56513
|
delete: "Failed to delete media asset"
|
|
56449
56514
|
};
|
|
56450
|
-
function isRecord$
|
|
56515
|
+
function isRecord$10(value) {
|
|
56451
56516
|
return typeof value === "object" && value !== null;
|
|
56452
56517
|
}
|
|
56453
56518
|
const normalizeLabels = (labels) => labels !== void 0 && labels.length > 0 ? labels.map((label) => label.trim()).filter((label) => label.length > 0).join(",") : void 0;
|
|
@@ -56481,7 +56546,7 @@ const filterUpdatePayload = (input) => {
|
|
|
56481
56546
|
return payload;
|
|
56482
56547
|
};
|
|
56483
56548
|
const extractErrorMessage = (body) => {
|
|
56484
|
-
if (!isRecord$
|
|
56549
|
+
if (!isRecord$10(body)) return typeof body === "string" && body.trim().length > 0 ? body : null;
|
|
56485
56550
|
for (const key of [
|
|
56486
56551
|
"error",
|
|
56487
56552
|
"message",
|
|
@@ -56494,11 +56559,11 @@ const extractErrorMessage = (body) => {
|
|
|
56494
56559
|
const details = body.details;
|
|
56495
56560
|
if (Array.isArray(details)) for (const entry of details) {
|
|
56496
56561
|
if (typeof entry === "string" && entry.trim().length > 0) return entry;
|
|
56497
|
-
if (isRecord$
|
|
56562
|
+
if (isRecord$10(entry) && typeof entry.message === "string" && entry.message.trim().length > 0) return entry.message;
|
|
56498
56563
|
}
|
|
56499
56564
|
const errors = body.errors;
|
|
56500
56565
|
if (Array.isArray(errors)) {
|
|
56501
|
-
for (const entry of errors) if (isRecord$
|
|
56566
|
+
for (const entry of errors) if (isRecord$10(entry) && typeof entry.message === "string" && entry.message.trim().length > 0) return entry.message;
|
|
56502
56567
|
}
|
|
56503
56568
|
return null;
|
|
56504
56569
|
};
|
|
@@ -57359,13 +57424,14 @@ function parseReferenceKind(referenceKind) {
|
|
|
57359
57424
|
const ButtonWidgetContext = createContext(null);
|
|
57360
57425
|
function ButtonWidgetProvider({ buttonSystem, children }) {
|
|
57361
57426
|
const value = useMemo(() => {
|
|
57427
|
+
const variants = buttonSystem ? buttonSystem.variants.flatMap((variant) => variant.enabled && isBlockButtonRole(variant.id) ? [{
|
|
57428
|
+
id: variant.id,
|
|
57429
|
+
name: variant.name,
|
|
57430
|
+
priority: variant.priority
|
|
57431
|
+
}] : []).sort((a, b) => a.priority - b.priority) : [];
|
|
57362
57432
|
return {
|
|
57363
|
-
variants
|
|
57364
|
-
|
|
57365
|
-
name: v.name,
|
|
57366
|
-
priority: v.priority
|
|
57367
|
-
})).sort((a, b) => a.priority - b.priority) : [],
|
|
57368
|
-
defaultVariant: buttonSystem?.variants.find((v) => v.priority === 1)?.id ?? null,
|
|
57433
|
+
variants,
|
|
57434
|
+
defaultVariant: variants.find((variant) => variant.priority === 1)?.id ?? variants[0]?.id ?? null,
|
|
57369
57435
|
buttonSystem
|
|
57370
57436
|
};
|
|
57371
57437
|
}, [buttonSystem]);
|
|
@@ -57389,23 +57455,11 @@ function useButtonWidgetContext() {
|
|
|
57389
57455
|
*
|
|
57390
57456
|
* Use `ui.widget: 'buttonVariant'` in field definitions to opt into this behavior.
|
|
57391
57457
|
*/
|
|
57392
|
-
const DEFAULT_VARIANTS =
|
|
57393
|
-
|
|
57394
|
-
|
|
57395
|
-
|
|
57396
|
-
|
|
57397
|
-
},
|
|
57398
|
-
{
|
|
57399
|
-
id: "secondary",
|
|
57400
|
-
name: "Secondary",
|
|
57401
|
-
priority: 2
|
|
57402
|
-
},
|
|
57403
|
-
{
|
|
57404
|
-
id: "outline",
|
|
57405
|
-
name: "Outline",
|
|
57406
|
-
priority: 3
|
|
57407
|
-
}
|
|
57408
|
-
];
|
|
57458
|
+
const DEFAULT_VARIANTS = BLOCK_BUTTON_ROLE_OPTIONS.map((option, index) => ({
|
|
57459
|
+
id: option.value,
|
|
57460
|
+
name: option.label,
|
|
57461
|
+
priority: index + 1
|
|
57462
|
+
}));
|
|
57409
57463
|
function ButtonVariantField({ path, backend, config }) {
|
|
57410
57464
|
const { value, error, setValue } = useField(path, backend);
|
|
57411
57465
|
const buttonContext = useButtonWidgetContext();
|
|
@@ -57419,7 +57473,7 @@ function ButtonVariantField({ path, backend, config }) {
|
|
|
57419
57473
|
description: config.description,
|
|
57420
57474
|
error: error?.message,
|
|
57421
57475
|
children: () => /* @__PURE__ */ jsxs(Select, {
|
|
57422
|
-
value:
|
|
57476
|
+
value: value !== "" ? value : void 0,
|
|
57423
57477
|
onValueChange: setValue,
|
|
57424
57478
|
children: [/* @__PURE__ */ jsx(SelectTrigger, { children: /* @__PURE__ */ jsx(SelectValue, { placeholder: `Select ${config.label.toLowerCase()}` }) }), /* @__PURE__ */ jsx(SelectContent, { children: options.map((opt) => /* @__PURE__ */ jsx(SelectItem, {
|
|
57425
57479
|
value: opt.value,
|
|
@@ -64374,55 +64428,6 @@ function buildPreviewDashboardSetupUrl(dashboardBaseUrl, handoff) {
|
|
|
64374
64428
|
return new URL(handoff.dashboardPath, dashboardBaseUrl).toString();
|
|
64375
64429
|
}
|
|
64376
64430
|
//#endregion
|
|
64377
|
-
//#region ../preview-next/src/client/preview/sidebarTabPreference.ts
|
|
64378
|
-
const STORAGE_KEY = "preview-sidebar-tab";
|
|
64379
|
-
const REQUEST_EVENT = "riverbank:preview-sidebar:request-open";
|
|
64380
|
-
function normalizeOpenRequest(input) {
|
|
64381
|
-
return parsePreviewSidebarOpenRequestDetail(typeof input === "string" ? { tab: input } : input);
|
|
64382
|
-
}
|
|
64383
|
-
function parsePreviewSidebarOpenRequestDetail(detail) {
|
|
64384
|
-
const request = isRecord$10(detail) ? detail : {};
|
|
64385
|
-
return {
|
|
64386
|
-
tab: resolvePreviewSidebarTab(request.tab === "assistant" ? "assistant" : "editor"),
|
|
64387
|
-
...isPreviewDesignRow(request.designRow) ? { designRow: request.designRow } : {}
|
|
64388
|
-
};
|
|
64389
|
-
}
|
|
64390
|
-
function getPreviewSidebarTab() {
|
|
64391
|
-
if (typeof window === "undefined") return "editor";
|
|
64392
|
-
try {
|
|
64393
|
-
return resolvePreviewSidebarTab(window.localStorage.getItem(STORAGE_KEY) === "assistant" ? "assistant" : "editor");
|
|
64394
|
-
} catch {
|
|
64395
|
-
return "editor";
|
|
64396
|
-
}
|
|
64397
|
-
}
|
|
64398
|
-
function setPreviewSidebarTab(tab) {
|
|
64399
|
-
if (typeof window === "undefined") return;
|
|
64400
|
-
try {
|
|
64401
|
-
window.localStorage.setItem(STORAGE_KEY, resolvePreviewSidebarTab(tab));
|
|
64402
|
-
} catch {}
|
|
64403
|
-
}
|
|
64404
|
-
function requestPreviewSidebarOpen(input) {
|
|
64405
|
-
if (typeof window === "undefined") return;
|
|
64406
|
-
const request = normalizeOpenRequest(input);
|
|
64407
|
-
setPreviewSidebarTab(request.tab);
|
|
64408
|
-
window.dispatchEvent(new window.CustomEvent(REQUEST_EVENT, { detail: request }));
|
|
64409
|
-
}
|
|
64410
|
-
function onPreviewSidebarOpenRequest(handler) {
|
|
64411
|
-
if (typeof window === "undefined") return () => void 0;
|
|
64412
|
-
const listener = (event) => {
|
|
64413
|
-
if (!("detail" in event)) return;
|
|
64414
|
-
handler(parsePreviewSidebarOpenRequestDetail(event.detail));
|
|
64415
|
-
};
|
|
64416
|
-
window.addEventListener(REQUEST_EVENT, listener);
|
|
64417
|
-
return () => window.removeEventListener(REQUEST_EVENT, listener);
|
|
64418
|
-
}
|
|
64419
|
-
function isRecord$10(value) {
|
|
64420
|
-
return typeof value === "object" && value !== null;
|
|
64421
|
-
}
|
|
64422
|
-
function isPreviewDesignRow(value) {
|
|
64423
|
-
return value === "header" || value === "footer" || value === "header-layout" || value === "header-style" || value === "footer-layout";
|
|
64424
|
-
}
|
|
64425
|
-
//#endregion
|
|
64426
64431
|
//#region ../preview-next/src/client/preview/previewChromeSurface.ts
|
|
64427
64432
|
const PREVIEW_CHROME_THEME_CLASS_NAME = "builder-dashboard-chrome-theme";
|
|
64428
64433
|
const PREVIEW_CHROME_PORTAL_CLASS_NAME = "builder-editor-chrome";
|
|
@@ -67152,6 +67157,23 @@ function PreviewAuthBanner({ dashboardBaseUrl = null, surfaceId }) {
|
|
|
67152
67157
|
})] });
|
|
67153
67158
|
}
|
|
67154
67159
|
//#endregion
|
|
67160
|
+
//#region ../preview-next/src/client/preview/sidebarTabPreference.ts
|
|
67161
|
+
const STORAGE_KEY = "preview-sidebar-tab";
|
|
67162
|
+
function getPreviewSidebarTab() {
|
|
67163
|
+
if (typeof window === "undefined") return "editor";
|
|
67164
|
+
try {
|
|
67165
|
+
return resolvePreviewSidebarTab(window.localStorage.getItem(STORAGE_KEY) === "assistant" ? "assistant" : "editor");
|
|
67166
|
+
} catch {
|
|
67167
|
+
return "editor";
|
|
67168
|
+
}
|
|
67169
|
+
}
|
|
67170
|
+
function setPreviewSidebarTab(tab) {
|
|
67171
|
+
if (typeof window === "undefined") return;
|
|
67172
|
+
try {
|
|
67173
|
+
window.localStorage.setItem(STORAGE_KEY, resolvePreviewSidebarTab(tab));
|
|
67174
|
+
} catch {}
|
|
67175
|
+
}
|
|
67176
|
+
//#endregion
|
|
67155
67177
|
//#region ../blocks/src/client/site-chrome.tsx
|
|
67156
67178
|
const siteChromeBlockRenderDeps = {
|
|
67157
67179
|
buildThemeRuntime,
|
|
@@ -67944,12 +67966,12 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
67944
67966
|
return surfaceState.options.filter((option) => option.available).length;
|
|
67945
67967
|
}, [surfaceState]);
|
|
67946
67968
|
const cycleableLayoutOptionCount = useMemo(() => {
|
|
67947
|
-
if (surfaceState.kind !== "available") return 0;
|
|
67969
|
+
if (surfaceState.kind !== "available" || surfaceState.surface !== "header") return 0;
|
|
67948
67970
|
return surfaceState.layoutOptions.filter((option) => option.available).length;
|
|
67949
67971
|
}, [surfaceState]);
|
|
67950
67972
|
const controlPlan = useMemo(() => {
|
|
67951
67973
|
if (surfaceState.kind !== "available" || !background) return { cycleRows: [] };
|
|
67952
|
-
return { cycleRows: [...surfaceState.surface === "header"
|
|
67974
|
+
return { cycleRows: [...surfaceState.surface === "header" ? [{
|
|
67953
67975
|
label: "Layout",
|
|
67954
67976
|
valueLabel: surfaceState.currentLayoutLabel,
|
|
67955
67977
|
previousLabel: `Previous ${surface} Layout`,
|
|
@@ -67958,13 +67980,13 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
67958
67980
|
canCycle: cycleableLayoutOptionCount > 1,
|
|
67959
67981
|
applyAllowed: surfaceState.applyAllowed
|
|
67960
67982
|
}),
|
|
67961
|
-
onPrevious: () => customize?.
|
|
67962
|
-
onNext: () => customize?.
|
|
67983
|
+
onPrevious: () => customize?.cycleHeaderLayout("prev"),
|
|
67984
|
+
onNext: () => customize?.cycleHeaderLayout("next")
|
|
67963
67985
|
}] : [], {
|
|
67964
|
-
label: "Look",
|
|
67986
|
+
label: surfaceState.surface === "footer" ? "Links" : "Look",
|
|
67965
67987
|
valueLabel: surfaceState.currentLabel,
|
|
67966
|
-
previousLabel:
|
|
67967
|
-
nextLabel:
|
|
67988
|
+
previousLabel: surfaceState.surface === "footer" ? "Previous footer link treatment" : "Previous header Look",
|
|
67989
|
+
nextLabel: surfaceState.surface === "footer" ? "Next footer link treatment" : "Next header Look",
|
|
67968
67990
|
availability: cycleAvailabilityFromFlags({
|
|
67969
67991
|
canCycle: cycleableOptionCount > 1,
|
|
67970
67992
|
applyAllowed: surfaceState.applyAllowed
|
|
@@ -68071,7 +68093,7 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
68071
68093
|
})]
|
|
68072
68094
|
})]
|
|
68073
68095
|
}) : null,
|
|
68074
|
-
/* @__PURE__ */ jsx("div", {
|
|
68096
|
+
editorUiStore && (surfaceState.surface === "footer" || customize?.canOpenDesignEditor === true) ? /* @__PURE__ */ jsx("div", {
|
|
68075
68097
|
className: "border-t pt-2",
|
|
68076
68098
|
children: /* @__PURE__ */ jsx("button", {
|
|
68077
68099
|
type: "button",
|
|
@@ -68079,20 +68101,19 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
68079
68101
|
onClick: (event) => {
|
|
68080
68102
|
event.preventDefault();
|
|
68081
68103
|
event.stopPropagation();
|
|
68082
|
-
if (surfaceState.surface === "footer") {
|
|
68083
|
-
|
|
68084
|
-
|
|
68085
|
-
|
|
68086
|
-
|
|
68087
|
-
|
|
68088
|
-
|
|
68089
|
-
designRow: "header-style"
|
|
68104
|
+
if (surfaceState.surface === "footer") editorUiStore.getState().openPreviewEditor({
|
|
68105
|
+
kind: "footer",
|
|
68106
|
+
target: "overview"
|
|
68107
|
+
});
|
|
68108
|
+
else editorUiStore.getState().openPreviewEditor({
|
|
68109
|
+
kind: "design",
|
|
68110
|
+
row: "header-style"
|
|
68090
68111
|
});
|
|
68091
68112
|
popover.close();
|
|
68092
68113
|
},
|
|
68093
68114
|
children: surfaceState.surface === "footer" ? "Edit footer" : "More options"
|
|
68094
68115
|
})
|
|
68095
|
-
}),
|
|
68116
|
+
}) : null,
|
|
68096
68117
|
surfaceState.diagnostics.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
68097
68118
|
className: "space-y-1 text-xs text-amber-700",
|
|
68098
68119
|
children: surfaceState.diagnostics.map((diagnostic) => /* @__PURE__ */ jsx("li", { children: diagnostic }, diagnostic))
|
|
@@ -68274,7 +68295,13 @@ function renderEditableSurface(children, surface, options) {
|
|
|
68274
68295
|
});
|
|
68275
68296
|
}
|
|
68276
68297
|
function FooterModuleInspectionSurface({ children }) {
|
|
68277
|
-
const
|
|
68298
|
+
const editorUiStore = useOptionalEditorUiStoreInstance();
|
|
68299
|
+
return editorUiStore ? /* @__PURE__ */ jsx(EnabledFooterModuleInspectionSurface, {
|
|
68300
|
+
editorUiStore,
|
|
68301
|
+
children
|
|
68302
|
+
}) : /* @__PURE__ */ jsx(Fragment$1, { children });
|
|
68303
|
+
}
|
|
68304
|
+
function EnabledFooterModuleInspectionSurface({ children, editorUiStore }) {
|
|
68278
68305
|
const rootRef = useRef(null);
|
|
68279
68306
|
const [active, setActive] = useState(null);
|
|
68280
68307
|
const [position, setPosition] = useState(null);
|
|
@@ -68304,9 +68331,10 @@ function FooterModuleInspectionSurface({ children }) {
|
|
|
68304
68331
|
});
|
|
68305
68332
|
};
|
|
68306
68333
|
const inspect = (moduleId) => {
|
|
68307
|
-
|
|
68308
|
-
|
|
68309
|
-
|
|
68334
|
+
editorUiStore.getState().openPreviewEditor({
|
|
68335
|
+
kind: "footer",
|
|
68336
|
+
target: { moduleId }
|
|
68337
|
+
});
|
|
68310
68338
|
};
|
|
68311
68339
|
return /* @__PURE__ */ jsxs("div", {
|
|
68312
68340
|
ref: rootRef,
|
|
@@ -68322,7 +68350,7 @@ function FooterModuleInspectionSurface({ children }) {
|
|
|
68322
68350
|
event.preventDefault();
|
|
68323
68351
|
inspect(parsed.value);
|
|
68324
68352
|
},
|
|
68325
|
-
children: [children, active && position
|
|
68353
|
+
children: [children, active && position ? /* @__PURE__ */ jsx("button", {
|
|
68326
68354
|
type: "button",
|
|
68327
68355
|
className: "pointer-events-auto fixed z-[75] rounded-full border bg-background px-3 py-1.5 text-xs font-medium text-foreground shadow-md",
|
|
68328
68356
|
style: position,
|
|
@@ -68570,17 +68598,17 @@ function LinkedEntryEditEventBridge() {
|
|
|
68570
68598
|
//#region ../preview-next/src/client/preview/PreviewShellLayout.tsx
|
|
68571
68599
|
const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
|
|
68572
68600
|
const PreviewEditorSidebar = React.lazy(async () => {
|
|
68573
|
-
return { default: (await import("./PreviewEditorSidebar-
|
|
68601
|
+
return { default: (await import("./PreviewEditorSidebar-CTR6LUhN.mjs")).PreviewEditorSidebar };
|
|
68574
68602
|
});
|
|
68575
68603
|
const PreviewEditorUI = React.lazy(async () => {
|
|
68576
|
-
return { default: (await import("./PreviewEditorUI-
|
|
68604
|
+
return { default: (await import("./PreviewEditorUI-DZg15Zip.mjs")).PreviewEditorUI };
|
|
68577
68605
|
});
|
|
68578
68606
|
const previewPaneContainmentStyle = {
|
|
68579
68607
|
contain: "layout paint",
|
|
68580
68608
|
isolation: "isolate",
|
|
68581
68609
|
transform: "translateZ(0)"
|
|
68582
68610
|
};
|
|
68583
|
-
function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, apiClient, bearerToken, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null,
|
|
68611
|
+
function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, apiClient, bearerToken, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, runtimePaletteState, themeSelectionHeaderLayoutId = null, themeSelectionHeaderStyleId = null, themeSelectionHeaderLookId = null, themeSelectionFooterLookId = null, themeSelectionHeaderContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime = defaultPreviewThemeRuntime, siteStyleAccess = { kind: "hidden" }, onFooterSaved }) {
|
|
68584
68612
|
const layout = useOptionalPreviewLayout();
|
|
68585
68613
|
const headerNode = layout?.headerNode ?? null;
|
|
68586
68614
|
const bannerNode = layout?.bannerNode ?? null;
|
|
@@ -68591,7 +68619,6 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68591
68619
|
const setDrawerOpen = useEditorUiStore((s) => s.setDrawerOpen);
|
|
68592
68620
|
const sidebarTab = useEditorUiStore((s) => s.previewSidebarTab);
|
|
68593
68621
|
const setPreviewSidebarActiveTab = useEditorUiStore((s) => s.setPreviewSidebarTab);
|
|
68594
|
-
const [designRowRequest, setDesignRowRequest] = useState(null);
|
|
68595
68622
|
const viewportMode = useEditorUiStore((s) => s.viewport.mode);
|
|
68596
68623
|
const viewportWidth = useEditorUiStore((s) => s.viewport.width);
|
|
68597
68624
|
const sidebarWidth = useEditorUiStore((s) => s.viewport.sidebarWidth);
|
|
@@ -68664,19 +68691,6 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68664
68691
|
useEffect(() => {
|
|
68665
68692
|
setPreviewSidebarActiveTab(getPreviewSidebarTab());
|
|
68666
68693
|
}, [setPreviewSidebarActiveTab]);
|
|
68667
|
-
useEffect(() => {
|
|
68668
|
-
return onPreviewSidebarOpenRequest((request) => {
|
|
68669
|
-
setPreviewSidebarActiveTab(request.tab);
|
|
68670
|
-
if (request.designRow) {
|
|
68671
|
-
const row = request.designRow;
|
|
68672
|
-
setDesignRowRequest((current) => ({
|
|
68673
|
-
id: (current?.id ?? 0) + 1,
|
|
68674
|
-
row
|
|
68675
|
-
}));
|
|
68676
|
-
}
|
|
68677
|
-
setDrawerOpen(true);
|
|
68678
|
-
});
|
|
68679
|
-
}, [setDrawerOpen, setPreviewSidebarActiveTab]);
|
|
68680
68694
|
const [containerWidth, setContainerWidth] = useState(0);
|
|
68681
68695
|
const [contentHeight, setContentHeight] = useState(0);
|
|
68682
68696
|
const containerObserverRef = useRef(null);
|
|
@@ -68769,15 +68783,13 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68769
68783
|
themeSelectionId,
|
|
68770
68784
|
themeSelectionVersion,
|
|
68771
68785
|
themeSelectionUpdatedAt,
|
|
68772
|
-
|
|
68786
|
+
themeSelectionButtonStyleSelection,
|
|
68773
68787
|
runtimePaletteState,
|
|
68774
68788
|
themeSelectionHeaderLayoutId,
|
|
68775
68789
|
themeSelectionHeaderStyleId,
|
|
68776
68790
|
themeSelectionHeaderLookId,
|
|
68777
68791
|
themeSelectionFooterLookId,
|
|
68778
68792
|
themeSelectionHeaderContext,
|
|
68779
|
-
themeSelectionFooterContext,
|
|
68780
|
-
designRowRequest,
|
|
68781
68793
|
supabaseUrl,
|
|
68782
68794
|
sdkConfig: sdkConfig ?? null,
|
|
68783
68795
|
activeTab: sidebarTab,
|
|
@@ -68812,6 +68824,10 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68812
68824
|
apiClient
|
|
68813
68825
|
})
|
|
68814
68826
|
});
|
|
68827
|
+
const previewBanner = /* @__PURE__ */ jsx(PreviewAuthBanner, {
|
|
68828
|
+
dashboardBaseUrl,
|
|
68829
|
+
surfaceId
|
|
68830
|
+
});
|
|
68815
68831
|
return /* @__PURE__ */ jsx(PreviewThemeOverlayProvider, {
|
|
68816
68832
|
baseTheme: theme,
|
|
68817
68833
|
children: /* @__PURE__ */ jsx(PreviewDesignCoordinatorProvider, { children: /* @__PURE__ */ jsx(SiteChromeCustomizeProvider, {
|
|
@@ -68825,7 +68841,7 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68825
68841
|
initialSelections: {
|
|
68826
68842
|
selectionVersion: themeSelectionVersion,
|
|
68827
68843
|
selectionUpdatedAt: themeSelectionUpdatedAt,
|
|
68828
|
-
|
|
68844
|
+
buttonStyleSelection: themeSelectionButtonStyleSelection,
|
|
68829
68845
|
runtimePaletteState,
|
|
68830
68846
|
headerLayoutId: themeSelectionHeaderLayoutId,
|
|
68831
68847
|
headerStyleId: themeSelectionHeaderStyleId,
|
|
@@ -68833,15 +68849,12 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68833
68849
|
footerLookId: themeSelectionFooterLookId
|
|
68834
68850
|
},
|
|
68835
68851
|
headerSelectionContext: themeSelectionHeaderContext,
|
|
68836
|
-
footerSelectionContext: themeSelectionFooterContext,
|
|
68837
68852
|
siteStyleAccess,
|
|
68853
|
+
canOpenDesignEditor: entryData == null && pageId !== null && canInspectSiteStyle(siteStyleAccess),
|
|
68838
68854
|
children: /* @__PURE__ */ jsxs(PreviewBlockCustomizeSelectionProvider, { children: [
|
|
68839
68855
|
/* @__PURE__ */ jsx(LinkedEntryEditEventBridge, {}),
|
|
68840
68856
|
editorUI,
|
|
68841
|
-
|
|
68842
|
-
dashboardBaseUrl,
|
|
68843
|
-
surfaceId
|
|
68844
|
-
}),
|
|
68857
|
+
previewBanner,
|
|
68845
68858
|
/* @__PURE__ */ jsx("div", {
|
|
68846
68859
|
className: "fixed inset-0 overflow-hidden bg-background",
|
|
68847
68860
|
children: isOpen ? /* @__PURE__ */ jsx(ResizableSplitPane, {
|
|
@@ -68864,7 +68877,7 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68864
68877
|
}
|
|
68865
68878
|
//#endregion
|
|
68866
68879
|
//#region ../preview-next/src/client/preview/PreviewShell.tsx
|
|
68867
|
-
function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl = null, surfaceId, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null,
|
|
68880
|
+
function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl = null, surfaceId, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, runtimePaletteState, themeSelectionHeaderLayoutId = null, themeSelectionHeaderStyleId = null, themeSelectionHeaderLookId = null, themeSelectionFooterLookId = null, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime = defaultPreviewThemeRuntime, designEditorEligibility, hideSiteStyleConfigurator = false, baseFetch, onFooterSaved }) {
|
|
68868
68881
|
const apiClient = useMemo(() => createBearerAPIClient(previewToken, apiBaseUrl), [previewToken, apiBaseUrl]);
|
|
68869
68882
|
const resolvedDesignEditorEligibility = designEditorEligibility ?? defaultDesignEditorEligibility({
|
|
68870
68883
|
pageId,
|
|
@@ -68921,14 +68934,13 @@ function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug,
|
|
|
68921
68934
|
themeSelectionId,
|
|
68922
68935
|
themeSelectionVersion,
|
|
68923
68936
|
themeSelectionUpdatedAt,
|
|
68924
|
-
|
|
68937
|
+
themeSelectionButtonStyleSelection,
|
|
68925
68938
|
runtimePaletteState,
|
|
68926
68939
|
themeSelectionHeaderLayoutId,
|
|
68927
68940
|
themeSelectionHeaderStyleId,
|
|
68928
68941
|
themeSelectionHeaderLookId,
|
|
68929
68942
|
themeSelectionFooterLookId,
|
|
68930
68943
|
themeSelectionHeaderContext,
|
|
68931
|
-
themeSelectionFooterContext,
|
|
68932
68944
|
supabaseUrl,
|
|
68933
68945
|
isSiteLaunched,
|
|
68934
68946
|
maintenanceModeEnabled,
|
|
@@ -69796,7 +69808,6 @@ function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, the
|
|
|
69796
69808
|
e.preventDefault();
|
|
69797
69809
|
e.stopPropagation();
|
|
69798
69810
|
const state = uiStore.getState();
|
|
69799
|
-
setPreviewSidebarTab("editor");
|
|
69800
69811
|
state.setPreviewSidebarTab("editor");
|
|
69801
69812
|
state.setDrawerOpen(true);
|
|
69802
69813
|
state.requestFocus({
|
|
@@ -69813,7 +69824,6 @@ function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, the
|
|
|
69813
69824
|
e.stopPropagation();
|
|
69814
69825
|
inspectBlock();
|
|
69815
69826
|
const state = uiStore.getState();
|
|
69816
|
-
setPreviewSidebarTab("editor");
|
|
69817
69827
|
state.setPreviewSidebarTab("editor");
|
|
69818
69828
|
state.setDrawerOpen(true);
|
|
69819
69829
|
}, [inspectBlock, uiStore]);
|
|
@@ -71407,4 +71417,4 @@ function deriveDashboardBaseUrlFromApiBaseUrl(apiBaseUrl) {
|
|
|
71407
71417
|
}
|
|
71408
71418
|
}
|
|
71409
71419
|
//#endregion
|
|
71410
|
-
export {
|
|
71420
|
+
export { generateFontFaceCss as C, Callout as D, FixedBottomSurface as E, CalloutDescription as O, buildFontPreviewUrl as S, ThemeScope as T, useBlockCustomizeControls as _, usePreviewPageDesignEditorState as a, BlockEditor as b, applyPreviewChromeSurfaceToElement as c, resolvePreviewDashboardSetupHandoff as d, resolvePreviewEditorGuidanceModel as f, usePreviewBlockCustomizeSelectionOptional as g, canInspectSiteStyle as h, PreviewShellLayout as i, resolvePreviewChromeSurface as l, canApplySiteStyle as m, SdkPreviewModeRuntime_exports as n, PREVIEW_CHROME_PORTAL_CLASS_NAME as o, resolvePreviewSidebarChromeModel as p, PreviewShell as r, PREVIEW_CHROME_THEME_CLASS_NAME as s, SdkPreviewModeRuntime as t, buildPreviewDashboardSetupUrl as u, PreviewFormProvider as v, getSiteFontsStorageUrl as w, isAdapterReferenceKind as x, previewWidgetOverrides as y };
|