@riverbankcms/sdk 0.102.0 → 0.103.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/README.md +10 -2
- package/dist/{PreviewEditorSidebar-BKkhhkJk.mjs → PreviewEditorSidebar-DkNpCPja.mjs} +75 -9
- package/dist/{PreviewEditorUI-DIvTqcqI.mjs → PreviewEditorUI-DeNKtqk3.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-CA2k7Z_T.mjs → SdkPreviewModeRuntime-5bCsXK2y.mjs} +572 -285
- package/dist/{SiteChromeCustomizeContext-Bh9-DtMQ.mjs → SiteChromeCustomizeContext-CO1sTK_W.mjs} +336 -36
- package/dist/_dts/ai/src/contracts/proposals.d.ts +298 -298
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/navigation/contracts.d.ts +6 -6
- package/dist/_dts/api/src/siteBanner.d.ts +2 -2
- package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -1
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +7 -7
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +14 -14
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +5 -5
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +227 -227
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
- package/dist/_dts/blocks/src/system/inlineText.d.ts +2 -2
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +177 -177
- package/dist/_dts/blocks/src/system/node/schema.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +154 -18
- package/dist/_dts/db/src/schemas/forms.d.ts +15 -15
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/CustomizeColorTokenPicker.d.ts +27 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +10 -2
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +16 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +2 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +10 -10
- package/dist/_dts/sdk/src/next/revalidate.d.ts +14 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -4
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +19 -19
- package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/buttons/types.d.ts +7 -7
- package/dist/_dts/theme-core/src/cards/types.d.ts +6 -6
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +150 -144
- package/dist/_dts/theme-core/src/navigation/types.d.ts +6 -6
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/schema.d.ts +199 -169
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +24 -24
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +26 -1
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +77 -0
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +44 -0
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/_dts/ui/src/toggle.d.ts +2 -2
- package/dist/cli/index.mjs +28 -7
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +9 -1
- package/dist/client/client.mjs +337 -69
- package/dist/client/hooks.mjs +13 -1
- package/dist/client/rendering/client.mjs +25 -4
- package/dist/client/rendering.mjs +336 -68
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-K8Oqj97H.mjs → sdk-runtime-C8whifOy.mjs} +1 -1
- package/dist/{separator-CRoP34pT.mjs → separator-CM2C5Axs.mjs} +1 -1
- package/dist/server/components.mjs +321 -65
- package/dist/server/config-validation.mjs +12 -1
- package/dist/server/config.mjs +12 -1
- package/dist/server/data.mjs +12 -1
- package/dist/server/index.mjs +1 -1
- package/dist/server/next/revalidate.mjs +31 -1
- package/dist/server/next.mjs +325 -66
- package/dist/server/page-converter.mjs +12 -1
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +323 -65
- package/dist/server/rendering.mjs +323 -65
- package/dist/server/routing.mjs +24 -3
- package/dist/server/server.mjs +15 -2
- package/dist/server/theme-bridge.mjs +153 -32
- package/dist/server/theme.mjs +2 -0
- package/dist/styles/index.css +123 -30
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { $ as PreviewRichTextEditor, $a as bindingSchema, $c as useBlockContext, $d as ChevronLeft, $i as getComponentBorderWidthPx, $l as DropdownMenuContent, $n as buildEventCalendarListingRender, $o as assertNever$6, $r as ctaCopyFragment, $s as UploadIcon, $t as deleteEntrySlotBlock, $u as unsafeAsCustomerPassId, Aa as isSemanticSpacing, Ac as getImageUrl, Ad as Image, Al as Root2$1, An as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Ao as formatTime$3, Ar as formatCommercePrice, As as CalendarIcon$1, At as createRoutingHelpers, Au as formatBookingDate, Ba as normalizeOptionalId, Bc as TokenResolver, Bi as sectionTransitionVariantForBoundaryOptionId, Bl as Collapsible, Bn as isInternalResolvedLinkValue, Bo as blockBookingPaymentTermsSchema, Br as augmentManifestWithStyleGroups, Bs as ExternalLinkIcon, Bt as ManifestForm, Bu as formatBookingPriceDisplay, Ca as isOfferingsPreviewSourceKey, Cc as isRotationDimensionSwap, Cd as Pencil, Ci as planPageDesignLayoutLookCompatibility, Cl as Input, Cn as isSupportedLoaderEndpoint, Co as toLocationMapHydrationProps, Cr as buildProductDetailInteractiveIslandProps, Cs as resolveIconPickerPreset, Ct as pushHistoryEntry, Cu as clsx, Da as resolveOfferingsPreviewGroupCta, Dc as resolveMediaTransformForAspect, Dd as Minus, Di as getCuratedSiteStyle, Dl as TabsTrigger, Dn as listBlockDescriptors, Do as formatEventPrice, Dr as buildCartDisplay, Ds as ArrowDownIcon, Dt as recordsEqual, Du as unsafeAsEditorBlockId, Ea as resolveOfferingsPreviewCoursePath, Ec as parseAspectRatioValue, Ei as designRuntimeRulesForTheme, El as TabsList, En as getBlockDefinition, Eo as formatEventDateParts, Er as getShopDisplayForItems, Es as isSemanticIconId, Et as unsafeAsLinkedContentEntryId, Eu as createEditorReorderBlocksCommand, Fa as getEventRuntimeFiltersKey, Fc as generateButtonCss, Fd as FileText, Fl as DialogContent, Fn as mediaTransforms, Fo as resolveEventLinkProps, Fr as deriveCommerceCheckoutState, Fs as ChevronUpIcon, Ft as PaletteProvider, Fu as getBookingLocalDateKey, G as beginAutosaveBatch, Ga as eventLayoutSchema, Gc as mergeStyles, Gd as Copy, Gi as parseBackgroundAppearanceColorToken, Gl as Trigger, Gn as productDetailBlockDefinition, Go as defineClientOwnedBlockRuntime, Gr as faqHeadingFragment, Gs as InfoIcon, Gt as createStoreBackend, Gu as publicEventTicketTypes, Ha as columnOptionSchema, Hc as themeButtonClassName, Hd as EllipsisVertical, Hi as backgroundAppearanceColorTokenNames, Hn as useImageResolveContextOptional, Ho as createInteractiveIslandCodec, Hr as headingFragment, Hs as FileAudioIcon, Hu as publicEventPricingMode, Ia as resolveEventCalendarListPageSize, Ic as generateEffectsCSS, Id as FileSpreadsheet, Il as DialogDescription, In as layoutTransforms, Io as getEventAvailability, Ir as parseStoredCommerceCartState, Is as CircleMinusIcon, It as usePalette, Iu as parseBookingLocalDate, J as enqueueTransaction, Ja as weekStartSchema, Jc as useBackendWatch, Jd as CircleCheck, Jl as CardContent, Jn as eventListingBlockDefinition, Jo as composeHeaderSectionWrapperClassName, Jr as footerBottomTextFragment, Js as MinusIcon, Jt as applyPageDesignEditorAction, Ju as expectParsedBrandedId, K as confirmAutosaveBatch, Ka as filterAutoShowSchema, Kc as rgbColorValue, Kd as CirclePlus, Ki as defaultThemeTokens, Kl as createCollapsibleScope, Kn as newsletterSignupBlockDefinition, Ko as defineProgressiveBlockRuntime, Kr as blogFeaturedPostFragment, Ks as MailIcon, Kt as listContentTypes, Ku as formatCurrencyAmount, La as resolveEventListPaginationAction, Lc as generateShadowValue$1, Ld as FilePlay, Li as defaultSectionTransitionVariantForFamily, Ll as DialogFooter, Ln as uiTransforms, Lo as getLocalDateKey, Lr as productItemKey, Ls as CirclePlusIcon, Lt as recoveryConflictCopy, Lu as resolveBookingTimeZoneId, Ma as buildEventRuntimeFilters, Mc as siblingPath$1, Md as ImagePlus, Ml as ScrollableDialogContent, Mn as planSiteOverlayHeaderClearance, Mo as getContainerClass, Mr as EMPTY_COMMERCE_CART_STATE, Ms as ChevronDownIcon, Mu as formatBookingInstant, Na as eventListPaginationActionSchema, Nd as GripVertical, Nl as Dialog, Nn as visibleHeaderClearancePx, No as groupEventsByDate, Nr as buildPassCartItem, Ns as ChevronLeftIcon, Nu as formatBookingTime, Oa as resolveOfferingsPreviewGroupOrderEntries, Oc as asRecord, Oi as surfaceResolutionContextFromTheme, Ol as Content$1, On as siteFooterManifest, Oo as formatEventPriceDisplay, Or as buildProductCardDisplay, Os as ArrowLeftIcon, Ou as unsafeAsEditorBlockValues, Pa as eventPageSizeSchema, Pd as File, Pl as DialogClose, Pn as contentTransforms, Po as resolveEventCta, Pr as buildProductCartItem, Ps as ChevronRightIcon, Pu as formatLocalScheduleDate, Q as resolvePreviewSidebarTab, Qa as when, Qc as isNonEmptyValue, Qd as ChevronRight, Qi as pageDesignEditorBackgroundOverrideOwner, Ql as DropdownMenu, Qn as buildEventCalendarListingDisplay, Qo as asDesignBlockId, Qr as testimonialsHeadingFragment, Qs as ShoppingCartIcon, Qt as deleteBlock, Qu as unsafeAsAppointmentServiceId, Ra as normalizeCsvIds, Rc as generateBaseInteractiveCSS, Rd as FileHeadphone, Ri as sectionTransitionFamilies, Rl as DialogHeader, Rn as formattingTransforms, Ro as getLocalMinuteOfDay, Rr as reduceCommerceCart, Rs as ClockIcon$1, Rt as unfinishedBlockCopy, Ru as toBookingTimeZone, Sa as inferLegacyOfferingsPreviewGroupOrder, Sc as attachRenderableMediaAssetFields, Sd as Plus, Si as normalEditorCuratedPromotedFieldPaths, Sl as PopoverTrigger, Sn as useUniqueId, So as normalizeLocationMapProps, Sr as buildCheckoutInteractiveIslandProps, Ss as isIconPickerPreset, St as createHistoryState, Su as cn$1, Ta as normalizeOfferingsPreviewItemLimit, Tc as formatAspectRatioToken, Tl as TabsContent, Tn as GRADIENT_PRESETS, To as formatEventCompactDateRail, Tr as buildShopInteractiveIslandProps, Ts as getSemanticIconComponent, Tt as undoHistory, Tu as createEditorRemoveBlockCommand, Ua as eventButtonVariantSchema, Uc as backgroundColorStyle, Ud as Crop, Ui as backgroundAppearanceQuickColorTokenNames, Ul as Content, Un as shopBlockDefinition, Uo as defineInteractiveIslandMetaKeys, Ur as cardFragment, Us as FileSpreadsheetIcon, Ut as FormRenderer, Uu as publicEventPricingType, Va as calendarTabViewsSchema, Vc as parseThemeButtonVariantId, Vd as EyeOff, Vi as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, Vl as CollapsibleContent, Vn as ImageResolveContextProvider, Vo as buildInteractiveIslandProps, Vr as richTextFragment, Vs as FileArchiveIcon, Vt as createManifestFormAdapter, Vu as publicEventPricingCurrency, Wa as eventCalendarDefaultViewSchema, Wc as borderColorStyle, Wd as CreditCard, Wi as foregroundTokenForBackgroundAppearanceColorToken, Wl as Root, Wn as productListBlockDefinition, Wo as createZodCodec, Wr as faqAccordionFragment, Ws as FileTextIcon, Wt as evaluateVisibility, Wu as publicEventScalarPrice, X as rejectAutosaveBatch, Xa as eventCalendarListLayoutOptions, Xc as getModalConfig, Xd as ChevronsUpDown, Xi as isThemeV2NormalEditorRawStyleFieldName, Xl as CardTitle, Xn as eventCalendarBlockDefinition, Xo as splitPositioningClasses, Xr as formCopyFragment, Xs as PlayIcon, Xt as createBlock, Xu as parseSiteId, Y as idleEditorTransactionQueueState, Ya as eventCalendarListLayoutCompatibleDisplayModeValues, Yc as getFieldIntent, Yd as CircleAlert, Yl as CardHeader, Yn as buildEventListingInteractiveIslandProps, Yo as markEditableSurfaceForwarding, Yr as formEmbedFragment, Ys as PhoneIcon, Yt as getPageDesignEditorState, Yu as parseMediaAssetId, Za as el, Zc as isHeaderField, Zd as ChevronUp, Zi as isThemeV2NormalEditorRawStylePath, Zn as buildEventCalendarInteractiveIslandProps, Zo as planSiteChromePlacement, Zr as testimonialsCarouselFragment, Zs as PlusIcon, Zt as createEntrySlotBlock, Zu as unsafeAsAppointmentResourceId, _c as resolveMediaNodeResponsiveImage, _i as formatSiteChromeBackgroundTokenLabel, _l as SelectValue, _n as useSensors, _o as resolveOnColorForThemeToken, _r as courseRegistrationBlockDefinition, _s as getBlockIconSemanticFallbackId, _t as useEditorUiStore, _u as composeEventHandlers, aa as NAV_LINK_PADDING_MAP, ac as coerceInlineTextWithFallback, ad as err$2, af as Archive, ai as PUBLIC_FILE_FIELD_KINDS, al as unmapValueFromSelect, an as DEFAULT_LAUNCH_READINESS_INPUT, ao as normalizeEventScheduleScope, ar as findEventByOccurrenceId, as as ICON_SIZE_PX, at as getRichTextImagePositionFromTarget, au as __awaiter, ba as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, bc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, bd as RotateCcw, bi as buildEditorModelRuntimeFieldsByBlockId, bl as Popover, bn as useCombinedRefs, bo as featuresFromHex, br as cartBlockDefinition, bs as resolveBlockIconRenderValue, bt as canRedoHistory, bu as cva, ca as FONT_WEIGHT_MAP, cc as parseInlineTextFromUnknown, cd as X, cf as __toESM, ci as MQ_MD_DOWN, cl as Tooltip, cn as DndContext, co as normalizeEventSurfaceScope, cr as resolveEventRequiresPayment, cs as FEATURE_CARD_ICON_TREATMENTS, ct as EditorProvider, cu as __read, da as LABEL_FONT_SIZE_MAP, dc as buildResolveImageUrlContext, di as MQ_TABLET_ONLY, dl as TooltipTrigger, dn as closestCenter, do as generateCardCss, dr as getStepNumber$1, ds as getFeatureCardIconCompletion, dt as useUISelector, du as __spreadArrays, ea as getComponentShadowVar, ec as XIcon, ed as unsafeAsFormId, ef as ChevronDown, ei as heroCtaRowFragment, el as SdkConfigProvider, eo as eventBlockKindValues, er as formBlockDefinition, es as ACCORDION_OPEN_ACCENT_THICKNESS, et as PreviewInlineTextEditor, eu as DropdownMenuItem, fa as expandPalette, fc as computeMediaTransformStyle, fd as Trash2, fi as BACKGROUND_POSITION_PRESET_VALUES, fl as Textarea, fn as getClientRect, fo as statusMutedColorDeclaration, fr as getWizardStepsForContext$1, fs as shouldReserveFeatureCardIconZone, ft as EditableBlockProvider, fu as useId$1, g as PreviewDesignCoordinatorProvider, ga as ctaButton, gc as resolveImageUrlWithContext, gd as Sparkles, gi as resolveBackgroundColorValue, gl as SelectTrigger, gn as useSensor, go as isCssColorLiteral, gr as buildGiftingInteractiveIslandProps, gs as buildGeneratedBlockIconRenderAssetLookupFromUnknown, gu as createContextScope, ha as runTransforms, hc as renderVideo, hd as Star, hi as resolveSectionForegroundStyles, hl as SelectItem, hn as useDroppable, ho as normalizeCardVariantRole, hr as giftingBlockDefinition, hs as toFeatureCardIconSuggestionInputs, ht as useEntryEditorController, hu as useControllableState, i as usePreviewDesignHistoryOrder, ia as NAV_LINK_LETTER_SPACING_MAP, ic as isRecord$18, id as unsafeAsPositiveSeconds, if as ArrowDown, ii as defineFragment, il as mapOptionValueForSelect, in as decodePublicProductCategorySelectorQuery, io as normalizeEventCategoryIdsCsv, ir as toRegistrationEvents, is as ICON_CONFIG, it as RichTextEditorSurface, iu as __assign, ja as resolveSpacing, jc as getAtPath, jd as ImageUp, jl as Trigger$1, jn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, jo as getCardOrientation, jr as formatInterval, js as CheckIcon$1, jt as createSnapshotFromPageRecord, ju as formatBookingDateTime, ka as resolveOfferingsPreviewGroups, kc as getDirectImageUrlForMediaAsset, kd as LoaderCircle, kl as List, kn as siteHeaderManifest, ko as formatEventTeacherLine, kr as buildProductDetailDisplay, ks as ArrowRightIcon, kt as useDebouncedLatestSave, ku as addLocalScheduleDays, la as INPUT_FONT_SIZE_MAP, lc as ImagePresets, ld as Upload, li as MQ_SM_DOWN, ll as TooltipContent, ln as KeyboardCode, lo as normalizeEventVenueId, lr as resolveRegistrationTarget, ls as applyFeatureCardIconSuggestions, lt as useEditor, lu as __rest, ma as createTransformRegistry, mc as renderAudio, mi as boxStylesTransforms, ml as SelectContent, mn as useDraggable, mo as normalizeBoxStylesCardVariant, mr as resolveEventRegistrationScopedEvents, ms as suggestSemanticIconForFeatureCard, mu as createCollection, n as useSiteChromeCustomizeOptional, na as parseCustomCssRules, nc as unwrapRichTextRoot, nd as unsafeAsPassId, nf as Box, ni as heroCopyFragment, nl as hasEmptyOption, nn as reorderBlocks, no as eventSurfaceScopeValues, nr as eventRegistrationBlockDefinition, ns as ACCORDION_TRIGGER_FONT_SCALE, nt as useRichTextEditor, nu as DropdownMenuSeparator, oa as NAV_LINK_PADDING_X_MAP, oc as inlineTextToPlainText, od as ok$3, of as __commonJSMin, oi as siteOptionSources, ol as FieldFrame, on as deriveLaunchReadiness, oo as normalizeEventStaffMemberId, or as findPreSelectedEvent, os as PUBLIC_DOWNLOAD_MEDIA_TYPES, ot as insertOrReplaceRichTextImage, ou as __extends, pa as generateCssVars, pc as getCurrentResolveImageUrlContext, pd as Ticket, pi as getAnchorClasses, pl as Select, pn as useDndContext, po as generateShadowValue, pr as normalizeEventRegistrationPageSurfaceSubject, ps as suggestFeatureCardSemanticIcons, pt as EntryControllerProvider, pu as useDirection, q as deriveTransactionCapabilities, qa as previewStageSchema, qc as textColorStyle, qd as CircleMinus, ql as Card, qn as buildNewsletterFormInteractiveIslandProps, qr as singleButtonFragment, qs as MapPinIcon$1, qt as toRoutableLinkPayload, qu as assertNever$5, r as PreviewDesignHistoryOrderProvider, ra as NAV_LINK_BORDER_RADIUS_MAP, rc as isObjectRecord, rd as unsafeAsPositiveByteCount$1, rf as ArrowUp, ri as bodyCopyFragment, rl as mapCurrentValueForSelect, rn as reorderEntrySlotBlocks, ro as normalizeEventBlockKind, rr as buildEventRegistrationInteractiveIslandProps, rs as ACCORDION_TRIGGER_LETTER_SPACING, rt as EMPTY_DOC, ru as DropdownMenuTrigger, sa as NAV_LINK_TEXT_SIZE_MAP, sc as isInlineTextEmpty, sd as lucide_react_exports, sf as __exportAll, si as MQ_LG_UP, sl as useField, sn as AMBIENT_BACKGROUND_ROLES$1, so as normalizeEventSurfacePresetsCsv, sr as resolveDiscountContext, ss as mediaSchema, st as InlineTextEditor, su as __generator, t as SiteChromeCustomizeProvider, ta as parseBlockCustomCssRules, tc as createRichTextDocFromMarkdown, td as unsafeAsMediaAssetId, tf as Check, ti as ctaRowFragment, tl as useSdkConfig, tn as mutateBlockContent, to as eventScheduleScopeValues, tr as buildFormInteractiveIslandProps, ts as ACCORDION_SPACING_MAP, tt as PreviewTextEditor, ua as INPUT_SPACING_MAP, uc as MediaPlaceholder, ui as MQ_SM_UP, ul as TooltipProvider, un as PointerSensor, uo as publicEventSchema, ur as WIZARD_STEPS$1, us as createFeatureCardIconKey, uu as __spreadArray, v as PreviewThemeOverlayProvider, vc as resolveMediaStorageUrl, vd as Settings, vi as PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, vl as Label, vn as CSS, vo as resolveTokenOrCssColorValue, vr as buildCourseRegistrationInteractiveIslandProps, vs as getGeneratedBlockIconStyleState, vt as useEditorUiStoreInstance, vu as Primitive, wa as normalizeOfferingsPreviewGroupOrder, wc as normalizeRightAngle, wi as resolveVisiblePromotedFieldPathsForEditorBlock, wl as Tabs, wn as gradientToCss, wo as formatDate$3, wr as buildProductListInteractiveIslandProps, ws as SEMANTIC_ICON_DEFINITIONS, wt as redoHistory, wu as createEditorInsertBlockCommand, xa as buildOfferingsPreviewRenderStates, xc as resolveMediaSlotContract, xi as retargetCompiledRuntimeFieldsForContentAdjacency, xl as PopoverContent, xn as useIsomorphicLayoutEffect, xo as buildGoogleMapsDirectionsUrl, xr as buildCartInteractiveIslandProps, xs as parseSiteIconStyleGuideVersionId, xt as canUndoHistory, xu as useComposedRefs, y as usePreviewThemeOverlay, yc as setContextResolveImageUrlContext, yd as Search, yi as applyCompiledRuntimeFieldsToContent, yl as Badge, yn as isKeyboardEvent, yo as getTextColorForBackground, yr as checkoutBlockDefinition, ys as parseBlockIconValue, yt as useOptionalEditorUiStoreInstance, yu as Button, za as normalizeCsvString, zc as generateInteractiveChildInheritanceCSS, zd as FileArchive, zi as sectionTransitionFamilyForBoundaryOptionId, zl as DialogTitle, zn as createManifestValidator, zo as resolveRuntimeEventPricing, zr as augmentManifest, zs as DownloadIcon, zt as validateBlockManifestIssues, zu as toScheduledBookingDateTime } from "./SiteChromeCustomizeContext-Bh9-DtMQ.mjs";
|
|
2
|
+
import { $ as PreviewRichTextEditor, $a as eventCalendarListLayoutOptions, $c as getModalConfig, $d as ChevronsUpDown, $i as isThemeV2NormalEditorRawStyleFieldName, $l as CardTitle, $n as buildEventCalendarListingRender, $o as splitPositioningClasses, $r as ctaCopyFragment, $s as PlayIcon, $t as deleteEntrySlotBlock, $u as parseSiteId, Aa as resolveOfferingsPreviewGroupCta, Ac as resolveMediaTransformForAspect, Ad as Minus, Ai as surfaceResolutionContextFromTheme, Al as TabsTrigger, An as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Ao as formatEventPrice, Ar as formatCommercePrice, As as ArrowDownIcon, At as createRoutingHelpers, Au as unsafeAsEditorBlockId, Ba as resolveEventListPaginationAction, Bc as generateShadowValue$1, Bd as FilePlay, Bi as defaultSectionTransitionVariantForFamily, Bl as DialogFooter, Bn as isInternalResolvedLinkValue, Bo as getLocalDateKey, Br as augmentManifestWithStyleGroups, Bs as CirclePlusIcon, Bt as ManifestForm, Bu as resolveBookingTimeZoneId, Ca as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Cc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Cd as RotateCcw, Ci as retargetCompiledRuntimeFieldsForContentAdjacency, Cl as Popover, Cn as isSupportedLoaderEndpoint, Co as featuresFromHex, Cr as buildProductDetailInteractiveIslandProps, Cs as resolveBlockIconRenderValue, Ct as pushHistoryEntry, Cu as cva, Da as normalizeOfferingsPreviewGroupOrder, Dc as normalizeRightAngle, Dl as Tabs, Dn as listBlockDescriptors, Do as formatDate$3, Dr as buildCartDisplay, Ds as SEMANTIC_ICON_DEFINITIONS, Dt as recordsEqual, Du as createEditorInsertBlockCommand, Ea as isOfferingsPreviewSourceKey, Ec as isRotationDimensionSwap, Ed as Pencil, Ei as resolveVisiblePromotedFieldPathsForEditorBlock, El as Input, En as getBlockDefinition, Eo as toLocationMapHydrationProps, Er as getShopDisplayForItems, Es as resolveIconPickerPreset, Et as unsafeAsLinkedContentEntryId, Eu as clsx, Fa as buildEventRuntimeFilters, Fc as siblingPath$1, Fd as ImagePlus, Fl as ScrollableDialogContent, Fn as mediaTransforms, Fo as getContainerClass, Fr as deriveCommerceCheckoutState, Fs as ChevronDownIcon, Ft as PaletteProvider, Fu as formatBookingInstant, G as beginAutosaveBatch, Ga as columnOptionSchema, Gc as themeButtonClassName, Gd as EllipsisVertical, Gi as backgroundAppearanceColorTokenNames, Gn as productDetailBlockDefinition, Go as createInteractiveIslandCodec, Gr as faqHeadingFragment, Gs as FileAudioIcon, Gt as createStoreBackend, Gu as publicEventPricingMode, Ha as normalizeCsvString, Hc as generateInteractiveChildInheritanceCSS, Hd as FileArchive, Hi as sectionTransitionFamilyForBoundaryOptionId, Hl as DialogTitle, Hn as useImageResolveContextOptional, Ho as resolveRuntimeEventPricing, Hr as headingFragment, Hs as DownloadIcon, Hu as toScheduledBookingDateTime, Ia as eventListPaginationActionSchema, Id as GripVertical, Il as Dialog, In as layoutTransforms, Io as groupEventsByDate, Ir as parseStoredCommerceCartState, Is as ChevronLeftIcon, It as usePalette, Iu as formatBookingTime, J as enqueueTransaction, Ja as eventLayoutSchema, Jc as mergeStyles, Jd as Copy, Ji as parseBackgroundAppearanceColorToken, Jl as Trigger, Jn as eventListingBlockDefinition, Jo as defineClientOwnedBlockRuntime, Jr as footerBottomTextFragment, Js as InfoIcon, Jt as applyPageDesignEditorAction, Ju as publicEventTicketTypes, K as confirmAutosaveBatch, Ka as eventButtonVariantSchema, Kc as backgroundColorStyle, Kd as Crop, Ki as backgroundAppearanceQuickColorTokenNames, Kl as Content, Kn as newsletterSignupBlockDefinition, Ko as defineInteractiveIslandMetaKeys, Kr as blogFeaturedPostFragment, Ks as FileSpreadsheetIcon, Kt as listContentTypes, Ku as publicEventPricingType, La as eventPageSizeSchema, Ld as File, Ll as DialogClose, Ln as uiTransforms, Lo as resolveEventCta, Lr as productItemKey, Ls as ChevronRightIcon, Lt as recoveryConflictCopy, Lu as formatLocalScheduleDate, Ma as resolveOfferingsPreviewGroups, Mc as getDirectImageUrlForMediaAsset, Md as LoaderCircle, Ml as List, Mn as planSiteOverlayHeaderClearance, Mo as formatEventTeacherLine, Mr as EMPTY_COMMERCE_CART_STATE, Ms as ArrowRightIcon, Mu as addLocalScheduleDays, Na as isSemanticSpacing, Nc as getImageUrl, Nd as Image, Nl as Root2$1, Nn as visibleHeaderClearancePx, No as formatTime$3, Nr as buildPassCartItem, Ns as CalendarIcon$1, Nu as formatBookingDate, Oa as normalizeOfferingsPreviewItemLimit, Oc as formatAspectRatioToken, Oi as designRuntimeRulesForTheme, Ol as TabsContent, On as siteFooterManifest, Oo as formatEventCompactDateRail, Or as buildProductCardDisplay, Os as getSemanticIconComponent, Ou as createEditorRemoveBlockCommand, Pa as resolveSpacing, Pc as getAtPath, Pd as ImageUp, Pl as Trigger$1, Pn as contentTransforms, Po as getCardOrientation, Pr as buildProductCartItem, Ps as CheckIcon$1, Pu as formatBookingDateTime, Q as resolvePreviewSidebarTab, Qa as eventCalendarListLayoutCompatibleDisplayModeValues, Qc as getFieldIntent, Qd as CircleAlert, Ql as CardHeader, Qn as buildEventCalendarListingDisplay, Qo as markEditableSurfaceForwarding, Qr as testimonialsHeadingFragment, Qs as PhoneIcon, Qt as deleteBlock, Qu as parseMediaAssetId, Ra as getEventRuntimeFiltersKey, Rc as generateButtonCss, Rd as FileText, Rl as DialogContent, Rn as formattingTransforms, Ro as resolveEventLinkProps, Rr as reduceCommerceCart, Rs as ChevronUpIcon, Rt as unfinishedBlockCopy, Ru as getBookingLocalDateKey, Sc as setContextResolveImageUrlContext, Sd as Search, Si as retargetCompiledBoundaryRuntimeForContentAdjacency, Sl as Badge, Sn as useUniqueId, So as getTextColorForBackground, Sr as buildCheckoutInteractiveIslandProps, Ss as parseBlockIconValue, St as createHistoryState, Su as Button, Ta as inferLegacyOfferingsPreviewGroupOrder, Tc as attachRenderableMediaAssetFields, Td as Plus, Ti as planPageDesignLayoutLookCompatibility, Tl as PopoverTrigger, Tn as GRADIENT_PRESETS, To as normalizeLocationMapProps, Tr as buildShopInteractiveIslandProps, Ts as isIconPickerPreset, Tt as undoHistory, Tu as cn$1, Ua as normalizeOptionalId, Uc as TokenResolver, Ui as sectionTransitionVariantForBoundaryOptionId, Ul as Collapsible, Un as shopBlockDefinition, Uo as blockBookingPaymentTermsSchema, Ur as cardFragment, Us as ExternalLinkIcon, Ut as FormRenderer, Uu as formatBookingPriceDisplay, Va as normalizeCsvIds, Vc as generateBaseInteractiveCSS, Vd as FileHeadphone, Vi as sectionTransitionFamilies, Vl as DialogHeader, Vn as ImageResolveContextProvider, Vo as getLocalMinuteOfDay, Vr as richTextFragment, Vs as ClockIcon$1, Vt as createManifestFormAdapter, Vu as toBookingTimeZone, Wa as calendarTabViewsSchema, Wc as parseThemeButtonVariantId, Wd as EyeOff, Wi as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, Wl as CollapsibleContent, Wn as productListBlockDefinition, Wo as buildInteractiveIslandProps, Wr as faqAccordionFragment, Ws as FileArchiveIcon, Wt as evaluateVisibility, Wu as publicEventPricingCurrency, X as rejectAutosaveBatch, Xa as previewStageSchema, Xc as textColorStyle, Xd as CircleMinus, Xl as Card, Xn as eventCalendarBlockDefinition, Xr as formCopyFragment, Xs as MapPinIcon$1, Xt as createBlock, Xu as assertNever$5, Y as idleEditorTransactionQueueState, Ya as filterAutoShowSchema, Yc as rgbColorValue, Yd as CirclePlus, Yi as defaultThemeTokens, Yl as createCollapsibleScope, Yn as buildEventListingInteractiveIslandProps, Yo as defineProgressiveBlockRuntime, Yr as formEmbedFragment, Ys as MailIcon, Yt as getPageDesignEditorState, Yu as formatCurrencyAmount, Za as weekStartSchema, Zc as useBackendWatch, Zd as CircleCheck, Zl as CardContent, Zn as buildEventCalendarInteractiveIslandProps, Zo as composeHeaderSectionWrapperClassName, Zr as testimonialsCarouselFragment, Zs as MinusIcon, Zt as createEntrySlotBlock, Zu as expectParsedBrandedId, _a as createTransformRegistry, _c as renderAudio, _i as mergeHeaderNavTypographyPreference, _l as SelectContent, _n as useSensors, _o as normalizeBoxStylesCardVariant, _r as courseRegistrationBlockDefinition, _s as suggestSemanticIconForFeatureCard, _t as useEditorUiStore, _u as createCollection, aa as parseCustomCssRules, ac as unwrapRichTextRoot, ad as unsafeAsPassId, af as Box, ai as PUBLIC_FILE_FIELD_KINDS, al as hasEmptyOption, an as DEFAULT_LAUNCH_READINESS_INPUT, ao as eventSurfaceScopeValues, ar as findEventByOccurrenceId, as as ACCORDION_TRIGGER_FONT_SCALE, at as getRichTextImagePositionFromTarget, au as DropdownMenuSeparator, bc as resolveMediaNodeResponsiveImage, bi as applyCompiledRuntimeFieldsToContent, bl as SelectValue, bn as useCombinedRefs, bo as resolveOnColorForThemeToken, br as cartBlockDefinition, bs as getBlockIconSemanticFallbackId, bt as canRedoHistory, bu as composeEventHandlers, ca as NAV_LINK_PADDING_MAP, cc as coerceInlineTextWithFallback, cd as err$2, cf as Archive, ci as MQ_MD_DOWN, cl as unmapValueFromSelect, cn as DndContext, co as normalizeEventScheduleScope, cr as resolveEventRequiresPayment, cs as ICON_SIZE_PX, ct as EditorProvider, cu as __awaiter, da as FONT_WEIGHT_MAP, dc as parseInlineTextFromUnknown, dd as X, df as __toESM, di as MQ_TABLET_ONLY, dl as Tooltip, dn as closestCenter, do as normalizeEventSurfaceScope, dr as getStepNumber$1, ds as FEATURE_CARD_ICON_TREATMENTS, dt as useUISelector, du as __read, ea as isThemeV2NormalEditorRawStylePath, ec as PlusIcon, ed as unsafeAsAppointmentResourceId, ef as ChevronUp, ei as heroCtaRowFragment, el as isHeaderField, eo as el, er as formBlockDefinition, es as planSiteChromePlacement, et as PreviewInlineTextEditor, fa as INPUT_FONT_SIZE_MAP, fc as ImagePresets, fd as Upload, fi as BACKGROUND_POSITION_PRESET_VALUES, fl as TooltipContent, fn as getClientRect, fo as normalizeEventVenueId, fr as getWizardStepsForContext$1, fs as applyFeatureCardIconSuggestions, ft as EditableBlockProvider, fu as __rest, g as PreviewDesignCoordinatorProvider, ga as generateCssVars, gc as getCurrentResolveImageUrlContext, gd as Ticket, gi as resolveBackgroundColorValue, gl as Select, gn as useSensor, go as generateShadowValue, gr as buildGiftingInteractiveIslandProps, gs as suggestFeatureCardSemanticIcons, gu as useDirection, ha as expandPalette, hc as computeMediaTransformStyle, hd as Trash2, hi as resolveSectionForegroundStyles, hl as Textarea, hn as useDroppable, ho as statusMutedColorDeclaration, hr as giftingBlockDefinition, hs as shouldReserveFeatureCardIconZone, ht as useEntryEditorController, hu as useId$1, i as usePreviewDesignHistoryOrder, ia as parseBlockCustomCssRules, ic as createRichTextDocFromMarkdown, id as unsafeAsMediaAssetId, if as Check, ii as defineFragment, il as useSdkConfig, in as decodePublicProductCategorySelectorQuery, io as eventScheduleScopeValues, ir as toRegistrationEvents, is as ACCORDION_SPACING_MAP, it as RichTextEditorSurface, ja as resolveOfferingsPreviewGroupOrderEntries, jc as asRecord, jl as Content$1, jn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, jo as formatEventPriceDisplay, jr as formatInterval, js as ArrowLeftIcon, jt as createSnapshotFromPageRecord, ju as unsafeAsEditorBlockValues, ka as resolveOfferingsPreviewCoursePath, kc as parseAspectRatioValue, ki as getCuratedSiteStyle, kl as TabsList, kn as siteHeaderManifest, ko as formatEventDateParts, kr as buildProductDetailDisplay, ks as isSemanticIconId, kt as useDebouncedLatestSave, ku as createEditorReorderBlocksCommand, la as NAV_LINK_PADDING_X_MAP, lc as inlineTextToPlainText, ld as ok$3, lf as __commonJSMin, li as MQ_SM_DOWN, ll as FieldFrame, ln as KeyboardCode, lo as normalizeEventStaffMemberId, lr as resolveRegistrationTarget, ls as PUBLIC_DOWNLOAD_MEDIA_TYPES, lt as useEditor, lu as __extends, ma as LABEL_FONT_SIZE_MAP, mc as buildResolveImageUrlContext, mi as boxStylesTransforms, ml as TooltipTrigger, mn as useDraggable, mo as generateCardCss, mr as resolveEventRegistrationScopedEvents, ms as getFeatureCardIconCompletion, mu as __spreadArrays, n as useSiteChromeCustomizeOptional, na as getComponentBorderWidthPx, nc as UploadIcon, nd as unsafeAsCustomerPassId, nf as ChevronLeft, ni as heroCopyFragment, nl as useBlockContext, nn as reorderBlocks, no as bindingSchema, nr as eventRegistrationBlockDefinition, ns as assertNever$6, nt as useRichTextEditor, nu as DropdownMenuContent, oa as NAV_LINK_BORDER_RADIUS_MAP, oc as isObjectRecord, od as unsafeAsPositiveByteCount$1, of as ArrowUp, oi as siteOptionSources, ol as mapCurrentValueForSelect, on as deriveLaunchReadiness, oo as normalizeEventBlockKind, or as findPreSelectedEvent, os as ACCORDION_TRIGGER_LETTER_SPACING, ot as insertOrReplaceRichTextImage, ou as DropdownMenuTrigger, pa as INPUT_SPACING_MAP, pc as MediaPlaceholder, pi as getAnchorClasses, pl as TooltipProvider, pn as useDndContext, po as publicEventSchema, pr as normalizeEventRegistrationPageSurfaceSubject, ps as createFeatureCardIconKey, pt as EntryControllerProvider, pu as __spreadArray, q as deriveTransactionCapabilities, qa as eventCalendarDefaultViewSchema, qc as borderColorStyle, qd as CreditCard, qi as foregroundTokenForBackgroundAppearanceColorToken, ql as Root, qn as buildNewsletterFormInteractiveIslandProps, qo as createZodCodec, qr as singleButtonFragment, qs as FileTextIcon, qt as toRoutableLinkPayload, qu as publicEventScalarPrice, r as PreviewDesignHistoryOrderProvider, ra as getComponentShadowVar, rc as XIcon, rd as unsafeAsFormId, rf as ChevronDown, ri as bodyCopyFragment, rl as SdkConfigProvider, rn as reorderEntrySlotBlocks, ro as eventBlockKindValues, rr as buildEventRegistrationInteractiveIslandProps, rs as ACCORDION_OPEN_ACCENT_THICKNESS, rt as EMPTY_DOC, ru as DropdownMenuItem, sa as NAV_LINK_LETTER_SPACING_MAP, sc as isRecord$19, sd as unsafeAsPositiveSeconds, sf as ArrowDown, si as MQ_LG_UP, sl as mapOptionValueForSelect, sn as AMBIENT_BACKGROUND_ROLES$1, so as normalizeEventCategoryIdsCsv, sr as resolveDiscountContext, ss as ICON_CONFIG, st as InlineTextEditor, su as __assign, t as SiteChromeCustomizeProvider, ta as pageDesignEditorBackgroundOverrideOwner, tc as ShoppingCartIcon, td as unsafeAsAppointmentServiceId, tf as ChevronRight, ti as ctaRowFragment, tl as isNonEmptyValue, tn as mutateBlockContent, to as when, tr as buildFormInteractiveIslandProps, ts as asDesignBlockId, tt as PreviewTextEditor, tu as DropdownMenu, ua as NAV_LINK_TEXT_SIZE_MAP, uc as isInlineTextEmpty, ud as lucide_react_exports, uf as __exportAll, ui as MQ_SM_UP, ul as useField, un as PointerSensor, uo as normalizeEventSurfacePresetsCsv, ur as WIZARD_STEPS$1, us as mediaSchema, uu as __generator, v as PreviewThemeOverlayProvider, va as runTransforms, vc as renderVideo, vd as Star, vi as formatSiteChromeBackgroundTokenLabel, vl as SelectItem, vn as CSS, vo as normalizeCardVariantRole, vr as buildCourseRegistrationInteractiveIslandProps, vs as toFeatureCardIconSuggestionInputs, vt as useEditorUiStoreInstance, vu as useControllableState, wa as buildOfferingsPreviewRenderStates, wc as resolveMediaSlotContract, wi as normalEditorCuratedPromotedFieldPaths, wl as PopoverContent, wn as gradientToCss, wo as buildGoogleMapsDirectionsUrl, wr as buildProductListInteractiveIslandProps, ws as parseSiteIconStyleGuideVersionId, wt as redoHistory, wu as useComposedRefs, xc as resolveMediaStorageUrl, xd as Settings, xi as compileEditorModelRuntime, xl as Label, xn as useIsomorphicLayoutEffect, xo as resolveTokenOrCssColorValue, xr as buildCartInteractiveIslandProps, xs as getGeneratedBlockIconStyleState, xt as canUndoHistory, xu as Primitive, y as usePreviewThemeOverlay, ya as ctaButton, yc as resolveImageUrlWithContext, yd as Sparkles, yi as PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, yl as SelectTrigger, yn as isKeyboardEvent, yo as isCssColorLiteral, yr as checkoutBlockDefinition, ys as buildGeneratedBlockIconRenderAssetLookupFromUnknown, yt as useOptionalEditorUiStoreInstance, yu as createContextScope, za as resolveEventCalendarListPageSize, zc as generateEffectsCSS, zd as FileSpreadsheet, zi as boundaryRuntimeMetricsForTransition, zl as DialogDescription, zn as createManifestValidator, zo as getEventAvailability, zr as augmentManifest, zs as CircleMinusIcon, zt as validateBlockManifestIssues, zu as parseBookingLocalDate } from "./SiteChromeCustomizeContext-CO1sTK_W.mjs";
|
|
3
3
|
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-ZF6TXq5Q.mjs";
|
|
4
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-ByPPZqmp.mjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
@@ -1280,7 +1280,7 @@ var BlockApiError = class extends Error {
|
|
|
1280
1280
|
this.name = "BlockApiError";
|
|
1281
1281
|
}
|
|
1282
1282
|
};
|
|
1283
|
-
function isRecord$
|
|
1283
|
+
function isRecord$18(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$18(data)) return {};
|
|
1308
|
+
const nestedError = isRecord$18(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
|
|
@@ -2517,7 +2517,7 @@ function Text$1({ as: Comp = "span", children, className = "", path, maxLength:
|
|
|
2517
2517
|
function coerceRichTextDoc(value) {
|
|
2518
2518
|
const raw = unwrapRichTextRoot(value);
|
|
2519
2519
|
if (typeof raw === "string") return createRichTextDocFromMarkdown(raw);
|
|
2520
|
-
if (isRecord$
|
|
2520
|
+
if (isRecord$19(raw) && typeof raw.type === "string") return raw;
|
|
2521
2521
|
return null;
|
|
2522
2522
|
}
|
|
2523
2523
|
//#endregion
|
|
@@ -3634,12 +3634,12 @@ function resolveBookingSiteId(siteId, form) {
|
|
|
3634
3634
|
return siteId || form?.siteId || "";
|
|
3635
3635
|
}
|
|
3636
3636
|
function normalizeBookingFormConfig(form) {
|
|
3637
|
-
if (!isRecord$
|
|
3637
|
+
if (!isRecord$17(form)) return null;
|
|
3638
3638
|
const id = readNonEmptyString(form.id);
|
|
3639
3639
|
const name = readNonEmptyString(form.name);
|
|
3640
3640
|
if (!id || !name) return null;
|
|
3641
|
-
const schemaSource = isRecord$
|
|
3642
|
-
const settingsSource = isRecord$
|
|
3641
|
+
const schemaSource = isRecord$17(form.schema) ? form.schema : isRecord$17(form.schemaJson) ? form.schemaJson : null;
|
|
3642
|
+
const settingsSource = isRecord$17(form.settings) ? form.settings : isRecord$17(form.settingsJson) ? form.settingsJson : null;
|
|
3643
3643
|
return {
|
|
3644
3644
|
id,
|
|
3645
3645
|
name,
|
|
@@ -3659,8 +3659,8 @@ function normalizeBookingServices(services) {
|
|
|
3659
3659
|
};
|
|
3660
3660
|
if (!services) return [];
|
|
3661
3661
|
if (Array.isArray(services)) return services.filter(isBookingFormService).map(normalizeService);
|
|
3662
|
-
if (isRecord$
|
|
3663
|
-
return isRecord$
|
|
3662
|
+
if (isRecord$17(services) && "services" in services) return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
|
|
3663
|
+
return isRecord$17(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
|
|
3664
3664
|
}
|
|
3665
3665
|
function normalizeBookingSchema(value) {
|
|
3666
3666
|
if (!value) return void 0;
|
|
@@ -3671,7 +3671,7 @@ function normalizeBookingSchema(value) {
|
|
|
3671
3671
|
};
|
|
3672
3672
|
}
|
|
3673
3673
|
function readBookingFormField(value) {
|
|
3674
|
-
if (!isRecord$
|
|
3674
|
+
if (!isRecord$17(value)) return null;
|
|
3675
3675
|
const id = readNonEmptyString(value.id);
|
|
3676
3676
|
const label = readNonEmptyString(value.label);
|
|
3677
3677
|
const type = readBookingFieldType(value.type);
|
|
@@ -3715,7 +3715,7 @@ function readBookingFieldOptions(value) {
|
|
|
3715
3715
|
return options.length > 0 ? options : void 0;
|
|
3716
3716
|
}
|
|
3717
3717
|
function readBookingFieldOption(value) {
|
|
3718
|
-
if (!isRecord$
|
|
3718
|
+
if (!isRecord$17(value)) return null;
|
|
3719
3719
|
const optionValue = readNonEmptyString(value.value);
|
|
3720
3720
|
const label = readNonEmptyString(value.label);
|
|
3721
3721
|
return optionValue && label ? {
|
|
@@ -3735,7 +3735,7 @@ function normalizeBookingSettings(value) {
|
|
|
3735
3735
|
};
|
|
3736
3736
|
}
|
|
3737
3737
|
function isBookingFormService(value) {
|
|
3738
|
-
return isRecord$
|
|
3738
|
+
return isRecord$17(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
3739
3739
|
}
|
|
3740
3740
|
function collectBookingCustomFields(data) {
|
|
3741
3741
|
const customFields = {};
|
|
@@ -3785,7 +3785,7 @@ function readStringArray(value) {
|
|
|
3785
3785
|
const strings = value.filter((item) => typeof item === "string");
|
|
3786
3786
|
return strings.length > 0 ? strings : void 0;
|
|
3787
3787
|
}
|
|
3788
|
-
function isRecord$
|
|
3788
|
+
function isRecord$17(value) {
|
|
3789
3789
|
return typeof value === "object" && value !== null;
|
|
3790
3790
|
}
|
|
3791
3791
|
function getBookingServicePaymentSelectionMode(service) {
|
|
@@ -19249,7 +19249,7 @@ const LEAFLET_JS_INTEGRITY = "sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo
|
|
|
19249
19249
|
let leafletLoaded = false;
|
|
19250
19250
|
let leafletLoadPromise = null;
|
|
19251
19251
|
function isLeafletApi(value) {
|
|
19252
|
-
if (!isRecord$
|
|
19252
|
+
if (!isRecord$19(value)) return false;
|
|
19253
19253
|
return typeof value.map === "function" && typeof value.tileLayer === "function" && typeof value.marker === "function";
|
|
19254
19254
|
}
|
|
19255
19255
|
function loadLeaflet() {
|
|
@@ -20571,7 +20571,7 @@ Autoplay.globalOptions = void 0;
|
|
|
20571
20571
|
function isObject$2(subject) {
|
|
20572
20572
|
return Object.prototype.toString.call(subject) === "[object Object]";
|
|
20573
20573
|
}
|
|
20574
|
-
function isRecord$
|
|
20574
|
+
function isRecord$16(subject) {
|
|
20575
20575
|
return isObject$2(subject) || Array.isArray(subject);
|
|
20576
20576
|
}
|
|
20577
20577
|
function canUseDOM() {
|
|
@@ -20586,7 +20586,7 @@ function areOptionsEqual(optionsA, optionsB) {
|
|
|
20586
20586
|
const valueA = optionsA[key];
|
|
20587
20587
|
const valueB = optionsB[key];
|
|
20588
20588
|
if (typeof valueA === "function") return `${valueA}` === `${valueB}`;
|
|
20589
|
-
if (!isRecord$
|
|
20589
|
+
if (!isRecord$16(valueA) || !isRecord$16(valueB)) return valueA === valueB;
|
|
20590
20590
|
return areOptionsEqual(valueA, valueB);
|
|
20591
20591
|
});
|
|
20592
20592
|
}
|
|
@@ -27129,7 +27129,7 @@ function WeeklySlotAvailabilityClient({ serviceId, resourceId, horizonWeeks, tim
|
|
|
27129
27129
|
}
|
|
27130
27130
|
//#endregion
|
|
27131
27131
|
//#region ../blocks/src/system/runtime/components/registry.client.tsx
|
|
27132
|
-
function isRecord$
|
|
27132
|
+
function isRecord$15(value) {
|
|
27133
27133
|
return typeof value === "object" && value !== null;
|
|
27134
27134
|
}
|
|
27135
27135
|
function buildRenderFromLooseProps(runtime, mode, props) {
|
|
@@ -27148,12 +27148,12 @@ function withRuntimeBackedEnvelope(source, runtime, render) {
|
|
|
27148
27148
|
function normalizeLegacyInteractiveRenderProps(runtime, mode, props) {
|
|
27149
27149
|
const source = props;
|
|
27150
27150
|
const render = props["render"];
|
|
27151
|
-
if (!isRecord$
|
|
27152
|
-
if (isRecord$
|
|
27151
|
+
if (!isRecord$15(render)) return withRuntimeBackedEnvelope(source, runtime, buildRenderFromLooseProps(runtime, mode, props));
|
|
27152
|
+
if (isRecord$15(render["hydration"])) return withRuntimeBackedEnvelope(source, runtime, {
|
|
27153
27153
|
...render,
|
|
27154
27154
|
mode
|
|
27155
27155
|
});
|
|
27156
|
-
if (!isRecord$
|
|
27156
|
+
if (!isRecord$15(render["display"])) return withRuntimeBackedEnvelope(source, runtime, buildRenderFromLooseProps(runtime, mode, props));
|
|
27157
27157
|
const { display, mode: _legacyMode, ...legacyHydration } = render;
|
|
27158
27158
|
return withRuntimeBackedEnvelope(source, runtime, {
|
|
27159
27159
|
display,
|
|
@@ -27699,7 +27699,7 @@ const defaultTransforms = createTransformRegistry([
|
|
|
27699
27699
|
//#region ../blocks/src/system/data/linkedContentEntries.ts
|
|
27700
27700
|
const LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
27701
27701
|
function coerceLinkedContentEntriesPayload(payload) {
|
|
27702
|
-
if (!isRecord$
|
|
27702
|
+
if (!isRecord$14(payload)) return payload;
|
|
27703
27703
|
const response = payload;
|
|
27704
27704
|
if (!Array.isArray(response.entries)) return payload;
|
|
27705
27705
|
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
@@ -27707,16 +27707,16 @@ function coerceLinkedContentEntriesPayload(payload) {
|
|
|
27707
27707
|
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
27708
27708
|
}
|
|
27709
27709
|
function getLinkedContentEntryMeta(value) {
|
|
27710
|
-
if (!isRecord$
|
|
27710
|
+
if (!isRecord$14(value)) return null;
|
|
27711
27711
|
const candidate = value[LINKED_CONTENT_ENTRY_META_KEY];
|
|
27712
27712
|
return isLinkedContentEntryMeta(candidate) ? candidate : null;
|
|
27713
27713
|
}
|
|
27714
27714
|
function buildLinkedContentEditTarget(input) {
|
|
27715
27715
|
const { entry, sourceBlockId, sourceBlockKind, itemIndex } = input;
|
|
27716
|
-
if (!isRecord$
|
|
27716
|
+
if (!isRecord$14(entry)) return null;
|
|
27717
27717
|
const meta = getLinkedContentEntryMeta(entry);
|
|
27718
27718
|
if (!meta || meta.support.kind !== "supported") return null;
|
|
27719
|
-
const content = isRecord$
|
|
27719
|
+
const content = isRecord$14(entry.content) ? entry.content : {};
|
|
27720
27720
|
return {
|
|
27721
27721
|
kind: "linked-content-entry",
|
|
27722
27722
|
entryId: meta.entryId,
|
|
@@ -27780,12 +27780,12 @@ function resolveLinkedEntryInlineFieldEligibility(input) {
|
|
|
27780
27780
|
};
|
|
27781
27781
|
}
|
|
27782
27782
|
function enrichLinkedContentEntry(entry, contentType) {
|
|
27783
|
-
if (!isRecord$
|
|
27783
|
+
if (!isRecord$14(entry)) return entry;
|
|
27784
27784
|
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
27785
27785
|
if (!entryId) return entry;
|
|
27786
27786
|
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
27787
27787
|
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
27788
|
-
const content = isRecord$
|
|
27788
|
+
const content = isRecord$14(entry.content) ? entry.content : {};
|
|
27789
27789
|
const meta = {
|
|
27790
27790
|
kind: "linked-content-entry",
|
|
27791
27791
|
entryId,
|
|
@@ -27881,7 +27881,7 @@ function capitalize(value) {
|
|
|
27881
27881
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
27882
27882
|
}
|
|
27883
27883
|
function parsePublicContentTypeMeta(value) {
|
|
27884
|
-
if (!isRecord$
|
|
27884
|
+
if (!isRecord$14(value)) return null;
|
|
27885
27885
|
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
27886
27886
|
return {
|
|
27887
27887
|
key: value.key,
|
|
@@ -27891,7 +27891,7 @@ function parsePublicContentTypeMeta(value) {
|
|
|
27891
27891
|
};
|
|
27892
27892
|
}
|
|
27893
27893
|
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
27894
|
-
if (!isRecord$
|
|
27894
|
+
if (!isRecord$14(value) || typeof value.kind !== "string") return null;
|
|
27895
27895
|
switch (value.kind) {
|
|
27896
27896
|
case "generic": return { kind: "generic" };
|
|
27897
27897
|
case "unsupported-domain-backed": return {
|
|
@@ -27902,7 +27902,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
|
27902
27902
|
}
|
|
27903
27903
|
}
|
|
27904
27904
|
function parsePublicContentTypeFieldMeta(value) {
|
|
27905
|
-
if (!isRecord$
|
|
27905
|
+
if (!isRecord$14(value)) return [];
|
|
27906
27906
|
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
27907
27907
|
return [{
|
|
27908
27908
|
id: value.id,
|
|
@@ -27917,14 +27917,14 @@ function parseStringArray(value) {
|
|
|
27917
27917
|
return value.filter((item) => typeof item === "string");
|
|
27918
27918
|
}
|
|
27919
27919
|
function isLinkedContentEntryMeta(value) {
|
|
27920
|
-
if (!isRecord$
|
|
27920
|
+
if (!isRecord$14(value)) return false;
|
|
27921
27921
|
if (value.kind !== "linked-content-entry") return false;
|
|
27922
27922
|
if (typeof value.entryId !== "string") return false;
|
|
27923
27923
|
if (typeof value.contentTypeKey !== "string") return false;
|
|
27924
27924
|
if (typeof value.contentTypeLabel !== "string") return false;
|
|
27925
27925
|
if (typeof value.title !== "string") return false;
|
|
27926
27926
|
if (!(value.optimisticHash === null || typeof value.optimisticHash === "string")) return false;
|
|
27927
|
-
if (!isRecord$
|
|
27927
|
+
if (!isRecord$14(value.contentType)) return false;
|
|
27928
27928
|
if (!isLinkedEntryFieldSourceArray(value.fieldSources)) return false;
|
|
27929
27929
|
return isLinkedContentEditSupport(value.support);
|
|
27930
27930
|
}
|
|
@@ -27932,7 +27932,7 @@ function isLinkedEntryFieldSourceArray(value) {
|
|
|
27932
27932
|
return Array.isArray(value) && value.every(isLinkedEntryFieldSource);
|
|
27933
27933
|
}
|
|
27934
27934
|
function isLinkedEntryFieldSource(value) {
|
|
27935
|
-
if (!isRecord$
|
|
27935
|
+
if (!isRecord$14(value)) return false;
|
|
27936
27936
|
if (typeof value.displayPath !== "string") return false;
|
|
27937
27937
|
switch (value.kind) {
|
|
27938
27938
|
case "content-field": return typeof value.fieldPath === "string" && (value.fieldType === "text" || value.fieldType === "richText");
|
|
@@ -27953,7 +27953,7 @@ function isLinkedEntryInlineFieldReadOnlyReason(value) {
|
|
|
27953
27953
|
}
|
|
27954
27954
|
}
|
|
27955
27955
|
function isLinkedContentEditSupport(value) {
|
|
27956
|
-
if (!isRecord$
|
|
27956
|
+
if (!isRecord$14(value) || typeof value.kind !== "string") return false;
|
|
27957
27957
|
switch (value.kind) {
|
|
27958
27958
|
case "supported": return true;
|
|
27959
27959
|
case "unsupported-domain-backed":
|
|
@@ -27962,7 +27962,7 @@ function isLinkedContentEditSupport(value) {
|
|
|
27962
27962
|
default: return false;
|
|
27963
27963
|
}
|
|
27964
27964
|
}
|
|
27965
|
-
function isRecord$
|
|
27965
|
+
function isRecord$14(value) {
|
|
27966
27966
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27967
27967
|
}
|
|
27968
27968
|
//#endregion
|
|
@@ -28016,14 +28016,14 @@ function isDecoratedHeadingBlockKind(blockKind) {
|
|
|
28016
28016
|
return blockKind === "block.intro" || blockKind === "block.feature-cards" || blockKind === "block.testimonials" || blockKind === "block.faq";
|
|
28017
28017
|
}
|
|
28018
28018
|
function readVariant(blockContent) {
|
|
28019
|
-
if (!isRecord$
|
|
28019
|
+
if (!isRecord$13(blockContent)) return void 0;
|
|
28020
28020
|
const variant = blockContent.variant;
|
|
28021
28021
|
return typeof variant === "string" ? variant : void 0;
|
|
28022
28022
|
}
|
|
28023
28023
|
function isFaqDecoratedVariant(variant) {
|
|
28024
28024
|
return variant === "default" || variant === "question-columns";
|
|
28025
28025
|
}
|
|
28026
|
-
function isRecord$
|
|
28026
|
+
function isRecord$13(value) {
|
|
28027
28027
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28028
28028
|
}
|
|
28029
28029
|
function buildHeadingDecorationWrapperClassName(className) {
|
|
@@ -30286,15 +30286,19 @@ function generateLogoTextBehaviorStyles(logoText, themeId) {
|
|
|
30286
30286
|
* legacy navStyle, navWeight, navColor, and navEffects settings.
|
|
30287
30287
|
*/
|
|
30288
30288
|
function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment, navTextSize) {
|
|
30289
|
+
const navPreferences = {
|
|
30290
|
+
typography: header.navTypography ?? "inherit",
|
|
30291
|
+
fontSize: header.navTextSize ?? "inherit"
|
|
30292
|
+
};
|
|
30289
30293
|
if (header.navLinkStyle) return generateNavLinkCSS({
|
|
30290
30294
|
themeId,
|
|
30291
30295
|
tokens,
|
|
30292
30296
|
theme,
|
|
30293
|
-
style: contrastTreatment || navTextSize ? {
|
|
30297
|
+
style: mergeHeaderNavTypographyPreference(contrastTreatment || navTextSize ? {
|
|
30294
30298
|
...header.navLinkStyle,
|
|
30295
30299
|
...contrastTreatment ? { contrastTreatment } : {},
|
|
30296
30300
|
...navTextSize ? { textSize: navTextSize } : {}
|
|
30297
|
-
} : header.navLinkStyle,
|
|
30301
|
+
} : header.navLinkStyle, navPreferences),
|
|
30298
30302
|
className: "header-nav-link"
|
|
30299
30303
|
});
|
|
30300
30304
|
const navStyle = header.navStyle ?? "minimal";
|
|
@@ -30366,7 +30370,7 @@ function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment
|
|
|
30366
30370
|
themeId,
|
|
30367
30371
|
tokens,
|
|
30368
30372
|
theme,
|
|
30369
|
-
style: mergedStyle,
|
|
30373
|
+
style: mergeHeaderNavTypographyPreference(mergedStyle, navPreferences),
|
|
30370
30374
|
className: "header-nav-link"
|
|
30371
30375
|
});
|
|
30372
30376
|
}
|
|
@@ -30757,6 +30761,9 @@ const boldWaveTransitionMask = svgDataUrl("<svg viewBox='0 0 1440 72' xmlns='htt
|
|
|
30757
30761
|
const driftWaveTransitionMask = svgDataUrl("<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V39C115 31 205 54 340 48C505 41 610 16 760 33C920 51 1015 64 1160 44C1280 27 1375 35 1440 50V72H0Z' fill='white'/></svg>");
|
|
30758
30762
|
function generateSiteStyleTransitionCss(themeId) {
|
|
30759
30763
|
const selector = `:where([data-theme-scope="${themeId}"])`;
|
|
30764
|
+
const compactBoundaryHeight = requiredBoundaryHeightCss("wave-edge-gentle");
|
|
30765
|
+
const mediumBoundaryHeight = requiredBoundaryHeightCss("wave-edge");
|
|
30766
|
+
const largeBoundaryHeight = requiredBoundaryHeightCss("wave-edge-bold");
|
|
30760
30767
|
return `${selector} [data-style-group^='site-style-transition-'] {
|
|
30761
30768
|
position: relative;
|
|
30762
30769
|
z-index: 2;
|
|
@@ -30764,23 +30771,48 @@ function generateSiteStyleTransitionCss(themeId) {
|
|
|
30764
30771
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
30765
30772
|
}
|
|
30766
30773
|
|
|
30767
|
-
${selector} [data-block-
|
|
30774
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-'] {
|
|
30768
30775
|
position: relative;
|
|
30769
30776
|
z-index: 3;
|
|
30770
30777
|
height: 0;
|
|
30771
30778
|
pointer-events: none;
|
|
30779
|
+
--site-style-boundary-height: ${mediumBoundaryHeight};
|
|
30780
|
+
}
|
|
30781
|
+
|
|
30782
|
+
${selector} [data-block][data-site-style-boundary-before] > :where([data-slot='section']) {
|
|
30783
|
+
padding-top: calc(var(--rb-section-pad-y, 0rem) + var(--site-style-boundary-before-reserve, 0rem));
|
|
30784
|
+
}
|
|
30785
|
+
|
|
30786
|
+
${selector} [data-block][data-site-style-boundary-after] > :where([data-slot='section']) {
|
|
30787
|
+
padding-bottom: calc(var(--rb-section-pad-y, 0rem) + var(--site-style-boundary-after-reserve, 0rem));
|
|
30788
|
+
}
|
|
30789
|
+
|
|
30790
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::before,
|
|
30791
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::before,
|
|
30792
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::before {
|
|
30793
|
+
content: '';
|
|
30794
|
+
position: absolute;
|
|
30795
|
+
left: 0;
|
|
30796
|
+
right: 0;
|
|
30797
|
+
top: 0;
|
|
30798
|
+
transform: translateY(-50%);
|
|
30799
|
+
z-index: 0;
|
|
30800
|
+
height: var(--site-style-boundary-height);
|
|
30801
|
+
background: var(--site-style-transition-from);
|
|
30802
|
+
pointer-events: none;
|
|
30772
30803
|
}
|
|
30773
30804
|
|
|
30774
|
-
${selector} [data-block-
|
|
30775
|
-
${selector} [data-block-
|
|
30776
|
-
${selector} [data-block-
|
|
30805
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::after,
|
|
30806
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::after,
|
|
30807
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::after {
|
|
30777
30808
|
content: '';
|
|
30778
30809
|
position: absolute;
|
|
30779
30810
|
left: 0;
|
|
30780
30811
|
right: 0;
|
|
30781
|
-
|
|
30812
|
+
top: 0;
|
|
30813
|
+
transform: translateY(-50%);
|
|
30782
30814
|
z-index: 1;
|
|
30783
|
-
height:
|
|
30815
|
+
height: var(--site-style-boundary-height);
|
|
30784
30816
|
pointer-events: none;
|
|
30785
30817
|
}
|
|
30786
30818
|
|
|
@@ -30818,7 +30850,7 @@ ${selector} [data-style-group$='-to-brand-depth-band'] {
|
|
|
30818
30850
|
--site-style-transition-to: rgb(var(--tb-primary-800));
|
|
30819
30851
|
}
|
|
30820
30852
|
|
|
30821
|
-
${selector} [data-block-
|
|
30853
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::after {
|
|
30822
30854
|
/* Fallback for browsers without color-mix(). */
|
|
30823
30855
|
background: linear-gradient(
|
|
30824
30856
|
to bottom,
|
|
@@ -30834,30 +30866,37 @@ ${selector} [data-block-transition][data-style-group^='site-style-transition-sof
|
|
|
30834
30866
|
);
|
|
30835
30867
|
}
|
|
30836
30868
|
|
|
30837
|
-
${selector} [data-block-
|
|
30838
|
-
height:
|
|
30869
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade-long-'] {
|
|
30870
|
+
--site-style-boundary-height: ${requiredBoundaryHeightCss("soft-fade-long")};
|
|
30839
30871
|
}
|
|
30840
30872
|
|
|
30841
|
-
${selector} [data-block-
|
|
30842
|
-
height:
|
|
30873
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade-expansive-'] {
|
|
30874
|
+
--site-style-boundary-height: ${requiredBoundaryHeightCss("soft-fade-expansive")};
|
|
30843
30875
|
}
|
|
30844
30876
|
|
|
30845
|
-
${selector} [data-block-
|
|
30877
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::after {
|
|
30878
|
+
height: calc(var(--site-style-boundary-height) + 2px);
|
|
30846
30879
|
background: var(--site-style-transition-to);
|
|
30847
30880
|
clip-path: polygon(0 42%, 100% 8%, 100% 100%, 0 100%);
|
|
30848
30881
|
}
|
|
30849
30882
|
|
|
30850
|
-
${selector} [data-block-
|
|
30851
|
-
height:
|
|
30883
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-subtle-'] {
|
|
30884
|
+
--site-style-boundary-height: ${compactBoundaryHeight};
|
|
30885
|
+
}
|
|
30886
|
+
|
|
30887
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-subtle-']::after {
|
|
30852
30888
|
clip-path: polygon(0 34%, 100% 18%, 100% 100%, 0 100%);
|
|
30853
30889
|
}
|
|
30854
30890
|
|
|
30855
|
-
${selector} [data-block-
|
|
30856
|
-
height:
|
|
30891
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-steep-'] {
|
|
30892
|
+
--site-style-boundary-height: ${largeBoundaryHeight};
|
|
30893
|
+
}
|
|
30894
|
+
|
|
30895
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-steep-']::after {
|
|
30857
30896
|
clip-path: polygon(0 54%, 100% 0%, 100% 100%, 0 100%);
|
|
30858
30897
|
}
|
|
30859
30898
|
|
|
30860
|
-
${selector} [data-block-
|
|
30899
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::after {
|
|
30861
30900
|
background: var(--site-style-transition-to);
|
|
30862
30901
|
mask-image: url("${classicWaveTransitionMask}");
|
|
30863
30902
|
mask-repeat: no-repeat;
|
|
@@ -30867,28 +30906,39 @@ ${selector} [data-block-transition][data-style-group^='site-style-transition-wav
|
|
|
30867
30906
|
-webkit-mask-size: 100% 100%;
|
|
30868
30907
|
}
|
|
30869
30908
|
|
|
30870
|
-
${selector} [data-block-
|
|
30909
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-balanced-']::after {
|
|
30871
30910
|
mask-image: url("${balancedWaveTransitionMask}");
|
|
30872
30911
|
-webkit-mask-image: url("${balancedWaveTransitionMask}");
|
|
30873
30912
|
}
|
|
30874
30913
|
|
|
30875
|
-
${selector} [data-block-
|
|
30876
|
-
height:
|
|
30914
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-gentle-'] {
|
|
30915
|
+
--site-style-boundary-height: ${compactBoundaryHeight};
|
|
30916
|
+
}
|
|
30917
|
+
|
|
30918
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-gentle-']::after {
|
|
30877
30919
|
mask-image: url("${gentleWaveTransitionMask}");
|
|
30878
30920
|
-webkit-mask-image: url("${gentleWaveTransitionMask}");
|
|
30879
30921
|
}
|
|
30880
30922
|
|
|
30881
|
-
${selector} [data-block-
|
|
30882
|
-
height:
|
|
30923
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-bold-'] {
|
|
30924
|
+
--site-style-boundary-height: ${largeBoundaryHeight};
|
|
30925
|
+
}
|
|
30926
|
+
|
|
30927
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-bold-']::after {
|
|
30883
30928
|
mask-image: url("${boldWaveTransitionMask}");
|
|
30884
30929
|
-webkit-mask-image: url("${boldWaveTransitionMask}");
|
|
30885
30930
|
}
|
|
30886
30931
|
|
|
30887
|
-
${selector} [data-block-
|
|
30932
|
+
${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-drift-']::after {
|
|
30888
30933
|
mask-image: url("${driftWaveTransitionMask}");
|
|
30889
30934
|
-webkit-mask-image: url("${driftWaveTransitionMask}");
|
|
30890
30935
|
}`;
|
|
30891
30936
|
}
|
|
30937
|
+
function requiredBoundaryHeightCss(transition) {
|
|
30938
|
+
const metrics = boundaryRuntimeMetricsForTransition(transition);
|
|
30939
|
+
if (!metrics) throw new Error(`Missing boundary runtime metrics for ${transition}`);
|
|
30940
|
+
return metrics.heightCss;
|
|
30941
|
+
}
|
|
30892
30942
|
function svgDataUrl(svg) {
|
|
30893
30943
|
return `data:image/svg+xml,${encodeURIComponent(svg)}`;
|
|
30894
30944
|
}
|
|
@@ -32822,7 +32872,7 @@ function hydrateValue(value, context) {
|
|
|
32822
32872
|
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
32823
32873
|
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
32824
32874
|
}
|
|
32825
|
-
if (isRecord$
|
|
32875
|
+
if (isRecord$19(value)) {
|
|
32826
32876
|
if (isInternalLink(value)) return hydrateInternalLink(value, context.routes);
|
|
32827
32877
|
if (isPageLink(value)) return hydratePageLink(value, context);
|
|
32828
32878
|
if (isEntryLink(value)) return hydrateEntryLink(value, context);
|
|
@@ -33024,13 +33074,15 @@ function mergeBlockDescriptorsWithRegistry(systemBlocks, registry, onConflict) {
|
|
|
33024
33074
|
}
|
|
33025
33075
|
//#endregion
|
|
33026
33076
|
//#region ../blocks/src/PageRenderer.tsx
|
|
33027
|
-
function PageRenderer({ theme, page, usePlaceholders = false, dataContext, wrapBlock, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring }) {
|
|
33077
|
+
function PageRenderer({ theme, page, runtimeBoundaries, usePlaceholders = false, dataContext, wrapBlock, wrapBoundary, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring }) {
|
|
33028
33078
|
const imageResolveContext = React$1.useMemo(() => resolvePageRendererImageResolveContext(dataContext), [
|
|
33029
33079
|
dataContext?.imageResolveContext,
|
|
33030
33080
|
dataContext?.mediaAssets,
|
|
33031
33081
|
dataContext?.siteId,
|
|
33032
33082
|
dataContext?.supabaseUrl
|
|
33033
33083
|
]);
|
|
33084
|
+
const boundaryByAdjacentBlockIds = React$1.useMemo(() => boundaryMapForAdjacentBlockIds(runtimeBoundaries ?? []), [runtimeBoundaries]);
|
|
33085
|
+
const usesRuntimeBoundaries = runtimeBoundaries !== void 0;
|
|
33034
33086
|
if (!page || page.blocks.length === 0) return /* @__PURE__ */ jsx("div", {
|
|
33035
33087
|
className: "rb-p-6 rb-caption",
|
|
33036
33088
|
style: textColorStyle("mutedText"),
|
|
@@ -33042,6 +33094,17 @@ function PageRenderer({ theme, page, usePlaceholders = false, dataContext, wrapB
|
|
|
33042
33094
|
return /* @__PURE__ */ jsx("div", { children: page.blocks.map((block, index) => {
|
|
33043
33095
|
const blockPosition = pageBlockPosition(index, page.blocks.length);
|
|
33044
33096
|
const blockKey = block.id ?? `${block.kind}-${index}`;
|
|
33097
|
+
const previousBlock = page.blocks[index - 1] ?? null;
|
|
33098
|
+
const nextBlock = page.blocks[index + 1] ?? null;
|
|
33099
|
+
const boundaryBefore = boundaryBetweenBlocks(previousBlock, block, boundaryByAdjacentBlockIds);
|
|
33100
|
+
const boundaryAfter = boundaryBetweenBlocks(block, nextBlock, boundaryByAdjacentBlockIds);
|
|
33101
|
+
const boundaryElement = renderBoundaryAfterBlock({
|
|
33102
|
+
block,
|
|
33103
|
+
nextBlock,
|
|
33104
|
+
blockKey,
|
|
33105
|
+
boundaryByAdjacentBlockIds,
|
|
33106
|
+
wrapBoundary
|
|
33107
|
+
});
|
|
33045
33108
|
const cleanKind = block.kind.replace(/^block\./, "");
|
|
33046
33109
|
const definition = getBlockDefinition(block.kind);
|
|
33047
33110
|
const managesOwnWrapper = definition?.manifest.behaviours?.managesOwnWrapper;
|
|
@@ -33064,11 +33127,18 @@ function PageRenderer({ theme, page, usePlaceholders = false, dataContext, wrapB
|
|
|
33064
33127
|
imageResolveContext,
|
|
33065
33128
|
previewAuthoring
|
|
33066
33129
|
};
|
|
33067
|
-
if (!shouldUseWrapper)
|
|
33130
|
+
if (!shouldUseWrapper) {
|
|
33131
|
+
const rendered = /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, `${blockKey}:block`);
|
|
33132
|
+
return boundaryElement ? /* @__PURE__ */ jsxs(React$1.Fragment, { children: [rendered, boundaryElement] }, blockKey) : rendered;
|
|
33133
|
+
}
|
|
33068
33134
|
const wrapperClassName = [`block-${cleanKind}`, wrapBlock ? "group relative" : null].filter(Boolean).join(" ");
|
|
33069
33135
|
const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
|
|
33070
33136
|
const blockLook = typeof renderableContent.blockLook === "string" ? renderableContent.blockLook : void 0;
|
|
33071
33137
|
const transitionStyle = transitionCssVarsStyle(renderableContent);
|
|
33138
|
+
const blockStyle = mergeStyleObjects(transitionStyle, boundaryReserveCssVarsStyle({
|
|
33139
|
+
before: boundaryBefore,
|
|
33140
|
+
after: boundaryAfter
|
|
33141
|
+
}));
|
|
33072
33142
|
const blockElement = /* @__PURE__ */ jsx("div", {
|
|
33073
33143
|
className: wrapperClassName,
|
|
33074
33144
|
"data-block": cleanKind,
|
|
@@ -33078,11 +33148,14 @@ function PageRenderer({ theme, page, usePlaceholders = false, dataContext, wrapB
|
|
|
33078
33148
|
"data-block-variant": variantKey ?? void 0,
|
|
33079
33149
|
"data-block-look": blockLook,
|
|
33080
33150
|
"data-page-block-position": blockPosition,
|
|
33151
|
+
"data-site-style-boundary-before": boundaryBefore?.metrics.size,
|
|
33152
|
+
"data-site-style-boundary-after": boundaryAfter?.metrics.size,
|
|
33081
33153
|
"data-style-group": styleGroup,
|
|
33082
|
-
style:
|
|
33154
|
+
style: blockStyle,
|
|
33083
33155
|
children: /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps })
|
|
33084
33156
|
}, blockKey);
|
|
33085
|
-
if (
|
|
33157
|
+
if (boundaryElement) return /* @__PURE__ */ jsxs(React$1.Fragment, { children: [blockElement, boundaryElement] }, blockKey);
|
|
33158
|
+
if (usesRuntimeBoundaries || !isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
|
|
33086
33159
|
return /* @__PURE__ */ jsxs(React$1.Fragment, { children: [blockElement, /* @__PURE__ */ jsx("div", {
|
|
33087
33160
|
"aria-hidden": "true",
|
|
33088
33161
|
"data-block-transition": "",
|
|
@@ -33095,6 +33168,53 @@ function PageRenderer({ theme, page, usePlaceholders = false, dataContext, wrapB
|
|
|
33095
33168
|
function isSiteStyleTransitionStyleGroup(value) {
|
|
33096
33169
|
return value?.startsWith("site-style-transition-") === true;
|
|
33097
33170
|
}
|
|
33171
|
+
function boundaryMapForAdjacentBlockIds(boundaries) {
|
|
33172
|
+
return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
|
|
33173
|
+
}
|
|
33174
|
+
function boundaryKey(previousBlockId, nextBlockId) {
|
|
33175
|
+
return `${previousBlockId}\u0000${nextBlockId}`;
|
|
33176
|
+
}
|
|
33177
|
+
function boundaryBetweenBlocks(previousBlock, nextBlock, boundaryByAdjacentBlockIds) {
|
|
33178
|
+
const previousBlockId = previousBlock?.id ?? null;
|
|
33179
|
+
const nextBlockId = nextBlock?.id ?? null;
|
|
33180
|
+
if (!previousBlockId || !nextBlockId) return null;
|
|
33181
|
+
return boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
|
|
33182
|
+
}
|
|
33183
|
+
function renderBoundaryAfterBlock(input) {
|
|
33184
|
+
const previousBlockId = input.block.id;
|
|
33185
|
+
const nextBlockId = input.nextBlock?.id ?? null;
|
|
33186
|
+
if (!previousBlockId || !nextBlockId) return null;
|
|
33187
|
+
const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
|
|
33188
|
+
if (!boundary) return null;
|
|
33189
|
+
const rendered = /* @__PURE__ */ jsx("div", {
|
|
33190
|
+
"aria-hidden": "true",
|
|
33191
|
+
"data-block-boundary": "",
|
|
33192
|
+
"data-boundary-id": boundary.boundaryId,
|
|
33193
|
+
"data-boundary-previous-block-id": boundary.previousBlockId,
|
|
33194
|
+
"data-boundary-next-block-id": boundary.nextBlockId,
|
|
33195
|
+
"data-style-group": boundary.styleGroup,
|
|
33196
|
+
style: boundaryCssVarsStyle(boundary)
|
|
33197
|
+
}, `${input.blockKey}:boundary`);
|
|
33198
|
+
return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
|
|
33199
|
+
}
|
|
33200
|
+
function boundaryCssVarsStyle(boundary) {
|
|
33201
|
+
return {
|
|
33202
|
+
"--site-style-transition-from": boundary.cssVars.from,
|
|
33203
|
+
"--site-style-transition-to": boundary.cssVars.to
|
|
33204
|
+
};
|
|
33205
|
+
}
|
|
33206
|
+
function boundaryReserveCssVarsStyle(input) {
|
|
33207
|
+
const before = input.before ? boundaryReserveValueForTreatment(input.before) : null;
|
|
33208
|
+
const after = input.after ? boundaryReserveValueForTreatment(input.after) : null;
|
|
33209
|
+
if (!before && !after) return void 0;
|
|
33210
|
+
return {
|
|
33211
|
+
...before ? { "--site-style-boundary-before-reserve": before } : {},
|
|
33212
|
+
...after ? { "--site-style-boundary-after-reserve": after } : {}
|
|
33213
|
+
};
|
|
33214
|
+
}
|
|
33215
|
+
function boundaryReserveValueForTreatment(boundary) {
|
|
33216
|
+
return boundary.metrics.reserveCss;
|
|
33217
|
+
}
|
|
33098
33218
|
function transitionCssVarsStyle(content) {
|
|
33099
33219
|
const transitionStyles = isObjectRecord(content._transitionStyles) ? content._transitionStyles : null;
|
|
33100
33220
|
const cssVars = isObjectRecord(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
|
|
@@ -33106,6 +33226,14 @@ function transitionCssVarsStyle(content) {
|
|
|
33106
33226
|
...to ? { "--site-style-transition-to": to } : {}
|
|
33107
33227
|
};
|
|
33108
33228
|
}
|
|
33229
|
+
function mergeStyleObjects(left, right) {
|
|
33230
|
+
if (!left) return right;
|
|
33231
|
+
if (!right) return left;
|
|
33232
|
+
return {
|
|
33233
|
+
...left,
|
|
33234
|
+
...right
|
|
33235
|
+
};
|
|
33236
|
+
}
|
|
33109
33237
|
function pageBlockPosition(index, blockCount) {
|
|
33110
33238
|
if (blockCount <= 1) return "only";
|
|
33111
33239
|
if (index === 0) return "first";
|
|
@@ -35017,52 +35145,53 @@ const containerResponsiveThemeCss = `/*
|
|
|
35017
35145
|
|
|
35018
35146
|
/* Semantic spacing tokens (replaces Tailwind maps in src/system/spacing.ts) */
|
|
35019
35147
|
.rb-section-pad-none {
|
|
35020
|
-
|
|
35021
|
-
padding-
|
|
35148
|
+
--rb-section-pad-y: 0rem;
|
|
35149
|
+
padding-top: var(--rb-section-pad-y);
|
|
35150
|
+
padding-bottom: var(--rb-section-pad-y);
|
|
35022
35151
|
}
|
|
35023
35152
|
.rb-section-pad-compact {
|
|
35024
|
-
|
|
35025
|
-
padding-
|
|
35153
|
+
--rb-section-pad-y: 1.5rem;
|
|
35154
|
+
padding-top: var(--rb-section-pad-y);
|
|
35155
|
+
padding-bottom: var(--rb-section-pad-y);
|
|
35026
35156
|
}
|
|
35027
35157
|
.rb-section-pad-cozy {
|
|
35028
|
-
|
|
35029
|
-
padding-
|
|
35158
|
+
--rb-section-pad-y: 2.5rem;
|
|
35159
|
+
padding-top: var(--rb-section-pad-y);
|
|
35160
|
+
padding-bottom: var(--rb-section-pad-y);
|
|
35030
35161
|
}
|
|
35031
35162
|
.rb-section-pad-medium {
|
|
35032
|
-
|
|
35033
|
-
padding-
|
|
35163
|
+
--rb-section-pad-y: 3rem;
|
|
35164
|
+
padding-top: var(--rb-section-pad-y);
|
|
35165
|
+
padding-bottom: var(--rb-section-pad-y);
|
|
35034
35166
|
}
|
|
35035
35167
|
.rb-section-pad-comfortable {
|
|
35036
|
-
|
|
35037
|
-
padding-
|
|
35168
|
+
--rb-section-pad-y: 4rem;
|
|
35169
|
+
padding-top: var(--rb-section-pad-y);
|
|
35170
|
+
padding-bottom: var(--rb-section-pad-y);
|
|
35038
35171
|
}
|
|
35039
35172
|
.rb-section-pad-spacious {
|
|
35040
|
-
|
|
35041
|
-
padding-
|
|
35173
|
+
--rb-section-pad-y: 5rem;
|
|
35174
|
+
padding-top: var(--rb-section-pad-y);
|
|
35175
|
+
padding-bottom: var(--rb-section-pad-y);
|
|
35042
35176
|
}
|
|
35043
35177
|
|
|
35044
35178
|
@container rb-site (min-width: 640px) {
|
|
35045
35179
|
|
|
35046
35180
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
35047
35181
|
.rb-section-pad-compact {
|
|
35048
|
-
|
|
35049
|
-
padding-bottom: 2rem;
|
|
35182
|
+
--rb-section-pad-y: 2rem;
|
|
35050
35183
|
}
|
|
35051
35184
|
.rb-section-pad-cozy {
|
|
35052
|
-
|
|
35053
|
-
padding-bottom: 3.5rem;
|
|
35185
|
+
--rb-section-pad-y: 3.5rem;
|
|
35054
35186
|
}
|
|
35055
35187
|
.rb-section-pad-medium {
|
|
35056
|
-
|
|
35057
|
-
padding-bottom: 4rem;
|
|
35188
|
+
--rb-section-pad-y: 4rem;
|
|
35058
35189
|
}
|
|
35059
35190
|
.rb-section-pad-comfortable {
|
|
35060
|
-
|
|
35061
|
-
padding-bottom: 5rem;
|
|
35191
|
+
--rb-section-pad-y: 5rem;
|
|
35062
35192
|
}
|
|
35063
35193
|
.rb-section-pad-spacious {
|
|
35064
|
-
|
|
35065
|
-
padding-bottom: 7rem;
|
|
35194
|
+
--rb-section-pad-y: 7rem;
|
|
35066
35195
|
}
|
|
35067
35196
|
}
|
|
35068
35197
|
|
|
@@ -36452,30 +36581,122 @@ const containerResponsiveThemeCss = `/*
|
|
|
36452
36581
|
:where(.theme-scope) .header-logo-text {
|
|
36453
36582
|
font-size: 1.125rem; /* matches rb-text-lg */
|
|
36454
36583
|
line-height: 1.75rem;
|
|
36584
|
+
margin-inline: -0.18em;
|
|
36585
|
+
padding-inline: 0.18em;
|
|
36455
36586
|
transition: font-size 300ms var(--motion-ease, ease);
|
|
36456
36587
|
}
|
|
36457
36588
|
|
|
36458
|
-
/*
|
|
36589
|
+
/* Centered variant uses larger title */
|
|
36590
|
+
:where(.theme-scope) .header-variant-centered .header-logo-text {
|
|
36591
|
+
font-size: 1.25rem; /* matches rb-text-xl */
|
|
36592
|
+
line-height: 1.75rem;
|
|
36593
|
+
}
|
|
36594
|
+
|
|
36595
|
+
:where(.theme-scope) .header-logo-size-compact .header-logo-text {
|
|
36596
|
+
font-size: 0.95rem;
|
|
36597
|
+
line-height: 1.5rem;
|
|
36598
|
+
}
|
|
36599
|
+
:where(.theme-scope) .header-logo-size-standard .header-logo-text {
|
|
36600
|
+
font-size: 1.125rem;
|
|
36601
|
+
line-height: 1.75rem;
|
|
36602
|
+
}
|
|
36603
|
+
:where(.theme-scope) .header-logo-size-generous .header-logo-text {
|
|
36604
|
+
font-size: 1.35rem;
|
|
36605
|
+
line-height: 1.9rem;
|
|
36606
|
+
}
|
|
36607
|
+
:where(.theme-scope) .header-logo-size-display .header-logo-text {
|
|
36608
|
+
font-size: 1.75rem;
|
|
36609
|
+
line-height: 2.25rem;
|
|
36610
|
+
}
|
|
36611
|
+
|
|
36612
|
+
:where(.theme-scope)
|
|
36613
|
+
.header-variant-centered
|
|
36614
|
+
.header-logo-size-compact
|
|
36615
|
+
.header-logo-text {
|
|
36616
|
+
font-size: 1.125rem;
|
|
36617
|
+
line-height: 1.75rem;
|
|
36618
|
+
}
|
|
36619
|
+
:where(.theme-scope)
|
|
36620
|
+
.header-variant-centered
|
|
36621
|
+
.header-logo-size-standard
|
|
36622
|
+
.header-logo-text {
|
|
36623
|
+
font-size: 1.25rem;
|
|
36624
|
+
line-height: 1.75rem;
|
|
36625
|
+
}
|
|
36626
|
+
:where(.theme-scope)
|
|
36627
|
+
.header-variant-centered
|
|
36628
|
+
.header-logo-size-generous
|
|
36629
|
+
.header-logo-text {
|
|
36630
|
+
font-size: 1.6rem;
|
|
36631
|
+
line-height: 2rem;
|
|
36632
|
+
}
|
|
36633
|
+
:where(.theme-scope)
|
|
36634
|
+
.header-variant-centered
|
|
36635
|
+
.header-logo-size-display
|
|
36636
|
+
.header-logo-text {
|
|
36637
|
+
font-size: 2.1rem;
|
|
36638
|
+
line-height: 2.5rem;
|
|
36639
|
+
}
|
|
36640
|
+
|
|
36641
|
+
/* Mobile: reduce site title size to keep header compact */
|
|
36459
36642
|
@container rb-site (max-width: 767px) {
|
|
36460
36643
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
36461
|
-
:where(.theme-scope) .header-logo-text
|
|
36644
|
+
:where(.theme-scope) .header-logo-text,
|
|
36645
|
+
:where(.theme-scope) .header-logo-size-standard .header-logo-text {
|
|
36462
36646
|
font-size: 0.8rem;
|
|
36463
36647
|
line-height: 1.25rem;
|
|
36464
36648
|
}
|
|
36465
36649
|
|
|
36466
|
-
:where(.theme-scope) .header-
|
|
36650
|
+
:where(.theme-scope) .header-logo-size-compact .header-logo-text {
|
|
36651
|
+
font-size: 0.75rem;
|
|
36652
|
+
line-height: 1.15rem;
|
|
36653
|
+
}
|
|
36654
|
+
|
|
36655
|
+
:where(.theme-scope) .header-logo-size-generous .header-logo-text {
|
|
36656
|
+
font-size: 1rem;
|
|
36657
|
+
line-height: 1.4rem;
|
|
36658
|
+
}
|
|
36659
|
+
|
|
36660
|
+
:where(.theme-scope) .header-logo-size-display .header-logo-text {
|
|
36661
|
+
font-size: 1.25rem;
|
|
36662
|
+
line-height: 1.65rem;
|
|
36663
|
+
}
|
|
36664
|
+
|
|
36665
|
+
:where(.theme-scope) .header-variant-centered .header-logo-text,
|
|
36666
|
+
:where(.theme-scope)
|
|
36667
|
+
.header-variant-centered
|
|
36668
|
+
.header-logo-size-standard
|
|
36669
|
+
.header-logo-text {
|
|
36467
36670
|
font-size: 0.875rem;
|
|
36468
36671
|
line-height: 1.25rem;
|
|
36469
36672
|
}
|
|
36673
|
+
|
|
36674
|
+
:where(.theme-scope)
|
|
36675
|
+
.header-variant-centered
|
|
36676
|
+
.header-logo-size-compact
|
|
36677
|
+
.header-logo-text {
|
|
36678
|
+
font-size: 0.8rem;
|
|
36679
|
+
line-height: 1.2rem;
|
|
36680
|
+
}
|
|
36681
|
+
|
|
36682
|
+
:where(.theme-scope)
|
|
36683
|
+
.header-variant-centered
|
|
36684
|
+
.header-logo-size-generous
|
|
36685
|
+
.header-logo-text {
|
|
36686
|
+
font-size: 1.125rem;
|
|
36687
|
+
line-height: 1.5rem;
|
|
36688
|
+
}
|
|
36689
|
+
|
|
36690
|
+
:where(.theme-scope)
|
|
36691
|
+
.header-variant-centered
|
|
36692
|
+
.header-logo-size-display
|
|
36693
|
+
.header-logo-text {
|
|
36694
|
+
font-size: 1.35rem;
|
|
36695
|
+
line-height: 1.75rem;
|
|
36696
|
+
}
|
|
36470
36697
|
}
|
|
36471
36698
|
}
|
|
36472
36699
|
|
|
36473
|
-
/* Centered variant uses larger title */
|
|
36474
|
-
:where(.theme-scope) .header-variant-centered .header-logo-text {
|
|
36475
|
-
font-size: 1.25rem; /* matches rb-text-xl */
|
|
36476
|
-
line-height: 1.75rem;
|
|
36477
|
-
}
|
|
36478
|
-
|
|
36479
36700
|
/* =================================================================
|
|
36480
36701
|
Shrink on Scroll - Logo & Title
|
|
36481
36702
|
================================================================= */
|
|
@@ -52816,7 +53037,7 @@ function asPositiveSeconds(value) {
|
|
|
52816
53037
|
if (!Number.isSafeInteger(value) || value <= 0) return err("not-positive-seconds");
|
|
52817
53038
|
return ok$1(value);
|
|
52818
53039
|
}
|
|
52819
|
-
function isRecord$
|
|
53040
|
+
function isRecord$12(value) {
|
|
52820
53041
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
52821
53042
|
}
|
|
52822
53043
|
function parseFileKindJson(value) {
|
|
@@ -53037,7 +53258,7 @@ function parseEntitledCustomerAccessScopeJson(value) {
|
|
|
53037
53258
|
}
|
|
53038
53259
|
}
|
|
53039
53260
|
function requireRecord(value) {
|
|
53040
|
-
if (!isRecord$
|
|
53261
|
+
if (!isRecord$12(value)) return err("expected-object");
|
|
53041
53262
|
return ok$1(value);
|
|
53042
53263
|
}
|
|
53043
53264
|
function requireString(value) {
|
|
@@ -53292,7 +53513,7 @@ const DEFAULT_MESSAGES = {
|
|
|
53292
53513
|
update: "Failed to update media asset",
|
|
53293
53514
|
delete: "Failed to delete media asset"
|
|
53294
53515
|
};
|
|
53295
|
-
function isRecord$
|
|
53516
|
+
function isRecord$11(value) {
|
|
53296
53517
|
return typeof value === "object" && value !== null;
|
|
53297
53518
|
}
|
|
53298
53519
|
const normalizeLabels = (labels) => labels !== void 0 && labels.length > 0 ? labels.map((label) => label.trim()).filter((label) => label.length > 0).join(",") : void 0;
|
|
@@ -53326,7 +53547,7 @@ const filterUpdatePayload = (input) => {
|
|
|
53326
53547
|
return payload;
|
|
53327
53548
|
};
|
|
53328
53549
|
const extractErrorMessage = (body) => {
|
|
53329
|
-
if (!isRecord$
|
|
53550
|
+
if (!isRecord$11(body)) return typeof body === "string" && body.trim().length > 0 ? body : null;
|
|
53330
53551
|
for (const key of [
|
|
53331
53552
|
"error",
|
|
53332
53553
|
"message",
|
|
@@ -53339,11 +53560,11 @@ const extractErrorMessage = (body) => {
|
|
|
53339
53560
|
const details = body.details;
|
|
53340
53561
|
if (Array.isArray(details)) for (const entry of details) {
|
|
53341
53562
|
if (typeof entry === "string" && entry.trim().length > 0) return entry;
|
|
53342
|
-
if (isRecord$
|
|
53563
|
+
if (isRecord$11(entry) && typeof entry.message === "string" && entry.message.trim().length > 0) return entry.message;
|
|
53343
53564
|
}
|
|
53344
53565
|
const errors = body.errors;
|
|
53345
53566
|
if (Array.isArray(errors)) {
|
|
53346
|
-
for (const entry of errors) if (isRecord$
|
|
53567
|
+
for (const entry of errors) if (isRecord$11(entry) && typeof entry.message === "string" && entry.message.trim().length > 0) return entry.message;
|
|
53347
53568
|
}
|
|
53348
53569
|
return null;
|
|
53349
53570
|
};
|
|
@@ -60706,11 +60927,14 @@ function buildPreviewDashboardSetupUrl(dashboardBaseUrl, handoff) {
|
|
|
60706
60927
|
//#region ../preview-next/src/client/preview/sidebarTabPreference.ts
|
|
60707
60928
|
const STORAGE_KEY = "preview-sidebar-tab";
|
|
60708
60929
|
const REQUEST_EVENT = "riverbank:preview-sidebar:request-open";
|
|
60930
|
+
function normalizeOpenRequest(input) {
|
|
60931
|
+
return parsePreviewSidebarOpenRequestDetail(typeof input === "string" ? { tab: input } : input);
|
|
60932
|
+
}
|
|
60709
60933
|
function parsePreviewSidebarOpenRequestDetail(detail) {
|
|
60710
|
-
const request = isRecord$
|
|
60934
|
+
const request = isRecord$10(detail) ? detail : {};
|
|
60711
60935
|
return {
|
|
60712
60936
|
tab: resolvePreviewSidebarTab(request.tab === "assistant" ? "assistant" : "editor"),
|
|
60713
|
-
...request.designRow
|
|
60937
|
+
...isPreviewDesignRow(request.designRow) ? { designRow: request.designRow } : {}
|
|
60714
60938
|
};
|
|
60715
60939
|
}
|
|
60716
60940
|
function getPreviewSidebarTab() {
|
|
@@ -60727,18 +60951,27 @@ function setPreviewSidebarTab(tab) {
|
|
|
60727
60951
|
window.localStorage.setItem(STORAGE_KEY, resolvePreviewSidebarTab(tab));
|
|
60728
60952
|
} catch {}
|
|
60729
60953
|
}
|
|
60954
|
+
function requestPreviewSidebarOpen(input) {
|
|
60955
|
+
if (typeof window === "undefined") return;
|
|
60956
|
+
const request = normalizeOpenRequest(input);
|
|
60957
|
+
setPreviewSidebarTab(request.tab);
|
|
60958
|
+
window.dispatchEvent(new window.CustomEvent(REQUEST_EVENT, { detail: request }));
|
|
60959
|
+
}
|
|
60730
60960
|
function onPreviewSidebarOpenRequest(handler) {
|
|
60731
60961
|
if (typeof window === "undefined") return () => void 0;
|
|
60732
60962
|
const listener = (event) => {
|
|
60733
|
-
if (!(
|
|
60963
|
+
if (!("detail" in event)) return;
|
|
60734
60964
|
handler(parsePreviewSidebarOpenRequestDetail(event.detail));
|
|
60735
60965
|
};
|
|
60736
60966
|
window.addEventListener(REQUEST_EVENT, listener);
|
|
60737
60967
|
return () => window.removeEventListener(REQUEST_EVENT, listener);
|
|
60738
60968
|
}
|
|
60739
|
-
function isRecord$
|
|
60969
|
+
function isRecord$10(value) {
|
|
60740
60970
|
return typeof value === "object" && value !== null;
|
|
60741
60971
|
}
|
|
60972
|
+
function isPreviewDesignRow(value) {
|
|
60973
|
+
return value === "header" || value === "footer" || value === "header-layout" || value === "header-style" || value === "footer-layout";
|
|
60974
|
+
}
|
|
60742
60975
|
//#endregion
|
|
60743
60976
|
//#region ../preview-next/src/client/preview/previewChromeSurface.ts
|
|
60744
60977
|
const PREVIEW_CHROME_THEME_CLASS_NAME = "builder-dashboard-chrome-theme";
|
|
@@ -60934,14 +61167,14 @@ function backgroundCapabilityFromModes(modeCapabilities) {
|
|
|
60934
61167
|
};
|
|
60935
61168
|
}
|
|
60936
61169
|
function parseBackgroundOverrideFromContent(content) {
|
|
60937
|
-
return parseBackgroundOverride((isRecord$
|
|
61170
|
+
return parseBackgroundOverride((isRecord$9(content._sectionStyles) ? content._sectionStyles : null)?.background);
|
|
60938
61171
|
}
|
|
60939
61172
|
function parseBackgroundOverride(value) {
|
|
60940
61173
|
if (value === null || value === void 0) return {
|
|
60941
61174
|
kind: "supported",
|
|
60942
61175
|
override: DEFAULT_BACKGROUND_OVERRIDE
|
|
60943
61176
|
};
|
|
60944
|
-
if (!isRecord$
|
|
61177
|
+
if (!isRecord$9(value)) return {
|
|
60945
61178
|
kind: "legacy",
|
|
60946
61179
|
reason: "unsupported-shape",
|
|
60947
61180
|
background: {}
|
|
@@ -61057,7 +61290,7 @@ function serializeBackgroundOverride(override) {
|
|
|
61057
61290
|
}
|
|
61058
61291
|
}
|
|
61059
61292
|
function applyBackgroundOverrideContentPatch(content, override) {
|
|
61060
|
-
const sectionStyles = isRecord$
|
|
61293
|
+
const sectionStyles = isRecord$9(content._sectionStyles) ? content._sectionStyles : {};
|
|
61061
61294
|
const serialized = serializeBackgroundOverride(override);
|
|
61062
61295
|
if (serialized === null) return withSectionStyles(content, omitRecordKey$1(sectionStyles, "background"));
|
|
61063
61296
|
return withSectionStyles(content, {
|
|
@@ -61286,7 +61519,7 @@ function imageAllowed(mediaId, pool) {
|
|
|
61286
61519
|
return pool?.some((item) => item.mediaId === mediaId) ?? false;
|
|
61287
61520
|
}
|
|
61288
61521
|
function parseImageMediaAssetId(value) {
|
|
61289
|
-
if (!isRecord$
|
|
61522
|
+
if (!isRecord$9(value)) return { kind: "missing" };
|
|
61290
61523
|
if (value.type !== void 0 && value.type !== "image") return { kind: "missing" };
|
|
61291
61524
|
const parsed = parseMediaAssetId(value.assetId);
|
|
61292
61525
|
if (!parsed.ok) return value.assetId === void 0 || value.assetId === null ? { kind: "missing" } : { kind: "invalid" };
|
|
@@ -61327,7 +61560,7 @@ function withSectionStyles(content, sectionStyles) {
|
|
|
61327
61560
|
function omitRecordKey$1(content, key) {
|
|
61328
61561
|
return Object.fromEntries(Object.entries(content).filter(([entryKey]) => entryKey !== key));
|
|
61329
61562
|
}
|
|
61330
|
-
function isRecord$
|
|
61563
|
+
function isRecord$9(value) {
|
|
61331
61564
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
61332
61565
|
}
|
|
61333
61566
|
//#endregion
|
|
@@ -62124,8 +62357,8 @@ function contentWithPreviousLayoutVariant(currentContent, previousContent) {
|
|
|
62124
62357
|
return nextContent;
|
|
62125
62358
|
}
|
|
62126
62359
|
function contentWithPreviousBackground(currentContent, previousContent) {
|
|
62127
|
-
const previousSectionStyles = isRecord$
|
|
62128
|
-
const nextSectionStyles = { ...isRecord$
|
|
62360
|
+
const previousSectionStyles = isRecord$8(previousContent._sectionStyles) ? previousContent._sectionStyles : {};
|
|
62361
|
+
const nextSectionStyles = { ...isRecord$8(currentContent._sectionStyles) ? currentContent._sectionStyles : {} };
|
|
62129
62362
|
if (Object.prototype.hasOwnProperty.call(previousSectionStyles, "background")) nextSectionStyles.background = previousSectionStyles.background;
|
|
62130
62363
|
else delete nextSectionStyles.background;
|
|
62131
62364
|
if (Object.keys(nextSectionStyles).length > 0) return {
|
|
@@ -62138,9 +62371,9 @@ function contentWithPreviousBackground(currentContent, previousContent) {
|
|
|
62138
62371
|
}
|
|
62139
62372
|
function withRuntimeBackgroundImageAsset(content, imageAsset) {
|
|
62140
62373
|
if (!imageAsset) return content;
|
|
62141
|
-
const sectionStyles = isRecord$
|
|
62142
|
-
const background = isRecord$
|
|
62143
|
-
const image = isRecord$
|
|
62374
|
+
const sectionStyles = isRecord$8(content._sectionStyles) ? content._sectionStyles : null;
|
|
62375
|
+
const background = isRecord$8(sectionStyles?.background) ? sectionStyles.background : null;
|
|
62376
|
+
const image = isRecord$8(background?.image) ? background.image : null;
|
|
62144
62377
|
if (!sectionStyles || !background || !image || background.type !== "image") return content;
|
|
62145
62378
|
return {
|
|
62146
62379
|
...content,
|
|
@@ -62153,7 +62386,7 @@ function withRuntimeBackgroundImageAsset(content, imageAsset) {
|
|
|
62153
62386
|
}
|
|
62154
62387
|
};
|
|
62155
62388
|
}
|
|
62156
|
-
function isRecord$
|
|
62389
|
+
function isRecord$8(value) {
|
|
62157
62390
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
62158
62391
|
}
|
|
62159
62392
|
//#endregion
|
|
@@ -62183,7 +62416,7 @@ function rollbackPreviewCustomizeDraftPatch(uiStore, patch) {
|
|
|
62183
62416
|
}
|
|
62184
62417
|
function currentLocalBlockContent(uiStore, targetBlockId) {
|
|
62185
62418
|
const current = uiStore.getState().drafts.getCurrentValues(unsafeAsEditorBlockId(targetBlockId));
|
|
62186
|
-
return isRecord$
|
|
62419
|
+
return isRecord$7(current) ? current : null;
|
|
62187
62420
|
}
|
|
62188
62421
|
function replaceLocalBlockContentWithoutHistory(input) {
|
|
62189
62422
|
const editorBlockId = unsafeAsEditorBlockId(input.targetBlockId);
|
|
@@ -62235,7 +62468,7 @@ function localRuntimeDraftForBlock(input) {
|
|
|
62235
62468
|
}
|
|
62236
62469
|
};
|
|
62237
62470
|
}
|
|
62238
|
-
function isRecord$
|
|
62471
|
+
function isRecord$7(value) {
|
|
62239
62472
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
62240
62473
|
}
|
|
62241
62474
|
//#endregion
|
|
@@ -63064,25 +63297,25 @@ const INITIAL_ONBOARDING_CONFIRMATION_STATE = {
|
|
|
63064
63297
|
resendFeedback: null,
|
|
63065
63298
|
statusLoadFailed: false
|
|
63066
63299
|
};
|
|
63067
|
-
function isRecord$
|
|
63300
|
+
function isRecord$6(value) {
|
|
63068
63301
|
return value !== null && typeof value === "object";
|
|
63069
63302
|
}
|
|
63070
63303
|
function getErrorMessageFromEnvelope(payload, fallback) {
|
|
63071
|
-
const error = isRecord$
|
|
63072
|
-
const message = isRecord$
|
|
63304
|
+
const error = isRecord$6(payload) ? payload.error : null;
|
|
63305
|
+
const message = isRecord$6(error) ? error.message : null;
|
|
63073
63306
|
return typeof message === "string" && message.trim().length > 0 ? message : fallback;
|
|
63074
63307
|
}
|
|
63075
63308
|
function isLaunchReadiness(value) {
|
|
63076
|
-
return isRecord$
|
|
63309
|
+
return isRecord$6(value) && Array.isArray(value.requirements) && typeof value.pendingRequiredCount === "number" && typeof value.pendingRecommendedCount === "number" && typeof value.pendingOptionalCount === "number" && isRecord$6(value.goLiveDecision) && (value.goLiveDecision.kind === "allowed" || value.goLiveDecision.kind === "blocked");
|
|
63077
63310
|
}
|
|
63078
63311
|
function isOnboardingPreviewStatusResponse(value) {
|
|
63079
|
-
return isRecord$
|
|
63312
|
+
return isRecord$6(value) && typeof value.dashboardUnlocked === "boolean" && typeof value.requiresEmailConfirmation === "boolean" && isLaunchReadiness(value.launchReadiness);
|
|
63080
63313
|
}
|
|
63081
63314
|
function isResendOnboardingPreviewConfirmationResponse(value) {
|
|
63082
|
-
return isRecord$
|
|
63315
|
+
return isRecord$6(value) && (value.result === "resent" || value.result === "already_confirmed") && typeof value.dashboardUnlocked === "boolean" && typeof value.requiresEmailConfirmation === "boolean" && isLaunchReadiness(value.launchReadiness);
|
|
63083
63316
|
}
|
|
63084
63317
|
function getSuccessData(payload, isData) {
|
|
63085
|
-
if (!isRecord$
|
|
63318
|
+
if (!isRecord$6(payload) || payload.success !== true || !isData(payload.data)) return null;
|
|
63086
63319
|
return payload.data;
|
|
63087
63320
|
}
|
|
63088
63321
|
function useOnboardingConfirmationCheck(input) {
|
|
@@ -64004,6 +64237,84 @@ function cycleAvailabilityFromFlags(input) {
|
|
|
64004
64237
|
return { kind: "available" };
|
|
64005
64238
|
}
|
|
64006
64239
|
//#endregion
|
|
64240
|
+
//#region ../preview-next/src/client/preview/CustomizeColorTokenPicker.tsx
|
|
64241
|
+
function CustomizeColorTokenPicker({ title, selectedToken, recommendedTokens, advancedTokens = [], disabled = false, columnsClassName = "grid-cols-2", showTitle = true, labelForToken, swatchColorForToken, onChooseToken }) {
|
|
64242
|
+
if (recommendedTokens.length === 0 && advancedTokens.length === 0) return null;
|
|
64243
|
+
const renderGrid = (tokens) => /* @__PURE__ */ jsx("div", {
|
|
64244
|
+
className: `grid gap-1 ${columnsClassName}`,
|
|
64245
|
+
children: tokens.map((token) => /* @__PURE__ */ jsx(ColorTokenButton, {
|
|
64246
|
+
token,
|
|
64247
|
+
label: labelForToken(token),
|
|
64248
|
+
swatchColor: swatchColorForToken(token),
|
|
64249
|
+
selected: selectedToken === token,
|
|
64250
|
+
disabled,
|
|
64251
|
+
onClick: (event) => onChooseToken(token, event)
|
|
64252
|
+
}, token))
|
|
64253
|
+
});
|
|
64254
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
64255
|
+
showTitle ? /* @__PURE__ */ jsx("div", {
|
|
64256
|
+
className: "mb-1 text-xs font-medium text-muted-foreground",
|
|
64257
|
+
children: title
|
|
64258
|
+
}) : null,
|
|
64259
|
+
renderGrid(recommendedTokens),
|
|
64260
|
+
advancedTokens.length > 0 ? /* @__PURE__ */ jsxs("details", {
|
|
64261
|
+
className: "mt-1",
|
|
64262
|
+
children: [/* @__PURE__ */ jsx("summary", {
|
|
64263
|
+
className: "cursor-pointer text-xs text-muted-foreground",
|
|
64264
|
+
children: "More colors"
|
|
64265
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
64266
|
+
className: "mt-1",
|
|
64267
|
+
children: renderGrid(advancedTokens)
|
|
64268
|
+
})]
|
|
64269
|
+
}) : null
|
|
64270
|
+
] });
|
|
64271
|
+
}
|
|
64272
|
+
function CustomizeBackgroundColorPicker({ title = "Colors", selectedToken, recommendedTokens, advancedTokens = [], disabled = false, columnsClassName = "grid-cols-2", defaultSelected = false, defaultLabel = "Default", labelForToken, swatchColorForToken, onChooseDefault, onChooseToken }) {
|
|
64273
|
+
const hasTokens = recommendedTokens.length > 0 || advancedTokens.length > 0;
|
|
64274
|
+
if (!onChooseDefault && !hasTokens) return null;
|
|
64275
|
+
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
64276
|
+
className: "mb-2 flex items-center justify-between gap-2",
|
|
64277
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
64278
|
+
className: "text-xs font-medium text-muted-foreground",
|
|
64279
|
+
children: title
|
|
64280
|
+
}), onChooseDefault ? /* @__PURE__ */ jsx("button", {
|
|
64281
|
+
type: "button",
|
|
64282
|
+
className: `rounded-md border px-2 py-1 text-xs hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50 ${defaultSelected ? "border-foreground" : "bg-background"}`,
|
|
64283
|
+
disabled,
|
|
64284
|
+
onClick: onChooseDefault,
|
|
64285
|
+
children: defaultLabel
|
|
64286
|
+
}) : null]
|
|
64287
|
+
}), hasTokens ? /* @__PURE__ */ jsx(CustomizeColorTokenPicker, {
|
|
64288
|
+
title,
|
|
64289
|
+
selectedToken,
|
|
64290
|
+
recommendedTokens,
|
|
64291
|
+
advancedTokens,
|
|
64292
|
+
disabled,
|
|
64293
|
+
columnsClassName,
|
|
64294
|
+
labelForToken,
|
|
64295
|
+
swatchColorForToken,
|
|
64296
|
+
onChooseToken,
|
|
64297
|
+
showTitle: false
|
|
64298
|
+
}) : null] });
|
|
64299
|
+
}
|
|
64300
|
+
function ColorTokenButton({ token, label, swatchColor, selected, disabled, onClick }) {
|
|
64301
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
64302
|
+
type: "button",
|
|
64303
|
+
className: `flex min-w-0 items-center gap-2 rounded-md border px-2 py-1 text-left text-xs hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50 ${selected ? "border-foreground" : "bg-background"}`,
|
|
64304
|
+
disabled,
|
|
64305
|
+
"aria-label": `Choose ${label}`,
|
|
64306
|
+
onClick,
|
|
64307
|
+
"data-token": token,
|
|
64308
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
64309
|
+
className: "h-3 w-3 shrink-0 rounded-full border",
|
|
64310
|
+
style: { backgroundColor: swatchColor }
|
|
64311
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
64312
|
+
className: "truncate",
|
|
64313
|
+
children: label
|
|
64314
|
+
})]
|
|
64315
|
+
});
|
|
64316
|
+
}
|
|
64317
|
+
//#endregion
|
|
64007
64318
|
//#region ../preview-next/src/client/preview/SiteChromeCustomizeButton.tsx
|
|
64008
64319
|
function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-events-auto absolute right-2 top-2 z-50 opacity-0 transition group-focus-within/site-chrome:opacity-100 group-hover/site-chrome:opacity-100" }) {
|
|
64009
64320
|
const customize = useSiteChromeCustomizeOptional();
|
|
@@ -64103,7 +64414,6 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
64103
64414
|
children: [
|
|
64104
64415
|
controlPlan.cycleRows.map((row) => /* @__PURE__ */ jsx(CustomizeCycleRow, { ...row }, row.label)),
|
|
64105
64416
|
background?.available ? /* @__PURE__ */ jsx(SiteChromeBackgroundPalette, {
|
|
64106
|
-
surface: surfaceState.surface,
|
|
64107
64417
|
background,
|
|
64108
64418
|
applyAllowed: surfaceState.applyAllowed,
|
|
64109
64419
|
onChoose: (override) => customize?.chooseSurfaceBackground(surfaceState.surface, override)
|
|
@@ -64128,7 +64438,7 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
64128
64438
|
})]
|
|
64129
64439
|
}), /* @__PURE__ */ jsxs("label", {
|
|
64130
64440
|
className: "block text-xs font-medium text-muted-foreground",
|
|
64131
|
-
children: [/* @__PURE__ */ jsx("span", { children:
|
|
64441
|
+
children: [/* @__PURE__ */ jsx("span", { children: surfaceState.brandSizeLabel }), /* @__PURE__ */ jsx("select", {
|
|
64132
64442
|
className: "mt-1 h-8 w-full rounded-md border bg-background px-2 text-sm text-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
64133
64443
|
value: surfaceState.logoSize,
|
|
64134
64444
|
onChange: (event) => {
|
|
@@ -64143,6 +64453,23 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
64143
64453
|
})]
|
|
64144
64454
|
})]
|
|
64145
64455
|
}) : null,
|
|
64456
|
+
/* @__PURE__ */ jsx("div", {
|
|
64457
|
+
className: "border-t pt-2",
|
|
64458
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
64459
|
+
type: "button",
|
|
64460
|
+
className: "w-full rounded-md border bg-background px-3 py-2 text-sm font-medium hover:bg-muted",
|
|
64461
|
+
onClick: (event) => {
|
|
64462
|
+
event.preventDefault();
|
|
64463
|
+
event.stopPropagation();
|
|
64464
|
+
requestPreviewSidebarOpen({
|
|
64465
|
+
tab: "editor",
|
|
64466
|
+
designRow: surfaceState.surface === "header" ? "header-style" : "footer"
|
|
64467
|
+
});
|
|
64468
|
+
popover.close();
|
|
64469
|
+
},
|
|
64470
|
+
children: "More options"
|
|
64471
|
+
})
|
|
64472
|
+
}),
|
|
64146
64473
|
surfaceState.diagnostics.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
64147
64474
|
className: "space-y-1 text-xs text-amber-700",
|
|
64148
64475
|
children: surfaceState.diagnostics.map((diagnostic) => /* @__PURE__ */ jsx("li", { children: diagnostic }, diagnostic))
|
|
@@ -64223,77 +64550,32 @@ function chooseSiteChromeCustomizePopoverSide(input) {
|
|
|
64223
64550
|
if (measuredPanelHeight <= availableBelow) return "below";
|
|
64224
64551
|
return availableAbove > availableBelow ? "above" : "below";
|
|
64225
64552
|
}
|
|
64226
|
-
function SiteChromeBackgroundPalette({
|
|
64553
|
+
function SiteChromeBackgroundPalette({ background, applyAllowed, onChoose }) {
|
|
64227
64554
|
const choose = (override) => (event) => {
|
|
64228
64555
|
event.preventDefault();
|
|
64229
64556
|
event.stopPropagation();
|
|
64230
64557
|
onChoose(override);
|
|
64231
64558
|
};
|
|
64232
|
-
return /* @__PURE__ */
|
|
64559
|
+
return /* @__PURE__ */ jsx("div", {
|
|
64233
64560
|
className: "border-t pt-3",
|
|
64234
|
-
children:
|
|
64235
|
-
|
|
64236
|
-
|
|
64237
|
-
|
|
64238
|
-
|
|
64239
|
-
|
|
64240
|
-
|
|
64241
|
-
|
|
64242
|
-
|
|
64243
|
-
|
|
64244
|
-
|
|
64245
|
-
|
|
64246
|
-
|
|
64247
|
-
|
|
64248
|
-
|
|
64249
|
-
|
|
64250
|
-
|
|
64251
|
-
|
|
64252
|
-
surface,
|
|
64253
|
-
selected: background.current.kind === "color" && background.current.token === token,
|
|
64254
|
-
disabled: !applyAllowed,
|
|
64255
|
-
onClick: choose({
|
|
64256
|
-
kind: "color",
|
|
64257
|
-
token
|
|
64258
|
-
})
|
|
64259
|
-
}, token))
|
|
64260
|
-
}),
|
|
64261
|
-
background.advancedTokens.length ? /* @__PURE__ */ jsxs("details", {
|
|
64262
|
-
className: "mt-2",
|
|
64263
|
-
children: [/* @__PURE__ */ jsx("summary", {
|
|
64264
|
-
className: "cursor-pointer text-xs text-muted-foreground",
|
|
64265
|
-
children: "More colors"
|
|
64266
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
64267
|
-
className: "mt-1 grid grid-cols-3 gap-1",
|
|
64268
|
-
children: background.advancedTokens.map((token) => /* @__PURE__ */ jsx(BackgroundSwatchButton, {
|
|
64269
|
-
token,
|
|
64270
|
-
surface,
|
|
64271
|
-
selected: background.current.kind === "color" && background.current.token === token,
|
|
64272
|
-
disabled: !applyAllowed,
|
|
64273
|
-
onClick: choose({
|
|
64274
|
-
kind: "color",
|
|
64275
|
-
token
|
|
64276
|
-
})
|
|
64277
|
-
}, token))
|
|
64278
|
-
})]
|
|
64279
|
-
}) : null
|
|
64280
|
-
]
|
|
64281
|
-
});
|
|
64282
|
-
}
|
|
64283
|
-
function BackgroundSwatchButton({ token, surface, selected, disabled, onClick }) {
|
|
64284
|
-
return /* @__PURE__ */ jsxs("button", {
|
|
64285
|
-
type: "button",
|
|
64286
|
-
className: `flex min-w-0 items-center gap-2 rounded-md border px-2 py-1 text-left text-xs hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50 ${selected ? "border-foreground" : "bg-background"}`,
|
|
64287
|
-
disabled,
|
|
64288
|
-
"aria-label": `Set ${surface} background to ${token}`,
|
|
64289
|
-
onClick,
|
|
64290
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
64291
|
-
className: "h-3 w-3 shrink-0 rounded-full border",
|
|
64292
|
-
style: { backgroundColor: tokenSwatchCss$1(token) }
|
|
64293
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
64294
|
-
className: "truncate",
|
|
64295
|
-
children: formatSiteChromeBackgroundTokenLabel(token)
|
|
64296
|
-
})]
|
|
64561
|
+
children: /* @__PURE__ */ jsx(CustomizeBackgroundColorPicker, {
|
|
64562
|
+
title: "Background colors",
|
|
64563
|
+
defaultSelected: background.current.kind === "default",
|
|
64564
|
+
onChooseDefault: choose({ kind: "default" }),
|
|
64565
|
+
selectedToken: background.current.kind === "color" ? background.current.token : null,
|
|
64566
|
+
recommendedTokens: background.quickTokens,
|
|
64567
|
+
advancedTokens: background.advancedTokens,
|
|
64568
|
+
disabled: !applyAllowed,
|
|
64569
|
+
columnsClassName: "grid-cols-3",
|
|
64570
|
+
labelForToken: formatSiteChromeBackgroundTokenLabel,
|
|
64571
|
+
swatchColorForToken: tokenSwatchCss$1,
|
|
64572
|
+
onChooseToken: (token, event) => {
|
|
64573
|
+
choose({
|
|
64574
|
+
kind: "color",
|
|
64575
|
+
token
|
|
64576
|
+
})(event);
|
|
64577
|
+
}
|
|
64578
|
+
})
|
|
64297
64579
|
});
|
|
64298
64580
|
}
|
|
64299
64581
|
function tokenSwatchCss$1(token) {
|
|
@@ -64565,10 +64847,10 @@ function LinkedEntryEditEventBridge() {
|
|
|
64565
64847
|
//#region ../preview-next/src/client/preview/PreviewShellLayout.tsx
|
|
64566
64848
|
const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
|
|
64567
64849
|
const PreviewEditorSidebar = React.lazy(async () => {
|
|
64568
|
-
return { default: (await import("./PreviewEditorSidebar-
|
|
64850
|
+
return { default: (await import("./PreviewEditorSidebar-DkNpCPja.mjs")).PreviewEditorSidebar };
|
|
64569
64851
|
});
|
|
64570
64852
|
const PreviewEditorUI = React.lazy(async () => {
|
|
64571
|
-
return { default: (await import("./PreviewEditorUI-
|
|
64853
|
+
return { default: (await import("./PreviewEditorUI-DeNKtqk3.mjs")).PreviewEditorUI };
|
|
64572
64854
|
});
|
|
64573
64855
|
const previewPaneContainmentStyle = {
|
|
64574
64856
|
contain: "layout paint",
|
|
@@ -64963,11 +65245,11 @@ function defaultDesignEditorEligibility(input) {
|
|
|
64963
65245
|
//#region ../preview-next/src/client/utils/path.ts
|
|
64964
65246
|
const PATH_SEPARATOR_REGEX = /\./g;
|
|
64965
65247
|
const BRACKET_ACCESS_REGEX = /\[([^\]]+)\]/g;
|
|
64966
|
-
function isRecord$
|
|
65248
|
+
function isRecord$5(value) {
|
|
64967
65249
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
64968
65250
|
}
|
|
64969
65251
|
function isPathContainer(value) {
|
|
64970
|
-
return Array.isArray(value) || isRecord$
|
|
65252
|
+
return Array.isArray(value) || isRecord$5(value);
|
|
64971
65253
|
}
|
|
64972
65254
|
function createPathContainer(nextIsIndex) {
|
|
64973
65255
|
return nextIsIndex ? [] : {};
|
|
@@ -65120,28 +65402,33 @@ function cloneRecord(value) {
|
|
|
65120
65402
|
//#endregion
|
|
65121
65403
|
//#region ../preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.ts
|
|
65122
65404
|
function runtimeContentDecorationProjectionFromEditorModel(editorModel, surfaceResolutionContext, designRules) {
|
|
65405
|
+
const compiled = compileEditorModelRuntime({
|
|
65406
|
+
editorModel,
|
|
65407
|
+
surfaceResolutionContext,
|
|
65408
|
+
designRules
|
|
65409
|
+
});
|
|
65123
65410
|
return {
|
|
65124
65411
|
kind: "runtime-content-decoration",
|
|
65125
65412
|
source: "page-design",
|
|
65126
|
-
fieldsByBlockId:
|
|
65127
|
-
|
|
65128
|
-
surfaceResolutionContext,
|
|
65129
|
-
designRules
|
|
65130
|
-
})
|
|
65413
|
+
fieldsByBlockId: runtimeFieldsByBlockId(compiled.blocks),
|
|
65414
|
+
boundaries: compiled.boundaries
|
|
65131
65415
|
};
|
|
65132
65416
|
}
|
|
65417
|
+
function runtimeFieldsByBlockId(blocks) {
|
|
65418
|
+
return new Map(blocks.map((block) => [block.blockId, block.fields]));
|
|
65419
|
+
}
|
|
65133
65420
|
function applyRuntimeContentDecorationProjection(block, content, projection, adjacency) {
|
|
65134
65421
|
const blockId = designBlockIdFromBlockItem(block);
|
|
65135
65422
|
const retargetedFields = retargetCompiledRuntimeFieldsForContentAdjacency(blockId ? projection.fieldsByBlockId.get(blockId) : void 0, {
|
|
65136
|
-
currentContent: isRecord$
|
|
65423
|
+
currentContent: isRecord$4(content) ? content : null,
|
|
65137
65424
|
nextContent: adjacency?.nextContent
|
|
65138
65425
|
});
|
|
65139
|
-
return applyCompiledRuntimeFieldsToContent(isRecord$
|
|
65426
|
+
return applyCompiledRuntimeFieldsToContent(isRecord$4(content) ? content : {}, retargetedFields);
|
|
65140
65427
|
}
|
|
65141
65428
|
function designBlockIdFromBlockItem(block) {
|
|
65142
65429
|
return typeof block.id === "string" && block.id.length > 0 ? asDesignBlockId(block.id) : null;
|
|
65143
65430
|
}
|
|
65144
|
-
function isRecord$
|
|
65431
|
+
function isRecord$4(value) {
|
|
65145
65432
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
65146
65433
|
}
|
|
65147
65434
|
//#endregion
|
|
@@ -65192,7 +65479,7 @@ function overlayValue(value, overlays) {
|
|
|
65192
65479
|
});
|
|
65193
65480
|
return changed ? next : value;
|
|
65194
65481
|
}
|
|
65195
|
-
if (!isRecord$
|
|
65482
|
+
if (!isRecord$3(value)) return value;
|
|
65196
65483
|
const meta = parseLinkedEntryMeta(value[LINKED_CONTENT_ENTRY_META_KEY]);
|
|
65197
65484
|
if (meta) {
|
|
65198
65485
|
const overlay = overlays.get(unsafeAsLinkedContentEntryId(meta.entryId));
|
|
@@ -65258,7 +65545,7 @@ function resolveOverlayTitle(content, meta) {
|
|
|
65258
65545
|
function parseLinkedEntryMeta(value) {
|
|
65259
65546
|
return getLinkedContentEntryMeta({ [LINKED_CONTENT_ENTRY_META_KEY]: value });
|
|
65260
65547
|
}
|
|
65261
|
-
function isRecord$
|
|
65548
|
+
function isRecord$3(value) {
|
|
65262
65549
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
65263
65550
|
}
|
|
65264
65551
|
//#endregion
|
|
@@ -65300,9 +65587,9 @@ function readProjectedDraftRenderContent(block, editorBlockId, snap, projections
|
|
|
65300
65587
|
return applyPreviewContentFieldProjections(editorBlockId, snap?.current ?? snap?.baseline ?? block.content ?? block.publishedContent ?? null, projections);
|
|
65301
65588
|
}
|
|
65302
65589
|
function renderContent(block, content, projections, linkedEntryOverlays, nextContent) {
|
|
65303
|
-
return applyPreviewRuntimeContentProjections(block, applyLinkedEntryRenderOverlay(content, linkedEntryOverlays), projections, { nextContent: isRecord$
|
|
65590
|
+
return applyPreviewRuntimeContentProjections(block, applyLinkedEntryRenderOverlay(content, linkedEntryOverlays), projections, { nextContent: isRecord$2(nextContent) ? nextContent : null });
|
|
65304
65591
|
}
|
|
65305
|
-
function isRecord$
|
|
65592
|
+
function isRecord$2(value) {
|
|
65306
65593
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
65307
65594
|
}
|
|
65308
65595
|
//#endregion
|
|
@@ -65517,7 +65804,7 @@ const editorRegistry = {
|
|
|
65517
65804
|
};
|
|
65518
65805
|
//#endregion
|
|
65519
65806
|
//#region ../preview-next/src/client/blocks/isRecord.ts
|
|
65520
|
-
function isRecord(value) {
|
|
65807
|
+
function isRecord$1(value) {
|
|
65521
65808
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
65522
65809
|
}
|
|
65523
65810
|
//#endregion
|
|
@@ -65691,7 +65978,7 @@ function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, the
|
|
|
65691
65978
|
const uiStore = useEditorUiStoreInstance();
|
|
65692
65979
|
const editorBlockId = useMemo(() => unsafeAsEditorBlockId(blockId), [blockId]);
|
|
65693
65980
|
const draftContent = useEditorUiStore((state) => state.drafts.getCurrentValues(editorBlockId));
|
|
65694
|
-
const customizeContent = useMemo(() => isRecord(draftContent) ? draftContent : content, [content, draftContent]);
|
|
65981
|
+
const customizeContent = useMemo(() => isRecord$1(draftContent) ? draftContent : content, [content, draftContent]);
|
|
65695
65982
|
const customizeSelection = usePreviewBlockCustomizeSelectionOptional();
|
|
65696
65983
|
const popover = useCustomizePopoverController();
|
|
65697
65984
|
const focusTarget = useMemo(() => computeDefaultFocus(blockKind, customizeContent), [blockKind, customizeContent]);
|
|
@@ -66108,54 +66395,22 @@ function BackgroundChooser({ capability, current, imagePoolStatus, onChoose }) {
|
|
|
66108
66395
|
}, { selectedImage });
|
|
66109
66396
|
setMediaPickerOpenKey(0);
|
|
66110
66397
|
};
|
|
66111
|
-
const renderColorOptions = () =>
|
|
66112
|
-
|
|
66113
|
-
|
|
66114
|
-
|
|
66115
|
-
|
|
66116
|
-
|
|
66117
|
-
|
|
66118
|
-
|
|
66119
|
-
|
|
66120
|
-
|
|
66121
|
-
|
|
66122
|
-
|
|
66123
|
-
|
|
66124
|
-
|
|
66125
|
-
|
|
66126
|
-
|
|
66127
|
-
style: { backgroundColor: tokenSwatchCss(token) }
|
|
66128
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
66129
|
-
className: "truncate",
|
|
66130
|
-
children: formatTokenLabel(token)
|
|
66131
|
-
})]
|
|
66132
|
-
}, token))
|
|
66133
|
-
}),
|
|
66134
|
-
advancedTokens.length ? /* @__PURE__ */ jsxs("details", {
|
|
66135
|
-
className: "mt-1",
|
|
66136
|
-
children: [/* @__PURE__ */ jsx("summary", {
|
|
66137
|
-
className: "cursor-pointer text-xs text-muted-foreground",
|
|
66138
|
-
children: "More colors"
|
|
66139
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
66140
|
-
className: "mt-1 grid grid-cols-2 gap-1",
|
|
66141
|
-
children: advancedTokens.map((token) => /* @__PURE__ */ jsxs("button", {
|
|
66142
|
-
type: "button",
|
|
66143
|
-
className: `flex min-w-0 items-center gap-2 rounded-md border px-2 py-1 text-left text-xs hover:bg-muted ${current.kind === "color" && current.token === token ? "border-foreground" : "bg-background"}`,
|
|
66144
|
-
onClick: chooseFromClick({
|
|
66145
|
-
kind: "color",
|
|
66146
|
-
token
|
|
66147
|
-
}),
|
|
66148
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
66149
|
-
className: "h-3 w-3 shrink-0 rounded-full border",
|
|
66150
|
-
style: { backgroundColor: tokenSwatchCss(token) }
|
|
66151
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
66152
|
-
className: "truncate",
|
|
66153
|
-
children: formatTokenLabel(token)
|
|
66154
|
-
})]
|
|
66155
|
-
}, token))
|
|
66156
|
-
})]
|
|
66157
|
-
}) : null
|
|
66158
|
-
] }) : null;
|
|
66398
|
+
const renderColorOptions = () => /* @__PURE__ */ jsx(CustomizeBackgroundColorPicker, {
|
|
66399
|
+
title: "Colors",
|
|
66400
|
+
selectedToken: current.kind === "color" ? current.token : null,
|
|
66401
|
+
recommendedTokens,
|
|
66402
|
+
advancedTokens,
|
|
66403
|
+
defaultSelected: current.kind === "default",
|
|
66404
|
+
onChooseDefault: capability.modes.includes("default") ? chooseFromClick(defaultBackgroundOverrideForMode("default", capability)) : void 0,
|
|
66405
|
+
labelForToken: formatTokenLabel,
|
|
66406
|
+
swatchColorForToken: tokenSwatchCss,
|
|
66407
|
+
onChooseToken: (token, event) => {
|
|
66408
|
+
chooseFromClick({
|
|
66409
|
+
kind: "color",
|
|
66410
|
+
token
|
|
66411
|
+
})(event);
|
|
66412
|
+
}
|
|
66413
|
+
});
|
|
66159
66414
|
const renderGradientOptions = () => capability.gradientIds?.length ? /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
66160
66415
|
className: "mb-1 text-xs font-medium text-muted-foreground",
|
|
66161
66416
|
children: "Gradients"
|
|
@@ -66260,16 +66515,7 @@ function BackgroundChooser({ capability, current, imagePoolStatus, onChoose }) {
|
|
|
66260
66515
|
return /* @__PURE__ */ jsxs("div", {
|
|
66261
66516
|
className: "mt-2 max-h-80 overflow-y-auto rounded-md border bg-muted/20 p-2",
|
|
66262
66517
|
children: [
|
|
66263
|
-
current.kind === "default"
|
|
66264
|
-
type: "button",
|
|
66265
|
-
className: "flex w-full items-center gap-2 rounded-md border border-foreground bg-background px-2 py-1 text-left text-xs",
|
|
66266
|
-
onClick: chooseFromClick(defaultBackgroundOverrideForMode("default", capability)),
|
|
66267
|
-
children: [/* @__PURE__ */ jsx(BackgroundPreviewSwatch, {
|
|
66268
|
-
override: current,
|
|
66269
|
-
imagePool: images
|
|
66270
|
-
}), /* @__PURE__ */ jsx("span", { children: "Default background" })]
|
|
66271
|
-
}) : null,
|
|
66272
|
-
current.kind === "color" ? renderColorOptions() : null,
|
|
66518
|
+
current.kind === "default" || current.kind === "color" ? renderColorOptions() : null,
|
|
66273
66519
|
current.kind === "gradient" ? renderGradientOptions() : null,
|
|
66274
66520
|
current.kind === "image" ? renderImageOptions() : null
|
|
66275
66521
|
]
|
|
@@ -66297,13 +66543,13 @@ function findFirstFieldPath(fields, data, prefix) {
|
|
|
66297
66543
|
if (Array.isArray(field.visibleRoles) && !field.visibleRoles.includes("author")) continue;
|
|
66298
66544
|
const nextPrefix = [...prefix, field.id];
|
|
66299
66545
|
if (field.type === "group") {
|
|
66300
|
-
const groupValue = isRecord(data) ? data[field.id] : void 0;
|
|
66546
|
+
const groupValue = isRecord$1(data) ? data[field.id] : void 0;
|
|
66301
66547
|
const nested = findFirstFieldPath(field.schema.fields, groupValue, nextPrefix);
|
|
66302
66548
|
if (nested) return nested;
|
|
66303
66549
|
continue;
|
|
66304
66550
|
}
|
|
66305
66551
|
if (field.type === "repeater" && field.schema) {
|
|
66306
|
-
const collection = isRecord(data) ? data[field.id] : void 0;
|
|
66552
|
+
const collection = isRecord$1(data) ? data[field.id] : void 0;
|
|
66307
66553
|
const items = isUnknownArray(collection) ? collection : [];
|
|
66308
66554
|
if (items.length > 0) {
|
|
66309
66555
|
const firstItem = items[0];
|
|
@@ -66831,6 +67077,35 @@ function EditablePageRenderer(props) {
|
|
|
66831
67077
|
uiStore,
|
|
66832
67078
|
renderStateVersion
|
|
66833
67079
|
]) ?? pageRendererProps.page;
|
|
67080
|
+
const runtimeBoundaries = useMemo(() => retargetRuntimeBoundariesForRenderPage(runtimeProjection?.boundaries ?? pageRendererProps.runtimeBoundaries ?? [], renderPage), [
|
|
67081
|
+
pageRendererProps.runtimeBoundaries,
|
|
67082
|
+
renderPage,
|
|
67083
|
+
runtimeProjection
|
|
67084
|
+
]);
|
|
67085
|
+
const renderedBlockById = useMemo(() => {
|
|
67086
|
+
return new Map((renderPage?.blocks ?? []).filter((block) => Boolean(block.id)).map((block) => [block.id, block]));
|
|
67087
|
+
}, [renderPage?.blocks]);
|
|
67088
|
+
const wrapBoundaryWithControl = useCallback((boundary, rendered) => {
|
|
67089
|
+
const previousBlock = renderedBlockById.get(boundary.previousBlockId);
|
|
67090
|
+
const nextBlock = renderedBlockById.get(boundary.nextBlockId);
|
|
67091
|
+
const control = !isEntryTemplatePage && previousBlock && nextBlock ? /* @__PURE__ */ jsx(BoundaryControl, {
|
|
67092
|
+
previousBlockId: asDesignBlockId(boundary.previousBlockId),
|
|
67093
|
+
nextBlockId: asDesignBlockId(boundary.nextBlockId),
|
|
67094
|
+
previousBlockKind: previousBlock.kind,
|
|
67095
|
+
nextBlockKind: nextBlock.kind
|
|
67096
|
+
}) : null;
|
|
67097
|
+
const wrapped = pageRendererProps.wrapBoundary ? pageRendererProps.wrapBoundary(boundary, rendered) : rendered;
|
|
67098
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
67099
|
+
className: "relative",
|
|
67100
|
+
"data-preview-boundary-wrapper": "",
|
|
67101
|
+
"data-boundary-id": boundary.boundaryId,
|
|
67102
|
+
children: [wrapped, control]
|
|
67103
|
+
});
|
|
67104
|
+
}, [
|
|
67105
|
+
isEntryTemplatePage,
|
|
67106
|
+
pageRendererProps.wrapBoundary,
|
|
67107
|
+
renderedBlockById
|
|
67108
|
+
]);
|
|
66834
67109
|
const wrapBlockWithProvider = useCallback((blockId, rendered) => {
|
|
66835
67110
|
const renderedBlocks = renderPage?.blocks ?? [];
|
|
66836
67111
|
const controllerBlockIndex = blockItemsForRender.findIndex((b) => b.id === blockId);
|
|
@@ -66838,9 +67113,6 @@ function EditablePageRenderer(props) {
|
|
|
66838
67113
|
const blockIndex = controllerBlockIndex >= 0 ? controllerBlockIndex : renderedBlockIndex;
|
|
66839
67114
|
const chromeBlocks = controllerBlockIndex >= 0 ? blockItemsForRender : renderedBlocks;
|
|
66840
67115
|
const block = blockIndex >= 0 ? chromeBlocks[blockIndex] ?? null : null;
|
|
66841
|
-
const previousBlock = blockIndex > 0 ? chromeBlocks[blockIndex - 1] ?? null : null;
|
|
66842
|
-
const canonicalBlockIndex = blockItems.findIndex((b) => b.id === blockId);
|
|
66843
|
-
const canonicalPreviousBlock = canonicalBlockIndex > 0 ? blockItems[canonicalBlockIndex - 1] ?? null : null;
|
|
66844
67116
|
const editorBlockId = unsafeAsEditorBlockId(blockId);
|
|
66845
67117
|
if (!block) return /* @__PURE__ */ jsx(EditableBlockProvider, {
|
|
66846
67118
|
blockId,
|
|
@@ -66853,12 +67125,7 @@ function EditablePageRenderer(props) {
|
|
|
66853
67125
|
children: /* @__PURE__ */ jsxs(Fragment$1, { children: [rendered, /* @__PURE__ */ jsxs(Fragment$1, { children: [blockHasPreviewContentFieldProjection(editorBlockId, aiProjections) ? /* @__PURE__ */ jsx("span", {
|
|
66854
67126
|
className: "pointer-events-none absolute left-2 top-2 z-10 rounded-full bg-amber-500/90 px-2 py-0.5 text-[10px] font-semibold uppercase text-white shadow",
|
|
66855
67127
|
children: "AI"
|
|
66856
|
-
}) : null, !isEntryTemplatePage ? /* @__PURE__ */
|
|
66857
|
-
previousBlockId: asDesignBlockId(previousBlock.id),
|
|
66858
|
-
nextBlockId: asDesignBlockId(blockId),
|
|
66859
|
-
previousBlockKind: previousBlock.kind,
|
|
66860
|
-
nextBlockKind: block.kind
|
|
66861
|
-
}) : null, /* @__PURE__ */ jsx(BlockToolbar, {
|
|
67128
|
+
}) : null, !isEntryTemplatePage ? /* @__PURE__ */ jsx(BlockToolbar, {
|
|
66862
67129
|
blockId,
|
|
66863
67130
|
blockKind: block.kind,
|
|
66864
67131
|
content,
|
|
@@ -66869,11 +67136,10 @@ function EditablePageRenderer(props) {
|
|
|
66869
67136
|
blockIndex,
|
|
66870
67137
|
headerClearance
|
|
66871
67138
|
})
|
|
66872
|
-
})
|
|
67139
|
+
}) : null] })] })
|
|
66873
67140
|
});
|
|
66874
67141
|
}, [
|
|
66875
67142
|
aiProjections,
|
|
66876
|
-
blockItems,
|
|
66877
67143
|
blockItemsForRender,
|
|
66878
67144
|
headerClearance,
|
|
66879
67145
|
isEntryTemplatePage,
|
|
@@ -66891,13 +67157,34 @@ function EditablePageRenderer(props) {
|
|
|
66891
67157
|
return /* @__PURE__ */ jsx(PageRenderer, {
|
|
66892
67158
|
...pageRendererProps,
|
|
66893
67159
|
page: renderPage,
|
|
67160
|
+
runtimeBoundaries,
|
|
66894
67161
|
registry: allowInlineEditing ? editorRegistry : pageRendererProps.registry ?? clientComponentRegistry,
|
|
66895
67162
|
wrapBlock: allowInlineEditing ? wrapBlockWithProvider : pageRendererProps.wrapBlock,
|
|
67163
|
+
wrapBoundary: allowInlineEditing ? wrapBoundaryWithControl : pageRendererProps.wrapBoundary,
|
|
66896
67164
|
dataContext,
|
|
66897
67165
|
previewAuthoring,
|
|
66898
67166
|
usePlaceholders: true
|
|
66899
67167
|
});
|
|
66900
67168
|
}
|
|
67169
|
+
function retargetRuntimeBoundariesForRenderPage(boundaries, page) {
|
|
67170
|
+
if (!boundaries?.length) return boundaries;
|
|
67171
|
+
const blockById = new Map(page.blocks.filter((block) => Boolean(block.id)).map((block) => [block.id, block]));
|
|
67172
|
+
return boundaries.map((boundary) => {
|
|
67173
|
+
const currentBlock = blockById.get(boundary.previousBlockId);
|
|
67174
|
+
const nextBlock = blockById.get(boundary.nextBlockId);
|
|
67175
|
+
return retargetCompiledBoundaryRuntimeForContentAdjacency(boundary, {
|
|
67176
|
+
currentContent: renderableBoundaryContent(currentBlock),
|
|
67177
|
+
nextContent: renderableBoundaryContent(nextBlock)
|
|
67178
|
+
});
|
|
67179
|
+
});
|
|
67180
|
+
}
|
|
67181
|
+
function renderableBoundaryContent(block) {
|
|
67182
|
+
const source = block?.draftContent ?? block?.content ?? null;
|
|
67183
|
+
return isRecord(source) ? source : null;
|
|
67184
|
+
}
|
|
67185
|
+
function isRecord(value) {
|
|
67186
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
67187
|
+
}
|
|
66901
67188
|
function usePreviewBlockResolvedData(args) {
|
|
66902
67189
|
const { page, dataContext, apiClient } = args;
|
|
66903
67190
|
const cacheKey = useMemo(() => {
|