@riverbankcms/sdk 0.80.0 → 0.82.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 +65 -3
- package/dist/{PreviewEditorSidebar-O4NDX5TP.css → PreviewEditorSidebar-JA4VIPSZ.css} +1 -1
- package/dist/{PreviewEditorSidebar-QZG37QIF.mjs → PreviewEditorSidebar-LHGK6RIO.mjs} +760 -711
- package/dist/{SdkPreviewModeRuntime-PBGALTMK.css → PreviewEditorUI-36T7QYV4.css} +1 -1
- package/dist/{PreviewEditorUI-AXIKSMZA.mjs → PreviewEditorUI-AXZG2SDC.mjs} +167 -28
- package/dist/{PreviewEditorUI-4JVDBZBS.css → SdkPreviewModeRuntime-FXKI6XNL.css} +1 -1
- package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +838 -262
- package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
- package/dist/_dts/api/src/analytics.d.ts +1 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +4 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +15 -3
- package/dist/_dts/api/src/contentTypes.d.ts +6 -0
- package/dist/_dts/api/src/courses.d.ts +1 -1
- package/dist/_dts/api/src/event-destination-policy.d.ts +17 -0
- package/dist/_dts/api/src/index.d.ts +6 -2
- package/dist/_dts/api/src/navigation/boundaries.d.ts +64 -0
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +17 -12
- package/dist/_dts/api/src/siteGeneration.d.ts +1 -1
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -6
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
- package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
- package/dist/_dts/block-form/src/context/BlockContext.d.ts +1 -1
- package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +1 -1
- package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +2 -2
- package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +1 -1
- package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +1 -1
- package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +2 -1
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/Field.d.ts +2 -2
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -3
- package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/stringDefaultValue.d.ts +1 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +28 -44
- package/dist/_dts/blocks/src/index.d.ts +6 -4
- package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +7 -7
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
- package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/layout/Inline.d.ts +2 -1
- package/dist/_dts/blocks/src/primitives/layout/Stack.d.ts +2 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +397 -111
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -15
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +54 -54
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +21 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +162 -0
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +592 -602
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +592 -604
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +0 -4
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +592 -592
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +19 -5
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +102 -0
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -1
- package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +6 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +71 -56
- package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +56 -74
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +27 -36
- package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.shared.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/cart.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +1 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +10 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/BookingModeStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/MembershipHero.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PortalAuthSidebar.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/SuccessStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/WaitlistStep.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSummaryBar.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PastOccurrenceNotice.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SelectableOptionCard.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +12 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +17 -28
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.view.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/gifting.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/gifting.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/product-list.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-add-feedback.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.server.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/spinner.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/ActionRow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/ClockIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/CrossIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +4 -2
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/calendar/src/grid.d.ts +27 -0
- package/dist/_dts/calendar/src/index.d.ts +2 -2
- package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +1 -1
- package/dist/_dts/content-editor/src/components/EditableBlockProvider.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
- package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
- package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
- package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
- package/dist/_dts/content-editor/src/index.d.ts +3 -1
- package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
- package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +6 -1
- package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +6 -1
- package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +2 -0
- package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +3 -1
- package/dist/_dts/content-editor/src/primitives/shared/types.d.ts +5 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
- package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +67 -5
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -40
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -40
- package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
- package/dist/_dts/core/src/branded.d.ts +5 -0
- package/dist/_dts/core/src/event-pricing.d.ts +72 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/stable-json.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +27 -2
- package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
- package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
- package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
- package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
- package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
- package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
- package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
- package/dist/_dts/editor/src/index.d.ts +29 -0
- package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
- package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
- package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
- package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
- package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
- package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
- package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
- package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
- package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
- package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
- package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
- package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/FormProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/AddBlockDivider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +4 -4
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +5 -5
- package/dist/_dts/editor-blocks/src/block-editor/BlockListContext.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockPickerDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockThumbnail.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockTile.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/EnhancedBlockPickerDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/HeaderActions.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +4 -4
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
- package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewWidgetProvider.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/widgets/offerings-preview/index.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/offerings-preview/orderDomain.d.ts +29 -0
- package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceWidgetProvider.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
- package/dist/_dts/media-editor/src/CropDialog.d.ts +1 -1
- package/dist/_dts/media-editor/src/CropDialogShell.d.ts +1 -1
- package/dist/_dts/media-editor/src/FileAssetPreview.d.ts +1 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +1 -1
- package/dist/_dts/media-editor/src/context.d.ts +1 -1
- package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -1
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/media-editor/src/provider.d.ts +1 -1
- package/dist/_dts/media-react/src/components/AuthenticatedImage.d.ts +1 -1
- package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +1 -1
- package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/PreviewShellSmoke.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +7 -4
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -3
- package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
- package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +4 -2
- package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/OnboardingThemeSwitcher.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +6 -3
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewAuthBanner.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewAuthInit.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewConfirmationDialog.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorGuidanceCard.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewQueryProvider.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +21 -20
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewViewportControls.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewZoomControls.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +60 -6
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
- package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +51 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
- package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +120 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +30 -0
- package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +8 -5
- package/dist/_dts/preview-next/src/constants.d.ts +0 -1
- package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +4 -3
- package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +6 -12
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +31 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/sync/validation.d.ts +7 -7
- package/dist/_dts/sdk/src/client/types.d.ts +36 -4
- package/dist/_dts/sdk/src/client.d.ts +1 -1
- package/dist/_dts/sdk/src/config/content-types.d.ts +3 -14
- package/dist/_dts/sdk/src/config/content-validation.d.ts +9 -214
- package/dist/_dts/sdk/src/config/types.d.ts +10 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +24 -24
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +30 -4
- package/dist/_dts/sdk/src/index.d.ts +1 -1
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +6 -6
- package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +4 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +39 -37
- package/dist/_dts/sdk/src/rendering/components/Block.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Page.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Page.server.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/PageHydrationBootstrap.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +10 -9
- package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +9 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -15
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/primitives/RichText.d.ts +2 -1
- package/dist/_dts/sdk/src/server.d.ts +1 -1
- package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +1 -1
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +69 -21
- package/dist/_dts/theme-core/src/ClientThemeScope.d.ts +1 -1
- package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +3 -2
- package/dist/_dts/theme-core/src/ThemeScope.d.ts +1 -1
- package/dist/_dts/theme-core/src/ThemeScopeCore.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +8 -7
- package/dist/_dts/theme-core/src/buttons/types.d.ts +26 -17
- package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +44 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +228 -198
- package/dist/_dts/theme-core/src/mock-themes/components/PaletteCard.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/components/swatch.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/presets.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +6 -6
- package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
- package/dist/_dts/theme-core/src/schema.d.ts +273 -226
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +87 -31
- package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +87 -31
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +30 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +32 -16
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +13 -9
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +5 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -3
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
- package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +30 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +26 -6
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
- package/dist/_dts/ui/src/async-boundary.d.ts +1 -1
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button-group.d.ts +3 -3
- package/dist/_dts/ui/src/calendar.d.ts +2 -2
- package/dist/_dts/ui/src/card.d.ts +6 -6
- package/dist/_dts/ui/src/combobox.d.ts +1 -1
- package/dist/_dts/ui/src/command-multi-select.d.ts +1 -1
- package/dist/_dts/ui/src/content-spinner.d.ts +1 -1
- package/dist/_dts/ui/src/delayed-spinner.d.ts +1 -1
- package/dist/_dts/ui/src/dev-toolbar.d.ts +1 -1
- package/dist/_dts/ui/src/dialog.d.ts +10 -10
- package/dist/_dts/ui/src/dropdown-menu.d.ts +1 -1
- package/dist/_dts/ui/src/editor-drawer.d.ts +1 -1
- package/dist/_dts/ui/src/empty-state.d.ts +1 -1
- package/dist/_dts/ui/src/filter-button-group.d.ts +1 -1
- package/dist/_dts/ui/src/fixed-bottom-surface.d.ts +1 -1
- package/dist/_dts/ui/src/form.d.ts +7 -7
- package/dist/_dts/ui/src/label.d.ts +1 -1
- package/dist/_dts/ui/src/menubar.d.ts +16 -16
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -2
- package/dist/_dts/ui/src/number-input.d.ts +1 -1
- package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +1 -1
- package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +1 -1
- package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +1 -1
- package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +1 -1
- package/dist/_dts/ui/src/resizable-split-pane.d.ts +1 -1
- package/dist/_dts/ui/src/select.d.ts +10 -10
- package/dist/_dts/ui/src/separator.d.ts +1 -1
- package/dist/_dts/ui/src/sheet.d.ts +9 -9
- package/dist/_dts/ui/src/spinner.d.ts +1 -1
- package/dist/_dts/ui/src/tooltip.d.ts +4 -4
- package/dist/{chunk-MPBNEVPB.mjs → chunk-2BUMISSH.mjs} +1 -1
- package/dist/{chunk-7PCYG6YV.mjs → chunk-6FWNF3DJ.mjs} +2086 -1128
- package/dist/{chunk-BBLZSQEY.mjs → chunk-FIREV57T.mjs} +14 -9
- package/dist/{chunk-5NZGBSJF.mjs → chunk-G35HOQEN.mjs} +2608 -2397
- package/dist/{chunk-HTB4BMKD.mjs → chunk-HKB6XVIP.mjs} +321 -113
- package/dist/{chunk-GYXKAUFV.mjs → chunk-XQR6THQJ.mjs} +27831 -17740
- package/dist/cli/index.mjs +4581 -2802
- package/dist/cli/init-docs/content/workflow-custom-block.md +5 -0
- package/dist/client/{accordion-QFZMNB7O.mjs → accordion-G34C45TW.mjs} +2 -2
- package/dist/client/{bookingForm-NCIXFWIG.mjs → bookingForm-BLBVKSAQ.mjs} +12 -12
- package/dist/client/bookings.mjs +321 -60
- package/dist/client/{carousel-EO4BJMWD.mjs → carousel-7ZVTBRMD.mjs} +3 -3
- package/dist/client/{cart-FTYCLYUW.mjs → cart-Q6S6LZUO.mjs} +8 -7
- package/dist/client/{checkout-NFGLVCOX.mjs → checkout-5QJLDE4I.mjs} +8 -7
- package/dist/client/{chunk-IWFZSQNZ.mjs → chunk-5PQH4Y75.mjs} +3 -3
- package/dist/client/{chunk-Y37KDO7P.mjs → chunk-CHAB5ACD.mjs} +5 -4
- package/dist/client/{chunk-VDS5YFLX.mjs → chunk-CSZGLBYR.mjs} +1 -1
- package/dist/client/{chunk-3PEDD5KJ.mjs → chunk-DVNUDUVT.mjs} +1 -1
- package/dist/client/{chunk-6GVVWSPU.mjs → chunk-EQKYMX4N.mjs} +348 -301
- package/dist/client/{chunk-YLMKMCSJ.mjs → chunk-GFSQNTRW.mjs} +1 -3
- package/dist/client/chunk-L4J5Y62O.mjs +18 -0
- package/dist/client/{chunk-PUOELU4O.mjs → chunk-RJHTCTCZ.mjs} +550 -262
- package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-S3MKFGOG.mjs} +170 -28
- package/dist/client/{chunk-CE7IBGVW.mjs → chunk-SBBSMFFG.mjs} +1 -1
- package/dist/client/{chunk-4W66ALYT.mjs → chunk-U2EW7RSR.mjs} +1 -1
- package/dist/client/{chunk-PYRBIURC.mjs → chunk-WJFHDTYF.mjs} +17 -34
- package/dist/client/{chunk-T6UIP6UZ.mjs → chunk-ZF4XEWDM.mjs} +1 -1
- package/dist/client/client.mjs +13449 -9393
- package/dist/client/{courseRegistration-2EORROPS.mjs → courseRegistration-VUG2JJDB.mjs} +13 -12
- package/dist/client/{eventCalendar-WZI4VL6N.mjs → eventCalendar-E7D2LD4N.mjs} +14 -14
- package/dist/client/{eventCombined-QCB2TCNL.mjs → eventCombined-FUZ2Z3CS.mjs} +14 -14
- package/dist/client/{eventDetails-TFTATAPH.mjs → eventDetails-QRITJAOW.mjs} +9 -9
- package/dist/client/{eventListing-A2CQEHEQ.mjs → eventListing-INMQMJZ5.mjs} +14 -14
- package/dist/client/{eventRegistration-OELPVLUY.mjs → eventRegistration-TOOJD4WU.mjs} +17 -15
- package/dist/client/{form-NTIFD6WQ.mjs → form-BOWN7ZNQ.mjs} +3 -3
- package/dist/client/{headerSection-7TBNKCLA.mjs → headerSection-HFQNZOUU.mjs} +55 -14
- package/dist/client/hooks.mjs +26989 -25527
- package/dist/client/{locationMap-LRLB5A3H.mjs → locationMap-VUZGC7Y5.mjs} +2 -2
- package/dist/client/{newsletterForm-XI52RZSN.mjs → newsletterForm-X2XQTPCB.mjs} +3 -3
- package/dist/client/{productDetail-GSNKBFLY.mjs → productDetail-TA7D2G2B.mjs} +8 -7
- package/dist/client/{productList-BGCGT4KZ.mjs → productList-AZOLOZKM.mjs} +8 -7
- package/dist/client/rendering/client.mjs +5518 -3869
- package/dist/client/rendering/islands.mjs +32 -20
- package/dist/client/rendering.mjs +14494 -10485
- package/dist/client/{shop-RQHUCLNY.mjs → shop-ZDLO7IIG.mjs} +8 -7
- package/dist/client/spam-protection.mjs +3 -5
- package/dist/preview-next/client/runtime.css +1 -1
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/constants.mjs +0 -2
- package/dist/preview-next/index.mjs +0 -2
- package/dist/{sdk-runtime-A4LHT2RS.mjs → sdk-runtime-CTWKNBDQ.mjs} +6 -6
- package/dist/{sdk-runtime-EEMNSB7J.css → sdk-runtime-JD4A6SU6.css} +1 -1
- package/dist/server/components.mjs +10475 -7369
- package/dist/server/config-validation.mjs +26616 -25360
- package/dist/server/config.mjs +26616 -25360
- package/dist/server/data.mjs +27048 -25586
- package/dist/server/index.mjs +109 -56
- package/dist/server/next.mjs +15424 -12076
- package/dist/server/page-converter.mjs +5570 -3107
- package/dist/server/prebuild.mjs +2 -1
- package/dist/server/rendering/server.mjs +10850 -7549
- package/dist/server/rendering.mjs +10855 -7554
- package/dist/server/routing.mjs +30134 -28531
- package/dist/server/server.mjs +27369 -25856
- package/dist/server/theme-bridge.mjs +902 -167
- package/dist/server/theme.mjs +197 -133
- package/dist/styles/index.css +606 -133
- package/package.json +16 -16
- package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +0 -8
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
- package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { LeafletStaticMap } from './chunk-XSV6KW4D.mjs';
|
|
3
|
-
import { MagicLinkForm, useWaitlistClaim } from './chunk-
|
|
4
|
-
import { usePolling } from './chunk-
|
|
5
|
-
import { SpinnerNode } from './chunk-
|
|
3
|
+
import { MagicLinkForm, useWaitlistClaim } from './chunk-ZF4XEWDM.mjs';
|
|
4
|
+
import { usePolling } from './chunk-CSZGLBYR.mjs';
|
|
5
|
+
import { SpinnerNode } from './chunk-SBBSMFFG.mjs';
|
|
6
6
|
import { useDiscountCodeUi } from './chunk-ZFHRN6W2.mjs';
|
|
7
|
-
import { TabBarFragment, logoutPortal, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-
|
|
7
|
+
import { createBodyThemePortalRoot, TabBarFragment, logoutPortal, StepIndicator, DiscountCodeDisclosure, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-CHAB5ACD.mjs';
|
|
8
8
|
import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
|
|
9
|
-
import { ModalShell } from './chunk-
|
|
10
|
-
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-
|
|
9
|
+
import { ModalShell } from './chunk-DVNUDUVT.mjs';
|
|
10
|
+
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-GFSQNTRW.mjs';
|
|
11
11
|
import { useBlockApi, FeedbackMessage } from './chunk-UDNSI5PY.mjs';
|
|
12
|
-
import {
|
|
13
|
-
import { getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, formatBookingDateTime, formatBookingDate, formatBookingTime } from './chunk-
|
|
14
|
-
import { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
|
|
12
|
+
import { buildEventRuntimeFilters, buildEventCalendarListingRender, groupEventsByDate, getOrderedDayNames, formatDateKey, getEventRuntimeFiltersKey, themeButtonClassName, normalizeCsvIds, normalizeOptionalId, normalizeEventBlockKind, normalizeCsvString, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventPrice, formatEventDateParts, DateTimeTile, EventCard, buildCalendarViewport, shiftCalendarAnchorDate, addMonths, getThreeMonthRange, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceAmount, formatCoursePriceDisplay, MONTH_NAMES, getEventAvailability, formatEventTeacherLine, CreditCard, Ticket, Star, Sparkles, assertNever11 } from './chunk-RJHTCTCZ.mjs';
|
|
13
|
+
import { publicEventPricingType, getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, publicEventPricingCurrency, formatBookingDateTime, publicEventPricingMode, publicEventScalarPrice, publicEventTicketTypes, formatBookingDate, formatBookingTime } from './chunk-S3MKFGOG.mjs';
|
|
14
|
+
import React9, { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
|
|
15
15
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
16
16
|
|
|
17
17
|
function StepIndicator2(props) {
|
|
@@ -281,12 +281,15 @@ function getTicketTypeAvailabilityLabel(ticketType) {
|
|
|
281
281
|
}
|
|
282
282
|
function getVisibleTicketTypes(input) {
|
|
283
283
|
const eligibilityTicketTypes = input.eligibility?.ticketTypes;
|
|
284
|
-
const eventTicketTypes = input.event
|
|
285
|
-
const source = eligibilityTicketTypes && eligibilityTicketTypes.length > 0 ? eligibilityTicketTypes : eventTicketTypes
|
|
284
|
+
const eventTicketTypes = input.event ? publicEventTicketTypes(input.event.pricing) : [];
|
|
285
|
+
const source = eligibilityTicketTypes && eligibilityTicketTypes.length > 0 ? eligibilityTicketTypes : eventTicketTypes;
|
|
286
286
|
return source.filter(
|
|
287
287
|
(ticketType) => ticketType.isActive && (!input.selectedAttendanceMode || (ticketType.attendanceScope ?? "both") === "both" || (ticketType.attendanceScope ?? "both") === input.selectedAttendanceMode)
|
|
288
288
|
);
|
|
289
289
|
}
|
|
290
|
+
function getImplicitSingleAvailableTicketType(ticketTypes) {
|
|
291
|
+
return ticketTypes.length === 1 && ticketTypes[0]?.availability.kind === "available" ? ticketTypes[0] : null;
|
|
292
|
+
}
|
|
290
293
|
function findSelectedTicketType(input) {
|
|
291
294
|
if (!input.selectedTicketTypeId) {
|
|
292
295
|
return null;
|
|
@@ -668,6 +671,13 @@ function cleanupStaleRegistrations() {
|
|
|
668
671
|
console.warn("[sessionStorage] Cleanup failed:", error);
|
|
669
672
|
}
|
|
670
673
|
}
|
|
674
|
+
function getEventSelectionMode(events) {
|
|
675
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
676
|
+
if (events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)) {
|
|
677
|
+
return "date";
|
|
678
|
+
}
|
|
679
|
+
return "event";
|
|
680
|
+
}
|
|
671
681
|
var EventSelectionStep = ({
|
|
672
682
|
events,
|
|
673
683
|
selectedEvent,
|
|
@@ -675,8 +685,10 @@ var EventSelectionStep = ({
|
|
|
675
685
|
showVenue,
|
|
676
686
|
showCapacity
|
|
677
687
|
}) => {
|
|
688
|
+
const selectionMode = getEventSelectionMode(events);
|
|
689
|
+
const isDateSelection = selectionMode === "date";
|
|
678
690
|
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
679
|
-
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Select an
|
|
691
|
+
/* @__PURE__ */ jsx("h3", { className: "er-title", children: isDateSelection ? "Choose a date" : "Select an event" }),
|
|
680
692
|
/* @__PURE__ */ jsx("div", { className: "er-event-grid", children: events.map((event) => {
|
|
681
693
|
const isSelected = selectedEvent?.publicEventId === event.publicEventId;
|
|
682
694
|
const isSoldOut = event.capacity !== null && event.availableSpots === 0;
|
|
@@ -702,19 +714,18 @@ var EventSelectionStep = ({
|
|
|
702
714
|
onClick: () => !isUnavailable && onSelect(event),
|
|
703
715
|
disabled: isUnavailable,
|
|
704
716
|
className: cardClasses,
|
|
705
|
-
children: /* @__PURE__ */ jsxs("div", { className: "er-
|
|
706
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
707
|
-
/* @__PURE__ */ jsx("h4", { className: "er-event-title", children: event.title }),
|
|
717
|
+
children: /* @__PURE__ */ jsxs("div", { className: "er-event-option", children: [
|
|
718
|
+
/* @__PURE__ */ jsxs("div", { className: "er-event-option-main", children: [
|
|
719
|
+
/* @__PURE__ */ jsx("h4", { className: "er-event-title", children: isDateSelection ? formatDate2(event.startsAt, { timeZone }) : event.title }),
|
|
708
720
|
/* @__PURE__ */ jsxs("p", { className: "er-text er-text--muted", children: [
|
|
709
|
-
formatDate2(event.startsAt, { timeZone }),
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
] })
|
|
715
|
-
showVenue && event.venue && /* @__PURE__ */ jsx("p", { className: "er-text er-text--faint", children: event.venue.name })
|
|
721
|
+
isDateSelection ? formatTime2(event.startsAt, { timeZone }) : `${formatDate2(event.startsAt, { timeZone })} at ${formatTime2(event.startsAt, { timeZone })}`,
|
|
722
|
+
showVenue && event.venue && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
723
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
|
|
724
|
+
event.venue.name
|
|
725
|
+
] })
|
|
726
|
+
] })
|
|
716
727
|
] }),
|
|
717
|
-
showCapacity && event.capacity !== null && /* @__PURE__ */ jsx("span", { className: badgeClasses, children: canJoinWaitlist ? "Waitlist" : isUnavailable ? "Sold Out" : `${event.availableSpots} spots left` })
|
|
728
|
+
showCapacity && event.capacity !== null && /* @__PURE__ */ jsx("span", { className: badgeClasses, children: canJoinWaitlist ? "Waitlist" : isUnavailable ? "Sold Out" : `${event.availableSpots ?? 0} spots left` })
|
|
718
729
|
] })
|
|
719
730
|
},
|
|
720
731
|
event.publicEventId
|
|
@@ -732,7 +743,7 @@ function getEventAttendanceModeLabel(mode) {
|
|
|
732
743
|
}
|
|
733
744
|
function TicketCounter(props) {
|
|
734
745
|
const { ticketsCount, maxAllowed, onTicketsChange } = props;
|
|
735
|
-
return /* @__PURE__ */ jsxs("div", { className: "er-row", children: [
|
|
746
|
+
return /* @__PURE__ */ jsxs("div", { className: "er-row er-counter", children: [
|
|
736
747
|
/* @__PURE__ */ jsx(
|
|
737
748
|
"button",
|
|
738
749
|
{
|
|
@@ -756,6 +767,24 @@ function TicketCounter(props) {
|
|
|
756
767
|
)
|
|
757
768
|
] });
|
|
758
769
|
}
|
|
770
|
+
function TicketCounterLimit(props) {
|
|
771
|
+
return /* @__PURE__ */ jsxs("p", { className: "er-ticket-counter-limit", children: [
|
|
772
|
+
/* @__PURE__ */ jsx("span", { children: props.maximumLabel }),
|
|
773
|
+
props.availabilityLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
774
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
775
|
+
/* @__PURE__ */ jsx("span", { children: props.availabilityLabel })
|
|
776
|
+
] }) : null
|
|
777
|
+
] });
|
|
778
|
+
}
|
|
779
|
+
function getTicketTypeCounterAvailabilityLabel(input) {
|
|
780
|
+
if (input.selectedRemainingCapacity !== null) {
|
|
781
|
+
return `${input.selectedRemainingCapacity} remaining for this ticket type`;
|
|
782
|
+
}
|
|
783
|
+
if (input.eventAvailableSpots != null) {
|
|
784
|
+
return `${input.eventAvailableSpots} spots available`;
|
|
785
|
+
}
|
|
786
|
+
return null;
|
|
787
|
+
}
|
|
759
788
|
function getAttendanceModeDetail(attendanceMode) {
|
|
760
789
|
if (attendanceMode.availableSpots === null) {
|
|
761
790
|
return "Unlimited spots";
|
|
@@ -819,14 +848,19 @@ var TicketSelectionStep = ({
|
|
|
819
848
|
const waitlistEnabled = selectedModeAvailability?.waitlistEnabled ?? event?.waitlistEnabled ?? false;
|
|
820
849
|
const isSoldOut = availableSpots === 0;
|
|
821
850
|
const canJoinWaitlist = isSoldOut && waitlistEnabled === true;
|
|
822
|
-
const
|
|
851
|
+
const eventPricingMode = event ? publicEventPricingMode(event.pricing) : void 0;
|
|
852
|
+
const eventPricingCurrency = event ? publicEventPricingCurrency(event.pricing) : null;
|
|
853
|
+
const usesTicketTypes = eventPricingMode === "ticket_types" && !canJoinWaitlist;
|
|
823
854
|
const visibleTicketTypes = usesTicketTypes ? getVisibleTicketTypes({
|
|
824
855
|
event,
|
|
825
856
|
eligibility: null,
|
|
826
857
|
selectedAttendanceMode
|
|
827
858
|
}) : [];
|
|
828
859
|
const selectedTicketType = usesTicketTypes ? visibleTicketTypes.find((ticketType) => ticketType.id === selectedTicketTypeId) ?? null : null;
|
|
829
|
-
const
|
|
860
|
+
const implicitTicketType = usesTicketTypes ? getImplicitSingleAvailableTicketType(visibleTicketTypes) : null;
|
|
861
|
+
const effectiveSelectedTicketType = selectedTicketType ?? implicitTicketType;
|
|
862
|
+
const shouldShowTicketTypeTiles = usesTicketTypes && implicitTicketType === null;
|
|
863
|
+
const selectedRemainingCapacity = effectiveSelectedTicketType?.availability.remainingCapacity ?? null;
|
|
830
864
|
const noSellableTicketTypes = usesTicketTypes && (visibleTicketTypes.length === 0 || visibleTicketTypes.every((ticketType) => ticketType.availability.kind === "unavailable"));
|
|
831
865
|
const maxAllowed = getMaxAllowedTicketCount({
|
|
832
866
|
canJoinWaitlist,
|
|
@@ -834,8 +868,13 @@ var TicketSelectionStep = ({
|
|
|
834
868
|
maxTickets,
|
|
835
869
|
availableSpots,
|
|
836
870
|
selectedTicketTypeRemainingCapacity: selectedRemainingCapacity,
|
|
837
|
-
hasSelectedTicketType:
|
|
871
|
+
hasSelectedTicketType: effectiveSelectedTicketType !== null
|
|
838
872
|
});
|
|
873
|
+
const selectedTicketTypeAvailabilityLabel = getTicketTypeCounterAvailabilityLabel({
|
|
874
|
+
selectedRemainingCapacity,
|
|
875
|
+
eventAvailableSpots: event?.availableSpots
|
|
876
|
+
});
|
|
877
|
+
const eventAvailabilityLabel = !canJoinWaitlist && event?.availableSpots != null ? `${event.availableSpots} spots available` : null;
|
|
839
878
|
if (deliveryMode === "hybrid" && !selectedAttendanceMode) {
|
|
840
879
|
return /* @__PURE__ */ jsxs("div", { className: "er-stack", children: [
|
|
841
880
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "How will you attend?" }),
|
|
@@ -869,30 +908,53 @@ var TicketSelectionStep = ({
|
|
|
869
908
|
)
|
|
870
909
|
] }) : null,
|
|
871
910
|
usesTicketTypes ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
872
|
-
/* @__PURE__ */
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
"
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
911
|
+
shouldShowTicketTypeTiles ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
912
|
+
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "Choose a ticket type" }),
|
|
913
|
+
/* @__PURE__ */ jsx("div", { className: "er-payment-tiles", role: "list", "aria-label": "Ticket types", children: visibleTicketTypes.map((ticketType) => {
|
|
914
|
+
const availabilityLabel = getTicketTypeAvailabilityLabel(ticketType);
|
|
915
|
+
const disabled = ticketType.availability.kind === "unavailable";
|
|
916
|
+
const isSelected = selectedTicketTypeId === ticketType.id;
|
|
917
|
+
const priceLabel = ticketType.priceAmount > 0 ? formatPrice(ticketType.priceAmount, eventPricingCurrency ?? DEFAULT_EVENT_CURRENCY) : "Free";
|
|
918
|
+
return /* @__PURE__ */ jsx("div", { role: "listitem", children: /* @__PURE__ */ jsxs(
|
|
919
|
+
"button",
|
|
920
|
+
{
|
|
921
|
+
type: "button",
|
|
922
|
+
className: `er-payment-tile${isSelected && !disabled ? " er-payment-tile--selected" : ""}${disabled ? " er-payment-tile--disabled" : ""}`,
|
|
923
|
+
disabled,
|
|
924
|
+
onClick: () => onTicketTypeChange?.(ticketType.id),
|
|
925
|
+
children: [
|
|
926
|
+
/* @__PURE__ */ jsx("div", { className: "er-payment-tile-label", children: ticketType.name }),
|
|
927
|
+
/* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: priceLabel }),
|
|
928
|
+
ticketType.description ? /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: ticketType.description }) : null,
|
|
929
|
+
availabilityLabel ? /* @__PURE__ */ jsx("div", { className: "er-payment-tile-detail", children: availabilityLabel }) : null
|
|
930
|
+
]
|
|
931
|
+
}
|
|
932
|
+
) }, ticketType.id);
|
|
933
|
+
}) })
|
|
934
|
+
] }) : null,
|
|
935
|
+
noSellableTicketTypes ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "No ticket types are currently available." }) : !effectiveSelectedTicketType ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "Select one ticket type to continue." }) : effectiveSelectedTicketType.availability.kind === "unavailable" ? /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: getTicketTypeAvailabilityLabel(effectiveSelectedTicketType) ?? "This ticket type is unavailable." }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
895
936
|
/* @__PURE__ */ jsx("h3", { className: "er-title", children: "How many tickets?" }),
|
|
937
|
+
/* @__PURE__ */ jsxs("div", { className: "er-ticket-counter-group", children: [
|
|
938
|
+
/* @__PURE__ */ jsx(
|
|
939
|
+
TicketCounter,
|
|
940
|
+
{
|
|
941
|
+
ticketsCount,
|
|
942
|
+
maxAllowed,
|
|
943
|
+
onTicketsChange
|
|
944
|
+
}
|
|
945
|
+
),
|
|
946
|
+
/* @__PURE__ */ jsx(
|
|
947
|
+
TicketCounterLimit,
|
|
948
|
+
{
|
|
949
|
+
maximumLabel: `${maxAllowed} tickets maximum`,
|
|
950
|
+
availabilityLabel: selectedTicketTypeAvailabilityLabel
|
|
951
|
+
}
|
|
952
|
+
)
|
|
953
|
+
] })
|
|
954
|
+
] })
|
|
955
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
956
|
+
/* @__PURE__ */ jsx("h3", { className: "er-title", children: canJoinWaitlist ? "How many waitlist spots?" : "How many tickets?" }),
|
|
957
|
+
/* @__PURE__ */ jsxs("div", { className: "er-ticket-counter-group", children: [
|
|
896
958
|
/* @__PURE__ */ jsx(
|
|
897
959
|
TicketCounter,
|
|
898
960
|
{
|
|
@@ -901,29 +963,13 @@ var TicketSelectionStep = ({
|
|
|
901
963
|
onTicketsChange
|
|
902
964
|
}
|
|
903
965
|
),
|
|
904
|
-
/* @__PURE__ */
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
912
|
-
/* @__PURE__ */ jsx("h3", { className: "er-title", children: canJoinWaitlist ? "How many waitlist spots?" : "How many tickets?" }),
|
|
913
|
-
/* @__PURE__ */ jsx(
|
|
914
|
-
TicketCounter,
|
|
915
|
-
{
|
|
916
|
-
ticketsCount,
|
|
917
|
-
maxAllowed,
|
|
918
|
-
onTicketsChange
|
|
919
|
-
}
|
|
920
|
-
),
|
|
921
|
-
/* @__PURE__ */ jsxs("p", { className: "er-text er-text--muted", children: [
|
|
922
|
-
maxAllowed,
|
|
923
|
-
" ",
|
|
924
|
-
canJoinWaitlist ? "waitlist spots" : "tickets",
|
|
925
|
-
" maximum",
|
|
926
|
-
!canJoinWaitlist && event?.availableSpots != null && ` (${event.availableSpots} spots available)`
|
|
966
|
+
/* @__PURE__ */ jsx(
|
|
967
|
+
TicketCounterLimit,
|
|
968
|
+
{
|
|
969
|
+
maximumLabel: `${maxAllowed} ${canJoinWaitlist ? "waitlist spots" : "tickets"} maximum`,
|
|
970
|
+
availabilityLabel: eventAvailabilityLabel
|
|
971
|
+
}
|
|
972
|
+
)
|
|
927
973
|
] })
|
|
928
974
|
] }),
|
|
929
975
|
canJoinWaitlist && /* @__PURE__ */ jsx("p", { className: "er-text er-text--muted", children: "This event is currently full. Continue to join the waitlist if a spot opens up." })
|
|
@@ -1791,8 +1837,8 @@ function EventRegistrationSummaryBar(props) {
|
|
|
1791
1837
|
const summaryTimeZone = wizard.occurrenceContext?.timeZone ?? summaryEvent?.timeZone ?? null;
|
|
1792
1838
|
const occurrenceOverrideTitle = wizard.occurrenceContext?.overrides?.title;
|
|
1793
1839
|
const summaryTitle = occurrenceOverrideTitle ?? summaryEvent?.title ?? "";
|
|
1794
|
-
const summaryPrice = wizard.selectedTicketType?.priceAmount ?? wizard.eligibility?.price ?? summaryEvent
|
|
1795
|
-
const summaryCurrency = summaryEvent
|
|
1840
|
+
const summaryPrice = wizard.selectedTicketType?.priceAmount ?? wizard.eligibility?.price ?? (summaryEvent ? publicEventScalarPrice(summaryEvent.pricing) : null) ?? 0;
|
|
1841
|
+
const summaryCurrency = (summaryEvent ? publicEventPricingCurrency(summaryEvent.pricing) : null) ?? DEFAULT_EVENT_CURRENCY;
|
|
1796
1842
|
const teamMemberNames = (summaryEvent?.teamMembers ?? []).map((teamMember) => teamMember.name).filter(Boolean);
|
|
1797
1843
|
const subtotalCents = Math.max(0, summaryPrice * wizard.ticketsCount);
|
|
1798
1844
|
const autoAppliedDiscount = wizard.discountCode.trim().length > 0 ? null : wizard.autoAppliedDiscount;
|
|
@@ -2139,7 +2185,7 @@ function resolveEventRequiresPayment(input) {
|
|
|
2139
2185
|
if (!input.event) {
|
|
2140
2186
|
return false;
|
|
2141
2187
|
}
|
|
2142
|
-
return input.event.
|
|
2188
|
+
return publicEventPricingType(input.event.pricing) !== "free";
|
|
2143
2189
|
}
|
|
2144
2190
|
function resolveDiscountContext(input) {
|
|
2145
2191
|
const selection = input.paymentSelection.method ? input.paymentSelection : null;
|
|
@@ -2171,8 +2217,7 @@ function toRegistrationEvent(event) {
|
|
|
2171
2217
|
return {
|
|
2172
2218
|
...event,
|
|
2173
2219
|
publicEventId: event.id,
|
|
2174
|
-
registrationOccurrenceId: event.occurrenceId
|
|
2175
|
-
ticketTypes: event.ticketTypes ?? []
|
|
2220
|
+
registrationOccurrenceId: event.occurrenceId
|
|
2176
2221
|
};
|
|
2177
2222
|
}
|
|
2178
2223
|
function toRegistrationEvents(events) {
|
|
@@ -2397,7 +2442,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2397
2442
|
);
|
|
2398
2443
|
const ticketTypeSelectionRequired = useMemo(() => {
|
|
2399
2444
|
const event = selectedEvent ?? preSelectedEvent;
|
|
2400
|
-
if (!event || event.
|
|
2445
|
+
if (!event || publicEventPricingMode(event.pricing) !== "ticket_types") {
|
|
2401
2446
|
return false;
|
|
2402
2447
|
}
|
|
2403
2448
|
if ((event.deliveryMode ?? "in_person") === "hybrid" && !selectedAttendanceMode) {
|
|
@@ -2412,12 +2457,17 @@ function useEventRegistrationWizard(options) {
|
|
|
2412
2457
|
);
|
|
2413
2458
|
useEffect(() => {
|
|
2414
2459
|
const event = selectedEvent ?? preSelectedEvent;
|
|
2415
|
-
if (!event || event.
|
|
2460
|
+
if (!event || publicEventPricingMode(event.pricing) !== "ticket_types") {
|
|
2416
2461
|
if (selectedTicketTypeId !== null) {
|
|
2417
2462
|
setSelectedTicketTypeId(null);
|
|
2418
2463
|
}
|
|
2419
2464
|
return;
|
|
2420
2465
|
}
|
|
2466
|
+
const implicitTicketType = getImplicitSingleAvailableTicketType(visibleTicketTypes);
|
|
2467
|
+
if (implicitTicketType && selectedTicketTypeId !== implicitTicketType.id) {
|
|
2468
|
+
setSelectedTicketTypeId(implicitTicketType.id);
|
|
2469
|
+
return;
|
|
2470
|
+
}
|
|
2421
2471
|
if (selectedTicketTypeId && !visibleTicketTypes.some((ticketType) => ticketType.id === selectedTicketTypeId)) {
|
|
2422
2472
|
setSelectedTicketTypeId(null);
|
|
2423
2473
|
}
|
|
@@ -2527,7 +2577,7 @@ function useEventRegistrationWizard(options) {
|
|
|
2527
2577
|
const discountSubtotalCents = useMemo(() => {
|
|
2528
2578
|
if (discountContext?.type !== "event") return void 0;
|
|
2529
2579
|
const event = selectedEvent ?? preSelectedEvent;
|
|
2530
|
-
const eventPriceCents = selectedTicketType?.priceAmount ?? eligibility?.price ?? event
|
|
2580
|
+
const eventPriceCents = selectedTicketType?.priceAmount ?? eligibility?.price ?? (event ? publicEventScalarPrice(event.pricing) : null) ?? 0;
|
|
2531
2581
|
return Math.max(0, eventPriceCents * ticketsCount);
|
|
2532
2582
|
}, [discountContext, selectedTicketType, eligibility, selectedEvent, preSelectedEvent, ticketsCount]);
|
|
2533
2583
|
const discountUi = useDiscountCodeUi({ api, discountContext, subtotalCents: discountSubtotalCents });
|
|
@@ -2664,6 +2714,13 @@ var EVENT_PORTAL_AUTH_COPY = {
|
|
|
2664
2714
|
buttonText: "Email me a login link to continue \u2192"
|
|
2665
2715
|
}
|
|
2666
2716
|
};
|
|
2717
|
+
function EventPortalAuthPrompt(props) {
|
|
2718
|
+
return /* @__PURE__ */ jsxs("div", { className: "er-portal-auth", children: [
|
|
2719
|
+
/* @__PURE__ */ jsx("p", { className: "er-portal-auth-title", children: props.copy.title }),
|
|
2720
|
+
/* @__PURE__ */ jsx("p", { className: "er-portal-auth-text", children: props.copy.description }),
|
|
2721
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: "er-portal-auth-link", onClick: props.onRequestLogin, children: props.copy.buttonText })
|
|
2722
|
+
] });
|
|
2723
|
+
}
|
|
2667
2724
|
function EventRegistrationWizard(props) {
|
|
2668
2725
|
const {
|
|
2669
2726
|
occurrenceContext,
|
|
@@ -2714,10 +2771,11 @@ function EventRegistrationWizard(props) {
|
|
|
2714
2771
|
]
|
|
2715
2772
|
);
|
|
2716
2773
|
const totalSteps = activeWizardSteps.length;
|
|
2774
|
+
const eventSelectionStepLabel = getEventSelectionMode(wizard.scopedEvents) === "date" ? "Date" : "Event";
|
|
2717
2775
|
const stepLabels = activeWizardSteps.map((s) => {
|
|
2718
2776
|
switch (s) {
|
|
2719
2777
|
case "select-event":
|
|
2720
|
-
return
|
|
2778
|
+
return eventSelectionStepLabel;
|
|
2721
2779
|
case "select-tickets":
|
|
2722
2780
|
return "Tickets";
|
|
2723
2781
|
case "enter-details":
|
|
@@ -2736,16 +2794,24 @@ function EventRegistrationWizard(props) {
|
|
|
2736
2794
|
});
|
|
2737
2795
|
const currentStepNumber = getStepNumber(wizard.step, activeWizardSteps);
|
|
2738
2796
|
const summaryEvent = wizard.selectedEvent ?? wizard.preSelectedEvent;
|
|
2797
|
+
const summaryEventPricingType = summaryEvent ? publicEventPricingType(summaryEvent.pricing) : "free";
|
|
2739
2798
|
const waitlistClaimRequiresPortalLogin = wizard.waitlistClaim.requiresPortalLogin && wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking";
|
|
2740
2799
|
const portalAuthCopy = waitlistClaimRequiresPortalLogin ? {
|
|
2741
2800
|
...EVENT_PORTAL_AUTH_COPY["waitlist-claim"],
|
|
2742
2801
|
description: wizard.waitlistClaim.loginMessage ?? "Log in to continue with your waitlist claim."
|
|
2743
2802
|
} : EVENT_PORTAL_AUTH_COPY.membership;
|
|
2744
|
-
const
|
|
2803
|
+
const showPortalAuthPrompt = waitlistClaimRequiresPortalLogin || wizard.step === "select-tickets" && wizard.portalAuthState !== "authenticated" && wizard.portalAuthState !== "checking" && summaryEventPricingType !== "free";
|
|
2745
2804
|
return /* @__PURE__ */ jsx("div", { id: EVENT_REGISTRATION_ANCHOR_ID, className: `event-registration ${className || ""}`, "data-block": "event-registration", children: /* @__PURE__ */ jsxs("div", { className: "er-container", children: [
|
|
2746
|
-
isWizardStep && /* @__PURE__ */ jsxs("div", { className:
|
|
2805
|
+
isWizardStep && /* @__PURE__ */ jsxs("div", { className: "er-payment-layout er-payment-layout--no-sidebar", children: [
|
|
2747
2806
|
/* @__PURE__ */ jsxs("div", { className: "er-payment-layout-main", children: [
|
|
2748
2807
|
totalSteps > 1 && /* @__PURE__ */ jsx(StepIndicator2, { currentStep: currentStepNumber, totalSteps, stepLabels }),
|
|
2808
|
+
showPortalAuthPrompt && /* @__PURE__ */ jsx(
|
|
2809
|
+
EventPortalAuthPrompt,
|
|
2810
|
+
{
|
|
2811
|
+
copy: portalAuthCopy,
|
|
2812
|
+
onRequestLogin: () => wizard.setShowMagicLinkModal(true)
|
|
2813
|
+
}
|
|
2814
|
+
),
|
|
2749
2815
|
/* @__PURE__ */ jsx(
|
|
2750
2816
|
EventRegistrationWizardContent,
|
|
2751
2817
|
{
|
|
@@ -2756,11 +2822,6 @@ function EventRegistrationWizard(props) {
|
|
|
2756
2822
|
}
|
|
2757
2823
|
)
|
|
2758
2824
|
] }),
|
|
2759
|
-
showPortalAuthSidebar && /* @__PURE__ */ jsx("div", { className: "er-payment-layout-sidebar", children: /* @__PURE__ */ jsxs("div", { className: "er-portal-auth", children: [
|
|
2760
|
-
/* @__PURE__ */ jsx("p", { className: "er-portal-auth-title", children: portalAuthCopy.title }),
|
|
2761
|
-
/* @__PURE__ */ jsx("p", { className: "er-portal-auth-text", children: portalAuthCopy.description }),
|
|
2762
|
-
/* @__PURE__ */ jsx("button", { type: "button", className: "er-portal-auth-link", onClick: () => wizard.setShowMagicLinkModal(true), children: portalAuthCopy.buttonText })
|
|
2763
|
-
] }) }),
|
|
2764
2825
|
wizard.showMagicLinkModal && /* @__PURE__ */ jsx("div", { className: "er-modal-overlay", onClick: () => wizard.setShowMagicLinkModal(false), children: /* @__PURE__ */ jsxs("div", { className: "er-modal", onClick: (e) => e.stopPropagation(), children: [
|
|
2765
2826
|
/* @__PURE__ */ jsx(
|
|
2766
2827
|
"button",
|
|
@@ -3024,10 +3085,12 @@ function EventDetailsView({
|
|
|
3024
3085
|
priceCents: selected.course.priceCents,
|
|
3025
3086
|
currency: selected.course.currency
|
|
3026
3087
|
}) : null;
|
|
3027
|
-
const
|
|
3028
|
-
const
|
|
3088
|
+
const eventPricingType = publicEventPricingType(selected.pricing);
|
|
3089
|
+
const eventPricingCurrency = publicEventPricingCurrency(selected.pricing) ?? "USD";
|
|
3090
|
+
const isPaid = eventPricingType === "paid";
|
|
3029
3091
|
const shouldShowCoursePricing = showCost && !isDropIn && coursePricing !== null;
|
|
3030
3092
|
const shouldShowEventCost = showCost && isPaid && !isDropIn && coursePricing === null;
|
|
3093
|
+
const eventCostLabel = shouldShowEventCost ? formatEventPrice(selected) : null;
|
|
3031
3094
|
const acceptedItems = [];
|
|
3032
3095
|
if (showAcceptedPasses) {
|
|
3033
3096
|
acceptedItems.push(...applicablePasses.map((p) => p.name));
|
|
@@ -3082,8 +3145,8 @@ function EventDetailsView({
|
|
|
3082
3145
|
}
|
|
3083
3146
|
) : shouldShowEventCost ? /* @__PURE__ */ jsxs("div", { className: "rb-mt-6", children: [
|
|
3084
3147
|
/* @__PURE__ */ jsx("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
3085
|
-
|
|
3086
|
-
autoApplyDiscount ? /* @__PURE__ */ jsx("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount,
|
|
3148
|
+
/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: eventCostLabel }) }),
|
|
3149
|
+
autoApplyDiscount ? /* @__PURE__ */ jsx("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, eventPricingCurrency) }) : null,
|
|
3087
3150
|
hasAcceptedItems ? /* @__PURE__ */ jsxs("p", { className: "rb-caption rb-mt-1", children: [
|
|
3088
3151
|
"You can also attend with: ",
|
|
3089
3152
|
acceptedItems.join(", ")
|
|
@@ -3355,9 +3418,7 @@ var EventPaginatedListView = ({
|
|
|
3355
3418
|
error,
|
|
3356
3419
|
hasMore,
|
|
3357
3420
|
loadMore,
|
|
3358
|
-
|
|
3359
|
-
seeAllUrl,
|
|
3360
|
-
loadMoreText,
|
|
3421
|
+
paginationAction,
|
|
3361
3422
|
hasActiveFilters,
|
|
3362
3423
|
onResetFilters,
|
|
3363
3424
|
resetFiltersText
|
|
@@ -3397,7 +3458,7 @@ var EventPaginatedListView = ({
|
|
|
3397
3458
|
}
|
|
3398
3459
|
)
|
|
3399
3460
|
] }) : null,
|
|
3400
|
-
|
|
3461
|
+
paginationAction.kind === "loadMore" && hasMore && !error ? /* @__PURE__ */ jsx("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx(
|
|
3401
3462
|
"button",
|
|
3402
3463
|
{
|
|
3403
3464
|
type: "button",
|
|
@@ -3408,18 +3469,18 @@ var EventPaginatedListView = ({
|
|
|
3408
3469
|
size: "md",
|
|
3409
3470
|
extraClassName: loading ? "rb-opacity-50 rb-cursor-wait" : null
|
|
3410
3471
|
}),
|
|
3411
|
-
children: loading ? "Loading..." :
|
|
3472
|
+
children: loading ? "Loading..." : paginationAction.label
|
|
3412
3473
|
}
|
|
3413
3474
|
) }) : null,
|
|
3414
|
-
|
|
3475
|
+
paginationAction.kind === "seeAllLink" && hasMore ? /* @__PURE__ */ jsx("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx(
|
|
3415
3476
|
"a",
|
|
3416
3477
|
{
|
|
3417
|
-
href:
|
|
3478
|
+
href: paginationAction.href,
|
|
3418
3479
|
className: themeButtonClassName({
|
|
3419
3480
|
variant: display.buttonVariant,
|
|
3420
3481
|
size: "md"
|
|
3421
3482
|
}),
|
|
3422
|
-
children:
|
|
3483
|
+
children: paginationAction.label
|
|
3423
3484
|
}
|
|
3424
3485
|
) }) : null
|
|
3425
3486
|
] }),
|
|
@@ -3449,41 +3510,9 @@ var EventPaginatedListView = ({
|
|
|
3449
3510
|
}
|
|
3450
3511
|
);
|
|
3451
3512
|
};
|
|
3452
|
-
|
|
3453
|
-
// ../blocks/src/system/runtime/hooks/utils/normalize.ts
|
|
3454
|
-
function normalizeOptionalId(value) {
|
|
3455
|
-
const trimmed = typeof value === "string" ? value.trim() : void 0;
|
|
3456
|
-
return trimmed ? trimmed : void 0;
|
|
3457
|
-
}
|
|
3458
|
-
function normalizeCsvIds(value) {
|
|
3459
|
-
if (!value) return [];
|
|
3460
|
-
const parts = Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : typeof value === "string" ? value.split(",") : [];
|
|
3461
|
-
return normalizeIdList(parts);
|
|
3462
|
-
}
|
|
3463
|
-
function normalizeCsvString(value) {
|
|
3464
|
-
const ids = normalizeCsvIds(value);
|
|
3465
|
-
return ids.length > 0 ? ids.join(",") : void 0;
|
|
3466
|
-
}
|
|
3467
|
-
|
|
3468
|
-
// ../blocks/src/system/runtime/hooks/useEventPagination.ts
|
|
3469
3513
|
function getEventIdentity(event) {
|
|
3470
3514
|
return event.occurrenceId || event.id;
|
|
3471
3515
|
}
|
|
3472
|
-
function getFiltersKey(filters) {
|
|
3473
|
-
const categoryIds = normalizeCsvString(filters?.categoryIds);
|
|
3474
|
-
const staffMemberId = normalizeOptionalId(filters?.staffMemberId);
|
|
3475
|
-
const venueId = normalizeOptionalId(filters?.venueId);
|
|
3476
|
-
const eventPresets = normalizeCsvString(filters?.eventPresets);
|
|
3477
|
-
return JSON.stringify({
|
|
3478
|
-
categoryIds,
|
|
3479
|
-
staffMemberId,
|
|
3480
|
-
venueId,
|
|
3481
|
-
kind: filters?.kind ?? null,
|
|
3482
|
-
eventSurface: filters?.eventSurface ?? null,
|
|
3483
|
-
eventPresets,
|
|
3484
|
-
scheduleScope: filters?.scheduleScope ?? null
|
|
3485
|
-
});
|
|
3486
|
-
}
|
|
3487
3516
|
function getEventsKey(events) {
|
|
3488
3517
|
return events.map((e) => `${getEventIdentity(e)}:${e.startsAt}`).join("|");
|
|
3489
3518
|
}
|
|
@@ -3498,8 +3527,8 @@ function useEventPagination({
|
|
|
3498
3527
|
stage
|
|
3499
3528
|
}) {
|
|
3500
3529
|
const { getPublicEvents } = useBlockApi();
|
|
3501
|
-
const initialFiltersKey =
|
|
3502
|
-
const filtersKey =
|
|
3530
|
+
const initialFiltersKey = getEventRuntimeFiltersKey(initialFilters);
|
|
3531
|
+
const filtersKey = getEventRuntimeFiltersKey(filters);
|
|
3503
3532
|
const filtersMatchInitial = filtersKey === initialFiltersKey;
|
|
3504
3533
|
const initialEventsKey = useMemo(() => getEventsKey(initialEvents), [initialEvents]);
|
|
3505
3534
|
const initialEventsRef = useRef(initialEvents);
|
|
@@ -3935,14 +3964,14 @@ var EventListingController = ({
|
|
|
3935
3964
|
[display.events]
|
|
3936
3965
|
);
|
|
3937
3966
|
const initialListFilters = useMemo(
|
|
3938
|
-
() => ({
|
|
3939
|
-
|
|
3940
|
-
eventSurface: hydration.eventSurface
|
|
3941
|
-
|
|
3942
|
-
scheduleScope: hydration.scheduleScope
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3967
|
+
() => buildEventRuntimeFilters({
|
|
3968
|
+
eventKind: hydration.eventKind,
|
|
3969
|
+
eventSurface: hydration.eventSurface,
|
|
3970
|
+
filterEventPresets: hydration.filterEventPresets,
|
|
3971
|
+
scheduleScope: hydration.scheduleScope,
|
|
3972
|
+
filterCategoryIds: hydration.filterCategoryIds,
|
|
3973
|
+
filterStaffMemberId: hydration.filterStaffMemberId,
|
|
3974
|
+
filterVenueId: hydration.filterVenueId
|
|
3946
3975
|
}),
|
|
3947
3976
|
[
|
|
3948
3977
|
hydration.eventKind,
|
|
@@ -3994,7 +4023,7 @@ var EventListingController = ({
|
|
|
3994
4023
|
fetchInitialOnMount: hydration.fetchInitialEventsOnMount,
|
|
3995
4024
|
initialFilters: initialListFilters,
|
|
3996
4025
|
filters: listFilters,
|
|
3997
|
-
pageSize:
|
|
4026
|
+
pageSize: hydration.eventsPerPage,
|
|
3998
4027
|
stage: hydration.stage
|
|
3999
4028
|
});
|
|
4000
4029
|
return /* @__PURE__ */ jsx(
|
|
@@ -4029,9 +4058,7 @@ var EventListingController = ({
|
|
|
4029
4058
|
error,
|
|
4030
4059
|
hasMore,
|
|
4031
4060
|
loadMore,
|
|
4032
|
-
|
|
4033
|
-
seeAllUrl: hydration.seeAllUrl,
|
|
4034
|
-
loadMoreText: hydration.loadMoreText,
|
|
4061
|
+
paginationAction: hydration.paginationAction,
|
|
4035
4062
|
hasActiveFilters,
|
|
4036
4063
|
onResetFilters: resetFilters
|
|
4037
4064
|
}
|
|
@@ -4059,36 +4086,50 @@ var CALENDAR_FETCH_LIMIT = 200;
|
|
|
4059
4086
|
function getMonthKey(date) {
|
|
4060
4087
|
return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, "0")}`;
|
|
4061
4088
|
}
|
|
4062
|
-
function
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4089
|
+
function useCalendarViewport({
|
|
4090
|
+
view = "month",
|
|
4091
|
+
startOfWeek = "monday",
|
|
4092
|
+
initialDate
|
|
4093
|
+
} = {}) {
|
|
4094
|
+
const [viewDate, setViewDate] = useState(() => initialDate ?? /* @__PURE__ */ new Date());
|
|
4095
|
+
const viewport = useMemo(
|
|
4096
|
+
() => buildCalendarViewport({ view, anchorDate: viewDate, startOfWeek }),
|
|
4097
|
+
[startOfWeek, view, viewDate]
|
|
4098
|
+
);
|
|
4099
|
+
const goToPrevious = useCallback(() => {
|
|
4100
|
+
setViewDate((current) => shiftCalendarAnchorDate(current, view, -1));
|
|
4101
|
+
}, [view]);
|
|
4102
|
+
const goToNext = useCallback(() => {
|
|
4103
|
+
setViewDate((current) => shiftCalendarAnchorDate(current, view, 1));
|
|
4104
|
+
}, [view]);
|
|
4105
|
+
const goToDate = useCallback((date) => {
|
|
4106
|
+
setViewDate(date);
|
|
4107
|
+
}, []);
|
|
4108
|
+
const goToToday = useCallback(() => {
|
|
4109
|
+
setViewDate(/* @__PURE__ */ new Date());
|
|
4110
|
+
}, []);
|
|
4111
|
+
return {
|
|
4112
|
+
viewDate,
|
|
4113
|
+
viewport,
|
|
4114
|
+
goToDate,
|
|
4115
|
+
goToPrevious,
|
|
4116
|
+
goToNext,
|
|
4117
|
+
goToToday
|
|
4118
|
+
};
|
|
4076
4119
|
}
|
|
4077
|
-
function
|
|
4078
|
-
|
|
4079
|
-
// Deprecated: siteId now comes from BlockApiProvider context
|
|
4120
|
+
function useCalendarEventCache({
|
|
4121
|
+
viewDate,
|
|
4080
4122
|
initialEvents = [],
|
|
4081
4123
|
preloadMonths = 1,
|
|
4082
4124
|
filters,
|
|
4083
4125
|
stage
|
|
4084
4126
|
}) {
|
|
4085
4127
|
const { getPublicEvents } = useBlockApi();
|
|
4086
|
-
const [viewDate, setViewDate] = useState(() => /* @__PURE__ */ new Date());
|
|
4087
4128
|
const [loading, setLoading] = useState(false);
|
|
4088
4129
|
const [error, setError] = useState(null);
|
|
4089
4130
|
const [cacheVersion, setCacheVersion] = useState(0);
|
|
4090
4131
|
const filtersKey = useMemo(
|
|
4091
|
-
() =>
|
|
4132
|
+
() => getEventRuntimeFiltersKey(filters),
|
|
4092
4133
|
[
|
|
4093
4134
|
filters?.categoryIds,
|
|
4094
4135
|
filters?.eventPresets,
|
|
@@ -4147,9 +4188,8 @@ function useCalendarEvents({
|
|
|
4147
4188
|
staffMemberId: filters?.staffMemberId,
|
|
4148
4189
|
venueId: filters?.venueId
|
|
4149
4190
|
});
|
|
4150
|
-
const events2 = result;
|
|
4151
4191
|
if (currentRequestId === requestIdRef.current) {
|
|
4152
|
-
for (const event of
|
|
4192
|
+
for (const event of result) {
|
|
4153
4193
|
const eventDate = new Date(event.startsAt);
|
|
4154
4194
|
const monthKey = getMonthKey(eventDate);
|
|
4155
4195
|
const existing = cacheRef.current.get(monthKey) || [];
|
|
@@ -4221,18 +4261,44 @@ function useCalendarEvents({
|
|
|
4221
4261
|
(a, b) => new Date(a.startsAt).getTime() - new Date(b.startsAt).getTime()
|
|
4222
4262
|
);
|
|
4223
4263
|
}, [viewDate, cacheVersion]);
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4264
|
+
return {
|
|
4265
|
+
events,
|
|
4266
|
+
loading,
|
|
4267
|
+
error
|
|
4268
|
+
};
|
|
4269
|
+
}
|
|
4270
|
+
function useCalendarEvents({
|
|
4271
|
+
siteId: _siteId,
|
|
4272
|
+
// Deprecated: siteId now comes from BlockApiProvider context
|
|
4273
|
+
initialEvents = [],
|
|
4274
|
+
view = "month",
|
|
4275
|
+
startOfWeek = "monday",
|
|
4276
|
+
preloadMonths = 1,
|
|
4277
|
+
filters,
|
|
4278
|
+
stage
|
|
4279
|
+
}) {
|
|
4280
|
+
const {
|
|
4281
|
+
viewDate,
|
|
4282
|
+
viewport,
|
|
4283
|
+
goToDate,
|
|
4284
|
+
goToPrevious,
|
|
4285
|
+
goToNext,
|
|
4286
|
+
goToToday
|
|
4287
|
+
} = useCalendarViewport({ view, startOfWeek });
|
|
4288
|
+
const { events, loading, error } = useCalendarEventCache({
|
|
4289
|
+
viewDate,
|
|
4290
|
+
initialEvents,
|
|
4291
|
+
preloadMonths,
|
|
4292
|
+
filters,
|
|
4293
|
+
stage
|
|
4294
|
+
});
|
|
4295
|
+
const setViewDate = useCallback((date) => {
|
|
4296
|
+
goToDate(date);
|
|
4297
|
+
}, [goToDate]);
|
|
4233
4298
|
return {
|
|
4234
4299
|
events,
|
|
4235
4300
|
viewDate,
|
|
4301
|
+
viewport,
|
|
4236
4302
|
loading,
|
|
4237
4303
|
error,
|
|
4238
4304
|
setViewDate,
|
|
@@ -4389,18 +4455,16 @@ var FULL_DAY_NAMES = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "F
|
|
|
4389
4455
|
function formatAgendaDayHeader(date) {
|
|
4390
4456
|
const dayName = FULL_DAY_NAMES[date.getDay()];
|
|
4391
4457
|
const monthName = MONTH_NAMES[date.getMonth()];
|
|
4392
|
-
return `${dayName}, ${monthName} ${date.getDate()}`;
|
|
4458
|
+
return `${dayName ?? "Day"}, ${monthName ?? "Month"} ${date.getDate()}`;
|
|
4393
4459
|
}
|
|
4394
4460
|
var WeekAgendaView = ({
|
|
4395
|
-
|
|
4461
|
+
days,
|
|
4396
4462
|
events,
|
|
4397
|
-
startOfWeek,
|
|
4398
4463
|
showCapacity,
|
|
4399
4464
|
emptyMessage = "No events scheduled"
|
|
4400
4465
|
}) => {
|
|
4401
|
-
const weekDays = getWeekCalendarDays(viewDate, startOfWeek);
|
|
4402
4466
|
const eventsByDate = groupEventsByDate(events);
|
|
4403
|
-
return /* @__PURE__ */ jsx("div", { className: "event-agenda-week", children:
|
|
4467
|
+
return /* @__PURE__ */ jsx("div", { className: "event-agenda-week", children: days.map((date) => {
|
|
4404
4468
|
const dateKey = formatDateKey(date);
|
|
4405
4469
|
const dayEvents = eventsByDate.get(dateKey) || [];
|
|
4406
4470
|
const today = isToday(date);
|
|
@@ -4431,6 +4495,7 @@ function EventDetailModal({
|
|
|
4431
4495
|
event,
|
|
4432
4496
|
showCapacity,
|
|
4433
4497
|
onClose,
|
|
4498
|
+
portalRoot,
|
|
4434
4499
|
cardVariant = "default",
|
|
4435
4500
|
buttonVariant = "primary",
|
|
4436
4501
|
buttonText,
|
|
@@ -4443,6 +4508,8 @@ function EventDetailModal({
|
|
|
4443
4508
|
title,
|
|
4444
4509
|
titleId: "ec-event-modal-title",
|
|
4445
4510
|
onClose,
|
|
4511
|
+
portal: portalRoot != null,
|
|
4512
|
+
portalRoot,
|
|
4446
4513
|
overlayClassName: "ec-modal-overlay",
|
|
4447
4514
|
modalClassName: "ec-modal ec-modal--event",
|
|
4448
4515
|
renderSrOnlyTitle: true,
|
|
@@ -4481,7 +4548,8 @@ function DayEventsModal({
|
|
|
4481
4548
|
events,
|
|
4482
4549
|
showCapacity,
|
|
4483
4550
|
onClose,
|
|
4484
|
-
onSelectEvent
|
|
4551
|
+
onSelectEvent,
|
|
4552
|
+
portalRoot
|
|
4485
4553
|
}) {
|
|
4486
4554
|
const formattedDate = formatDate(date.toISOString());
|
|
4487
4555
|
return /* @__PURE__ */ jsxs(
|
|
@@ -4490,6 +4558,8 @@ function DayEventsModal({
|
|
|
4490
4558
|
title: formattedDate,
|
|
4491
4559
|
titleId: "ec-day-modal-title",
|
|
4492
4560
|
onClose,
|
|
4561
|
+
portal: portalRoot != null,
|
|
4562
|
+
portalRoot,
|
|
4493
4563
|
overlayClassName: "ec-modal-overlay",
|
|
4494
4564
|
modalClassName: "ec-modal ec-modal--day",
|
|
4495
4565
|
renderHeader: ({ closeButtonRef, onClose: onClose2 }) => /* @__PURE__ */ jsx(
|
|
@@ -4531,38 +4601,63 @@ function EventModals({
|
|
|
4531
4601
|
buttonVariant,
|
|
4532
4602
|
buttonText
|
|
4533
4603
|
}) {
|
|
4604
|
+
const markerRef = React9.useRef(null);
|
|
4605
|
+
const [portalRoot, setPortalRoot] = React9.useState(null);
|
|
4534
4606
|
const { modalState, openEventModal, closeModal } = useEventModal();
|
|
4607
|
+
React9.useEffect(() => {
|
|
4608
|
+
const sourceEl = markerRef.current;
|
|
4609
|
+
if (!sourceEl) return;
|
|
4610
|
+
const portal = createBodyThemePortalRoot(sourceEl);
|
|
4611
|
+
if (!portal) return;
|
|
4612
|
+
const blockRoot = document.createElement("div");
|
|
4613
|
+
blockRoot.setAttribute("data-block", "event-calendar");
|
|
4614
|
+
portal.root.appendChild(blockRoot);
|
|
4615
|
+
setPortalRoot(blockRoot);
|
|
4616
|
+
return () => {
|
|
4617
|
+
setPortalRoot(null);
|
|
4618
|
+
portal.cleanup();
|
|
4619
|
+
};
|
|
4620
|
+
}, []);
|
|
4621
|
+
const marker = /* @__PURE__ */ jsx("span", { ref: markerRef, hidden: true, "aria-hidden": "true" });
|
|
4535
4622
|
if (modalState.type === "closed") {
|
|
4536
|
-
return
|
|
4623
|
+
return marker;
|
|
4537
4624
|
}
|
|
4538
4625
|
if (modalState.type === "event") {
|
|
4539
|
-
return /* @__PURE__ */
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4626
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4627
|
+
marker,
|
|
4628
|
+
/* @__PURE__ */ jsx(
|
|
4629
|
+
EventDetailModal,
|
|
4630
|
+
{
|
|
4631
|
+
event: modalState.event,
|
|
4632
|
+
onClose: closeModal,
|
|
4633
|
+
portalRoot,
|
|
4634
|
+
cardVariant,
|
|
4635
|
+
buttonVariant,
|
|
4636
|
+
buttonText,
|
|
4637
|
+
showCapacity
|
|
4638
|
+
}
|
|
4639
|
+
)
|
|
4640
|
+
] });
|
|
4550
4641
|
}
|
|
4551
4642
|
if (modalState.type === "day") {
|
|
4552
|
-
return /* @__PURE__ */
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4643
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4644
|
+
marker,
|
|
4645
|
+
/* @__PURE__ */ jsx(
|
|
4646
|
+
DayEventsModal,
|
|
4647
|
+
{
|
|
4648
|
+
date: modalState.date,
|
|
4649
|
+
events: modalState.events,
|
|
4650
|
+
onClose: closeModal,
|
|
4651
|
+
onSelectEvent: (event) => {
|
|
4652
|
+
openEventModal(event);
|
|
4653
|
+
},
|
|
4654
|
+
portalRoot,
|
|
4655
|
+
showCapacity
|
|
4656
|
+
}
|
|
4657
|
+
)
|
|
4658
|
+
] });
|
|
4564
4659
|
}
|
|
4565
|
-
return
|
|
4660
|
+
return marker;
|
|
4566
4661
|
}
|
|
4567
4662
|
function toEventCombinedControllerProps(props) {
|
|
4568
4663
|
return {
|
|
@@ -4572,7 +4667,7 @@ function toEventCombinedControllerProps(props) {
|
|
|
4572
4667
|
listLayout: props.render.display.listLayout,
|
|
4573
4668
|
listColumns: props.render.display.listColumns,
|
|
4574
4669
|
eventsPerPage: props.render.display.eventsPerPage,
|
|
4575
|
-
|
|
4670
|
+
paginationAction: props.render.display.paginationAction,
|
|
4576
4671
|
startOfWeek: props.render.display.startOfWeek,
|
|
4577
4672
|
calendarTabViews: props.render.display.calendarTabViews,
|
|
4578
4673
|
showFilters: props.render.display.showFilters,
|
|
@@ -4602,8 +4697,8 @@ var EventCombinedClient = ({
|
|
|
4602
4697
|
// List options
|
|
4603
4698
|
listLayout = "stack",
|
|
4604
4699
|
listColumns = "3",
|
|
4605
|
-
eventsPerPage =
|
|
4606
|
-
|
|
4700
|
+
eventsPerPage = 12,
|
|
4701
|
+
paginationAction = { kind: "loadMore", label: "Load more events" },
|
|
4607
4702
|
// Calendar options
|
|
4608
4703
|
startOfWeek = "monday",
|
|
4609
4704
|
calendarTabViews = "both",
|
|
@@ -4625,7 +4720,7 @@ var EventCombinedClient = ({
|
|
|
4625
4720
|
showCapacity,
|
|
4626
4721
|
// Styling
|
|
4627
4722
|
buttonVariant = "primary",
|
|
4628
|
-
buttonText = "Book
|
|
4723
|
+
buttonText = "Book",
|
|
4629
4724
|
emptyMessage = "No upcoming events scheduled.",
|
|
4630
4725
|
className
|
|
4631
4726
|
}) => {
|
|
@@ -4677,14 +4772,14 @@ var EventCombinedClient = ({
|
|
|
4677
4772
|
preFilterScheduleScope: resolvedScheduleScope
|
|
4678
4773
|
});
|
|
4679
4774
|
const initialListFilters = useMemo(
|
|
4680
|
-
() => ({
|
|
4681
|
-
|
|
4682
|
-
eventSurface: resolvedEventSurface
|
|
4683
|
-
|
|
4684
|
-
scheduleScope: resolvedScheduleScope
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4775
|
+
() => buildEventRuntimeFilters({
|
|
4776
|
+
eventKind,
|
|
4777
|
+
eventSurface: resolvedEventSurface,
|
|
4778
|
+
filterEventPresets,
|
|
4779
|
+
scheduleScope: resolvedScheduleScope,
|
|
4780
|
+
filterCategoryIds,
|
|
4781
|
+
filterStaffMemberId,
|
|
4782
|
+
filterVenueId
|
|
4688
4783
|
}),
|
|
4689
4784
|
[
|
|
4690
4785
|
eventKind,
|
|
@@ -4697,7 +4792,7 @@ var EventCombinedClient = ({
|
|
|
4697
4792
|
]
|
|
4698
4793
|
);
|
|
4699
4794
|
const listFilters = useMemo(() => getFilterParams(), [getFilterParams]);
|
|
4700
|
-
const pageSize =
|
|
4795
|
+
const pageSize = eventsPerPage;
|
|
4701
4796
|
const initialListEvents = useMemo(
|
|
4702
4797
|
() => (initialEvents ?? []).slice(0, pageSize),
|
|
4703
4798
|
[initialEvents, pageSize]
|
|
@@ -4718,13 +4813,14 @@ var EventCombinedClient = ({
|
|
|
4718
4813
|
stage
|
|
4719
4814
|
});
|
|
4720
4815
|
const calendarInitialEvents = useMemo(() => {
|
|
4721
|
-
const initialKey =
|
|
4722
|
-
const currentKey =
|
|
4816
|
+
const initialKey = getEventRuntimeFiltersKey(initialListFilters);
|
|
4817
|
+
const currentKey = getEventRuntimeFiltersKey(listFilters);
|
|
4723
4818
|
return initialKey === currentKey ? initialEvents ?? [] : [];
|
|
4724
4819
|
}, [initialEvents, initialListFilters, listFilters]);
|
|
4725
4820
|
const {
|
|
4726
4821
|
events: calendarEventsRaw,
|
|
4727
4822
|
viewDate,
|
|
4823
|
+
viewport,
|
|
4728
4824
|
loading: calendarLoading,
|
|
4729
4825
|
goToPrevious,
|
|
4730
4826
|
goToNext,
|
|
@@ -4732,6 +4828,8 @@ var EventCombinedClient = ({
|
|
|
4732
4828
|
} = useCalendarEvents({
|
|
4733
4829
|
siteId,
|
|
4734
4830
|
initialEvents: calendarInitialEvents,
|
|
4831
|
+
view: calendarView,
|
|
4832
|
+
startOfWeek,
|
|
4735
4833
|
preloadMonths: 1,
|
|
4736
4834
|
filters: listFilters,
|
|
4737
4835
|
stage
|
|
@@ -4744,22 +4842,10 @@ var EventCombinedClient = ({
|
|
|
4744
4842
|
() => getOrderedDayNames(startOfWeek),
|
|
4745
4843
|
[startOfWeek]
|
|
4746
4844
|
);
|
|
4747
|
-
const calendarDays = useMemo(() => {
|
|
4748
|
-
return getMonthCalendarDays(
|
|
4749
|
-
viewDate.getFullYear(),
|
|
4750
|
-
viewDate.getMonth(),
|
|
4751
|
-
startOfWeek
|
|
4752
|
-
);
|
|
4753
|
-
}, [viewDate, startOfWeek]);
|
|
4754
|
-
const headerTitle = useMemo(
|
|
4755
|
-
() => formatCalendarTitle(viewDate, calendarView, calendarDays),
|
|
4756
|
-
[viewDate, calendarView, calendarDays]
|
|
4757
|
-
);
|
|
4758
4845
|
const tabs = [
|
|
4759
4846
|
{ id: "list", label: "List" },
|
|
4760
4847
|
{ id: "calendar", label: "Calendar" }
|
|
4761
4848
|
];
|
|
4762
|
-
const loadMoreButtonText = loadMoreText || "Load more";
|
|
4763
4849
|
const containerClass = getContainerClass(listLayout, listColumns);
|
|
4764
4850
|
const cardOrientation = getCardOrientation(listLayout);
|
|
4765
4851
|
const listDisplay = {
|
|
@@ -4825,7 +4911,7 @@ var EventCombinedClient = ({
|
|
|
4825
4911
|
error: eventsError,
|
|
4826
4912
|
hasMore,
|
|
4827
4913
|
loadMore,
|
|
4828
|
-
|
|
4914
|
+
paginationAction,
|
|
4829
4915
|
hasActiveFilters,
|
|
4830
4916
|
onResetFilters: resetFilters
|
|
4831
4917
|
}
|
|
@@ -4883,7 +4969,7 @@ var EventCombinedClient = ({
|
|
|
4883
4969
|
}
|
|
4884
4970
|
),
|
|
4885
4971
|
/* @__PURE__ */ jsxs("h3", { className: "event-calendar-title", children: [
|
|
4886
|
-
|
|
4972
|
+
viewport.title,
|
|
4887
4973
|
calendarLoading && /* @__PURE__ */ jsx("span", { className: "rb-ml-2 rb-caption status-muted", children: "(loading...)" })
|
|
4888
4974
|
] }),
|
|
4889
4975
|
/* @__PURE__ */ jsx(
|
|
@@ -4925,18 +5011,17 @@ var EventCombinedClient = ({
|
|
|
4925
5011
|
}
|
|
4926
5012
|
)
|
|
4927
5013
|
] }),
|
|
4928
|
-
|
|
5014
|
+
viewport.kind === "week" ? /* @__PURE__ */ jsx(
|
|
4929
5015
|
WeekAgendaView,
|
|
4930
5016
|
{
|
|
4931
|
-
|
|
5017
|
+
days: viewport.days,
|
|
4932
5018
|
events: calendarEventsRaw,
|
|
4933
|
-
startOfWeek,
|
|
4934
5019
|
emptyMessage: "No events scheduled",
|
|
4935
5020
|
showCapacity: resolvedShowCapacity
|
|
4936
5021
|
}
|
|
4937
5022
|
) : /* @__PURE__ */ jsxs("div", { className: "event-calendar-container", children: [
|
|
4938
5023
|
/* @__PURE__ */ jsx("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx("div", { className: "event-calendar-day-header", children: day }, day)) }),
|
|
4939
|
-
/* @__PURE__ */ jsx("div", { className: "event-calendar-grid", children:
|
|
5024
|
+
/* @__PURE__ */ jsx("div", { className: "event-calendar-grid", children: viewport.days.map((date) => {
|
|
4940
5025
|
const dateKey = formatDateKey(date);
|
|
4941
5026
|
const dayEvents = eventsByDate.get(dateKey) || [];
|
|
4942
5027
|
return /* @__PURE__ */ jsx(
|
|
@@ -5171,7 +5256,7 @@ function formatHourLabel(hour) {
|
|
|
5171
5256
|
}
|
|
5172
5257
|
function hourToTickPercent(hour, hours) {
|
|
5173
5258
|
const startHour = hours[0] ?? 0;
|
|
5174
|
-
const endHour = hours.
|
|
5259
|
+
const endHour = hours[hours.length - 1] ?? startHour + 1;
|
|
5175
5260
|
const range = Math.max(1, endHour - startHour);
|
|
5176
5261
|
return (hour - startHour) / range * 100;
|
|
5177
5262
|
}
|
|
@@ -5189,7 +5274,7 @@ var EventCalendarClient = ({
|
|
|
5189
5274
|
listLayout: display.listLayout,
|
|
5190
5275
|
listColumns: display.listColumns,
|
|
5191
5276
|
eventsPerPage: display.eventsPerPage,
|
|
5192
|
-
|
|
5277
|
+
paginationAction: display.paginationAction,
|
|
5193
5278
|
startOfWeek: display.startOfWeek,
|
|
5194
5279
|
calendarTabViews: display.calendarTabViews,
|
|
5195
5280
|
showFilters: display.showFilters,
|
|
@@ -5233,6 +5318,7 @@ var EventCalendarTimetableClient = ({ render }) => {
|
|
|
5233
5318
|
const {
|
|
5234
5319
|
events,
|
|
5235
5320
|
viewDate,
|
|
5321
|
+
viewport,
|
|
5236
5322
|
loading,
|
|
5237
5323
|
error,
|
|
5238
5324
|
goToPrevious,
|
|
@@ -5241,18 +5327,12 @@ var EventCalendarTimetableClient = ({ render }) => {
|
|
|
5241
5327
|
} = useCalendarEvents({
|
|
5242
5328
|
siteId: hydration.siteId,
|
|
5243
5329
|
initialEvents: calendarInitialEvents,
|
|
5330
|
+
view: "week",
|
|
5331
|
+
startOfWeek: display.startOfWeek,
|
|
5244
5332
|
preloadMonths: 1,
|
|
5245
5333
|
filters: listFilters,
|
|
5246
5334
|
stage: hydration.stage
|
|
5247
5335
|
});
|
|
5248
|
-
const calendarDays = useMemo(
|
|
5249
|
-
() => getWeekCalendarDays(viewDate, display.startOfWeek),
|
|
5250
|
-
[display.startOfWeek, viewDate]
|
|
5251
|
-
);
|
|
5252
|
-
const headerTitle = useMemo(
|
|
5253
|
-
() => formatCalendarTitle(viewDate, "week", calendarDays),
|
|
5254
|
-
[calendarDays, viewDate]
|
|
5255
|
-
);
|
|
5256
5336
|
return /* @__PURE__ */ jsxs(EventModalProvider, { children: [
|
|
5257
5337
|
/* @__PURE__ */ jsx(
|
|
5258
5338
|
EventCalendarChrome,
|
|
@@ -5262,7 +5342,7 @@ var EventCalendarTimetableClient = ({ render }) => {
|
|
|
5262
5342
|
className: "event-calendar--timetable",
|
|
5263
5343
|
error,
|
|
5264
5344
|
filters: filtersNode,
|
|
5265
|
-
headerTitle,
|
|
5345
|
+
headerTitle: viewport.title,
|
|
5266
5346
|
loading,
|
|
5267
5347
|
onNext: goToNext,
|
|
5268
5348
|
onPrevious: goToPrevious,
|
|
@@ -5297,6 +5377,7 @@ var EventCalendarGridClient = ({ render }) => {
|
|
|
5297
5377
|
const {
|
|
5298
5378
|
events,
|
|
5299
5379
|
viewDate,
|
|
5380
|
+
viewport,
|
|
5300
5381
|
loading,
|
|
5301
5382
|
error,
|
|
5302
5383
|
goToPrevious,
|
|
@@ -5305,6 +5386,8 @@ var EventCalendarGridClient = ({ render }) => {
|
|
|
5305
5386
|
} = useCalendarEvents({
|
|
5306
5387
|
siteId: hydration.siteId,
|
|
5307
5388
|
initialEvents: calendarInitialEvents,
|
|
5389
|
+
view: calendarView,
|
|
5390
|
+
startOfWeek: display.startOfWeek,
|
|
5308
5391
|
preloadMonths: 1,
|
|
5309
5392
|
filters: listFilters,
|
|
5310
5393
|
stage: hydration.stage
|
|
@@ -5314,20 +5397,6 @@ var EventCalendarGridClient = ({ render }) => {
|
|
|
5314
5397
|
() => getOrderedDayNames(display.startOfWeek),
|
|
5315
5398
|
[display.startOfWeek]
|
|
5316
5399
|
);
|
|
5317
|
-
const calendarDays = useMemo(() => {
|
|
5318
|
-
if (calendarView === "week") {
|
|
5319
|
-
return getWeekCalendarDays(viewDate, display.startOfWeek);
|
|
5320
|
-
}
|
|
5321
|
-
return getMonthCalendarDays(
|
|
5322
|
-
viewDate.getFullYear(),
|
|
5323
|
-
viewDate.getMonth(),
|
|
5324
|
-
display.startOfWeek
|
|
5325
|
-
);
|
|
5326
|
-
}, [calendarView, display.startOfWeek, viewDate]);
|
|
5327
|
-
const headerTitle = useMemo(
|
|
5328
|
-
() => formatCalendarTitle(viewDate, calendarView, calendarDays),
|
|
5329
|
-
[viewDate, calendarView, calendarDays]
|
|
5330
|
-
);
|
|
5331
5400
|
return /* @__PURE__ */ jsxs(EventModalProvider, { children: [
|
|
5332
5401
|
/* @__PURE__ */ jsxs(
|
|
5333
5402
|
EventCalendarChrome,
|
|
@@ -5336,7 +5405,7 @@ var EventCalendarGridClient = ({ render }) => {
|
|
|
5336
5405
|
calendarView,
|
|
5337
5406
|
error,
|
|
5338
5407
|
filters: filtersNode,
|
|
5339
|
-
headerTitle,
|
|
5408
|
+
headerTitle: viewport.title,
|
|
5340
5409
|
loading,
|
|
5341
5410
|
onNext: goToNext,
|
|
5342
5411
|
onPrevious: goToPrevious,
|
|
@@ -5344,7 +5413,7 @@ var EventCalendarGridClient = ({ render }) => {
|
|
|
5344
5413
|
children: [
|
|
5345
5414
|
/* @__PURE__ */ jsxs("div", { className: "event-calendar-container", children: [
|
|
5346
5415
|
/* @__PURE__ */ jsx("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx("div", { className: "event-calendar-day-header", children: day }, day)) }),
|
|
5347
|
-
/* @__PURE__ */ jsx("div", { className: "event-calendar-grid", children:
|
|
5416
|
+
/* @__PURE__ */ jsx("div", { className: "event-calendar-grid", children: viewport.days.map((date) => {
|
|
5348
5417
|
const dateKey = formatDateKey(date);
|
|
5349
5418
|
const dayEvents = eventsByDate.get(dateKey) || [];
|
|
5350
5419
|
return /* @__PURE__ */ jsx(
|
|
@@ -5432,43 +5501,21 @@ function usePrefetchedCalendarEvents(display, listFilters) {
|
|
|
5432
5501
|
]
|
|
5433
5502
|
);
|
|
5434
5503
|
return useMemo(() => {
|
|
5435
|
-
const initialKey =
|
|
5436
|
-
const currentKey =
|
|
5504
|
+
const initialKey = getEventRuntimeFiltersKey(initialFilters);
|
|
5505
|
+
const currentKey = getEventRuntimeFiltersKey(listFilters);
|
|
5437
5506
|
return initialKey === currentKey ? [...display.events] : [];
|
|
5438
5507
|
}, [display.events, initialFilters, listFilters]);
|
|
5439
5508
|
}
|
|
5440
5509
|
function buildDisplayFilterParams(display) {
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
}
|
|
5451
|
-
if (display.eventKind === "courses") {
|
|
5452
|
-
params.kind = "courses";
|
|
5453
|
-
if (display.filterVenueId) params.venueId = display.filterVenueId;
|
|
5454
|
-
if (display.filterStaffMemberId) {
|
|
5455
|
-
params.staffMemberId = display.filterStaffMemberId;
|
|
5456
|
-
}
|
|
5457
|
-
return params;
|
|
5458
|
-
}
|
|
5459
|
-
if (display.filterCategoryIds) {
|
|
5460
|
-
params.categoryIds = display.filterCategoryIds;
|
|
5461
|
-
}
|
|
5462
|
-
if (display.eventKind === "events") {
|
|
5463
|
-
params.kind = "events";
|
|
5464
|
-
}
|
|
5465
|
-
if (display.filterVenueId) {
|
|
5466
|
-
params.venueId = display.filterVenueId;
|
|
5467
|
-
}
|
|
5468
|
-
if (display.filterStaffMemberId) {
|
|
5469
|
-
params.staffMemberId = display.filterStaffMemberId;
|
|
5470
|
-
}
|
|
5471
|
-
return params;
|
|
5510
|
+
return buildEventRuntimeFilters({
|
|
5511
|
+
eventKind: display.eventKind,
|
|
5512
|
+
eventSurface: display.eventSurface,
|
|
5513
|
+
filterEventPresets: display.filterEventPresets,
|
|
5514
|
+
scheduleScope: display.scheduleScope,
|
|
5515
|
+
filterCategoryIds: display.filterCategoryIds,
|
|
5516
|
+
filterStaffMemberId: display.filterStaffMemberId,
|
|
5517
|
+
filterVenueId: display.filterVenueId
|
|
5518
|
+
});
|
|
5472
5519
|
}
|
|
5473
5520
|
var EventCalendarChrome = ({
|
|
5474
5521
|
children,
|