@riverbankcms/sdk 0.129.1 → 0.130.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/CHANGELOG.md +85 -0
- package/README.md +33 -11
- package/dist/{PreviewEditorSidebar-DceRseRV.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +327 -250
- package/dist/{PreviewEditorUI-BNunq3kk.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
- package/dist/{PreviewQueryProvider-B1kbhaJD.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Bt87-62u.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +235 -211
- package/dist/{SiteChromeCustomizeContext-BLl-OlL4.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +12981 -11912
- package/dist/_dts/ai/src/contracts/proposalPrimitives.d.ts +52 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +5256 -29129
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +33429 -0
- package/dist/_dts/api/src/accountApi.d.ts +213 -0
- package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
- package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
- package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +21 -9
- package/dist/_dts/api/src/bookingConfig.d.ts +12 -64
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +17 -16
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
- package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
- package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +1355 -1318
- package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
- package/dist/_dts/api/src/eventManagementContracts.d.ts +152 -0
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
- package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
- package/dist/_dts/api/src/index.d.ts +12 -3
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
- package/dist/_dts/api/src/oauth.d.ts +8 -0
- package/dist/_dts/api/src/preview-auth.d.ts +26 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +22 -47
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
- package/dist/_dts/api/src/sdk-event-schedule.d.ts +5 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +114 -20
- package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +43 -79
- package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +35 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +2256 -302
- package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
- package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
- package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
- package/dist/_dts/api/src/siteOperations.d.ts +1 -1
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +17 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +23 -37
- package/dist/_dts/api/src/types.d.ts +7 -59
- package/dist/_dts/block-form/src/client/index.d.ts +15 -23
- package/dist/_dts/block-form/src/index.d.ts +23 -22
- package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +6 -8
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -14
- package/dist/_dts/blocks/src/index.d.ts +5 -3
- package/dist/_dts/blocks/src/lib/media.d.ts +9 -539
- package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +142 -120
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +37 -4
- package/dist/_dts/blocks/src/system/blocks/site-footer-nav-groups-layout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +5 -5
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +9 -9
- package/dist/_dts/blocks/src/system/customize/serializeBackgroundOverride.d.ts +3 -0
- package/dist/_dts/blocks/src/system/fields/background.d.ts +2 -20
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +17 -0
- package/dist/_dts/blocks/src/system/fields/backgroundContentAudit.d.ts +20 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +18 -34
- package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
- package/dist/_dts/blocks/src/system/fragments/builder.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/helpers/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +10 -45
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +7 -4
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/writeCanonicalization.d.ts +4 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +123 -55
- package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
- package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
- package/dist/_dts/blocks/src/system/registry.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +2 -37
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +61 -24
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +30 -12
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/header/headerScrollRuntime.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/header/runtimeContract.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.frame.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.pass-contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +7 -1
- package/dist/_dts/blocks/src/system/transforms/registry/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +29 -1
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +4 -1
- package/dist/_dts/blocks/src/system/transforms/registry/headerRuntime.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -40
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +41 -43
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +4 -2
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +2 -17
- package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +5 -0
- package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
- package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +21 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +11 -1
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +26 -0
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
- package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +2 -2
- package/dist/_dts/core/src/booking-time-zone.d.ts +6 -0
- package/dist/_dts/core/src/branded.d.ts +4 -0
- package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
- package/dist/_dts/core/src/footer-composition-types.d.ts +4 -4
- package/dist/_dts/core/src/footer-navigation-layout.d.ts +4 -0
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
- package/dist/_dts/core/src/secret.d.ts +44 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +379 -18
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/FooterSidebarDisclosure.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +15 -17
- package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +7 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +12 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeSelectionRows.d.ts +53 -0
- package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/siteStyleAccess.d.ts +1 -6
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +6 -15
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -6
- package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
- package/dist/_dts/preview-next/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
- package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
- package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -0
- package/dist/_dts/sdk/src/config/validation.d.ts +2 -0
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +64 -79
- package/dist/_dts/sdk/src/next/catch-all-theme-admission.d.ts +23 -0
- package/dist/_dts/sdk/src/next/index.d.ts +8 -6
- package/dist/_dts/sdk/src/next/resolveTheme.d.ts +1 -2
- package/dist/_dts/sdk/src/next/types.d.ts +10 -0
- package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -16
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +4 -3
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +5 -3
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +15 -2
- package/dist/_dts/sdk/src/rendering/server.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/themeAdmission.d.ts +11 -0
- package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blockOverrides.d.ts +1 -1
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +184 -0
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +96 -0
- package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +78 -0
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +9 -57
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +6 -3
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +8 -7
- package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +12 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +5 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +51 -4
- package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
- package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
- package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
- package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
- package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
- package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
- package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
- package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
- package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
- package/dist/_dts/theme-core/src/lib/media.d.ts +583 -10
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +5085 -1524
- package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +5300 -2019
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
- package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
- package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +6 -14
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +29 -102
- package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +3 -76
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -7
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipelineHelpers.d.ts +17 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +281 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutResolution.d.ts +13 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/{headerLookTypes.d.ts → headerLayoutTypes.d.ts} +18 -90
- package/dist/_dts/theme-core/src/site-styles/headerNavStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +7 -11
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -4
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/imageSurfaceBackground.d.ts +14 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -41
- package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +32 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -68
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
- package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
- package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
- package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
- package/dist/client/{CourseRegistrationWizard-xRmA7REV.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
- package/dist/client/{DiscountCodeDisclosure-B9vriL5C.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
- package/dist/client/{EventCombined.client-BgVnVTlz.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
- package/dist/client/{EventListing.client-CqdsO7jO.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
- package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
- package/dist/client/{LeafletStaticMap-CKPxot9M.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
- package/dist/client/{StepIndicator-DGCYuBJ1.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
- package/dist/client/{accordion-BfN5Eqd-.mjs → accordion-_boYwHHi.mjs} +1 -1
- package/dist/client/{bookingForm-DOvCpBFP.mjs → bookingForm--AqEfyBX.mjs} +56 -39
- package/dist/client/bookings.mjs +1348 -1157
- package/dist/client/{carousel-DPNmiH0f.mjs → carousel-CVI2dqZr.mjs} +2 -2
- package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
- package/dist/client/{cart--egVXlrR.mjs → cart-DR6IiPz9.mjs} +3 -3
- package/dist/client/{checkout-DywWtMcq.mjs → checkout-CsrGAfQt.mjs} +3 -3
- package/dist/client/client.mjs +20935 -19889
- package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
- package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
- package/dist/client/{courseRegistration-Dk9qFVwt.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
- package/dist/client/{eventCalendar-Bkz2HjlS.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
- package/dist/client/{eventCombined-D4kipYWg.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
- package/dist/client/{eventDetails-Dz_5ix2Q.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
- package/dist/client/{eventListing-D0vm-zST.mjs → eventListing-DuP1yhBS.mjs} +3 -3
- package/dist/client/{eventRegistration-Cw1E4Q4p.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
- package/dist/client/{form-C2Zf1n3K.mjs → form-BA4t3kKU.mjs} +4 -4
- package/dist/client/{headerSection-CP05gzdc.mjs → headerSection-CpNaJxhW.mjs} +151 -104
- package/dist/client/hooks.mjs +6328 -6104
- package/dist/client/{locationMap-Cl3x9PYJ.mjs → locationMap-3HGMCL7_.mjs} +3 -3
- package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
- package/dist/client/{newsletterForm-DyEJoClm.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
- package/dist/client/{pricing-DGuNR1W4.mjs → pricing-BiqIMgZk.mjs} +1 -1
- package/dist/client/{productDetail-Cq-HrGew.mjs → productDetail-C9joWhdE.mjs} +3 -3
- package/dist/client/{productList-DbB3jwqd.mjs → productList-CjzdU3pB.mjs} +3 -3
- package/dist/client/{propsDecoder-CiTuhUwY.mjs → propsDecoder-CBPGXEYX.mjs} +2480 -2478
- package/dist/client/rendering/client.mjs +5371 -6741
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +18616 -17447
- package/dist/client/{scrollToBlock-CShkRqab.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
- package/dist/client/{shop-Cu4Ib-ZA.mjs → shop-CQRai7hj.mjs} +36 -25
- package/dist/client/{shop-commerce-BzpsOdh7.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
- package/dist/client/{shop-commerce-store-DaE7Fhj8.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
- package/dist/client/{shopShared-cF0c20vB.mjs → shopShared-DP8DXTkF.mjs} +12 -6
- package/dist/client/{useEventFilters-QZ3HMgaJ.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
- package/dist/client/{usePolling-BKf0GcE-.mjs → usePolling-Cls91SD2.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +202 -129
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +7406 -29
- package/dist/preview-next/middleware.mjs +196 -128
- package/dist/{previewAuthStore-BesgU5Xu.mjs → previewAuthStore-CX1C_KJ4.mjs} +195 -128
- package/dist/{sdk-runtime-C20CVWbb.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
- package/dist/{separator-BE3NCquy.mjs → separator-BXlYN_gr.mjs} +1 -1
- package/dist/server/components.mjs +22644 -21375
- package/dist/server/config-validation.mjs +6507 -6309
- package/dist/server/config.mjs +6511 -6313
- package/dist/server/data.mjs +6311 -6104
- package/dist/server/date-time.mjs +22 -13
- package/dist/server/index.mjs +196 -129
- package/dist/server/next.mjs +22782 -21578
- package/dist/server/page-converter.mjs +4769 -6213
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +20525 -20291
- package/dist/server/rendering.mjs +22677 -21389
- package/dist/server/routing.mjs +6651 -5398
- package/dist/server/server.mjs +6389 -6256
- package/dist/server/theme-bridge.mjs +2251 -2465
- package/dist/server/theme.mjs +974 -642
- package/dist/styles/index.css +317 -337
- package/package.json +3 -2
- package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
- package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
- package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +0 -66
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyleCatalog.d.ts +0 -254
- package/dist/_dts/theme-core/src/site-styles/headerLegacyLooks.d.ts +0 -372
- package/dist/_dts/theme-core/src/site-styles/headerLookBranding.d.ts +0 -106
- package/dist/_dts/theme-core/src/site-styles/headerLookSelection.d.ts +0 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +0 -7
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompilerPrimitives.d.ts +0 -23
- package/dist/client/clsx-DgIEfj3H.mjs +0 -16
|
@@ -102,7 +102,7 @@ export type PageContentResult = {
|
|
|
102
102
|
page: PageProps['page'];
|
|
103
103
|
runtimeBoundaries?: PageProps['runtimeBoundaries'];
|
|
104
104
|
/** Site theme for styling */
|
|
105
|
-
theme: Theme;
|
|
105
|
+
theme: Theme | null;
|
|
106
106
|
/** Site ID */
|
|
107
107
|
siteId: string;
|
|
108
108
|
/** Declarative custom blocks stored in DB (if any) */
|
|
@@ -151,7 +151,7 @@ export type EntryContentResult = {
|
|
|
151
151
|
contentEntry: Record<string, unknown>;
|
|
152
152
|
};
|
|
153
153
|
/** Site theme for styling (useful if rendering with SDK components) */
|
|
154
|
-
theme: Theme;
|
|
154
|
+
theme: Theme | null;
|
|
155
155
|
/** Site ID */
|
|
156
156
|
siteId: string;
|
|
157
157
|
/** Declarative custom blocks stored in DB (if any) */
|
|
@@ -213,7 +213,7 @@ export type PageSurfaceContentResult = {
|
|
|
213
213
|
pageSurface: Record<string, unknown>;
|
|
214
214
|
subject: PageSurfaceContentData['subject'];
|
|
215
215
|
};
|
|
216
|
-
theme: Theme;
|
|
216
|
+
theme: Theme | null;
|
|
217
217
|
siteId: string;
|
|
218
218
|
customBlocks?: SdkCustomBlock[];
|
|
219
219
|
site: SiteData;
|
|
@@ -256,6 +256,7 @@ export declare function isPageSurfaceContent(result: LoadContentResult): result
|
|
|
256
256
|
* });
|
|
257
257
|
*
|
|
258
258
|
* if (isPageContent(content)) {
|
|
259
|
+
* if (!content.theme) throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
|
|
259
260
|
* return <Page {...content} />;
|
|
260
261
|
* }
|
|
261
262
|
*
|
|
@@ -284,6 +285,7 @@ export declare function isPageSurfaceContent(result: LoadContentResult): result
|
|
|
284
285
|
* }
|
|
285
286
|
* }
|
|
286
287
|
*
|
|
288
|
+
* if (!content.theme) throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
|
|
287
289
|
* return <Page {...content} />;
|
|
288
290
|
* ```
|
|
289
291
|
*
|
|
@@ -5,7 +5,7 @@ import type { SdkCustomBlock } from '../../config/types';
|
|
|
5
5
|
export type RuntimeSdkConfig = NonNullable<SiteResponse['sdkConfig']>;
|
|
6
6
|
export type SiteData = SiteResponse['site'];
|
|
7
7
|
export type SiteRenderSupport = Readonly<{
|
|
8
|
-
theme: Theme;
|
|
8
|
+
theme: Theme | null;
|
|
9
9
|
site: SiteData;
|
|
10
10
|
sdkConfig: RuntimeSdkConfig | null;
|
|
11
11
|
bookingOfferingPresets: readonly SiteBookingOfferingPresetSummary[];
|
|
@@ -58,7 +58,7 @@ type PageSuccessState = {
|
|
|
58
58
|
page: PageProps['page'];
|
|
59
59
|
runtimeBoundaries?: PageProps['runtimeBoundaries'];
|
|
60
60
|
entry: null;
|
|
61
|
-
theme: Theme;
|
|
61
|
+
theme: Theme | null;
|
|
62
62
|
siteId: string;
|
|
63
63
|
resolvedData: ResolvedBlockData;
|
|
64
64
|
supabaseUrl?: string;
|
|
@@ -73,7 +73,7 @@ type EntrySuccessState = {
|
|
|
73
73
|
type: 'entry';
|
|
74
74
|
page: null;
|
|
75
75
|
entry: ContentEntryData;
|
|
76
|
-
theme: Theme;
|
|
76
|
+
theme: Theme | null;
|
|
77
77
|
siteId: string;
|
|
78
78
|
resolvedData: null;
|
|
79
79
|
};
|
|
@@ -116,6 +116,7 @@ export declare function isEntryContentResult(result: UseContentResult): result i
|
|
|
116
116
|
* if (content.error) return <div>Error: {content.error.message}</div>;
|
|
117
117
|
*
|
|
118
118
|
* if (isPageContentResult(content)) {
|
|
119
|
+
* if (!content.theme) return <div>This site needs a theme before it can be displayed.</div>;
|
|
119
120
|
* return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} />;
|
|
120
121
|
* }
|
|
121
122
|
*
|
|
@@ -145,6 +146,7 @@ export declare function isEntryContentResult(result: UseContentResult): result i
|
|
|
145
146
|
* }
|
|
146
147
|
* }
|
|
147
148
|
*
|
|
149
|
+
* if (!content.theme) return <MissingTheme />;
|
|
148
150
|
* return <Page {...content} />;
|
|
149
151
|
* ```
|
|
150
152
|
*/
|
|
@@ -9,6 +9,8 @@ export type { PageProps } from './components/Page';
|
|
|
9
9
|
export { Layout } from './components/Layout';
|
|
10
10
|
export type { LayoutProps, HeaderData, FooterData, CustomHeaderData, CustomFooterData, } from './components/Layout';
|
|
11
11
|
export { UnsupportedOverrideOnlyLayoutChromeError } from './components/Layout';
|
|
12
|
+
export { MISSING_SDK_THEME_ERROR_CODE, MissingSdkThemeError, } from './themeAdmission';
|
|
13
|
+
export type { MissingSdkThemeReason } from './themeAdmission';
|
|
12
14
|
export type { SdkThemeResponsiveMode, SdkThemeRuntime } from './themeRuntime';
|
|
13
15
|
export type { SdkOverrideOnlyRendering, SdkOverrideOnlyRuntime, SdkRenderingMode, } from './renderingMode';
|
|
14
16
|
export { Block } from './components/Block';
|
|
@@ -18,7 +20,7 @@ export type { LoadPageParams, LoadPageResult } from './helpers/loadPage';
|
|
|
18
20
|
export { loadContent, isPageContent, isEntryContent, isPageSurfaceContent, } from './helpers/loadContent';
|
|
19
21
|
export type { LoadContentParams, LoadContentResult, ContentEntryData, PagePreviewMetadata, SiteData, } from './helpers/loadContent';
|
|
20
22
|
export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
|
|
21
|
-
export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
|
|
23
|
+
export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, CardRole, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
|
|
22
24
|
export { ImagePresets } from '../contracts';
|
|
23
25
|
export { RichText } from './primitives/RichText';
|
|
24
26
|
export { resolveImageUrl, resolveImageUrlWithContext, resolveImageSourceSetWithContext, } from './image';
|
|
@@ -147,7 +147,12 @@ export type PublicPassProduct = {
|
|
|
147
147
|
validDays: number | null;
|
|
148
148
|
eligibleCategoryIds: string[];
|
|
149
149
|
eligibleCategoryNames: string[];
|
|
150
|
-
}
|
|
150
|
+
} & ({
|
|
151
|
+
purchaseAvailability: 'purchasable';
|
|
152
|
+
} | {
|
|
153
|
+
purchaseAvailability: 'display_only';
|
|
154
|
+
unavailabilityReason: 'online_payments_unavailable';
|
|
155
|
+
});
|
|
151
156
|
export type PublicMembershipProduct = {
|
|
152
157
|
id: string;
|
|
153
158
|
name: string;
|
|
@@ -239,7 +244,15 @@ export type FormIslandProps = BlocksFormIslandProps;
|
|
|
239
244
|
export type BookingFormService = BlocksBookingFormService;
|
|
240
245
|
export type BookingFormConfig = BlocksBookingFormConfig;
|
|
241
246
|
export type BookingFormIslandProps = BlocksBookingFormIslandProps;
|
|
242
|
-
|
|
247
|
+
/**
|
|
248
|
+
* Card surface selection as it reaches an island.
|
|
249
|
+
*
|
|
250
|
+
* The canonical vocabulary is the card *role* (`none` / `open` / `default` /
|
|
251
|
+
* `alternative`); `variant1` / `variant2` are legacy aliases of `alternative`
|
|
252
|
+
* that persisted content still carries. Both keep parsing — the union is
|
|
253
|
+
* widened additively so no existing SDK consumer breaks.
|
|
254
|
+
*/
|
|
255
|
+
export type CardVariant = 'default' | 'alternative' | 'open' | 'none' | 'variant1' | 'variant2';
|
|
243
256
|
export type ButtonVariant = SystemButtonVariant;
|
|
244
257
|
export type EventListingLayout = EventLayout;
|
|
245
258
|
export type CardOrientation = 'vertical' | 'horizontal';
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export { Page } from './components/Page.server';
|
|
6
6
|
export type { PageProps } from './components/Page.server';
|
|
7
7
|
export { Layout, UnsupportedOverrideOnlyLayoutChromeError, } from './components/Layout';
|
|
8
|
+
export { MISSING_SDK_THEME_ERROR_CODE, MissingSdkThemeError, } from './themeAdmission';
|
|
9
|
+
export type { MissingSdkThemeReason } from './themeAdmission';
|
|
8
10
|
export type { LayoutProps, HeaderData, FooterData, CustomHeaderData, CustomFooterData, } from './components/Layout';
|
|
9
11
|
export type { SdkThemeResponsiveMode, SdkThemeRuntime } from './themeRuntime';
|
|
10
12
|
export type { SdkOverrideOnlyRendering, SdkOverrideOnlyRuntime, SdkRenderingMode, } from './renderingMode';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Theme } from '../contracts';
|
|
2
|
+
export declare const MISSING_SDK_THEME_ERROR_CODE: "missing_sdk_theme";
|
|
3
|
+
export type MissingSdkThemeReason = 'cms_theme_absent' | 'local_theme_absent';
|
|
4
|
+
export declare class MissingSdkThemeError extends Error {
|
|
5
|
+
readonly siteId: string;
|
|
6
|
+
readonly reason: MissingSdkThemeReason;
|
|
7
|
+
readonly themeKey?: string | undefined;
|
|
8
|
+
readonly code: "missing_sdk_theme";
|
|
9
|
+
constructor(siteId: string, reason?: MissingSdkThemeReason, themeKey?: string | undefined);
|
|
10
|
+
}
|
|
11
|
+
export declare function requireSdkTheme(theme: Theme | null | undefined, siteId: string, reason?: MissingSdkThemeReason): Theme;
|
|
@@ -44,10 +44,12 @@ export interface ThemeBridgeButtonConfig {
|
|
|
44
44
|
*/
|
|
45
45
|
export interface ThemeBridgeCardConfig {
|
|
46
46
|
/**
|
|
47
|
-
* Which card variants to generate
|
|
47
|
+
* Which card variants to generate — one id per card role the theme
|
|
48
|
+
* implements. `elevated` and `outlined` are the pre-role names of
|
|
49
|
+
* `alternative` and `open`, kept so existing configs keep working.
|
|
48
50
|
* @default ['default']
|
|
49
51
|
*/
|
|
50
|
-
variants?: Array<'default' | 'elevated' | 'outlined'>;
|
|
52
|
+
variants?: Array<'default' | 'alternative' | 'open' | 'elevated' | 'outlined'>;
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
55
|
* Component CSS generation options.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BlockThemeOverride, type Theme } from './schema';
|
|
2
2
|
import type { HeadingDecorationOverride, VisibleHeadingDecoration } from "./site-styles/types";
|
|
3
3
|
export declare function normalizeBlockKind(blockKind: string): string;
|
|
4
4
|
export type EffectiveHeadingDecoration = Readonly<{
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const boxBackgroundOverlaySchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3
|
+
type: z.ZodLiteral<"none">;
|
|
4
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
5
|
+
type: z.ZodLiteral<"color">;
|
|
6
|
+
color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
7
|
+
opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
8
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
9
|
+
type: z.ZodLiteral<"gradient">;
|
|
10
|
+
gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
|
+
opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
12
|
+
}, z.core.$strip>], "type">>;
|
|
13
|
+
export declare const boxBackgroundSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14
|
+
contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
|
|
15
|
+
textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
|
+
headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
|
+
linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
|
+
supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
type: z.ZodLiteral<"color">;
|
|
20
|
+
color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
22
|
+
contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
|
|
23
|
+
textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
24
|
+
headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26
|
+
supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
27
|
+
type: z.ZodLiteral<"gradient">;
|
|
28
|
+
gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
29
|
+
gradientPresetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
30
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
31
|
+
contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
|
|
32
|
+
textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
33
|
+
headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
34
|
+
linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
35
|
+
supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
36
|
+
opacity: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
|
|
37
|
+
objectFit: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
38
|
+
fill: "fill";
|
|
39
|
+
custom: "custom";
|
|
40
|
+
fit: "fit";
|
|
41
|
+
original: "original";
|
|
42
|
+
}>>>;
|
|
43
|
+
scale: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
44
|
+
position: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
45
|
+
motion: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
46
|
+
static: "static";
|
|
47
|
+
"fixed-frame": "fixed-frame";
|
|
48
|
+
}>>>;
|
|
49
|
+
overflow: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
50
|
+
overlay: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
51
|
+
type: z.ZodLiteral<"none">;
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
53
|
+
type: z.ZodLiteral<"color">;
|
|
54
|
+
color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
|
+
opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
56
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<"gradient">;
|
|
58
|
+
gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
59
|
+
opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
60
|
+
}, z.core.$strip>], "type">>>>;
|
|
61
|
+
type: z.ZodLiteral<"image">;
|
|
62
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
63
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
64
|
+
placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
65
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
66
|
+
identifier: z.ZodOptional<z.ZodString>;
|
|
67
|
+
src: z.ZodOptional<z.ZodString>;
|
|
68
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
69
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
70
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
71
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
72
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
storageBucket: z.ZodOptional<z.ZodString>;
|
|
74
|
+
storagePath: z.ZodOptional<z.ZodString>;
|
|
75
|
+
poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
76
|
+
tag: z.ZodLiteral<"storage">;
|
|
77
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
78
|
+
storageBucket: z.ZodString;
|
|
79
|
+
storagePath: z.ZodString;
|
|
80
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
81
|
+
tag: z.ZodLiteral<"external-src">;
|
|
82
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
83
|
+
src: z.ZodString;
|
|
84
|
+
}, z.core.$strip>], "tag">>;
|
|
85
|
+
transform: z.ZodOptional<z.ZodObject<{
|
|
86
|
+
aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
|
|
87
|
+
aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
|
|
88
|
+
rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
|
|
89
|
+
hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
|
|
90
|
+
x: z.ZodNumber;
|
|
91
|
+
y: z.ZodNumber;
|
|
92
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
}, z.core.$strip>>>;
|
|
94
|
+
rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
|
|
95
|
+
}, z.core.$strip>>>>>;
|
|
96
|
+
rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
97
|
+
hotspot: z.ZodOptional<z.ZodObject<{
|
|
98
|
+
x: z.ZodNumber;
|
|
99
|
+
y: z.ZodNumber;
|
|
100
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
|
|
103
|
+
}, z.core.$strip>>;
|
|
104
|
+
type: z.ZodLiteral<"image">;
|
|
105
|
+
}, z.core.$strip>>>;
|
|
106
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
107
|
+
contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
|
|
108
|
+
textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
109
|
+
headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
110
|
+
linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
111
|
+
supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
112
|
+
opacity: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
|
|
113
|
+
objectFit: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
114
|
+
fill: "fill";
|
|
115
|
+
custom: "custom";
|
|
116
|
+
fit: "fit";
|
|
117
|
+
original: "original";
|
|
118
|
+
}>>>;
|
|
119
|
+
scale: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
120
|
+
position: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
121
|
+
motion: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
122
|
+
static: "static";
|
|
123
|
+
"fixed-frame": "fixed-frame";
|
|
124
|
+
}>>>;
|
|
125
|
+
overflow: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
126
|
+
overlay: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
127
|
+
type: z.ZodLiteral<"none">;
|
|
128
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
129
|
+
type: z.ZodLiteral<"color">;
|
|
130
|
+
color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
131
|
+
opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
132
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
133
|
+
type: z.ZodLiteral<"gradient">;
|
|
134
|
+
gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
135
|
+
opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
136
|
+
}, z.core.$strip>], "type">>>>;
|
|
137
|
+
type: z.ZodLiteral<"video">;
|
|
138
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
139
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
140
|
+
placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
141
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
142
|
+
identifier: z.ZodOptional<z.ZodString>;
|
|
143
|
+
src: z.ZodOptional<z.ZodString>;
|
|
144
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
145
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
146
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
147
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
148
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
149
|
+
storageBucket: z.ZodOptional<z.ZodString>;
|
|
150
|
+
storagePath: z.ZodOptional<z.ZodString>;
|
|
151
|
+
poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
152
|
+
tag: z.ZodLiteral<"storage">;
|
|
153
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
154
|
+
storageBucket: z.ZodString;
|
|
155
|
+
storagePath: z.ZodString;
|
|
156
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
157
|
+
tag: z.ZodLiteral<"external-src">;
|
|
158
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
159
|
+
src: z.ZodString;
|
|
160
|
+
}, z.core.$strip>], "tag">>;
|
|
161
|
+
transform: z.ZodOptional<z.ZodObject<{
|
|
162
|
+
aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
|
|
163
|
+
aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
|
|
164
|
+
rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
|
|
165
|
+
hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
|
|
166
|
+
x: z.ZodNumber;
|
|
167
|
+
y: z.ZodNumber;
|
|
168
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
169
|
+
}, z.core.$strip>>>;
|
|
170
|
+
rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
|
|
171
|
+
}, z.core.$strip>>>>>;
|
|
172
|
+
rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
173
|
+
hotspot: z.ZodOptional<z.ZodObject<{
|
|
174
|
+
x: z.ZodNumber;
|
|
175
|
+
y: z.ZodNumber;
|
|
176
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
177
|
+
}, z.core.$strip>>;
|
|
178
|
+
rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
|
|
179
|
+
}, z.core.$strip>>;
|
|
180
|
+
type: z.ZodLiteral<"video">;
|
|
181
|
+
}, z.core.$strip>>>;
|
|
182
|
+
showVideoOnMobile: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
183
|
+
}, z.core.$strip>], "type">;
|
|
184
|
+
export type BoxBackground = z.infer<typeof boxBackgroundSchema>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { ButtonUnsupportedEffectReason } from './effectClassification';
|
|
2
|
+
import type { ButtonColourTreatment, OpaqueButtonColourToken } from './types';
|
|
3
|
+
export declare const BUTTON_VISUAL_STATES: readonly ["base", "hover", "focus", "active", "disabled"];
|
|
4
|
+
export type ButtonVisualState = (typeof BUTTON_VISUAL_STATES)[number];
|
|
5
|
+
/** A surface whose rendered colour and foreground contract are both known. */
|
|
6
|
+
export type KnownButtonSurface = Readonly<{
|
|
7
|
+
kind: 'solid';
|
|
8
|
+
backgroundHex: string;
|
|
9
|
+
backgroundCss: string;
|
|
10
|
+
foregroundHex: string;
|
|
11
|
+
foregroundCss: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type ButtonColourPalette = Readonly<Record<string, string>>;
|
|
14
|
+
export declare const BUTTON_CONTRAST_POLICY: {
|
|
15
|
+
readonly textMinimumRatio: 4.5;
|
|
16
|
+
readonly nonTextMinimumRatio: 3;
|
|
17
|
+
readonly gradientSamplesPerSegment: 20;
|
|
18
|
+
readonly alphaBackgrounds: "reject-without-known-surface";
|
|
19
|
+
readonly disabled: "retain-full-colour-contract";
|
|
20
|
+
};
|
|
21
|
+
export type ButtonColourContractError = Readonly<{
|
|
22
|
+
tag: 'unknown_palette_token';
|
|
23
|
+
variantId: string;
|
|
24
|
+
state: ButtonVisualState;
|
|
25
|
+
token: OpaqueButtonColourToken;
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
tag: 'missing_on_colour';
|
|
28
|
+
variantId: string;
|
|
29
|
+
state: ButtonVisualState;
|
|
30
|
+
backgroundToken: OpaqueButtonColourToken;
|
|
31
|
+
foregroundToken: OpaqueButtonColourToken;
|
|
32
|
+
}> | Readonly<{
|
|
33
|
+
tag: 'insufficient_contrast';
|
|
34
|
+
variantId: string;
|
|
35
|
+
state: ButtonVisualState;
|
|
36
|
+
background: string;
|
|
37
|
+
foreground: string;
|
|
38
|
+
ratio: number;
|
|
39
|
+
requiredRatio: number;
|
|
40
|
+
}> | Readonly<{
|
|
41
|
+
tag: 'insufficient_surface_contrast';
|
|
42
|
+
variantId: string;
|
|
43
|
+
state: ButtonVisualState;
|
|
44
|
+
buttonPaint: string;
|
|
45
|
+
surface: string;
|
|
46
|
+
ratio: number;
|
|
47
|
+
requiredRatio: number;
|
|
48
|
+
}> | Readonly<{
|
|
49
|
+
tag: 'unsupported_colour_effect';
|
|
50
|
+
variantId: string;
|
|
51
|
+
state: ButtonVisualState;
|
|
52
|
+
effectId: string;
|
|
53
|
+
reason: ButtonUnsupportedEffectReason;
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
tag: 'invalid_colour_effect_options';
|
|
56
|
+
variantId: string;
|
|
57
|
+
state: ButtonVisualState;
|
|
58
|
+
effectId: string;
|
|
59
|
+
option: string;
|
|
60
|
+
}> | Readonly<{
|
|
61
|
+
tag: 'inapplicable_colour_effect';
|
|
62
|
+
variantId: string;
|
|
63
|
+
state: ButtonVisualState;
|
|
64
|
+
effectId: string;
|
|
65
|
+
treatment: ButtonColourTreatment['type'];
|
|
66
|
+
}> | Readonly<{
|
|
67
|
+
tag: 'unknown_button_effect';
|
|
68
|
+
variantId: string;
|
|
69
|
+
state: ButtonVisualState;
|
|
70
|
+
effectId: string;
|
|
71
|
+
}>;
|
|
72
|
+
export declare function formatButtonColourContractError(error: ButtonColourContractError): string;
|
|
73
|
+
export declare function validateButtonSurfaceContrast(input: Readonly<{
|
|
74
|
+
variantId: string;
|
|
75
|
+
state: ButtonVisualState;
|
|
76
|
+
buttonPaint: string;
|
|
77
|
+
surfaceHex: string;
|
|
78
|
+
}>): Readonly<{
|
|
79
|
+
ok: true;
|
|
80
|
+
}> | Readonly<{
|
|
81
|
+
ok: false;
|
|
82
|
+
error: ButtonColourContractError;
|
|
83
|
+
}>;
|
|
84
|
+
export declare function validateButtonTextContrast(input: Readonly<{
|
|
85
|
+
variantId: string;
|
|
86
|
+
state: ButtonVisualState;
|
|
87
|
+
background: string;
|
|
88
|
+
backgroundHex: string;
|
|
89
|
+
foreground: string;
|
|
90
|
+
foregroundHex: string;
|
|
91
|
+
}>): Readonly<{
|
|
92
|
+
ok: true;
|
|
93
|
+
}> | Readonly<{
|
|
94
|
+
ok: false;
|
|
95
|
+
error: ButtonColourContractError;
|
|
96
|
+
}>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type ButtonColourContractError, type ButtonColourPalette, type ButtonVisualState, type KnownButtonSurface, type ResolvedButtonColourStates, type ResolvedButtonFocusIndicator } from './resolveButtonColourStates';
|
|
2
|
+
import type { ButtonSystem, VariantRole } from './types';
|
|
3
|
+
export type ButtonSurfaceContext = Readonly<{
|
|
4
|
+
kind: 'known-solid';
|
|
5
|
+
source: 'palette-token' | 'literal-css' | 'fallback-token';
|
|
6
|
+
surface: KnownButtonSurface;
|
|
7
|
+
}> | Readonly<{
|
|
8
|
+
kind: 'unknown';
|
|
9
|
+
reason: 'missing-background' | 'image-background' | 'gradient-background' | 'composited-background' | 'unresolvable-colour';
|
|
10
|
+
}>;
|
|
11
|
+
/**
|
|
12
|
+
* Narrow rendering-boundary contract for the surface beneath a button.
|
|
13
|
+
* Blocks own their authored background schema and translate it into this
|
|
14
|
+
* vocabulary; theme-core does not inspect or guess at that external shape.
|
|
15
|
+
*/
|
|
16
|
+
export type ButtonSurfaceInput = Readonly<{
|
|
17
|
+
kind: 'inherit';
|
|
18
|
+
foreground?: string | null;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: 'solid';
|
|
21
|
+
color?: string | null;
|
|
22
|
+
foreground?: string | null;
|
|
23
|
+
composited: boolean;
|
|
24
|
+
}> | Readonly<{
|
|
25
|
+
kind: 'image';
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
kind: 'gradient';
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: 'unknown';
|
|
30
|
+
}>;
|
|
31
|
+
export type RejectedButtonSurfaceCandidate = Readonly<{
|
|
32
|
+
candidate: 'preferred' | 'surface-outline' | VariantRole;
|
|
33
|
+
error: ButtonColourContractError;
|
|
34
|
+
}>;
|
|
35
|
+
export type ContextualButtonResolution = Readonly<{
|
|
36
|
+
kind: 'preferred';
|
|
37
|
+
requestedRole: VariantRole;
|
|
38
|
+
states: ResolvedButtonColourStates;
|
|
39
|
+
focusIndicator: ResolvedButtonFocusIndicator;
|
|
40
|
+
boundary: Readonly<{
|
|
41
|
+
width: string;
|
|
42
|
+
color: string;
|
|
43
|
+
}> | null;
|
|
44
|
+
}> | Readonly<{
|
|
45
|
+
kind: 'repaired';
|
|
46
|
+
requestedRole: VariantRole;
|
|
47
|
+
candidate: 'surface-outline' | VariantRole;
|
|
48
|
+
states: ResolvedButtonColourStates;
|
|
49
|
+
focusIndicator: ResolvedButtonFocusIndicator;
|
|
50
|
+
boundary: Readonly<{
|
|
51
|
+
width: string;
|
|
52
|
+
color: string;
|
|
53
|
+
}> | null;
|
|
54
|
+
rejectedCandidates: readonly RejectedButtonSurfaceCandidate[];
|
|
55
|
+
}> | Readonly<{
|
|
56
|
+
kind: 'unresolved';
|
|
57
|
+
requestedRole: VariantRole;
|
|
58
|
+
rejectedCandidates: readonly RejectedButtonSurfaceCandidate[];
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Derive only what the rendered section can honestly prove about its backing.
|
|
62
|
+
* Images, gradients, alpha/composite layers and arbitrary CSS remain unknown.
|
|
63
|
+
*/
|
|
64
|
+
export declare function deriveButtonSurfaceContext(input: ButtonSurfaceInput, palette: Readonly<Record<string, string>>, fallbackToken?: string): ButtonSurfaceContext;
|
|
65
|
+
export declare function resolveContextualButtonRole(input: Readonly<{
|
|
66
|
+
role: VariantRole;
|
|
67
|
+
buttonSystem: ButtonSystem;
|
|
68
|
+
palette: ButtonColourPalette;
|
|
69
|
+
surface: KnownButtonSurface;
|
|
70
|
+
}>): ContextualButtonResolution;
|
|
71
|
+
export declare function contextualButtonSurfaceStyles(resolution: ContextualButtonResolution): Readonly<Record<string, string>>;
|
|
72
|
+
/**
|
|
73
|
+
* Break an inherited surface contract when a nested element establishes a
|
|
74
|
+
* backing whose colours cannot be proven (for example an image or gradient).
|
|
75
|
+
*/
|
|
76
|
+
export declare function contextualButtonSurfaceResetStyles(): Readonly<Record<string, string>>;
|
|
77
|
+
export declare function actionVariableName(role: string, state: ButtonVisualState, property: string): string;
|
|
78
|
+
export declare function actionVariableFallback(role: string, state: ButtonVisualState, property: string, fallback: string): string;
|
|
@@ -8,6 +8,7 @@ export * from './parseThemeForPersistence';
|
|
|
8
8
|
export * from './classNames';
|
|
9
9
|
export * from './generateButtonCss';
|
|
10
10
|
export * from './resolveButtonColourStates';
|
|
11
|
+
export * from './buttonSurfaceContext';
|
|
11
12
|
export * from './affordanceIcons';
|
|
12
13
|
export * from './generateDefaultButtonSystem';
|
|
13
14
|
export * from './constants';
|
|
@@ -14,8 +14,8 @@ declare const validatedThemeForPersistenceBrand: unique symbol;
|
|
|
14
14
|
/**
|
|
15
15
|
* A schema-parsed Theme whose button variants all compile against its palette.
|
|
16
16
|
*
|
|
17
|
-
* The brand is intentionally phantom
|
|
18
|
-
*
|
|
17
|
+
* The brand is intentionally phantom. The parser also canonicalizes legacy
|
|
18
|
+
* button systems by adding the standard surface policy before the next save.
|
|
19
19
|
*/
|
|
20
20
|
export type ValidatedThemeForPersistence = Theme & {
|
|
21
21
|
readonly [validatedThemeForPersistenceBrand]: true;
|
|
@@ -1,65 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import type { ButtonGlobalSettings, ButtonVariant, OpaqueButtonColourToken, VariantEffects } from './types';
|
|
2
|
+
import { type ButtonColourContractError, type ButtonColourPalette, type ButtonVisualState, type KnownButtonSurface } from './buttonColourContract';
|
|
3
|
+
export { BUTTON_CONTRAST_POLICY, BUTTON_VISUAL_STATES, formatButtonColourContractError, type ButtonColourContractError, type ButtonColourPalette, type ButtonVisualState, type KnownButtonSurface, } from './buttonColourContract';
|
|
4
4
|
export { classifyButtonEffectId, type ButtonEffectClassification, } from './effectClassification';
|
|
5
|
-
export declare const BUTTON_VISUAL_STATES: readonly ["base", "hover", "focus", "active", "disabled"];
|
|
6
|
-
export type ButtonVisualState = (typeof BUTTON_VISUAL_STATES)[number];
|
|
7
|
-
export declare const BUTTON_CONTRAST_POLICY: {
|
|
8
|
-
readonly textMinimumRatio: 4.5;
|
|
9
|
-
readonly nonTextMinimumRatio: 3;
|
|
10
|
-
readonly gradientSamplesPerSegment: 20;
|
|
11
|
-
readonly alphaBackgrounds: "reject-without-known-surface";
|
|
12
|
-
readonly disabled: "retain-full-colour-contract";
|
|
13
|
-
};
|
|
14
|
-
export type ButtonColourContractError = Readonly<{
|
|
15
|
-
tag: 'unknown_palette_token';
|
|
16
|
-
variantId: string;
|
|
17
|
-
state: ButtonVisualState;
|
|
18
|
-
token: OpaqueButtonColourToken;
|
|
19
|
-
}> | Readonly<{
|
|
20
|
-
tag: 'missing_on_colour';
|
|
21
|
-
variantId: string;
|
|
22
|
-
state: ButtonVisualState;
|
|
23
|
-
backgroundToken: OpaqueButtonColourToken;
|
|
24
|
-
foregroundToken: OpaqueButtonColourToken;
|
|
25
|
-
}> | Readonly<{
|
|
26
|
-
tag: 'insufficient_contrast';
|
|
27
|
-
variantId: string;
|
|
28
|
-
state: ButtonVisualState;
|
|
29
|
-
background: string;
|
|
30
|
-
foreground: string;
|
|
31
|
-
ratio: number;
|
|
32
|
-
requiredRatio: number;
|
|
33
|
-
}> | Readonly<{
|
|
34
|
-
tag: 'unsupported_colour_effect';
|
|
35
|
-
variantId: string;
|
|
36
|
-
state: ButtonVisualState;
|
|
37
|
-
effectId: string;
|
|
38
|
-
reason: ButtonUnsupportedEffectReason;
|
|
39
|
-
}> | Readonly<{
|
|
40
|
-
tag: 'invalid_colour_effect_options';
|
|
41
|
-
variantId: string;
|
|
42
|
-
state: ButtonVisualState;
|
|
43
|
-
effectId: string;
|
|
44
|
-
option: string;
|
|
45
|
-
}> | Readonly<{
|
|
46
|
-
tag: 'inapplicable_colour_effect';
|
|
47
|
-
variantId: string;
|
|
48
|
-
state: ButtonVisualState;
|
|
49
|
-
effectId: string;
|
|
50
|
-
treatment: ButtonColourTreatment['type'];
|
|
51
|
-
}> | Readonly<{
|
|
52
|
-
tag: 'unknown_button_effect';
|
|
53
|
-
variantId: string;
|
|
54
|
-
state: ButtonVisualState;
|
|
55
|
-
effectId: string;
|
|
56
|
-
}>;
|
|
57
5
|
export type ResolvedButtonColour = Readonly<{
|
|
58
6
|
kind: 'solid';
|
|
59
7
|
backgroundToken: OpaqueButtonColourToken;
|
|
60
8
|
foregroundToken: OpaqueButtonColourToken;
|
|
61
9
|
backgroundCss: string;
|
|
62
10
|
foregroundCss: string;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
kind: 'known-solid';
|
|
13
|
+
backgroundCss: string;
|
|
14
|
+
foregroundCss: string;
|
|
63
15
|
}> | Readonly<{
|
|
64
16
|
kind: 'gradient';
|
|
65
17
|
backgroundTokens: readonly [OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]];
|
|
@@ -95,6 +47,6 @@ export type ButtonColourContractResult = Readonly<{
|
|
|
95
47
|
export declare function compileButtonColourStates(input: Readonly<{
|
|
96
48
|
variant: ButtonVariant;
|
|
97
49
|
global: ButtonGlobalSettings;
|
|
98
|
-
palette:
|
|
50
|
+
palette: ButtonColourPalette;
|
|
51
|
+
surface?: KnownButtonSurface;
|
|
99
52
|
}>): ButtonColourContractResult;
|
|
100
|
-
export declare function formatButtonColourContractError(error: ButtonColourContractError): string;
|