@riverbankcms/sdk 0.103.0 → 0.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-DkNpCPja.mjs → PreviewEditorSidebar-ywqcYjTB.mjs} +148 -128
- package/dist/{PreviewEditorUI-DeNKtqk3.mjs → PreviewEditorUI-DApUNF6g.mjs} +3 -3
- package/dist/{PreviewQueryProvider-ZF6TXq5Q.mjs → PreviewQueryProvider-CStABBUh.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-5bCsXK2y.mjs → SdkPreviewModeRuntime-DmHCcIMO.mjs} +1199 -563
- package/dist/{SiteChromeCustomizeContext-CO1sTK_W.mjs → SiteChromeCustomizeContext-BV9GU-3C.mjs} +3145 -2452
- package/dist/_dts/api/src/contentRuntime.d.ts +6 -3
- package/dist/_dts/api/src/endpoints.d.ts +10 -3
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/siteIcons.d.ts +39 -43
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +36 -7
- package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +3 -3
- package/dist/_dts/block-form/src/widgets/SliderField/sliderValue.d.ts +36 -0
- package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +3 -0
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +29 -29
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +135 -0
- package/dist/_dts/blocks/src/system/icons/generatedAssets.d.ts +28 -0
- package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/icons/value.d.ts +3 -6
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +240 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +1 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/stores/generatedIconAssetsStore.d.ts +9 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +208 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +7 -0
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +4 -4
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +2 -3
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +4 -4
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +4 -4
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -3
- package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +1 -5
- package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +25 -19
- package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +32 -0
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/GeneratedIconLibraryContext.d.ts +28 -0
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/index.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/loaders.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/CustomizeBackgroundControlRows.d.ts +15 -0
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +4 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -3
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +44 -18
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +4 -5
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +22 -1
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +12 -4
- package/dist/_dts/sdk/src/client/management/types.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +0 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +9 -9
- package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -0
- package/dist/_dts/theme-core/src/palette/colors.d.ts +84 -0
- package/dist/_dts/theme-core/src/palette/{variants → curated}/brand-led.d.ts +12 -24
- package/dist/_dts/theme-core/src/palette/{variants → curated}/high-contrast.d.ts +9 -18
- package/dist/_dts/theme-core/src/palette/{variants → curated}/index.d.ts +67 -119
- package/dist/_dts/theme-core/src/palette/{variants → curated}/soft-natural.d.ts +12 -24
- package/dist/_dts/theme-core/src/palette/{variants → curated}/types.d.ts +50 -60
- package/dist/_dts/theme-core/src/palette/{variants → curated}/warm-dark.d.ts +6 -12
- package/dist/_dts/theme-core/src/palette/{variants → curated}/warm-neutral.d.ts +12 -24
- package/dist/_dts/theme-core/src/palette/editorState.d.ts +45 -0
- package/dist/_dts/theme-core/src/palette/index.d.ts +25 -14
- package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +38 -0
- package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +34 -0
- package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +58 -0
- package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +241 -0
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +118 -0
- package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +50 -0
- package/dist/_dts/theme-core/src/palette/selection.d.ts +72 -0
- package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +34 -0
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +58 -0
- package/dist/_dts/theme-core/src/schema.d.ts +9 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +22 -22
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +31 -9
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +22 -16
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +6 -5
- package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +21 -0
- package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +2 -1
- package/dist/cli/index.mjs +7798 -7449
- package/dist/client/{DiscountCodeDisclosure-ChVZwVtS.mjs → DiscountCodeDisclosure-Dit2aItR.mjs} +1 -1
- package/dist/client/{EventCombined.client-PZtXbH6R.mjs → EventCombined.client-BnREyCjf.mjs} +3 -3
- package/dist/client/{EventListing.client-C4AMTXec.mjs → EventListing.client-0uHld51x.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-B0w8_i0u.mjs → LeafletStaticMap-DJcvSfmj.mjs} +1 -1
- package/dist/client/{MagicLinkForm-DF0ZGhIu.mjs → MagicLinkForm-EAsIktfw.mjs} +2 -2
- package/dist/client/{StepIndicator-PccQ89Ct.mjs → StepIndicator-CRR17tYI.mjs} +2 -2
- package/dist/client/{accordion-CTNWT1lk.mjs → accordion-B47HIuuH.mjs} +1 -1
- package/dist/client/{bookingForm-DYixwPqP.mjs → bookingForm-I1E-8F9P.mjs} +6 -6
- package/dist/client/{buttons-CySQwlFs.mjs → buttons-BbPn8OKA.mjs} +1 -1
- package/dist/client/{carousel-W75iYR0M.mjs → carousel-OlM7SyBs.mjs} +1 -1
- package/dist/client/{cart-Ca_DGWQq.mjs → cart-BKpG5jz6.mjs} +3 -3
- package/dist/client/{checkout-STgKTsNh.mjs → checkout-Dmmr6qoU.mjs} +3 -3
- package/dist/client/client.mjs +8699 -8320
- package/dist/client/{courseRegistration-DQI1cu1u.mjs → courseRegistration-CflZiqGk.mjs} +7 -7
- package/dist/client/{eventCalendar-BJrHpofg.mjs → eventCalendar-BvoLWcp-.mjs} +5 -5
- package/dist/client/{eventCombined-DPtqBHaH.mjs → eventCombined-DsrO8t_t.mjs} +2 -2
- package/dist/client/{eventDetails-Brt31CDo.mjs → eventDetails-C3hxgcJm.mjs} +3 -3
- package/dist/client/{eventListing-BrClHJOq.mjs → eventListing-C-hb237X.mjs} +2 -2
- package/dist/client/{eventRegistration-DxlNlVUC.mjs → eventRegistration-B0gyzDGi.mjs} +7 -7
- package/dist/client/{form-Vp5cGzDF.mjs → form-C_RUi6oJ.mjs} +2 -2
- package/dist/client/{headerSection-DL2xjRgW.mjs → headerSection-IKQiD2U0.mjs} +3 -3
- package/dist/client/hooks.mjs +4837 -4663
- package/dist/client/{locationMap-B0EjoXQS.mjs → locationMap-8ZBrMzRJ.mjs} +2 -2
- package/dist/client/{newsletterForm-BlV9VRlq.mjs → newsletterForm-CYk3ucwj.mjs} +2 -2
- package/dist/client/{pricing-DmRD7Tjx.mjs → pricing-B5GmvfIH.mjs} +1 -1
- package/dist/client/{productDetail-BLTQsY2f.mjs → productDetail-BjS2Dqzo.mjs} +3 -3
- package/dist/client/{productList-R8lsMpRs.mjs → productList-BOHvC8My.mjs} +3 -3
- package/dist/client/{propsDecoder-DgAshF92.mjs → propsDecoder-WS6UEJwZ.mjs} +7 -0
- package/dist/client/rendering/client.mjs +3607 -3281
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +8562 -8190
- package/dist/client/{shop-DWjyje1s.mjs → shop-CON03-wN.mjs} +6 -6
- package/dist/client/{shop-commerce-CSKCR87d.mjs → shop-commerce-DlqrFgH8.mjs} +5 -5
- package/dist/client/{shop-commerce-store-DxPnE-iN.mjs → shop-commerce-store-l74-Kne6.mjs} +1 -1
- package/dist/client/{shopShared-OOeAkFq7.mjs → shopShared-CQheEXSg.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-Bp6X7XgG.mjs → useDiscountCodeUi-v6OluyWl.mjs} +1 -1
- package/dist/client/{useEventFilters-B489x9TO.mjs → useEventFilters-BqSTcNOf.mjs} +3 -3
- package/dist/client/{usePolling-BKP66stL.mjs → usePolling-DMfADjIF.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +10 -3
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +10 -3
- package/dist/{previewAuthStore-ByPPZqmp.mjs → previewAuthStore-CfquDtTh.mjs} +10 -3
- package/dist/{sdk-runtime-C8whifOy.mjs → sdk-runtime-DWb08Xaz.mjs} +2 -2
- package/dist/{separator-CM2C5Axs.mjs → separator--6yjc914.mjs} +1 -1
- package/dist/server/components.mjs +9863 -9557
- package/dist/server/config-validation.mjs +4861 -4687
- package/dist/server/config.mjs +4861 -4687
- package/dist/server/data.mjs +4838 -4664
- package/dist/server/index.mjs +11 -4
- package/dist/server/next.mjs +8657 -8344
- package/dist/server/page-converter.mjs +4749 -4575
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +9808 -9586
- package/dist/server/rendering.mjs +9872 -9566
- package/dist/server/routing.mjs +4967 -4704
- package/dist/server/server.mjs +4845 -4664
- package/dist/server/theme-bridge.mjs +207 -114
- package/dist/server/theme.mjs +92 -91
- package/dist/styles/index.css +20 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Block, SdkCustomBlock, SdkCustomBlockInput, SiteFont, Theme } from '../../blocks/src/index';
|
|
2
2
|
import type { CamelizeKeys, DbRow } from '../../db/src/index';
|
|
3
|
+
import type { CuratedPaletteId, PaletteOverrides, RuntimePaletteState } from '../../theme-core/src/palette/index';
|
|
3
4
|
import type { ContentTypeRoutingInfo, PublicContentTypeMeta } from './contentTypes';
|
|
4
5
|
import type { SiteRuntimePrivacyPolicy } from './privacyPolicy';
|
|
5
6
|
import type { SitePagePayload } from './sitePages';
|
|
@@ -357,10 +358,12 @@ export type SiteBySlugResponse = {
|
|
|
357
358
|
* Persisted Style configurator selections (Phase C). Optional so legacy
|
|
358
359
|
* site_theme_selections rows (pre-migration) still satisfy the response
|
|
359
360
|
* type — consumers fall back to the site style's defaults when null.
|
|
360
|
-
|
|
361
|
+
*/
|
|
361
362
|
selectionButtonPersonalityId?: string | null;
|
|
362
|
-
|
|
363
|
-
|
|
363
|
+
runtimePaletteState?: RuntimePaletteState | null;
|
|
364
|
+
/** Temporary legacy compatibility projection for stale runtime clients. */
|
|
365
|
+
selectionPaletteVariantId?: CuratedPaletteId | null;
|
|
366
|
+
selectionPaletteOverrides?: PaletteOverrides | null;
|
|
364
367
|
selectionHeaderLayoutId?: string | null;
|
|
365
368
|
selectionHeaderStyleId?: string | null;
|
|
366
369
|
selectionTypographyPresetId?: string | null;
|
|
@@ -1920,9 +1920,9 @@ export declare const API_ENDPOINTS: {
|
|
|
1920
1920
|
readonly responseKind: "json";
|
|
1921
1921
|
readonly errors: readonly [];
|
|
1922
1922
|
};
|
|
1923
|
-
readonly
|
|
1924
|
-
readonly path: "/sites/{siteId}/
|
|
1925
|
-
readonly method: "
|
|
1923
|
+
readonly listGeneratedIconSets: {
|
|
1924
|
+
readonly path: "/sites/{siteId}/generated-icons";
|
|
1925
|
+
readonly method: "GET";
|
|
1926
1926
|
readonly tags: ["riverbank:site:{siteId}", "riverbank:site:{siteId}:settings"];
|
|
1927
1927
|
readonly auth: "user";
|
|
1928
1928
|
readonly responseKind: "json";
|
|
@@ -4684,6 +4684,13 @@ export declare const API_ENDPOINTS: {
|
|
|
4684
4684
|
readonly auth: "user";
|
|
4685
4685
|
readonly responseKind: "json";
|
|
4686
4686
|
};
|
|
4687
|
+
readonly listSiteThemePalettes: {
|
|
4688
|
+
readonly path: "/sites/{siteId}/theme/palettes";
|
|
4689
|
+
readonly method: "GET";
|
|
4690
|
+
readonly auth: "user";
|
|
4691
|
+
readonly errors: readonly [];
|
|
4692
|
+
readonly responseKind: "json";
|
|
4693
|
+
};
|
|
4687
4694
|
readonly createSiteFontUploadUrl: {
|
|
4688
4695
|
readonly path: "/sites/{siteId}/fonts/upload-url";
|
|
4689
4696
|
readonly method: "POST";
|
|
@@ -15,7 +15,7 @@ export type { DiscountsAvailableResponse, NewsletterSubscribeTarget, NewsletterS
|
|
|
15
15
|
export { PUBLIC_EVENT_TICKET_SELECTION_CONTRACT_VERSION } from "./publicExperienceEndpoints";
|
|
16
16
|
export type { ListMailchimpAudiencesResponse, MailchimpAudienceId, MailchimpAudienceCompatibilityIssue, MailchimpAudienceReferenceItem, MailchimpConnectionId, MailchimpIntegrationConnectionStatus, MailchimpIntegrationReauthReason, MailchimpOAuthReturnIntent, MailchimpSignupSyncHealthCounts, MailchimpSignupSyncHealthErrorCategory, MailchimpSignupSyncHealthGroup, MailchimpSignupSyncHealthResponse, MailchimpSignupSyncHealthState, MailchimpSignupSourceBlockId, StartMailchimpOAuthRequest, StartMailchimpOAuthResponse, } from "./mailchimpIntegration";
|
|
17
17
|
export { parseMailchimpAudienceId, parseMailchimpConnectionId, } from "./mailchimpIntegration";
|
|
18
|
-
export type {
|
|
18
|
+
export type { GeneratedIconSetCardRequest, GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconSetListRequest, GeneratedIconSetListResponse, GeneratedIconLibraryAsset, GeneratedIconLibrarySet, GeneratedIconRenderAsset, GeneratedIconRenderAssetRef, GeneratedIconRenderAssetsRequest, GeneratedIconRenderAssetsResponse, SiteIconStyleGuidePayload, SiteIconStyleGuideResponse, SiteIconStyleStrokeRule, SiteIconStyleGuideUpdateRequest, } from "./siteIcons";
|
|
19
19
|
export { DEFAULT_LAUNCH_READINESS_INPUT, deriveLaunchReadiness, } from "./launchReadiness";
|
|
20
20
|
export { getDashboardBaseUrl, getDashboardUrl, getAbsoluteDashboardUrl, getCmsApiUrl, resolveApiBaseUrl, normalizeDashboardOrigin, deriveCmsApiUrlFromDashboardUrl, } from "./url";
|
|
21
21
|
export { API_ERROR_CODES, ApiEnvelopeError, extractApiEnvelopeErrorDetails, isApiErrorCode, unwrapResponse, } from "./common/envelope";
|
|
@@ -9,7 +9,6 @@ export type BlockIconValue = {
|
|
|
9
9
|
kind: "generated";
|
|
10
10
|
setId: string;
|
|
11
11
|
assetId: string;
|
|
12
|
-
semanticFallbackIconId: SemanticIconId;
|
|
13
12
|
styleGuideVersionId: string;
|
|
14
13
|
};
|
|
15
14
|
export type SiteIconStyleGuidePayload = {
|
|
@@ -59,34 +58,46 @@ export type GeneratedIconSetGenerateRequest = {
|
|
|
59
58
|
cards: GeneratedIconSetCardRequest[];
|
|
60
59
|
userStyleNote?: string | null;
|
|
61
60
|
};
|
|
62
|
-
export type
|
|
63
|
-
|
|
61
|
+
export type GeneratedIconRenderAssetRef = {
|
|
62
|
+
setId: string;
|
|
63
|
+
assetId: string;
|
|
64
|
+
};
|
|
65
|
+
export type GeneratedIconRenderAsset = GeneratedIconRenderAssetRef & {
|
|
64
66
|
src: string;
|
|
65
|
-
width
|
|
66
|
-
height
|
|
67
|
-
iconValue: BlockIconValue;
|
|
67
|
+
width?: number;
|
|
68
|
+
height?: number;
|
|
68
69
|
};
|
|
69
|
-
|
|
70
|
+
type GeneratedIconLibraryAssetBase = {
|
|
70
71
|
cardKey: string;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
height: number;
|
|
74
|
-
byteLength: number;
|
|
75
|
-
bytesBase64: string;
|
|
72
|
+
subjectLabel: string;
|
|
73
|
+
iconValue: BlockIconValue;
|
|
76
74
|
};
|
|
77
|
-
export type
|
|
75
|
+
export type GeneratedIconLibraryAsset = GeneratedIconLibraryAssetBase & ({
|
|
76
|
+
availability: "available";
|
|
77
|
+
mediaAssetId: string;
|
|
78
|
+
renderAsset: GeneratedIconRenderAsset;
|
|
79
|
+
} | {
|
|
80
|
+
availability: "unavailable";
|
|
81
|
+
mediaAssetId: string | null;
|
|
82
|
+
renderAsset: null;
|
|
83
|
+
});
|
|
84
|
+
export type GeneratedIconLibrarySet = {
|
|
78
85
|
setId: string;
|
|
79
86
|
blockKind: string;
|
|
80
87
|
blockLabel: string;
|
|
81
88
|
userStyleNote: string | null;
|
|
82
89
|
styleGuideVersionId: string;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
sourceContentFingerprint: string | null;
|
|
91
|
+
sourceFingerprintVersion: number | null;
|
|
92
|
+
sourceCards: GeneratedIconSetCardRequest[] | null;
|
|
93
|
+
createdAt: string;
|
|
94
|
+
styleFreshness: {
|
|
95
|
+
kind: "current";
|
|
96
|
+
} | {
|
|
97
|
+
kind: "older_style";
|
|
98
|
+
currentStyleGuideVersionId: string;
|
|
99
|
+
};
|
|
100
|
+
assets: GeneratedIconLibraryAsset[];
|
|
90
101
|
};
|
|
91
102
|
export type GeneratedIconSetGenerateResponse = {
|
|
92
103
|
styleGuide: {
|
|
@@ -94,35 +105,20 @@ export type GeneratedIconSetGenerateResponse = {
|
|
|
94
105
|
sourceFingerprint: string;
|
|
95
106
|
displaySummary: string;
|
|
96
107
|
};
|
|
97
|
-
|
|
98
|
-
preview: {
|
|
99
|
-
assets: GeneratedIconSetPreviewAsset[];
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
export type GeneratedIconSetApplyRequest = {
|
|
103
|
-
candidate: GeneratedIconSetCandidate;
|
|
108
|
+
set: GeneratedIconLibrarySet;
|
|
104
109
|
};
|
|
105
|
-
export type
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
assets: Array<{
|
|
109
|
-
cardKey: string;
|
|
110
|
-
mediaAssetId: string;
|
|
111
|
-
iconValue: BlockIconValue;
|
|
112
|
-
}>;
|
|
110
|
+
export type GeneratedIconSetListRequest = {
|
|
111
|
+
cursor?: string;
|
|
112
|
+
limit?: string;
|
|
113
113
|
};
|
|
114
|
-
export type
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
export type GeneratedIconSetListResponse = {
|
|
115
|
+
sets: GeneratedIconLibrarySet[];
|
|
116
|
+
nextCursor: string | null;
|
|
117
117
|
};
|
|
118
118
|
export type GeneratedIconRenderAssetsRequest = {
|
|
119
119
|
refs: GeneratedIconRenderAssetRef[];
|
|
120
120
|
};
|
|
121
|
-
export type GeneratedIconRenderAsset = GeneratedIconRenderAssetRef & {
|
|
122
|
-
src: string;
|
|
123
|
-
width?: number;
|
|
124
|
-
height?: number;
|
|
125
|
-
};
|
|
126
121
|
export type GeneratedIconRenderAssetsResponse = {
|
|
127
122
|
assets: GeneratedIconRenderAsset[];
|
|
128
123
|
};
|
|
124
|
+
export {};
|
|
@@ -12,7 +12,7 @@ import type { LinkPayload, RoutableContentItem, SitemapRouteItem } from "./navig
|
|
|
12
12
|
import type { RouteMetadataPayload, RouteMetadataResponse } from "./routes";
|
|
13
13
|
import type { SiteAnalyticsSettingsPayload, SiteAnalyticsSettingsResponse } from "./siteAnalytics";
|
|
14
14
|
import type { SiteBannerSettingsPayload, SiteBannerSettingsResponse } from "./siteBanner";
|
|
15
|
-
import type {
|
|
15
|
+
import type { GeneratedIconSetGenerateRequest, GeneratedIconSetGenerateResponse, GeneratedIconSetListRequest, GeneratedIconSetListResponse, SiteIconStyleGuideResponse, SiteIconStyleGuideUpdateRequest } from "./siteIcons";
|
|
16
16
|
import type { AiBrandGuidelinesGenerateRequest, AiBrandGuidelinesGenerateResponse, AiBrandGuidelinesGenerationContextResponse, SiteAiBrandGuidelinesPayload, SiteAiBrandGuidelinesResponse, SiteAiProfilePayload, SiteAiProfileResponse, SiteGenerationIntakePayload, SiteGenerationIntakeResponse } from "./siteOnboarding";
|
|
17
17
|
import type { SitePrivacySettingsPayload, SitePrivacySettingsResponse } from "./privacyPolicy";
|
|
18
18
|
import type { MaintenanceSettingsPayload, MaintenanceSettingsResponse, SiteBusinessAddressPayload, SiteBusinessAddressResponse, SiteFooterBlocksEditorResponse, SiteGeneralSettingsPayload, SiteGeneralSettingsResponse, SiteLayoutSettingsPayload, SiteLayoutSettingsResponse, UpdateSiteDeploymentModePayload, UpdateSiteDeploymentModeResponse, UpdateSiteFooterBlocksPayload, UpdateSiteFooterBlocksResponse } from "./siteSettings";
|
|
@@ -509,9 +509,9 @@ export type SiteManagementAPIEndpoints = {
|
|
|
509
509
|
generateGeneratedIconSet: APIEndpoint<GeneratedIconSetGenerateRequest, {
|
|
510
510
|
siteId: string;
|
|
511
511
|
}, GeneratedIconSetGenerateResponse>;
|
|
512
|
-
|
|
512
|
+
listGeneratedIconSets: APIEndpoint<never, {
|
|
513
513
|
siteId: string;
|
|
514
|
-
},
|
|
514
|
+
} & GeneratedIconSetListRequest, GeneratedIconSetListResponse>;
|
|
515
515
|
getSiteAiProfile: APIEndpoint<never, {
|
|
516
516
|
siteId: string;
|
|
517
517
|
}, SiteAiProfileResponse>;
|
|
@@ -3,7 +3,7 @@ import type { ListMediaAssetsResult, MediaAssetWithLabels } from '@riverbankcms/
|
|
|
3
3
|
import type { DbJson } from '../../db/src/index';
|
|
4
4
|
import type { PageDesignEditorReadModel, PageDesignIntent, AppearancePresetId, BoundaryOptionId, DesignBlockId, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId, LayoutVariantKey, SiteStyleId, TypographyPresetId } from '../../theme-core/src/site-styles/index';
|
|
5
5
|
import type { ButtonPersonalityId } from '../../theme-core/src/buttons/index';
|
|
6
|
-
import type { PaletteOverrides,
|
|
6
|
+
import type { PaletteCommand, PaletteOverrides, PaletteSelection, CuratedPaletteId } from '../../theme-core/src/palette/index';
|
|
7
7
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
8
8
|
import type { AnalyticsReportQuery, AnalyticsReportResponse } from './analytics';
|
|
9
9
|
import type { CreateMediaAssetBody, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse } from './media';
|
|
@@ -21,7 +21,7 @@ import type { DevToolsGetSiteRoleDowngradeQuery, DevToolsImpersonationResponse,
|
|
|
21
21
|
*/
|
|
22
22
|
export type SiteThemeSelectionsPayload = {
|
|
23
23
|
buttonPersonalityId?: ButtonPersonalityId | null;
|
|
24
|
-
paletteVariantId?:
|
|
24
|
+
paletteVariantId?: CuratedPaletteId | null;
|
|
25
25
|
paletteOverrides?: PaletteOverrides | null;
|
|
26
26
|
headerLayoutId?: HeaderLayoutId | null;
|
|
27
27
|
headerStyleId?: HeaderStyleId | null;
|
|
@@ -31,11 +31,9 @@ export type SiteThemeSelectionsPayload = {
|
|
|
31
31
|
headerLookId?: HeaderLookId | null;
|
|
32
32
|
footerLookId?: FooterLookId | null;
|
|
33
33
|
};
|
|
34
|
-
|
|
34
|
+
type ApplySiteStyleSelectionCommonBody = Readonly<{
|
|
35
35
|
siteStyleId: SiteStyleId;
|
|
36
36
|
buttonPersonalityId: ButtonPersonalityId | null;
|
|
37
|
-
paletteVariantId: PaletteVariantId | null;
|
|
38
|
-
paletteOverrides: PaletteOverrides | null;
|
|
39
37
|
typographyPresetId?: TypographyPresetId | null;
|
|
40
38
|
typographyBodyFontOverride?: string | null;
|
|
41
39
|
typographyHeadingFontOverride?: string | null;
|
|
@@ -47,6 +45,16 @@ export type ApplySiteStyleSelectionBody = Readonly<{
|
|
|
47
45
|
baseSelectionVersion: number;
|
|
48
46
|
selectionId?: string | null;
|
|
49
47
|
}>;
|
|
48
|
+
export type ApplySiteStyleSelectionBody = ApplySiteStyleSelectionCommonBody & (Readonly<{
|
|
49
|
+
paletteCommand: PaletteCommand;
|
|
50
|
+
paletteVariantId?: never;
|
|
51
|
+
paletteOverrides?: never;
|
|
52
|
+
}> | Readonly<{
|
|
53
|
+
/** Bounded input adapter for callers not yet emitting commands. */
|
|
54
|
+
paletteCommand?: undefined;
|
|
55
|
+
paletteVariantId: CuratedPaletteId | null;
|
|
56
|
+
paletteOverrides: PaletteOverrides | null;
|
|
57
|
+
}>);
|
|
50
58
|
export type ApplySiteStyleSelectionResponse = Readonly<{
|
|
51
59
|
success: boolean;
|
|
52
60
|
themeId: string;
|
|
@@ -57,8 +65,11 @@ export type ApplySiteStyleSelectionResponse = Readonly<{
|
|
|
57
65
|
theme: Theme;
|
|
58
66
|
siteStyleId: SiteStyleId;
|
|
59
67
|
buttonPersonalityId: ButtonPersonalityId;
|
|
60
|
-
paletteVariantId:
|
|
68
|
+
paletteVariantId: CuratedPaletteId;
|
|
61
69
|
paletteOverrides: PaletteOverrides | null;
|
|
70
|
+
activePaletteSelection: PaletteSelection;
|
|
71
|
+
/** Present only when the active selection is a site palette. */
|
|
72
|
+
activeSitePaletteVersion: number | null;
|
|
62
73
|
headerLayoutId: HeaderLayoutId;
|
|
63
74
|
headerStyleId: HeaderStyleId;
|
|
64
75
|
typographyPresetId: TypographyPresetId | null;
|
|
@@ -67,6 +78,18 @@ export type ApplySiteStyleSelectionResponse = Readonly<{
|
|
|
67
78
|
headerLookId: HeaderLookId | null;
|
|
68
79
|
footerLookId: FooterLookId;
|
|
69
80
|
}>;
|
|
81
|
+
export type ListSiteThemePalettesResponse = Readonly<{
|
|
82
|
+
active: Readonly<{
|
|
83
|
+
kind: 'migrated';
|
|
84
|
+
selection: PaletteSelection;
|
|
85
|
+
}> | Readonly<{
|
|
86
|
+
kind: 'legacy-unmigrated';
|
|
87
|
+
}> | Readonly<{
|
|
88
|
+
kind: 'invalid';
|
|
89
|
+
reason: string;
|
|
90
|
+
}>;
|
|
91
|
+
palettes: readonly import('../../theme-core/src/palette/index').SitePalette[];
|
|
92
|
+
}>;
|
|
70
93
|
export type SaveSiteChromeLookSelectionBody = Readonly<{
|
|
71
94
|
surface: 'header';
|
|
72
95
|
lookId: HeaderLookId | null;
|
|
@@ -89,6 +112,7 @@ export type SaveSiteChromeLookSelectionResponse = Readonly<{
|
|
|
89
112
|
themeId: string;
|
|
90
113
|
selectionId: string;
|
|
91
114
|
selectionUpdatedAt: string | null;
|
|
115
|
+
selectionVersion: number;
|
|
92
116
|
savedAt: string;
|
|
93
117
|
theme: Theme;
|
|
94
118
|
headerLookId: HeaderLookId | null;
|
|
@@ -230,6 +254,7 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
230
254
|
themeId: string;
|
|
231
255
|
selectionId: string;
|
|
232
256
|
selectionUpdatedAt: string | null;
|
|
257
|
+
selectionVersion: number;
|
|
233
258
|
savedAt: string;
|
|
234
259
|
overrides: Record<string, unknown> | null;
|
|
235
260
|
theme: Theme;
|
|
@@ -242,7 +267,7 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
242
267
|
* local state without a follow-up read.
|
|
243
268
|
*/
|
|
244
269
|
buttonPersonalityId: ButtonPersonalityId | null;
|
|
245
|
-
paletteVariantId:
|
|
270
|
+
paletteVariantId: CuratedPaletteId | null;
|
|
246
271
|
paletteOverrides: PaletteOverrides | null;
|
|
247
272
|
headerLayoutId: HeaderLayoutId | null;
|
|
248
273
|
headerStyleId: HeaderStyleId | null;
|
|
@@ -255,6 +280,9 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
255
280
|
applySiteStyleSelection: APIEndpoint<ApplySiteStyleSelectionBody, {
|
|
256
281
|
siteId: string;
|
|
257
282
|
}, ApplySiteStyleSelectionResponse>;
|
|
283
|
+
listSiteThemePalettes: APIEndpoint<never, {
|
|
284
|
+
siteId: string;
|
|
285
|
+
}, ListSiteThemePalettesResponse>;
|
|
258
286
|
saveSiteChromeLookSelection: APIEndpoint<SaveSiteChromeLookSelectionBody, {
|
|
259
287
|
siteId: string;
|
|
260
288
|
}, SaveSiteChromeLookSelectionResponse>;
|
|
@@ -807,3 +835,4 @@ export type SiteRuntimeAPIEndpoints = {
|
|
|
807
835
|
sessionId?: string;
|
|
808
836
|
}, never, void>;
|
|
809
837
|
};
|
|
838
|
+
export {};
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* `ui: { widget: 'slider' }` on `type: 'number'` fields.
|
|
8
8
|
*
|
|
9
9
|
* Key behaviors:
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* - Supports
|
|
10
|
+
* - Percentage/max-on-unset behavior remains the default for opacity fields
|
|
11
|
+
* - Supports percent, pixel, and unitless value display
|
|
12
|
+
* - Supports an optional linked numeric input for broad ranges
|
|
13
13
|
*/
|
|
14
14
|
import type { FieldWidgetProps } from '../../fields/props';
|
|
15
15
|
import type { NumberFieldConfig } from '../../fields/types';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { SliderUiConfig } from '../utils/readNumericUiConfig';
|
|
2
|
+
import { type Result } from '../../../../core/src/index';
|
|
3
|
+
export type SliderValueBounds = Readonly<{
|
|
4
|
+
min: number;
|
|
5
|
+
max: number;
|
|
6
|
+
step: number;
|
|
7
|
+
}>;
|
|
8
|
+
export type SliderValueBoundsError = Readonly<{
|
|
9
|
+
tag: 'invalid_min';
|
|
10
|
+
value: number;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
tag: 'invalid_max';
|
|
13
|
+
value: number;
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
tag: 'inverted_range';
|
|
16
|
+
min: number;
|
|
17
|
+
max: number;
|
|
18
|
+
}> | Readonly<{
|
|
19
|
+
tag: 'invalid_step';
|
|
20
|
+
value: number;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const DEFAULT_SLIDER_VALUE_BOUNDS: SliderValueBounds;
|
|
23
|
+
export declare function parseSliderValueBounds(input: Readonly<{
|
|
24
|
+
fieldMin?: number;
|
|
25
|
+
fieldMax?: number;
|
|
26
|
+
fieldStep?: number;
|
|
27
|
+
ui: SliderUiConfig;
|
|
28
|
+
}>): Result<SliderValueBounds, SliderValueBoundsError>;
|
|
29
|
+
export declare function constrainSliderValue(value: number, bounds: SliderValueBounds): number;
|
|
30
|
+
export declare function resolveSliderDisplayValue(input: Readonly<{
|
|
31
|
+
value: number | null | undefined;
|
|
32
|
+
defaultValue: unknown;
|
|
33
|
+
unsetValue: SliderUiConfig['unsetValue'];
|
|
34
|
+
bounds: SliderValueBounds;
|
|
35
|
+
}>): number;
|
|
36
|
+
export declare function sliderValueSuffix(unit: SliderUiConfig['valueUnit']): string;
|
|
@@ -5,6 +5,9 @@ export type NumericInputUiConfig = {
|
|
|
5
5
|
};
|
|
6
6
|
export type SliderUiConfig = NumericInputUiConfig & {
|
|
7
7
|
showValue?: boolean;
|
|
8
|
+
valueUnit?: 'percent' | 'pixels' | 'unitless';
|
|
9
|
+
unsetValue?: 'max' | 'field-default';
|
|
10
|
+
allowDirectInput?: boolean;
|
|
8
11
|
};
|
|
9
12
|
export declare function readNumberFieldUiConfig(ui: unknown): NumericInputUiConfig;
|
|
10
13
|
export declare function readSliderFieldUiConfig(ui: unknown): SliderUiConfig;
|
|
@@ -33,7 +33,7 @@ export * from '../../theme-core/src/siteChrome';
|
|
|
33
33
|
export * from '../../theme-core/src/blocks/index';
|
|
34
34
|
export { EDITABLE_SURFACE_FORWARDING_PROP, markEditableSurfaceForwarding, type EditableSurfaceForwardingComponent, } from './system/runtime/header/shared';
|
|
35
35
|
export * from './system';
|
|
36
|
-
export { parseSiteIconStyleGuideVersionId, type SiteIconStyleGuideVersionId, } from './system/icons/ids';
|
|
36
|
+
export { type GeneratedIconAssetId, type GeneratedIconSetId, parseSiteIconStyleGuideVersionId, type SiteIconStyleGuideVersionId, } from './system/icons/ids';
|
|
37
37
|
export { isSemanticIconId, type SemanticIconId, } from './system/icons/semantic';
|
|
38
38
|
export { getGeneratedBlockIconStyleState, parseBlockIconValue, type GeneratedBlockIconValue, type GeneratedBlockIconStyleState, } from './system/icons/value';
|
|
39
39
|
export { SUPPORTED_LOADER_ENDPOINTS, isSupportedLoaderEndpoint, type SupportedLoaderEndpoint, } from './system/data';
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
import type { TipTapNode } from '../manifest/richTextSchema';
|
|
2
|
+
import { type Brand, type Result } from '../../../../core/src/index';
|
|
2
3
|
import type { SemanticIconId } from '../icons/semantic';
|
|
3
4
|
import { type BlockIconValue } from '../icons/value';
|
|
4
5
|
export declare const FEATURE_CARD_ICON_TREATMENTS: readonly ["plain", "soft-badge", "utility-badge"];
|
|
5
6
|
export type FeatureCardIconTreatment = (typeof FEATURE_CARD_ICON_TREATMENTS)[number];
|
|
7
|
+
export declare const FEATURE_CARD_GENERATED_ICON_SIZE_PX: {
|
|
8
|
+
readonly min: 40;
|
|
9
|
+
readonly max: 400;
|
|
10
|
+
readonly step: 5;
|
|
11
|
+
readonly default: 75;
|
|
12
|
+
};
|
|
13
|
+
export type FeatureCardGeneratedIconSizePx = Brand<number, 'FeatureCardGeneratedIconSizePx'>;
|
|
14
|
+
export type FeatureCardGeneratedIconSizeError = Readonly<{
|
|
15
|
+
tag: 'not_number';
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
tag: 'not_finite';
|
|
18
|
+
value: number;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
tag: 'not_integer';
|
|
21
|
+
value: number;
|
|
22
|
+
}> | Readonly<{
|
|
23
|
+
tag: 'out_of_range';
|
|
24
|
+
value: number;
|
|
25
|
+
min: number;
|
|
26
|
+
max: number;
|
|
27
|
+
}> | Readonly<{
|
|
28
|
+
tag: 'off_step';
|
|
29
|
+
value: number;
|
|
30
|
+
min: number;
|
|
31
|
+
step: number;
|
|
32
|
+
}>;
|
|
33
|
+
export declare function parseFeatureCardGeneratedIconSizePx(value: unknown): Result<FeatureCardGeneratedIconSizePx, FeatureCardGeneratedIconSizeError>;
|
|
34
|
+
export declare function resolveFeatureCardGeneratedIconSizePx(value: unknown): FeatureCardGeneratedIconSizePx;
|
|
6
35
|
export type FeatureCardIconContent = {
|
|
7
36
|
title?: string | null;
|
|
8
37
|
body?: TipTapNode | null;
|
|
@@ -17,41 +46,12 @@ export type FeatureCardIconSuggestionInput = {
|
|
|
17
46
|
bodyText: string;
|
|
18
47
|
icon: BlockIconValue;
|
|
19
48
|
};
|
|
20
|
-
export type FeatureCardIconSuggestion = {
|
|
21
|
-
cardKey: string;
|
|
22
|
-
iconId: string;
|
|
23
|
-
};
|
|
24
|
-
export type ValidatedFeatureCardIconSuggestion = {
|
|
25
|
-
cardKey: string;
|
|
26
|
-
iconId: SemanticIconId;
|
|
27
|
-
};
|
|
28
49
|
export type FeatureCardIconCompletion = {
|
|
29
50
|
totalCards: number;
|
|
30
51
|
cardsWithIcons: number;
|
|
31
52
|
};
|
|
32
|
-
export type FeatureCardIconSuggestionPlan = {
|
|
33
|
-
kind: 'applied';
|
|
34
|
-
appliedSuggestions: readonly ValidatedFeatureCardIconSuggestion[];
|
|
35
|
-
} | {
|
|
36
|
-
kind: 'duplicate_card_key';
|
|
37
|
-
cardKey: string;
|
|
38
|
-
} | {
|
|
39
|
-
kind: 'duplicate_suggestion_card_key';
|
|
40
|
-
cardKey: string;
|
|
41
|
-
} | {
|
|
42
|
-
kind: 'missing_suggestion_card_key';
|
|
43
|
-
cardKey: string;
|
|
44
|
-
} | {
|
|
45
|
-
kind: 'unknown_card_key';
|
|
46
|
-
cardKey: string;
|
|
47
|
-
} | {
|
|
48
|
-
kind: 'invalid_semantic_icon';
|
|
49
|
-
iconId: string;
|
|
50
|
-
};
|
|
51
53
|
export declare function createFeatureCardIconKey(card: FeatureCardIconInputContent, index: number): string;
|
|
52
54
|
export declare function getFeatureCardIconCompletion(cards: readonly FeatureCardIconInputContent[] | null | undefined): FeatureCardIconCompletion;
|
|
53
55
|
export declare function shouldReserveFeatureCardIconZone(cards: readonly FeatureCardIconInputContent[] | null | undefined): boolean;
|
|
54
56
|
export declare function toFeatureCardIconSuggestionInputs(cards: readonly FeatureCardIconInputContent[] | null | undefined): readonly FeatureCardIconSuggestionInput[];
|
|
55
57
|
export declare function suggestSemanticIconForFeatureCard(card: FeatureCardIconSuggestionInput): SemanticIconId;
|
|
56
|
-
export declare function suggestFeatureCardSemanticIcons(cards: readonly FeatureCardIconInputContent[] | null | undefined): readonly FeatureCardIconSuggestion[];
|
|
57
|
-
export declare function applyFeatureCardIconSuggestions(cards: readonly FeatureCardIconInputContent[], suggestions: readonly FeatureCardIconSuggestion[]): FeatureCardIconSuggestionPlan;
|
|
@@ -25,6 +25,7 @@ export type FeatureCardsContent = {
|
|
|
25
25
|
columns?: FeatureCardsColumns | null;
|
|
26
26
|
cardMarker?: FeatureCardsCardMarker | null;
|
|
27
27
|
_iconTreatment?: FeatureCardIconTreatment | null;
|
|
28
|
+
_generatedIconSizePx?: number | null;
|
|
28
29
|
cards?: FeatureCard[] | null;
|
|
29
30
|
};
|
|
30
31
|
export declare const featureCardsBlockDefinition: SystemBlockDefinition<FeatureCardsContent>;
|
|
@@ -76,6 +76,9 @@ export declare const locationMapManifest: import("..").DefinedBlockManifest<{
|
|
|
76
76
|
max?: number | undefined;
|
|
77
77
|
step?: number | undefined;
|
|
78
78
|
showValue?: boolean | undefined;
|
|
79
|
+
valueUnit?: "percent" | "pixels" | "unitless" | undefined;
|
|
80
|
+
unsetValue?: "max" | "field-default" | undefined;
|
|
81
|
+
allowDirectInput?: boolean | undefined;
|
|
79
82
|
pattern?: string | undefined;
|
|
80
83
|
placeholder?: string | undefined;
|
|
81
84
|
visibleWhen?: import("..").FieldVisibleWhen | undefined;
|