@riverbankcms/sdk 0.60.3 → 0.60.6
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/_dts/api/src/bookingVerticals.d.ts +1 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -39
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
- package/dist/_dts/core/src/participants.d.ts +32 -1
- package/dist/_dts/core/src/rectification.d.ts +79 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +6 -6
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +17 -15
- package/dist/_dts/sdk/src/client/types.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +86 -5
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +10 -10
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +200 -4
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +10 -10
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +33 -9
- package/dist/_dts/theme-core/src/site-styles/curatedChoices.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +48 -194
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +12 -14
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
- package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +47 -0
- package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +50 -0
- package/dist/_dts/ui/src/palette/hex.d.ts +23 -0
- package/dist/_dts/ui/src/palette/index.d.ts +14 -0
- package/dist/cli/index.mjs +1023 -923
- package/dist/client/client.mjs +3410 -3221
- package/dist/client/hooks.mjs +1625 -1564
- package/dist/client/rendering/client.mjs +132 -37
- package/dist/client/rendering/islands.mjs +91 -30
- package/dist/client/rendering.mjs +1237 -1049
- package/dist/preview-next/client/runtime.mjs +3095 -2736
- package/dist/server/components.mjs +2381 -2255
- package/dist/server/config-validation.mjs +1625 -1564
- package/dist/server/config.mjs +1625 -1564
- package/dist/server/data.mjs +1625 -1564
- package/dist/server/index.mjs +4 -3
- package/dist/server/next.mjs +3233 -3106
- package/dist/server/page-converter.mjs +1625 -1564
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2381 -2255
- package/dist/server/rendering.mjs +2381 -2255
- package/dist/server/routing.mjs +2340 -2271
- package/dist/server/server.mjs +1629 -1567
- package/dist/server/theme-bridge.mjs +130 -126
- package/dist/server/theme.mjs +131 -129
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +0 -109
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { type ButtonSystem } from '../types';
|
|
3
|
-
import { type StyleTags } from '../../site-styles/
|
|
3
|
+
import { type StyleTags } from '../../site-styles/styleTags';
|
|
4
4
|
/**
|
|
5
5
|
* Branded ID for a button personality entry in the curated library.
|
|
6
6
|
* Shape matches the `Brand<T, TBrand>` convention in `site-styles/types.ts`
|
|
7
7
|
* (kept structurally compatible until that alias is hoisted to a shared file).
|
|
8
8
|
* Use `asButtonPersonalityId` at the parse/construction boundary.
|
|
9
9
|
*/
|
|
10
|
-
export type ButtonPersonalityId = string & {
|
|
10
|
+
export type ButtonPersonalityId<T extends string = string> = T & {
|
|
11
11
|
readonly __brand: 'ButtonPersonalityId';
|
|
12
12
|
};
|
|
13
|
-
export declare function asButtonPersonalityId(value:
|
|
14
|
-
export declare const buttonPersonalityIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<ButtonPersonalityId
|
|
13
|
+
export declare function asButtonPersonalityId<const T extends string>(value: T): ButtonPersonalityId<T>;
|
|
14
|
+
export declare const buttonPersonalityIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<ButtonPersonalityId<string>, string>>;
|
|
15
15
|
/**
|
|
16
16
|
* A button personality is a complete `ButtonSystem` plus the tags that decide
|
|
17
17
|
* which curated site styles will accept it. The `name` and `description` are
|
|
18
18
|
* surfaced in the Style configurator UI.
|
|
19
19
|
*/
|
|
20
|
-
export type ButtonPersonality = Readonly<{
|
|
21
|
-
id:
|
|
20
|
+
export type ButtonPersonality<TId extends ButtonPersonalityId = ButtonPersonalityId> = Readonly<{
|
|
21
|
+
id: TId;
|
|
22
22
|
name: string;
|
|
23
23
|
description: string;
|
|
24
24
|
tags: StyleTags;
|
|
25
25
|
buttonSystem: ButtonSystem;
|
|
26
26
|
}>;
|
|
27
27
|
export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
28
|
-
id: z.ZodPipe<z.ZodString, z.ZodTransform<ButtonPersonalityId
|
|
28
|
+
id: z.ZodPipe<z.ZodString, z.ZodTransform<ButtonPersonalityId<string>, string>>;
|
|
29
29
|
name: z.ZodString;
|
|
30
30
|
description: z.ZodString;
|
|
31
31
|
tags: z.ZodObject<{
|
|
@@ -259,10 +259,10 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
|
|
|
259
259
|
* type-safe. `as const satisfies ...` would also work but produces wider
|
|
260
260
|
* types at use sites.
|
|
261
261
|
*/
|
|
262
|
-
export declare function defineButtonPersonality(input: {
|
|
263
|
-
id:
|
|
262
|
+
export declare function defineButtonPersonality<const TId extends string>(input: {
|
|
263
|
+
id: TId;
|
|
264
264
|
name: string;
|
|
265
265
|
description: string;
|
|
266
266
|
tags: StyleTags;
|
|
267
267
|
buttonSystem: ButtonSystem;
|
|
268
|
-
}): ButtonPersonality
|
|
268
|
+
}): ButtonPersonality<ButtonPersonalityId<TId>>;
|
|
@@ -3,26 +3,50 @@
|
|
|
3
3
|
* with Clear Professional, Bright Community, Practical Services site styles.
|
|
4
4
|
*/
|
|
5
5
|
export declare const brandLedCool: Readonly<{
|
|
6
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
6
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"brand-led-cool">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
mode: "light" | "dark";
|
|
11
|
-
colors:
|
|
16
|
+
colors: readonly Readonly<{
|
|
17
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
18
|
+
hex: string;
|
|
19
|
+
}>[];
|
|
12
20
|
}>;
|
|
13
21
|
export declare const brandLedWarm: Readonly<{
|
|
14
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
22
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"brand-led-warm">;
|
|
15
23
|
name: string;
|
|
16
24
|
description: string;
|
|
17
|
-
tags:
|
|
25
|
+
tags: Readonly<Partial<Readonly<{
|
|
26
|
+
tone: import("../../site-styles").StyleTone;
|
|
27
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
28
|
+
motion: import("../../site-styles").StyleMotion;
|
|
29
|
+
era: import("../../site-styles").StyleEra;
|
|
30
|
+
}>>>;
|
|
18
31
|
mode: "light" | "dark";
|
|
19
|
-
colors:
|
|
32
|
+
colors: readonly Readonly<{
|
|
33
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
34
|
+
hex: string;
|
|
35
|
+
}>[];
|
|
20
36
|
}>;
|
|
21
37
|
export declare const brandLedJewel: Readonly<{
|
|
22
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
38
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"brand-led-jewel">;
|
|
23
39
|
name: string;
|
|
24
40
|
description: string;
|
|
25
|
-
tags:
|
|
41
|
+
tags: Readonly<Partial<Readonly<{
|
|
42
|
+
tone: import("../../site-styles").StyleTone;
|
|
43
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
44
|
+
motion: import("../../site-styles").StyleMotion;
|
|
45
|
+
era: import("../../site-styles").StyleEra;
|
|
46
|
+
}>>>;
|
|
26
47
|
mode: "light" | "dark";
|
|
27
|
-
colors:
|
|
48
|
+
colors: readonly Readonly<{
|
|
49
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
50
|
+
hex: string;
|
|
51
|
+
}>[];
|
|
28
52
|
}>;
|
|
@@ -3,26 +3,50 @@
|
|
|
3
3
|
* Pairs with Quiet Luxury, Bold Launch, Practical Services site styles.
|
|
4
4
|
*/
|
|
5
5
|
export declare const highContrastInk: Readonly<{
|
|
6
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
6
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"high-contrast-ink">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
mode: "light" | "dark";
|
|
11
|
-
colors:
|
|
16
|
+
colors: readonly Readonly<{
|
|
17
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
18
|
+
hex: string;
|
|
19
|
+
}>[];
|
|
12
20
|
}>;
|
|
13
21
|
export declare const highContrastCharcoal: Readonly<{
|
|
14
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
22
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"high-contrast-charcoal">;
|
|
15
23
|
name: string;
|
|
16
24
|
description: string;
|
|
17
|
-
tags:
|
|
25
|
+
tags: Readonly<Partial<Readonly<{
|
|
26
|
+
tone: import("../../site-styles").StyleTone;
|
|
27
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
28
|
+
motion: import("../../site-styles").StyleMotion;
|
|
29
|
+
era: import("../../site-styles").StyleEra;
|
|
30
|
+
}>>>;
|
|
18
31
|
mode: "light" | "dark";
|
|
19
|
-
colors:
|
|
32
|
+
colors: readonly Readonly<{
|
|
33
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
34
|
+
hex: string;
|
|
35
|
+
}>[];
|
|
20
36
|
}>;
|
|
21
37
|
export declare const highContrastMonochrome: Readonly<{
|
|
22
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
38
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"high-contrast-monochrome">;
|
|
23
39
|
name: string;
|
|
24
40
|
description: string;
|
|
25
|
-
tags:
|
|
41
|
+
tags: Readonly<Partial<Readonly<{
|
|
42
|
+
tone: import("../../site-styles").StyleTone;
|
|
43
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
44
|
+
motion: import("../../site-styles").StyleMotion;
|
|
45
|
+
era: import("../../site-styles").StyleEra;
|
|
46
|
+
}>>>;
|
|
26
47
|
mode: "light" | "dark";
|
|
27
|
-
colors:
|
|
48
|
+
colors: readonly Readonly<{
|
|
49
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
50
|
+
hex: string;
|
|
51
|
+
}>[];
|
|
28
52
|
}>;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Each variant is a complete colour palette tagged on the four style axes
|
|
5
5
|
* (tone / energy / motion / era — motion is rarely used for palettes).
|
|
6
|
-
* Curated site styles declare
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Curated site styles declare ordered palette choices for the picker. Tags
|
|
7
|
+
* stay available as authoring/audit metadata; they no longer drive the Style
|
|
8
|
+
* configurator's option shape.
|
|
9
9
|
*
|
|
10
10
|
* `paletteOverrides` carries per-token hex edits applied on top of the
|
|
11
11
|
* chosen variant; see the merge semantics in `compileSiteThemeFromSelections`.
|
|
@@ -13,5 +13,201 @@
|
|
|
13
13
|
import type { PaletteVariant, PaletteVariantId } from './types';
|
|
14
14
|
export type { HexColor, PaletteColor, PaletteOverrides, PaletteTokenName, PaletteVariant, PaletteVariantId } from './types';
|
|
15
15
|
export { PALETTE_TOKEN_NAMES, asPaletteVariantId, definePaletteVariant, hexColorSchema, paletteOverridesSchema, paletteTokenNameSchema, paletteVariantIdSchema, paletteVariantSchema, } from './types';
|
|
16
|
-
export declare const paletteVariants: readonly
|
|
16
|
+
export declare const paletteVariants: readonly [Readonly<{
|
|
17
|
+
id: PaletteVariantId<"brand-led-cool">;
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
tags: Readonly<Partial<Readonly<{
|
|
21
|
+
tone: import("../../site-styles").StyleTone;
|
|
22
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
23
|
+
motion: import("../../site-styles").StyleMotion;
|
|
24
|
+
era: import("../../site-styles").StyleEra;
|
|
25
|
+
}>>>;
|
|
26
|
+
mode: "light" | "dark";
|
|
27
|
+
colors: readonly Readonly<{
|
|
28
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
29
|
+
hex: string;
|
|
30
|
+
}>[];
|
|
31
|
+
}>, Readonly<{
|
|
32
|
+
id: PaletteVariantId<"brand-led-warm">;
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
tags: Readonly<Partial<Readonly<{
|
|
36
|
+
tone: import("../../site-styles").StyleTone;
|
|
37
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
38
|
+
motion: import("../../site-styles").StyleMotion;
|
|
39
|
+
era: import("../../site-styles").StyleEra;
|
|
40
|
+
}>>>;
|
|
41
|
+
mode: "light" | "dark";
|
|
42
|
+
colors: readonly Readonly<{
|
|
43
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
44
|
+
hex: string;
|
|
45
|
+
}>[];
|
|
46
|
+
}>, Readonly<{
|
|
47
|
+
id: PaletteVariantId<"brand-led-jewel">;
|
|
48
|
+
name: string;
|
|
49
|
+
description: string;
|
|
50
|
+
tags: Readonly<Partial<Readonly<{
|
|
51
|
+
tone: import("../../site-styles").StyleTone;
|
|
52
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
53
|
+
motion: import("../../site-styles").StyleMotion;
|
|
54
|
+
era: import("../../site-styles").StyleEra;
|
|
55
|
+
}>>>;
|
|
56
|
+
mode: "light" | "dark";
|
|
57
|
+
colors: readonly Readonly<{
|
|
58
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
59
|
+
hex: string;
|
|
60
|
+
}>[];
|
|
61
|
+
}>, Readonly<{
|
|
62
|
+
id: PaletteVariantId<"warm-neutral-clay">;
|
|
63
|
+
name: string;
|
|
64
|
+
description: string;
|
|
65
|
+
tags: Readonly<Partial<Readonly<{
|
|
66
|
+
tone: import("../../site-styles").StyleTone;
|
|
67
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
68
|
+
motion: import("../../site-styles").StyleMotion;
|
|
69
|
+
era: import("../../site-styles").StyleEra;
|
|
70
|
+
}>>>;
|
|
71
|
+
mode: "light" | "dark";
|
|
72
|
+
colors: readonly Readonly<{
|
|
73
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
74
|
+
hex: string;
|
|
75
|
+
}>[];
|
|
76
|
+
}>, Readonly<{
|
|
77
|
+
id: PaletteVariantId<"warm-neutral-cream">;
|
|
78
|
+
name: string;
|
|
79
|
+
description: string;
|
|
80
|
+
tags: Readonly<Partial<Readonly<{
|
|
81
|
+
tone: import("../../site-styles").StyleTone;
|
|
82
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
83
|
+
motion: import("../../site-styles").StyleMotion;
|
|
84
|
+
era: import("../../site-styles").StyleEra;
|
|
85
|
+
}>>>;
|
|
86
|
+
mode: "light" | "dark";
|
|
87
|
+
colors: readonly Readonly<{
|
|
88
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
89
|
+
hex: string;
|
|
90
|
+
}>[];
|
|
91
|
+
}>, Readonly<{
|
|
92
|
+
id: PaletteVariantId<"warm-neutral-forest">;
|
|
93
|
+
name: string;
|
|
94
|
+
description: string;
|
|
95
|
+
tags: Readonly<Partial<Readonly<{
|
|
96
|
+
tone: import("../../site-styles").StyleTone;
|
|
97
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
98
|
+
motion: import("../../site-styles").StyleMotion;
|
|
99
|
+
era: import("../../site-styles").StyleEra;
|
|
100
|
+
}>>>;
|
|
101
|
+
mode: "light" | "dark";
|
|
102
|
+
colors: readonly Readonly<{
|
|
103
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
104
|
+
hex: string;
|
|
105
|
+
}>[];
|
|
106
|
+
}>, Readonly<{
|
|
107
|
+
id: PaletteVariantId<"high-contrast-ink">;
|
|
108
|
+
name: string;
|
|
109
|
+
description: string;
|
|
110
|
+
tags: Readonly<Partial<Readonly<{
|
|
111
|
+
tone: import("../../site-styles").StyleTone;
|
|
112
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
113
|
+
motion: import("../../site-styles").StyleMotion;
|
|
114
|
+
era: import("../../site-styles").StyleEra;
|
|
115
|
+
}>>>;
|
|
116
|
+
mode: "light" | "dark";
|
|
117
|
+
colors: readonly Readonly<{
|
|
118
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
119
|
+
hex: string;
|
|
120
|
+
}>[];
|
|
121
|
+
}>, Readonly<{
|
|
122
|
+
id: PaletteVariantId<"high-contrast-charcoal">;
|
|
123
|
+
name: string;
|
|
124
|
+
description: string;
|
|
125
|
+
tags: Readonly<Partial<Readonly<{
|
|
126
|
+
tone: import("../../site-styles").StyleTone;
|
|
127
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
128
|
+
motion: import("../../site-styles").StyleMotion;
|
|
129
|
+
era: import("../../site-styles").StyleEra;
|
|
130
|
+
}>>>;
|
|
131
|
+
mode: "light" | "dark";
|
|
132
|
+
colors: readonly Readonly<{
|
|
133
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
134
|
+
hex: string;
|
|
135
|
+
}>[];
|
|
136
|
+
}>, Readonly<{
|
|
137
|
+
id: PaletteVariantId<"high-contrast-monochrome">;
|
|
138
|
+
name: string;
|
|
139
|
+
description: string;
|
|
140
|
+
tags: Readonly<Partial<Readonly<{
|
|
141
|
+
tone: import("../../site-styles").StyleTone;
|
|
142
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
143
|
+
motion: import("../../site-styles").StyleMotion;
|
|
144
|
+
era: import("../../site-styles").StyleEra;
|
|
145
|
+
}>>>;
|
|
146
|
+
mode: "light" | "dark";
|
|
147
|
+
colors: readonly Readonly<{
|
|
148
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
149
|
+
hex: string;
|
|
150
|
+
}>[];
|
|
151
|
+
}>, Readonly<{
|
|
152
|
+
id: PaletteVariantId<"soft-natural-sage">;
|
|
153
|
+
name: string;
|
|
154
|
+
description: string;
|
|
155
|
+
tags: Readonly<Partial<Readonly<{
|
|
156
|
+
tone: import("../../site-styles").StyleTone;
|
|
157
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
158
|
+
motion: import("../../site-styles").StyleMotion;
|
|
159
|
+
era: import("../../site-styles").StyleEra;
|
|
160
|
+
}>>>;
|
|
161
|
+
mode: "light" | "dark";
|
|
162
|
+
colors: readonly Readonly<{
|
|
163
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
164
|
+
hex: string;
|
|
165
|
+
}>[];
|
|
166
|
+
}>, Readonly<{
|
|
167
|
+
id: PaletteVariantId<"soft-natural-stone">;
|
|
168
|
+
name: string;
|
|
169
|
+
description: string;
|
|
170
|
+
tags: Readonly<Partial<Readonly<{
|
|
171
|
+
tone: import("../../site-styles").StyleTone;
|
|
172
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
173
|
+
motion: import("../../site-styles").StyleMotion;
|
|
174
|
+
era: import("../../site-styles").StyleEra;
|
|
175
|
+
}>>>;
|
|
176
|
+
mode: "light" | "dark";
|
|
177
|
+
colors: readonly Readonly<{
|
|
178
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
179
|
+
hex: string;
|
|
180
|
+
}>[];
|
|
181
|
+
}>, Readonly<{
|
|
182
|
+
id: PaletteVariantId<"soft-natural-watercolor">;
|
|
183
|
+
name: string;
|
|
184
|
+
description: string;
|
|
185
|
+
tags: Readonly<Partial<Readonly<{
|
|
186
|
+
tone: import("../../site-styles").StyleTone;
|
|
187
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
188
|
+
motion: import("../../site-styles").StyleMotion;
|
|
189
|
+
era: import("../../site-styles").StyleEra;
|
|
190
|
+
}>>>;
|
|
191
|
+
mode: "light" | "dark";
|
|
192
|
+
colors: readonly Readonly<{
|
|
193
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
194
|
+
hex: string;
|
|
195
|
+
}>[];
|
|
196
|
+
}>];
|
|
197
|
+
type UnbrandedPaletteVariantId<TValue> = TValue extends infer TRaw & {
|
|
198
|
+
readonly __brand: 'PaletteVariantId';
|
|
199
|
+
} ? TRaw extends string ? TRaw : never : never;
|
|
200
|
+
export type KnownPaletteVariantId = (typeof paletteVariants)[number]['id'];
|
|
201
|
+
export type KnownPaletteVariantIdValue = UnbrandedPaletteVariantId<KnownPaletteVariantId>;
|
|
17
202
|
export declare function findPaletteVariant(id: PaletteVariantId): PaletteVariant | undefined;
|
|
203
|
+
export declare function isKnownPaletteVariantId(value: string): value is KnownPaletteVariantId;
|
|
204
|
+
export type PersistedPaletteVariantIdParseResult = Readonly<{
|
|
205
|
+
kind: 'known';
|
|
206
|
+
id: KnownPaletteVariantId;
|
|
207
|
+
}> | Readonly<{
|
|
208
|
+
kind: 'unknown';
|
|
209
|
+
raw: string;
|
|
210
|
+
}> | Readonly<{
|
|
211
|
+
kind: 'empty';
|
|
212
|
+
}>;
|
|
213
|
+
export declare function parsePersistedPaletteVariantId(value: string | null | undefined): PersistedPaletteVariantIdParseResult;
|
|
@@ -3,26 +3,50 @@
|
|
|
3
3
|
* Studio, Modern Wellness, Warm Editorial site styles.
|
|
4
4
|
*/
|
|
5
5
|
export declare const softNaturalSage: Readonly<{
|
|
6
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
6
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"soft-natural-sage">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
mode: "light" | "dark";
|
|
11
|
-
colors:
|
|
16
|
+
colors: readonly Readonly<{
|
|
17
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
18
|
+
hex: string;
|
|
19
|
+
}>[];
|
|
12
20
|
}>;
|
|
13
21
|
export declare const softNaturalStone: Readonly<{
|
|
14
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
22
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"soft-natural-stone">;
|
|
15
23
|
name: string;
|
|
16
24
|
description: string;
|
|
17
|
-
tags:
|
|
25
|
+
tags: Readonly<Partial<Readonly<{
|
|
26
|
+
tone: import("../../site-styles").StyleTone;
|
|
27
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
28
|
+
motion: import("../../site-styles").StyleMotion;
|
|
29
|
+
era: import("../../site-styles").StyleEra;
|
|
30
|
+
}>>>;
|
|
18
31
|
mode: "light" | "dark";
|
|
19
|
-
colors:
|
|
32
|
+
colors: readonly Readonly<{
|
|
33
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
34
|
+
hex: string;
|
|
35
|
+
}>[];
|
|
20
36
|
}>;
|
|
21
37
|
export declare const softNaturalWatercolor: Readonly<{
|
|
22
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
38
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"soft-natural-watercolor">;
|
|
23
39
|
name: string;
|
|
24
40
|
description: string;
|
|
25
|
-
tags:
|
|
41
|
+
tags: Readonly<Partial<Readonly<{
|
|
42
|
+
tone: import("../../site-styles").StyleTone;
|
|
43
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
44
|
+
motion: import("../../site-styles").StyleMotion;
|
|
45
|
+
era: import("../../site-styles").StyleEra;
|
|
46
|
+
}>>>;
|
|
26
47
|
mode: "light" | "dark";
|
|
27
|
-
colors:
|
|
48
|
+
colors: readonly Readonly<{
|
|
49
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
50
|
+
hex: string;
|
|
51
|
+
}>[];
|
|
28
52
|
}>;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type StyleTags } from '../../site-styles/
|
|
2
|
+
import { type StyleTags } from '../../site-styles/styleTags';
|
|
3
3
|
/**
|
|
4
4
|
* Branded ID for a palette variant in the curated library. Shape matches the
|
|
5
5
|
* `Brand<T, TBrand>` convention in `site-styles/types.ts`. Use the helper at
|
|
6
6
|
* the parse/construction boundary.
|
|
7
7
|
*/
|
|
8
|
-
export type PaletteVariantId = string & {
|
|
8
|
+
export type PaletteVariantId<T extends string = string> = T & {
|
|
9
9
|
readonly __brand: 'PaletteVariantId';
|
|
10
10
|
};
|
|
11
|
-
export declare function asPaletteVariantId(value:
|
|
12
|
-
export declare const paletteVariantIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<PaletteVariantId
|
|
11
|
+
export declare function asPaletteVariantId<const T extends string>(value: T): PaletteVariantId<T>;
|
|
12
|
+
export declare const paletteVariantIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<PaletteVariantId<string>, string>>;
|
|
13
13
|
/**
|
|
14
14
|
* Known palette role token names. Closed union so unknown tokens can't be
|
|
15
15
|
* persisted via `paletteOverrides`. Add a new role here intentionally.
|
|
@@ -45,8 +45,8 @@ export type PaletteColor = Readonly<{
|
|
|
45
45
|
name: PaletteTokenName;
|
|
46
46
|
hex: string;
|
|
47
47
|
}>;
|
|
48
|
-
export type PaletteVariant = Readonly<{
|
|
49
|
-
id:
|
|
48
|
+
export type PaletteVariant<TId extends PaletteVariantId = PaletteVariantId> = Readonly<{
|
|
49
|
+
id: TId;
|
|
50
50
|
name: string;
|
|
51
51
|
description: string;
|
|
52
52
|
tags: StyleTags;
|
|
@@ -54,7 +54,7 @@ export type PaletteVariant = Readonly<{
|
|
|
54
54
|
colors: ReadonlyArray<PaletteColor>;
|
|
55
55
|
}>;
|
|
56
56
|
export declare const paletteVariantSchema: z.ZodObject<{
|
|
57
|
-
id: z.ZodPipe<z.ZodString, z.ZodTransform<PaletteVariantId
|
|
57
|
+
id: z.ZodPipe<z.ZodString, z.ZodTransform<PaletteVariantId<string>, string>>;
|
|
58
58
|
name: z.ZodString;
|
|
59
59
|
description: z.ZodString;
|
|
60
60
|
tags: z.ZodObject<{
|
|
@@ -103,14 +103,14 @@ export declare const paletteVariantSchema: z.ZodObject<{
|
|
|
103
103
|
}>;
|
|
104
104
|
}, z.core.$strip>>;
|
|
105
105
|
}, z.core.$strip>;
|
|
106
|
-
export declare function definePaletteVariant(input: {
|
|
107
|
-
id:
|
|
106
|
+
export declare function definePaletteVariant<const TId extends string>(input: {
|
|
107
|
+
id: TId;
|
|
108
108
|
name: string;
|
|
109
109
|
description: string;
|
|
110
110
|
tags: StyleTags;
|
|
111
111
|
mode: 'light' | 'dark';
|
|
112
112
|
colors: ReadonlyArray<PaletteColor>;
|
|
113
|
-
}): PaletteVariant
|
|
113
|
+
}): PaletteVariant<PaletteVariantId<TId>>;
|
|
114
114
|
/**
|
|
115
115
|
* Sparse per-token override map. Loaded from / persisted to
|
|
116
116
|
* `site_theme_selections.palette_overrides`. Empty / null means "no overrides
|
|
@@ -3,26 +3,50 @@
|
|
|
3
3
|
* Warm Editorial, Modern Wellness, Calm Studio site styles.
|
|
4
4
|
*/
|
|
5
5
|
export declare const warmNeutralClay: Readonly<{
|
|
6
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
6
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"warm-neutral-clay">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
mode: "light" | "dark";
|
|
11
|
-
colors:
|
|
16
|
+
colors: readonly Readonly<{
|
|
17
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
18
|
+
hex: string;
|
|
19
|
+
}>[];
|
|
12
20
|
}>;
|
|
13
21
|
export declare const warmNeutralCream: Readonly<{
|
|
14
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
22
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"warm-neutral-cream">;
|
|
15
23
|
name: string;
|
|
16
24
|
description: string;
|
|
17
|
-
tags:
|
|
25
|
+
tags: Readonly<Partial<Readonly<{
|
|
26
|
+
tone: import("../../site-styles").StyleTone;
|
|
27
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
28
|
+
motion: import("../../site-styles").StyleMotion;
|
|
29
|
+
era: import("../../site-styles").StyleEra;
|
|
30
|
+
}>>>;
|
|
18
31
|
mode: "light" | "dark";
|
|
19
|
-
colors:
|
|
32
|
+
colors: readonly Readonly<{
|
|
33
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
34
|
+
hex: string;
|
|
35
|
+
}>[];
|
|
20
36
|
}>;
|
|
21
37
|
export declare const warmNeutralForest: Readonly<{
|
|
22
|
-
id: import("@riverbankcms/blocks").PaletteVariantId
|
|
38
|
+
id: import("@riverbankcms/blocks").PaletteVariantId<"warm-neutral-forest">;
|
|
23
39
|
name: string;
|
|
24
40
|
description: string;
|
|
25
|
-
tags:
|
|
41
|
+
tags: Readonly<Partial<Readonly<{
|
|
42
|
+
tone: import("../../site-styles").StyleTone;
|
|
43
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
44
|
+
motion: import("../../site-styles").StyleMotion;
|
|
45
|
+
era: import("../../site-styles").StyleEra;
|
|
46
|
+
}>>>;
|
|
26
47
|
mode: "light" | "dark";
|
|
27
|
-
colors:
|
|
48
|
+
colors: readonly Readonly<{
|
|
49
|
+
name: import("@riverbankcms/blocks").PaletteTokenName;
|
|
50
|
+
hex: string;
|
|
51
|
+
}>[];
|
|
28
52
|
}>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from './types';
|
|
2
|
+
export type CuratedChoice<TId extends string> = Readonly<{
|
|
3
|
+
id: TId;
|
|
4
|
+
note?: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type UnknownPersistedChoice = Readonly<{
|
|
7
|
+
kind: 'unknown';
|
|
8
|
+
raw: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type CuratedChoiceRequest<TId extends string> = TId | UnknownPersistedChoice | null;
|
|
11
|
+
export type CuratedChoiceResolution<TId extends string> = Readonly<{
|
|
12
|
+
kind: 'accepted';
|
|
13
|
+
resolved: TId;
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
kind: 'defaulted-empty';
|
|
16
|
+
resolved: TId;
|
|
17
|
+
}> | Readonly<{
|
|
18
|
+
kind: 'defaulted-rejected';
|
|
19
|
+
requested: string;
|
|
20
|
+
resolved: TId;
|
|
21
|
+
reason: 'unknown' | 'not-curated-for-style';
|
|
22
|
+
}>;
|
|
23
|
+
export declare function defaultCuratedChoice<TId extends string>(choices: NonEmptyReadonlyArray<CuratedChoice<TId>>): TId;
|
|
24
|
+
export declare function resolveCuratedChoice<TId extends string>(requested: CuratedChoiceRequest<TId>, choices: NonEmptyReadonlyArray<CuratedChoice<TId>>): CuratedChoiceResolution<TId>;
|
|
25
|
+
export declare function requireEntriesForCuratedChoices<TEntry extends Readonly<{
|
|
26
|
+
id: string;
|
|
27
|
+
}>, TId extends TEntry['id']>(entries: readonly TEntry[], choices: NonEmptyReadonlyArray<CuratedChoice<TId>>): NonEmptyReadonlyArray<TEntry>;
|