@riverbankcms/sdk 0.109.0 → 0.118.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-DWqwfy3_.mjs → PreviewEditorSidebar-BBcK1DjD.mjs} +178 -117
- package/dist/{PreviewEditorUI-B7OL4sfR.mjs → PreviewEditorUI-CuBFoYes.mjs} +3 -4
- package/dist/{PreviewQueryProvider-D0y2l8JN.mjs → PreviewQueryProvider-nKUT4TL-.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-D8Gt9Gbe.mjs → SdkPreviewModeRuntime-BWIO_Dsi.mjs} +2789 -34525
- package/dist/{SiteChromeCustomizeContext-DUpalEdL.mjs → SiteChromeCustomizeContext-CciG60M5.mjs} +88526 -57212
- package/dist/_dts/ai/src/contracts/proposals.d.ts +6939 -727
- package/dist/_dts/ai/src/designer/themePatch.d.ts +1 -1
- package/dist/_dts/api/src/bookingAdjustments.d.ts +30 -36
- package/dist/_dts/api/src/bookingRecords.d.ts +6 -74
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +3 -3
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
- package/dist/_dts/api/src/contentRuntime.d.ts +9 -2
- package/dist/_dts/api/src/courses.d.ts +30 -15
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +4 -4
- package/dist/_dts/api/src/endpoints.d.ts +49 -4
- package/dist/_dts/api/src/event-presentation.d.ts +4 -0
- package/dist/_dts/api/src/index.d.ts +3 -3
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +2 -2
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkContracts.d.ts +108 -18
- package/dist/_dts/api/src/siteBanner.d.ts +8 -8
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteOperations.d.ts +12 -20
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -6
- package/dist/_dts/api/src/webhooks.d.ts +98 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +3 -12
- package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +1 -5
- package/dist/_dts/blocks/src/bindings/index.d.ts +1 -10
- package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
- package/dist/_dts/blocks/src/client.d.ts +4 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/index.d.ts +6 -7
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +2 -4
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +5 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -8
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +2 -15
- package/dist/_dts/blocks/src/system/blocks/intro.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +66 -66
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -17
- 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-footer.d.ts +0 -3
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
- package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +19 -2
- package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +8 -70
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +6 -0
- package/dist/_dts/blocks/src/system/node/schema.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -18
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -9
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +5 -21
- 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/richText-coerce.d.ts +14 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +17 -1
- package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +1 -1
- package/dist/_dts/content-editor/src/index.d.ts +12 -12
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -2
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +19 -4
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +3 -15
- package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +2 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +1 -21
- package/dist/_dts/core/src/editor-state.d.ts +14 -1
- package/dist/_dts/core/src/footer-composition.d.ts +2 -1
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/rich-text.d.ts +16 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +367 -69
- package/dist/_dts/editor/src/index.d.ts +1 -1
- package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +3 -5
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +15 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +3 -7
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/utils.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/index.d.ts +6 -5
- package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
- package/dist/_dts/media-core/src/contentMediaAudit.d.ts +104 -0
- package/dist/_dts/media-core/src/contentMediaAuditFieldAdapter.d.ts +8 -0
- package/dist/_dts/media-core/src/contentMediaSnapshotAudit.d.ts +22 -0
- package/dist/_dts/media-core/src/index.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -7
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
- package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/event.d.ts +18 -1
- package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +2 -16
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +8 -5
- package/dist/_dts/sdk/src/client/management/events.d.ts +2 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +38 -10
- package/dist/_dts/sdk/src/config/typed-entries.d.ts +7 -7
- package/dist/_dts/sdk/src/config/validation.d.ts +7 -7
- package/dist/_dts/sdk/src/contracts/content.d.ts +5 -15
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +24 -40
- package/dist/_dts/sdk/src/contracts/theme.d.ts +2 -18
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +4 -4
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -2
- package/dist/_dts/sdk/src/rendering/helpers/index.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -13
- package/dist/_dts/sdk/src/theme/index.d.ts +0 -29
- 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 +160 -24
- package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/core.d.ts +0 -1
- package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +22 -9
- package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -2
- package/dist/_dts/theme-core/src/buttons/effects/presets/border.d.ts +1 -2
- package/dist/_dts/theme-core/src/buttons/effects/presets/overlay.d.ts +3 -1
- package/dist/_dts/theme-core/src/buttons/effects/presets/shadow.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +8 -18
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -5
- package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +36 -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 +1638 -93
- package/dist/_dts/theme-core/src/cards/types.d.ts +13 -13
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +969 -69
- package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +0 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1100 -116
- 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 +14 -14
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +4 -4
- package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
- package/dist/cli/index.mjs +7368 -6668
- package/dist/cli/init-docs/content/cli-reference.md +40 -1
- package/dist/cli/init-docs/content/content-management.md +6 -0
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
- package/dist/client/{DiscountCodeDisclosure-DU1ygxU2.mjs → DiscountCodeDisclosure-DIWj-P9v.mjs} +1 -1
- package/dist/client/{EventCombined.client-DB5zagCo.mjs → EventCombined.client-De8YWBSr.mjs} +2 -3
- package/dist/client/{EventListing.client-CTX9JHBL.mjs → EventListing.client-seHTjimY.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BYImhgiB.mjs → LeafletStaticMap-BmQxFcJW.mjs} +1 -1
- package/dist/client/{MagicLinkForm-CRkw_M3l.mjs → MagicLinkForm-OoJAIUIj.mjs} +1 -2
- package/dist/client/{StepIndicator-BnmVBJJh.mjs → StepIndicator-CiZ8kdPk.mjs} +2 -2
- package/dist/client/{accordion-CeGreumd.mjs → accordion-6lnN__XJ.mjs} +1 -1
- package/dist/client/{bookingForm-CSzFNrpN.mjs → bookingForm-5uyqhONU.mjs} +6 -7
- package/dist/client/bookings.mjs +9179 -5865
- package/dist/client/{carousel-B2jDtogf.mjs → carousel-Dtnifil_.mjs} +1 -1
- package/dist/client/{cart-D-jZ-vaY.mjs → cart-5Tc5S7NV.mjs} +3 -3
- package/dist/client/{checkout-Dza-LA7N.mjs → checkout-CYKKN5Hr.mjs} +3 -3
- package/dist/client/client.mjs +3252 -3361
- package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorStyles-BWpj_h4C.mjs} +118 -1
- package/dist/client/{courseRegistration-TYkNychb.mjs → courseRegistration-CxCBybB4.mjs} +100 -37
- package/dist/client/{eventCalendar-BI_90SsT.mjs → eventCalendar-Xj2jZS9X.mjs} +4 -5
- package/dist/client/{eventCombined-mNrpryE9.mjs → eventCombined-CgcMoOgM.mjs} +2 -2
- package/dist/client/{eventDetails-D4GVlCIY.mjs → eventDetails-CEAH8Edc.mjs} +3 -3
- package/dist/client/{eventListing-YhKN018y.mjs → eventListing-qyPVQ0wP.mjs} +2 -2
- package/dist/client/{eventRegistration-CdHGtilr.mjs → eventRegistration-DDu79CtL.mjs} +6 -7
- package/dist/client/{form-AcAL45rA.mjs → form-Bc7JKI7I.mjs} +1 -2
- package/dist/client/{headerSection-uEC52ueD.mjs → headerSection-vTku_LEl.mjs} +2 -3
- package/dist/client/hooks.mjs +1774 -2273
- package/dist/client/{locationMap-_wJDSUYe.mjs → locationMap-Bg7X4Jna.mjs} +8 -5
- package/dist/client/{media-BK0O3b-U.mjs → media-CNE1Z-wb.mjs} +1 -2
- package/dist/client/{newsletterForm-DrArsb2B.mjs → newsletterForm-lpylVdp5.mjs} +1 -2
- package/dist/client/{pricing-BSYVghwo.mjs → pricing-DE8fjJiT.mjs} +1 -1
- package/dist/client/{productDetail-Dyk90sMs.mjs → productDetail-D7Bo2RMH.mjs} +3 -3
- package/dist/client/{productList-BCKThwAI.mjs → productList-VjnZqiqN.mjs} +3 -3
- package/dist/client/{propsDecoder-CkXxkdSR.mjs → propsDecoder-DreFXjNP.mjs} +4256 -443
- package/dist/client/rendering/client.mjs +21776 -21970
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +3092 -3322
- package/dist/client/{shop-DeltVH10.mjs → shop-IRsHHbf7.mjs} +5 -6
- package/dist/client/{shop-commerce-BD9Jsm2Z.mjs → shop-commerce-gnI8PieZ.mjs} +27 -11
- package/dist/client/{shop-commerce-store-CmXD6FDS.mjs → shop-commerce-store-BTbrhObn.mjs} +1 -1
- package/dist/client/{shopShared-B8v-lH_F.mjs → shopShared-D6KS2_qk.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-DbWJN8ld.mjs → useDiscountCodeUi-DCccGCxV.mjs} +1 -1
- package/dist/client/{useEventFilters-EJIMUnqT.mjs → useEventFilters-eGs3rPZQ.mjs} +24 -126
- package/dist/client/{usePolling-Cmh14fc7.mjs → usePolling-CvSU2sur.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +94 -6
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +94 -6
- package/dist/{previewAuthStore-CTO7CRPk.mjs → previewAuthStore-DN7vcRsv.mjs} +94 -6
- package/dist/{sdk-runtime-Dou0GAav.mjs → sdk-runtime-vW8QbyPN.mjs} +2 -2
- package/dist/{separator-CI5wZNXT.mjs → separator-DJ4bkeY3.mjs} +1 -1
- package/dist/server/components.mjs +5194 -5568
- package/dist/server/config-template-validation.mjs +4 -23
- package/dist/server/config-validation.mjs +1774 -2273
- package/dist/server/config.mjs +2043 -2508
- package/dist/server/data.mjs +1774 -2273
- package/dist/server/index.mjs +95 -7
- package/dist/server/next/revalidate.mjs +53 -1
- package/dist/server/next.mjs +5337 -5632
- package/dist/server/page-converter.mjs +1833 -2307
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +6713 -4874
- package/dist/server/rendering.mjs +5203 -5586
- package/dist/server/routing.mjs +2199 -2698
- package/dist/server/server.mjs +1885 -2355
- package/dist/server/theme-bridge.mjs +1986 -2222
- package/dist/server/theme.mjs +2367 -1581
- package/dist/server/webhooks.mjs +54 -2
- package/package.json +1 -1
- package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +0 -40
- package/dist/_dts/blocks/src/system/fragments/library/footerBottomText.d.ts +0 -19
- package/dist/_dts/media-core/src/legacyMediaValue.d.ts +0 -11
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
- package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -285
- package/dist/_dts/theme-core/src/styles/buttons.d.ts +0 -27
- package/dist/_dts/theme-core/src/styles/buttonsLibrary.d.ts +0 -2
- package/dist/_dts/theme-core/src/styles/glow.d.ts +0 -3
- package/dist/client/buttons-DoFV7KDL.mjs +0 -2115
- package/dist/client/colorStyles-CrgzoXsm.mjs +0 -99
- package/dist/client/foregroundContract-xICPq59x.mjs +0 -31
|
@@ -101,6 +101,36 @@ function isExplicitRectCrop(rect, sourceWidth, sourceHeight, epsilon = DEFAULT_R
|
|
|
101
101
|
return !(Math.abs(x) <= epsilon && Math.abs(y) <= epsilon && Math.abs(width - sourceWidth) <= epsilon && Math.abs(height - sourceHeight) <= epsilon);
|
|
102
102
|
}
|
|
103
103
|
//#endregion
|
|
104
|
+
//#region ../theme-core/src/surfaces/foregroundContract.ts
|
|
105
|
+
const SURFACE_FOREGROUND_CSS_VARS = {
|
|
106
|
+
text: "--rb-surface-text-color",
|
|
107
|
+
heading: "--rb-surface-heading-color",
|
|
108
|
+
link: "--rb-surface-link-color",
|
|
109
|
+
supporting: "--rb-surface-supporting-color"
|
|
110
|
+
};
|
|
111
|
+
const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
|
|
112
|
+
const DEFAULT_ROLE_FALLBACKS = {
|
|
113
|
+
text: DEFAULT_SURFACE_TEXT_COLOR,
|
|
114
|
+
heading: DEFAULT_SURFACE_TEXT_COLOR,
|
|
115
|
+
link: "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))",
|
|
116
|
+
supporting: "rgb(var(--tb-mutedText, 100 116 139))"
|
|
117
|
+
};
|
|
118
|
+
function requireSurfaceColorValue(role, value) {
|
|
119
|
+
const normalized = value.trim();
|
|
120
|
+
if (normalized.length === 0) throw new RangeError(`Surface foreground ${role} must be a non-empty CSS color.`);
|
|
121
|
+
return normalized;
|
|
122
|
+
}
|
|
123
|
+
function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FALLBACKS[role]) {
|
|
124
|
+
const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
|
|
125
|
+
const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
|
|
126
|
+
if (role === "text") return `var(${roleVariable}, ${fallback})`;
|
|
127
|
+
return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
|
|
128
|
+
}
|
|
129
|
+
function surfaceForegroundValueWithOpacity(role, opacityPercent) {
|
|
130
|
+
if (!Number.isFinite(opacityPercent) || opacityPercent < 0 || opacityPercent > 100) throw new RangeError("Surface foreground opacity must be between 0 and 100.");
|
|
131
|
+
return `color-mix(in srgb, ${surfaceForegroundValue(role)} ${opacityPercent}%, transparent)`;
|
|
132
|
+
}
|
|
133
|
+
//#endregion
|
|
104
134
|
//#region ../theme-core/src/tokens/colorTokenParts.ts
|
|
105
135
|
function parseOpacityPercent(source) {
|
|
106
136
|
const trimmed = source.trim();
|
|
@@ -139,4 +169,91 @@ function parseColorTokenParts(source) {
|
|
|
139
169
|
};
|
|
140
170
|
}
|
|
141
171
|
//#endregion
|
|
142
|
-
|
|
172
|
+
//#region ../theme-core/src/utils/colorStyles.ts
|
|
173
|
+
const COLOR_VAR_PREFIX = "--tb-";
|
|
174
|
+
function parseToken(source) {
|
|
175
|
+
const parts = parseColorTokenParts(source);
|
|
176
|
+
if (parts.kind === "raw") return {
|
|
177
|
+
token: source,
|
|
178
|
+
raw: parts.value
|
|
179
|
+
};
|
|
180
|
+
if (parts.kind === "invalid") return { token: source };
|
|
181
|
+
return {
|
|
182
|
+
token: parts.token,
|
|
183
|
+
opacityPercent: parts.opacityPercent === null ? void 0 : parts.opacityPercent
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
const SURFACE_TEXT_ROLE_BY_TOKEN = {
|
|
187
|
+
text: "text",
|
|
188
|
+
heading: "heading",
|
|
189
|
+
mutedText: "supporting"
|
|
190
|
+
};
|
|
191
|
+
function surfaceRoleForTextToken(token) {
|
|
192
|
+
return Object.prototype.hasOwnProperty.call(SURFACE_TEXT_ROLE_BY_TOKEN, token) ? SURFACE_TEXT_ROLE_BY_TOKEN[token] : null;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Converts a theme color token to a CSS rgb value.
|
|
196
|
+
* This is the primary function for applying theme colors to CSS properties.
|
|
197
|
+
*
|
|
198
|
+
* @param token - Theme color token (semantic, with opacity, or raw)
|
|
199
|
+
* @returns CSS color value (rgb with optional alpha, or raw CSS value)
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* rgbColorValue('primary') // => 'rgb(var(--tb-primary))'
|
|
203
|
+
* rgbColorValue('surface/95') // => 'rgb(var(--tb-surface) / 0.95)'
|
|
204
|
+
* rgbColorValue('raw:transparent') // => 'transparent'
|
|
205
|
+
*/
|
|
206
|
+
function rgbColorValue(token) {
|
|
207
|
+
const { token: baseToken, opacityPercent, raw } = parseToken(token);
|
|
208
|
+
if (raw) return raw;
|
|
209
|
+
const cssVar = `${COLOR_VAR_PREFIX}${baseToken}`;
|
|
210
|
+
if (opacityPercent === void 0) return `rgb(var(${cssVar}))`;
|
|
211
|
+
return `rgb(var(${cssVar}) / ${opacityPercent / 100})`;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Creates a backgroundColor style object from a theme token.
|
|
215
|
+
*
|
|
216
|
+
* @param token - Theme color token
|
|
217
|
+
* @returns CSSProperties with backgroundColor
|
|
218
|
+
*/
|
|
219
|
+
function backgroundColorStyle(token) {
|
|
220
|
+
return { backgroundColor: rgbColorValue(token) };
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Creates a text color style object from a theme token.
|
|
224
|
+
*
|
|
225
|
+
* @param token - Theme color token
|
|
226
|
+
* @returns CSSProperties with color
|
|
227
|
+
*/
|
|
228
|
+
function textColorStyle(token) {
|
|
229
|
+
const parsed = parseToken(token);
|
|
230
|
+
const surfaceRole = parsed.raw ? null : surfaceRoleForTextToken(parsed.token);
|
|
231
|
+
if (surfaceRole) return { color: parsed.opacityPercent === void 0 ? surfaceForegroundValue(surfaceRole) : surfaceForegroundValueWithOpacity(surfaceRole, parsed.opacityPercent) };
|
|
232
|
+
return { color: rgbColorValue(token) };
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Merges multiple CSSProperties objects into a single object.
|
|
236
|
+
* Later styles override earlier ones. Undefined values are filtered out.
|
|
237
|
+
* Returns undefined if the merged result is empty.
|
|
238
|
+
*
|
|
239
|
+
* @param styles - Variable number of CSSProperties objects (can be undefined)
|
|
240
|
+
* @returns Merged CSSProperties object, or undefined if empty
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* mergeStyles(
|
|
244
|
+
* backgroundColorStyle('surface'),
|
|
245
|
+
* textColorStyle('text'),
|
|
246
|
+
* borderColorStyle('border')
|
|
247
|
+
* )
|
|
248
|
+
* // => { backgroundColor: '...', color: '...', borderColor: '...' }
|
|
249
|
+
*/
|
|
250
|
+
function mergeStyles(...styles) {
|
|
251
|
+
const merged = {};
|
|
252
|
+
for (const style of styles) {
|
|
253
|
+
if (!style) continue;
|
|
254
|
+
Object.assign(merged, style);
|
|
255
|
+
}
|
|
256
|
+
return Object.keys(merged).length ? merged : void 0;
|
|
257
|
+
}
|
|
258
|
+
//#endregion
|
|
259
|
+
export { unsafeAsStorageBucketName as _, parseColorTokenParts as a, ok as b, resolveMediaTransformForAspect as c, unsafeAsAppointmentResourceId as d, unsafeAsAppointmentServiceId as f, unsafeAsPassId as g, unsafeAsMediaAssetId as h, textColorStyle as i, parseEventOfferingId as l, unsafeAsFormId as m, mergeStyles as n, isExplicitRectCrop as o, unsafeAsCustomerPassId as p, rgbColorValue as r, parseAspectRatioValue as s, backgroundColorStyle as t, parseEventSeriesId as u, unsafeAsStoragePath as v, err as y };
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-
|
|
2
|
+
import { It as toBookingTimeZone, Kt as assertNever, Lt as toScheduledBookingDateTime, Ot as formatBookingDate, Rt as parseEventPageSurfaceSubject, Z as themeButtonClassName, jt as formatBookingTime, t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
|
|
3
|
+
import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-DE8fjJiT.mjs";
|
|
4
4
|
import { n as useBlockApi, t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
|
|
5
5
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
6
|
-
import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-
|
|
7
|
-
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-
|
|
8
|
-
import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-
|
|
9
|
-
import { r as themeButtonClassName } from "./buttons-DoFV7KDL.mjs";
|
|
6
|
+
import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-DCccGCxV.mjs";
|
|
7
|
+
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DIWj-P9v.mjs";
|
|
8
|
+
import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-CiZ8kdPk.mjs";
|
|
10
9
|
import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
|
|
11
10
|
import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
|
|
12
11
|
import { t as buildCheckoutReturnUrls } from "./checkoutUrls-Ct8Mxna3.mjs";
|
|
13
12
|
import { t as scrollToBlock } from "./scrollToBlock-C86BYkyV.mjs";
|
|
14
|
-
import { a as ClockIcon, i as LoggedInAsUser, n as logoutPortal, r as useWaitlistClaim, t as MagicLinkForm } from "./MagicLinkForm-
|
|
13
|
+
import { a as ClockIcon, i as LoggedInAsUser, n as logoutPortal, r as useWaitlistClaim, t as MagicLinkForm } from "./MagicLinkForm-OoJAIUIj.mjs";
|
|
15
14
|
import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
|
|
16
15
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
17
16
|
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
|
|
@@ -645,7 +644,7 @@ function resolveHasCoursePayment(pricing) {
|
|
|
645
644
|
if (pricing.selectedOption) return pricing.selectedRequiresPayment;
|
|
646
645
|
return pricing.hasPaidSelection;
|
|
647
646
|
}
|
|
648
|
-
function useCourseRegistrationWizard(props) {
|
|
647
|
+
function useCourseRegistrationWizard(props, options = {}) {
|
|
649
648
|
const api = useBlockApi();
|
|
650
649
|
const { contentEntry, courses, entrySubrouteContext, subject } = props;
|
|
651
650
|
const scopedCourses = useMemo(() => {
|
|
@@ -892,21 +891,34 @@ function useCourseRegistrationWizard(props) {
|
|
|
892
891
|
setStep("enter-details");
|
|
893
892
|
};
|
|
894
893
|
const handleSubmit = async () => {
|
|
895
|
-
if (!selectedCourse) return
|
|
896
|
-
|
|
894
|
+
if (!selectedCourse) return {
|
|
895
|
+
kind: "blocked",
|
|
896
|
+
message: "Choose an available set of dates to continue."
|
|
897
|
+
};
|
|
898
|
+
if (!handleValidateForm()) return { kind: "validation-failed" };
|
|
897
899
|
if (missingPricingSelectionMessage) {
|
|
898
900
|
setErrorMessage(missingPricingSelectionMessage);
|
|
899
901
|
setStep("error");
|
|
900
|
-
return
|
|
902
|
+
return {
|
|
903
|
+
kind: "blocked",
|
|
904
|
+
message: missingPricingSelectionMessage
|
|
905
|
+
};
|
|
901
906
|
}
|
|
902
907
|
const requiresPayment = selectedCoursePricing?.selectedRequiresPayment ?? false;
|
|
903
908
|
const canUseMembership = requiresPayment && selectedCourse.acceptsMemberships && portalAuthState === "authenticated" && eligibleMemberships.length > 0;
|
|
904
909
|
if (showSpamProtection && !altchaSolution) {
|
|
905
|
-
|
|
910
|
+
const message = "Please complete the verification check.";
|
|
911
|
+
setErrorMessage(message);
|
|
906
912
|
setStep("error");
|
|
907
|
-
return
|
|
913
|
+
return {
|
|
914
|
+
kind: "blocked",
|
|
915
|
+
message
|
|
916
|
+
};
|
|
908
917
|
}
|
|
909
|
-
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return
|
|
918
|
+
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return {
|
|
919
|
+
kind: "blocked",
|
|
920
|
+
message: courseEligibility.reason ?? "This course is fully booked."
|
|
921
|
+
};
|
|
910
922
|
if (courseEligibility?.canJoinWaitlist) {
|
|
911
923
|
setStep("submitting");
|
|
912
924
|
try {
|
|
@@ -927,15 +939,20 @@ function useCourseRegistrationWizard(props) {
|
|
|
927
939
|
usedMembership: false
|
|
928
940
|
});
|
|
929
941
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
942
|
+
return { kind: "state-updated" };
|
|
930
943
|
} catch (error) {
|
|
931
|
-
|
|
944
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
945
|
+
setErrorMessage(message);
|
|
932
946
|
setStep("error");
|
|
947
|
+
return {
|
|
948
|
+
kind: "failed",
|
|
949
|
+
message
|
|
950
|
+
};
|
|
933
951
|
}
|
|
934
|
-
return;
|
|
935
952
|
}
|
|
936
953
|
if (requiresPayment && canUseMembership) {
|
|
937
954
|
setStep("select-payment");
|
|
938
|
-
return;
|
|
955
|
+
return { kind: "state-updated" };
|
|
939
956
|
}
|
|
940
957
|
if (requiresPayment) {
|
|
941
958
|
setStep("submitting");
|
|
@@ -961,16 +978,24 @@ function useCourseRegistrationWizard(props) {
|
|
|
961
978
|
usedMembership: false
|
|
962
979
|
});
|
|
963
980
|
setStep("success");
|
|
964
|
-
return;
|
|
981
|
+
return { kind: "state-updated" };
|
|
965
982
|
}
|
|
966
983
|
if (!checkoutResult.checkoutUrl) throw new Error("Checkout URL missing");
|
|
967
984
|
setStep("redirecting");
|
|
968
|
-
|
|
969
|
-
|
|
985
|
+
if (options.onCheckoutRedirect) options.onCheckoutRedirect(checkoutResult.checkoutUrl);
|
|
986
|
+
else window.location.href = checkoutResult.checkoutUrl;
|
|
987
|
+
return {
|
|
988
|
+
kind: "checkout-redirect",
|
|
989
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
990
|
+
};
|
|
970
991
|
} catch (error) {
|
|
971
|
-
|
|
992
|
+
const message = error instanceof Error ? error.message : "Checkout failed";
|
|
993
|
+
setErrorMessage(message);
|
|
972
994
|
setStep("error");
|
|
973
|
-
return
|
|
995
|
+
return {
|
|
996
|
+
kind: "failed",
|
|
997
|
+
message
|
|
998
|
+
};
|
|
974
999
|
}
|
|
975
1000
|
}
|
|
976
1001
|
setStep("submitting");
|
|
@@ -992,35 +1017,58 @@ function useCourseRegistrationWizard(props) {
|
|
|
992
1017
|
usedMembership: result.paymentMethod === "membership"
|
|
993
1018
|
});
|
|
994
1019
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
1020
|
+
return { kind: "state-updated" };
|
|
995
1021
|
} catch (error) {
|
|
996
|
-
|
|
1022
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
1023
|
+
setErrorMessage(message);
|
|
997
1024
|
setStep("error");
|
|
1025
|
+
return {
|
|
1026
|
+
kind: "failed",
|
|
1027
|
+
message
|
|
1028
|
+
};
|
|
998
1029
|
}
|
|
999
1030
|
};
|
|
1000
1031
|
const handlePaymentContinue = async () => {
|
|
1001
|
-
if (!selectedCourse) return
|
|
1002
|
-
|
|
1032
|
+
if (!selectedCourse) return {
|
|
1033
|
+
kind: "blocked",
|
|
1034
|
+
message: "Choose an available set of dates to continue."
|
|
1035
|
+
};
|
|
1036
|
+
if (!handleValidateForm()) return { kind: "validation-failed" };
|
|
1003
1037
|
if (missingPricingSelectionMessage) {
|
|
1004
1038
|
setErrorMessage(missingPricingSelectionMessage);
|
|
1005
1039
|
setStep("error");
|
|
1006
|
-
return
|
|
1040
|
+
return {
|
|
1041
|
+
kind: "blocked",
|
|
1042
|
+
message: missingPricingSelectionMessage
|
|
1043
|
+
};
|
|
1007
1044
|
}
|
|
1008
1045
|
const requiresPayment = selectedCoursePricing?.selectedRequiresPayment ?? false;
|
|
1009
|
-
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return
|
|
1046
|
+
if (!waitlistClaim.claim && courseEligibility?.isFull && !courseEligibility.canJoinWaitlist && showSoldOutCourseError()) return {
|
|
1047
|
+
kind: "blocked",
|
|
1048
|
+
message: courseEligibility.reason ?? "This course is fully booked."
|
|
1049
|
+
};
|
|
1010
1050
|
if (!requiresPayment) {
|
|
1011
1051
|
setStep("enter-details");
|
|
1012
|
-
return;
|
|
1052
|
+
return { kind: "state-updated" };
|
|
1013
1053
|
}
|
|
1014
1054
|
if (showSpamProtection && !altchaSolution) {
|
|
1015
|
-
|
|
1055
|
+
const message = "Please complete the verification check.";
|
|
1056
|
+
setErrorMessage(message);
|
|
1016
1057
|
setStep("error");
|
|
1017
|
-
return
|
|
1058
|
+
return {
|
|
1059
|
+
kind: "blocked",
|
|
1060
|
+
message
|
|
1061
|
+
};
|
|
1018
1062
|
}
|
|
1019
1063
|
if (paymentChoice === "membership") {
|
|
1020
1064
|
if (!selectedMembershipId) {
|
|
1021
|
-
|
|
1065
|
+
const message = "Select a membership to sign up.";
|
|
1066
|
+
setErrorMessage(message);
|
|
1022
1067
|
setStep("error");
|
|
1023
|
-
return
|
|
1068
|
+
return {
|
|
1069
|
+
kind: "blocked",
|
|
1070
|
+
message
|
|
1071
|
+
};
|
|
1024
1072
|
}
|
|
1025
1073
|
setStep("submitting");
|
|
1026
1074
|
try {
|
|
@@ -1042,11 +1090,16 @@ function useCourseRegistrationWizard(props) {
|
|
|
1042
1090
|
usedMembership: true
|
|
1043
1091
|
});
|
|
1044
1092
|
setStep(result.status === "waitlist" ? "waitlist" : "success");
|
|
1093
|
+
return { kind: "state-updated" };
|
|
1045
1094
|
} catch (error) {
|
|
1046
|
-
|
|
1095
|
+
const message = error instanceof Error ? error.message : "Booking failed";
|
|
1096
|
+
setErrorMessage(message);
|
|
1047
1097
|
setStep("error");
|
|
1098
|
+
return {
|
|
1099
|
+
kind: "failed",
|
|
1100
|
+
message
|
|
1101
|
+
};
|
|
1048
1102
|
}
|
|
1049
|
-
return;
|
|
1050
1103
|
}
|
|
1051
1104
|
setStep("submitting");
|
|
1052
1105
|
try {
|
|
@@ -1071,14 +1124,24 @@ function useCourseRegistrationWizard(props) {
|
|
|
1071
1124
|
usedMembership: false
|
|
1072
1125
|
});
|
|
1073
1126
|
setStep("success");
|
|
1074
|
-
return;
|
|
1127
|
+
return { kind: "state-updated" };
|
|
1075
1128
|
}
|
|
1076
1129
|
if (!checkoutResult.checkoutUrl) throw new Error("Checkout URL missing");
|
|
1077
1130
|
setStep("redirecting");
|
|
1078
|
-
|
|
1131
|
+
if (options.onCheckoutRedirect) options.onCheckoutRedirect(checkoutResult.checkoutUrl);
|
|
1132
|
+
else window.location.href = checkoutResult.checkoutUrl;
|
|
1133
|
+
return {
|
|
1134
|
+
kind: "checkout-redirect",
|
|
1135
|
+
checkoutUrl: checkoutResult.checkoutUrl
|
|
1136
|
+
};
|
|
1079
1137
|
} catch (error) {
|
|
1080
|
-
|
|
1138
|
+
const message = error instanceof Error ? error.message : "Checkout failed";
|
|
1139
|
+
setErrorMessage(message);
|
|
1081
1140
|
setStep("error");
|
|
1141
|
+
return {
|
|
1142
|
+
kind: "failed",
|
|
1143
|
+
message
|
|
1144
|
+
};
|
|
1082
1145
|
}
|
|
1083
1146
|
};
|
|
1084
1147
|
const handleRetry = () => {
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as clsx } from "./clsx-DgIEfj3H.mjs";
|
|
3
|
-
import { E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, G as getLocalDateKey, I as formatTime, K as getLocalMinuteOfDay, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, W as getEventAvailabilityStatus, t as defineIslandPropsDecoder, w as buildEventCalendarListingRender, z as groupEventsByDate } from "./propsDecoder-
|
|
4
|
-
import {
|
|
5
|
-
import { o as
|
|
3
|
+
import { E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, G as getLocalDateKey, I as formatTime, K as getLocalMinuteOfDay, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, W as getEventAvailabilityStatus, Z as themeButtonClassName, t as defineIslandPropsDecoder, w as buildEventCalendarListingRender, z as groupEventsByDate } from "./propsDecoder-DreFXjNP.mjs";
|
|
4
|
+
import { o as EventFilters, t as useEventFilters } from "./useEventFilters-eGs3rPZQ.mjs";
|
|
5
|
+
import { a as CalendarDayCell, c as useCalendarEvents, d as getOrderedDayNames, f as getWeekCalendarDayTuple, h as isToday, i as WeekAgendaView, l as MONTH_NAMES, m as isSameLocalDay, o as EventModalProvider, p as getWeekCalendarDays, r as EventModals, s as useEventModal, t as EventCombinedClient, u as formatDateKey } from "./EventCombined.client-De8YWBSr.mjs";
|
|
6
6
|
import { t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
|
|
7
|
-
import { r as themeButtonClassName } from "./buttons-DoFV7KDL.mjs";
|
|
8
7
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
9
8
|
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
|
|
10
|
-
import { n as EventListingController } from "./EventListing.client-
|
|
9
|
+
import { n as EventListingController } from "./EventListing.client-seHTjimY.mjs";
|
|
11
10
|
import { useEffect, useId, useMemo, useState } from "react";
|
|
12
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
12
|
//#region ../calendar/src/lane-packing.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { n as EventCombinedIslandClient } from "./EventCombined.client-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
|
|
2
|
+
import { n as EventCombinedIslandClient } from "./EventCombined.client-De8YWBSr.mjs";
|
|
3
3
|
import { t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
|
|
4
4
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
5
5
|
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-
|
|
1
|
+
import { Bt as publicEventPricingCurrency, Gt as formatCurrencyAmount, H as resolveRuntimeEventPricing, Ht as publicEventPricingType, It as toBookingTimeZone, Lt as toScheduledBookingDateTime, M as formatEventDateParts, N as formatEventPrice, Nt as getBookingLocalDateKey, V as resolveEventLinkProps, t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
|
|
2
|
+
import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-DE8fjJiT.mjs";
|
|
3
3
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
4
4
|
import { n as filterPassesForEvent, t as filterMembershipsForEvent } from "./eventProductEligibility-AVxyCB1u.mjs";
|
|
5
|
-
import { t as LeafletStaticMap } from "./LeafletStaticMap-
|
|
5
|
+
import { t as LeafletStaticMap } from "./LeafletStaticMap-BmQxFcJW.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region ../blocks/src/system/runtime/nodes/event-details/logic.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
|
|
2
2
|
import { t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
|
|
3
3
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
4
4
|
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
|
|
5
|
-
import { t as EventListingClient } from "./EventListing.client-
|
|
5
|
+
import { t as EventListingClient } from "./EventListing.client-seHTjimY.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/rendering/islands/enhancers/eventListing.tsx
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { n as buildBookingPaymentSelectionViewModel, t as usePolling } from "./usePolling-
|
|
3
|
-
import { Bt as
|
|
2
|
+
import { n as buildBookingPaymentSelectionViewModel, t as usePolling } from "./usePolling-CvSU2sur.mjs";
|
|
3
|
+
import { Bt as publicEventPricingCurrency, C as getWizardStepsForContext, Gt as formatCurrencyAmount, H as resolveRuntimeEventPricing, Ht as publicEventPricingType, It as toBookingTimeZone, Lt as toScheduledBookingDateTime, Ot as formatBookingDate, P as formatEventPriceDisplay, S as getStepNumber, Ut as publicEventScalarPrice, Vt as publicEventPricingMode, Wt as publicEventTicketTypes, X as resolveEventRegistrationScopedEvents, Z as themeButtonClassName, _ as findPreSelectedEvent, b as resolveRegistrationTarget, bt as assertNever, g as findEventByOccurrenceId, h as toRegistrationEvents, jt as formatBookingTime, kt as formatBookingDateTime, t as defineIslandPropsDecoder, v as resolveDiscountContext, x as WIZARD_STEPS, y as resolveEventRequiresPayment } from "./propsDecoder-DreFXjNP.mjs";
|
|
4
4
|
import { n as useBlockApi, t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
|
|
5
5
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
6
|
-
import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-
|
|
7
|
-
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-
|
|
8
|
-
import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-
|
|
9
|
-
import { r as themeButtonClassName } from "./buttons-DoFV7KDL.mjs";
|
|
6
|
+
import { i as CheckIcon, n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-DCccGCxV.mjs";
|
|
7
|
+
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DIWj-P9v.mjs";
|
|
8
|
+
import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-CiZ8kdPk.mjs";
|
|
10
9
|
import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
|
|
11
10
|
import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
|
|
12
11
|
import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
|
|
13
12
|
import { t as consumeSearchParam } from "./urlParams-D71VXFGx.mjs";
|
|
14
|
-
import { a as ClockIcon, i as LoggedInAsUser, n as logoutPortal, r as useWaitlistClaim, t as MagicLinkForm } from "./MagicLinkForm-
|
|
13
|
+
import { a as ClockIcon, i as LoggedInAsUser, n as logoutPortal, r as useWaitlistClaim, t as MagicLinkForm } from "./MagicLinkForm-OoJAIUIj.mjs";
|
|
15
14
|
import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
|
|
16
15
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
17
16
|
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as clsx } from "./clsx-DgIEfj3H.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { Ct as ok, St as err, Z as themeButtonClassName, bt as assertNever, t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
|
|
4
4
|
import { n as useBlockApi, t as BlockApiProvider } from "./context-BGZNlGXB.mjs";
|
|
5
5
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
6
|
-
import { r as themeButtonClassName } from "./buttons-DoFV7KDL.mjs";
|
|
7
6
|
import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
|
|
8
7
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
9
8
|
import { useReducer, useRef, useState } from "react";
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
3
|
-
import { r as themeButtonClassName } from "./buttons-DoFV7KDL.mjs";
|
|
2
|
+
import { Z as themeButtonClassName, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-DreFXjNP.mjs";
|
|
4
3
|
import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
|
|
5
|
-
import { n as useCommerceCart } from "./shop-commerce-store-
|
|
4
|
+
import { n as useCommerceCart } from "./shop-commerce-store-BTbrhObn.mjs";
|
|
6
5
|
import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
|
|
7
6
|
import * as React$1 from "react";
|
|
8
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|