@riverbankcms/sdk 0.77.1 → 0.78.2
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 +114 -43
- package/dist/{PreviewEditorSidebar-DVUG7GK4.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +4962 -4885
- package/dist/{PreviewEditorUI-P7RN4CDS.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +190 -154
- package/dist/_dts/api/src/accessAdmin.d.ts +5 -0
- package/dist/_dts/api/src/billing.d.ts +3 -26
- package/dist/_dts/api/src/bookingVerticals.d.ts +4 -0
- package/dist/_dts/api/src/content-editor.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/demoDashboardMutationSurfaces.d.ts +46 -0
- package/dist/_dts/api/src/endpoints.d.ts +17 -0
- package/dist/_dts/api/src/index.d.ts +16 -4
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +87 -0
- package/dist/_dts/api/src/navigation/dashboardDemoNav.d.ts +5 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +45 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +42 -0
- package/dist/_dts/api/src/navigation/dashboardTeamMemberNav.d.ts +24 -0
- package/dist/_dts/api/src/navigation/linkUrlType.d.ts +3 -0
- package/dist/_dts/api/src/navigation.d.ts +12 -0
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +55 -26
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
- package/dist/_dts/api/src/staffAccess.d.ts +79 -0
- package/dist/_dts/api/src/types.d.ts +14 -27
- package/dist/_dts/api/src/workflows/automaticWorkflowTriggers.d.ts +21 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +4 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +68 -21
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/data/index.d.ts +5 -3
- package/dist/_dts/blocks/src/system/data/previewResolvedDataState.d.ts +45 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +5 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +193 -29
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +10 -0
- package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +43 -8
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCompactRow.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-cart-discount-ui.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +76 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout.state.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce-store.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-commerce.shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop-discount-apply.state.d.ts +52 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +2 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/useDiscountApply.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +54 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
- package/dist/_dts/content-editor/src/contentTypeEditorContentState.d.ts +26 -0
- package/dist/_dts/content-editor/src/definitions/factory.d.ts +75 -0
- package/dist/_dts/content-editor/src/entryWorkflows.d.ts +2 -0
- package/dist/_dts/content-editor/src/footerBlocksEditorState.d.ts +76 -0
- package/dist/_dts/content-editor/src/index.d.ts +6 -1
- package/dist/_dts/content-editor/src/pageWorkflowContent.d.ts +29 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +17 -3
- package/dist/_dts/content-model/src/index.d.ts +1 -0
- package/dist/_dts/content-model/src/routeTemplate.d.ts +4 -0
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/editorState.d.ts +25 -0
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +108 -85
- package/dist/_dts/core/src/csv-cells.d.ts +10 -0
- package/dist/_dts/core/src/csv-date-filter.d.ts +27 -0
- package/dist/_dts/core/src/csv-escape.d.ts +1 -0
- package/dist/_dts/core/src/csv-filename.d.ts +18 -0
- package/dist/_dts/core/src/csv-render.d.ts +4 -0
- package/dist/_dts/core/src/csv-types.d.ts +116 -0
- package/dist/_dts/core/src/currency-format.d.ts +4 -0
- package/dist/_dts/core/src/demo-capability-policy.d.ts +29 -0
- package/dist/_dts/core/src/demo-claim-access.d.ts +14 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +11 -0
- package/dist/_dts/core/src/demo-runtime.d.ts +47 -0
- package/dist/_dts/core/src/duration.d.ts +14 -0
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/email-format.d.ts +10 -0
- package/dist/_dts/core/src/field-errors.d.ts +1 -0
- package/dist/_dts/core/src/form-submission-preview.d.ts +24 -0
- package/dist/_dts/core/src/index.d.ts +20 -0
- package/dist/_dts/core/src/number-input.d.ts +22 -0
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/core/src/public-url-validation.d.ts +12 -0
- package/dist/_dts/core/src/slug.d.ts +39 -0
- package/dist/_dts/core/src/string.d.ts +19 -0
- package/dist/_dts/core/src/uuid.d.ts +6 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +50 -50
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +34 -0
- package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +24 -0
- package/dist/_dts/media-core/src/canonicalCropReview.d.ts +66 -0
- package/dist/_dts/media-core/src/classifyAllPlanning.d.ts +48 -0
- package/dist/_dts/media-core/src/filename.d.ts +1 -0
- package/dist/_dts/media-core/src/index.d.ts +10 -0
- package/dist/_dts/media-core/src/mediaAssetUsageStatus.d.ts +47 -0
- package/dist/_dts/media-core/src/mediaSettingsState.d.ts +3 -0
- package/dist/_dts/media-core/src/portableMediaReferences.d.ts +38 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +28 -0
- package/dist/_dts/media-core/src/videoAssetRepair.d.ts +38 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/media-editor/src/mediaEditorDebug.d.ts +1 -0
- package/dist/_dts/path-utils/src/index.d.ts +8 -0
- package/dist/_dts/path-utils/src/redirectPaths.d.ts +26 -0
- package/dist/_dts/path-utils/src/safeAppPath.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/previewDocumentFrame.d.ts +31 -0
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/client/error.d.ts +3 -0
- package/dist/_dts/sdk/src/client/index.d.ts +2 -2
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
- package/dist/_dts/sdk/src/client/types.d.ts +39 -21
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
- package/dist/_dts/sdk/src/index.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +16 -16
- package/dist/_dts/sdk/src/next/content-load-failure.d.ts +51 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/portal/redirects.d.ts +1 -1
- package/dist/_dts/sdk/src/routing/index.d.ts +3 -2
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +71 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -12
- package/dist/_dts/site-commands/src/index.d.ts +1 -0
- package/dist/_dts/site-commands/src/pagePaths.d.ts +6 -0
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +26 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -0
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/fonts/uploadFormat.d.ts +44 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +3 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +6 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +12 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/runtime/themeCssVarNames.d.ts +7 -0
- package/dist/_dts/theme-core/src/schema.d.ts +64 -18
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -2
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +214 -34
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +31 -3
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +33 -1
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +27 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +17 -34
- package/dist/_dts/theme-core/src/siteChromeOverlayClearance.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlacement.d.ts +22 -0
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +32 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-IENWFSLO.mjs → chunk-4QEGTLK6.mjs} +1 -1
- package/dist/{chunk-ZYEJLCTN.mjs → chunk-6HYXHRAI.mjs} +5 -5
- package/dist/{chunk-VX7B5VAC.mjs → chunk-CR5HKAGU.mjs} +32 -5
- package/dist/{chunk-KWJPDZH2.mjs → chunk-MCRQMPET.mjs} +3793 -1201
- package/dist/{chunk-6SMUFTXD.mjs → chunk-OKMBEAXY.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-2SPENC5M.mjs → chunk-RGTOD4AJ.mjs} +242 -57
- package/dist/cli/index.mjs +2361 -668
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-RZMQSYLR.mjs → accordion-PLYNJIIM.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-NF4ASVNV.mjs → bookingForm-BXAP6AO7.mjs} +76 -72
- package/dist/client/bookings.mjs +3765 -310
- package/dist/client/{carousel-LDX47ZIK.mjs → carousel-TRBXDHGF.mjs} +3 -4
- package/dist/client/{cart-RGXDS5F4.mjs → cart-Z7H3HJRS.mjs} +8 -8
- package/dist/client/{checkout-P7WWSNNY.mjs → checkout-WAFCUBIX.mjs} +8 -8
- package/dist/client/{chunk-II7O4XN3.mjs → chunk-75OUS5MT.mjs} +2 -2
- package/dist/client/{chunk-PMAIXMAB.mjs → chunk-AUJ5DBZJ.mjs} +42 -37
- package/dist/client/{chunk-TQ5MSPDX.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-E2TDNXCL.mjs → chunk-CWGTG37I.mjs} +2 -1
- package/dist/client/{chunk-UFSWADAO.mjs → chunk-DNRGY432.mjs} +6 -67
- package/dist/client/{chunk-GMVTOKYG.mjs → chunk-FUXW6VW2.mjs} +512 -66
- package/dist/client/{chunk-R56FQ3RR.mjs → chunk-JGXPTEI2.mjs} +322 -106
- package/dist/client/{chunk-L3DNHIJX.mjs → chunk-JRDUHZCT.mjs} +53 -53
- package/dist/client/{chunk-M3L3KYYR.mjs → chunk-UDNSI5PY.mjs} +12 -0
- package/dist/client/{chunk-JEZECJ3W.mjs → chunk-UVQEJJTN.mjs} +129 -3
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/chunk-ZFHRN6W2.mjs +66 -0
- package/dist/client/{chunk-JNC7CGHX.mjs → chunk-ZI3LLBPZ.mjs} +3 -3
- package/dist/client/client.mjs +7577 -4979
- package/dist/client/{courseRegistration-7F65K5ZR.mjs → courseRegistration-AHFQHWIJ.mjs} +19 -16
- package/dist/client/{eventCalendar-GLSC5KTL.mjs → eventCalendar-LDXTV5R7.mjs} +10 -10
- package/dist/client/{eventCombined-ZHK4WKUR.mjs → eventCombined-A4JGTNJO.mjs} +10 -10
- package/dist/client/{eventDetails-E3PJYBIN.mjs → eventDetails-4YXTZ7EG.mjs} +10 -10
- package/dist/client/{eventListing-EMS3WC3E.mjs → eventListing-P72TPFFM.mjs} +10 -10
- package/dist/client/{eventRegistration-NZOTVNPI.mjs → eventRegistration-LSYJHGMT.mjs} +10 -10
- package/dist/client/{form-ETFZFATW.mjs → form-AOPYOKOW.mjs} +10 -7
- package/dist/client/{headerSection-4LBP7ULT.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
- package/dist/client/hooks.mjs +1119 -327
- package/dist/client/{locationMap-5M655YSJ.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
- package/dist/client/{newsletterForm-QOUYW44O.mjs → newsletterForm-KTRHZY52.mjs} +3 -3
- package/dist/client/{productDetail-O4DOCWQG.mjs → productDetail-N4E775RG.mjs} +8 -8
- package/dist/client/{productList-A5RO5WIS.mjs → productList-UGUQ2S45.mjs} +8 -8
- package/dist/client/rendering/client.mjs +7262 -2775
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +6964 -4587
- package/dist/client/{shop-L4MZH4I2.mjs → shop-VHSZEEQ2.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +18 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/editor-chrome.css +10 -0
- package/dist/preview-next/middleware.mjs +18 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
- package/dist/server/components.mjs +2736 -1316
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +1346 -550
- package/dist/server/config.mjs +1346 -550
- package/dist/server/data.mjs +1118 -326
- package/dist/server/index.mjs +514 -251
- package/dist/server/next.mjs +4446 -2444
- package/dist/server/page-converter.mjs +631 -155
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2743 -1323
- package/dist/server/rendering.mjs +2764 -1328
- package/dist/server/routing.mjs +1860 -590
- package/dist/server/server.mjs +1622 -575
- package/dist/server/theme-bridge.mjs +3151 -131
- package/dist/server/theme.mjs +10 -1
- package/dist/styles/index.css +488 -48
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/DiscountCodeSection.d.ts +0 -7
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +0 -4
- package/dist/client/chunk-OJPZEZU2.mjs +0 -31
- package/dist/client/chunk-RTZ3JKKX.mjs +0 -178
- package/dist/sdk-runtime-6UT2S7KZ.mjs +0 -8
|
@@ -161,6 +161,10 @@ export declare const DISCOUNTS: {
|
|
|
161
161
|
path: string;
|
|
162
162
|
method: "POST";
|
|
163
163
|
};
|
|
164
|
+
apply: {
|
|
165
|
+
path: string;
|
|
166
|
+
method: "POST";
|
|
167
|
+
};
|
|
164
168
|
};
|
|
165
169
|
export declare const NEWSLETTER: {
|
|
166
170
|
subscribe: {
|
|
@@ -485,6 +489,10 @@ export declare const ENDPOINTS: {
|
|
|
485
489
|
path: string;
|
|
486
490
|
method: "POST";
|
|
487
491
|
};
|
|
492
|
+
apply: {
|
|
493
|
+
path: string;
|
|
494
|
+
method: "POST";
|
|
495
|
+
};
|
|
488
496
|
};
|
|
489
497
|
readonly newsletter: {
|
|
490
498
|
subscribe: {
|
|
@@ -43,7 +43,7 @@ export { createBlockApi, BlockApiError } from './client';
|
|
|
43
43
|
export type { BlockApiClient } from './client';
|
|
44
44
|
export { BlockApiProvider, useBlockApi, useBlockApiOptional } from './context';
|
|
45
45
|
export type { BlockApiProviderProps } from './context';
|
|
46
|
-
export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, PricingType, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, PaymentMethod, EligibilityCheckRequest, EligibilityCheckResponse, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, CoursePaymentMethod, CourseEnrollRequest, CourseEnrollResponse, CourseEnrollSuccessResponse, CourseWaitlistResponse, CourseCheckoutRequest, CourseCheckoutResponse, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerCourseEnrollment, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalCourseBookingQuestionsResponse, PortalCreateCourseBookingQuestionsUploadUrlRequest, PortalCreateCourseBookingQuestionsUploadUrlResponse, PortalFinalizeCourseBookingQuestionsUploadRequest, PortalFinalizeCourseBookingQuestionsUploadResponse, PortalUpdateCourseBookingQuestionsRequest, PortalUpdateCourseBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelCourseEnrollmentRequest, PortalCancelCourseEnrollmentResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
|
|
46
|
+
export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, PricingType, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, PaymentMethod, EligibilityCheckRequest, EligibilityCheckResponse, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, CoursePaymentMethod, CourseEnrollRequest, CourseEnrollResponse, CourseEnrollSuccessResponse, CourseWaitlistResponse, CourseCheckoutRequest, CourseCheckoutResponse, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyLine, DiscountApplyRequest, DiscountApplyRejectedReason, DiscountApplyResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerCourseEnrollment, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalCourseBookingQuestionsResponse, PortalCreateCourseBookingQuestionsUploadUrlRequest, PortalCreateCourseBookingQuestionsUploadUrlResponse, PortalFinalizeCourseBookingQuestionsUploadRequest, PortalFinalizeCourseBookingQuestionsUploadResponse, PortalUpdateCourseBookingQuestionsRequest, PortalUpdateCourseBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelCourseEnrollmentRequest, PortalCancelCourseEnrollmentResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
|
|
47
47
|
export type { BookingQuestionsDocumentAnswerValue } from '../../../portal/types';
|
|
48
48
|
export { deriveCreditProductLabels, getCreditProductCreditUnit, getCreditProductTypeLabel, getPortalCreditProductCreditNoun, } from './creditProducts';
|
|
49
49
|
export type { CreditProductCreditUnit, CreditProductLabelStyle, CreditProductSource, CreditProductUseCase, DerivedCreditProductLabels, EnabledCreditProductModules, } from './creditProducts';
|
|
@@ -590,6 +590,10 @@ export type DiscountContext = {
|
|
|
590
590
|
} | {
|
|
591
591
|
type: "membership";
|
|
592
592
|
membershipId: string;
|
|
593
|
+
} | {
|
|
594
|
+
type: "product";
|
|
595
|
+
productId: string;
|
|
596
|
+
productCategoryId: string | null;
|
|
593
597
|
};
|
|
594
598
|
export interface DiscountsAvailableRequest {
|
|
595
599
|
siteId: string;
|
|
@@ -611,6 +615,32 @@ export interface DiscountsAvailableResponse {
|
|
|
611
615
|
manualCodeEntryAllowed: boolean;
|
|
612
616
|
autoAppliedDiscount: AutoAppliedDiscountPreview | null;
|
|
613
617
|
}
|
|
618
|
+
export interface DiscountApplyLine {
|
|
619
|
+
context: DiscountContext;
|
|
620
|
+
subtotalCents: number;
|
|
621
|
+
currency: string;
|
|
622
|
+
}
|
|
623
|
+
export interface DiscountApplyRequest {
|
|
624
|
+
siteId: string;
|
|
625
|
+
discountCode: string;
|
|
626
|
+
customerEmail: string;
|
|
627
|
+
lines: DiscountApplyLine[];
|
|
628
|
+
}
|
|
629
|
+
export type DiscountApplyRejectedReason = "invalid_or_not_applicable" | "unavailable" | "unknown";
|
|
630
|
+
export type DiscountApplyResponse = {
|
|
631
|
+
type: "applied";
|
|
632
|
+
code: string;
|
|
633
|
+
publicLabel: string;
|
|
634
|
+
description: string | null;
|
|
635
|
+
discountCents: number;
|
|
636
|
+
subtotalCents: number;
|
|
637
|
+
totalAfterDiscountCents: number;
|
|
638
|
+
currency: string;
|
|
639
|
+
} | {
|
|
640
|
+
type: "rejected";
|
|
641
|
+
reason: DiscountApplyRejectedReason;
|
|
642
|
+
message: string;
|
|
643
|
+
};
|
|
614
644
|
export interface CourseRegistrationStatusRequest {
|
|
615
645
|
siteId: string;
|
|
616
646
|
sessionId: string;
|
|
@@ -675,20 +705,25 @@ export interface ShopCheckoutRequest {
|
|
|
675
705
|
cancelUrl: string;
|
|
676
706
|
confirmDuplicate?: boolean;
|
|
677
707
|
}
|
|
678
|
-
export
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
|
|
708
|
+
export type ShopCheckoutResponse = {
|
|
709
|
+
type: "redirect";
|
|
710
|
+
checkoutUrl: string;
|
|
711
|
+
sessionId: string;
|
|
712
|
+
} | {
|
|
713
|
+
type: "bypassed";
|
|
714
|
+
sessionId: null;
|
|
715
|
+
} | {
|
|
716
|
+
type: "duplicate_membership_warning";
|
|
685
717
|
message: string;
|
|
686
718
|
existingMembership: {
|
|
687
719
|
id: string;
|
|
688
720
|
name: string;
|
|
689
721
|
expiresAt: string | null;
|
|
690
722
|
};
|
|
691
|
-
}
|
|
723
|
+
};
|
|
724
|
+
export type ShopDuplicateMembershipWarning = Extract<ShopCheckoutResponse, {
|
|
725
|
+
type: "duplicate_membership_warning";
|
|
726
|
+
}>;
|
|
692
727
|
export type UnifiedCheckoutItem = {
|
|
693
728
|
type: "course_enrollment";
|
|
694
729
|
courseId: string;
|
|
@@ -4,13 +4,7 @@
|
|
|
4
4
|
* This module contains constants and functions used by both the server-side
|
|
5
5
|
* and client-side header section components to avoid code duplication.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
* Classes that belong on the outer nav wrapper (positioning/z-index),
|
|
9
|
-
* not on the inner Section (content styling).
|
|
10
|
-
*
|
|
11
|
-
* CSS position: sticky/fixed must be on the outermost element to work
|
|
12
|
-
* correctly relative to the page scroll container.
|
|
13
|
-
*/
|
|
7
|
+
import type React from 'react';
|
|
14
8
|
export declare const POSITIONING_CLASSES: readonly ["rb-sticky", "rb-fixed", "rb-absolute", "rb-relative", "rb-top-0", "rb-left-0", "rb-right-0", "rb-bottom-0", "rb-z-40", "rb-z-50"];
|
|
15
9
|
export { desktopOnlyDisplay, mobileOnlyDisplay, type ResponsiveDisplay, } from '../../../../../theme-core/src/responsiveDisplay';
|
|
16
10
|
/**
|
|
@@ -23,3 +17,10 @@ export declare function splitPositioningClasses(className: string | undefined):
|
|
|
23
17
|
wrapperClasses: string;
|
|
24
18
|
sectionClasses: string;
|
|
25
19
|
};
|
|
20
|
+
export declare function composeHeaderSectionWrapperClassName(input: Readonly<{
|
|
21
|
+
wrapperClasses: string;
|
|
22
|
+
previewSiteChromeSurface?: string | null;
|
|
23
|
+
}>): string;
|
|
24
|
+
export declare const EDITABLE_SURFACE_FORWARDING_PROP: "forwardsSiteChromeEditableSurface";
|
|
25
|
+
export type EditableSurfaceForwardingComponent<TProps = unknown> = React.ComponentType<TProps> & Record<typeof EDITABLE_SURFACE_FORWARDING_PROP, true>;
|
|
26
|
+
export declare function markEditableSurfaceForwarding<TProps>(component: React.ComponentType<TProps>): EditableSurfaceForwardingComponent<TProps>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { unsafeAsBookingFieldId, bookingFlowReducer, buildBookingAvailabilityQuery, buildBookingStepPlan, buildBookingSubmitPlan, createBookingBlockApiConfig, createEmptyBookingValidationErrors, createFieldBookingValidationErrors, createFormBookingValidationError, createInitialBookingFlowReducerState, describeUnknownError, deriveBookingFieldViews, deriveBookingFlowSteps, getAppointmentBookingOverrideInput, hasBookingValidationErrors, resolveAppointmentPackagesModel, resolveAvailabilitySelectionInvalidation, resolveHeadlessBookingStatus, resolveHeadlessBookingView, toBookingFormData, toBookingSlotView, toBookingSlotViews, toOptionalAppointmentResourceId, toOptionalAppointmentServiceId, validateBookingField, validateBookingFields, validateBookingStep, } from "../nodes/booking-form.headless.state";
|
|
2
2
|
export type { AppointmentBookingOverrideData, AppointmentBookingOverrideInput, AppointmentBookingOverrideInputResult, AppointmentBookingOverridePropsLike, BookingAvailabilityQuery, BookingAppointmentPackagesModel, BookingAppointmentPackagesUnavailableReason, BookingFieldId, BookingFieldValue, BookingFieldView, BookingFlowActionResult, BookingFlowFeedback, BookingFlowStatus, BookingFlowStep, BookingFlowStepId, BookingFlowView, BookingResourceView, BookingSlotSelection, BookingSlotView, BookingSubmitActionResult, BookingSubmitOptions, BookingValidationErrors, DerivedBookingFlowSteps, DeriveBookingFlowStepsInput, LoadState, } from "../nodes/booking-form.headless.state";
|
|
@@ -30,7 +30,7 @@ export type BookingValidationErrors = Readonly<{
|
|
|
30
30
|
fieldErrors: Readonly<Record<string, string>>;
|
|
31
31
|
}>;
|
|
32
32
|
export type BookingFieldId = Brand<string, "BookingFieldId">;
|
|
33
|
-
export declare const
|
|
33
|
+
export declare const unsafeAsBookingFieldId: (id: string) => BookingFieldId;
|
|
34
34
|
export type BookingFieldValue = string | number | boolean | readonly string[] | null;
|
|
35
35
|
export type BookingSlotView = Readonly<{
|
|
36
36
|
key: string;
|
|
@@ -8,10 +8,7 @@ type EventCompactRowProps = {
|
|
|
8
8
|
/**
|
|
9
9
|
* EventCompactRow Component
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* Top line: title + date/time
|
|
13
|
-
* Bottom line: venue + price
|
|
14
|
-
* CTA button on the right, vertically centered.
|
|
11
|
+
* Editorial compact event row with a date rail, event details, and action rail.
|
|
15
12
|
*
|
|
16
13
|
* Server-safe (no client-only APIs).
|
|
17
14
|
*/
|
|
@@ -44,6 +44,13 @@ export declare function formatEventDateParts(args: {
|
|
|
44
44
|
date: string;
|
|
45
45
|
timeRange: string;
|
|
46
46
|
};
|
|
47
|
+
export type EventCompactDateRail = Readonly<{
|
|
48
|
+
weekday: string;
|
|
49
|
+
day: string;
|
|
50
|
+
month: string;
|
|
51
|
+
label: string;
|
|
52
|
+
}>;
|
|
53
|
+
export declare function formatEventCompactDateRail(isoTimestamp: string, options?: DateTimeFormatOptions): EventCompactDateRail;
|
|
47
54
|
export declare function formatTeamMemberNames(names: readonly string[]): string | null;
|
|
48
55
|
export declare function formatEventTeacherLine(event: PublicEvent): string | null;
|
|
49
56
|
export { addMonths, formatCalendarTitle, formatDateKey, getEndOfMonth, getMonthCalendarDays, getOrderedDayNames, getStartOfMonth, getThreeMonthRange, getWeekCalendarDays, isToday, MAX_EVENTS_PER_DAY, } from '../../../../../../../calendar/src/index';
|
|
@@ -9,11 +9,5 @@ type HeaderSectionNodeProps = React.PropsWithChildren<{
|
|
|
9
9
|
"data-preview-site-chrome-surface"?: string;
|
|
10
10
|
[key: string]: unknown;
|
|
11
11
|
}>;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
* Mirrors the server header wrapper structure so preview mode behaves the same
|
|
16
|
-
* as published mode (mobile menu, dropdown a11y, scroll behavior).
|
|
17
|
-
*/
|
|
18
|
-
declare const HeaderSectionNode: React.FC<HeaderSectionNodeProps>;
|
|
19
|
-
export default HeaderSectionNode;
|
|
12
|
+
declare const _default: import("../header/shared").EditableSurfaceForwardingComponent<HeaderSectionNodeProps>;
|
|
13
|
+
export default _default;
|
|
@@ -5,12 +5,5 @@ type HeaderSectionNodeProps = React.PropsWithChildren<{
|
|
|
5
5
|
"data-preview-site-chrome-surface"?: string;
|
|
6
6
|
[key: string]: unknown;
|
|
7
7
|
}>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* Client counterpart adds scroll-aware behavior.
|
|
11
|
-
*
|
|
12
|
-
* Positioning classes (sticky, fixed, z-index) are applied to the outer wrapper
|
|
13
|
-
* so that CSS positioning works correctly relative to the page scroll container.
|
|
14
|
-
*/
|
|
15
|
-
declare const HeaderSectionNode: React.FC<HeaderSectionNodeProps>;
|
|
16
|
-
export default HeaderSectionNode;
|
|
8
|
+
declare const _default: import("../header/shared").EditableSurfaceForwardingComponent<HeaderSectionNodeProps>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BlockApiClient } from '../api';
|
|
2
|
+
import { type CartDiscountUiState, type planCartDiscountAvailabilityRequests } from './shop-checkout-form';
|
|
3
|
+
type CartDiscountAvailabilityPlan = ReturnType<typeof planCartDiscountAvailabilityRequests>;
|
|
4
|
+
export declare function useCartDiscountUiState(api: BlockApiClient, plan: CartDiscountAvailabilityPlan): CartDiscountUiState;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type Brand, type Result } from '../../../../../core/src/index';
|
|
2
|
+
import type { DiscountsAvailableRequest, DiscountsAvailableResponse, ShopCheckoutRequest, UnifiedCheckoutItem, UnifiedCheckoutRequest } from '../api/types';
|
|
3
|
+
import type { CommerceCheckoutState } from './shop-commerce.shared';
|
|
4
|
+
export type ManualDiscountCode = Brand<string, 'ManualDiscountCode'>;
|
|
5
|
+
export type CheckoutContactForm = Readonly<{
|
|
6
|
+
name: string;
|
|
7
|
+
email: string;
|
|
8
|
+
}>;
|
|
9
|
+
export type CheckoutDiscountForm = Readonly<{
|
|
10
|
+
discountCode: string;
|
|
11
|
+
}>;
|
|
12
|
+
export type ShopCheckoutForm = CheckoutContactForm & CheckoutDiscountForm;
|
|
13
|
+
export type NormalizedCheckoutContact = Readonly<{
|
|
14
|
+
name: string;
|
|
15
|
+
email: string;
|
|
16
|
+
}>;
|
|
17
|
+
export type CheckoutFormError = Readonly<{
|
|
18
|
+
type: 'missing_contact';
|
|
19
|
+
message: string;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
type: 'invalid_email';
|
|
22
|
+
message: string;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
type: 'empty_cart';
|
|
25
|
+
message: string;
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
type: 'blocked_cart';
|
|
28
|
+
reason: 'mixed_currency';
|
|
29
|
+
message: string;
|
|
30
|
+
}>;
|
|
31
|
+
export type CartDiscountAvailabilityRequest = Readonly<{
|
|
32
|
+
context: DiscountsAvailableRequest['context'];
|
|
33
|
+
subtotalCents: number;
|
|
34
|
+
currency: string;
|
|
35
|
+
}>;
|
|
36
|
+
export type CartDiscountUiState = Readonly<{
|
|
37
|
+
type: 'unavailable';
|
|
38
|
+
}> | Readonly<{
|
|
39
|
+
type: 'loading';
|
|
40
|
+
}> | Readonly<{
|
|
41
|
+
type: 'manual-allowed';
|
|
42
|
+
}> | Readonly<{
|
|
43
|
+
type: 'auto-only';
|
|
44
|
+
autoAppliedDiscount: DiscountsAvailableResponse['autoAppliedDiscount'];
|
|
45
|
+
}> | Readonly<{
|
|
46
|
+
type: 'error-unavailable';
|
|
47
|
+
}>;
|
|
48
|
+
export declare function normalizeManualDiscountCode(raw: string): ManualDiscountCode | null;
|
|
49
|
+
export declare function normalizeCheckoutEmail(raw: string): Result<string, CheckoutFormError>;
|
|
50
|
+
export declare function normalizeCheckoutContactForm(form: CheckoutContactForm): Result<NormalizedCheckoutContact, CheckoutFormError>;
|
|
51
|
+
export type DirectShopCheckoutCommand = Omit<ShopCheckoutRequest, 'siteId' | 'discountCode'> & Readonly<{
|
|
52
|
+
discountCode?: ManualDiscountCode;
|
|
53
|
+
}>;
|
|
54
|
+
export declare function planDirectShopCheckoutRequest(input: Readonly<{
|
|
55
|
+
productType: DirectShopCheckoutCommand['productType'];
|
|
56
|
+
productId: string;
|
|
57
|
+
form: ShopCheckoutForm;
|
|
58
|
+
successUrl: string;
|
|
59
|
+
cancelUrl: string;
|
|
60
|
+
confirmDuplicate?: boolean;
|
|
61
|
+
}>): Result<DirectShopCheckoutCommand, CheckoutFormError>;
|
|
62
|
+
export type UnifiedCheckoutCommand = Omit<UnifiedCheckoutRequest, 'siteId' | 'discountCode'> & Readonly<{
|
|
63
|
+
discountCode?: ManualDiscountCode;
|
|
64
|
+
}>;
|
|
65
|
+
export declare function buildUnifiedCheckoutItems(checkout: Extract<CommerceCheckoutState, {
|
|
66
|
+
kind: 'ready';
|
|
67
|
+
}>): UnifiedCheckoutItem[];
|
|
68
|
+
export declare function planUnifiedCheckoutRequest(input: Readonly<{
|
|
69
|
+
checkout: CommerceCheckoutState;
|
|
70
|
+
form: ShopCheckoutForm;
|
|
71
|
+
successUrl: string;
|
|
72
|
+
cancelUrl: string;
|
|
73
|
+
}>): Result<UnifiedCheckoutCommand, CheckoutFormError>;
|
|
74
|
+
export declare function planCartDiscountAvailabilityRequests(checkout: CommerceCheckoutState): Result<CartDiscountAvailabilityRequest[], CheckoutFormError>;
|
|
75
|
+
export declare function aggregateCartDiscountUiState(availability: readonly DiscountsAvailableResponse[]): CartDiscountUiState;
|
|
76
|
+
export declare function checkoutFormForDiscountUiState(form: ShopCheckoutForm, discountUiState: CartDiscountUiState): ShopCheckoutForm;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { type FeedbackState } from '@riverbankcms/frontend-state';
|
|
2
|
+
import type { ShopCheckoutForm } from './shop-checkout-form';
|
|
2
3
|
export type ShopCheckoutNotice = 'success' | 'cancelled' | null;
|
|
3
|
-
export type ShopCheckoutForm = Readonly<{
|
|
4
|
-
name: string;
|
|
5
|
-
email: string;
|
|
6
|
-
}>;
|
|
7
4
|
export type ShopCheckoutState = Readonly<{
|
|
8
5
|
form: ShopCheckoutForm;
|
|
9
6
|
submission: 'idle' | 'submitting';
|
|
@@ -9,6 +9,7 @@ declare class CommerceCartStore {
|
|
|
9
9
|
addProduct(input: Readonly<{
|
|
10
10
|
key: string;
|
|
11
11
|
productId: string;
|
|
12
|
+
productCategoryId?: string | null;
|
|
12
13
|
variantId?: string | null;
|
|
13
14
|
title: string;
|
|
14
15
|
variantTitle?: string | null;
|
|
@@ -36,6 +37,7 @@ export declare function useCommerceCart(siteId: string | undefined): {
|
|
|
36
37
|
addProduct: (input: Readonly<{
|
|
37
38
|
key: string;
|
|
38
39
|
productId: string;
|
|
40
|
+
productCategoryId?: string | null;
|
|
39
41
|
variantId?: string | null;
|
|
40
42
|
title: string;
|
|
41
43
|
variantTitle?: string | null;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { DiscountApplyRejectedReason, DiscountApplyResponse } from '../api/types';
|
|
2
|
+
import { type ManualDiscountCode } from './shop-checkout-form';
|
|
3
|
+
export type DiscountApplyClientRejectedReason = 'empty_code' | 'email_required';
|
|
4
|
+
export type DiscountApplyRejectedReasonWithClient = DiscountApplyClientRejectedReason | DiscountApplyRejectedReason;
|
|
5
|
+
export type AppliedDiscountCode = Extract<DiscountApplyResponse, {
|
|
6
|
+
type: 'applied';
|
|
7
|
+
}>;
|
|
8
|
+
export type DiscountApplyStatus = Readonly<{
|
|
9
|
+
type: 'idle';
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
type: 'applying';
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
type: 'applied';
|
|
14
|
+
discount: AppliedDiscountCode;
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
type: 'rejected';
|
|
17
|
+
reason: DiscountApplyRejectedReasonWithClient;
|
|
18
|
+
message: string;
|
|
19
|
+
}>;
|
|
20
|
+
export type DiscountApplyState = Readonly<{
|
|
21
|
+
isOpen: boolean;
|
|
22
|
+
draftCode: string;
|
|
23
|
+
status: DiscountApplyStatus;
|
|
24
|
+
}>;
|
|
25
|
+
export type DiscountApplyFeedback = Readonly<{
|
|
26
|
+
tone: 'success' | 'error' | 'info';
|
|
27
|
+
message: string;
|
|
28
|
+
}>;
|
|
29
|
+
export type DiscountApplyAction = Readonly<{
|
|
30
|
+
type: 'open';
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
type: 'draftChanged';
|
|
33
|
+
draftCode: string;
|
|
34
|
+
}> | Readonly<{
|
|
35
|
+
type: 'remove';
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
type: 'applyStarted';
|
|
38
|
+
}> | Readonly<{
|
|
39
|
+
type: 'applySucceeded';
|
|
40
|
+
discount: AppliedDiscountCode;
|
|
41
|
+
}> | Readonly<{
|
|
42
|
+
type: 'applyRejected';
|
|
43
|
+
reason: DiscountApplyRejectedReasonWithClient;
|
|
44
|
+
message: string;
|
|
45
|
+
}> | Readonly<{
|
|
46
|
+
type: 'resetApplied';
|
|
47
|
+
}>;
|
|
48
|
+
export declare const initialDiscountApplyState: DiscountApplyState;
|
|
49
|
+
export declare function discountApplyReducer(state: DiscountApplyState, action: DiscountApplyAction): DiscountApplyState;
|
|
50
|
+
export declare function getAppliedDiscountCode(state: DiscountApplyState): ManualDiscountCode | null;
|
|
51
|
+
export declare function isDiscountApplyInFlight(state: DiscountApplyState): boolean;
|
|
52
|
+
export declare function getDiscountApplyFeedback(status: DiscountApplyStatus, formatPrice: (cents: number, currency: string) => string): DiscountApplyFeedback | null;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import type { PublicMembershipProduct, PublicPassProduct } from '../../blocks/shop';
|
|
2
2
|
import type { ShopDuplicateMembershipWarning as DuplicateMembershipWarning } from '../api';
|
|
3
|
+
import type { ShopCheckoutForm } from './shop-checkout-form';
|
|
3
4
|
export type CheckoutReturnNotice = Readonly<{
|
|
4
5
|
kind: 'success';
|
|
5
6
|
}> | Readonly<{
|
|
6
7
|
kind: 'cancelled';
|
|
7
8
|
}> | null;
|
|
8
|
-
export type CheckoutForm =
|
|
9
|
-
email: string;
|
|
10
|
-
name: string;
|
|
11
|
-
}>;
|
|
9
|
+
export type CheckoutForm = ShopCheckoutForm;
|
|
12
10
|
export type CheckoutItem = Readonly<{
|
|
13
11
|
productType: 'pass';
|
|
14
12
|
product: PublicPassProduct;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BlockApiClient, DiscountApplyLine } from '../api';
|
|
2
|
+
import type { DiscountApplyAction, DiscountApplyState } from './shop-discount-apply.state';
|
|
3
|
+
export type DiscountApplyLinesPlan = Readonly<{
|
|
4
|
+
ok: true;
|
|
5
|
+
lines: DiscountApplyLine[];
|
|
6
|
+
}> | Readonly<{
|
|
7
|
+
ok: false;
|
|
8
|
+
}>;
|
|
9
|
+
export declare const DISCOUNT_APPLY_MESSAGES: {
|
|
10
|
+
readonly emptyCode: "Enter a discount code first.";
|
|
11
|
+
readonly emailRequired: "Enter your email before applying a code.";
|
|
12
|
+
readonly unavailable: "That code doesn't work for this checkout.";
|
|
13
|
+
readonly unknown: "We couldn't check that code. Try again.";
|
|
14
|
+
};
|
|
15
|
+
export declare function useDiscountApply(options: Readonly<{
|
|
16
|
+
api: BlockApiClient;
|
|
17
|
+
state: DiscountApplyState;
|
|
18
|
+
dispatch: (action: DiscountApplyAction) => void;
|
|
19
|
+
getCustomerEmail: () => string;
|
|
20
|
+
getLines: () => DiscountApplyLinesPlan;
|
|
21
|
+
}>): () => Promise<void>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
type BlockDiscountCodeSurface = 'course-registration' | 'event-registration';
|
|
3
|
+
export type DiscountCodeDisclosureSurface = BlockDiscountCodeSurface | 'theme-form';
|
|
4
|
+
export declare const BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES: {
|
|
5
|
+
readonly 'course-registration': {
|
|
6
|
+
readonly root: "cr-discount";
|
|
7
|
+
readonly toggle: "cr-discount__toggle";
|
|
8
|
+
readonly form: "cr-discount__form";
|
|
9
|
+
readonly label: "cr-discount__label";
|
|
10
|
+
readonly row: "cr-discount__row";
|
|
11
|
+
readonly input: "cr-discount__input";
|
|
12
|
+
readonly apply: "cr-discount__apply";
|
|
13
|
+
readonly remove: "cr-discount__remove";
|
|
14
|
+
readonly hint: "cr-discount__hint";
|
|
15
|
+
readonly feedback: "cr-discount__feedback";
|
|
16
|
+
};
|
|
17
|
+
readonly 'event-registration': {
|
|
18
|
+
readonly root: "er-discount";
|
|
19
|
+
readonly toggle: "er-discount__toggle";
|
|
20
|
+
readonly form: "er-discount__form";
|
|
21
|
+
readonly label: "er-discount__label";
|
|
22
|
+
readonly row: "er-discount__row";
|
|
23
|
+
readonly input: "er-discount__input";
|
|
24
|
+
readonly apply: "er-discount__apply";
|
|
25
|
+
readonly remove: "er-discount__remove";
|
|
26
|
+
readonly hint: "er-discount__hint";
|
|
27
|
+
readonly feedback: "er-discount__feedback";
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type DiscountCodeDisclosureProps = Readonly<{
|
|
31
|
+
surface: DiscountCodeDisclosureSurface;
|
|
32
|
+
isOpen: boolean;
|
|
33
|
+
code: string;
|
|
34
|
+
onOpen: () => void;
|
|
35
|
+
onChange: (next: string) => void;
|
|
36
|
+
onRemove: () => void;
|
|
37
|
+
onApply?: () => void;
|
|
38
|
+
id?: string;
|
|
39
|
+
toggleLabel?: string;
|
|
40
|
+
label?: string;
|
|
41
|
+
placeholder?: string;
|
|
42
|
+
applyLabel?: string;
|
|
43
|
+
removeLabel?: string;
|
|
44
|
+
hint?: string;
|
|
45
|
+
feedback?: Readonly<{
|
|
46
|
+
tone: 'success' | 'error' | 'info';
|
|
47
|
+
message: string;
|
|
48
|
+
}> | null;
|
|
49
|
+
isApplying?: boolean;
|
|
50
|
+
applyDisabled?: boolean;
|
|
51
|
+
disabled?: boolean;
|
|
52
|
+
}>;
|
|
53
|
+
export declare function DiscountCodeDisclosure({ surface, isOpen, code, onOpen, onChange, onRemove, onApply, id, toggleLabel, label, placeholder, applyLabel, removeLabel, hint, feedback, isApplying, applyDisabled, disabled, }: DiscountCodeDisclosureProps): React.JSX.Element;
|
|
54
|
+
export {};
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
export { CheckIcon } from './CheckIcon';
|
|
5
5
|
export { ClockIcon } from './ClockIcon';
|
|
6
6
|
export { CrossIcon } from './CrossIcon';
|
|
7
|
+
export { BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, } from './DiscountCodeDisclosure';
|
|
8
|
+
export type { DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, } from './DiscountCodeDisclosure';
|
|
7
9
|
export { ActionRow } from './ActionRow';
|
|
8
10
|
export type { ActionRowProps } from './ActionRow';
|
|
9
11
|
export { BookingOptionCompactRow } from './BookingOptionCompactRow';
|
|
@@ -8,5 +8,5 @@ export { DEFAULT_CURRENCY } from './types';
|
|
|
8
8
|
export { BOOK_TARGET_PARAMS, buildCheckoutReturnUrls, resolveDedicatedBookingHref, resolveDedicatedBookingPath, resolveDedicatedBookingTarget, formatPrice, scrollToBlock, consumeSearchParam, consumeSearchParams, validateFormData, getStepNumber, } from './utils';
|
|
9
9
|
export type { DedicatedBookingTarget, UniversalBookingRouteTarget, } from './utils';
|
|
10
10
|
export { createBodyThemePortalRoot } from './utils';
|
|
11
|
-
export { ActionRow, BookingOptionCompactRow, BookingOptionList, CheckIcon, ClockIcon, CrossIcon, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, StateIcon, StepIndicator, TerminalPanel, } from './components';
|
|
12
|
-
export type { ActionRowProps, BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionGroupViewModel, BookingOptionListProps, BookingOptionMetaItem, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
|
|
11
|
+
export { ActionRow, BookingOptionCompactRow, BookingOptionList, CheckIcon, ClockIcon, CrossIcon, BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, StateIcon, StepIndicator, TerminalPanel, } from './components';
|
|
12
|
+
export type { ActionRowProps, BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionGroupViewModel, BookingOptionListProps, BookingOptionMetaItem, DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
|
|
@@ -45,8 +45,8 @@ declare const twoColumnContainerClassOptionsSchema: z.ZodObject<{
|
|
|
45
45
|
export declare const twoColumnContainerClassTransform: TransformDefinition<z.infer<typeof twoColumnContainerClassOptionsSchema>>;
|
|
46
46
|
declare const twoColumnFlexBasisOptionsSchema: z.ZodObject<{
|
|
47
47
|
side: z.ZodEnum<{
|
|
48
|
-
image: "image";
|
|
49
48
|
text: "text";
|
|
49
|
+
image: "image";
|
|
50
50
|
}>;
|
|
51
51
|
}, z.core.$strip>;
|
|
52
52
|
export declare const twoColumnFlexBasisTransform: TransformDefinition<z.infer<typeof twoColumnFlexBasisOptionsSchema>>;
|
|
@@ -73,7 +73,7 @@ export declare const transformDefinitions: {
|
|
|
73
73
|
reverseClass: string;
|
|
74
74
|
}>;
|
|
75
75
|
readonly "ui.twoColumnFlexBasis": TransformDefinition<{
|
|
76
|
-
side: "
|
|
76
|
+
side: "text" | "image";
|
|
77
77
|
}>;
|
|
78
78
|
readonly "media.fromUrl": TransformDefinition<{
|
|
79
79
|
width?: number;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type ContentTypeEditorContentState = Readonly<{
|
|
2
|
+
deleteDialogOpen: boolean;
|
|
3
|
+
deletePending: boolean;
|
|
4
|
+
seoDisclosure: Readonly<{
|
|
5
|
+
open: boolean;
|
|
6
|
+
lastIssueCount: number;
|
|
7
|
+
}>;
|
|
8
|
+
}>;
|
|
9
|
+
export type ContentTypeEditorContentAction = Readonly<{
|
|
10
|
+
type: 'delete-dialog-opened';
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
type: 'delete-dialog-closed';
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
type: 'delete-started';
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
type: 'delete-finished';
|
|
17
|
+
}> | Readonly<{
|
|
18
|
+
type: 'seo-open-changed';
|
|
19
|
+
open: boolean;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
type: 'seo-validation-state-changed';
|
|
22
|
+
issueCount: number;
|
|
23
|
+
hasMetadataError: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function createInitialContentTypeEditorContentState(): ContentTypeEditorContentState;
|
|
26
|
+
export declare function contentTypeEditorContentReducer(state: ContentTypeEditorContentState, action: ContentTypeEditorContentAction): ContentTypeEditorContentState;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { ContentEntryDetail, ContentTypeKey } from '../../../api/src/content-editor';
|
|
2
|
+
import type { ContentEntryDefinition, ContentEntrySnapshot, ContentLifecycleStatus, ContentTypeSchema, RoutingHelpers } from '../../../content-model/src/index';
|
|
3
|
+
export type SnapshotDefaults = {
|
|
4
|
+
title: string;
|
|
5
|
+
slug?: string | null;
|
|
6
|
+
};
|
|
7
|
+
export type ContentEntryDefinitionPlan<TResponse, TSnapshot extends ContentEntrySnapshot> = Readonly<{
|
|
8
|
+
type: ContentTypeKey;
|
|
9
|
+
title: string;
|
|
10
|
+
kind: 'content' | 'page';
|
|
11
|
+
routing: RoutingHelpers;
|
|
12
|
+
hasRoute: boolean;
|
|
13
|
+
snapshotFromResponse: (response: TResponse) => TSnapshot;
|
|
14
|
+
getRouteId?: (response: TResponse) => string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
type BaseFactoryOptions<TResponse> = {
|
|
17
|
+
typeKey: ContentTypeKey;
|
|
18
|
+
schema: ContentTypeSchema;
|
|
19
|
+
entityLabel: string;
|
|
20
|
+
getRouteId?: (response: TResponse) => string | undefined;
|
|
21
|
+
};
|
|
22
|
+
export type ContentEntriesDefinitionPlanOptions<TContent> = BaseFactoryOptions<ContentEntryDetail<TContent>>;
|
|
23
|
+
export type PagesDefinitionPlanOptions = BaseFactoryOptions<PageRecordLike>;
|
|
24
|
+
type PageRecordLike = {
|
|
25
|
+
id: string;
|
|
26
|
+
draftTitle?: string | null;
|
|
27
|
+
draftPath?: string | null;
|
|
28
|
+
draftStatus?: string | null;
|
|
29
|
+
title?: string | null;
|
|
30
|
+
path?: string | null;
|
|
31
|
+
status?: string | null;
|
|
32
|
+
publishedAt?: string | null;
|
|
33
|
+
scheduledPublishAt?: string | null;
|
|
34
|
+
scheduledPublishFailedAt?: string | null;
|
|
35
|
+
scheduledPublishLastError?: string | null;
|
|
36
|
+
draftMetaTitle?: string | null;
|
|
37
|
+
draftMetaDescription?: string | null;
|
|
38
|
+
publishedMetaTitle?: string | null;
|
|
39
|
+
publishedMetaDescription?: string | null;
|
|
40
|
+
ogImageId?: string | null;
|
|
41
|
+
};
|
|
42
|
+
type ContentEntryLikeForSnapshot = {
|
|
43
|
+
entry: {
|
|
44
|
+
id: string;
|
|
45
|
+
};
|
|
46
|
+
route: {
|
|
47
|
+
draftTitle?: string | null;
|
|
48
|
+
draftPath?: string | null;
|
|
49
|
+
draftSlug?: string | null;
|
|
50
|
+
draftStatus?: string | null;
|
|
51
|
+
publishedTitle?: string | null;
|
|
52
|
+
publishedPath?: string | null;
|
|
53
|
+
publishedSlug?: string | null;
|
|
54
|
+
status?: string | null;
|
|
55
|
+
publishedAt?: string | null;
|
|
56
|
+
scheduledPublishAt?: string | null;
|
|
57
|
+
draftMetaTitle?: string | null;
|
|
58
|
+
draftMetaDescription?: string | null;
|
|
59
|
+
publishedMetaTitle?: string | null;
|
|
60
|
+
publishedMetaDescription?: string | null;
|
|
61
|
+
ogImageId?: string | null;
|
|
62
|
+
} | null;
|
|
63
|
+
draftContent?: Record<string, unknown> | null;
|
|
64
|
+
publishedContent?: Record<string, unknown> | null;
|
|
65
|
+
};
|
|
66
|
+
export declare function getDefaultEntityLabel(name?: string | null): string;
|
|
67
|
+
export declare function createSnapshotDefaults(entityLabel: string, slugSeed?: string | null): SnapshotDefaults;
|
|
68
|
+
export declare function asContentEntrySnapshotSource<TContent>(detail: ContentEntryDetail<TContent>): ContentEntryLikeForSnapshot;
|
|
69
|
+
export declare function createContentEntriesDefinitionPlan<TContent>(options: ContentEntriesDefinitionPlanOptions<TContent>): ContentEntryDefinitionPlan<ContentEntryDetail<TContent>, ContentEntrySnapshot<ContentLifecycleStatus>>;
|
|
70
|
+
export declare function createPagesDefinitionPlan(options: PagesDefinitionPlanOptions): ContentEntryDefinitionPlan<PageRecordLike, ContentEntrySnapshot<'draft' | 'scheduled' | 'published'>>;
|
|
71
|
+
export type PageEntrySnapshot = ContentEntrySnapshot<'draft' | 'scheduled' | 'published'>;
|
|
72
|
+
export declare function createPageSnapshot(record: PageRecordLike, schema: ContentTypeSchema): PageEntrySnapshot;
|
|
73
|
+
export declare function mapPageRecordToSnapshot(record: PageRecordLike, schema: ContentTypeSchema): PageEntrySnapshot;
|
|
74
|
+
export type DefinitionServices<TEntry extends ContentEntrySnapshot, TMetadataPayload extends Record<string, unknown>, TPublishPayload, TMetadataResponse extends Record<string, unknown> = Record<string, unknown>> = ContentEntryDefinition<TEntry, Record<string, unknown>, TMetadataPayload, TPublishPayload, TMetadataResponse>['services'];
|
|
75
|
+
export {};
|