@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
|
@@ -6,6 +6,24 @@ var TEMPLATE_BINDING_TRANSFORMS = {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// ../content-model/src/templates/bindingTypeCompatibility.ts
|
|
9
|
+
var SCALAR_BLOCK_FIELD_TYPES = [
|
|
10
|
+
"text",
|
|
11
|
+
"number",
|
|
12
|
+
"slug",
|
|
13
|
+
"url",
|
|
14
|
+
"richText",
|
|
15
|
+
"media",
|
|
16
|
+
"file",
|
|
17
|
+
"boolean",
|
|
18
|
+
"select",
|
|
19
|
+
"reference",
|
|
20
|
+
"link",
|
|
21
|
+
"date",
|
|
22
|
+
"datetime"
|
|
23
|
+
];
|
|
24
|
+
function isScalarBlockFieldType(type) {
|
|
25
|
+
return SCALAR_BLOCK_FIELD_TYPES.includes(type);
|
|
26
|
+
}
|
|
9
27
|
var CONTENT_TO_BLOCK_COMPATIBILITY = {
|
|
10
28
|
// Simple text fields
|
|
11
29
|
text: ["text", "slug", "url"],
|
|
@@ -36,7 +54,7 @@ var CONTENT_TO_BLOCK_COMPATIBILITY = {
|
|
|
36
54
|
// Group fields (nested structure - not directly bindable)
|
|
37
55
|
group: [],
|
|
38
56
|
// Repeater fields (list structure - not directly bindable)
|
|
39
|
-
repeater: [],
|
|
57
|
+
repeater: ["repeater"],
|
|
40
58
|
// Datetime fields can map to datetime/date inputs or text display fields.
|
|
41
59
|
datetime: ["datetime", "date", "text"]
|
|
42
60
|
};
|
|
@@ -80,6 +98,9 @@ var NESTED_PATH_COMPATIBILITY = {
|
|
|
80
98
|
"file.filename": ["text"]
|
|
81
99
|
};
|
|
82
100
|
function isCompatibleBinding(sourceType, targetType) {
|
|
101
|
+
if (targetType === "repeater") {
|
|
102
|
+
return sourceType === "repeater";
|
|
103
|
+
}
|
|
83
104
|
const compatibleTypes = CONTENT_TO_BLOCK_COMPATIBILITY[sourceType];
|
|
84
105
|
if (compatibleTypes) {
|
|
85
106
|
return compatibleTypes.includes(targetType);
|
|
@@ -87,11 +108,13 @@ function isCompatibleBinding(sourceType, targetType) {
|
|
|
87
108
|
return false;
|
|
88
109
|
}
|
|
89
110
|
function isCompatibleMetaBinding(metaFieldName, targetType) {
|
|
111
|
+
if (targetType === "repeater") return false;
|
|
90
112
|
if (!isMetaFieldPath(metaFieldName)) return false;
|
|
91
113
|
const compatibleTypes = META_FIELD_COMPATIBILITY[metaFieldName];
|
|
92
114
|
return compatibleTypes.includes(targetType);
|
|
93
115
|
}
|
|
94
116
|
function isCompatibleNestedPath(parentType, nestedSuffix, targetType) {
|
|
117
|
+
if (targetType === "repeater") return false;
|
|
95
118
|
const pathKey = `${parentType}.${nestedSuffix}`;
|
|
96
119
|
const compatibleTypes = NESTED_PATH_COMPATIBILITY[pathKey];
|
|
97
120
|
if (compatibleTypes) {
|
|
@@ -223,10 +246,76 @@ function nestedFields(field) {
|
|
|
223
246
|
const record = field;
|
|
224
247
|
return record.fields ?? record.schema?.fields ?? [];
|
|
225
248
|
}
|
|
226
|
-
function
|
|
249
|
+
function getFieldDescriptorFromPath(schema, path) {
|
|
227
250
|
const paths = getAvailableFieldPaths(schema);
|
|
228
251
|
const match = paths.find((p) => p.path === path);
|
|
229
|
-
return match
|
|
252
|
+
if (match) return { kind: "scalar", type: match.type };
|
|
253
|
+
const field = findContentFieldByPath(schema.fields ?? [], path.split("."));
|
|
254
|
+
if (!field || field.type !== "repeater") return null;
|
|
255
|
+
return {
|
|
256
|
+
kind: "repeater",
|
|
257
|
+
shape: buildRepeaterFieldShape(field)
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
function findContentFieldByPath(fields, segments) {
|
|
261
|
+
if (segments.length === 0) return null;
|
|
262
|
+
const [head, ...tail] = segments;
|
|
263
|
+
const field = fields.find((candidate) => candidate.id === head);
|
|
264
|
+
if (!field) return null;
|
|
265
|
+
if (tail.length === 0) return field;
|
|
266
|
+
if (field.type !== "group") return null;
|
|
267
|
+
return findContentFieldByPath(nestedFields(field), tail);
|
|
268
|
+
}
|
|
269
|
+
function buildRepeaterFieldShape(field) {
|
|
270
|
+
const record = field;
|
|
271
|
+
if (record.polymorphic || record.itemTypes) {
|
|
272
|
+
return { kind: "unsupported", reason: "polymorphic_unsupported" };
|
|
273
|
+
}
|
|
274
|
+
const fields = nestedFields(field);
|
|
275
|
+
if (fields.length === 0) {
|
|
276
|
+
return { kind: "unsupported", reason: "missing_item_schema" };
|
|
277
|
+
}
|
|
278
|
+
const itemFields = [];
|
|
279
|
+
for (const child of fields) {
|
|
280
|
+
if (child.type === "repeater") {
|
|
281
|
+
return { kind: "unsupported", reason: "nested_repeater_unsupported" };
|
|
282
|
+
}
|
|
283
|
+
if (!isRepeaterItemScalarType(child.type)) {
|
|
284
|
+
return { kind: "unsupported", reason: "unsupported_item_field" };
|
|
285
|
+
}
|
|
286
|
+
itemFields.push({
|
|
287
|
+
id: child.id,
|
|
288
|
+
type: child.type,
|
|
289
|
+
required: Boolean(child.required)
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
return { kind: "supported", itemFields };
|
|
293
|
+
}
|
|
294
|
+
function isRepeaterItemScalarType(type) {
|
|
295
|
+
switch (type) {
|
|
296
|
+
case "text":
|
|
297
|
+
case "textarea":
|
|
298
|
+
case "richText":
|
|
299
|
+
case "number":
|
|
300
|
+
case "date":
|
|
301
|
+
case "url":
|
|
302
|
+
case "media":
|
|
303
|
+
case "file":
|
|
304
|
+
case "boolean":
|
|
305
|
+
case "select":
|
|
306
|
+
case "reference":
|
|
307
|
+
case "link":
|
|
308
|
+
case "button":
|
|
309
|
+
case "datetime":
|
|
310
|
+
return true;
|
|
311
|
+
case "group":
|
|
312
|
+
case "repeater":
|
|
313
|
+
return false;
|
|
314
|
+
default: {
|
|
315
|
+
const _exhaustive = type;
|
|
316
|
+
return _exhaustive;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
230
319
|
}
|
|
231
320
|
|
|
232
321
|
// ../content-model/src/templates/bindingValidation.ts
|
|
@@ -247,9 +336,6 @@ var TRANSFORM_IO = {
|
|
|
247
336
|
function getTransformIO(name) {
|
|
248
337
|
return name in TRANSFORM_IO ? TRANSFORM_IO[name] : void 0;
|
|
249
338
|
}
|
|
250
|
-
function resolveContentPathType(schema, path) {
|
|
251
|
-
return getFieldTypeFromPath(schema, path);
|
|
252
|
-
}
|
|
253
339
|
function resolveMetaPathType(path) {
|
|
254
340
|
return resolveMetaFieldType(path);
|
|
255
341
|
}
|
|
@@ -276,8 +362,8 @@ function isSourceCompatibleWithTarget(sourceType, targetType) {
|
|
|
276
362
|
return isCompatibleBinding(sourceType, targetType);
|
|
277
363
|
}
|
|
278
364
|
function resolveFieldSource(path, context) {
|
|
279
|
-
const
|
|
280
|
-
if (
|
|
365
|
+
const descriptor = getFieldDescriptorFromPath(context.schema, path);
|
|
366
|
+
if (descriptor === null) {
|
|
281
367
|
return {
|
|
282
368
|
kind: "invalidPath",
|
|
283
369
|
error: {
|
|
@@ -288,7 +374,10 @@ function resolveFieldSource(path, context) {
|
|
|
288
374
|
}
|
|
289
375
|
};
|
|
290
376
|
}
|
|
291
|
-
|
|
377
|
+
if (descriptor.kind === "repeater") {
|
|
378
|
+
return { kind: "ok", type: "repeater", path, shape: descriptor.shape };
|
|
379
|
+
}
|
|
380
|
+
return { kind: "ok", type: descriptor.type, path };
|
|
292
381
|
}
|
|
293
382
|
function resolveMetaSource(path, context) {
|
|
294
383
|
const type = resolveMetaPathType(path);
|
|
@@ -318,6 +407,21 @@ function checkDirectCompatibility(resolved, context, isMetaSource) {
|
|
|
318
407
|
via: "direct"
|
|
319
408
|
};
|
|
320
409
|
}
|
|
410
|
+
if (context.target.type === "repeater") {
|
|
411
|
+
const mismatch = checkRepeaterCompatibility(resolved, context);
|
|
412
|
+
return mismatch;
|
|
413
|
+
}
|
|
414
|
+
if (resolved.type === "repeater") {
|
|
415
|
+
return {
|
|
416
|
+
kind: "typeIncompatible",
|
|
417
|
+
blockIdentifier: context.blockIdentifier,
|
|
418
|
+
fieldKey: context.fieldKey,
|
|
419
|
+
sourceType: describeResolvedSourceType(resolved),
|
|
420
|
+
sourcePath: resolved.path,
|
|
421
|
+
targetType: context.target.type,
|
|
422
|
+
via: "direct"
|
|
423
|
+
};
|
|
424
|
+
}
|
|
321
425
|
if (isSourceCompatibleWithTarget(resolved.type, context.target.type)) return null;
|
|
322
426
|
return {
|
|
323
427
|
kind: "typeIncompatible",
|
|
@@ -329,6 +433,51 @@ function checkDirectCompatibility(resolved, context, isMetaSource) {
|
|
|
329
433
|
via: "direct"
|
|
330
434
|
};
|
|
331
435
|
}
|
|
436
|
+
function describeResolvedSourceType(resolved) {
|
|
437
|
+
if (resolved.type !== "repeater") return resolved.type;
|
|
438
|
+
return resolved.shape?.kind === "unsupported" ? `repeater(${resolved.shape.reason})` : "repeater";
|
|
439
|
+
}
|
|
440
|
+
function describeTargetType(target) {
|
|
441
|
+
return target.type;
|
|
442
|
+
}
|
|
443
|
+
function checkRepeaterCompatibility(resolved, context) {
|
|
444
|
+
if (context.target.type !== "repeater") return null;
|
|
445
|
+
const incompatible = (sourceType) => ({
|
|
446
|
+
kind: "typeIncompatible",
|
|
447
|
+
blockIdentifier: context.blockIdentifier,
|
|
448
|
+
fieldKey: context.fieldKey,
|
|
449
|
+
sourceType,
|
|
450
|
+
sourcePath: resolved.path,
|
|
451
|
+
targetType: describeTargetType(context.target),
|
|
452
|
+
via: "direct"
|
|
453
|
+
});
|
|
454
|
+
if (resolved.type !== "repeater" || !resolved.shape) {
|
|
455
|
+
return incompatible(describeResolvedSourceType(resolved));
|
|
456
|
+
}
|
|
457
|
+
const sourceShape = resolved.shape;
|
|
458
|
+
const targetShape = context.target.shape;
|
|
459
|
+
if (sourceShape.kind === "unsupported") {
|
|
460
|
+
return incompatible(`repeater(${sourceShape.reason})`);
|
|
461
|
+
}
|
|
462
|
+
if (targetShape.kind === "unsupported") {
|
|
463
|
+
return incompatible(`target-repeater(${targetShape.reason})`);
|
|
464
|
+
}
|
|
465
|
+
const sourceById = new Map(sourceShape.itemFields.map((field) => [field.id, field]));
|
|
466
|
+
for (const targetField of targetShape.itemFields) {
|
|
467
|
+
const sourceField = sourceById.get(targetField.id);
|
|
468
|
+
if (!sourceField) {
|
|
469
|
+
if (targetField.required) return incompatible("repeater(missing_required_target_field)");
|
|
470
|
+
continue;
|
|
471
|
+
}
|
|
472
|
+
if (targetField.required && !sourceField.required) {
|
|
473
|
+
return incompatible("repeater(requiredness_mismatch)");
|
|
474
|
+
}
|
|
475
|
+
if (!isScalarBlockFieldType(targetField.type) || !isSourceCompatibleWithTarget(sourceField.type, targetField.type)) {
|
|
476
|
+
return incompatible(`repeater(type_mismatch:${sourceField.id})`);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
return null;
|
|
480
|
+
}
|
|
332
481
|
function validateBinding(binding, context) {
|
|
333
482
|
if (typeof binding === "string") {
|
|
334
483
|
const resolved = resolveFieldSource(binding, context);
|
|
@@ -464,10 +613,13 @@ function validateTransform(binding, context) {
|
|
|
464
613
|
}
|
|
465
614
|
return errors;
|
|
466
615
|
}
|
|
616
|
+
function isTemplateBindingValueArray(value) {
|
|
617
|
+
return Array.isArray(value);
|
|
618
|
+
}
|
|
467
619
|
function readFallbackOptions(binding) {
|
|
468
|
-
if (
|
|
620
|
+
if (isTemplateBindingValueArray(binding.options)) return binding.options;
|
|
469
621
|
const legacy = binding.sources;
|
|
470
|
-
return
|
|
622
|
+
return isTemplateBindingValueArray(legacy) ? legacy : [];
|
|
471
623
|
}
|
|
472
624
|
function resolveTransformInput(binding) {
|
|
473
625
|
if (binding.input !== void 0) {
|
|
@@ -592,9 +744,8 @@ var FIELD_TYPE_CLASSIFICATION = {
|
|
|
592
744
|
group: "composite",
|
|
593
745
|
modal: "composite",
|
|
594
746
|
tabGroup: "composite",
|
|
595
|
-
//
|
|
596
|
-
|
|
597
|
-
repeater: "opaque",
|
|
747
|
+
// Whole-field containers.
|
|
748
|
+
repeater: "whole",
|
|
598
749
|
// Opaque types — dashboard-only widgets without an underlying bindable leaf.
|
|
599
750
|
presetOrCustom: "opaque",
|
|
600
751
|
contentTypeSelect: "opaque",
|
|
@@ -620,6 +771,15 @@ function collectLeaves(fields, prefix, out) {
|
|
|
620
771
|
});
|
|
621
772
|
continue;
|
|
622
773
|
}
|
|
774
|
+
if (cls === "whole") {
|
|
775
|
+
out.push({
|
|
776
|
+
id,
|
|
777
|
+
type: "repeater",
|
|
778
|
+
required: Boolean(field.required),
|
|
779
|
+
shape: buildManifestRepeaterShape(field)
|
|
780
|
+
});
|
|
781
|
+
continue;
|
|
782
|
+
}
|
|
623
783
|
if (cls === "composite") {
|
|
624
784
|
const groupChildren = field.schema?.fields;
|
|
625
785
|
if (groupChildren) collectLeaves(groupChildren, id, out);
|
|
@@ -630,6 +790,31 @@ function collectLeaves(fields, prefix, out) {
|
|
|
630
790
|
void leafToBlockFieldType;
|
|
631
791
|
}
|
|
632
792
|
}
|
|
793
|
+
function buildManifestRepeaterShape(field) {
|
|
794
|
+
if (field.polymorphic || field.itemTypes) {
|
|
795
|
+
return { kind: "unsupported", reason: "polymorphic_unsupported" };
|
|
796
|
+
}
|
|
797
|
+
const fields = field.repeatedItem?.fields ?? field.schema?.fields;
|
|
798
|
+
if (!fields || fields.length === 0) {
|
|
799
|
+
return { kind: "unsupported", reason: "missing_item_schema" };
|
|
800
|
+
}
|
|
801
|
+
const itemFields = [];
|
|
802
|
+
for (const child of fields) {
|
|
803
|
+
if (child.type === "repeater") {
|
|
804
|
+
return { kind: "unsupported", reason: "nested_repeater_unsupported" };
|
|
805
|
+
}
|
|
806
|
+
const type = leafToBlockFieldType(child.type);
|
|
807
|
+
if (!type) {
|
|
808
|
+
return { kind: "unsupported", reason: "unsupported_item_field" };
|
|
809
|
+
}
|
|
810
|
+
itemFields.push({
|
|
811
|
+
id: child.id,
|
|
812
|
+
type,
|
|
813
|
+
required: Boolean(child.required)
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
return { kind: "supported", itemFields };
|
|
817
|
+
}
|
|
633
818
|
function manifestToValidationShape(manifest) {
|
|
634
819
|
const fields = [];
|
|
635
820
|
collectLeaves(manifest.fields, "", fields);
|
|
@@ -637,6 +822,9 @@ function manifestToValidationShape(manifest) {
|
|
|
637
822
|
}
|
|
638
823
|
|
|
639
824
|
// src/config/template-validation.ts
|
|
825
|
+
function assertNeverField(field) {
|
|
826
|
+
throw new Error(`Unhandled field type while reading nested SDK fields: ${JSON.stringify(field)}`);
|
|
827
|
+
}
|
|
640
828
|
function toContentTypeSchema(fields) {
|
|
641
829
|
return {
|
|
642
830
|
version: 1,
|
|
@@ -662,8 +850,26 @@ function nestedSdkFields(field) {
|
|
|
662
850
|
return field.schema?.fields;
|
|
663
851
|
case "tabGroup":
|
|
664
852
|
return field.tabs.flatMap((tab) => tab.fields);
|
|
665
|
-
|
|
853
|
+
case "text":
|
|
854
|
+
case "richText":
|
|
855
|
+
case "media":
|
|
856
|
+
case "file":
|
|
857
|
+
case "boolean":
|
|
858
|
+
case "number":
|
|
859
|
+
case "date":
|
|
860
|
+
case "time":
|
|
861
|
+
case "datetime":
|
|
862
|
+
case "slug":
|
|
863
|
+
case "url":
|
|
864
|
+
case "link":
|
|
865
|
+
case "select":
|
|
866
|
+
case "reference":
|
|
867
|
+
case "presetOrCustom":
|
|
868
|
+
case "contentTypeSelect":
|
|
869
|
+
case "entryPicker":
|
|
666
870
|
return void 0;
|
|
871
|
+
default:
|
|
872
|
+
return assertNeverField(field);
|
|
667
873
|
}
|
|
668
874
|
}
|
|
669
875
|
function toContentFieldType(type) {
|