@riverbankcms/sdk 0.60.1 → 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.
Files changed (97) hide show
  1. package/dist/_dts/api/src/bookingRecords.d.ts +7 -0
  2. package/dist/_dts/api/src/bookingVerticals.d.ts +1 -0
  3. package/dist/_dts/api/src/communications.d.ts +1 -0
  4. package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
  5. package/dist/_dts/api/src/endpoints.d.ts +17 -0
  6. package/dist/_dts/api/src/index.d.ts +1 -1
  7. package/dist/_dts/api/src/media.d.ts +1 -1
  8. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -2
  9. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -1
  10. package/dist/_dts/api/src/siteSettings.d.ts +7 -0
  11. package/dist/_dts/api/src/types.d.ts +1 -1
  12. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
  13. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
  14. package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
  15. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
  16. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
  17. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
  18. package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
  19. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
  20. package/dist/_dts/core/src/business-address.d.ts +38 -0
  21. package/dist/_dts/core/src/index.d.ts +1 -0
  22. package/dist/_dts/core/src/participants.d.ts +32 -1
  23. package/dist/_dts/core/src/rectification.d.ts +79 -0
  24. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +28 -6
  25. package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +44 -0
  26. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
  27. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  28. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
  29. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
  30. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +101 -0
  31. package/dist/_dts/sdk/src/client/types.d.ts +1 -0
  32. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
  33. package/dist/_dts/sdk/src/version.d.ts +1 -1
  34. package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
  35. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
  36. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
  37. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  38. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +16 -0
  39. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +16 -0
  40. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +16 -0
  41. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +95 -0
  42. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +16 -0
  43. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +16 -0
  44. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +16 -0
  45. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
  46. package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
  47. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
  48. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  49. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +52 -0
  50. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +52 -0
  51. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +213 -0
  52. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +52 -0
  53. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
  54. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +52 -0
  55. package/dist/_dts/theme-core/src/schema.d.ts +122 -10
  56. package/dist/_dts/theme-core/src/site-styles/curatedChoices.d.ts +27 -0
  57. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +48 -1
  58. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  59. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
  60. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +42 -3
  61. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
  62. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
  63. package/dist/_dts/ui/src/badge.d.ts +1 -1
  64. package/dist/_dts/ui/src/callout.d.ts +1 -1
  65. package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +47 -0
  66. package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +15 -0
  67. package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +15 -0
  68. package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +50 -0
  69. package/dist/_dts/ui/src/palette/hex.d.ts +23 -0
  70. package/dist/_dts/ui/src/palette/index.d.ts +14 -0
  71. package/dist/cli/index.mjs +2255 -947
  72. package/dist/client/bookings.mjs +294 -144
  73. package/dist/client/client.mjs +4053 -2600
  74. package/dist/client/hooks.mjs +3248 -2076
  75. package/dist/client/rendering/client.mjs +3377 -2165
  76. package/dist/client/rendering/islands.mjs +1911 -736
  77. package/dist/client/rendering.mjs +41897 -40445
  78. package/dist/preview-next/before-render.mjs +17 -0
  79. package/dist/preview-next/client/runtime.mjs +13511 -11313
  80. package/dist/preview-next/middleware.mjs +17 -0
  81. package/dist/server/components.mjs +4434 -3172
  82. package/dist/server/config-validation.mjs +3479 -2307
  83. package/dist/server/config.mjs +3479 -2307
  84. package/dist/server/data.mjs +3248 -2076
  85. package/dist/server/index.mjs +21 -3
  86. package/dist/server/next.mjs +3989 -2726
  87. package/dist/server/page-converter.mjs +3393 -2238
  88. package/dist/server/prebuild.mjs +1 -1
  89. package/dist/server/rendering/server.mjs +4434 -3172
  90. package/dist/server/rendering.mjs +4434 -3172
  91. package/dist/server/routing.mjs +3582 -2274
  92. package/dist/server/server.mjs +3252 -2079
  93. package/dist/server/theme-bridge.mjs +1454 -496
  94. package/dist/server/theme.mjs +1102 -505
  95. package/package.json +1 -1
  96. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
  97. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Editorial Link — all variants are link-style with a growing underline.
