@riverbankcms/sdk 0.108.0 → 0.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -1
- package/dist/{PreviewEditorSidebar-BBT-kZAM.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +181 -135
- package/dist/{PreviewEditorUI-D69xNKT2.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
- package/dist/{PreviewQueryProvider-RRu7wyQ5.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CuDjXH6o.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +436 -367
- package/dist/{SiteChromeCustomizeContext-BQUY2dEk.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +3442 -3029
- package/dist/_dts/ai/src/contracts/proposals.d.ts +12633 -10490
- package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +2 -17
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
- package/dist/_dts/api/src/common/envelope.d.ts +7 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
- package/dist/_dts/api/src/courses.d.ts +31 -15
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/endpoints.d.ts +49 -4
- package/dist/_dts/api/src/index.d.ts +3 -3
- package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +259 -1
- package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -6
- package/dist/_dts/api/src/siteOperations.d.ts +11 -19
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -31
- package/dist/_dts/api/src/webhooks.d.ts +98 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
- package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
- package/dist/_dts/blocks/src/client.d.ts +4 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -8
- package/dist/_dts/blocks/src/index.d.ts +4 -2
- package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -23
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +5 -4
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -23
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +5 -1
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +5 -1
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
- package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +10 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -24
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -12
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
- package/dist/_dts/content-editor/src/index.d.ts +12 -12
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
- package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
- package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
- package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
- package/dist/_dts/content-model/src/index.d.ts +3 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3278 -3196
- package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
- package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
- package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
- package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -7
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
- package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
- package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
- package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
- package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +45 -20
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
- package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
- package/dist/_dts/site-commands/src/commands.d.ts +1010 -817
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
- package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -1
- package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
- package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +101 -83
- package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
- package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +87 -126
- package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
- package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
- package/dist/_dts/theme-core/src/schema.d.ts +112 -138
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
- package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -12
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
- package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
- package/dist/cli/index.mjs +68396 -67339
- package/dist/cli/init-docs/content/cli-reference.md +50 -7
- package/dist/cli/init-docs/content/content-management.md +7 -4
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
- package/dist/cli/init-docs/content/workflow-publish.md +5 -1
- package/dist/client/{DiscountCodeDisclosure-D6TOf6Hi.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
- package/dist/client/{EventCombined.client-Dao3zxRk.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
- package/dist/client/{EventListing.client-B2NNt4y1.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BhwFo16w.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
- package/dist/client/{MagicLinkForm-BWnB7cMR.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
- package/dist/client/{StepIndicator-TzRiQ0BY.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
- package/dist/client/{accordion-BPy-AJ4_.mjs → accordion-D8JTs2Si.mjs} +1 -1
- package/dist/client/{bookingForm-BL4PGZds.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
- package/dist/client/bookings.mjs +4649 -2767
- package/dist/client/{carousel-C2b7Cn9-.mjs → carousel-DMr_QWlz.mjs} +1 -1
- package/dist/client/{cart-BQcbXIVD.mjs → cart-DWMbfBdR.mjs} +3 -3
- package/dist/client/{checkout-DEmpGRJu.mjs → checkout-zmfdkXLx.mjs} +3 -3
- package/dist/client/client.mjs +3195 -2488
- package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-gcTh5yZT.mjs} +2 -41
- package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
- package/dist/client/{courseRegistration-BqRZPmsq.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
- package/dist/client/{eventCalendar-B8N_tSl5.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
- package/dist/client/{eventCombined-Gjn6gtq7.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
- package/dist/client/{eventDetails-M-VCxA-r.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
- package/dist/client/{eventListing-DR19hqYi.mjs → eventListing-W1SuL7EP.mjs} +2 -2
- package/dist/client/{eventRegistration-BR02a0k3.mjs → eventRegistration-ClWricui.mjs} +6 -7
- package/dist/client/{form-LY2xIbwg.mjs → form--eKPwAAD.mjs} +1 -2
- package/dist/client/{headerSection-CYwwXJfh.mjs → headerSection-BSeGr-FS.mjs} +2 -3
- package/dist/client/hooks.mjs +2169 -2093
- package/dist/client/{locationMap-DWnBXrFq.mjs → locationMap-BpOrtNYn.mjs} +8 -5
- package/dist/client/{media-DHtSxS5V.mjs → media-DoF0dcVx.mjs} +4 -3
- package/dist/client/{newsletterForm-D9s-fQ2P.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
- package/dist/client/{pricing-DDq80oYc.mjs → pricing-BTjSDDr4.mjs} +1 -1
- package/dist/client/{productDetail-B0SbWd45.mjs → productDetail-ICnVTcCg.mjs} +3 -3
- package/dist/client/{productList-PwYlZn0y.mjs → productList-ZHr6D604.mjs} +3 -3
- package/dist/client/{propsDecoder-BRWBiH7i.mjs → propsDecoder-wWN0tBDF.mjs} +2484 -223
- package/dist/client/rendering/client.mjs +2532 -2144
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +3322 -2462
- package/dist/client/{shop-CMwZPYME.mjs → shop-C1u_BUn0.mjs} +5 -6
- package/dist/client/{shop-commerce-BuxsFate.mjs → shop-commerce-CleZdRha.mjs} +5 -6
- package/dist/client/{shop-commerce-store-boYlEJ91.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
- package/dist/client/{shopShared-D2naaOes.mjs → shopShared-CPhByt2a.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-D9RHpVoj.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
- package/dist/client/{useEventFilters-igGiK1re.mjs → useEventFilters-DKPN7hSY.mjs} +46 -70
- package/dist/client/{usePolling-CI7MbsFB.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +72 -6
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +72 -6
- package/dist/{previewAuthStore-a_cBD28m.mjs → previewAuthStore-BkT1D06A.mjs} +72 -6
- package/dist/{sdk-runtime-MBzD-GmP.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
- package/dist/{separator-5ahRBC85.mjs → separator-Bln8izQ9.mjs} +1 -1
- package/dist/server/components.mjs +3123 -2391
- package/dist/server/config-validation.mjs +2169 -2093
- package/dist/server/config.mjs +2169 -2093
- package/dist/server/data.mjs +2169 -2093
- package/dist/server/date-time.mjs +386 -0
- package/dist/server/index.mjs +73 -7
- package/dist/server/next/revalidate.mjs +53 -1
- package/dist/server/next.mjs +3195 -2397
- package/dist/server/page-converter.mjs +2192 -1945
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2844 -2325
- package/dist/server/rendering.mjs +3123 -2391
- package/dist/server/routing.mjs +2269 -2149
- package/dist/server/server.mjs +2244 -2102
- package/dist/server/theme-bridge.mjs +2720 -1887
- package/dist/server/theme.mjs +1669 -1322
- package/dist/server/webhooks.mjs +54 -2
- package/dist/styles/index.css +5 -0
- package/package.json +7 -1
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
- package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -273
- package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
- package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
- package/dist/client/buttons-EBjyslaX.mjs +0 -1852
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { $ as beginAutosaveBatch, $a as resolveEventCalendarListPageSize, $c as getImageUrl, $d as RotateCcw, $i as NAV_LINK_LETTER_SPACING_MAP, $l as Input, $n as isInternalResolvedLinkValue, $o as resolveEventLinkProps, $r as augmentManifestWithStyleGroups, $s as resolveIconPickerPreset, $t as evaluateVisibility, $u as clsx, Aa as generateCssVars, Ac as XIcon, Ad as unsafeAsAppointmentServiceId, Af as CircleAlert, Ai as mergeHeaderNavTypographyPreference, Al as hasEmptyOption, An as CSS, Ao as generateCardCss, Ar as normalizeEventRegistrationPageSurfaceSubject, As as getFeatureCardIconCompletion, At as canUndoHistory, Au as DropdownMenuItem, Ba as isOfferingsPreviewSourceKey, Bc as resolveMediaNodeResponsiveImage, Bd as X, Bf as Archive, Bi as componentRuntimeRulesForTheme, Bl as Textarea, Bn as projectRecurringSchedule, Bo as normalizeLocationMapProps, Br as buildCartDisplay, Bs as resolveBlockIconRenderValue, Bt as createSnapshotFromPageRecord, Bu as __spreadArray, C as usePreviewThemeOverlay, Cc as MapPinIcon$1, Cd as publicEventTicketTypes, Cf as Crop, Ci as MQ_SM_UP, Cl as getFieldIntent, Cn as closestCenter, Co as normalizeEventCategoryIdsCsv, Cr as WIZARD_STEPS$1, Cs as ICON_CONFIG, Cu as Card, Dc as PlusIcon, Dd as parseMediaAssetId, Df as CirclePlus, Di as boxStylesTransforms, Dl as useBlockContext, Dn as useDroppable, Do as normalizeEventSurfaceScope, Dr as buildGiftingInteractiveIslandProps, Ds as FEATURE_CARD_GENERATED_ICON_SIZE_PX, Dt as useEditorUiStoreInstance, Ec as PlayIcon, Ed as expectParsedBrandedId, Ef as Clock3, Ei as getAnchorClasses, El as isNonEmptyValue, En as useDraggable, Eo as normalizeEventSurfacePresetsCsv, Er as giftingBlockDefinition, Es as mediaSchema, Et as useEditorUiStore, Eu as CardTitle, Fc as computeMediaTransformStyle, Fd as unsafeAsPositiveByteCount$1, Ff as ChevronDown, Fi as retargetCompiledBoundaryRuntimeForContentAdjacency, Fl as useField, Fn as isSupportedLoaderEndpoint, Fo as resolveOnColorForThemeToken, Fr as buildCheckoutInteractiveIslandProps, Fs as toFeatureCardIconSuggestionInputs, Ft as unsafeAsLinkedContentEntryId, Fu as __awaiter, Ga as resolveOfferingsPreviewGroupOrderEntries, Gc as attachRenderableMediaAssetFields, Gd as Ticket, Gi as isThemeV2NormalEditorRawStyleFieldName, Gl as SelectTrigger, Gn as planSiteOverlayHeaderClearance, Go as formatEventPrice, Gr as EMPTY_COMMERCE_CART_STATE, Gs as unwrapRichTextRoot, Gt as usePalette, Gu as useControllableState, Ha as normalizeOfferingsPreviewItemLimit, Hc as setContextResolveImageUrlContext, Hf as __exportAll, Hi as designRuntimeRulesForTheme, Hl as Select, Hn as siteHeaderManifest, Ho as formatDate$3, Hr as buildProductDetailDisplay, Hs as parseGeneratedIconSetId, Hu as useId$1, Ic as getCurrentResolveImageUrlContext, Id as unsafeAsPositiveSeconds, If as Check, Ii as retargetCompiledRuntimeFieldsForContentAdjacency, Il as Tooltip, In as gradientToCss, Io as resolveTokenOrCssColorValue, Ir as buildProductDetailInteractiveIslandProps, Is as buildGeneratedBlockIconRenderAssetLookupFromUnknown, It as recordsEqual, Iu as __extends, Ja as resolveSpacing, Jc as formatAspectRatioToken, Jd as Sparkles, Ji as getComponentBorderWidthPx, Jl as Badge, Jn as mediaTransforms, Jo as formatTime$3, Jr as deriveCommerceCheckoutState, Js as coerceInlineTextWithFallback, Jt as validateBlockManifestIssues, Ju as Primitive, Ka as resolveOfferingsPreviewGroups, Kc as isRotationDimensionSwap, Ki as isThemeV2NormalEditorRawStylePath, Kl as SelectValue, Kn as visibleHeaderClearancePx, Ko as formatEventPriceDisplay, Kr as buildPassCartItem, Ks as isObjectRecord, Kt as recoveryConflictCopy, Ku as createContextScope, La as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Lc as renderAudio, Ld as err$2, Lf as Box, Li as normalEditorCuratedPromotedFieldPaths, Ll as TooltipContent, Ln as GRADIENT_PRESETS, Lo as getTextColorForBackground, Lr as buildProductListInteractiveIslandProps, Ls as getBlockIconSemanticId, Lu as __generator, Ma as runTransforms, Mc as ImagePresets, Md as unsafeAsFormId, Mf as ChevronUp, Mi as formatSiteChromeBackgroundTokenLabel, Ml as mapOptionValueForSelect, Mn as useCombinedRefs, Mo as normalizeBoxStylesCardVariant, Mr as checkoutBlockDefinition, Ms as resolveFeatureCardGeneratedIconSizePx, Mt as pushHistoryEntry, Mu as DropdownMenuSeparator, Na as ctaButton, Nc as MediaPlaceholder, Nd as unsafeAsMediaAssetId, Nf as ChevronRight, Ni as applyCompiledRuntimeFieldsToContent, Nl as unmapValueFromSelect, Nn as useIsomorphicLayoutEffect, No as normalizeCardVariantRole, Nr as cartBlockDefinition, Ns as shouldReserveFeatureCardIconZone, Nt as redoHistory, Nu as DropdownMenuTrigger, Oc as ShoppingCartIcon, Od as parseSiteId, Of as CircleMinus, Oi as resolveSurfaceForegroundStyles, Ol as SdkConfigProvider, On as useSensor, Oo as normalizeEventVenueId, Or as courseRegistrationBlockDefinition, Os as FEATURE_CARD_ICON_TREATMENTS, Ot as useOptionalEditorUiStoreInstance, Ou as DropdownMenu, Pc as buildResolveImageUrlContext, Pd as unsafeAsPassId, Pf as ChevronLeft, Pi as compileEditorModelRuntime, Pl as FieldFrame, Pn as useUniqueId, Po as isCssColorLiteral, Pr as buildCartInteractiveIslandProps, Ps as suggestSemanticIconForFeatureCard, Pt as undoHistory, Pu as __assign, Qa as getEventRuntimeFiltersKey, Qc as getDirectImageUrlForMediaAsset, Qd as Search, Qi as NAV_LINK_BORDER_RADIUS_MAP, Ql as PopoverTrigger, Qn as createManifestValidator, Qo as resolveEventCta, Qr as augmentManifest, Qs as isIconPickerPreset, Qt as FormRenderer, Qu as cn$1, Ra as buildOfferingsPreviewRenderStates, Rc as renderVideo, Rd as ok$3, Rf as ArrowUp, Ri as planPageDesignLayoutLookCompatibility, Rl as TooltipProvider, Rn as getBlockDefinition, Ro as featuresFromHex, Rr as buildShopInteractiveIslandProps, Rs as getGeneratedBlockIconStyleState, Rt as useDebouncedLatestSave, Ru as __read, S as PreviewThemeOverlayProvider, Sa as defaultThemeTokens, Sc as MailIcon, Sd as publicEventScalarPrice, Sf as EllipsisVertical, Si as MQ_SM_DOWN, Sl as useBackendWatch, Sn as PointerSensor, So as normalizeEventBlockKind, Sr as resolveRegistrationTarget, Ss as ACCORDION_TRIGGER_LETTER_SPACING, St as EntryControllerProvider, Su as createCollapsibleScope, Tc as PhoneIcon, Td as assertNever$5, Tf as Copy, Ti as BACKGROUND_POSITION_PRESET_VALUES, Tl as isHeaderField, Tn as useDndContext, To as normalizeEventStaffMemberId, Tr as getWizardStepsForContext$1, Ts as PUBLIC_DOWNLOAD_MEDIA_TYPES, Tu as CardHeader, Ua as resolveOfferingsPreviewCoursePath, Uc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Uf as __toESM, Ui as getCuratedSiteStyle, Ul as SelectContent, Un as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Uo as formatEventCompactDateRail, Ur as formatCommercePrice, Us as parseSiteIconStyleGuideVersionId, Uu as useDirection, Va as normalizeOfferingsPreviewGroupOrder, Vc as resolveMediaStorageUrl, Vd as Upload, Vf as __commonJSMin, Vl as Slider, Vn as siteFooterManifest, Vo as toLocationMapHydrationProps, Vr as buildProductCardDisplay, Vs as parseGeneratedIconAssetId, Vu as __spreadArrays, Wa as resolveOfferingsPreviewGroupCta, Wc as resolveMediaSlotContract, Wd as Trash2, Wi as surfaceResolutionContextFromTheme, Wl as SelectItem, Wn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Wo as formatEventDateParts, Wr as formatInterval, Ws as createRichTextDocFromMarkdown, Wt as PaletteProvider, Wu as createCollection, Xa as eventListPaginationActionSchema, Xc as resolveMediaTransformForAspect, Xi as parseBlockCustomCssRules, Xl as Popover, Xn as uiTransforms, Xo as getContainerClass, Xr as productItemKey, Xs as isInlineTextEmpty, Xt as createManifestFormAdapter, Xu as cva, Ya as buildEventRuntimeFilters, Yc as parseAspectRatioValue, Yi as getComponentShadowVar, Yn as layoutTransforms, Yo as getCardOrientation, Yr as parseStoredCommerceCartState, Ys as inlineTextToPlainText, Yt as ManifestForm, Yu as Button, Za as eventPageSizeSchema, Zc as asRecord, Zd as Settings, Zi as parseCustomCssRules, Zl as PopoverContent, Zn as formattingTransforms, Zo as groupEventsByDate, Zr as reduceCommerceCart, Zs as parseInlineTextFromUnknown, Zu as useComposedRefs, _a as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, _c as FileArchiveIcon, _d as parseEventPageSurfaceSubject, _f as FilePlay, _i as PUBLIC_FILE_FIELD_KINDS, _l as rgbColorValue, _n as DEFAULT_LAUNCH_READINESS_INPUT, _o as when, _r as toRegistrationEvents, _s as asDesignBlockId, _t as EditorProvider, _u as CollapsibleContent, aa as INPUT_SPACING_MAP, ac as ArrowRightIcon, ad as unsafeAsEditorBlockValues, ai as blogFeaturedPostFragment, al as generateButtonCss, an as createBlock, ao as columnOptionSchema, ar as newsletterSignupBlockDefinition, as as blockBookingPaymentTermsSchema, au as List, b as PreviewDesignCoordinatorProvider, ba as foregroundTokenForBackgroundAppearanceColorToken, bc as FileTextIcon, bd as publicEventPricingMode, bi as MQ_MD_DOWN, bl as surfaceForegroundDeclarations, bn as DndContext, bo as eventScheduleScopeValues, br as resolveDiscountContext, bs as ACCORDION_SPACING_MAP, bt as useUISelector, bu as Root, cc as ChevronDownIcon, cd as formatBookingDateTime, cf as LoaderCircle, ci as formCopyFragment, cl as generateBaseInteractiveCSS, cn as deleteBlock, co as eventLayoutSchema, cr as buildEventListingInteractiveIslandProps, cs as defineInteractiveIslandMetaKeys, ct as PreviewRichTextEditor, cu as ScrollableDialogContent, dc as ChevronUpIcon, dd as formatLocalScheduleDate, df as ImagePlus, di as ctaCopyFragment, dl as parseThemeButtonVariantId, do as weekStartSchema, dr as buildEventCalendarListingDisplay, ds as defineProgressiveBlockRuntime, dt as useRichTextEditor, du as DialogContent, ea as NAV_LINK_PADDING_MAP, ec as SEMANTIC_ICON_DEFINITIONS, ed as parseFooterModuleId, ei as richTextFragment, el as getAtPath, en as createStoreBackend, eo as resolveEventListPaginationAction, er as ImageResolveContextProvider, es as getEventAvailability, et as confirmAutosaveBatch, eu as Tabs, f as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, fa as boundaryRuntimeMetricsForTransition, fc as CircleMinusIcon, fd as getBookingLocalDateKey, ff as ImageOff, fi as heroCtaRowFragment, fl as themeButtonClassName, fn as mutateBlockContent, fo as eventCalendarListLayoutCompatibleDisplayModeValues, fr as buildEventCalendarListingRender, ft as EMPTY_DOC, fu as DialogDescription, ga as sectionTransitionVariantForBoundaryOptionId, gc as ExternalLinkIcon, gd as toScheduledBookingDateTime, gf as FileSpreadsheet, gi as defineFragment, gl as mergeStyles, gn as decodePublicProductCategorySelectorQuery, go as richText, gr as buildEventRegistrationInteractiveIslandProps, gs as planSiteChromePlacement, gt as InlineTextEditor, gu as Collapsible, ha as sectionTransitionFamilyForBoundaryOptionId, hc as DownloadIcon, hd as toBookingTimeZone, hf as FileText, hi as bodyCopyFragment, hl as cssVarValue, hn as reorderPageSurfaceSlotBlocks, ho as el, hr as eventRegistrationBlockDefinition, hs as splitPositioningClasses, ht as insertOrReplaceRichTextImage, hu as DialogTitle, i as usePreviewDesignHistoryOrder, ia as INPUT_FONT_SIZE_MAP, ic as ArrowLeftIcon, id as unsafeAsEditorBlockId, ii as faqHeadingFragment, il as AFFORDANCE_SUPPRESS_CLASS, in as getPageDesignEditorState, io as calendarTabViewsSchema, ir as productDetailBlockDefinition, is as resolveRuntimeEventPricing, it as rejectAutosaveBatch, iu as Content$1, ja as createTransformRegistry, jc as createIcon, jd as unsafeAsCustomerPassId, jf as ChevronsUpDown, ji as readHeaderNavFontSizePreference, jl as mapCurrentValueForSelect, jn as isKeyboardEvent, jo as generateShadowValue, jr as resolveEventRegistrationScopedEvents, js as parseFeatureCardGeneratedIconSizePx, jt as createHistoryState, ka as expandPalette, kc as UploadIcon, kd as unsafeAsAppointmentResourceId, kf as CircleCheck, ki as resolveBackgroundColorValue, kl as useSdkConfig, kn as useSensors, ko as publicEventSchema, kr as buildCourseRegistrationInteractiveIslandProps, ks as createFeatureCardIconKey, kt as canRedoHistory, ku as DropdownMenuContent, lc as ChevronLeftIcon, ld as formatBookingInstant, lf as Image, li as testimonialsCarouselFragment, ll as generateInteractiveChildInheritanceCSS, ln as deleteEntrySlotBlock, lo as filterAutoShowSchema, lr as eventCalendarBlockDefinition, ls as createZodCodec, lt as PreviewInlineTextEditor, lu as Dialog, ma as sectionTransitionFamilies, mc as ClockIcon$1, md as resolveBookingTimeZoneId, mf as File, mi as heroCopyFragment, ml as borderColorStyle, mn as reorderEntrySlotBlocks, mo as bind, mr as buildFormInteractiveIslandProps, ms as markEditableSurfaceForwarding, mt as getRichTextImagePositionFromTarget, mu as DialogHeader, n as useSiteChromeCustomizeOptional, na as NAV_LINK_TEXT_SIZE_MAP, nc as isSemanticIconId, nd as createEditorRemoveBlockCommand, nf as Pencil, ni as cardFragment, nn as toRoutableLinkPayload, no as normalizeCsvString, nr as shopBlockDefinition, ns as getLocalDateKey, nt as enqueueTransaction, nu as TabsList, oa as LABEL_FONT_SIZE_MAP, oc as CalendarIcon$1, od as addLocalScheduleDays, of as Minus, oi as singleButtonFragment, ol as generateEffectsCSS, on as createEntrySlotBlock, oo as eventButtonVariantSchema, or as buildNewsletterFormInteractiveIslandProps, os as buildInteractiveIslandProps, ot as resolvePreviewSidebarTab, ou as Root2$1, p as reportPreviewDesignError, pa as defaultSectionTransitionVariantForFamily, pc as CirclePlusIcon, pd as parseBookingLocalDate, pf as GripVertical, pi as ctaRowFragment, pl as backgroundColorStyle, pn as reorderBlocks, po as eventCalendarListLayoutOptions, pr as formBlockDefinition, ps as composeHeaderSectionWrapperClassName, pt as RichTextEditorSurface, pu as DialogFooter, qa as isSemanticSpacing, qc as normalizeRightAngle, qd as Star, qi as pageDesignEditorBackgroundOverrideOwner, ql as Label, qn as contentTransforms, qo as formatEventTeacherLine, qr as buildProductCartItem, qs as isRecord$21, qt as unfinishedBlockCopy, qu as composeEventHandlers, r as PreviewDesignHistoryOrderProvider, ra as FONT_WEIGHT_MAP, rc as ArrowDownIcon, rd as createEditorReorderBlocksCommand, ri as faqAccordionFragment, rn as applyPageDesignEditorAction, ro as normalizeOptionalId, rr as productListBlockDefinition, rs as getLocalMinuteOfDay, rt as idleEditorTransactionQueueState, ru as TabsTrigger, sc as CheckIcon$1, sd as formatBookingDate, si as formEmbedFragment, sl as generateShadowValue$1, sn as createPageSurfaceSlotBlock, so as eventCalendarDefaultViewSchema, sr as eventListingBlockDefinition, ss as createInteractiveIslandCodec, su as Trigger$1, t as SiteChromeCustomizeProvider, ta as NAV_LINK_PADDING_X_MAP, tc as getSemanticIconComponent, td as createEditorInsertBlockCommand, tf as Plus, ti as headingFragment, tl as siblingPath$1, tn as listContentTypes, to as normalizeCsvIds, tr as useImageResolveContextOptional, ts as getEventAvailabilityStatus, tt as deriveTransactionCapabilities, tu as TabsContent, u as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, uc as ChevronRightIcon, ud as formatBookingTime, uf as ImageUp, ui as testimonialsHeadingFragment, ul as TokenResolver, un as deletePageSurfaceSlotBlock, uo as previewStageSchema, ur as buildEventCalendarInteractiveIslandProps, us as defineClientOwnedBlockRuntime, ut as PreviewTextEditor, uu as DialogClose, va as backgroundAppearanceColorTokenNames, vc as FileAudioIcon, vd as formatBookingPriceDisplay, vf as FileHeadphone, vi as siteOptionSources, vl as textColorStyle, vn as deriveLaunchReadiness, vo as bindingSchema, vr as findEventByOccurrenceId, vs as assertNever$6, vt as useEditor, wc as MinusIcon, wd as formatCurrencyAmount, wf as CreditCard, wi as MQ_TABLET_ONLY, wl as getModalConfig, wn as getClientRect, wo as normalizeEventScheduleScope, wr as getStepNumber$1, ws as ICON_SIZE_PX, wt as useEntryEditorController, wu as CardContent, xa as parseBackgroundAppearanceColorToken, xc as InfoIcon, xd as publicEventPricingType, xf as EyeOff, xi as MQ_MD_UP, xl as surfaceForegroundValue, xn as KeyboardCode, xo as eventSurfaceScopeValues, xr as resolveEventRequiresPayment, xs as ACCORDION_TRIGGER_FONT_SCALE, xt as EditableBlockProvider, xu as Trigger, ya as backgroundAppearanceQuickColorTokenNames, yc as FileSpreadsheetIcon, yd as publicEventPricingCurrency, yf as FileArchive, yi as MQ_LG_UP, yl as DEFAULT_SURFACE_TEXT_COLOR, yn as AMBIENT_BACKGROUND_ROLES$1, yo as eventBlockKindValues, yr as findPreSelectedEvent, ys as ACCORDION_OPEN_ACCENT_THICKNESS, yu as Content, za as inferLegacyOfferingsPreviewGroupOrder, zc as resolveImageUrlWithContext, zd as lucide_react_exports, zf as ArrowDown, zi as resolveVisiblePromotedFieldPathsForEditorBlock, zl as TooltipTrigger, zn as listBlockDescriptors, zo as buildGoogleMapsDirectionsUrl, zr as getShopDisplayForItems, zs as parseBlockIconValue, zt as createRoutingHelpers, zu as __rest } from "./SiteChromeCustomizeContext-BQUY2dEk.mjs";
|
|
3
|
-
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-
|
|
4
|
-
import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, l as ApiEnvelopeError, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-
|
|
2
|
+
import { $ as confirmAutosaveBatch, $a as resolveEventListPaginationAction, $c as getImageUrl, $d as Sparkles, $i as NAV_LINK_TEXT_SIZE_MAP, $l as Badge, $n as shopBlockDefinition, $o as getLocalDateKey, $r as cardFragment, $s as resolveIconPickerPreset, $t as createStoreBackend, $u as Primitive, Aa as createTransformRegistry, Ac as XIcon, Ad as assertNever$5, Af as Copy, Ai as applyCompiledRuntimeFieldsToContent, Al as isHeaderField, An as isKeyboardEvent, Ao as generateShadowValue, Ar as cartBlockDefinition, As as shouldReserveFeatureCardIconZone, At as createHistoryState, Au as CardHeader, Ba as normalizeOfferingsPreviewGroupOrder, Bc as resolveMediaNodeResponsiveImage, Bd as unsafeAsPositiveByteCount$1, Bf as Check, Bi as getCuratedSiteStyle, Bl as useField, Bn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Bo as formatEventCompactDateRail, Br as formatCommercePrice, Bs as parseSiteIconStyleGuideVersionId, Bu as __awaiter, Cc as MapPinIcon$1, Cd as formatBookingPriceDisplay, Cf as FileHeadphone, Ci as getAnchorClasses, Cl as textColorStyle, Cn as getClientRect, Co as normalizeEventScheduleScope, Cr as giftingBlockDefinition, Cs as mediaSchema, Ct as useEntryEditorController, Dc as PlusIcon, Dd as publicEventScalarPrice, Df as EllipsisVertical, Di as mergeHeaderNavTypographyPreference, Dl as useBackendWatch, Dn as useSensor, Do as normalizeEventVenueId, Dr as normalizeEventRegistrationPageSurfaceSubject, Ds as getFeatureCardIconCompletion, Dt as useOptionalEditorUiStoreInstance, Du as createCollapsibleScope, Ec as PlayIcon, Ed as publicEventPricingType, Ef as EyeOff, Ei as resolveBackgroundColorValue, El as surfaceForegroundValue, En as useDroppable, Eo as normalizeEventSurfaceScope, Er as buildCourseRegistrationInteractiveIslandProps, Es as createFeatureCardIconKey, Et as useEditorUiStoreInstance, Eu as Trigger, Fc as computeMediaTransformStyle, Fd as unsafeAsAppointmentServiceId, Ff as CircleAlert, Fi as planPageDesignLayoutLookCompatibility, Fl as hasEmptyOption, Fn as getBlockDefinition, Fo as resolveTokenOrCssColorValue, Fr as buildShopInteractiveIslandProps, Fs as getGeneratedBlockIconStyleState, Ft as recordsEqual, Fu as DropdownMenuItem, Ga as resolveOfferingsPreviewGroups, Gc as attachRenderableMediaAssetFields, Gd as X, Gf as __commonJSMin, Gi as getComponentBorderWidthPx, Gl as Textarea, Gn as mediaTransforms, Go as formatTime$3, Gr as deriveCommerceCheckoutState, Gs as coerceInlineTextWithFallback, Gt as recoveryConflictCopy, Gu as __spreadArray, Ha as resolveOfferingsPreviewCoursePath, Hc as setContextResolveImageUrlContext, Hd as err$2, Hf as ArrowUp, Hi as isThemeV2NormalEditorRawStyleFieldName, Hl as TooltipContent, Hn as planSiteOverlayHeaderClearance, Ho as formatEventPrice, Hr as EMPTY_COMMERCE_CART_STATE, Hs as unwrapRichTextRoot, Hu as __generator, Ia as OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, Ic as getCurrentResolveImageUrlContext, Id as unsafeAsCustomerPassId, If as ChevronsUpDown, Ii as resolveVisiblePromotedFieldPathsForEditorBlock, Il as mapCurrentValueForSelect, In as listBlockDescriptors, Io as buildGoogleMapsDirectionsUrl, Ir as getShopDisplayForItems, Is as parseBlockIconValue, Ja as buildEventRuntimeFilters, Jc as formatAspectRatioToken, Ji as parseCustomCssRules, Jl as SelectContent, Jn as formattingTransforms, Jo as groupEventsByDate, Jr as reduceCommerceCart, Js as parseInlineTextFromUnknown, Jt as ManifestForm, Ju as useDirection, Ka as isSemanticSpacing, Kc as isRotationDimensionSwap, Kd as Upload, Kf as __exportAll, Ki as getComponentShadowVar, Kl as Slider, Kn as layoutTransforms, Ko as getCardOrientation, Kr as parseStoredCommerceCartState, Ks as inlineTextToPlainText, Kt as unfinishedBlockCopy, Ku as __spreadArrays, La as buildOfferingsPreviewRenderStates, Lc as renderAudio, Ld as unsafeAsFormId, Lf as ChevronRight, Li as componentRuntimeRulesForTheme, Ll as mapOptionValueForSelect, Ln as projectRecurringSchedule, Lo as normalizeLocationMapProps, Lr as buildCartDisplay, Ls as resolveBlockIconRenderValue, Lt as useDebouncedLatestSave, Lu as DropdownMenuSeparator, Ma as ctaButton, Mc as ImagePresets, Md as parseMediaAssetId, Mf as CirclePlus, Mi as retargetCompiledBoundaryRuntimeForContentAdjacency, Ml as useBlockContext, Mn as useIsomorphicLayoutEffect, Mo as normalizeCardVariantRole, Mr as buildCheckoutInteractiveIslandProps, Ms as toFeatureCardIconSuggestionInputs, Mt as redoHistory, Nc as MediaPlaceholder, Nd as parseSiteId, Nf as CircleMinus, Ni as retargetCompiledRuntimeFieldsForContentAdjacency, Nl as SdkConfigProvider, Nn as useUniqueId, No as isCssColorLiteral, Nr as buildProductDetailInteractiveIslandProps, Ns as buildGeneratedBlockIconRenderAssetLookupFromUnknown, Nt as undoHistory, Nu as DropdownMenu, Oc as ShoppingCartIcon, Od as publicEventTicketTypes, Of as Crop, Oi as readHeaderNavFontSizePreference, Ol as getFieldIntent, On as useSensors, Oo as publicEventSchema, Or as resolveEventRegistrationScopedEvents, Os as parseFeatureCardGeneratedIconSizePx, Ot as canRedoHistory, Ou as Card, Pc as buildResolveImageUrlContext, Pd as unsafeAsAppointmentResourceId, Pf as CircleCheck, Pi as normalEditorCuratedPromotedFieldPaths, Pl as useSdkConfig, Pn as isSupportedLoaderEndpoint, Po as resolveOnColorForThemeToken, Pr as buildProductListInteractiveIslandProps, Ps as getBlockIconSemanticId, Pt as unsafeAsLinkedContentEntryId, Pu as DropdownMenuContent, Q as beginAutosaveBatch, Qa as resolveEventCalendarListPageSize, Qc as getDirectImageUrlForMediaAsset, Qd as Star, Qi as NAV_LINK_PADDING_X_MAP, Ql as Label, Qn as useImageResolveContextOptional, Qo as getEventAvailabilityStatus, Qr as headingFragment, Qs as isIconPickerPreset, Qt as evaluateVisibility, Qu as composeEventHandlers, Ra as inferLegacyOfferingsPreviewGroupOrder, Rc as renderVideo, Rd as unsafeAsMediaAssetId, Rf as ChevronLeft, Rl as unmapValueFromSelect, Rn as siteFooterManifest, Ro as toLocationMapHydrationProps, Rr as buildProductCardDisplay, Rs as parseGeneratedIconAssetId, Rt as createRoutingHelpers, Ru as DropdownMenuTrigger, S as usePreviewThemeOverlay, Sa as defaultThemeTokens, Sc as MailIcon, Sd as parseEventPageSurfaceSubject, Sf as FilePlay, Si as BACKGROUND_POSITION_PRESET_VALUES, Sl as rgbColorValue, Sn as closestCenter, So as normalizeEventCategoryIdsCsv, Sr as getWizardStepsForContext$1, Ss as PUBLIC_DOWNLOAD_MEDIA_TYPES, Su as CollapsibleContent, Tc as PhoneIcon, Td as publicEventPricingMode, Ti as resolveSurfaceForegroundStyles, Tl as surfaceForegroundDeclarations, Tn as useDraggable, To as normalizeEventSurfacePresetsCsv, Tr as courseRegistrationBlockDefinition, Ts as FEATURE_CARD_ICON_TREATMENTS, Tt as useEditorUiStore, Tu as Root, Ua as resolveOfferingsPreviewGroupCta, Uc as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, Ud as ok$3, Uf as ArrowDown, Ui as isThemeV2NormalEditorRawStylePath, Ul as TooltipProvider, Un as visibleHeaderClearancePx, Uo as formatEventPriceDisplay, Ur as buildPassCartItem, Us as isObjectRecord, Ut as PaletteProvider, Uu as __read, Va as normalizeOfferingsPreviewItemLimit, Vc as resolveMediaStorageUrl, Vd as unsafeAsPositiveSeconds, Vf as Box, Vi as surfaceResolutionContextFromTheme, Vl as Tooltip, Vn as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Vo as formatEventDateParts, Vr as formatInterval, Vs as createRichTextDocFromMarkdown, Vu as __extends, Wa as resolveOfferingsPreviewGroupOrderEntries, Wc as resolveMediaSlotContract, Wd as lucide_react_exports, Wf as Archive, Wi as pageDesignEditorBackgroundOverrideOwner, Wl as TooltipTrigger, Wn as contentTransforms, Wo as formatEventTeacherLine, Wr as buildProductCartItem, Ws as isRecord$20, Wt as usePalette, Wu as __rest, Xa as eventPageSizeSchema, Xc as resolveMediaTransformForAspect, Xd as Ticket, Xi as NAV_LINK_LETTER_SPACING_MAP, Xl as SelectTrigger, Xn as isInternalResolvedLinkValue, Xo as resolveEventLinkProps, Xr as augmentManifestWithStyleGroups, Xs as canonicalizePersistedBlockButtonRole, Xu as useControllableState, Ya as eventListPaginationActionSchema, Yc as parseAspectRatioValue, Yd as Trash2, Yi as NAV_LINK_BORDER_RADIUS_MAP, Yl as SelectItem, Yn as createManifestValidator, Yo as resolveEventCta, Yr as augmentManifest, Ys as BLOCK_BUTTON_ROLE_OPTIONS, Yt as createManifestFormAdapter, Yu as createCollection, Za as getEventRuntimeFiltersKey, Zc as asRecord, Zi as NAV_LINK_PADDING_MAP, Zl as SelectValue, Zn as ImageResolveContextProvider, Zo as getEventAvailability, Zr as richTextFragment, Zs as isBlockButtonRole, Zt as FormRenderer, Zu as createContextScope, _a as BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO, _c as FileArchiveIcon, _d as getBookingLocalDateKey, _f as ImageOff, _i as MQ_MD_DOWN, _l as parseThemeButtonVariantId, _n as deriveLaunchReadiness, _o as bindingSchema, _r as resolveDiscountContext, _s as ACCORDION_SPACING_MAP, _t as useEditor, _u as DialogDescription, ac as ArrowRightIcon, ad as parseFooterModuleId, ai as formCopyFragment, an as createEntrySlotBlock, ao as eventButtonVariantSchema, ar as buildEventListingInteractiveIslandProps, as as defineInteractiveIslandMetaKeys, at as resolvePreviewSidebarTab, au as Tabs, ba as foregroundTokenForBackgroundAppearanceColorToken, bc as FileTextIcon, bd as toBookingTimeZone, bf as FileText, bi as MQ_SM_UP, bl as cssVarValue, bn as KeyboardCode, bo as eventSurfaceScopeValues, br as WIZARD_STEPS$1, bs as ICON_CONFIG, bt as EditableBlockProvider, bu as DialogTitle, ca as GRADIENT_PRESETS, cc as ChevronDownIcon, cd as createEditorReorderBlocksCommand, ci as ctaCopyFragment, cl as generateButtonCss, cn as deleteEntrySlotBlock, co as filterAutoShowSchema, cr as buildEventCalendarListingDisplay, cs as defineProgressiveBlockRuntime, ct as PreviewInlineTextEditor, cu as TabsTrigger, da as parseGradientPresetId, dc as ChevronUpIcon, dd as addLocalScheduleDays, df as Minus, di as heroCopyFragment, dl as featuresFromHex, dn as mutateBlockContent, do as eventCalendarListLayoutCompatibleDisplayModeValues, dr as buildFormInteractiveIslandProps, ds as markEditableSurfaceForwarding, dt as EMPTY_DOC, du as Root2$1, ea as FONT_WEIGHT_MAP, ec as SEMANTIC_ICON_DEFINITIONS, ed as Button, ei as faqAccordionFragment, el as getAtPath, en as listContentTypes, eo as normalizeCsvIds, er as productListBlockDefinition, es as getLocalMinuteOfDay, et as deriveTransactionCapabilities, f as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, fa as boundaryRuntimeMetricsForTransition, fc as CircleMinusIcon, fd as formatBookingDate, fi as bodyCopyFragment, fl as generateEffectsCSS, fn as reorderBlocks, fo as eventCalendarListLayoutOptions, fr as eventRegistrationBlockDefinition, fs as splitPositioningClasses, ft as RichTextEditorSurface, fu as Trigger$1, ga as sectionTransitionVariantForBoundaryOptionId, gc as ExternalLinkIcon, gd as formatLocalScheduleDate, gf as ImagePlus, gi as MQ_LG_UP, gl as TokenResolver, gn as DEFAULT_LAUNCH_READINESS_INPUT, go as when, gr as findPreSelectedEvent, gs as ACCORDION_OPEN_ACCENT_THICKNESS, gt as EditorProvider, gu as DialogContent, ha as sectionTransitionFamilyForBoundaryOptionId, hc as DownloadIcon, hd as formatBookingTime, hf as ImageUp, hi as siteOptionSources, hl as generateInteractiveChildInheritanceCSS, hn as decodePublicProductCategorySelectorQuery, ho as richText, hr as findEventByOccurrenceId, hs as assertNever$6, ht as InlineTextEditor, hu as DialogClose, i as usePreviewDesignHistoryOrder, ic as ArrowLeftIcon, id as clsx, if as RotateCcw, ii as formEmbedFragment, in as createBlock, io as columnOptionSchema, ir as eventListingBlockDefinition, is as createInteractiveIslandCodec, iu as Input, ja as runTransforms, jc as createIcon, jd as expectParsedBrandedId, jf as Clock3, ji as compileEditorModelRuntime, jl as isNonEmptyValue, jn as useCombinedRefs, jo as normalizeBoxStylesCardVariant, jr as buildCartInteractiveIslandProps, js as suggestSemanticIconForFeatureCard, jt as pushHistoryEntry, ju as CardTitle, ka as generateCssVars, kc as UploadIcon, kd as formatCurrencyAmount, kf as CreditCard, ki as formatSiteChromeBackgroundTokenLabel, kl as getModalConfig, kn as CSS, ko as generateCardCss, kr as checkoutBlockDefinition, ks as resolveFeatureCardGeneratedIconSizePx, kt as canUndoHistory, ku as CardContent, la as GRADIENT_PRESET_IDS, lc as ChevronLeftIcon, ld as unsafeAsEditorBlockId, li as heroCtaRowFragment, ll as expandPalette, ln as deletePageSurfaceSlotBlock, lo as previewStageSchema, lr as buildEventCalendarListingRender, lt as PreviewTextEditor, lu as Content$1, ma as sectionTransitionFamilies, mc as ClockIcon$1, md as formatBookingInstant, mf as Image, mi as PUBLIC_FILE_FIELD_KINDS, ml as generateBaseInteractiveCSS, mn as reorderPageSurfaceSlotBlocks, mo as el, mr as toRegistrationEvents, ms as asDesignBlockId, mt as insertOrReplaceRichTextImage, mu as Dialog, n as useSiteChromeCustomizeOptional, na as INPUT_SPACING_MAP, nc as isSemanticIconId, nd as useComposedRefs, nf as Settings, ni as blogFeaturedPostFragment, nn as applyPageDesignEditorAction, no as normalizeOptionalId, nr as newsletterSignupBlockDefinition, ns as blockBookingPaymentTermsSchema, nt as idleEditorTransactionQueueState, nu as PopoverContent, oc as CalendarIcon$1, od as createEditorInsertBlockCommand, of as Plus, oi as testimonialsCarouselFragment, on as createPageSurfaceSlotBlock, oo as eventCalendarDefaultViewSchema, or as eventCalendarBlockDefinition, os as createZodCodec, ou as TabsContent, p as reportPreviewDesignError, pa as defaultSectionTransitionVariantForFamily, pc as CirclePlusIcon, pd as formatBookingDateTime, pf as LoaderCircle, pi as defineFragment, pl as generateShadowValue$1, pn as reorderEntrySlotBlocks, po as bind, pr as buildEventRegistrationInteractiveIslandProps, ps as planSiteChromePlacement, pt as getRichTextImagePositionFromTarget, pu as ScrollableDialogContent, qa as resolveSpacing, qc as normalizeRightAngle, qf as __toESM, qi as parseBlockCustomCssRules, ql as Select, qn as uiTransforms, qo as getContainerClass, qr as productItemKey, qs as isInlineTextEmpty, qt as validateBlockManifestIssues, qu as useId$1, r as PreviewDesignHistoryOrderProvider, ra as LABEL_FONT_SIZE_MAP, rc as ArrowDownIcon, rd as cn$1, rf as Search, ri as singleButtonFragment, rn as getPageDesignEditorState, ro as calendarTabViewsSchema, rr as buildNewsletterFormInteractiveIslandProps, rs as buildInteractiveIslandProps, rt as rejectAutosaveBatch, ru as PopoverTrigger, sa as gradientToCss, sc as CheckIcon$1, sd as createEditorRemoveBlockCommand, sf as Pencil, si as testimonialsHeadingFragment, sl as AFFORDANCE_SUPPRESS_CLASS, sn as deleteBlock, so as eventLayoutSchema, sr as buildEventCalendarInteractiveIslandProps, ss as defineClientOwnedBlockRuntime, st as PreviewRichTextEditor, su as TabsList, t as SiteChromeCustomizeProvider, ta as INPUT_FONT_SIZE_MAP, tc as getSemanticIconComponent, td as cva, ti as faqHeadingFragment, tl as siblingPath$1, tn as toRoutableLinkPayload, to as normalizeCsvString, tr as productDetailBlockDefinition, ts as resolveRuntimeEventPricing, tt as enqueueTransaction, tu as Popover, u as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, ua as getGradientPreset, uc as ChevronRightIcon, ud as unsafeAsEditorBlockValues, ui as ctaRowFragment, ul as getTextColorForBackground, uo as weekStartSchema, ur as formBlockDefinition, us as composeHeaderSectionWrapperClassName, ut as useRichTextEditor, uu as List, va as backgroundAppearanceColorTokenNames, vc as FileAudioIcon, vd as parseBookingLocalDate, vf as GripVertical, vi as MQ_MD_UP, vl as themeButtonClassName, vn as AMBIENT_BACKGROUND_ROLES$1, vo as eventBlockKindValues, vr as resolveEventRequiresPayment, vs as ACCORDION_TRIGGER_FONT_SCALE, vu as DialogFooter, wc as MinusIcon, wd as publicEventPricingCurrency, wf as FileArchive, wi as boxStylesTransforms, wl as DEFAULT_SURFACE_TEXT_COLOR, wn as useDndContext, wo as normalizeEventStaffMemberId, wr as buildGiftingInteractiveIslandProps, ws as FEATURE_CARD_GENERATED_ICON_SIZE_PX, wu as Content, x as PreviewThemeOverlayProvider, xa as parseBackgroundAppearanceColorToken, xc as InfoIcon, xd as toScheduledBookingDateTime, xf as FileSpreadsheet, xi as MQ_TABLET_ONLY, xl as mergeStyles, xn as PointerSensor, xo as normalizeEventBlockKind, xr as getStepNumber$1, xs as ICON_SIZE_PX, xt as EntryControllerProvider, xu as Collapsible, y as PreviewDesignCoordinatorProvider, ya as backgroundAppearanceQuickColorTokenNames, yc as FileSpreadsheetIcon, yd as resolveBookingTimeZoneId, yf as File, yi as MQ_SM_DOWN, yl as backgroundColorStyle, yn as DndContext, yo as eventScheduleScopeValues, yr as resolveRegistrationTarget, ys as ACCORDION_TRIGGER_LETTER_SPACING, yt as useUISelector, yu as DialogHeader, za as isOfferingsPreviewSourceKey, zc as resolveImageUrlWithContext, zd as unsafeAsPassId, zf as ChevronDown, zi as designRuntimeRulesForTheme, zl as FieldFrame, zn as siteHeaderManifest, zo as formatDate$3, zr as buildProductDetailDisplay, zs as parseGeneratedIconSetId, zt as createSnapshotFromPageRecord, zu as __assign } from "./SiteChromeCustomizeContext-DOSDLCiJ.mjs";
|
|
3
|
+
import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-kkmjklLG.mjs";
|
|
4
|
+
import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, l as ApiEnvelopeError, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-BkT1D06A.mjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
import React, { Children, Component, Fragment, cloneElement, createContext, createElement, createRef, forwardRef, isValidElement, memo, startTransition, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1280,7 +1280,7 @@ var BlockApiError = class extends Error {
|
|
|
1280
1280
|
this.name = "BlockApiError";
|
|
1281
1281
|
}
|
|
1282
1282
|
};
|
|
1283
|
-
function isRecord$
|
|
1283
|
+
function isRecord$19(value) {
|
|
1284
1284
|
return typeof value === "object" && value !== null;
|
|
1285
1285
|
}
|
|
1286
1286
|
function isJsonResponseContentType(contentType) {
|
|
@@ -1304,8 +1304,8 @@ async function parseJsonBody(response) {
|
|
|
1304
1304
|
}
|
|
1305
1305
|
}
|
|
1306
1306
|
function getBlockApiErrorDetails(data) {
|
|
1307
|
-
if (!isRecord$
|
|
1308
|
-
const nestedError = isRecord$
|
|
1307
|
+
if (!isRecord$19(data)) return {};
|
|
1308
|
+
const nestedError = isRecord$19(data.error) ? data.error : void 0;
|
|
1309
1309
|
return {
|
|
1310
1310
|
message: typeof nestedError?.message === "string" ? nestedError.message : typeof data.message === "string" ? data.message : void 0,
|
|
1311
1311
|
code: typeof nestedError?.code === "string" ? nestedError.code : typeof data.code === "string" ? data.code : void 0
|
|
@@ -2737,7 +2737,7 @@ function resolveButtonAffordance(input) {
|
|
|
2737
2737
|
function coerceRichTextDoc(value) {
|
|
2738
2738
|
const raw = unwrapRichTextRoot(value);
|
|
2739
2739
|
if (typeof raw === "string") return createRichTextDocFromMarkdown(raw);
|
|
2740
|
-
if (isRecord$
|
|
2740
|
+
if (isRecord$20(raw) && typeof raw.type === "string") return raw;
|
|
2741
2741
|
return null;
|
|
2742
2742
|
}
|
|
2743
2743
|
//#endregion
|
|
@@ -2822,7 +2822,7 @@ const ButtonNode = ({ value, children, href, variantId = "primary", size = "md",
|
|
|
2822
2822
|
return null;
|
|
2823
2823
|
}
|
|
2824
2824
|
const extraClassName = affordanceIcon ? [className, AFFORDANCE_SUPPRESS_CLASS].filter(Boolean).join(" ") : className;
|
|
2825
|
-
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
2825
|
+
const resolvedVariantId = parseThemeButtonVariantId(canonicalizePersistedBlockButtonRole(variantId));
|
|
2826
2826
|
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
2827
2827
|
variant: resolvedVariantId,
|
|
2828
2828
|
size,
|
|
@@ -2881,7 +2881,7 @@ const IconNode = ({ value, title, className, blockId: _blockId, blockKind: _bloc
|
|
|
2881
2881
|
};
|
|
2882
2882
|
//#endregion
|
|
2883
2883
|
//#region ../blocks/src/system/icons/generatedAssets.ts
|
|
2884
|
-
function isRecord$
|
|
2884
|
+
function isRecord$18(value) {
|
|
2885
2885
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2886
2886
|
}
|
|
2887
2887
|
function generatedIconAssetRefKey(ref) {
|
|
@@ -2891,11 +2891,11 @@ function collectGeneratedIconAssetRefs(page) {
|
|
|
2891
2891
|
const blocks = [];
|
|
2892
2892
|
for (const block of page.blocks) {
|
|
2893
2893
|
if (block.kind !== "block.feature-cards" || typeof block.id !== "string") continue;
|
|
2894
|
-
const content = isRecord$
|
|
2894
|
+
const content = isRecord$18(block.draftContent) ? block.draftContent : isRecord$18(block.content) ? block.content : null;
|
|
2895
2895
|
const cards = Array.isArray(content?.cards) ? content.cards : [];
|
|
2896
2896
|
const refs = /* @__PURE__ */ new Map();
|
|
2897
2897
|
for (const card of cards) {
|
|
2898
|
-
if (!isRecord$
|
|
2898
|
+
if (!isRecord$18(card)) continue;
|
|
2899
2899
|
const icon = parseBlockIconValue(card.icon);
|
|
2900
2900
|
if (icon.kind !== "generated") continue;
|
|
2901
2901
|
const ref = {
|
|
@@ -3017,12 +3017,6 @@ const MediaNodeServer = ({ value, className, style, videoPlayback = "inline", lo
|
|
|
3017
3017
|
};
|
|
3018
3018
|
//#endregion
|
|
3019
3019
|
//#region ../blocks/src/system/runtime/nodes/file-download.tsx
|
|
3020
|
-
const FILE_DOWNLOAD_BUTTON_VARIANTS = [
|
|
3021
|
-
"primary",
|
|
3022
|
-
"secondary",
|
|
3023
|
-
"outline",
|
|
3024
|
-
"link"
|
|
3025
|
-
];
|
|
3026
3020
|
function isDownloadableMediaType(type) {
|
|
3027
3021
|
return typeof type === "string" && PUBLIC_DOWNLOAD_MEDIA_TYPES.includes(type);
|
|
3028
3022
|
}
|
|
@@ -3054,7 +3048,7 @@ function iconForMediaType(type) {
|
|
|
3054
3048
|
}
|
|
3055
3049
|
}
|
|
3056
3050
|
function normalizeButtonVariant(value) {
|
|
3057
|
-
return
|
|
3051
|
+
return isBlockButtonRole(value) ? value : "primary";
|
|
3058
3052
|
}
|
|
3059
3053
|
function FileDownloadNode({ value, title, description, buttonLabel, buttonVariant, className }) {
|
|
3060
3054
|
if (!value || !isDownloadableMediaType(value.type)) return null;
|
|
@@ -3932,12 +3926,12 @@ function resolveBookingSiteId(siteId, form) {
|
|
|
3932
3926
|
return siteId || form?.siteId || "";
|
|
3933
3927
|
}
|
|
3934
3928
|
function normalizeBookingFormConfig(form) {
|
|
3935
|
-
if (!isRecord$
|
|
3929
|
+
if (!isRecord$17(form)) return null;
|
|
3936
3930
|
const id = readNonEmptyString(form.id);
|
|
3937
3931
|
const name = readNonEmptyString(form.name);
|
|
3938
3932
|
if (!id || !name) return null;
|
|
3939
|
-
const schemaSource = isRecord$
|
|
3940
|
-
const settingsSource = isRecord$
|
|
3933
|
+
const schemaSource = isRecord$17(form.schema) ? form.schema : isRecord$17(form.schemaJson) ? form.schemaJson : null;
|
|
3934
|
+
const settingsSource = isRecord$17(form.settings) ? form.settings : isRecord$17(form.settingsJson) ? form.settingsJson : null;
|
|
3941
3935
|
return {
|
|
3942
3936
|
id,
|
|
3943
3937
|
name,
|
|
@@ -3957,8 +3951,8 @@ function normalizeBookingServices(services) {
|
|
|
3957
3951
|
};
|
|
3958
3952
|
if (!services) return [];
|
|
3959
3953
|
if (Array.isArray(services)) return services.filter(isBookingFormService).map(normalizeService);
|
|
3960
|
-
if (isRecord$
|
|
3961
|
-
return isRecord$
|
|
3954
|
+
if (isRecord$17(services) && "services" in services) return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
|
|
3955
|
+
return isRecord$17(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
|
|
3962
3956
|
}
|
|
3963
3957
|
function normalizeBookingSchema(value) {
|
|
3964
3958
|
if (!value) return void 0;
|
|
@@ -3969,7 +3963,7 @@ function normalizeBookingSchema(value) {
|
|
|
3969
3963
|
};
|
|
3970
3964
|
}
|
|
3971
3965
|
function readBookingFormField(value) {
|
|
3972
|
-
if (!isRecord$
|
|
3966
|
+
if (!isRecord$17(value)) return null;
|
|
3973
3967
|
const id = readNonEmptyString(value.id);
|
|
3974
3968
|
const label = readNonEmptyString(value.label);
|
|
3975
3969
|
const type = readBookingFieldType(value.type);
|
|
@@ -4013,7 +4007,7 @@ function readBookingFieldOptions(value) {
|
|
|
4013
4007
|
return options.length > 0 ? options : void 0;
|
|
4014
4008
|
}
|
|
4015
4009
|
function readBookingFieldOption(value) {
|
|
4016
|
-
if (!isRecord$
|
|
4010
|
+
if (!isRecord$17(value)) return null;
|
|
4017
4011
|
const optionValue = readNonEmptyString(value.value);
|
|
4018
4012
|
const label = readNonEmptyString(value.label);
|
|
4019
4013
|
return optionValue && label ? {
|
|
@@ -4033,7 +4027,7 @@ function normalizeBookingSettings(value) {
|
|
|
4033
4027
|
};
|
|
4034
4028
|
}
|
|
4035
4029
|
function isBookingFormService(value) {
|
|
4036
|
-
return isRecord$
|
|
4030
|
+
return isRecord$17(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
4037
4031
|
}
|
|
4038
4032
|
function collectBookingCustomFields(data) {
|
|
4039
4033
|
const customFields = {};
|
|
@@ -4083,7 +4077,7 @@ function readStringArray(value) {
|
|
|
4083
4077
|
const strings = value.filter((item) => typeof item === "string");
|
|
4084
4078
|
return strings.length > 0 ? strings : void 0;
|
|
4085
4079
|
}
|
|
4086
|
-
function isRecord$
|
|
4080
|
+
function isRecord$17(value) {
|
|
4087
4081
|
return typeof value === "object" && value !== null;
|
|
4088
4082
|
}
|
|
4089
4083
|
function getBookingServicePaymentSelectionMode(service) {
|
|
@@ -5653,8 +5647,11 @@ function LocationMapView({ addressText, location, zoom, heightPx, showAddressTex
|
|
|
5653
5647
|
href: directionsUrl,
|
|
5654
5648
|
target: "_blank",
|
|
5655
5649
|
rel: "noreferrer",
|
|
5656
|
-
className:
|
|
5657
|
-
|
|
5650
|
+
className: themeButtonClassName({
|
|
5651
|
+
variant: "ghost",
|
|
5652
|
+
size: "sm",
|
|
5653
|
+
extraClassName: "rb-w-fit"
|
|
5654
|
+
}),
|
|
5658
5655
|
children: directionsLabel
|
|
5659
5656
|
}) : null
|
|
5660
5657
|
]
|
|
@@ -7375,7 +7372,11 @@ function WeeklySlotAvailabilityView({ availability, loading = false, error, empt
|
|
|
7375
7372
|
]
|
|
7376
7373
|
}),
|
|
7377
7374
|
resolvedCtaUrl ? /* @__PURE__ */ jsx("a", {
|
|
7378
|
-
className:
|
|
7375
|
+
className: themeButtonClassName({
|
|
7376
|
+
variant: "ghost",
|
|
7377
|
+
size: "sm",
|
|
7378
|
+
extraClassName: "weekly-slot-availability__cta"
|
|
7379
|
+
}),
|
|
7379
7380
|
href: buildSlotCtaUrl(resolvedCtaUrl, slot),
|
|
7380
7381
|
"aria-label": buildSlotCtaLabel(resolvedCtaText, slot),
|
|
7381
7382
|
children: resolvedCtaText
|
|
@@ -18732,7 +18733,7 @@ function resolveHasCoursePayment(pricing) {
|
|
|
18732
18733
|
if (pricing.selectedOption) return pricing.selectedRequiresPayment;
|
|
18733
18734
|
return pricing.hasPaidSelection;
|
|
18734
18735
|
}
|
|
18735
|
-
function useCourseRegistrationWizard(props) {
|
|
18736
|
+
function useCourseRegistrationWizard(props, options = {}) {
|
|
18736
18737
|
const api = useBlockApi();
|
|
18737
18738
|
const { contentEntry, courses, entrySubrouteContext, subject } = props;
|
|
18738
18739
|
const scopedCourses = useMemo(() => {
|
|
@@ -18979,21 +18980,34 @@ function useCourseRegistrationWizard(props) {
|
|
|
18979
18980
|
setStep("enter-details");
|
|
18980
18981
|
};
|
|
18981
18982
|
const handleSubmit = async () => {
|
|
18982
|
-
if (!selectedCourse) return
|
|
18983
|
-
|
|
18983
|
+
if (!selectedCourse) return {
|
|
18984
|
+
kind: "blocked",
|
|
18985
|
+
message: "Choose an available set of dates to continue."
|
|
18986
|
+
};
|
|
18987
|
+
if (!handleValidateForm()) return { kind: "validation-failed" };
|
|
18984
18988
|
if (missingPricingSelectionMessage) {
|
|
18985
18989
|
setErrorMessage(missingPricingSelectionMessage);
|
|
18986
18990
|
setStep("error");
|
|
18987
|
-
return
|
|
18991
|
+
return {
|
|
18992
|
+
kind: "blocked",
|
|
18993
|
+
message: missingPricingSelectionMessage
|
|
18994
|
+
};
|
|
18988
18995
|
}
|
|
18989
18996
|
const requiresPayment = selectedCoursePricing?.selectedRequiresPayment ?? false;
|
|
18990
18997
|
const canUseMembership = requiresPayment && selectedCourse.acceptsMemberships && portalAuthState === "authenticated" && eligibleMemberships.length > 0;
|
|
18991
18998
|
if (showSpamProtection && !altchaSolution) {
|
|
18992
|
-
|
|
18999
|
+
const message = "Please complete the verification check.";
|
|
19000
|
+
setErrorMessage(message);
|
|
18993
19001
|
setStep("error");
|
|
18994
|
-
return
|
|
19002
|
+
return {
|
|
19003
|
+
kind: "blocked",
|
|
19004
|
+
message
|
|
19005
|
+
};
|
|
18995
19006
|
}
|
|
18996
|
-
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return
|
|
19007
|
+
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return {
|
|
19008
|
+
kind: "blocked",
|
|
19009
|
+
message: courseEligibility.reason ?? "This course is fully booked."
|
|
19010
|
+
};
|
|
18997
19011
|
if (courseEligibility?.canJoinWaitlist) {
|
|
18998
19012
|
setStep("submitting");
|
|
18999
19013
|
try {
|
|
@@ -19014,15 +19028,20 @@ function useCourseRegistrationWizard(props) {
|
|
|
19014
19028
|
usedMembership: false
|
|
19015
19029
|
});
|
|
19016
19030
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
19031
|
+
return { kind: "state-updated" };
|
|
19017
19032
|
} catch (error) {
|
|
19018
|
-
|
|
19033
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
19034
|
+
setErrorMessage(message);
|
|
19019
19035
|
setStep("error");
|
|
19036
|
+
return {
|
|
19037
|
+
kind: "failed",
|
|
19038
|
+
message
|
|
19039
|
+
};
|
|
19020
19040
|
}
|
|
19021
|
-
return;
|
|
19022
19041
|
}
|
|
19023
19042
|
if (requiresPayment && canUseMembership) {
|
|
19024
19043
|
setStep("select-payment");
|
|
19025
|
-
return;
|
|
19044
|
+
return { kind: "state-updated" };
|
|
19026
19045
|
}
|
|
19027
19046
|
if (requiresPayment) {
|
|
19028
19047
|
setStep("submitting");
|
|
@@ -19048,16 +19067,24 @@ function useCourseRegistrationWizard(props) {
|
|
|
19048
19067
|
usedMembership: false
|
|
19049
19068
|
});
|
|
19050
19069
|
setStep("success");
|
|
19051
|
-
return;
|
|
19070
|
+
return { kind: "state-updated" };
|
|
19052
19071
|
}
|
|
19053
19072
|
if (!checkoutResult.checkoutUrl) throw new Error("Checkout URL missing");
|
|
19054
19073
|
setStep("redirecting");
|
|
19055
|
-
|
|
19056
|
-
|
|
19074
|
+
if (options.onCheckoutRedirect) options.onCheckoutRedirect(checkoutResult.checkoutUrl);
|
|
19075
|
+
else window.location.href = checkoutResult.checkoutUrl;
|
|
19076
|
+
return {
|
|
19077
|
+
kind: "checkout-redirect",
|
|
19078
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
19079
|
+
};
|
|
19057
19080
|
} catch (error) {
|
|
19058
|
-
|
|
19081
|
+
const message = error instanceof Error ? error.message : "Checkout failed";
|
|
19082
|
+
setErrorMessage(message);
|
|
19059
19083
|
setStep("error");
|
|
19060
|
-
return
|
|
19084
|
+
return {
|
|
19085
|
+
kind: "failed",
|
|
19086
|
+
message
|
|
19087
|
+
};
|
|
19061
19088
|
}
|
|
19062
19089
|
}
|
|
19063
19090
|
setStep("submitting");
|
|
@@ -19079,35 +19106,58 @@ function useCourseRegistrationWizard(props) {
|
|
|
19079
19106
|
usedMembership: result.paymentMethod === "membership"
|
|
19080
19107
|
});
|
|
19081
19108
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
19109
|
+
return { kind: "state-updated" };
|
|
19082
19110
|
} catch (error) {
|
|
19083
|
-
|
|
19111
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
19112
|
+
setErrorMessage(message);
|
|
19084
19113
|
setStep("error");
|
|
19114
|
+
return {
|
|
19115
|
+
kind: "failed",
|
|
19116
|
+
message
|
|
19117
|
+
};
|
|
19085
19118
|
}
|
|
19086
19119
|
};
|
|
19087
19120
|
const handlePaymentContinue = async () => {
|
|
19088
|
-
if (!selectedCourse) return
|
|
19089
|
-
|
|
19121
|
+
if (!selectedCourse) return {
|
|
19122
|
+
kind: "blocked",
|
|
19123
|
+
message: "Choose an available set of dates to continue."
|
|
19124
|
+
};
|
|
19125
|
+
if (!handleValidateForm()) return { kind: "validation-failed" };
|
|
19090
19126
|
if (missingPricingSelectionMessage) {
|
|
19091
19127
|
setErrorMessage(missingPricingSelectionMessage);
|
|
19092
19128
|
setStep("error");
|
|
19093
|
-
return
|
|
19129
|
+
return {
|
|
19130
|
+
kind: "blocked",
|
|
19131
|
+
message: missingPricingSelectionMessage
|
|
19132
|
+
};
|
|
19094
19133
|
}
|
|
19095
19134
|
const requiresPayment = selectedCoursePricing?.selectedRequiresPayment ?? false;
|
|
19096
|
-
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return
|
|
19135
|
+
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return {
|
|
19136
|
+
kind: "blocked",
|
|
19137
|
+
message: courseEligibility.reason ?? "This course is fully booked."
|
|
19138
|
+
};
|
|
19097
19139
|
if (!requiresPayment) {
|
|
19098
19140
|
setStep("enter-details");
|
|
19099
|
-
return;
|
|
19141
|
+
return { kind: "state-updated" };
|
|
19100
19142
|
}
|
|
19101
19143
|
if (showSpamProtection && !altchaSolution) {
|
|
19102
|
-
|
|
19144
|
+
const message = "Please complete the verification check.";
|
|
19145
|
+
setErrorMessage(message);
|
|
19103
19146
|
setStep("error");
|
|
19104
|
-
return
|
|
19147
|
+
return {
|
|
19148
|
+
kind: "blocked",
|
|
19149
|
+
message
|
|
19150
|
+
};
|
|
19105
19151
|
}
|
|
19106
19152
|
if (paymentChoice === "membership") {
|
|
19107
19153
|
if (!selectedMembershipId) {
|
|
19108
|
-
|
|
19154
|
+
const message = "Select a membership to sign up.";
|
|
19155
|
+
setErrorMessage(message);
|
|
19109
19156
|
setStep("error");
|
|
19110
|
-
return
|
|
19157
|
+
return {
|
|
19158
|
+
kind: "blocked",
|
|
19159
|
+
message
|
|
19160
|
+
};
|
|
19111
19161
|
}
|
|
19112
19162
|
setStep("submitting");
|
|
19113
19163
|
try {
|
|
@@ -19129,11 +19179,16 @@ function useCourseRegistrationWizard(props) {
|
|
|
19129
19179
|
usedMembership: true
|
|
19130
19180
|
});
|
|
19131
19181
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
19182
|
+
return { kind: "state-updated" };
|
|
19132
19183
|
} catch (error) {
|
|
19133
|
-
|
|
19184
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
19185
|
+
setErrorMessage(message);
|
|
19134
19186
|
setStep("error");
|
|
19187
|
+
return {
|
|
19188
|
+
kind: "failed",
|
|
19189
|
+
message
|
|
19190
|
+
};
|
|
19135
19191
|
}
|
|
19136
|
-
return;
|
|
19137
19192
|
}
|
|
19138
19193
|
setStep("submitting");
|
|
19139
19194
|
try {
|
|
@@ -19158,14 +19213,24 @@ function useCourseRegistrationWizard(props) {
|
|
|
19158
19213
|
usedMembership: false
|
|
19159
19214
|
});
|
|
19160
19215
|
setStep("success");
|
|
19161
|
-
return;
|
|
19216
|
+
return { kind: "state-updated" };
|
|
19162
19217
|
}
|
|
19163
19218
|
if (!checkoutResult.checkoutUrl) throw new Error("Checkout URL missing");
|
|
19164
19219
|
setStep("redirecting");
|
|
19165
|
-
|
|
19220
|
+
if (options.onCheckoutRedirect) options.onCheckoutRedirect(checkoutResult.checkoutUrl);
|
|
19221
|
+
else window.location.href = checkoutResult.checkoutUrl;
|
|
19222
|
+
return {
|
|
19223
|
+
kind: "checkout-redirect",
|
|
19224
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
19225
|
+
};
|
|
19166
19226
|
} catch (error) {
|
|
19167
|
-
|
|
19227
|
+
const message = error instanceof Error ? error.message : "Checkout failed";
|
|
19228
|
+
setErrorMessage(message);
|
|
19168
19229
|
setStep("error");
|
|
19230
|
+
return {
|
|
19231
|
+
kind: "failed",
|
|
19232
|
+
message
|
|
19233
|
+
};
|
|
19169
19234
|
}
|
|
19170
19235
|
};
|
|
19171
19236
|
const handleRetry = () => {
|
|
@@ -20084,7 +20149,7 @@ const LEAFLET_JS_INTEGRITY = "sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo
|
|
|
20084
20149
|
let leafletLoaded = false;
|
|
20085
20150
|
let leafletLoadPromise = null;
|
|
20086
20151
|
function isLeafletApi(value) {
|
|
20087
|
-
if (!isRecord$
|
|
20152
|
+
if (!isRecord$20(value)) return false;
|
|
20088
20153
|
return typeof value.map === "function" && typeof value.tileLayer === "function" && typeof value.marker === "function";
|
|
20089
20154
|
}
|
|
20090
20155
|
function loadLeaflet() {
|
|
@@ -21406,7 +21471,7 @@ Autoplay.globalOptions = void 0;
|
|
|
21406
21471
|
function isObject$2(subject) {
|
|
21407
21472
|
return Object.prototype.toString.call(subject) === "[object Object]";
|
|
21408
21473
|
}
|
|
21409
|
-
function isRecord$
|
|
21474
|
+
function isRecord$16(subject) {
|
|
21410
21475
|
return isObject$2(subject) || Array.isArray(subject);
|
|
21411
21476
|
}
|
|
21412
21477
|
function canUseDOM() {
|
|
@@ -21421,7 +21486,7 @@ function areOptionsEqual(optionsA, optionsB) {
|
|
|
21421
21486
|
const valueA = optionsA[key];
|
|
21422
21487
|
const valueB = optionsB[key];
|
|
21423
21488
|
if (typeof valueA === "function") return `${valueA}` === `${valueB}`;
|
|
21424
|
-
if (!isRecord$
|
|
21489
|
+
if (!isRecord$16(valueA) || !isRecord$16(valueB)) return valueA === valueB;
|
|
21425
21490
|
return areOptionsEqual(valueA, valueB);
|
|
21426
21491
|
});
|
|
21427
21492
|
}
|
|
@@ -27978,7 +28043,7 @@ function WeeklySlotAvailabilityClient({ serviceId, resourceId, horizonWeeks, tim
|
|
|
27978
28043
|
}
|
|
27979
28044
|
//#endregion
|
|
27980
28045
|
//#region ../blocks/src/system/runtime/components/registry.client.tsx
|
|
27981
|
-
function isRecord$
|
|
28046
|
+
function isRecord$15(value) {
|
|
27982
28047
|
return typeof value === "object" && value !== null;
|
|
27983
28048
|
}
|
|
27984
28049
|
function buildRenderFromLooseProps(runtime, mode, props) {
|
|
@@ -27997,12 +28062,12 @@ function withRuntimeBackedEnvelope(source, runtime, render) {
|
|
|
27997
28062
|
function normalizeLegacyInteractiveRenderProps(runtime, mode, props) {
|
|
27998
28063
|
const source = props;
|
|
27999
28064
|
const render = props["render"];
|
|
28000
|
-
if (!isRecord$
|
|
28001
|
-
if (isRecord$
|
|
28065
|
+
if (!isRecord$15(render)) return withRuntimeBackedEnvelope(source, runtime, buildRenderFromLooseProps(runtime, mode, props));
|
|
28066
|
+
if (isRecord$15(render["hydration"])) return withRuntimeBackedEnvelope(source, runtime, {
|
|
28002
28067
|
...render,
|
|
28003
28068
|
mode
|
|
28004
28069
|
});
|
|
28005
|
-
if (!isRecord$
|
|
28070
|
+
if (!isRecord$15(render["display"])) return withRuntimeBackedEnvelope(source, runtime, buildRenderFromLooseProps(runtime, mode, props));
|
|
28006
28071
|
const { display, mode: _legacyMode, ...legacyHydration } = render;
|
|
28007
28072
|
return withRuntimeBackedEnvelope(source, runtime, {
|
|
28008
28073
|
display,
|
|
@@ -28219,9 +28284,9 @@ function appendBackgroundMediaClasses(baseClassName, input) {
|
|
|
28219
28284
|
].filter(Boolean).join(" ");
|
|
28220
28285
|
}
|
|
28221
28286
|
function gradientPresetCss(value) {
|
|
28222
|
-
|
|
28223
|
-
|
|
28224
|
-
|
|
28287
|
+
const presetId = parseGradientPresetId(value);
|
|
28288
|
+
if (!presetId) return null;
|
|
28289
|
+
const preset = getGradientPreset(presetId);
|
|
28225
28290
|
return gradientToCss(preset, Object.fromEntries(preset.stops.map((stop) => [stop.color, `rgb(var(--tb-${stop.color}))`])));
|
|
28226
28291
|
}
|
|
28227
28292
|
const backgroundTransforms = [
|
|
@@ -28549,7 +28614,7 @@ const defaultTransforms = createTransformRegistry([
|
|
|
28549
28614
|
//#region ../blocks/src/system/data/linkedContentEntries.ts
|
|
28550
28615
|
const LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
28551
28616
|
function coerceLinkedContentEntriesPayload(payload) {
|
|
28552
|
-
if (!isRecord$
|
|
28617
|
+
if (!isRecord$14(payload)) return payload;
|
|
28553
28618
|
const response = payload;
|
|
28554
28619
|
if (!Array.isArray(response.entries)) return payload;
|
|
28555
28620
|
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
@@ -28557,16 +28622,16 @@ function coerceLinkedContentEntriesPayload(payload) {
|
|
|
28557
28622
|
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
28558
28623
|
}
|
|
28559
28624
|
function getLinkedContentEntryMeta(value) {
|
|
28560
|
-
if (!isRecord$
|
|
28625
|
+
if (!isRecord$14(value)) return null;
|
|
28561
28626
|
const candidate = value[LINKED_CONTENT_ENTRY_META_KEY];
|
|
28562
28627
|
return isLinkedContentEntryMeta(candidate) ? candidate : null;
|
|
28563
28628
|
}
|
|
28564
28629
|
function buildLinkedContentEditTarget(input) {
|
|
28565
28630
|
const { entry, sourceBlockId, sourceBlockKind, itemIndex } = input;
|
|
28566
|
-
if (!isRecord$
|
|
28631
|
+
if (!isRecord$14(entry)) return null;
|
|
28567
28632
|
const meta = getLinkedContentEntryMeta(entry);
|
|
28568
28633
|
if (!meta || meta.support.kind !== "supported") return null;
|
|
28569
|
-
const content = isRecord$
|
|
28634
|
+
const content = isRecord$14(entry.content) ? entry.content : {};
|
|
28570
28635
|
return {
|
|
28571
28636
|
kind: "linked-content-entry",
|
|
28572
28637
|
entryId: meta.entryId,
|
|
@@ -28630,12 +28695,12 @@ function resolveLinkedEntryInlineFieldEligibility(input) {
|
|
|
28630
28695
|
};
|
|
28631
28696
|
}
|
|
28632
28697
|
function enrichLinkedContentEntry(entry, contentType) {
|
|
28633
|
-
if (!isRecord$
|
|
28698
|
+
if (!isRecord$14(entry)) return entry;
|
|
28634
28699
|
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
28635
28700
|
if (!entryId) return entry;
|
|
28636
28701
|
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
28637
28702
|
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
28638
|
-
const content = isRecord$
|
|
28703
|
+
const content = isRecord$14(entry.content) ? entry.content : {};
|
|
28639
28704
|
const meta = {
|
|
28640
28705
|
kind: "linked-content-entry",
|
|
28641
28706
|
entryId,
|
|
@@ -28731,7 +28796,7 @@ function capitalize(value) {
|
|
|
28731
28796
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
28732
28797
|
}
|
|
28733
28798
|
function parsePublicContentTypeMeta(value) {
|
|
28734
|
-
if (!isRecord$
|
|
28799
|
+
if (!isRecord$14(value)) return null;
|
|
28735
28800
|
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
28736
28801
|
return {
|
|
28737
28802
|
key: value.key,
|
|
@@ -28741,7 +28806,7 @@ function parsePublicContentTypeMeta(value) {
|
|
|
28741
28806
|
};
|
|
28742
28807
|
}
|
|
28743
28808
|
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
28744
|
-
if (!isRecord$
|
|
28809
|
+
if (!isRecord$14(value) || typeof value.kind !== "string") return null;
|
|
28745
28810
|
switch (value.kind) {
|
|
28746
28811
|
case "generic": return { kind: "generic" };
|
|
28747
28812
|
case "unsupported-domain-backed": return {
|
|
@@ -28752,7 +28817,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
|
28752
28817
|
}
|
|
28753
28818
|
}
|
|
28754
28819
|
function parsePublicContentTypeFieldMeta(value) {
|
|
28755
|
-
if (!isRecord$
|
|
28820
|
+
if (!isRecord$14(value)) return [];
|
|
28756
28821
|
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
28757
28822
|
return [{
|
|
28758
28823
|
id: value.id,
|
|
@@ -28767,14 +28832,14 @@ function parseStringArray(value) {
|
|
|
28767
28832
|
return value.filter((item) => typeof item === "string");
|
|
28768
28833
|
}
|
|
28769
28834
|
function isLinkedContentEntryMeta(value) {
|
|
28770
|
-
if (!isRecord$
|
|
28835
|
+
if (!isRecord$14(value)) return false;
|
|
28771
28836
|
if (value.kind !== "linked-content-entry") return false;
|
|
28772
28837
|
if (typeof value.entryId !== "string") return false;
|
|
28773
28838
|
if (typeof value.contentTypeKey !== "string") return false;
|
|
28774
28839
|
if (typeof value.contentTypeLabel !== "string") return false;
|
|
28775
28840
|
if (typeof value.title !== "string") return false;
|
|
28776
28841
|
if (!(value.optimisticHash === null || typeof value.optimisticHash === "string")) return false;
|
|
28777
|
-
if (!isRecord$
|
|
28842
|
+
if (!isRecord$14(value.contentType)) return false;
|
|
28778
28843
|
if (!isLinkedEntryFieldSourceArray(value.fieldSources)) return false;
|
|
28779
28844
|
return isLinkedContentEditSupport(value.support);
|
|
28780
28845
|
}
|
|
@@ -28782,7 +28847,7 @@ function isLinkedEntryFieldSourceArray(value) {
|
|
|
28782
28847
|
return Array.isArray(value) && value.every(isLinkedEntryFieldSource);
|
|
28783
28848
|
}
|
|
28784
28849
|
function isLinkedEntryFieldSource(value) {
|
|
28785
|
-
if (!isRecord$
|
|
28850
|
+
if (!isRecord$14(value)) return false;
|
|
28786
28851
|
if (typeof value.displayPath !== "string") return false;
|
|
28787
28852
|
switch (value.kind) {
|
|
28788
28853
|
case "content-field": return typeof value.fieldPath === "string" && (value.fieldType === "text" || value.fieldType === "richText");
|
|
@@ -28803,7 +28868,7 @@ function isLinkedEntryInlineFieldReadOnlyReason(value) {
|
|
|
28803
28868
|
}
|
|
28804
28869
|
}
|
|
28805
28870
|
function isLinkedContentEditSupport(value) {
|
|
28806
|
-
if (!isRecord$
|
|
28871
|
+
if (!isRecord$14(value) || typeof value.kind !== "string") return false;
|
|
28807
28872
|
switch (value.kind) {
|
|
28808
28873
|
case "supported": return true;
|
|
28809
28874
|
case "unsupported-domain-backed":
|
|
@@ -28812,7 +28877,7 @@ function isLinkedContentEditSupport(value) {
|
|
|
28812
28877
|
default: return false;
|
|
28813
28878
|
}
|
|
28814
28879
|
}
|
|
28815
|
-
function isRecord$
|
|
28880
|
+
function isRecord$14(value) {
|
|
28816
28881
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28817
28882
|
}
|
|
28818
28883
|
//#endregion
|
|
@@ -28866,14 +28931,14 @@ function isDecoratedHeadingBlockKind(blockKind) {
|
|
|
28866
28931
|
return blockKind === "block.intro" || blockKind === "block.feature-cards" || blockKind === "block.testimonials" || blockKind === "block.faq";
|
|
28867
28932
|
}
|
|
28868
28933
|
function readVariant(blockContent) {
|
|
28869
|
-
if (!isRecord$
|
|
28934
|
+
if (!isRecord$13(blockContent)) return void 0;
|
|
28870
28935
|
const variant = blockContent.variant;
|
|
28871
28936
|
return typeof variant === "string" ? variant : void 0;
|
|
28872
28937
|
}
|
|
28873
28938
|
function isFaqDecoratedVariant(variant) {
|
|
28874
28939
|
return variant === "default" || variant === "question-columns";
|
|
28875
28940
|
}
|
|
28876
|
-
function isRecord$
|
|
28941
|
+
function isRecord$13(value) {
|
|
28877
28942
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
28878
28943
|
}
|
|
28879
28944
|
function buildHeadingDecorationWrapperClassName(className) {
|
|
@@ -29943,7 +30008,7 @@ function applyStyleOverride(target, key, defaults) {
|
|
|
29943
30008
|
//#endregion
|
|
29944
30009
|
//#region ../blocks/src/system/runtime/blockComposition.ts
|
|
29945
30010
|
function readBlockComposition(value) {
|
|
29946
|
-
if (!isRecord$
|
|
30011
|
+
if (!isRecord$12(value) || typeof value.kind !== "string") return null;
|
|
29947
30012
|
switch (value.kind) {
|
|
29948
30013
|
case "intro": return value.treatment === "editorial-statement" || value.treatment === "portrait-bio" ? {
|
|
29949
30014
|
kind: "intro",
|
|
@@ -29956,7 +30021,7 @@ function readBlockComposition(value) {
|
|
|
29956
30021
|
default: return null;
|
|
29957
30022
|
}
|
|
29958
30023
|
}
|
|
29959
|
-
function isRecord$
|
|
30024
|
+
function isRecord$12(value) {
|
|
29960
30025
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
29961
30026
|
}
|
|
29962
30027
|
//#endregion
|
|
@@ -33396,6 +33461,8 @@ function buildThemeCssVars(theme) {
|
|
|
33396
33461
|
const inputRadius = mapInputRadius(inputSystem.base.corners, theme.corners);
|
|
33397
33462
|
return {
|
|
33398
33463
|
...generateCssVars(theme.palette),
|
|
33464
|
+
["--tb-secondaryForeground"]: "var(--tb-onSecondary)",
|
|
33465
|
+
["--tb-accentForeground"]: "var(--tb-onAccent)",
|
|
33399
33466
|
["--tb-scrim"]: "0 0 0",
|
|
33400
33467
|
["--tb-shadow"]: "0 0 0",
|
|
33401
33468
|
...generateShadowCssVars(theme),
|
|
@@ -33862,7 +33929,7 @@ function hydrateValue(value, context) {
|
|
|
33862
33929
|
const resolvedItems = value.map((item) => hydrateValue(item, context));
|
|
33863
33930
|
return resolvedItems.every((item, index) => item === value[index]) ? value : resolvedItems;
|
|
33864
33931
|
}
|
|
33865
|
-
if (isRecord$
|
|
33932
|
+
if (isRecord$20(value)) {
|
|
33866
33933
|
if (isInternalLink(value)) return hydrateInternalLink(value, context.routes);
|
|
33867
33934
|
if (isPageLink(value)) return hydratePageLink(value, context);
|
|
33868
33935
|
if (isEntryLink(value)) return hydrateEntryLink(value, context);
|
|
@@ -42052,6 +42119,11 @@ const containerResponsiveThemeCss = `/*
|
|
|
42052
42119
|
flex-wrap: wrap;
|
|
42053
42120
|
}
|
|
42054
42121
|
|
|
42122
|
+
/* Text-style CTA actions belong to the section foreground contract. */
|
|
42123
|
+
:where(.theme-scope) [data-block="cta-full"] .cta-row .button-link {
|
|
42124
|
+
color: var(--rb-surface-link-color, var(--rb-surface-text-color, rgb(var(--tb-primary))));
|
|
42125
|
+
}
|
|
42126
|
+
|
|
42055
42127
|
/* =============================================================================
|
|
42056
42128
|
* Block: Body Text (content block, Phase 2)
|
|
42057
42129
|
*
|
|
@@ -48281,6 +48353,26 @@ function stripEmptyStringValues(params) {
|
|
|
48281
48353
|
function ensureSiteId(params, context) {
|
|
48282
48354
|
if (!params.siteId && typeof context.siteId === "string" && context.siteId) params.siteId = context.siteId;
|
|
48283
48355
|
}
|
|
48356
|
+
/**
|
|
48357
|
+
* Map the embed block's author-facing order values onto the public
|
|
48358
|
+
* `listPublishedEntries` `order` contract enum.
|
|
48359
|
+
*
|
|
48360
|
+
* `'order'` ("Custom order field") is the MANUAL-ORDERING axis: it means "render
|
|
48361
|
+
* entries in the content type's author-defined order". It intentionally maps to
|
|
48362
|
+
* `undefined` (endpoint default) here rather than a fixed `manual.asc`, because
|
|
48363
|
+
* this transform is schema-blind — it can't tell whether the embedded content
|
|
48364
|
+
* type actually opts into `ordering.mode: 'manual'`. Forcing `manual.asc` for a
|
|
48365
|
+
* non-manual type would silently flip its default sort (all `manualOrder` values
|
|
48366
|
+
* are equal, so it would degrade to createdAt-asc) — a render regression.
|
|
48367
|
+
*
|
|
48368
|
+
* The manual-ordering HONOR therefore lives server-side where the schema IS
|
|
48369
|
+
* known: `listContentEntries` (content/entries/list.ts) applies `manualOrder ASC`
|
|
48370
|
+
* as the default for manual-ordered types (plan 8.3). That is the path
|
|
48371
|
+
* `block-loaders/content.ts` renders through. The embed/`listPublishedEntries`
|
|
48372
|
+
* loader path (contentEntryLoaders) is not yet schema-aware for its default
|
|
48373
|
+
* ordering; honoring manual order there for the default `'order'` value is a
|
|
48374
|
+
* bounded follow-up (recorded in plan 8.3), not this change.
|
|
48375
|
+
*/
|
|
48284
48376
|
function normalizeOrder(orderBy) {
|
|
48285
48377
|
switch (orderBy) {
|
|
48286
48378
|
case "newest": return "published_at.desc";
|
|
@@ -55965,7 +56057,8 @@ function validateRelativeStoragePath(value) {
|
|
|
55965
56057
|
if (value.startsWith("sites/")) return fail({ tag: "SITE_SCOPED_PATH" });
|
|
55966
56058
|
if (value.startsWith("/")) return fail({ tag: "LEADING_SLASH" });
|
|
55967
56059
|
if (value.includes("//")) return fail({ tag: "DOUBLE_SLASH" });
|
|
55968
|
-
if (value.
|
|
56060
|
+
if (value.includes("%")) return fail({ tag: "PERCENT_ENCODING" });
|
|
56061
|
+
if (value.split("/").some((segment) => segment === "." || segment === "..")) return fail({ tag: "TRAVERSAL" });
|
|
55969
56062
|
return ok$1(value);
|
|
55970
56063
|
}
|
|
55971
56064
|
function brandRelativeStoragePath(value) {
|
|
@@ -55983,7 +56076,7 @@ function assertRelativeStoragePath(value) {
|
|
|
55983
56076
|
if (!parsed.ok) throw new Error(`Expected RelativeStoragePath, got ${parsed.error.tag}`);
|
|
55984
56077
|
return parsed.value;
|
|
55985
56078
|
}
|
|
55986
|
-
function isRecord$
|
|
56079
|
+
function isRecord$11(value) {
|
|
55987
56080
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
55988
56081
|
}
|
|
55989
56082
|
function parseFileKindJson(value) {
|
|
@@ -56204,7 +56297,7 @@ function parseEntitledCustomerAccessScopeJson(value) {
|
|
|
56204
56297
|
}
|
|
56205
56298
|
}
|
|
56206
56299
|
function requireRecord(value) {
|
|
56207
|
-
if (!isRecord$
|
|
56300
|
+
if (!isRecord$11(value)) return err("expected-object");
|
|
56208
56301
|
return ok(value);
|
|
56209
56302
|
}
|
|
56210
56303
|
function requireString(value) {
|
|
@@ -56419,7 +56512,7 @@ const DEFAULT_MESSAGES = {
|
|
|
56419
56512
|
update: "Failed to update media asset",
|
|
56420
56513
|
delete: "Failed to delete media asset"
|
|
56421
56514
|
};
|
|
56422
|
-
function isRecord$
|
|
56515
|
+
function isRecord$10(value) {
|
|
56423
56516
|
return typeof value === "object" && value !== null;
|
|
56424
56517
|
}
|
|
56425
56518
|
const normalizeLabels = (labels) => labels !== void 0 && labels.length > 0 ? labels.map((label) => label.trim()).filter((label) => label.length > 0).join(",") : void 0;
|
|
@@ -56453,7 +56546,7 @@ const filterUpdatePayload = (input) => {
|
|
|
56453
56546
|
return payload;
|
|
56454
56547
|
};
|
|
56455
56548
|
const extractErrorMessage = (body) => {
|
|
56456
|
-
if (!isRecord$
|
|
56549
|
+
if (!isRecord$10(body)) return typeof body === "string" && body.trim().length > 0 ? body : null;
|
|
56457
56550
|
for (const key of [
|
|
56458
56551
|
"error",
|
|
56459
56552
|
"message",
|
|
@@ -56466,11 +56559,11 @@ const extractErrorMessage = (body) => {
|
|
|
56466
56559
|
const details = body.details;
|
|
56467
56560
|
if (Array.isArray(details)) for (const entry of details) {
|
|
56468
56561
|
if (typeof entry === "string" && entry.trim().length > 0) return entry;
|
|
56469
|
-
if (isRecord$
|
|
56562
|
+
if (isRecord$10(entry) && typeof entry.message === "string" && entry.message.trim().length > 0) return entry.message;
|
|
56470
56563
|
}
|
|
56471
56564
|
const errors = body.errors;
|
|
56472
56565
|
if (Array.isArray(errors)) {
|
|
56473
|
-
for (const entry of errors) if (isRecord$
|
|
56566
|
+
for (const entry of errors) if (isRecord$10(entry) && typeof entry.message === "string" && entry.message.trim().length > 0) return entry.message;
|
|
56474
56567
|
}
|
|
56475
56568
|
return null;
|
|
56476
56569
|
};
|
|
@@ -57163,124 +57256,85 @@ function BackgroundColorField({ path, backend, config }) {
|
|
|
57163
57256
|
//#endregion
|
|
57164
57257
|
//#region ../block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.tsx
|
|
57165
57258
|
/**
|
|
57166
|
-
* BackgroundGradientWidget
|
|
57167
|
-
*
|
|
57168
57259
|
* Select a curated gradient from the theme-based library.
|
|
57169
57260
|
* Gradients use theme color tokens, so they adapt to the site's palette.
|
|
57170
57261
|
*/
|
|
57171
|
-
function BackgroundGradientWidget(
|
|
57172
|
-
const { label, value, onChange, description, error, dataPath } = props;
|
|
57262
|
+
function BackgroundGradientWidget({ label, value, onChange, description, error, dataPath }) {
|
|
57173
57263
|
const { tokens } = usePalette();
|
|
57174
|
-
const
|
|
57175
|
-
const selectedPresetId = useMemo(() => {
|
|
57176
|
-
if (!value) return null;
|
|
57177
|
-
return GRADIENT_PRESETS.find((p) => p.type === value.type && p.angle === value.angle && p.position === value.position && p.stops.length === value.stops.length && p.stops.every((stop, i) => stop.color === value.stops[i]?.color && stop.position === value.stops[i]?.position))?.id ?? null;
|
|
57178
|
-
}, [value]);
|
|
57264
|
+
const selectedPreset = useMemo(() => value ? GRADIENT_PRESETS.find((preset) => gradientConfigsMatch(preset, value)) ?? null : null, [value]);
|
|
57179
57265
|
const handleSelectPreset = (presetId) => {
|
|
57180
|
-
|
|
57181
|
-
if (!preset) return;
|
|
57182
|
-
onChange({
|
|
57183
|
-
type: preset.type,
|
|
57184
|
-
angle: preset.angle,
|
|
57185
|
-
position: preset.position,
|
|
57186
|
-
stops: preset.stops
|
|
57187
|
-
});
|
|
57266
|
+
onChange(gradientConfigFromPreset(getGradientPreset(presetId)));
|
|
57188
57267
|
};
|
|
57189
|
-
return /* @__PURE__ */
|
|
57268
|
+
return /* @__PURE__ */ jsx(FieldFrame, {
|
|
57269
|
+
fieldPath: dataPath,
|
|
57270
|
+
label,
|
|
57271
|
+
description,
|
|
57272
|
+
error,
|
|
57190
57273
|
className: "space-y-3",
|
|
57191
|
-
"
|
|
57192
|
-
|
|
57193
|
-
/* @__PURE__ */
|
|
57194
|
-
|
|
57195
|
-
|
|
57196
|
-
|
|
57197
|
-
}),
|
|
57198
|
-
description ? /* @__PURE__ */ jsx("p", {
|
|
57199
|
-
className: "text-xs text-muted-foreground mt-1",
|
|
57200
|
-
children: description
|
|
57201
|
-
}) : null,
|
|
57202
|
-
error ? /* @__PURE__ */ jsx("p", {
|
|
57203
|
-
className: "text-xs text-destructive mt-1",
|
|
57204
|
-
children: error
|
|
57205
|
-
}) : null
|
|
57206
|
-
] }),
|
|
57207
|
-
/* @__PURE__ */ jsx("div", {
|
|
57274
|
+
children: ({ id, descriptionId, messageId }) => /* @__PURE__ */ jsxs("div", {
|
|
57275
|
+
className: "space-y-3",
|
|
57276
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
57277
|
+
role: "group",
|
|
57278
|
+
"aria-label": `${label} presets`,
|
|
57279
|
+
"aria-describedby": [descriptionId, messageId].filter(Boolean).join(" ") || void 0,
|
|
57208
57280
|
className: "grid grid-cols-2 gap-3 sm:grid-cols-3",
|
|
57209
|
-
children: GRADIENT_PRESETS.map((preset) => {
|
|
57210
|
-
const isSelected =
|
|
57211
|
-
const cssGradient = gradientToCss(
|
|
57212
|
-
|
|
57213
|
-
angle: preset.angle,
|
|
57214
|
-
position: preset.position,
|
|
57215
|
-
stops: preset.stops
|
|
57216
|
-
}, tokens);
|
|
57281
|
+
children: GRADIENT_PRESETS.map((preset, index) => {
|
|
57282
|
+
const isSelected = selectedPreset?.id === preset.id;
|
|
57283
|
+
const cssGradient = gradientToCss(gradientConfigFromPreset(preset), tokens);
|
|
57284
|
+
const kindLabel = gradientKindLabel$1(preset.type);
|
|
57217
57285
|
return /* @__PURE__ */ jsxs("button", {
|
|
57286
|
+
id: index === 0 ? id : void 0,
|
|
57218
57287
|
type: "button",
|
|
57288
|
+
"aria-label": `${preset.name}, ${kindLabel} gradient`,
|
|
57289
|
+
"aria-pressed": isSelected,
|
|
57219
57290
|
onClick: () => handleSelectPreset(preset.id),
|
|
57220
|
-
className: cn$1("group flex flex-col gap-2 rounded-md border p-2 transition", isSelected ? "border-foreground bg-accent/30" : "border-muted-foreground/30 bg-background hover:bg-muted/40"),
|
|
57221
|
-
children: [/* @__PURE__ */ jsx("
|
|
57291
|
+
className: cn$1("group flex flex-col gap-2 rounded-md border p-2 text-left transition", isSelected ? "border-foreground bg-accent/30" : "border-muted-foreground/30 bg-background hover:bg-muted/40"),
|
|
57292
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
57293
|
+
"aria-hidden": "true",
|
|
57222
57294
|
className: "h-16 w-full rounded-sm",
|
|
57223
57295
|
style: { background: cssGradient }
|
|
57224
|
-
}), /* @__PURE__ */
|
|
57225
|
-
className: "
|
|
57226
|
-
children:
|
|
57296
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
57297
|
+
className: "space-y-0.5",
|
|
57298
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
57299
|
+
className: "block text-xs font-medium text-foreground",
|
|
57300
|
+
children: preset.name
|
|
57301
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
57302
|
+
className: "block text-[11px] font-medium uppercase tracking-wide text-muted-foreground",
|
|
57303
|
+
children: kindLabel
|
|
57304
|
+
})]
|
|
57227
57305
|
})]
|
|
57228
57306
|
}, preset.id);
|
|
57229
57307
|
})
|
|
57230
|
-
}),
|
|
57231
|
-
value ? /* @__PURE__ */ jsxs("div", {
|
|
57308
|
+
}), value ? /* @__PURE__ */ jsxs("p", {
|
|
57232
57309
|
className: "text-xs text-muted-foreground",
|
|
57233
|
-
|
|
57234
|
-
|
|
57235
|
-
|
|
57236
|
-
|
|
57237
|
-
children: [/* @__PURE__ */ jsxs("button", {
|
|
57238
|
-
type: "button",
|
|
57239
|
-
onClick: () => setShowAdvanced(!showAdvanced),
|
|
57240
|
-
className: "flex items-center gap-2 text-xs font-medium text-muted-foreground hover:text-foreground transition",
|
|
57241
|
-
children: [showAdvanced ? /* @__PURE__ */ jsx(ChevronUp, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx(ChevronDown, { className: "h-3 w-3" }), "Advanced Settings"]
|
|
57242
|
-
}), showAdvanced && value ? /* @__PURE__ */ jsxs("div", {
|
|
57243
|
-
className: "mt-3 space-y-3 text-xs",
|
|
57244
|
-
children: [
|
|
57245
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
|
|
57246
|
-
className: "text-xs",
|
|
57247
|
-
children: "Type"
|
|
57248
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
57249
|
-
className: "mt-1 text-muted-foreground",
|
|
57250
|
-
children: [
|
|
57251
|
-
value.type === "linear" ? "Linear" : "Radial",
|
|
57252
|
-
value.type === "linear" && value.angle !== void 0 ? ` (${value.angle}�)` : "",
|
|
57253
|
-
value.type === "radial" && value.position ? ` (${value.position})` : ""
|
|
57254
|
-
]
|
|
57255
|
-
})] }),
|
|
57256
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
|
|
57257
|
-
className: "text-xs",
|
|
57258
|
-
children: "Color Stops"
|
|
57259
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
57260
|
-
className: "mt-1 space-y-1",
|
|
57261
|
-
children: value.stops.map((stop, idx) => /* @__PURE__ */ jsxs("div", {
|
|
57262
|
-
className: "flex items-center gap-2 text-muted-foreground",
|
|
57263
|
-
children: [
|
|
57264
|
-
/* @__PURE__ */ jsx("span", {
|
|
57265
|
-
className: "h-3 w-3 rounded-full border border-border/50",
|
|
57266
|
-
style: { backgroundColor: tokens[stop.color] ?? "#000000" }
|
|
57267
|
-
}),
|
|
57268
|
-
/* @__PURE__ */ jsx("span", { children: stop.color }),
|
|
57269
|
-
/* @__PURE__ */ jsx("span", { children: "�" }),
|
|
57270
|
-
/* @__PURE__ */ jsxs("span", { children: [stop.position, "%"] })
|
|
57271
|
-
]
|
|
57272
|
-
}, idx))
|
|
57273
|
-
})] }),
|
|
57274
|
-
/* @__PURE__ */ jsx("p", {
|
|
57275
|
-
className: "text-muted-foreground",
|
|
57276
|
-
children: "To customize gradient angles, positions, or add/remove color stops, select a preset as a starting point. Full customization coming soon."
|
|
57277
|
-
})
|
|
57278
|
-
]
|
|
57279
|
-
}) : null]
|
|
57280
|
-
})
|
|
57281
|
-
]
|
|
57310
|
+
"aria-live": "polite",
|
|
57311
|
+
children: ["Selected gradient: ", selectedPreset ? `${selectedPreset.name} · ${gradientKindLabel$1(selectedPreset.type)}` : "Custom"]
|
|
57312
|
+
}) : null]
|
|
57313
|
+
})
|
|
57282
57314
|
});
|
|
57283
57315
|
}
|
|
57316
|
+
function gradientConfigFromPreset(preset) {
|
|
57317
|
+
return {
|
|
57318
|
+
type: preset.type,
|
|
57319
|
+
angle: preset.angle,
|
|
57320
|
+
shape: preset.shape,
|
|
57321
|
+
position: preset.position,
|
|
57322
|
+
stops: preset.stops.map((stop) => ({ ...stop }))
|
|
57323
|
+
};
|
|
57324
|
+
}
|
|
57325
|
+
function gradientConfigsMatch(preset, value) {
|
|
57326
|
+
return preset.type === value.type && preset.angle === value.angle && radialShape(preset) === radialShape(value) && preset.position === value.position && preset.stops.length === value.stops.length && preset.stops.every((stop, index) => stop.color === value.stops[index]?.color && stop.position === value.stops[index]?.position);
|
|
57327
|
+
}
|
|
57328
|
+
function radialShape(config) {
|
|
57329
|
+
return config.type === "radial" ? config.shape ?? "circle" : config.shape;
|
|
57330
|
+
}
|
|
57331
|
+
function gradientKindLabel$1(type) {
|
|
57332
|
+
switch (type) {
|
|
57333
|
+
case "linear": return "Linear";
|
|
57334
|
+
case "radial": return "Radial";
|
|
57335
|
+
case "conic": return "Conic";
|
|
57336
|
+
}
|
|
57337
|
+
}
|
|
57284
57338
|
//#endregion
|
|
57285
57339
|
//#region ../block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.tsx
|
|
57286
57340
|
/**
|
|
@@ -57318,12 +57372,7 @@ function BackgroundGradientField({ path, backend, config }) {
|
|
|
57318
57372
|
function findPresetFromCss(css, tokens) {
|
|
57319
57373
|
if (!css) return null;
|
|
57320
57374
|
for (const preset of GRADIENT_PRESETS) {
|
|
57321
|
-
const presetConfig =
|
|
57322
|
-
type: preset.type,
|
|
57323
|
-
angle: preset.angle,
|
|
57324
|
-
position: preset.position,
|
|
57325
|
-
stops: preset.stops
|
|
57326
|
-
};
|
|
57375
|
+
const presetConfig = gradientConfigFromPreset(preset);
|
|
57327
57376
|
if (gradientToCss(presetConfig, tokens) === css) return presetConfig;
|
|
57328
57377
|
}
|
|
57329
57378
|
return null;
|
|
@@ -57375,13 +57424,14 @@ function parseReferenceKind(referenceKind) {
|
|
|
57375
57424
|
const ButtonWidgetContext = createContext(null);
|
|
57376
57425
|
function ButtonWidgetProvider({ buttonSystem, children }) {
|
|
57377
57426
|
const value = useMemo(() => {
|
|
57427
|
+
const variants = buttonSystem ? buttonSystem.variants.flatMap((variant) => variant.enabled && isBlockButtonRole(variant.id) ? [{
|
|
57428
|
+
id: variant.id,
|
|
57429
|
+
name: variant.name,
|
|
57430
|
+
priority: variant.priority
|
|
57431
|
+
}] : []).sort((a, b) => a.priority - b.priority) : [];
|
|
57378
57432
|
return {
|
|
57379
|
-
variants
|
|
57380
|
-
|
|
57381
|
-
name: v.name,
|
|
57382
|
-
priority: v.priority
|
|
57383
|
-
})).sort((a, b) => a.priority - b.priority) : [],
|
|
57384
|
-
defaultVariant: buttonSystem?.variants.find((v) => v.priority === 1)?.id ?? null,
|
|
57433
|
+
variants,
|
|
57434
|
+
defaultVariant: variants.find((variant) => variant.priority === 1)?.id ?? variants[0]?.id ?? null,
|
|
57385
57435
|
buttonSystem
|
|
57386
57436
|
};
|
|
57387
57437
|
}, [buttonSystem]);
|
|
@@ -57405,23 +57455,11 @@ function useButtonWidgetContext() {
|
|
|
57405
57455
|
*
|
|
57406
57456
|
* Use `ui.widget: 'buttonVariant'` in field definitions to opt into this behavior.
|
|
57407
57457
|
*/
|
|
57408
|
-
const DEFAULT_VARIANTS =
|
|
57409
|
-
|
|
57410
|
-
|
|
57411
|
-
|
|
57412
|
-
|
|
57413
|
-
},
|
|
57414
|
-
{
|
|
57415
|
-
id: "secondary",
|
|
57416
|
-
name: "Secondary",
|
|
57417
|
-
priority: 2
|
|
57418
|
-
},
|
|
57419
|
-
{
|
|
57420
|
-
id: "outline",
|
|
57421
|
-
name: "Outline",
|
|
57422
|
-
priority: 3
|
|
57423
|
-
}
|
|
57424
|
-
];
|
|
57458
|
+
const DEFAULT_VARIANTS = BLOCK_BUTTON_ROLE_OPTIONS.map((option, index) => ({
|
|
57459
|
+
id: option.value,
|
|
57460
|
+
name: option.label,
|
|
57461
|
+
priority: index + 1
|
|
57462
|
+
}));
|
|
57425
57463
|
function ButtonVariantField({ path, backend, config }) {
|
|
57426
57464
|
const { value, error, setValue } = useField(path, backend);
|
|
57427
57465
|
const buttonContext = useButtonWidgetContext();
|
|
@@ -57435,7 +57473,7 @@ function ButtonVariantField({ path, backend, config }) {
|
|
|
57435
57473
|
description: config.description,
|
|
57436
57474
|
error: error?.message,
|
|
57437
57475
|
children: () => /* @__PURE__ */ jsxs(Select, {
|
|
57438
|
-
value:
|
|
57476
|
+
value: value !== "" ? value : void 0,
|
|
57439
57477
|
onValueChange: setValue,
|
|
57440
57478
|
children: [/* @__PURE__ */ jsx(SelectTrigger, { children: /* @__PURE__ */ jsx(SelectValue, { placeholder: `Select ${config.label.toLowerCase()}` }) }), /* @__PURE__ */ jsx(SelectContent, { children: options.map((opt) => /* @__PURE__ */ jsx(SelectItem, {
|
|
57441
57479
|
value: opt.value,
|
|
@@ -64390,55 +64428,6 @@ function buildPreviewDashboardSetupUrl(dashboardBaseUrl, handoff) {
|
|
|
64390
64428
|
return new URL(handoff.dashboardPath, dashboardBaseUrl).toString();
|
|
64391
64429
|
}
|
|
64392
64430
|
//#endregion
|
|
64393
|
-
//#region ../preview-next/src/client/preview/sidebarTabPreference.ts
|
|
64394
|
-
const STORAGE_KEY = "preview-sidebar-tab";
|
|
64395
|
-
const REQUEST_EVENT = "riverbank:preview-sidebar:request-open";
|
|
64396
|
-
function normalizeOpenRequest(input) {
|
|
64397
|
-
return parsePreviewSidebarOpenRequestDetail(typeof input === "string" ? { tab: input } : input);
|
|
64398
|
-
}
|
|
64399
|
-
function parsePreviewSidebarOpenRequestDetail(detail) {
|
|
64400
|
-
const request = isRecord$10(detail) ? detail : {};
|
|
64401
|
-
return {
|
|
64402
|
-
tab: resolvePreviewSidebarTab(request.tab === "assistant" ? "assistant" : "editor"),
|
|
64403
|
-
...isPreviewDesignRow(request.designRow) ? { designRow: request.designRow } : {}
|
|
64404
|
-
};
|
|
64405
|
-
}
|
|
64406
|
-
function getPreviewSidebarTab() {
|
|
64407
|
-
if (typeof window === "undefined") return "editor";
|
|
64408
|
-
try {
|
|
64409
|
-
return resolvePreviewSidebarTab(window.localStorage.getItem(STORAGE_KEY) === "assistant" ? "assistant" : "editor");
|
|
64410
|
-
} catch {
|
|
64411
|
-
return "editor";
|
|
64412
|
-
}
|
|
64413
|
-
}
|
|
64414
|
-
function setPreviewSidebarTab(tab) {
|
|
64415
|
-
if (typeof window === "undefined") return;
|
|
64416
|
-
try {
|
|
64417
|
-
window.localStorage.setItem(STORAGE_KEY, resolvePreviewSidebarTab(tab));
|
|
64418
|
-
} catch {}
|
|
64419
|
-
}
|
|
64420
|
-
function requestPreviewSidebarOpen(input) {
|
|
64421
|
-
if (typeof window === "undefined") return;
|
|
64422
|
-
const request = normalizeOpenRequest(input);
|
|
64423
|
-
setPreviewSidebarTab(request.tab);
|
|
64424
|
-
window.dispatchEvent(new window.CustomEvent(REQUEST_EVENT, { detail: request }));
|
|
64425
|
-
}
|
|
64426
|
-
function onPreviewSidebarOpenRequest(handler) {
|
|
64427
|
-
if (typeof window === "undefined") return () => void 0;
|
|
64428
|
-
const listener = (event) => {
|
|
64429
|
-
if (!("detail" in event)) return;
|
|
64430
|
-
handler(parsePreviewSidebarOpenRequestDetail(event.detail));
|
|
64431
|
-
};
|
|
64432
|
-
window.addEventListener(REQUEST_EVENT, listener);
|
|
64433
|
-
return () => window.removeEventListener(REQUEST_EVENT, listener);
|
|
64434
|
-
}
|
|
64435
|
-
function isRecord$10(value) {
|
|
64436
|
-
return typeof value === "object" && value !== null;
|
|
64437
|
-
}
|
|
64438
|
-
function isPreviewDesignRow(value) {
|
|
64439
|
-
return value === "header" || value === "footer" || value === "header-layout" || value === "header-style" || value === "footer-layout";
|
|
64440
|
-
}
|
|
64441
|
-
//#endregion
|
|
64442
64431
|
//#region ../preview-next/src/client/preview/previewChromeSurface.ts
|
|
64443
64432
|
const PREVIEW_CHROME_THEME_CLASS_NAME = "builder-dashboard-chrome-theme";
|
|
64444
64433
|
const PREVIEW_CHROME_PORTAL_CLASS_NAME = "builder-editor-chrome";
|
|
@@ -64519,14 +64508,7 @@ const IMAGE_BACKGROUND_TREATMENT = {
|
|
|
64519
64508
|
minContrastRatio: BACKGROUND_BODY_TEXT_MIN_CONTRAST_RATIO,
|
|
64520
64509
|
minOverlayOpacity: .64
|
|
64521
64510
|
};
|
|
64522
|
-
const gradientPresetIds =
|
|
64523
|
-
const gradientPresetIdSet = new Set(gradientPresetIds);
|
|
64524
|
-
function parseGradientPresetId(value) {
|
|
64525
|
-
if (typeof value !== "string") return null;
|
|
64526
|
-
const normalized = value.trim();
|
|
64527
|
-
if (!gradientPresetIdSet.has(normalized)) return null;
|
|
64528
|
-
return normalized;
|
|
64529
|
-
}
|
|
64511
|
+
const gradientPresetIds = GRADIENT_PRESET_IDS;
|
|
64530
64512
|
function backgroundModeForOverride(override) {
|
|
64531
64513
|
return override.kind;
|
|
64532
64514
|
}
|
|
@@ -64620,7 +64602,27 @@ function backgroundCapabilityFromModes(modeCapabilities) {
|
|
|
64620
64602
|
};
|
|
64621
64603
|
}
|
|
64622
64604
|
function parseBackgroundOverrideFromContent(content) {
|
|
64623
|
-
|
|
64605
|
+
const source = parseCanonicalSectionBackground(content);
|
|
64606
|
+
return source.kind === "page-design-override" ? source.parsed : {
|
|
64607
|
+
kind: "supported",
|
|
64608
|
+
override: DEFAULT_BACKGROUND_OVERRIDE
|
|
64609
|
+
};
|
|
64610
|
+
}
|
|
64611
|
+
/**
|
|
64612
|
+
* Classifies persisted content before runtime Look decoration is considered.
|
|
64613
|
+
* Only the explicit owner marker can make a background a page-design override.
|
|
64614
|
+
*/
|
|
64615
|
+
function parseCanonicalSectionBackground(content) {
|
|
64616
|
+
const background = (isRecord$9(content._sectionStyles) ? content._sectionStyles : null)?.background;
|
|
64617
|
+
if (background === null || background === void 0) return { kind: "none" };
|
|
64618
|
+
if (!isRecord$9(background) || background.contentOwner !== "page-design-editor") return {
|
|
64619
|
+
kind: "block-authored",
|
|
64620
|
+
background: isRecord$9(background) ? background : {}
|
|
64621
|
+
};
|
|
64622
|
+
return {
|
|
64623
|
+
kind: "page-design-override",
|
|
64624
|
+
parsed: parseBackgroundOverride(background)
|
|
64625
|
+
};
|
|
64624
64626
|
}
|
|
64625
64627
|
function parseBackgroundOverride(value) {
|
|
64626
64628
|
if (value === null || value === void 0) return {
|
|
@@ -64727,11 +64729,15 @@ function serializeBackgroundOverride(override) {
|
|
|
64727
64729
|
headingColor: foregroundToken
|
|
64728
64730
|
};
|
|
64729
64731
|
}
|
|
64730
|
-
case "gradient":
|
|
64731
|
-
|
|
64732
|
-
|
|
64733
|
-
|
|
64734
|
-
|
|
64732
|
+
case "gradient": {
|
|
64733
|
+
const foreground = getGradientPreset(override.gradientId).foreground;
|
|
64734
|
+
return {
|
|
64735
|
+
contentOwner: pageDesignEditorBackgroundOverrideOwner,
|
|
64736
|
+
type: "gradient",
|
|
64737
|
+
gradientPresetId: override.gradientId,
|
|
64738
|
+
...foreground
|
|
64739
|
+
};
|
|
64740
|
+
}
|
|
64735
64741
|
case "image": return {
|
|
64736
64742
|
contentOwner: pageDesignEditorBackgroundOverrideOwner,
|
|
64737
64743
|
type: "image",
|
|
@@ -67151,6 +67157,23 @@ function PreviewAuthBanner({ dashboardBaseUrl = null, surfaceId }) {
|
|
|
67151
67157
|
})] });
|
|
67152
67158
|
}
|
|
67153
67159
|
//#endregion
|
|
67160
|
+
//#region ../preview-next/src/client/preview/sidebarTabPreference.ts
|
|
67161
|
+
const STORAGE_KEY = "preview-sidebar-tab";
|
|
67162
|
+
function getPreviewSidebarTab() {
|
|
67163
|
+
if (typeof window === "undefined") return "editor";
|
|
67164
|
+
try {
|
|
67165
|
+
return resolvePreviewSidebarTab(window.localStorage.getItem(STORAGE_KEY) === "assistant" ? "assistant" : "editor");
|
|
67166
|
+
} catch {
|
|
67167
|
+
return "editor";
|
|
67168
|
+
}
|
|
67169
|
+
}
|
|
67170
|
+
function setPreviewSidebarTab(tab) {
|
|
67171
|
+
if (typeof window === "undefined") return;
|
|
67172
|
+
try {
|
|
67173
|
+
window.localStorage.setItem(STORAGE_KEY, resolvePreviewSidebarTab(tab));
|
|
67174
|
+
} catch {}
|
|
67175
|
+
}
|
|
67176
|
+
//#endregion
|
|
67154
67177
|
//#region ../blocks/src/client/site-chrome.tsx
|
|
67155
67178
|
const siteChromeBlockRenderDeps = {
|
|
67156
67179
|
buildThemeRuntime,
|
|
@@ -67943,12 +67966,12 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
67943
67966
|
return surfaceState.options.filter((option) => option.available).length;
|
|
67944
67967
|
}, [surfaceState]);
|
|
67945
67968
|
const cycleableLayoutOptionCount = useMemo(() => {
|
|
67946
|
-
if (surfaceState.kind !== "available") return 0;
|
|
67969
|
+
if (surfaceState.kind !== "available" || surfaceState.surface !== "header") return 0;
|
|
67947
67970
|
return surfaceState.layoutOptions.filter((option) => option.available).length;
|
|
67948
67971
|
}, [surfaceState]);
|
|
67949
67972
|
const controlPlan = useMemo(() => {
|
|
67950
67973
|
if (surfaceState.kind !== "available" || !background) return { cycleRows: [] };
|
|
67951
|
-
return { cycleRows: [...surfaceState.surface === "header"
|
|
67974
|
+
return { cycleRows: [...surfaceState.surface === "header" ? [{
|
|
67952
67975
|
label: "Layout",
|
|
67953
67976
|
valueLabel: surfaceState.currentLayoutLabel,
|
|
67954
67977
|
previousLabel: `Previous ${surface} Layout`,
|
|
@@ -67957,13 +67980,13 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
67957
67980
|
canCycle: cycleableLayoutOptionCount > 1,
|
|
67958
67981
|
applyAllowed: surfaceState.applyAllowed
|
|
67959
67982
|
}),
|
|
67960
|
-
onPrevious: () => customize?.
|
|
67961
|
-
onNext: () => customize?.
|
|
67983
|
+
onPrevious: () => customize?.cycleHeaderLayout("prev"),
|
|
67984
|
+
onNext: () => customize?.cycleHeaderLayout("next")
|
|
67962
67985
|
}] : [], {
|
|
67963
|
-
label: "Look",
|
|
67986
|
+
label: surfaceState.surface === "footer" ? "Links" : "Look",
|
|
67964
67987
|
valueLabel: surfaceState.currentLabel,
|
|
67965
|
-
previousLabel:
|
|
67966
|
-
nextLabel:
|
|
67988
|
+
previousLabel: surfaceState.surface === "footer" ? "Previous footer link treatment" : "Previous header Look",
|
|
67989
|
+
nextLabel: surfaceState.surface === "footer" ? "Next footer link treatment" : "Next header Look",
|
|
67967
67990
|
availability: cycleAvailabilityFromFlags({
|
|
67968
67991
|
canCycle: cycleableOptionCount > 1,
|
|
67969
67992
|
applyAllowed: surfaceState.applyAllowed
|
|
@@ -68070,7 +68093,7 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
68070
68093
|
})]
|
|
68071
68094
|
})]
|
|
68072
68095
|
}) : null,
|
|
68073
|
-
/* @__PURE__ */ jsx("div", {
|
|
68096
|
+
editorUiStore && (surfaceState.surface === "footer" || customize?.canOpenDesignEditor === true) ? /* @__PURE__ */ jsx("div", {
|
|
68074
68097
|
className: "border-t pt-2",
|
|
68075
68098
|
children: /* @__PURE__ */ jsx("button", {
|
|
68076
68099
|
type: "button",
|
|
@@ -68078,20 +68101,19 @@ function SiteChromeCustomizeButton({ surface, containerClassName = "pointer-even
|
|
|
68078
68101
|
onClick: (event) => {
|
|
68079
68102
|
event.preventDefault();
|
|
68080
68103
|
event.stopPropagation();
|
|
68081
|
-
if (surfaceState.surface === "footer") {
|
|
68082
|
-
|
|
68083
|
-
|
|
68084
|
-
|
|
68085
|
-
|
|
68086
|
-
|
|
68087
|
-
|
|
68088
|
-
designRow: "header-style"
|
|
68104
|
+
if (surfaceState.surface === "footer") editorUiStore.getState().openPreviewEditor({
|
|
68105
|
+
kind: "footer",
|
|
68106
|
+
target: "overview"
|
|
68107
|
+
});
|
|
68108
|
+
else editorUiStore.getState().openPreviewEditor({
|
|
68109
|
+
kind: "design",
|
|
68110
|
+
row: "header-style"
|
|
68089
68111
|
});
|
|
68090
68112
|
popover.close();
|
|
68091
68113
|
},
|
|
68092
68114
|
children: surfaceState.surface === "footer" ? "Edit footer" : "More options"
|
|
68093
68115
|
})
|
|
68094
|
-
}),
|
|
68116
|
+
}) : null,
|
|
68095
68117
|
surfaceState.diagnostics.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
68096
68118
|
className: "space-y-1 text-xs text-amber-700",
|
|
68097
68119
|
children: surfaceState.diagnostics.map((diagnostic) => /* @__PURE__ */ jsx("li", { children: diagnostic }, diagnostic))
|
|
@@ -68273,7 +68295,13 @@ function renderEditableSurface(children, surface, options) {
|
|
|
68273
68295
|
});
|
|
68274
68296
|
}
|
|
68275
68297
|
function FooterModuleInspectionSurface({ children }) {
|
|
68276
|
-
const
|
|
68298
|
+
const editorUiStore = useOptionalEditorUiStoreInstance();
|
|
68299
|
+
return editorUiStore ? /* @__PURE__ */ jsx(EnabledFooterModuleInspectionSurface, {
|
|
68300
|
+
editorUiStore,
|
|
68301
|
+
children
|
|
68302
|
+
}) : /* @__PURE__ */ jsx(Fragment$1, { children });
|
|
68303
|
+
}
|
|
68304
|
+
function EnabledFooterModuleInspectionSurface({ children, editorUiStore }) {
|
|
68277
68305
|
const rootRef = useRef(null);
|
|
68278
68306
|
const [active, setActive] = useState(null);
|
|
68279
68307
|
const [position, setPosition] = useState(null);
|
|
@@ -68303,9 +68331,10 @@ function FooterModuleInspectionSurface({ children }) {
|
|
|
68303
68331
|
});
|
|
68304
68332
|
};
|
|
68305
68333
|
const inspect = (moduleId) => {
|
|
68306
|
-
|
|
68307
|
-
|
|
68308
|
-
|
|
68334
|
+
editorUiStore.getState().openPreviewEditor({
|
|
68335
|
+
kind: "footer",
|
|
68336
|
+
target: { moduleId }
|
|
68337
|
+
});
|
|
68309
68338
|
};
|
|
68310
68339
|
return /* @__PURE__ */ jsxs("div", {
|
|
68311
68340
|
ref: rootRef,
|
|
@@ -68321,7 +68350,7 @@ function FooterModuleInspectionSurface({ children }) {
|
|
|
68321
68350
|
event.preventDefault();
|
|
68322
68351
|
inspect(parsed.value);
|
|
68323
68352
|
},
|
|
68324
|
-
children: [children, active && position
|
|
68353
|
+
children: [children, active && position ? /* @__PURE__ */ jsx("button", {
|
|
68325
68354
|
type: "button",
|
|
68326
68355
|
className: "pointer-events-auto fixed z-[75] rounded-full border bg-background px-3 py-1.5 text-xs font-medium text-foreground shadow-md",
|
|
68327
68356
|
style: position,
|
|
@@ -68569,17 +68598,17 @@ function LinkedEntryEditEventBridge() {
|
|
|
68569
68598
|
//#region ../preview-next/src/client/preview/PreviewShellLayout.tsx
|
|
68570
68599
|
const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
|
|
68571
68600
|
const PreviewEditorSidebar = React.lazy(async () => {
|
|
68572
|
-
return { default: (await import("./PreviewEditorSidebar-
|
|
68601
|
+
return { default: (await import("./PreviewEditorSidebar-CTR6LUhN.mjs")).PreviewEditorSidebar };
|
|
68573
68602
|
});
|
|
68574
68603
|
const PreviewEditorUI = React.lazy(async () => {
|
|
68575
|
-
return { default: (await import("./PreviewEditorUI-
|
|
68604
|
+
return { default: (await import("./PreviewEditorUI-DZg15Zip.mjs")).PreviewEditorUI };
|
|
68576
68605
|
});
|
|
68577
68606
|
const previewPaneContainmentStyle = {
|
|
68578
68607
|
contain: "layout paint",
|
|
68579
68608
|
isolation: "isolate",
|
|
68580
68609
|
transform: "translateZ(0)"
|
|
68581
68610
|
};
|
|
68582
|
-
function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, apiClient, bearerToken, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null,
|
|
68611
|
+
function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, apiClient, bearerToken, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, runtimePaletteState, themeSelectionHeaderLayoutId = null, themeSelectionHeaderStyleId = null, themeSelectionHeaderLookId = null, themeSelectionFooterLookId = null, themeSelectionHeaderContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime = defaultPreviewThemeRuntime, siteStyleAccess = { kind: "hidden" }, onFooterSaved }) {
|
|
68583
68612
|
const layout = useOptionalPreviewLayout();
|
|
68584
68613
|
const headerNode = layout?.headerNode ?? null;
|
|
68585
68614
|
const bannerNode = layout?.bannerNode ?? null;
|
|
@@ -68590,7 +68619,6 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68590
68619
|
const setDrawerOpen = useEditorUiStore((s) => s.setDrawerOpen);
|
|
68591
68620
|
const sidebarTab = useEditorUiStore((s) => s.previewSidebarTab);
|
|
68592
68621
|
const setPreviewSidebarActiveTab = useEditorUiStore((s) => s.setPreviewSidebarTab);
|
|
68593
|
-
const [designRowRequest, setDesignRowRequest] = useState(null);
|
|
68594
68622
|
const viewportMode = useEditorUiStore((s) => s.viewport.mode);
|
|
68595
68623
|
const viewportWidth = useEditorUiStore((s) => s.viewport.width);
|
|
68596
68624
|
const sidebarWidth = useEditorUiStore((s) => s.viewport.sidebarWidth);
|
|
@@ -68663,19 +68691,6 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68663
68691
|
useEffect(() => {
|
|
68664
68692
|
setPreviewSidebarActiveTab(getPreviewSidebarTab());
|
|
68665
68693
|
}, [setPreviewSidebarActiveTab]);
|
|
68666
|
-
useEffect(() => {
|
|
68667
|
-
return onPreviewSidebarOpenRequest((request) => {
|
|
68668
|
-
setPreviewSidebarActiveTab(request.tab);
|
|
68669
|
-
if (request.designRow) {
|
|
68670
|
-
const row = request.designRow;
|
|
68671
|
-
setDesignRowRequest((current) => ({
|
|
68672
|
-
id: (current?.id ?? 0) + 1,
|
|
68673
|
-
row
|
|
68674
|
-
}));
|
|
68675
|
-
}
|
|
68676
|
-
setDrawerOpen(true);
|
|
68677
|
-
});
|
|
68678
|
-
}, [setDrawerOpen, setPreviewSidebarActiveTab]);
|
|
68679
68694
|
const [containerWidth, setContainerWidth] = useState(0);
|
|
68680
68695
|
const [contentHeight, setContentHeight] = useState(0);
|
|
68681
68696
|
const containerObserverRef = useRef(null);
|
|
@@ -68768,15 +68783,13 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68768
68783
|
themeSelectionId,
|
|
68769
68784
|
themeSelectionVersion,
|
|
68770
68785
|
themeSelectionUpdatedAt,
|
|
68771
|
-
|
|
68786
|
+
themeSelectionButtonStyleSelection,
|
|
68772
68787
|
runtimePaletteState,
|
|
68773
68788
|
themeSelectionHeaderLayoutId,
|
|
68774
68789
|
themeSelectionHeaderStyleId,
|
|
68775
68790
|
themeSelectionHeaderLookId,
|
|
68776
68791
|
themeSelectionFooterLookId,
|
|
68777
68792
|
themeSelectionHeaderContext,
|
|
68778
|
-
themeSelectionFooterContext,
|
|
68779
|
-
designRowRequest,
|
|
68780
68793
|
supabaseUrl,
|
|
68781
68794
|
sdkConfig: sdkConfig ?? null,
|
|
68782
68795
|
activeTab: sidebarTab,
|
|
@@ -68811,6 +68824,10 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68811
68824
|
apiClient
|
|
68812
68825
|
})
|
|
68813
68826
|
});
|
|
68827
|
+
const previewBanner = /* @__PURE__ */ jsx(PreviewAuthBanner, {
|
|
68828
|
+
dashboardBaseUrl,
|
|
68829
|
+
surfaceId
|
|
68830
|
+
});
|
|
68814
68831
|
return /* @__PURE__ */ jsx(PreviewThemeOverlayProvider, {
|
|
68815
68832
|
baseTheme: theme,
|
|
68816
68833
|
children: /* @__PURE__ */ jsx(PreviewDesignCoordinatorProvider, { children: /* @__PURE__ */ jsx(SiteChromeCustomizeProvider, {
|
|
@@ -68824,7 +68841,7 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68824
68841
|
initialSelections: {
|
|
68825
68842
|
selectionVersion: themeSelectionVersion,
|
|
68826
68843
|
selectionUpdatedAt: themeSelectionUpdatedAt,
|
|
68827
|
-
|
|
68844
|
+
buttonStyleSelection: themeSelectionButtonStyleSelection,
|
|
68828
68845
|
runtimePaletteState,
|
|
68829
68846
|
headerLayoutId: themeSelectionHeaderLayoutId,
|
|
68830
68847
|
headerStyleId: themeSelectionHeaderStyleId,
|
|
@@ -68832,15 +68849,12 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68832
68849
|
footerLookId: themeSelectionFooterLookId
|
|
68833
68850
|
},
|
|
68834
68851
|
headerSelectionContext: themeSelectionHeaderContext,
|
|
68835
|
-
footerSelectionContext: themeSelectionFooterContext,
|
|
68836
68852
|
siteStyleAccess,
|
|
68853
|
+
canOpenDesignEditor: entryData == null && pageId !== null && canInspectSiteStyle(siteStyleAccess),
|
|
68837
68854
|
children: /* @__PURE__ */ jsxs(PreviewBlockCustomizeSelectionProvider, { children: [
|
|
68838
68855
|
/* @__PURE__ */ jsx(LinkedEntryEditEventBridge, {}),
|
|
68839
68856
|
editorUI,
|
|
68840
|
-
|
|
68841
|
-
dashboardBaseUrl,
|
|
68842
|
-
surfaceId
|
|
68843
|
-
}),
|
|
68857
|
+
previewBanner,
|
|
68844
68858
|
/* @__PURE__ */ jsx("div", {
|
|
68845
68859
|
className: "fixed inset-0 overflow-hidden bg-background",
|
|
68846
68860
|
children: isOpen ? /* @__PURE__ */ jsx(ResizableSplitPane, {
|
|
@@ -68863,7 +68877,7 @@ function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseU
|
|
|
68863
68877
|
}
|
|
68864
68878
|
//#endregion
|
|
68865
68879
|
//#region ../preview-next/src/client/preview/PreviewShell.tsx
|
|
68866
|
-
function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl = null, surfaceId, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null,
|
|
68880
|
+
function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl = null, surfaceId, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, runtimePaletteState, themeSelectionHeaderLayoutId = null, themeSelectionHeaderStyleId = null, themeSelectionHeaderLookId = null, themeSelectionFooterLookId = null, themeSelectionHeaderContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime = defaultPreviewThemeRuntime, designEditorEligibility, hideSiteStyleConfigurator = false, baseFetch, onFooterSaved }) {
|
|
68867
68881
|
const apiClient = useMemo(() => createBearerAPIClient(previewToken, apiBaseUrl), [previewToken, apiBaseUrl]);
|
|
68868
68882
|
const resolvedDesignEditorEligibility = designEditorEligibility ?? defaultDesignEditorEligibility({
|
|
68869
68883
|
pageId,
|
|
@@ -68920,14 +68934,13 @@ function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug,
|
|
|
68920
68934
|
themeSelectionId,
|
|
68921
68935
|
themeSelectionVersion,
|
|
68922
68936
|
themeSelectionUpdatedAt,
|
|
68923
|
-
|
|
68937
|
+
themeSelectionButtonStyleSelection,
|
|
68924
68938
|
runtimePaletteState,
|
|
68925
68939
|
themeSelectionHeaderLayoutId,
|
|
68926
68940
|
themeSelectionHeaderStyleId,
|
|
68927
68941
|
themeSelectionHeaderLookId,
|
|
68928
68942
|
themeSelectionFooterLookId,
|
|
68929
68943
|
themeSelectionHeaderContext,
|
|
68930
|
-
themeSelectionFooterContext,
|
|
68931
68944
|
supabaseUrl,
|
|
68932
68945
|
isSiteLaunched,
|
|
68933
68946
|
maintenanceModeEnabled,
|
|
@@ -69795,7 +69808,6 @@ function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, the
|
|
|
69795
69808
|
e.preventDefault();
|
|
69796
69809
|
e.stopPropagation();
|
|
69797
69810
|
const state = uiStore.getState();
|
|
69798
|
-
setPreviewSidebarTab("editor");
|
|
69799
69811
|
state.setPreviewSidebarTab("editor");
|
|
69800
69812
|
state.setDrawerOpen(true);
|
|
69801
69813
|
state.requestFocus({
|
|
@@ -69812,7 +69824,6 @@ function BlockToolbar({ blockId, blockKind, content, bookingOfferingPresets, the
|
|
|
69812
69824
|
e.stopPropagation();
|
|
69813
69825
|
inspectBlock();
|
|
69814
69826
|
const state = uiStore.getState();
|
|
69815
|
-
setPreviewSidebarTab("editor");
|
|
69816
69827
|
state.setPreviewSidebarTab("editor");
|
|
69817
69828
|
state.setDrawerOpen(true);
|
|
69818
69829
|
}, [inspectBlock, uiStore]);
|
|
@@ -70069,30 +70080,81 @@ function BackgroundChooser({ capability, current, imagePoolStatus, onChoose }) {
|
|
|
70069
70080
|
})(event);
|
|
70070
70081
|
}
|
|
70071
70082
|
});
|
|
70072
|
-
const renderGradientOptions = () => capability.gradientIds?.length ? /* @__PURE__ */ jsxs("div", { children: [
|
|
70073
|
-
|
|
70074
|
-
|
|
70075
|
-
|
|
70076
|
-
|
|
70077
|
-
|
|
70078
|
-
|
|
70079
|
-
|
|
70080
|
-
|
|
70081
|
-
|
|
70082
|
-
|
|
70083
|
-
|
|
70084
|
-
|
|
70085
|
-
|
|
70083
|
+
const renderGradientOptions = () => capability.gradientIds?.length ? /* @__PURE__ */ jsxs("div", { children: [
|
|
70084
|
+
/* @__PURE__ */ jsx("div", {
|
|
70085
|
+
className: "mb-1 text-xs font-medium text-muted-foreground",
|
|
70086
|
+
children: "Gradients"
|
|
70087
|
+
}),
|
|
70088
|
+
/* @__PURE__ */ jsx("p", {
|
|
70089
|
+
className: "mb-2 text-[11px] leading-4 text-muted-foreground",
|
|
70090
|
+
children: "Curated presets use this site's colours. The full section preview shows the final result."
|
|
70091
|
+
}),
|
|
70092
|
+
/* @__PURE__ */ jsx("div", {
|
|
70093
|
+
className: "grid grid-cols-2 gap-2",
|
|
70094
|
+
children: capability.gradientIds.map((gradientId) => {
|
|
70095
|
+
const preset = getGradientPreset(gradientId);
|
|
70096
|
+
const kindLabel = gradientKindLabel(preset);
|
|
70097
|
+
const selected = current.kind === "gradient" && current.gradientId === gradientId;
|
|
70098
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
70099
|
+
type: "button",
|
|
70100
|
+
"aria-label": `Choose ${preset.name}, ${kindLabel}`,
|
|
70101
|
+
"aria-pressed": selected,
|
|
70102
|
+
className: `overflow-hidden rounded-md border text-left text-xs transition hover:border-muted-foreground ${selected ? "border-foreground ring-1 ring-foreground" : "bg-background"}`,
|
|
70103
|
+
onClick: chooseFromClick({
|
|
70104
|
+
kind: "gradient",
|
|
70105
|
+
gradientId
|
|
70106
|
+
}),
|
|
70107
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
70108
|
+
"aria-hidden": "true",
|
|
70109
|
+
className: "block h-14 w-full border-b",
|
|
70110
|
+
style: { backgroundImage: gradientPreviewCss(gradientId) }
|
|
70111
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
70112
|
+
className: "relative block min-w-0 px-2 py-1.5",
|
|
70113
|
+
children: [
|
|
70114
|
+
/* @__PURE__ */ jsx("span", {
|
|
70115
|
+
className: "block truncate font-medium",
|
|
70116
|
+
children: preset.name
|
|
70117
|
+
}),
|
|
70118
|
+
/* @__PURE__ */ jsx("span", {
|
|
70119
|
+
className: "block text-[10px] text-muted-foreground",
|
|
70120
|
+
children: kindLabel
|
|
70121
|
+
}),
|
|
70122
|
+
selected ? /* @__PURE__ */ jsx("span", {
|
|
70123
|
+
"aria-hidden": "true",
|
|
70124
|
+
className: "absolute right-2 top-1.5 grid h-4 w-4 place-items-center rounded-full bg-foreground text-[10px] text-background",
|
|
70125
|
+
children: "✓"
|
|
70126
|
+
}) : null
|
|
70127
|
+
]
|
|
70128
|
+
})]
|
|
70129
|
+
}, gradientId);
|
|
70130
|
+
})
|
|
70131
|
+
}),
|
|
70132
|
+
current.kind === "gradient" ? /* @__PURE__ */ jsxs("div", {
|
|
70133
|
+
className: "mt-2 flex items-center justify-between gap-2 border-t pt-2",
|
|
70134
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
70135
|
+
className: "flex min-w-0 items-center gap-2",
|
|
70086
70136
|
children: [/* @__PURE__ */ jsx("span", {
|
|
70087
|
-
|
|
70088
|
-
|
|
70089
|
-
|
|
70090
|
-
|
|
70091
|
-
|
|
70137
|
+
"aria-hidden": "true",
|
|
70138
|
+
className: "h-7 w-10 shrink-0 rounded border",
|
|
70139
|
+
style: { backgroundImage: gradientPreviewCss(current.gradientId) }
|
|
70140
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
70141
|
+
className: "min-w-0",
|
|
70142
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
70143
|
+
className: "block truncate text-xs font-medium",
|
|
70144
|
+
children: gradientLabel(current.gradientId)
|
|
70145
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
70146
|
+
className: "block text-[10px] text-muted-foreground",
|
|
70147
|
+
children: "Selected for this section"
|
|
70148
|
+
})]
|
|
70092
70149
|
})]
|
|
70093
|
-
})
|
|
70094
|
-
|
|
70095
|
-
|
|
70150
|
+
}), capability.modes.includes("default") ? /* @__PURE__ */ jsx("button", {
|
|
70151
|
+
type: "button",
|
|
70152
|
+
className: "shrink-0 rounded px-1.5 py-1 text-xs font-medium hover:bg-muted",
|
|
70153
|
+
onClick: chooseFromClick(defaultBackgroundOverrideForMode("default", capability)),
|
|
70154
|
+
children: "Use default"
|
|
70155
|
+
}) : null]
|
|
70156
|
+
}) : null
|
|
70157
|
+
] }) : null;
|
|
70096
70158
|
const renderImageOptions = () => capability.modes.includes("image") ? /* @__PURE__ */ jsxs("div", { children: [
|
|
70097
70159
|
/* @__PURE__ */ jsx("div", {
|
|
70098
70160
|
className: "mb-1 text-xs font-medium text-muted-foreground",
|
|
@@ -70324,7 +70386,15 @@ function backgroundModeLabel(mode) {
|
|
|
70324
70386
|
return mode === "default" ? "Default" : formatVariantLabel(mode);
|
|
70325
70387
|
}
|
|
70326
70388
|
function gradientLabel(gradientId) {
|
|
70327
|
-
return
|
|
70389
|
+
return getGradientPreset(gradientId).name;
|
|
70390
|
+
}
|
|
70391
|
+
function gradientKindLabel(preset) {
|
|
70392
|
+
switch (preset.type) {
|
|
70393
|
+
case "linear": return "Linear";
|
|
70394
|
+
case "radial": return "Radial · top";
|
|
70395
|
+
case "conic": return "Conic";
|
|
70396
|
+
default: return assertNever$6(preset.type, "Unhandled gradient preset type");
|
|
70397
|
+
}
|
|
70328
70398
|
}
|
|
70329
70399
|
function imageSourceLabel(source) {
|
|
70330
70400
|
switch (source) {
|
|
@@ -70338,8 +70408,7 @@ function tokenSwatchCss(token) {
|
|
|
70338
70408
|
return `rgb(var(--tb-${token}))`;
|
|
70339
70409
|
}
|
|
70340
70410
|
function gradientPreviewCss(gradientId) {
|
|
70341
|
-
const preset =
|
|
70342
|
-
if (!preset) return "linear-gradient(135deg, rgb(var(--tb-primary)), rgb(var(--tb-secondary)))";
|
|
70411
|
+
const preset = getGradientPreset(gradientId);
|
|
70343
70412
|
return gradientToCss(preset, Object.fromEntries(preset.stops.map((stop) => [stop.color, tokenSwatchCss(stop.color)])));
|
|
70344
70413
|
}
|
|
70345
70414
|
function readBackgroundColorPaletteSnapshot() {
|
|
@@ -71348,4 +71417,4 @@ function deriveDashboardBaseUrlFromApiBaseUrl(apiBaseUrl) {
|
|
|
71348
71417
|
}
|
|
71349
71418
|
}
|
|
71350
71419
|
//#endregion
|
|
71351
|
-
export {
|
|
71420
|
+
export { generateFontFaceCss as C, Callout as D, FixedBottomSurface as E, CalloutDescription as O, buildFontPreviewUrl as S, ThemeScope as T, useBlockCustomizeControls as _, usePreviewPageDesignEditorState as a, BlockEditor as b, applyPreviewChromeSurfaceToElement as c, resolvePreviewDashboardSetupHandoff as d, resolvePreviewEditorGuidanceModel as f, usePreviewBlockCustomizeSelectionOptional as g, canInspectSiteStyle as h, PreviewShellLayout as i, resolvePreviewChromeSurface as l, canApplySiteStyle as m, SdkPreviewModeRuntime_exports as n, PREVIEW_CHROME_PORTAL_CLASS_NAME as o, resolvePreviewSidebarChromeModel as p, PreviewShell as r, PREVIEW_CHROME_THEME_CLASS_NAME as s, SdkPreviewModeRuntime as t, buildPreviewDashboardSetupUrl as u, PreviewFormProvider as v, getSiteFontsStorageUrl as w, isAdapterReferenceKind as x, previewWidgetOverrides as y };
|