3
+ * Default for Warm Editorial and Quiet Luxury; reads as refined and quiet.
4
+ */
5
+ export declare const editorialLink: Readonly<{
6
+ id: import("./types").ButtonPersonalityId<"editorial-link">;
7
+ name: string;
8
+ description: string;
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
+ }>>>;
15
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
16
+ }>;
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Button personality library.
3
+ *
4
+ * Each personality is a complete `ButtonSystem` tagged on the four style axes
5
+ * (tone / energy / motion / era). Curated site styles declare ordered
6
+ * personality choices for the picker. Tags stay available as authoring/audit
7
+ * metadata; they no longer drive the Style configurator's option shape.
8
+ */
9
+ import type { ButtonPersonality, ButtonPersonalityId } from './types';
10
+ export type { ButtonPersonality, ButtonPersonalityId } from './types';
11
+ export { asButtonPersonalityId, buttonPersonalityIdSchema, buttonPersonalitySchema, defineButtonPersonality, } from './types';
12
+ export declare const buttonPersonalities: readonly [Readonly<{
13
+ id: ButtonPersonalityId<"soft-pill">;
14
+ name: string;
15
+ description: string;
16
+ tags: Readonly<Partial<Readonly<{
17
+ tone: import("../../site-styles").StyleTone;
18
+ energy: import("../../site-styles").StyleEnergy;
19
+ motion: import("../../site-styles").StyleMotion;
20
+ era: import("../../site-styles").StyleEra;
21
+ }>>>;
22
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
23
+ }>, Readonly<{
24
+ id: ButtonPersonalityId<"confident-chip">;
25
+ name: string;
26
+ description: string;
27
+ tags: Readonly<Partial<Readonly<{
28
+ tone: import("../../site-styles").StyleTone;
29
+ energy: import("../../site-styles").StyleEnergy;
30
+ motion: import("../../site-styles").StyleMotion;
31
+ era: import("../../site-styles").StyleEra;
32
+ }>>>;
33
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
34
+ }>, Readonly<{
35
+ id: ButtonPersonalityId<"editorial-link">;
36
+ name: string;
37
+ description: string;
38
+ tags: Readonly<Partial<Readonly<{
39
+ tone: import("../../site-styles").StyleTone;
40
+ energy: import("../../site-styles").StyleEnergy;
41
+ motion: import("../../site-styles").StyleMotion;
42
+ era: import("../../site-styles").StyleEra;
43
+ }>>>;
44
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
45
+ }>, Readonly<{
46
+ id: ButtonPersonalityId<"pebble">;
47
+ name: string;
48
+ description: string;
49
+ tags: Readonly<Partial<Readonly<{
50
+ tone: import("../../site-styles").StyleTone;
51
+ energy: import("../../site-styles").StyleEnergy;
52
+ motion: import("../../site-styles").StyleMotion;
53
+ era: import("../../site-styles").StyleEra;
54
+ }>>>;
55
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
56
+ }>, Readonly<{
57
+ id: ButtonPersonalityId<"ink-stamp">;
58
+ name: string;
59
+ description: string;
60
+ tags: Readonly<Partial<Readonly<{
61
+ tone: import("../../site-styles").StyleTone;
62
+ energy: import("../../site-styles").StyleEnergy;
63
+ motion: import("../../site-styles").StyleMotion;
64
+ era: import("../../site-styles").StyleEra;
65
+ }>>>;
66
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
67
+ }>, Readonly<{
68
+ id: ButtonPersonalityId<"brushed-wash">;
69
+ name: string;
70
+ description: string;
71
+ tags: Readonly<Partial<Readonly<{
72
+ tone: import("../../site-styles").StyleTone;
73
+ energy: import("../../site-styles").StyleEnergy;
74
+ motion: import("../../site-styles").StyleMotion;
75
+ era: import("../../site-styles").StyleEra;
76
+ }>>>;
77
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
78
+ }>];
79
+ type UnbrandedButtonPersonalityId<TValue> = TValue extends infer TRaw & {
80
+ readonly __brand: 'ButtonPersonalityId';
81
+ } ? TRaw extends string ? TRaw : never : never;
82
+ export type KnownButtonPersonalityId = (typeof buttonPersonalities)[number]['id'];
83
+ export type KnownButtonPersonalityIdValue = UnbrandedButtonPersonalityId<KnownButtonPersonalityId>;
84
+ export declare function findButtonPersonality(id: ButtonPersonalityId): ButtonPersonality | undefined;
85
+ export declare function isKnownButtonPersonalityId(value: string): value is KnownButtonPersonalityId;
86
+ export type PersistedButtonPersonalityIdParseResult = Readonly<{
87
+ kind: 'known';
88
+ id: KnownButtonPersonalityId;
89
+ }> | Readonly<{
90
+ kind: 'unknown';
91
+ raw: string;
92
+ }> | Readonly<{
93
+ kind: 'empty';
94
+ }>;
95
+ export declare function parsePersistedButtonPersonalityId(value: string | null | undefined): PersistedButtonPersonalityIdParseResult;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Ink Stamp — solid earthy fills with a bordered, hand-stamped block-print
3
+ * feel. Reads as bold and handmade; suits expressive craft brands.
4
+ */
5
+ export declare const inkStamp: Readonly<{
6
+ id: import("./types").ButtonPersonalityId<"ink-stamp">;
7
+ name: string;
8
+ description: string;
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
+ }>>>;
15
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
16
+ }>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Pebble — large pill primaries with generous padding. Reads as spa-luxurious
3
+ * and natural; pairs well with wellness/yoga/dance brands.
4
+ */
5
+ export declare const pebble: Readonly<{
6
+ id: import("./types").ButtonPersonalityId<"pebble">;
7
+ name: string;
8
+ description: string;
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
+ }>>>;
15
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
16
+ }>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Soft Pill — rounded-full pill buttons with a hover lift. The default for
3
+ * Calm Studio and Modern Wellness; reads as quietly modern and welcoming.
4
+ */
5
+ export declare const softPill: Readonly<{
6
+ id: import("./types").ButtonPersonalityId<"soft-pill">;
7
+ name: string;
8
+ description: string;
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
+ }>>>;
15
+ buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
16
+ }>;
@@ -0,0 +1,268 @@
1
+ import { z } from 'zod';
2
+ import { type ButtonSystem } from '../types';
3
+ import { type StyleTags } from '../../site-styles/styleTags';
4
+ /**
5
+ * Branded ID for a button personality entry in the curated library.
6
+ * Shape matches the `Brand<T, TBrand>` convention in `site-styles/types.ts`
7
+ * (kept structurally compatible until that alias is hoisted to a shared file).
8
+ * Use `asButtonPersonalityId` at the parse/construction boundary.
9
+ */
10
+ export type ButtonPersonalityId<T extends string = string> = T & {
11
+ readonly __brand: 'ButtonPersonalityId';
12
+ };
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
+ /**
16
+ * A button personality is a complete `ButtonSystem` plus the tags that decide
17
+ * which curated site styles will accept it. The `name` and `description` are
18
+ * surfaced in the Style configurator UI.
19
+ */
20
+ export type ButtonPersonality<TId extends ButtonPersonalityId = ButtonPersonalityId> = Readonly<{
21
+ id: TId;
22
+ name: string;
23
+ description: string;
24
+ tags: StyleTags;
25
+ buttonSystem: ButtonSystem;
26
+ }>;
27
+ export declare const buttonPersonalitySchema: z.ZodObject<{
28
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<ButtonPersonalityId<string>, string>>;
29
+ name: z.ZodString;
30
+ description: z.ZodString;
31
+ tags: z.ZodObject<{
32
+ tone: z.ZodOptional<z.ZodEnum<{
33
+ classic: "classic";
34
+ bold: "bold";
35
+ minimal: "minimal";
36
+ }>>;
37
+ energy: z.ZodOptional<z.ZodEnum<{
38
+ calm: "calm";
39
+ vibrant: "vibrant";
40
+ }>>;
41
+ motion: z.ZodOptional<z.ZodEnum<{
42
+ standard: "standard";
43
+ subtle: "subtle";
44
+ expressive: "expressive";
45
+ }>>;
46
+ era: z.ZodOptional<z.ZodEnum<{
47
+ editorial: "editorial";
48
+ modern: "modern";
49
+ retro: "retro";
50
+ technical: "technical";
51
+ organic: "organic";
52
+ }>>;
53
+ }, z.core.$strip>;
54
+ buttonSystem: z.ZodObject<{
55
+ global: z.ZodObject<{
56
+ cornerStyle: z.ZodEnum<{
57
+ rounded: "rounded";
58
+ square: "square";
59
+ pill: "pill";
60
+ }>;
61
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
62
+ shadow: z.ZodEnum<{
63
+ medium: "medium";
64
+ none: "none";
65
+ low: "low";
66
+ high: "high";
67
+ }>;
68
+ textTransform: z.ZodEnum<{
69
+ none: "none";
70
+ capitalize: "capitalize";
71
+ lowercase: "lowercase";
72
+ uppercase: "uppercase";
73
+ }>;
74
+ fontWeight: z.ZodUnion<readonly [z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>]>;
75
+ borderWidth: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
76
+ typography: z.ZodOptional<z.ZodEnum<{
77
+ body: "body";
78
+ heading: "heading";
79
+ }>>;
80
+ fontSize: z.ZodOptional<z.ZodString>;
81
+ letterSpacing: z.ZodOptional<z.ZodEnum<{
82
+ normal: "normal";
83
+ loose: "loose";
84
+ tight: "tight";
85
+ }>>;
86
+ italic: z.ZodOptional<z.ZodBoolean>;
87
+ paddingPreset: z.ZodOptional<z.ZodEnum<{
88
+ compact: "compact";
89
+ spacious: "spacious";
90
+ default: "default";
91
+ }>>;
92
+ hoverTransform: z.ZodEnum<{
93
+ none: "none";
94
+ scale: "scale";
95
+ lift: "lift";
96
+ press: "press";
97
+ }>;
98
+ hoverColor: z.ZodEnum<{
99
+ none: "none";
100
+ token: "token";
101
+ darken: "darken";
102
+ brighten: "brighten";
103
+ saturate: "saturate";
104
+ }>;
105
+ hoverColorToken: z.ZodOptional<z.ZodString>;
106
+ gradientStyle: z.ZodOptional<z.ZodEnum<{
107
+ linear: "linear";
108
+ radial: "radial";
109
+ conic: "conic";
110
+ }>>;
111
+ gradientAngle: z.ZodOptional<z.ZodNumber>;
112
+ gradientSharpness: z.ZodOptional<z.ZodEnum<{
113
+ medium: "medium";
114
+ smooth: "smooth";
115
+ hard: "hard";
116
+ }>>;
117
+ }, z.core.$strip>;
118
+ variants: z.ZodArray<z.ZodObject<{
119
+ id: z.ZodString;
120
+ name: z.ZodString;
121
+ enabled: z.ZodBoolean;
122
+ priority: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
123
+ background: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ type: z.ZodLiteral<"solid">;
125
+ colorToken: z.ZodString;
126
+ }, z.core.$strip>, z.ZodObject<{
127
+ type: z.ZodLiteral<"gradient">;
128
+ stops: z.ZodArray<z.ZodString>;
129
+ direction: z.ZodEnum<{
130
+ "to-r": "to-r";
131
+ "to-l": "to-l";
132
+ "to-t": "to-t";
133
+ "to-b": "to-b";
134
+ "to-tr": "to-tr";
135
+ "to-tl": "to-tl";
136
+ "to-br": "to-br";
137
+ "to-bl": "to-bl";
138
+ }>;
139
+ }, z.core.$strip>, z.ZodObject<{
140
+ type: z.ZodLiteral<"transparent">;
141
+ }, z.core.$strip>], "type">;
142
+ textColorToken: z.ZodString;
143
+ borderRadius: z.ZodOptional<z.ZodString>;
144
+ shadow: z.ZodOptional<z.ZodObject<{
145
+ elevation: z.ZodEnum<{
146
+ medium: "medium";
147
+ none: "none";
148
+ low: "low";
149
+ high: "high";
150
+ }>;
151
+ softness: z.ZodNullable<z.ZodEnum<{
152
+ soft: "soft";
153
+ crisp: "crisp";
154
+ hard: "hard";
155
+ }>>;
156
+ position: z.ZodDefault<z.ZodEnum<{
157
+ bottom: "bottom";
158
+ "bottom-right": "bottom-right";
159
+ }>>;
160
+ }, z.core.$strip>>;
161
+ border: z.ZodOptional<z.ZodObject<{
162
+ widthClass: z.ZodString;
163
+ colorToken: z.ZodString;
164
+ }, z.core.$strip>>;
165
+ hoverBackgroundToken: z.ZodOptional<z.ZodString>;
166
+ effects: z.ZodOptional<z.ZodObject<{
167
+ base: z.ZodOptional<z.ZodArray<z.ZodObject<{
168
+ effectId: z.ZodString;
169
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
170
+ }, z.core.$strip>>>;
171
+ hover: z.ZodOptional<z.ZodArray<z.ZodObject<{
172
+ effectId: z.ZodString;
173
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
174
+ }, z.core.$strip>>>;
175
+ active: z.ZodOptional<z.ZodArray<z.ZodObject<{
176
+ effectId: z.ZodString;
177
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
178
+ }, z.core.$strip>>>;
179
+ focus: z.ZodOptional<z.ZodArray<z.ZodObject<{
180
+ effectId: z.ZodString;
181
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
182
+ }, z.core.$strip>>>;
183
+ }, z.core.$strip>>;
184
+ sizes: z.ZodOptional<z.ZodObject<{
185
+ sm: z.ZodOptional<z.ZodObject<{
186
+ padding: z.ZodString;
187
+ fontSize: z.ZodOptional<z.ZodString>;
188
+ }, z.core.$strip>>;
189
+ md: z.ZodOptional<z.ZodObject<{
190
+ padding: z.ZodString;
191
+ fontSize: z.ZodOptional<z.ZodString>;
192
+ }, z.core.$strip>>;
193
+ lg: z.ZodOptional<z.ZodObject<{
194
+ padding: z.ZodString;
195
+ fontSize: z.ZodOptional<z.ZodString>;
196
+ }, z.core.$strip>>;
197
+ xl: z.ZodOptional<z.ZodObject<{
198
+ padding: z.ZodString;
199
+ fontSize: z.ZodOptional<z.ZodString>;
200
+ }, z.core.$strip>>;
201
+ }, z.core.$strip>>;
202
+ }, z.core.$strip>>;
203
+ sizes: z.ZodOptional<z.ZodPipe<z.ZodObject<{
204
+ sm: z.ZodObject<{
205
+ padding: z.ZodString;
206
+ fontSize: z.ZodOptional<z.ZodString>;
207
+ }, z.core.$strip>;
208
+ md: z.ZodObject<{
209
+ padding: z.ZodString;
210
+ fontSize: z.ZodOptional<z.ZodString>;
211
+ }, z.core.$strip>;
212
+ lg: z.ZodObject<{
213
+ padding: z.ZodString;
214
+ fontSize: z.ZodOptional<z.ZodString>;
215
+ }, z.core.$strip>;
216
+ xl: z.ZodOptional<z.ZodObject<{
217
+ padding: z.ZodString;
218
+ fontSize: z.ZodOptional<z.ZodString>;
219
+ }, z.core.$strip>>;
220
+ }, z.core.$strip>, z.ZodTransform<{
221
+ sm: {
222
+ padding: string;
223
+ fontSize?: string | undefined;
224
+ };
225
+ md: {
226
+ padding: string;
227
+ fontSize?: string | undefined;
228
+ };
229
+ lg: {
230
+ padding: string;
231
+ fontSize?: string | undefined;
232
+ };
233
+ xl: {
234
+ padding: string;
235
+ fontSize?: string | undefined;
236
+ };
237
+ }, {
238
+ sm: {
239
+ padding: string;
240
+ fontSize?: string | undefined;
241
+ };
242
+ md: {
243
+ padding: string;
244
+ fontSize?: string | undefined;
245
+ };
246
+ lg: {
247
+ padding: string;
248
+ fontSize?: string | undefined;
249
+ };
250
+ xl?: {
251
+ padding: string;
252
+ fontSize?: string | undefined;
253
+ } | undefined;
254
+ }>>>;
255
+ }, z.core.$strip>;
256
+ }, z.core.$strip>;
257
+ /**
258
+ * Helper for personality file modules to keep the call site short and
259
+ * type-safe. `as const satisfies ...` would also work but produces wider
260
+ * types at use sites.
261
+ */
262
+ export declare function defineButtonPersonality<const TId extends string>(input: {
263
+ id: TId;
264
+ name: string;
265
+ description: string;
266
+ tags: StyleTags;
267
+ buttonSystem: ButtonSystem;
268
+ }): ButtonPersonality<ButtonPersonalityId<TId>>;