@riverbankcms/sdk 0.111.0 → 0.119.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.
Files changed (196) hide show
  1. package/dist/{PreviewEditorSidebar-CTR6LUhN.mjs → PreviewEditorSidebar-C7TXFitV.mjs} +4 -4
  2. package/dist/{PreviewEditorUI-DZg15Zip.mjs → PreviewEditorUI-_1JIHTXS.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-kkmjklLG.mjs → PreviewQueryProvider-nKUT4TL-.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-DeOTAFvR.mjs → SdkPreviewModeRuntime-CvJTVgWa.mjs} +2579 -34325
  5. package/dist/{SiteChromeCustomizeContext-DOSDLCiJ.mjs → SiteChromeCustomizeContext-66QfCbAS.mjs} +64625 -32791
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +5211 -639
  7. package/dist/_dts/ai/src/designer/themePatch.d.ts +1 -1
  8. package/dist/_dts/api/src/bookingAdjustments.d.ts +30 -36
  9. package/dist/_dts/api/src/bookingConfig.d.ts +26 -1
  10. package/dist/_dts/api/src/bookingRecords.d.ts +6 -74
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +3 -3
  12. package/dist/_dts/api/src/contentRuntime.d.ts +5 -1
  13. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +4 -4
  14. package/dist/_dts/api/src/endpoints.d.ts +35 -0
  15. package/dist/_dts/api/src/event-presentation.d.ts +4 -0
  16. package/dist/_dts/api/src/index.d.ts +4 -4
  17. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -1
  18. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +2 -2
  19. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  20. package/dist/_dts/api/src/sdkContracts.d.ts +85 -7
  21. package/dist/_dts/api/src/siteBanner.d.ts +8 -8
  22. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  23. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +32 -4
  24. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +3 -12
  25. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +1 -5
  26. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -10
  27. package/dist/_dts/blocks/src/index.d.ts +3 -6
  28. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +2 -2
  29. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +2 -2
  30. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +2 -2
  31. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -8
  32. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +3 -3
  34. package/dist/_dts/blocks/src/system/blocks/form.d.ts +2 -15
  35. package/dist/_dts/blocks/src/system/blocks/intro.d.ts +2 -2
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +66 -66
  37. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -16
  38. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +0 -3
  39. package/dist/_dts/blocks/src/system/fragments/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +19 -2
  41. package/dist/_dts/blocks/src/system/manifest/richTextSchema.d.ts +8 -70
  42. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +6 -0
  44. package/dist/_dts/blocks/src/system/node/schema.d.ts +4 -4
  45. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -10
  46. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +5 -21
  47. package/dist/_dts/blocks/src/system/runtime/nodes/richText-coerce.d.ts +14 -2
  48. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  49. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  50. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +17 -1
  51. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +1 -1
  52. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +1 -1
  53. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -2
  54. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
  55. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -1
  56. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  57. package/dist/_dts/content-model/src/content-types/builtins.d.ts +3 -15
  58. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +2 -0
  59. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  60. package/dist/_dts/content-model/src/templates/defaults.d.ts +1 -21
  61. package/dist/_dts/core/src/editor-state.d.ts +14 -1
  62. package/dist/_dts/core/src/footer-composition.d.ts +2 -1
  63. package/dist/_dts/core/src/index.d.ts +1 -0
  64. package/dist/_dts/core/src/rich-text.d.ts +16 -0
  65. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +189 -86
  66. package/dist/_dts/editor/src/index.d.ts +1 -1
  67. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +3 -5
  68. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -1
  69. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -1
  70. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -1
  71. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +15 -0
  72. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +3 -7
  73. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +12 -0
  74. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
  75. package/dist/_dts/editor-blocks/src/block-editor/utils.d.ts +1 -1
  76. package/dist/_dts/editor-blocks/src/index.d.ts +6 -5
  77. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  78. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +104 -0
  79. package/dist/_dts/media-core/src/contentMediaAuditFieldAdapter.d.ts +8 -0
  80. package/dist/_dts/media-core/src/contentMediaSnapshotAudit.d.ts +22 -0
  81. package/dist/_dts/media-core/src/index.d.ts +3 -1
  82. package/dist/_dts/sdk/src/cli/commands/event.d.ts +18 -1
  83. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +2 -16
  84. package/dist/_dts/sdk/src/cli/content/reader.d.ts +8 -5
  85. package/dist/_dts/sdk/src/client/management/events.d.ts +2 -1
  86. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  87. package/dist/_dts/sdk/src/client/management/types.d.ts +36 -9
  88. package/dist/_dts/sdk/src/config/typed-entries.d.ts +7 -7
  89. package/dist/_dts/sdk/src/config/validation.d.ts +7 -7
  90. package/dist/_dts/sdk/src/contracts/content.d.ts +5 -15
  91. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  92. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -25
  93. package/dist/_dts/sdk/src/contracts/theme.d.ts +2 -18
  94. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +1 -1
  95. package/dist/_dts/sdk/src/manifest/three-pass-converter.d.ts +4 -4
  96. package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -2
  97. package/dist/_dts/sdk/src/rendering/helpers/index.d.ts +1 -1
  98. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -13
  99. package/dist/_dts/sdk/src/theme/index.d.ts +0 -29
  100. package/dist/_dts/sdk/src/version.d.ts +1 -1
  101. package/dist/_dts/site-commands/src/commands.d.ts +31 -18
  102. package/dist/_dts/theme-core/src/buttons/affordanceIcons.d.ts +2 -2
  103. package/dist/_dts/theme-core/src/buttons/core.d.ts +0 -1
  104. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +22 -9
  105. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -2
  106. package/dist/_dts/theme-core/src/buttons/effects/presets/border.d.ts +1 -2
  107. package/dist/_dts/theme-core/src/buttons/effects/presets/overlay.d.ts +3 -1
  108. package/dist/_dts/theme-core/src/buttons/effects/presets/shadow.d.ts +2 -2
  109. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +8 -18
  110. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +2 -2
  111. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -5
  112. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -4
  113. package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +36 -0
  114. package/dist/_dts/theme-core/src/buttons/types.d.ts +1638 -93
  115. package/dist/_dts/theme-core/src/cards/types.d.ts +13 -13
  116. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +969 -69
  117. package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
  118. package/dist/_dts/theme-core/src/recommend/generateThemes.d.ts +0 -1
  119. package/dist/_dts/theme-core/src/schema.d.ts +1100 -116
  120. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  121. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +14 -14
  122. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  123. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  124. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +6 -0
  125. package/dist/cli/index.mjs +5706 -4852
  126. package/dist/cli/init-docs/content/cli-reference.md +40 -1
  127. package/dist/cli/init-docs/content/content-management.md +6 -0
  128. package/dist/client/{DiscountCodeDisclosure-C4xvTBux.mjs → DiscountCodeDisclosure-DIWj-P9v.mjs} +1 -1
  129. package/dist/client/{EventCombined.client-Cr7G131j.mjs → EventCombined.client-De8YWBSr.mjs} +2 -2
  130. package/dist/client/{EventListing.client-CAjbseNy.mjs → EventListing.client-seHTjimY.mjs} +2 -2
  131. package/dist/client/{LeafletStaticMap-BMlWfwz3.mjs → LeafletStaticMap-BmQxFcJW.mjs} +1 -1
  132. package/dist/client/{MagicLinkForm-ChdFz96y.mjs → MagicLinkForm-OoJAIUIj.mjs} +1 -1
  133. package/dist/client/{StepIndicator-7D3GaBeM.mjs → StepIndicator-CiZ8kdPk.mjs} +2 -2
  134. package/dist/client/{accordion-D8JTs2Si.mjs → accordion-6lnN__XJ.mjs} +1 -1
  135. package/dist/client/{bookingForm-H3DCRBHs.mjs → bookingForm-5uyqhONU.mjs} +6 -6
  136. package/dist/client/bookings.mjs +2219 -527
  137. package/dist/client/{carousel-DMr_QWlz.mjs → carousel-Dtnifil_.mjs} +1 -1
  138. package/dist/client/{cart-DWMbfBdR.mjs → cart-5Tc5S7NV.mjs} +3 -3
  139. package/dist/client/{checkout-zmfdkXLx.mjs → checkout-CYKKN5Hr.mjs} +3 -3
  140. package/dist/client/client.mjs +2498 -2384
  141. package/dist/client/{colorTokenParts-FSS3al6l.mjs → colorStyles-BWpj_h4C.mjs} +88 -1
  142. package/dist/client/{courseRegistration-Z_mn18jy.mjs → courseRegistration-CxCBybB4.mjs} +6 -6
  143. package/dist/client/{eventCalendar-CYp0YJGF.mjs → eventCalendar-Xj2jZS9X.mjs} +4 -4
  144. package/dist/client/{eventCombined-rKyYZUa9.mjs → eventCombined-CgcMoOgM.mjs} +2 -2
  145. package/dist/client/{eventDetails-X0ZaUuMj.mjs → eventDetails-CEAH8Edc.mjs} +3 -3
  146. package/dist/client/{eventListing-W1SuL7EP.mjs → eventListing-qyPVQ0wP.mjs} +2 -2
  147. package/dist/client/{eventRegistration-ClWricui.mjs → eventRegistration-DDu79CtL.mjs} +6 -6
  148. package/dist/client/{form--eKPwAAD.mjs → form-Bc7JKI7I.mjs} +1 -1
  149. package/dist/client/{headerSection-BSeGr-FS.mjs → headerSection-vTku_LEl.mjs} +2 -2
  150. package/dist/client/hooks.mjs +373 -555
  151. package/dist/client/{locationMap-BpOrtNYn.mjs → locationMap-Bg7X4Jna.mjs} +3 -3
  152. package/dist/client/{media-DoF0dcVx.mjs → media-CNE1Z-wb.mjs} +1 -2
  153. package/dist/client/{newsletterForm-Bt7it7Dy.mjs → newsletterForm-lpylVdp5.mjs} +1 -1
  154. package/dist/client/{pricing-BTjSDDr4.mjs → pricing-DE8fjJiT.mjs} +1 -1
  155. package/dist/client/{productDetail-ICnVTcCg.mjs → productDetail-D7Bo2RMH.mjs} +3 -3
  156. package/dist/client/{productList-ZHr6D604.mjs → productList-VjnZqiqN.mjs} +3 -3
  157. package/dist/client/{propsDecoder-wWN0tBDF.mjs → propsDecoder-DreFXjNP.mjs} +2212 -621
  158. package/dist/client/rendering/client.mjs +21612 -21646
  159. package/dist/client/rendering/islands.mjs +20 -20
  160. package/dist/client/rendering.mjs +1571 -1547
  161. package/dist/client/{shop-C1u_BUn0.mjs → shop-IRsHHbf7.mjs} +5 -5
  162. package/dist/client/{shop-commerce-CleZdRha.mjs → shop-commerce-gnI8PieZ.mjs} +27 -10
  163. package/dist/client/{shop-commerce-store-ycnoB2Ce.mjs → shop-commerce-store-BTbrhObn.mjs} +1 -1
  164. package/dist/client/{shopShared-CPhByt2a.mjs → shopShared-D6KS2_qk.mjs} +3 -3
  165. package/dist/client/{useDiscountCodeUi-cStSQI6C.mjs → useDiscountCodeUi-DCccGCxV.mjs} +1 -1
  166. package/dist/client/{useEventFilters-DKPN7hSY.mjs → useEventFilters-eGs3rPZQ.mjs} +3 -104
  167. package/dist/client/{usePolling-BKAd6pkZ.mjs → usePolling-CvSU2sur.mjs} +2 -2
  168. package/dist/preview-next/before-render.mjs +57 -0
  169. package/dist/preview-next/client/runtime.mjs +4 -4
  170. package/dist/preview-next/middleware.mjs +57 -0
  171. package/dist/{previewAuthStore-BkT1D06A.mjs → previewAuthStore-DN7vcRsv.mjs} +57 -0
  172. package/dist/{sdk-runtime-hu3wr3ng.mjs → sdk-runtime-DaOiA7ct.mjs} +2 -2
  173. package/dist/{separator-Bln8izQ9.mjs → separator-CqRhcCxD.mjs} +1 -1
  174. package/dist/server/components.mjs +4092 -4108
  175. package/dist/server/config-template-validation.mjs +4 -23
  176. package/dist/server/config-validation.mjs +373 -555
  177. package/dist/server/config.mjs +410 -558
  178. package/dist/server/data.mjs +373 -555
  179. package/dist/server/index.mjs +58 -1
  180. package/dist/server/next.mjs +32958 -32926
  181. package/dist/server/page-converter.mjs +369 -526
  182. package/dist/server/prebuild.mjs +1 -1
  183. package/dist/server/rendering/server.mjs +5371 -3174
  184. package/dist/server/rendering.mjs +4099 -4124
  185. package/dist/server/routing.mjs +758 -966
  186. package/dist/server/server.mjs +448 -632
  187. package/dist/server/theme-bridge.mjs +472 -525
  188. package/dist/server/theme.mjs +1074 -392
  189. package/package.json +1 -1
  190. package/dist/_dts/blocks/src/primitives/content/components/Button.d.ts +0 -40
  191. package/dist/_dts/blocks/src/system/fragments/library/footerBottomText.d.ts +0 -19
  192. package/dist/_dts/media-core/src/legacyMediaValue.d.ts +0 -11
  193. package/dist/_dts/theme-core/src/styles/buttons.d.ts +0 -27
  194. package/dist/_dts/theme-core/src/styles/buttonsLibrary.d.ts +0 -2
  195. package/dist/_dts/theme-core/src/styles/glow.d.ts +0 -3
  196. package/dist/client/colorStyles-gcTh5yZT.mjs +0 -89
@@ -15,7 +15,7 @@ export type Shadow = {
15
15
  * personalities are unaffected. Set it for coloured offset shadows
16
16
  * (e.g. a cream "stamp" shadow on a dark brand surface).
17
17
  */
18
- colorToken?: string;
18
+ colorToken?: OpaqueButtonColourToken;
19
19
  };
20
20
  export type CornerStyle = 'square' | 'rounded' | 'pill';
21
21
  export type ShadowSize = 'none' | 'low' | 'medium' | 'high';
@@ -23,7 +23,7 @@ export type TextTransform = 'none' | 'uppercase' | 'lowercase' | 'capitalize';
23
23
  export type FontWeight = 500 | 600 | 700;
24
24
  export type ButtonTypography = 'body' | 'heading';
25
25
  export type HoverTransform = 'none' | 'lift' | 'scale' | 'press';
26
- export type HoverColor = 'none' | 'brighten' | 'darken' | 'saturate' | 'token';
26
+ export type HoverColor = 'none' | 'token';
27
27
  export type ButtonPaddingPreset = 'compact' | 'default' | 'spacious';
28
28
  export type GradientStyle = 'linear' | 'radial' | 'conic';
29
29
  export type GradientSharpness = 'smooth' | 'medium' | 'hard';
@@ -45,6 +45,13 @@ export declare const VARIANT_ROLES: readonly ["primary", "secondary", "outline",
45
45
  export type VariantRole = (typeof VARIANT_ROLES)[number];
46
46
  export declare function isVariantRole(value: string): value is VariantRole;
47
47
  declare const SpecialVariantIdBrand: unique symbol;
48
+ /**
49
+ * Canonical persisted/CSS-safe button variant identifier.
50
+ *
51
+ * IDs become class selectors, so keep the contract deliberately narrower than
52
+ * an arbitrary string and shared with every authoring/runtime boundary.
53
+ */
54
+ export declare const buttonVariantIdSchema: z.ZodString;
48
55
  /**
49
56
  * Branded ID for theme-specific special variants that don't map to a standard role
50
57
  * (e.g. `banner`, `generous`, `pulse`, `danger`).
@@ -106,23 +113,135 @@ export type ButtonColourTreatment = {
106
113
  role: 'link';
107
114
  };
108
115
  export type ButtonBackground = ButtonColourTreatment;
109
- export type ButtonEffectOptionValue = string | number | boolean | null | ButtonEffectOptionValue[] | {
110
- [key: string]: ButtonEffectOptionValue;
111
- };
112
- export type EffectApplication = {
113
- effectId: string;
114
- options?: Record<string, ButtonEffectOptionValue>;
115
- };
116
+ /**
117
+ * The complete persisted button-effect contract.
118
+ *
119
+ * Navigation has its own generic interactive-effect model. Button variants use
120
+ * this closed union so unsupported effect IDs, unknown option keys, and unsafe
121
+ * CSS values cannot become representable after the schema boundary.
122
+ */
123
+ export declare const buttonEffectApplicationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ effectId: z.ZodLiteral<"darken-background">;
125
+ options: z.ZodOptional<z.ZodObject<{
126
+ amount: z.ZodOptional<z.ZodNumber>;
127
+ }, z.core.$strict>>;
128
+ }, z.core.$strict>, z.ZodObject<{
129
+ effectId: z.ZodLiteral<"lighten-background">;
130
+ options: z.ZodOptional<z.ZodObject<{
131
+ amount: z.ZodOptional<z.ZodNumber>;
132
+ }, z.core.$strict>>;
133
+ }, z.core.$strict>, z.ZodObject<{
134
+ effectId: z.ZodLiteral<"background-on-hover">;
135
+ options: z.ZodOptional<z.ZodObject<{
136
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
137
+ }, z.core.$strict>>;
138
+ }, z.core.$strict>, z.ZodObject<{
139
+ effectId: z.ZodLiteral<"animated-gradient">;
140
+ options: z.ZodOptional<z.ZodObject<{
141
+ direction: z.ZodOptional<z.ZodEnum<{
142
+ horizontal: "horizontal";
143
+ vertical: "vertical";
144
+ }>>;
145
+ }, z.core.$strict>>;
146
+ }, z.core.$strict>, z.ZodObject<{
147
+ effectId: z.ZodLiteral<"drop-shadow">;
148
+ options: z.ZodOptional<z.ZodObject<{
149
+ intensity: z.ZodOptional<z.ZodEnum<{
150
+ medium: "medium";
151
+ subtle: "subtle";
152
+ strong: "strong";
153
+ }>>;
154
+ }, z.core.$strict>>;
155
+ }, z.core.$strict>, z.ZodObject<{
156
+ effectId: z.ZodLiteral<"inner-shadow">;
157
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
158
+ }, z.core.$strict>, z.ZodObject<{
159
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
160
+ options: z.ZodOptional<z.ZodObject<{
161
+ mode: z.ZodOptional<z.ZodEnum<{
162
+ raised: "raised";
163
+ pressed: "pressed";
164
+ }>>;
165
+ intensity: z.ZodOptional<z.ZodEnum<{
166
+ medium: "medium";
167
+ subtle: "subtle";
168
+ strong: "strong";
169
+ }>>;
170
+ }, z.core.$strict>>;
171
+ }, z.core.$strict>, z.ZodObject<{
172
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
173
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
174
+ }, z.core.$strict>, z.ZodObject<{
175
+ effectId: z.ZodLiteral<"scale-up">;
176
+ options: z.ZodOptional<z.ZodObject<{
177
+ scale: z.ZodOptional<z.ZodEnum<{
178
+ 1.02: "1.02";
179
+ 1.03: "1.03";
180
+ 1.05: "1.05";
181
+ "1.10": "1.10";
182
+ }>>;
183
+ }, z.core.$strict>>;
184
+ }, z.core.$strict>, z.ZodObject<{
185
+ effectId: z.ZodLiteral<"scale-down">;
186
+ options: z.ZodOptional<z.ZodObject<{
187
+ scale: z.ZodOptional<z.ZodEnum<{
188
+ "0.90": "0.90";
189
+ 0.95: "0.95";
190
+ 0.97: "0.97";
191
+ 0.98: "0.98";
192
+ }>>;
193
+ }, z.core.$strict>>;
194
+ }, z.core.$strict>, z.ZodObject<{
195
+ effectId: z.ZodLiteral<"lift">;
196
+ options: z.ZodOptional<z.ZodObject<{
197
+ amount: z.ZodOptional<z.ZodEnum<{
198
+ 1: "1";
199
+ 0.25: "0.25";
200
+ 0.5: "0.5";
201
+ }>>;
202
+ }, z.core.$strict>>;
203
+ }, z.core.$strict>, z.ZodObject<{
204
+ effectId: z.ZodLiteral<"press-down">;
205
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
206
+ }, z.core.$strict>, z.ZodObject<{
207
+ effectId: z.ZodLiteral<"pop">;
208
+ options: z.ZodOptional<z.ZodObject<{
209
+ intensity: z.ZodOptional<z.ZodEnum<{
210
+ medium: "medium";
211
+ subtle: "subtle";
212
+ dramatic: "dramatic";
213
+ }>>;
214
+ }, z.core.$strict>>;
215
+ }, z.core.$strict>, z.ZodObject<{
216
+ effectId: z.ZodLiteral<"border-bottom-grow">;
217
+ options: z.ZodOptional<z.ZodObject<{
218
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
219
+ origin: z.ZodOptional<z.ZodEnum<{
220
+ left: "left";
221
+ right: "right";
222
+ center: "center";
223
+ }>>;
224
+ }, z.core.$strict>>;
225
+ }, z.core.$strict>, z.ZodObject<{
226
+ effectId: z.ZodLiteral<"sketchy-border">;
227
+ options: z.ZodOptional<z.ZodObject<{
228
+ intensity: z.ZodOptional<z.ZodEnum<{
229
+ medium: "medium";
230
+ subtle: "subtle";
231
+ strong: "strong";
232
+ }>>;
233
+ }, z.core.$strict>>;
234
+ }, z.core.$strict>], "effectId">;
235
+ export type ButtonEffectApplication = z.infer<typeof buttonEffectApplicationSchema>;
116
236
  export interface ButtonBorder {
117
237
  widthClass: string;
118
238
  }
119
239
  /**
120
240
  * Optional trailing affordance icon carried by a button variant.
121
241
  *
122
- * When set, the generated button CSS emits a themed trailing icon (a masked
123
- * SVG in `colorToken`, or `currentColor` when the token is omitted) after the
124
- * label — so a personality can supply an affordance (e.g. a CTA arrow) to every
125
- * button of that variant without per-node authoring. Entirely optional: variants
242
+ * When set, the generated button CSS emits a masked SVG in `currentColor`
243
+ * after the label, so the theme can supply an affordance (e.g. a CTA arrow)
244
+ * to every button of that variant without per-node authoring. Entirely optional: variants
126
245
  * that omit `affordance` are byte-identical to before.
127
246
  *
128
247
  * `iconId` references the shared icon registry (the same id space a `button`
@@ -170,9 +289,6 @@ export declare const hoverTransformSchema: z.ZodEnum<{
170
289
  export declare const hoverColorSchema: z.ZodEnum<{
171
290
  none: "none";
172
291
  token: "token";
173
- brighten: "brighten";
174
- darken: "darken";
175
- saturate: "saturate";
176
292
  }>;
177
293
  export declare const buttonPaddingPresetSchema: z.ZodEnum<{
178
294
  default: "default";
@@ -268,7 +384,7 @@ export declare const buttonSizesSchema: z.ZodPipe<z.ZodObject<{
268
384
  fontSize?: string | undefined;
269
385
  } | undefined;
270
386
  }>>;
271
- export declare const buttonGlobalSettingsSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
387
+ export declare const buttonGlobalSettingsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
272
388
  cornerStyle: z.ZodEnum<{
273
389
  square: "square";
274
390
  rounded: "rounded";
@@ -288,7 +404,6 @@ export declare const buttonGlobalSettingsSchema: z.ZodPipe<z.ZodTransform<unknow
288
404
  capitalize: "capitalize";
289
405
  }>;
290
406
  fontWeight: z.ZodUnion<readonly [z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>]>;
291
- borderWidth: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
292
407
  typography: z.ZodOptional<z.ZodEnum<{
293
408
  heading: "heading";
294
409
  body: "body";
@@ -311,14 +426,61 @@ export declare const buttonGlobalSettingsSchema: z.ZodPipe<z.ZodTransform<unknow
311
426
  lift: "lift";
312
427
  press: "press";
313
428
  }>;
314
- hoverColor: z.ZodEnum<{
429
+ gradientStyle: z.ZodOptional<z.ZodEnum<{
430
+ linear: "linear";
431
+ radial: "radial";
432
+ conic: "conic";
433
+ }>>;
434
+ gradientAngle: z.ZodOptional<z.ZodNumber>;
435
+ gradientSharpness: z.ZodOptional<z.ZodEnum<{
436
+ medium: "medium";
437
+ hard: "hard";
438
+ smooth: "smooth";
439
+ }>>;
440
+ hoverColor: z.ZodLiteral<"none">;
441
+ hoverColorToken: z.ZodOptional<z.ZodNever>;
442
+ }, z.core.$strict>, z.ZodObject<{
443
+ cornerStyle: z.ZodEnum<{
444
+ square: "square";
445
+ rounded: "rounded";
446
+ pill: "pill";
447
+ }>;
448
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
449
+ shadow: z.ZodOptional<z.ZodEnum<{
450
+ medium: "medium";
451
+ none: "none";
452
+ high: "high";
453
+ low: "low";
454
+ }>>;
455
+ textTransform: z.ZodEnum<{
315
456
  none: "none";
316
- token: "token";
317
- brighten: "brighten";
318
- darken: "darken";
319
- saturate: "saturate";
457
+ lowercase: "lowercase";
458
+ uppercase: "uppercase";
459
+ capitalize: "capitalize";
460
+ }>;
461
+ fontWeight: z.ZodUnion<readonly [z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>]>;
462
+ typography: z.ZodOptional<z.ZodEnum<{
463
+ heading: "heading";
464
+ body: "body";
465
+ }>>;
466
+ fontSize: z.ZodOptional<z.ZodString>;
467
+ letterSpacing: z.ZodOptional<z.ZodEnum<{
468
+ tight: "tight";
469
+ normal: "normal";
470
+ loose: "loose";
471
+ }>>;
472
+ italic: z.ZodOptional<z.ZodBoolean>;
473
+ paddingPreset: z.ZodOptional<z.ZodEnum<{
474
+ default: "default";
475
+ compact: "compact";
476
+ spacious: "spacious";
477
+ }>>;
478
+ hoverTransform: z.ZodEnum<{
479
+ none: "none";
480
+ scale: "scale";
481
+ lift: "lift";
482
+ press: "press";
320
483
  }>;
321
- hoverColorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
322
484
  gradientStyle: z.ZodOptional<z.ZodEnum<{
323
485
  linear: "linear";
324
486
  radial: "radial";
@@ -330,7 +492,9 @@ export declare const buttonGlobalSettingsSchema: z.ZodPipe<z.ZodTransform<unknow
330
492
  hard: "hard";
331
493
  smooth: "smooth";
332
494
  }>>;
333
- }, z.core.$strip>>;
495
+ hoverColor: z.ZodLiteral<"token">;
496
+ hoverColorToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
497
+ }, z.core.$strict>], "hoverColor">;
334
498
  export declare const gradientDirectionSchema: z.ZodEnum<{
335
499
  "to-r": "to-r";
336
500
  "to-l": "to-l";
@@ -344,7 +508,7 @@ export declare const gradientDirectionSchema: z.ZodEnum<{
344
508
  export declare const buttonColourTreatmentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
345
509
  type: z.ZodLiteral<"solid">;
346
510
  colorToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
347
- }, z.core.$strip>, z.ZodObject<{
511
+ }, z.core.$strict>, z.ZodObject<{
348
512
  type: z.ZodLiteral<"gradient">;
349
513
  stops: z.ZodPipe<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>, z.ZodTransform<[OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]], OpaqueButtonColourToken[]>>;
350
514
  direction: z.ZodEnum<{
@@ -358,14 +522,14 @@ export declare const buttonColourTreatmentSchema: z.ZodDiscriminatedUnion<[z.Zod
358
522
  "to-bl": "to-bl";
359
523
  }>;
360
524
  foregroundToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
361
- }, z.core.$strip>, z.ZodObject<{
525
+ }, z.core.$strict>, z.ZodObject<{
362
526
  type: z.ZodLiteral<"surface">;
363
527
  role: z.ZodLiteral<"link">;
364
- }, z.core.$strip>], "type">;
528
+ }, z.core.$strict>], "type">;
365
529
  export declare const buttonBackgroundSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
366
530
  type: z.ZodLiteral<"solid">;
367
531
  colorToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
368
- }, z.core.$strip>, z.ZodObject<{
532
+ }, z.core.$strict>, z.ZodObject<{
369
533
  type: z.ZodLiteral<"gradient">;
370
534
  stops: z.ZodPipe<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>, z.ZodTransform<[OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]], OpaqueButtonColourToken[]>>;
371
535
  direction: z.ZodEnum<{
@@ -379,23 +543,466 @@ export declare const buttonBackgroundSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
379
543
  "to-bl": "to-bl";
380
544
  }>;
381
545
  foregroundToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
382
- }, z.core.$strip>, z.ZodObject<{
546
+ }, z.core.$strict>, z.ZodObject<{
383
547
  type: z.ZodLiteral<"surface">;
384
548
  role: z.ZodLiteral<"link">;
385
- }, z.core.$strip>], "type">;
386
- export declare const effectApplicationSchema: z.ZodType<EffectApplication>;
549
+ }, z.core.$strict>], "type">;
387
550
  export declare const buttonBorderSchema: z.ZodObject<{
388
551
  widthClass: z.ZodString;
389
- }, z.core.$strip>;
552
+ }, z.core.$strict>;
390
553
  export declare const buttonVariantAffordanceSchema: z.ZodObject<{
391
554
  iconId: z.ZodString;
392
- }, z.core.$strip>;
555
+ }, z.core.$strict>;
393
556
  export declare const variantEffectsSchema: z.ZodObject<{
394
- base: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
395
- hover: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
396
- active: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
397
- focus: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
398
- }, z.core.$strip>;
557
+ base: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
558
+ effectId: z.ZodLiteral<"darken-background">;
559
+ options: z.ZodOptional<z.ZodObject<{
560
+ amount: z.ZodOptional<z.ZodNumber>;
561
+ }, z.core.$strict>>;
562
+ }, z.core.$strict>, z.ZodObject<{
563
+ effectId: z.ZodLiteral<"lighten-background">;
564
+ options: z.ZodOptional<z.ZodObject<{
565
+ amount: z.ZodOptional<z.ZodNumber>;
566
+ }, z.core.$strict>>;
567
+ }, z.core.$strict>, z.ZodObject<{
568
+ effectId: z.ZodLiteral<"background-on-hover">;
569
+ options: z.ZodOptional<z.ZodObject<{
570
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
571
+ }, z.core.$strict>>;
572
+ }, z.core.$strict>, z.ZodObject<{
573
+ effectId: z.ZodLiteral<"animated-gradient">;
574
+ options: z.ZodOptional<z.ZodObject<{
575
+ direction: z.ZodOptional<z.ZodEnum<{
576
+ horizontal: "horizontal";
577
+ vertical: "vertical";
578
+ }>>;
579
+ }, z.core.$strict>>;
580
+ }, z.core.$strict>, z.ZodObject<{
581
+ effectId: z.ZodLiteral<"drop-shadow">;
582
+ options: z.ZodOptional<z.ZodObject<{
583
+ intensity: z.ZodOptional<z.ZodEnum<{
584
+ medium: "medium";
585
+ subtle: "subtle";
586
+ strong: "strong";
587
+ }>>;
588
+ }, z.core.$strict>>;
589
+ }, z.core.$strict>, z.ZodObject<{
590
+ effectId: z.ZodLiteral<"inner-shadow">;
591
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
592
+ }, z.core.$strict>, z.ZodObject<{
593
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
594
+ options: z.ZodOptional<z.ZodObject<{
595
+ mode: z.ZodOptional<z.ZodEnum<{
596
+ raised: "raised";
597
+ pressed: "pressed";
598
+ }>>;
599
+ intensity: z.ZodOptional<z.ZodEnum<{
600
+ medium: "medium";
601
+ subtle: "subtle";
602
+ strong: "strong";
603
+ }>>;
604
+ }, z.core.$strict>>;
605
+ }, z.core.$strict>, z.ZodObject<{
606
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
607
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
608
+ }, z.core.$strict>, z.ZodObject<{
609
+ effectId: z.ZodLiteral<"scale-up">;
610
+ options: z.ZodOptional<z.ZodObject<{
611
+ scale: z.ZodOptional<z.ZodEnum<{
612
+ 1.02: "1.02";
613
+ 1.03: "1.03";
614
+ 1.05: "1.05";
615
+ "1.10": "1.10";
616
+ }>>;
617
+ }, z.core.$strict>>;
618
+ }, z.core.$strict>, z.ZodObject<{
619
+ effectId: z.ZodLiteral<"scale-down">;
620
+ options: z.ZodOptional<z.ZodObject<{
621
+ scale: z.ZodOptional<z.ZodEnum<{
622
+ "0.90": "0.90";
623
+ 0.95: "0.95";
624
+ 0.97: "0.97";
625
+ 0.98: "0.98";
626
+ }>>;
627
+ }, z.core.$strict>>;
628
+ }, z.core.$strict>, z.ZodObject<{
629
+ effectId: z.ZodLiteral<"lift">;
630
+ options: z.ZodOptional<z.ZodObject<{
631
+ amount: z.ZodOptional<z.ZodEnum<{
632
+ 1: "1";
633
+ 0.25: "0.25";
634
+ 0.5: "0.5";
635
+ }>>;
636
+ }, z.core.$strict>>;
637
+ }, z.core.$strict>, z.ZodObject<{
638
+ effectId: z.ZodLiteral<"press-down">;
639
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
640
+ }, z.core.$strict>, z.ZodObject<{
641
+ effectId: z.ZodLiteral<"pop">;
642
+ options: z.ZodOptional<z.ZodObject<{
643
+ intensity: z.ZodOptional<z.ZodEnum<{
644
+ medium: "medium";
645
+ subtle: "subtle";
646
+ dramatic: "dramatic";
647
+ }>>;
648
+ }, z.core.$strict>>;
649
+ }, z.core.$strict>, z.ZodObject<{
650
+ effectId: z.ZodLiteral<"border-bottom-grow">;
651
+ options: z.ZodOptional<z.ZodObject<{
652
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
653
+ origin: z.ZodOptional<z.ZodEnum<{
654
+ left: "left";
655
+ right: "right";
656
+ center: "center";
657
+ }>>;
658
+ }, z.core.$strict>>;
659
+ }, z.core.$strict>, z.ZodObject<{
660
+ effectId: z.ZodLiteral<"sketchy-border">;
661
+ options: z.ZodOptional<z.ZodObject<{
662
+ intensity: z.ZodOptional<z.ZodEnum<{
663
+ medium: "medium";
664
+ subtle: "subtle";
665
+ strong: "strong";
666
+ }>>;
667
+ }, z.core.$strict>>;
668
+ }, z.core.$strict>], "effectId">>>;
669
+ hover: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
670
+ effectId: z.ZodLiteral<"darken-background">;
671
+ options: z.ZodOptional<z.ZodObject<{
672
+ amount: z.ZodOptional<z.ZodNumber>;
673
+ }, z.core.$strict>>;
674
+ }, z.core.$strict>, z.ZodObject<{
675
+ effectId: z.ZodLiteral<"lighten-background">;
676
+ options: z.ZodOptional<z.ZodObject<{
677
+ amount: z.ZodOptional<z.ZodNumber>;
678
+ }, z.core.$strict>>;
679
+ }, z.core.$strict>, z.ZodObject<{
680
+ effectId: z.ZodLiteral<"background-on-hover">;
681
+ options: z.ZodOptional<z.ZodObject<{
682
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
683
+ }, z.core.$strict>>;
684
+ }, z.core.$strict>, z.ZodObject<{
685
+ effectId: z.ZodLiteral<"animated-gradient">;
686
+ options: z.ZodOptional<z.ZodObject<{
687
+ direction: z.ZodOptional<z.ZodEnum<{
688
+ horizontal: "horizontal";
689
+ vertical: "vertical";
690
+ }>>;
691
+ }, z.core.$strict>>;
692
+ }, z.core.$strict>, z.ZodObject<{
693
+ effectId: z.ZodLiteral<"drop-shadow">;
694
+ options: z.ZodOptional<z.ZodObject<{
695
+ intensity: z.ZodOptional<z.ZodEnum<{
696
+ medium: "medium";
697
+ subtle: "subtle";
698
+ strong: "strong";
699
+ }>>;
700
+ }, z.core.$strict>>;
701
+ }, z.core.$strict>, z.ZodObject<{
702
+ effectId: z.ZodLiteral<"inner-shadow">;
703
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
704
+ }, z.core.$strict>, z.ZodObject<{
705
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
706
+ options: z.ZodOptional<z.ZodObject<{
707
+ mode: z.ZodOptional<z.ZodEnum<{
708
+ raised: "raised";
709
+ pressed: "pressed";
710
+ }>>;
711
+ intensity: z.ZodOptional<z.ZodEnum<{
712
+ medium: "medium";
713
+ subtle: "subtle";
714
+ strong: "strong";
715
+ }>>;
716
+ }, z.core.$strict>>;
717
+ }, z.core.$strict>, z.ZodObject<{
718
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
719
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
720
+ }, z.core.$strict>, z.ZodObject<{
721
+ effectId: z.ZodLiteral<"scale-up">;
722
+ options: z.ZodOptional<z.ZodObject<{
723
+ scale: z.ZodOptional<z.ZodEnum<{
724
+ 1.02: "1.02";
725
+ 1.03: "1.03";
726
+ 1.05: "1.05";
727
+ "1.10": "1.10";
728
+ }>>;
729
+ }, z.core.$strict>>;
730
+ }, z.core.$strict>, z.ZodObject<{
731
+ effectId: z.ZodLiteral<"scale-down">;
732
+ options: z.ZodOptional<z.ZodObject<{
733
+ scale: z.ZodOptional<z.ZodEnum<{
734
+ "0.90": "0.90";
735
+ 0.95: "0.95";
736
+ 0.97: "0.97";
737
+ 0.98: "0.98";
738
+ }>>;
739
+ }, z.core.$strict>>;
740
+ }, z.core.$strict>, z.ZodObject<{
741
+ effectId: z.ZodLiteral<"lift">;
742
+ options: z.ZodOptional<z.ZodObject<{
743
+ amount: z.ZodOptional<z.ZodEnum<{
744
+ 1: "1";
745
+ 0.25: "0.25";
746
+ 0.5: "0.5";
747
+ }>>;
748
+ }, z.core.$strict>>;
749
+ }, z.core.$strict>, z.ZodObject<{
750
+ effectId: z.ZodLiteral<"press-down">;
751
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
752
+ }, z.core.$strict>, z.ZodObject<{
753
+ effectId: z.ZodLiteral<"pop">;
754
+ options: z.ZodOptional<z.ZodObject<{
755
+ intensity: z.ZodOptional<z.ZodEnum<{
756
+ medium: "medium";
757
+ subtle: "subtle";
758
+ dramatic: "dramatic";
759
+ }>>;
760
+ }, z.core.$strict>>;
761
+ }, z.core.$strict>, z.ZodObject<{
762
+ effectId: z.ZodLiteral<"border-bottom-grow">;
763
+ options: z.ZodOptional<z.ZodObject<{
764
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
765
+ origin: z.ZodOptional<z.ZodEnum<{
766
+ left: "left";
767
+ right: "right";
768
+ center: "center";
769
+ }>>;
770
+ }, z.core.$strict>>;
771
+ }, z.core.$strict>, z.ZodObject<{
772
+ effectId: z.ZodLiteral<"sketchy-border">;
773
+ options: z.ZodOptional<z.ZodObject<{
774
+ intensity: z.ZodOptional<z.ZodEnum<{
775
+ medium: "medium";
776
+ subtle: "subtle";
777
+ strong: "strong";
778
+ }>>;
779
+ }, z.core.$strict>>;
780
+ }, z.core.$strict>], "effectId">>>;
781
+ active: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
782
+ effectId: z.ZodLiteral<"darken-background">;
783
+ options: z.ZodOptional<z.ZodObject<{
784
+ amount: z.ZodOptional<z.ZodNumber>;
785
+ }, z.core.$strict>>;
786
+ }, z.core.$strict>, z.ZodObject<{
787
+ effectId: z.ZodLiteral<"lighten-background">;
788
+ options: z.ZodOptional<z.ZodObject<{
789
+ amount: z.ZodOptional<z.ZodNumber>;
790
+ }, z.core.$strict>>;
791
+ }, z.core.$strict>, z.ZodObject<{
792
+ effectId: z.ZodLiteral<"background-on-hover">;
793
+ options: z.ZodOptional<z.ZodObject<{
794
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
795
+ }, z.core.$strict>>;
796
+ }, z.core.$strict>, z.ZodObject<{
797
+ effectId: z.ZodLiteral<"animated-gradient">;
798
+ options: z.ZodOptional<z.ZodObject<{
799
+ direction: z.ZodOptional<z.ZodEnum<{
800
+ horizontal: "horizontal";
801
+ vertical: "vertical";
802
+ }>>;
803
+ }, z.core.$strict>>;
804
+ }, z.core.$strict>, z.ZodObject<{
805
+ effectId: z.ZodLiteral<"drop-shadow">;
806
+ options: z.ZodOptional<z.ZodObject<{
807
+ intensity: z.ZodOptional<z.ZodEnum<{
808
+ medium: "medium";
809
+ subtle: "subtle";
810
+ strong: "strong";
811
+ }>>;
812
+ }, z.core.$strict>>;
813
+ }, z.core.$strict>, z.ZodObject<{
814
+ effectId: z.ZodLiteral<"inner-shadow">;
815
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
816
+ }, z.core.$strict>, z.ZodObject<{
817
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
818
+ options: z.ZodOptional<z.ZodObject<{
819
+ mode: z.ZodOptional<z.ZodEnum<{
820
+ raised: "raised";
821
+ pressed: "pressed";
822
+ }>>;
823
+ intensity: z.ZodOptional<z.ZodEnum<{
824
+ medium: "medium";
825
+ subtle: "subtle";
826
+ strong: "strong";
827
+ }>>;
828
+ }, z.core.$strict>>;
829
+ }, z.core.$strict>, z.ZodObject<{
830
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
831
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
832
+ }, z.core.$strict>, z.ZodObject<{
833
+ effectId: z.ZodLiteral<"scale-up">;
834
+ options: z.ZodOptional<z.ZodObject<{
835
+ scale: z.ZodOptional<z.ZodEnum<{
836
+ 1.02: "1.02";
837
+ 1.03: "1.03";
838
+ 1.05: "1.05";
839
+ "1.10": "1.10";
840
+ }>>;
841
+ }, z.core.$strict>>;
842
+ }, z.core.$strict>, z.ZodObject<{
843
+ effectId: z.ZodLiteral<"scale-down">;
844
+ options: z.ZodOptional<z.ZodObject<{
845
+ scale: z.ZodOptional<z.ZodEnum<{
846
+ "0.90": "0.90";
847
+ 0.95: "0.95";
848
+ 0.97: "0.97";
849
+ 0.98: "0.98";
850
+ }>>;
851
+ }, z.core.$strict>>;
852
+ }, z.core.$strict>, z.ZodObject<{
853
+ effectId: z.ZodLiteral<"lift">;
854
+ options: z.ZodOptional<z.ZodObject<{
855
+ amount: z.ZodOptional<z.ZodEnum<{
856
+ 1: "1";
857
+ 0.25: "0.25";
858
+ 0.5: "0.5";
859
+ }>>;
860
+ }, z.core.$strict>>;
861
+ }, z.core.$strict>, z.ZodObject<{
862
+ effectId: z.ZodLiteral<"press-down">;
863
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
864
+ }, z.core.$strict>, z.ZodObject<{
865
+ effectId: z.ZodLiteral<"pop">;
866
+ options: z.ZodOptional<z.ZodObject<{
867
+ intensity: z.ZodOptional<z.ZodEnum<{
868
+ medium: "medium";
869
+ subtle: "subtle";
870
+ dramatic: "dramatic";
871
+ }>>;
872
+ }, z.core.$strict>>;
873
+ }, z.core.$strict>, z.ZodObject<{
874
+ effectId: z.ZodLiteral<"border-bottom-grow">;
875
+ options: z.ZodOptional<z.ZodObject<{
876
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
877
+ origin: z.ZodOptional<z.ZodEnum<{
878
+ left: "left";
879
+ right: "right";
880
+ center: "center";
881
+ }>>;
882
+ }, z.core.$strict>>;
883
+ }, z.core.$strict>, z.ZodObject<{
884
+ effectId: z.ZodLiteral<"sketchy-border">;
885
+ options: z.ZodOptional<z.ZodObject<{
886
+ intensity: z.ZodOptional<z.ZodEnum<{
887
+ medium: "medium";
888
+ subtle: "subtle";
889
+ strong: "strong";
890
+ }>>;
891
+ }, z.core.$strict>>;
892
+ }, z.core.$strict>], "effectId">>>;
893
+ focus: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
894
+ effectId: z.ZodLiteral<"darken-background">;
895
+ options: z.ZodOptional<z.ZodObject<{
896
+ amount: z.ZodOptional<z.ZodNumber>;
897
+ }, z.core.$strict>>;
898
+ }, z.core.$strict>, z.ZodObject<{
899
+ effectId: z.ZodLiteral<"lighten-background">;
900
+ options: z.ZodOptional<z.ZodObject<{
901
+ amount: z.ZodOptional<z.ZodNumber>;
902
+ }, z.core.$strict>>;
903
+ }, z.core.$strict>, z.ZodObject<{
904
+ effectId: z.ZodLiteral<"background-on-hover">;
905
+ options: z.ZodOptional<z.ZodObject<{
906
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
907
+ }, z.core.$strict>>;
908
+ }, z.core.$strict>, z.ZodObject<{
909
+ effectId: z.ZodLiteral<"animated-gradient">;
910
+ options: z.ZodOptional<z.ZodObject<{
911
+ direction: z.ZodOptional<z.ZodEnum<{
912
+ horizontal: "horizontal";
913
+ vertical: "vertical";
914
+ }>>;
915
+ }, z.core.$strict>>;
916
+ }, z.core.$strict>, z.ZodObject<{
917
+ effectId: z.ZodLiteral<"drop-shadow">;
918
+ options: z.ZodOptional<z.ZodObject<{
919
+ intensity: z.ZodOptional<z.ZodEnum<{
920
+ medium: "medium";
921
+ subtle: "subtle";
922
+ strong: "strong";
923
+ }>>;
924
+ }, z.core.$strict>>;
925
+ }, z.core.$strict>, z.ZodObject<{
926
+ effectId: z.ZodLiteral<"inner-shadow">;
927
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
928
+ }, z.core.$strict>, z.ZodObject<{
929
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
930
+ options: z.ZodOptional<z.ZodObject<{
931
+ mode: z.ZodOptional<z.ZodEnum<{
932
+ raised: "raised";
933
+ pressed: "pressed";
934
+ }>>;
935
+ intensity: z.ZodOptional<z.ZodEnum<{
936
+ medium: "medium";
937
+ subtle: "subtle";
938
+ strong: "strong";
939
+ }>>;
940
+ }, z.core.$strict>>;
941
+ }, z.core.$strict>, z.ZodObject<{
942
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
943
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
944
+ }, z.core.$strict>, z.ZodObject<{
945
+ effectId: z.ZodLiteral<"scale-up">;
946
+ options: z.ZodOptional<z.ZodObject<{
947
+ scale: z.ZodOptional<z.ZodEnum<{
948
+ 1.02: "1.02";
949
+ 1.03: "1.03";
950
+ 1.05: "1.05";
951
+ "1.10": "1.10";
952
+ }>>;
953
+ }, z.core.$strict>>;
954
+ }, z.core.$strict>, z.ZodObject<{
955
+ effectId: z.ZodLiteral<"scale-down">;
956
+ options: z.ZodOptional<z.ZodObject<{
957
+ scale: z.ZodOptional<z.ZodEnum<{
958
+ "0.90": "0.90";
959
+ 0.95: "0.95";
960
+ 0.97: "0.97";
961
+ 0.98: "0.98";
962
+ }>>;
963
+ }, z.core.$strict>>;
964
+ }, z.core.$strict>, z.ZodObject<{
965
+ effectId: z.ZodLiteral<"lift">;
966
+ options: z.ZodOptional<z.ZodObject<{
967
+ amount: z.ZodOptional<z.ZodEnum<{
968
+ 1: "1";
969
+ 0.25: "0.25";
970
+ 0.5: "0.5";
971
+ }>>;
972
+ }, z.core.$strict>>;
973
+ }, z.core.$strict>, z.ZodObject<{
974
+ effectId: z.ZodLiteral<"press-down">;
975
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
976
+ }, z.core.$strict>, z.ZodObject<{
977
+ effectId: z.ZodLiteral<"pop">;
978
+ options: z.ZodOptional<z.ZodObject<{
979
+ intensity: z.ZodOptional<z.ZodEnum<{
980
+ medium: "medium";
981
+ subtle: "subtle";
982
+ dramatic: "dramatic";
983
+ }>>;
984
+ }, z.core.$strict>>;
985
+ }, z.core.$strict>, z.ZodObject<{
986
+ effectId: z.ZodLiteral<"border-bottom-grow">;
987
+ options: z.ZodOptional<z.ZodObject<{
988
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
989
+ origin: z.ZodOptional<z.ZodEnum<{
990
+ left: "left";
991
+ right: "right";
992
+ center: "center";
993
+ }>>;
994
+ }, z.core.$strict>>;
995
+ }, z.core.$strict>, z.ZodObject<{
996
+ effectId: z.ZodLiteral<"sketchy-border">;
997
+ options: z.ZodOptional<z.ZodObject<{
998
+ intensity: z.ZodOptional<z.ZodEnum<{
999
+ medium: "medium";
1000
+ subtle: "subtle";
1001
+ strong: "strong";
1002
+ }>>;
1003
+ }, z.core.$strict>>;
1004
+ }, z.core.$strict>], "effectId">>>;
1005
+ }, z.core.$strict>;
399
1006
  /**
400
1007
  * Per-variant size overrides schema — every entry is optional.
401
1008
  *
@@ -422,14 +1029,12 @@ export declare const variantSizeOverridesSchema: z.ZodObject<{
422
1029
  }, z.core.$strip>>;
423
1030
  }, z.core.$strip>;
424
1031
  /**
425
- * Temporary persisted-theme admission boundary for issue #1206.
426
- *
427
- * Production inventory on 2026-07-22 found 22 rows using the old independent
428
- * `textColorToken`/border colour shape. New source and all downstream code use
429
- * only the canonical relationship. Delete this preprocessor after the reviewed
430
- * production rewrite reports zero legacy rows.
1032
+ * Unified variant schema. Every variant participates in the size system; the
1033
+ * optional `sizes` field lets a variant scale differently than the theme
1034
+ * default (e.g. link-style variants declaring zero horizontal padding at
1035
+ * every size).
431
1036
  */
432
- export declare const buttonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
1037
+ export declare const buttonVariantSchema: z.ZodObject<{
433
1038
  id: z.ZodString;
434
1039
  name: z.ZodString;
435
1040
  enabled: z.ZodBoolean;
@@ -437,7 +1042,7 @@ export declare const buttonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unkn
437
1042
  background: z.ZodDiscriminatedUnion<[z.ZodObject<{
438
1043
  type: z.ZodLiteral<"solid">;
439
1044
  colorToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
440
- }, z.core.$strip>, z.ZodObject<{
1045
+ }, z.core.$strict>, z.ZodObject<{
441
1046
  type: z.ZodLiteral<"gradient">;
442
1047
  stops: z.ZodPipe<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>, z.ZodTransform<[OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]], OpaqueButtonColourToken[]>>;
443
1048
  direction: z.ZodEnum<{
@@ -451,10 +1056,11 @@ export declare const buttonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unkn
451
1056
  "to-bl": "to-bl";
452
1057
  }>;
453
1058
  foregroundToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
454
- }, z.core.$strip>, z.ZodObject<{
1059
+ }, z.core.$strict>, z.ZodObject<{
455
1060
  type: z.ZodLiteral<"surface">;
456
1061
  role: z.ZodLiteral<"link">;
457
- }, z.core.$strip>], "type">;
1062
+ }, z.core.$strict>], "type">;
1063
+ /** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
458
1064
  borderRadius: z.ZodOptional<z.ZodString>;
459
1065
  shadow: z.ZodOptional<z.ZodObject<{
460
1066
  elevation: z.ZodEnum<{
@@ -472,18 +1078,462 @@ export declare const buttonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unkn
472
1078
  bottom: "bottom";
473
1079
  "bottom-right": "bottom-right";
474
1080
  }>>;
475
- colorToken: z.ZodOptional<z.ZodString>;
476
- }, z.core.$strip>>;
1081
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1082
+ }, z.core.$strict>>;
477
1083
  border: z.ZodOptional<z.ZodObject<{
478
1084
  widthClass: z.ZodString;
479
- }, z.core.$strip>>;
1085
+ }, z.core.$strict>>;
480
1086
  hoverBackgroundToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
481
1087
  effects: z.ZodOptional<z.ZodObject<{
482
- base: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
483
- hover: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
484
- active: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
485
- focus: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
486
- }, z.core.$strip>>;
1088
+ base: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1089
+ effectId: z.ZodLiteral<"darken-background">;
1090
+ options: z.ZodOptional<z.ZodObject<{
1091
+ amount: z.ZodOptional<z.ZodNumber>;
1092
+ }, z.core.$strict>>;
1093
+ }, z.core.$strict>, z.ZodObject<{
1094
+ effectId: z.ZodLiteral<"lighten-background">;
1095
+ options: z.ZodOptional<z.ZodObject<{
1096
+ amount: z.ZodOptional<z.ZodNumber>;
1097
+ }, z.core.$strict>>;
1098
+ }, z.core.$strict>, z.ZodObject<{
1099
+ effectId: z.ZodLiteral<"background-on-hover">;
1100
+ options: z.ZodOptional<z.ZodObject<{
1101
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1102
+ }, z.core.$strict>>;
1103
+ }, z.core.$strict>, z.ZodObject<{
1104
+ effectId: z.ZodLiteral<"animated-gradient">;
1105
+ options: z.ZodOptional<z.ZodObject<{
1106
+ direction: z.ZodOptional<z.ZodEnum<{
1107
+ horizontal: "horizontal";
1108
+ vertical: "vertical";
1109
+ }>>;
1110
+ }, z.core.$strict>>;
1111
+ }, z.core.$strict>, z.ZodObject<{
1112
+ effectId: z.ZodLiteral<"drop-shadow">;
1113
+ options: z.ZodOptional<z.ZodObject<{
1114
+ intensity: z.ZodOptional<z.ZodEnum<{
1115
+ medium: "medium";
1116
+ subtle: "subtle";
1117
+ strong: "strong";
1118
+ }>>;
1119
+ }, z.core.$strict>>;
1120
+ }, z.core.$strict>, z.ZodObject<{
1121
+ effectId: z.ZodLiteral<"inner-shadow">;
1122
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1123
+ }, z.core.$strict>, z.ZodObject<{
1124
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1125
+ options: z.ZodOptional<z.ZodObject<{
1126
+ mode: z.ZodOptional<z.ZodEnum<{
1127
+ raised: "raised";
1128
+ pressed: "pressed";
1129
+ }>>;
1130
+ intensity: z.ZodOptional<z.ZodEnum<{
1131
+ medium: "medium";
1132
+ subtle: "subtle";
1133
+ strong: "strong";
1134
+ }>>;
1135
+ }, z.core.$strict>>;
1136
+ }, z.core.$strict>, z.ZodObject<{
1137
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1138
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1139
+ }, z.core.$strict>, z.ZodObject<{
1140
+ effectId: z.ZodLiteral<"scale-up">;
1141
+ options: z.ZodOptional<z.ZodObject<{
1142
+ scale: z.ZodOptional<z.ZodEnum<{
1143
+ 1.02: "1.02";
1144
+ 1.03: "1.03";
1145
+ 1.05: "1.05";
1146
+ "1.10": "1.10";
1147
+ }>>;
1148
+ }, z.core.$strict>>;
1149
+ }, z.core.$strict>, z.ZodObject<{
1150
+ effectId: z.ZodLiteral<"scale-down">;
1151
+ options: z.ZodOptional<z.ZodObject<{
1152
+ scale: z.ZodOptional<z.ZodEnum<{
1153
+ "0.90": "0.90";
1154
+ 0.95: "0.95";
1155
+ 0.97: "0.97";
1156
+ 0.98: "0.98";
1157
+ }>>;
1158
+ }, z.core.$strict>>;
1159
+ }, z.core.$strict>, z.ZodObject<{
1160
+ effectId: z.ZodLiteral<"lift">;
1161
+ options: z.ZodOptional<z.ZodObject<{
1162
+ amount: z.ZodOptional<z.ZodEnum<{
1163
+ 1: "1";
1164
+ 0.25: "0.25";
1165
+ 0.5: "0.5";
1166
+ }>>;
1167
+ }, z.core.$strict>>;
1168
+ }, z.core.$strict>, z.ZodObject<{
1169
+ effectId: z.ZodLiteral<"press-down">;
1170
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1171
+ }, z.core.$strict>, z.ZodObject<{
1172
+ effectId: z.ZodLiteral<"pop">;
1173
+ options: z.ZodOptional<z.ZodObject<{
1174
+ intensity: z.ZodOptional<z.ZodEnum<{
1175
+ medium: "medium";
1176
+ subtle: "subtle";
1177
+ dramatic: "dramatic";
1178
+ }>>;
1179
+ }, z.core.$strict>>;
1180
+ }, z.core.$strict>, z.ZodObject<{
1181
+ effectId: z.ZodLiteral<"border-bottom-grow">;
1182
+ options: z.ZodOptional<z.ZodObject<{
1183
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1184
+ origin: z.ZodOptional<z.ZodEnum<{
1185
+ left: "left";
1186
+ right: "right";
1187
+ center: "center";
1188
+ }>>;
1189
+ }, z.core.$strict>>;
1190
+ }, z.core.$strict>, z.ZodObject<{
1191
+ effectId: z.ZodLiteral<"sketchy-border">;
1192
+ options: z.ZodOptional<z.ZodObject<{
1193
+ intensity: z.ZodOptional<z.ZodEnum<{
1194
+ medium: "medium";
1195
+ subtle: "subtle";
1196
+ strong: "strong";
1197
+ }>>;
1198
+ }, z.core.$strict>>;
1199
+ }, z.core.$strict>], "effectId">>>;
1200
+ hover: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1201
+ effectId: z.ZodLiteral<"darken-background">;
1202
+ options: z.ZodOptional<z.ZodObject<{
1203
+ amount: z.ZodOptional<z.ZodNumber>;
1204
+ }, z.core.$strict>>;
1205
+ }, z.core.$strict>, z.ZodObject<{
1206
+ effectId: z.ZodLiteral<"lighten-background">;
1207
+ options: z.ZodOptional<z.ZodObject<{
1208
+ amount: z.ZodOptional<z.ZodNumber>;
1209
+ }, z.core.$strict>>;
1210
+ }, z.core.$strict>, z.ZodObject<{
1211
+ effectId: z.ZodLiteral<"background-on-hover">;
1212
+ options: z.ZodOptional<z.ZodObject<{
1213
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1214
+ }, z.core.$strict>>;
1215
+ }, z.core.$strict>, z.ZodObject<{
1216
+ effectId: z.ZodLiteral<"animated-gradient">;
1217
+ options: z.ZodOptional<z.ZodObject<{
1218
+ direction: z.ZodOptional<z.ZodEnum<{
1219
+ horizontal: "horizontal";
1220
+ vertical: "vertical";
1221
+ }>>;
1222
+ }, z.core.$strict>>;
1223
+ }, z.core.$strict>, z.ZodObject<{
1224
+ effectId: z.ZodLiteral<"drop-shadow">;
1225
+ options: z.ZodOptional<z.ZodObject<{
1226
+ intensity: z.ZodOptional<z.ZodEnum<{
1227
+ medium: "medium";
1228
+ subtle: "subtle";
1229
+ strong: "strong";
1230
+ }>>;
1231
+ }, z.core.$strict>>;
1232
+ }, z.core.$strict>, z.ZodObject<{
1233
+ effectId: z.ZodLiteral<"inner-shadow">;
1234
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1235
+ }, z.core.$strict>, z.ZodObject<{
1236
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1237
+ options: z.ZodOptional<z.ZodObject<{
1238
+ mode: z.ZodOptional<z.ZodEnum<{
1239
+ raised: "raised";
1240
+ pressed: "pressed";
1241
+ }>>;
1242
+ intensity: z.ZodOptional<z.ZodEnum<{
1243
+ medium: "medium";
1244
+ subtle: "subtle";
1245
+ strong: "strong";
1246
+ }>>;
1247
+ }, z.core.$strict>>;
1248
+ }, z.core.$strict>, z.ZodObject<{
1249
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1250
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1251
+ }, z.core.$strict>, z.ZodObject<{
1252
+ effectId: z.ZodLiteral<"scale-up">;
1253
+ options: z.ZodOptional<z.ZodObject<{
1254
+ scale: z.ZodOptional<z.ZodEnum<{
1255
+ 1.02: "1.02";
1256
+ 1.03: "1.03";
1257
+ 1.05: "1.05";
1258
+ "1.10": "1.10";
1259
+ }>>;
1260
+ }, z.core.$strict>>;
1261
+ }, z.core.$strict>, z.ZodObject<{
1262
+ effectId: z.ZodLiteral<"scale-down">;
1263
+ options: z.ZodOptional<z.ZodObject<{
1264
+ scale: z.ZodOptional<z.ZodEnum<{
1265
+ "0.90": "0.90";
1266
+ 0.95: "0.95";
1267
+ 0.97: "0.97";
1268
+ 0.98: "0.98";
1269
+ }>>;
1270
+ }, z.core.$strict>>;
1271
+ }, z.core.$strict>, z.ZodObject<{
1272
+ effectId: z.ZodLiteral<"lift">;
1273
+ options: z.ZodOptional<z.ZodObject<{
1274
+ amount: z.ZodOptional<z.ZodEnum<{
1275
+ 1: "1";
1276
+ 0.25: "0.25";
1277
+ 0.5: "0.5";
1278
+ }>>;
1279
+ }, z.core.$strict>>;
1280
+ }, z.core.$strict>, z.ZodObject<{
1281
+ effectId: z.ZodLiteral<"press-down">;
1282
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1283
+ }, z.core.$strict>, z.ZodObject<{
1284
+ effectId: z.ZodLiteral<"pop">;
1285
+ options: z.ZodOptional<z.ZodObject<{
1286
+ intensity: z.ZodOptional<z.ZodEnum<{
1287
+ medium: "medium";
1288
+ subtle: "subtle";
1289
+ dramatic: "dramatic";
1290
+ }>>;
1291
+ }, z.core.$strict>>;
1292
+ }, z.core.$strict>, z.ZodObject<{
1293
+ effectId: z.ZodLiteral<"border-bottom-grow">;
1294
+ options: z.ZodOptional<z.ZodObject<{
1295
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1296
+ origin: z.ZodOptional<z.ZodEnum<{
1297
+ left: "left";
1298
+ right: "right";
1299
+ center: "center";
1300
+ }>>;
1301
+ }, z.core.$strict>>;
1302
+ }, z.core.$strict>, z.ZodObject<{
1303
+ effectId: z.ZodLiteral<"sketchy-border">;
1304
+ options: z.ZodOptional<z.ZodObject<{
1305
+ intensity: z.ZodOptional<z.ZodEnum<{
1306
+ medium: "medium";
1307
+ subtle: "subtle";
1308
+ strong: "strong";
1309
+ }>>;
1310
+ }, z.core.$strict>>;
1311
+ }, z.core.$strict>], "effectId">>>;
1312
+ active: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1313
+ effectId: z.ZodLiteral<"darken-background">;
1314
+ options: z.ZodOptional<z.ZodObject<{
1315
+ amount: z.ZodOptional<z.ZodNumber>;
1316
+ }, z.core.$strict>>;
1317
+ }, z.core.$strict>, z.ZodObject<{
1318
+ effectId: z.ZodLiteral<"lighten-background">;
1319
+ options: z.ZodOptional<z.ZodObject<{
1320
+ amount: z.ZodOptional<z.ZodNumber>;
1321
+ }, z.core.$strict>>;
1322
+ }, z.core.$strict>, z.ZodObject<{
1323
+ effectId: z.ZodLiteral<"background-on-hover">;
1324
+ options: z.ZodOptional<z.ZodObject<{
1325
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1326
+ }, z.core.$strict>>;
1327
+ }, z.core.$strict>, z.ZodObject<{
1328
+ effectId: z.ZodLiteral<"animated-gradient">;
1329
+ options: z.ZodOptional<z.ZodObject<{
1330
+ direction: z.ZodOptional<z.ZodEnum<{
1331
+ horizontal: "horizontal";
1332
+ vertical: "vertical";
1333
+ }>>;
1334
+ }, z.core.$strict>>;
1335
+ }, z.core.$strict>, z.ZodObject<{
1336
+ effectId: z.ZodLiteral<"drop-shadow">;
1337
+ options: z.ZodOptional<z.ZodObject<{
1338
+ intensity: z.ZodOptional<z.ZodEnum<{
1339
+ medium: "medium";
1340
+ subtle: "subtle";
1341
+ strong: "strong";
1342
+ }>>;
1343
+ }, z.core.$strict>>;
1344
+ }, z.core.$strict>, z.ZodObject<{
1345
+ effectId: z.ZodLiteral<"inner-shadow">;
1346
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1347
+ }, z.core.$strict>, z.ZodObject<{
1348
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1349
+ options: z.ZodOptional<z.ZodObject<{
1350
+ mode: z.ZodOptional<z.ZodEnum<{
1351
+ raised: "raised";
1352
+ pressed: "pressed";
1353
+ }>>;
1354
+ intensity: z.ZodOptional<z.ZodEnum<{
1355
+ medium: "medium";
1356
+ subtle: "subtle";
1357
+ strong: "strong";
1358
+ }>>;
1359
+ }, z.core.$strict>>;
1360
+ }, z.core.$strict>, z.ZodObject<{
1361
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1362
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1363
+ }, z.core.$strict>, z.ZodObject<{
1364
+ effectId: z.ZodLiteral<"scale-up">;
1365
+ options: z.ZodOptional<z.ZodObject<{
1366
+ scale: z.ZodOptional<z.ZodEnum<{
1367
+ 1.02: "1.02";
1368
+ 1.03: "1.03";
1369
+ 1.05: "1.05";
1370
+ "1.10": "1.10";
1371
+ }>>;
1372
+ }, z.core.$strict>>;
1373
+ }, z.core.$strict>, z.ZodObject<{
1374
+ effectId: z.ZodLiteral<"scale-down">;
1375
+ options: z.ZodOptional<z.ZodObject<{
1376
+ scale: z.ZodOptional<z.ZodEnum<{
1377
+ "0.90": "0.90";
1378
+ 0.95: "0.95";
1379
+ 0.97: "0.97";
1380
+ 0.98: "0.98";
1381
+ }>>;
1382
+ }, z.core.$strict>>;
1383
+ }, z.core.$strict>, z.ZodObject<{
1384
+ effectId: z.ZodLiteral<"lift">;
1385
+ options: z.ZodOptional<z.ZodObject<{
1386
+ amount: z.ZodOptional<z.ZodEnum<{
1387
+ 1: "1";
1388
+ 0.25: "0.25";
1389
+ 0.5: "0.5";
1390
+ }>>;
1391
+ }, z.core.$strict>>;
1392
+ }, z.core.$strict>, z.ZodObject<{
1393
+ effectId: z.ZodLiteral<"press-down">;
1394
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1395
+ }, z.core.$strict>, z.ZodObject<{
1396
+ effectId: z.ZodLiteral<"pop">;
1397
+ options: z.ZodOptional<z.ZodObject<{
1398
+ intensity: z.ZodOptional<z.ZodEnum<{
1399
+ medium: "medium";
1400
+ subtle: "subtle";
1401
+ dramatic: "dramatic";
1402
+ }>>;
1403
+ }, z.core.$strict>>;
1404
+ }, z.core.$strict>, z.ZodObject<{
1405
+ effectId: z.ZodLiteral<"border-bottom-grow">;
1406
+ options: z.ZodOptional<z.ZodObject<{
1407
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1408
+ origin: z.ZodOptional<z.ZodEnum<{
1409
+ left: "left";
1410
+ right: "right";
1411
+ center: "center";
1412
+ }>>;
1413
+ }, z.core.$strict>>;
1414
+ }, z.core.$strict>, z.ZodObject<{
1415
+ effectId: z.ZodLiteral<"sketchy-border">;
1416
+ options: z.ZodOptional<z.ZodObject<{
1417
+ intensity: z.ZodOptional<z.ZodEnum<{
1418
+ medium: "medium";
1419
+ subtle: "subtle";
1420
+ strong: "strong";
1421
+ }>>;
1422
+ }, z.core.$strict>>;
1423
+ }, z.core.$strict>], "effectId">>>;
1424
+ focus: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1425
+ effectId: z.ZodLiteral<"darken-background">;
1426
+ options: z.ZodOptional<z.ZodObject<{
1427
+ amount: z.ZodOptional<z.ZodNumber>;
1428
+ }, z.core.$strict>>;
1429
+ }, z.core.$strict>, z.ZodObject<{
1430
+ effectId: z.ZodLiteral<"lighten-background">;
1431
+ options: z.ZodOptional<z.ZodObject<{
1432
+ amount: z.ZodOptional<z.ZodNumber>;
1433
+ }, z.core.$strict>>;
1434
+ }, z.core.$strict>, z.ZodObject<{
1435
+ effectId: z.ZodLiteral<"background-on-hover">;
1436
+ options: z.ZodOptional<z.ZodObject<{
1437
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1438
+ }, z.core.$strict>>;
1439
+ }, z.core.$strict>, z.ZodObject<{
1440
+ effectId: z.ZodLiteral<"animated-gradient">;
1441
+ options: z.ZodOptional<z.ZodObject<{
1442
+ direction: z.ZodOptional<z.ZodEnum<{
1443
+ horizontal: "horizontal";
1444
+ vertical: "vertical";
1445
+ }>>;
1446
+ }, z.core.$strict>>;
1447
+ }, z.core.$strict>, z.ZodObject<{
1448
+ effectId: z.ZodLiteral<"drop-shadow">;
1449
+ options: z.ZodOptional<z.ZodObject<{
1450
+ intensity: z.ZodOptional<z.ZodEnum<{
1451
+ medium: "medium";
1452
+ subtle: "subtle";
1453
+ strong: "strong";
1454
+ }>>;
1455
+ }, z.core.$strict>>;
1456
+ }, z.core.$strict>, z.ZodObject<{
1457
+ effectId: z.ZodLiteral<"inner-shadow">;
1458
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1459
+ }, z.core.$strict>, z.ZodObject<{
1460
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1461
+ options: z.ZodOptional<z.ZodObject<{
1462
+ mode: z.ZodOptional<z.ZodEnum<{
1463
+ raised: "raised";
1464
+ pressed: "pressed";
1465
+ }>>;
1466
+ intensity: z.ZodOptional<z.ZodEnum<{
1467
+ medium: "medium";
1468
+ subtle: "subtle";
1469
+ strong: "strong";
1470
+ }>>;
1471
+ }, z.core.$strict>>;
1472
+ }, z.core.$strict>, z.ZodObject<{
1473
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1474
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1475
+ }, z.core.$strict>, z.ZodObject<{
1476
+ effectId: z.ZodLiteral<"scale-up">;
1477
+ options: z.ZodOptional<z.ZodObject<{
1478
+ scale: z.ZodOptional<z.ZodEnum<{
1479
+ 1.02: "1.02";
1480
+ 1.03: "1.03";
1481
+ 1.05: "1.05";
1482
+ "1.10": "1.10";
1483
+ }>>;
1484
+ }, z.core.$strict>>;
1485
+ }, z.core.$strict>, z.ZodObject<{
1486
+ effectId: z.ZodLiteral<"scale-down">;
1487
+ options: z.ZodOptional<z.ZodObject<{
1488
+ scale: z.ZodOptional<z.ZodEnum<{
1489
+ "0.90": "0.90";
1490
+ 0.95: "0.95";
1491
+ 0.97: "0.97";
1492
+ 0.98: "0.98";
1493
+ }>>;
1494
+ }, z.core.$strict>>;
1495
+ }, z.core.$strict>, z.ZodObject<{
1496
+ effectId: z.ZodLiteral<"lift">;
1497
+ options: z.ZodOptional<z.ZodObject<{
1498
+ amount: z.ZodOptional<z.ZodEnum<{
1499
+ 1: "1";
1500
+ 0.25: "0.25";
1501
+ 0.5: "0.5";
1502
+ }>>;
1503
+ }, z.core.$strict>>;
1504
+ }, z.core.$strict>, z.ZodObject<{
1505
+ effectId: z.ZodLiteral<"press-down">;
1506
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1507
+ }, z.core.$strict>, z.ZodObject<{
1508
+ effectId: z.ZodLiteral<"pop">;
1509
+ options: z.ZodOptional<z.ZodObject<{
1510
+ intensity: z.ZodOptional<z.ZodEnum<{
1511
+ medium: "medium";
1512
+ subtle: "subtle";
1513
+ dramatic: "dramatic";
1514
+ }>>;
1515
+ }, z.core.$strict>>;
1516
+ }, z.core.$strict>, z.ZodObject<{
1517
+ effectId: z.ZodLiteral<"border-bottom-grow">;
1518
+ options: z.ZodOptional<z.ZodObject<{
1519
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1520
+ origin: z.ZodOptional<z.ZodEnum<{
1521
+ left: "left";
1522
+ right: "right";
1523
+ center: "center";
1524
+ }>>;
1525
+ }, z.core.$strict>>;
1526
+ }, z.core.$strict>, z.ZodObject<{
1527
+ effectId: z.ZodLiteral<"sketchy-border">;
1528
+ options: z.ZodOptional<z.ZodObject<{
1529
+ intensity: z.ZodOptional<z.ZodEnum<{
1530
+ medium: "medium";
1531
+ subtle: "subtle";
1532
+ strong: "strong";
1533
+ }>>;
1534
+ }, z.core.$strict>>;
1535
+ }, z.core.$strict>], "effectId">>>;
1536
+ }, z.core.$strict>>;
487
1537
  sizes: z.ZodOptional<z.ZodObject<{
488
1538
  sm: z.ZodOptional<z.ZodObject<{
489
1539
  padding: z.ZodString;
@@ -504,10 +1554,10 @@ export declare const buttonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unkn
504
1554
  }, z.core.$strip>>;
505
1555
  affordance: z.ZodOptional<z.ZodObject<{
506
1556
  iconId: z.ZodString;
507
- }, z.core.$strip>>;
508
- }, z.core.$strip>>;
1557
+ }, z.core.$strict>>;
1558
+ }, z.core.$strict>;
509
1559
  export declare const buttonSystemSchema: z.ZodObject<{
510
- global: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
1560
+ global: z.ZodDiscriminatedUnion<[z.ZodObject<{
511
1561
  cornerStyle: z.ZodEnum<{
512
1562
  square: "square";
513
1563
  rounded: "rounded";
@@ -527,7 +1577,6 @@ export declare const buttonSystemSchema: z.ZodObject<{
527
1577
  capitalize: "capitalize";
528
1578
  }>;
529
1579
  fontWeight: z.ZodUnion<readonly [z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>]>;
530
- borderWidth: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
531
1580
  typography: z.ZodOptional<z.ZodEnum<{
532
1581
  heading: "heading";
533
1582
  body: "body";
@@ -550,14 +1599,61 @@ export declare const buttonSystemSchema: z.ZodObject<{
550
1599
  lift: "lift";
551
1600
  press: "press";
552
1601
  }>;
553
- hoverColor: z.ZodEnum<{
1602
+ gradientStyle: z.ZodOptional<z.ZodEnum<{
1603
+ linear: "linear";
1604
+ radial: "radial";
1605
+ conic: "conic";
1606
+ }>>;
1607
+ gradientAngle: z.ZodOptional<z.ZodNumber>;
1608
+ gradientSharpness: z.ZodOptional<z.ZodEnum<{
1609
+ medium: "medium";
1610
+ hard: "hard";
1611
+ smooth: "smooth";
1612
+ }>>;
1613
+ hoverColor: z.ZodLiteral<"none">;
1614
+ hoverColorToken: z.ZodOptional<z.ZodNever>;
1615
+ }, z.core.$strict>, z.ZodObject<{
1616
+ cornerStyle: z.ZodEnum<{
1617
+ square: "square";
1618
+ rounded: "rounded";
1619
+ pill: "pill";
1620
+ }>;
1621
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
1622
+ shadow: z.ZodOptional<z.ZodEnum<{
1623
+ medium: "medium";
1624
+ none: "none";
1625
+ high: "high";
1626
+ low: "low";
1627
+ }>>;
1628
+ textTransform: z.ZodEnum<{
1629
+ none: "none";
1630
+ lowercase: "lowercase";
1631
+ uppercase: "uppercase";
1632
+ capitalize: "capitalize";
1633
+ }>;
1634
+ fontWeight: z.ZodUnion<readonly [z.ZodLiteral<500>, z.ZodLiteral<600>, z.ZodLiteral<700>]>;
1635
+ typography: z.ZodOptional<z.ZodEnum<{
1636
+ heading: "heading";
1637
+ body: "body";
1638
+ }>>;
1639
+ fontSize: z.ZodOptional<z.ZodString>;
1640
+ letterSpacing: z.ZodOptional<z.ZodEnum<{
1641
+ tight: "tight";
1642
+ normal: "normal";
1643
+ loose: "loose";
1644
+ }>>;
1645
+ italic: z.ZodOptional<z.ZodBoolean>;
1646
+ paddingPreset: z.ZodOptional<z.ZodEnum<{
1647
+ default: "default";
1648
+ compact: "compact";
1649
+ spacious: "spacious";
1650
+ }>>;
1651
+ hoverTransform: z.ZodEnum<{
554
1652
  none: "none";
555
- token: "token";
556
- brighten: "brighten";
557
- darken: "darken";
558
- saturate: "saturate";
1653
+ scale: "scale";
1654
+ lift: "lift";
1655
+ press: "press";
559
1656
  }>;
560
- hoverColorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
561
1657
  gradientStyle: z.ZodOptional<z.ZodEnum<{
562
1658
  linear: "linear";
563
1659
  radial: "radial";
@@ -569,8 +1665,10 @@ export declare const buttonSystemSchema: z.ZodObject<{
569
1665
  hard: "hard";
570
1666
  smooth: "smooth";
571
1667
  }>>;
572
- }, z.core.$strip>>;
573
- variants: z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
1668
+ hoverColor: z.ZodLiteral<"token">;
1669
+ hoverColorToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
1670
+ }, z.core.$strict>], "hoverColor">;
1671
+ variants: z.ZodArray<z.ZodObject<{
574
1672
  id: z.ZodString;
575
1673
  name: z.ZodString;
576
1674
  enabled: z.ZodBoolean;
@@ -578,7 +1676,7 @@ export declare const buttonSystemSchema: z.ZodObject<{
578
1676
  background: z.ZodDiscriminatedUnion<[z.ZodObject<{
579
1677
  type: z.ZodLiteral<"solid">;
580
1678
  colorToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
581
- }, z.core.$strip>, z.ZodObject<{
1679
+ }, z.core.$strict>, z.ZodObject<{
582
1680
  type: z.ZodLiteral<"gradient">;
583
1681
  stops: z.ZodPipe<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>, z.ZodTransform<[OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]], OpaqueButtonColourToken[]>>;
584
1682
  direction: z.ZodEnum<{
@@ -592,10 +1690,11 @@ export declare const buttonSystemSchema: z.ZodObject<{
592
1690
  "to-bl": "to-bl";
593
1691
  }>;
594
1692
  foregroundToken: z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>;
595
- }, z.core.$strip>, z.ZodObject<{
1693
+ }, z.core.$strict>, z.ZodObject<{
596
1694
  type: z.ZodLiteral<"surface">;
597
1695
  role: z.ZodLiteral<"link">;
598
- }, z.core.$strip>], "type">;
1696
+ }, z.core.$strict>], "type">;
1697
+ /** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
599
1698
  borderRadius: z.ZodOptional<z.ZodString>;
600
1699
  shadow: z.ZodOptional<z.ZodObject<{
601
1700
  elevation: z.ZodEnum<{
@@ -613,18 +1712,462 @@ export declare const buttonSystemSchema: z.ZodObject<{
613
1712
  bottom: "bottom";
614
1713
  "bottom-right": "bottom-right";
615
1714
  }>>;
616
- colorToken: z.ZodOptional<z.ZodString>;
617
- }, z.core.$strip>>;
1715
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1716
+ }, z.core.$strict>>;
618
1717
  border: z.ZodOptional<z.ZodObject<{
619
1718
  widthClass: z.ZodString;
620
- }, z.core.$strip>>;
1719
+ }, z.core.$strict>>;
621
1720
  hoverBackgroundToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
622
1721
  effects: z.ZodOptional<z.ZodObject<{
623
- base: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
624
- hover: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
625
- active: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
626
- focus: z.ZodOptional<z.ZodArray<z.ZodType<EffectApplication, unknown, z.core.$ZodTypeInternals<EffectApplication, unknown>>>>;
627
- }, z.core.$strip>>;
1722
+ base: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1723
+ effectId: z.ZodLiteral<"darken-background">;
1724
+ options: z.ZodOptional<z.ZodObject<{
1725
+ amount: z.ZodOptional<z.ZodNumber>;
1726
+ }, z.core.$strict>>;
1727
+ }, z.core.$strict>, z.ZodObject<{
1728
+ effectId: z.ZodLiteral<"lighten-background">;
1729
+ options: z.ZodOptional<z.ZodObject<{
1730
+ amount: z.ZodOptional<z.ZodNumber>;
1731
+ }, z.core.$strict>>;
1732
+ }, z.core.$strict>, z.ZodObject<{
1733
+ effectId: z.ZodLiteral<"background-on-hover">;
1734
+ options: z.ZodOptional<z.ZodObject<{
1735
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1736
+ }, z.core.$strict>>;
1737
+ }, z.core.$strict>, z.ZodObject<{
1738
+ effectId: z.ZodLiteral<"animated-gradient">;
1739
+ options: z.ZodOptional<z.ZodObject<{
1740
+ direction: z.ZodOptional<z.ZodEnum<{
1741
+ horizontal: "horizontal";
1742
+ vertical: "vertical";
1743
+ }>>;
1744
+ }, z.core.$strict>>;
1745
+ }, z.core.$strict>, z.ZodObject<{
1746
+ effectId: z.ZodLiteral<"drop-shadow">;
1747
+ options: z.ZodOptional<z.ZodObject<{
1748
+ intensity: z.ZodOptional<z.ZodEnum<{
1749
+ medium: "medium";
1750
+ subtle: "subtle";
1751
+ strong: "strong";
1752
+ }>>;
1753
+ }, z.core.$strict>>;
1754
+ }, z.core.$strict>, z.ZodObject<{
1755
+ effectId: z.ZodLiteral<"inner-shadow">;
1756
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1757
+ }, z.core.$strict>, z.ZodObject<{
1758
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1759
+ options: z.ZodOptional<z.ZodObject<{
1760
+ mode: z.ZodOptional<z.ZodEnum<{
1761
+ raised: "raised";
1762
+ pressed: "pressed";
1763
+ }>>;
1764
+ intensity: z.ZodOptional<z.ZodEnum<{
1765
+ medium: "medium";
1766
+ subtle: "subtle";
1767
+ strong: "strong";
1768
+ }>>;
1769
+ }, z.core.$strict>>;
1770
+ }, z.core.$strict>, z.ZodObject<{
1771
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1772
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1773
+ }, z.core.$strict>, z.ZodObject<{
1774
+ effectId: z.ZodLiteral<"scale-up">;
1775
+ options: z.ZodOptional<z.ZodObject<{
1776
+ scale: z.ZodOptional<z.ZodEnum<{
1777
+ 1.02: "1.02";
1778
+ 1.03: "1.03";
1779
+ 1.05: "1.05";
1780
+ "1.10": "1.10";
1781
+ }>>;
1782
+ }, z.core.$strict>>;
1783
+ }, z.core.$strict>, z.ZodObject<{
1784
+ effectId: z.ZodLiteral<"scale-down">;
1785
+ options: z.ZodOptional<z.ZodObject<{
1786
+ scale: z.ZodOptional<z.ZodEnum<{
1787
+ "0.90": "0.90";
1788
+ 0.95: "0.95";
1789
+ 0.97: "0.97";
1790
+ 0.98: "0.98";
1791
+ }>>;
1792
+ }, z.core.$strict>>;
1793
+ }, z.core.$strict>, z.ZodObject<{
1794
+ effectId: z.ZodLiteral<"lift">;
1795
+ options: z.ZodOptional<z.ZodObject<{
1796
+ amount: z.ZodOptional<z.ZodEnum<{
1797
+ 1: "1";
1798
+ 0.25: "0.25";
1799
+ 0.5: "0.5";
1800
+ }>>;
1801
+ }, z.core.$strict>>;
1802
+ }, z.core.$strict>, z.ZodObject<{
1803
+ effectId: z.ZodLiteral<"press-down">;
1804
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1805
+ }, z.core.$strict>, z.ZodObject<{
1806
+ effectId: z.ZodLiteral<"pop">;
1807
+ options: z.ZodOptional<z.ZodObject<{
1808
+ intensity: z.ZodOptional<z.ZodEnum<{
1809
+ medium: "medium";
1810
+ subtle: "subtle";
1811
+ dramatic: "dramatic";
1812
+ }>>;
1813
+ }, z.core.$strict>>;
1814
+ }, z.core.$strict>, z.ZodObject<{
1815
+ effectId: z.ZodLiteral<"border-bottom-grow">;
1816
+ options: z.ZodOptional<z.ZodObject<{
1817
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1818
+ origin: z.ZodOptional<z.ZodEnum<{
1819
+ left: "left";
1820
+ right: "right";
1821
+ center: "center";
1822
+ }>>;
1823
+ }, z.core.$strict>>;
1824
+ }, z.core.$strict>, z.ZodObject<{
1825
+ effectId: z.ZodLiteral<"sketchy-border">;
1826
+ options: z.ZodOptional<z.ZodObject<{
1827
+ intensity: z.ZodOptional<z.ZodEnum<{
1828
+ medium: "medium";
1829
+ subtle: "subtle";
1830
+ strong: "strong";
1831
+ }>>;
1832
+ }, z.core.$strict>>;
1833
+ }, z.core.$strict>], "effectId">>>;
1834
+ hover: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1835
+ effectId: z.ZodLiteral<"darken-background">;
1836
+ options: z.ZodOptional<z.ZodObject<{
1837
+ amount: z.ZodOptional<z.ZodNumber>;
1838
+ }, z.core.$strict>>;
1839
+ }, z.core.$strict>, z.ZodObject<{
1840
+ effectId: z.ZodLiteral<"lighten-background">;
1841
+ options: z.ZodOptional<z.ZodObject<{
1842
+ amount: z.ZodOptional<z.ZodNumber>;
1843
+ }, z.core.$strict>>;
1844
+ }, z.core.$strict>, z.ZodObject<{
1845
+ effectId: z.ZodLiteral<"background-on-hover">;
1846
+ options: z.ZodOptional<z.ZodObject<{
1847
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1848
+ }, z.core.$strict>>;
1849
+ }, z.core.$strict>, z.ZodObject<{
1850
+ effectId: z.ZodLiteral<"animated-gradient">;
1851
+ options: z.ZodOptional<z.ZodObject<{
1852
+ direction: z.ZodOptional<z.ZodEnum<{
1853
+ horizontal: "horizontal";
1854
+ vertical: "vertical";
1855
+ }>>;
1856
+ }, z.core.$strict>>;
1857
+ }, z.core.$strict>, z.ZodObject<{
1858
+ effectId: z.ZodLiteral<"drop-shadow">;
1859
+ options: z.ZodOptional<z.ZodObject<{
1860
+ intensity: z.ZodOptional<z.ZodEnum<{
1861
+ medium: "medium";
1862
+ subtle: "subtle";
1863
+ strong: "strong";
1864
+ }>>;
1865
+ }, z.core.$strict>>;
1866
+ }, z.core.$strict>, z.ZodObject<{
1867
+ effectId: z.ZodLiteral<"inner-shadow">;
1868
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1869
+ }, z.core.$strict>, z.ZodObject<{
1870
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1871
+ options: z.ZodOptional<z.ZodObject<{
1872
+ mode: z.ZodOptional<z.ZodEnum<{
1873
+ raised: "raised";
1874
+ pressed: "pressed";
1875
+ }>>;
1876
+ intensity: z.ZodOptional<z.ZodEnum<{
1877
+ medium: "medium";
1878
+ subtle: "subtle";
1879
+ strong: "strong";
1880
+ }>>;
1881
+ }, z.core.$strict>>;
1882
+ }, z.core.$strict>, z.ZodObject<{
1883
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1884
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1885
+ }, z.core.$strict>, z.ZodObject<{
1886
+ effectId: z.ZodLiteral<"scale-up">;
1887
+ options: z.ZodOptional<z.ZodObject<{
1888
+ scale: z.ZodOptional<z.ZodEnum<{
1889
+ 1.02: "1.02";
1890
+ 1.03: "1.03";
1891
+ 1.05: "1.05";
1892
+ "1.10": "1.10";
1893
+ }>>;
1894
+ }, z.core.$strict>>;
1895
+ }, z.core.$strict>, z.ZodObject<{
1896
+ effectId: z.ZodLiteral<"scale-down">;
1897
+ options: z.ZodOptional<z.ZodObject<{
1898
+ scale: z.ZodOptional<z.ZodEnum<{
1899
+ "0.90": "0.90";
1900
+ 0.95: "0.95";
1901
+ 0.97: "0.97";
1902
+ 0.98: "0.98";
1903
+ }>>;
1904
+ }, z.core.$strict>>;
1905
+ }, z.core.$strict>, z.ZodObject<{
1906
+ effectId: z.ZodLiteral<"lift">;
1907
+ options: z.ZodOptional<z.ZodObject<{
1908
+ amount: z.ZodOptional<z.ZodEnum<{
1909
+ 1: "1";
1910
+ 0.25: "0.25";
1911
+ 0.5: "0.5";
1912
+ }>>;
1913
+ }, z.core.$strict>>;
1914
+ }, z.core.$strict>, z.ZodObject<{
1915
+ effectId: z.ZodLiteral<"press-down">;
1916
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1917
+ }, z.core.$strict>, z.ZodObject<{
1918
+ effectId: z.ZodLiteral<"pop">;
1919
+ options: z.ZodOptional<z.ZodObject<{
1920
+ intensity: z.ZodOptional<z.ZodEnum<{
1921
+ medium: "medium";
1922
+ subtle: "subtle";
1923
+ dramatic: "dramatic";
1924
+ }>>;
1925
+ }, z.core.$strict>>;
1926
+ }, z.core.$strict>, z.ZodObject<{
1927
+ effectId: z.ZodLiteral<"border-bottom-grow">;
1928
+ options: z.ZodOptional<z.ZodObject<{
1929
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1930
+ origin: z.ZodOptional<z.ZodEnum<{
1931
+ left: "left";
1932
+ right: "right";
1933
+ center: "center";
1934
+ }>>;
1935
+ }, z.core.$strict>>;
1936
+ }, z.core.$strict>, z.ZodObject<{
1937
+ effectId: z.ZodLiteral<"sketchy-border">;
1938
+ options: z.ZodOptional<z.ZodObject<{
1939
+ intensity: z.ZodOptional<z.ZodEnum<{
1940
+ medium: "medium";
1941
+ subtle: "subtle";
1942
+ strong: "strong";
1943
+ }>>;
1944
+ }, z.core.$strict>>;
1945
+ }, z.core.$strict>], "effectId">>>;
1946
+ active: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1947
+ effectId: z.ZodLiteral<"darken-background">;
1948
+ options: z.ZodOptional<z.ZodObject<{
1949
+ amount: z.ZodOptional<z.ZodNumber>;
1950
+ }, z.core.$strict>>;
1951
+ }, z.core.$strict>, z.ZodObject<{
1952
+ effectId: z.ZodLiteral<"lighten-background">;
1953
+ options: z.ZodOptional<z.ZodObject<{
1954
+ amount: z.ZodOptional<z.ZodNumber>;
1955
+ }, z.core.$strict>>;
1956
+ }, z.core.$strict>, z.ZodObject<{
1957
+ effectId: z.ZodLiteral<"background-on-hover">;
1958
+ options: z.ZodOptional<z.ZodObject<{
1959
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
1960
+ }, z.core.$strict>>;
1961
+ }, z.core.$strict>, z.ZodObject<{
1962
+ effectId: z.ZodLiteral<"animated-gradient">;
1963
+ options: z.ZodOptional<z.ZodObject<{
1964
+ direction: z.ZodOptional<z.ZodEnum<{
1965
+ horizontal: "horizontal";
1966
+ vertical: "vertical";
1967
+ }>>;
1968
+ }, z.core.$strict>>;
1969
+ }, z.core.$strict>, z.ZodObject<{
1970
+ effectId: z.ZodLiteral<"drop-shadow">;
1971
+ options: z.ZodOptional<z.ZodObject<{
1972
+ intensity: z.ZodOptional<z.ZodEnum<{
1973
+ medium: "medium";
1974
+ subtle: "subtle";
1975
+ strong: "strong";
1976
+ }>>;
1977
+ }, z.core.$strict>>;
1978
+ }, z.core.$strict>, z.ZodObject<{
1979
+ effectId: z.ZodLiteral<"inner-shadow">;
1980
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1981
+ }, z.core.$strict>, z.ZodObject<{
1982
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
1983
+ options: z.ZodOptional<z.ZodObject<{
1984
+ mode: z.ZodOptional<z.ZodEnum<{
1985
+ raised: "raised";
1986
+ pressed: "pressed";
1987
+ }>>;
1988
+ intensity: z.ZodOptional<z.ZodEnum<{
1989
+ medium: "medium";
1990
+ subtle: "subtle";
1991
+ strong: "strong";
1992
+ }>>;
1993
+ }, z.core.$strict>>;
1994
+ }, z.core.$strict>, z.ZodObject<{
1995
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
1996
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
1997
+ }, z.core.$strict>, z.ZodObject<{
1998
+ effectId: z.ZodLiteral<"scale-up">;
1999
+ options: z.ZodOptional<z.ZodObject<{
2000
+ scale: z.ZodOptional<z.ZodEnum<{
2001
+ 1.02: "1.02";
2002
+ 1.03: "1.03";
2003
+ 1.05: "1.05";
2004
+ "1.10": "1.10";
2005
+ }>>;
2006
+ }, z.core.$strict>>;
2007
+ }, z.core.$strict>, z.ZodObject<{
2008
+ effectId: z.ZodLiteral<"scale-down">;
2009
+ options: z.ZodOptional<z.ZodObject<{
2010
+ scale: z.ZodOptional<z.ZodEnum<{
2011
+ "0.90": "0.90";
2012
+ 0.95: "0.95";
2013
+ 0.97: "0.97";
2014
+ 0.98: "0.98";
2015
+ }>>;
2016
+ }, z.core.$strict>>;
2017
+ }, z.core.$strict>, z.ZodObject<{
2018
+ effectId: z.ZodLiteral<"lift">;
2019
+ options: z.ZodOptional<z.ZodObject<{
2020
+ amount: z.ZodOptional<z.ZodEnum<{
2021
+ 1: "1";
2022
+ 0.25: "0.25";
2023
+ 0.5: "0.5";
2024
+ }>>;
2025
+ }, z.core.$strict>>;
2026
+ }, z.core.$strict>, z.ZodObject<{
2027
+ effectId: z.ZodLiteral<"press-down">;
2028
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
2029
+ }, z.core.$strict>, z.ZodObject<{
2030
+ effectId: z.ZodLiteral<"pop">;
2031
+ options: z.ZodOptional<z.ZodObject<{
2032
+ intensity: z.ZodOptional<z.ZodEnum<{
2033
+ medium: "medium";
2034
+ subtle: "subtle";
2035
+ dramatic: "dramatic";
2036
+ }>>;
2037
+ }, z.core.$strict>>;
2038
+ }, z.core.$strict>, z.ZodObject<{
2039
+ effectId: z.ZodLiteral<"border-bottom-grow">;
2040
+ options: z.ZodOptional<z.ZodObject<{
2041
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
2042
+ origin: z.ZodOptional<z.ZodEnum<{
2043
+ left: "left";
2044
+ right: "right";
2045
+ center: "center";
2046
+ }>>;
2047
+ }, z.core.$strict>>;
2048
+ }, z.core.$strict>, z.ZodObject<{
2049
+ effectId: z.ZodLiteral<"sketchy-border">;
2050
+ options: z.ZodOptional<z.ZodObject<{
2051
+ intensity: z.ZodOptional<z.ZodEnum<{
2052
+ medium: "medium";
2053
+ subtle: "subtle";
2054
+ strong: "strong";
2055
+ }>>;
2056
+ }, z.core.$strict>>;
2057
+ }, z.core.$strict>], "effectId">>>;
2058
+ focus: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2059
+ effectId: z.ZodLiteral<"darken-background">;
2060
+ options: z.ZodOptional<z.ZodObject<{
2061
+ amount: z.ZodOptional<z.ZodNumber>;
2062
+ }, z.core.$strict>>;
2063
+ }, z.core.$strict>, z.ZodObject<{
2064
+ effectId: z.ZodLiteral<"lighten-background">;
2065
+ options: z.ZodOptional<z.ZodObject<{
2066
+ amount: z.ZodOptional<z.ZodNumber>;
2067
+ }, z.core.$strict>>;
2068
+ }, z.core.$strict>, z.ZodObject<{
2069
+ effectId: z.ZodLiteral<"background-on-hover">;
2070
+ options: z.ZodOptional<z.ZodObject<{
2071
+ colorToken: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<OpaqueButtonColourToken, string>>>;
2072
+ }, z.core.$strict>>;
2073
+ }, z.core.$strict>, z.ZodObject<{
2074
+ effectId: z.ZodLiteral<"animated-gradient">;
2075
+ options: z.ZodOptional<z.ZodObject<{
2076
+ direction: z.ZodOptional<z.ZodEnum<{
2077
+ horizontal: "horizontal";
2078
+ vertical: "vertical";
2079
+ }>>;
2080
+ }, z.core.$strict>>;
2081
+ }, z.core.$strict>, z.ZodObject<{
2082
+ effectId: z.ZodLiteral<"drop-shadow">;
2083
+ options: z.ZodOptional<z.ZodObject<{
2084
+ intensity: z.ZodOptional<z.ZodEnum<{
2085
+ medium: "medium";
2086
+ subtle: "subtle";
2087
+ strong: "strong";
2088
+ }>>;
2089
+ }, z.core.$strict>>;
2090
+ }, z.core.$strict>, z.ZodObject<{
2091
+ effectId: z.ZodLiteral<"inner-shadow">;
2092
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
2093
+ }, z.core.$strict>, z.ZodObject<{
2094
+ effectId: z.ZodLiteral<"neumorphic-shadow">;
2095
+ options: z.ZodOptional<z.ZodObject<{
2096
+ mode: z.ZodOptional<z.ZodEnum<{
2097
+ raised: "raised";
2098
+ pressed: "pressed";
2099
+ }>>;
2100
+ intensity: z.ZodOptional<z.ZodEnum<{
2101
+ medium: "medium";
2102
+ subtle: "subtle";
2103
+ strong: "strong";
2104
+ }>>;
2105
+ }, z.core.$strict>>;
2106
+ }, z.core.$strict>, z.ZodObject<{
2107
+ effectId: z.ZodLiteral<"retro-3d-shadow">;
2108
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
2109
+ }, z.core.$strict>, z.ZodObject<{
2110
+ effectId: z.ZodLiteral<"scale-up">;
2111
+ options: z.ZodOptional<z.ZodObject<{
2112
+ scale: z.ZodOptional<z.ZodEnum<{
2113
+ 1.02: "1.02";
2114
+ 1.03: "1.03";
2115
+ 1.05: "1.05";
2116
+ "1.10": "1.10";
2117
+ }>>;
2118
+ }, z.core.$strict>>;
2119
+ }, z.core.$strict>, z.ZodObject<{
2120
+ effectId: z.ZodLiteral<"scale-down">;
2121
+ options: z.ZodOptional<z.ZodObject<{
2122
+ scale: z.ZodOptional<z.ZodEnum<{
2123
+ "0.90": "0.90";
2124
+ 0.95: "0.95";
2125
+ 0.97: "0.97";
2126
+ 0.98: "0.98";
2127
+ }>>;
2128
+ }, z.core.$strict>>;
2129
+ }, z.core.$strict>, z.ZodObject<{
2130
+ effectId: z.ZodLiteral<"lift">;
2131
+ options: z.ZodOptional<z.ZodObject<{
2132
+ amount: z.ZodOptional<z.ZodEnum<{
2133
+ 1: "1";
2134
+ 0.25: "0.25";
2135
+ 0.5: "0.5";
2136
+ }>>;
2137
+ }, z.core.$strict>>;
2138
+ }, z.core.$strict>, z.ZodObject<{
2139
+ effectId: z.ZodLiteral<"press-down">;
2140
+ options: z.ZodOptional<z.ZodObject<{}, z.core.$strict>>;
2141
+ }, z.core.$strict>, z.ZodObject<{
2142
+ effectId: z.ZodLiteral<"pop">;
2143
+ options: z.ZodOptional<z.ZodObject<{
2144
+ intensity: z.ZodOptional<z.ZodEnum<{
2145
+ medium: "medium";
2146
+ subtle: "subtle";
2147
+ dramatic: "dramatic";
2148
+ }>>;
2149
+ }, z.core.$strict>>;
2150
+ }, z.core.$strict>, z.ZodObject<{
2151
+ effectId: z.ZodLiteral<"border-bottom-grow">;
2152
+ options: z.ZodOptional<z.ZodObject<{
2153
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
2154
+ origin: z.ZodOptional<z.ZodEnum<{
2155
+ left: "left";
2156
+ right: "right";
2157
+ center: "center";
2158
+ }>>;
2159
+ }, z.core.$strict>>;
2160
+ }, z.core.$strict>, z.ZodObject<{
2161
+ effectId: z.ZodLiteral<"sketchy-border">;
2162
+ options: z.ZodOptional<z.ZodObject<{
2163
+ intensity: z.ZodOptional<z.ZodEnum<{
2164
+ medium: "medium";
2165
+ subtle: "subtle";
2166
+ strong: "strong";
2167
+ }>>;
2168
+ }, z.core.$strict>>;
2169
+ }, z.core.$strict>], "effectId">>>;
2170
+ }, z.core.$strict>>;
628
2171
  sizes: z.ZodOptional<z.ZodObject<{
629
2172
  sm: z.ZodOptional<z.ZodObject<{
630
2173
  padding: z.ZodString;
@@ -645,8 +2188,8 @@ export declare const buttonSystemSchema: z.ZodObject<{
645
2188
  }, z.core.$strip>>;
646
2189
  affordance: z.ZodOptional<z.ZodObject<{
647
2190
  iconId: z.ZodString;
648
- }, z.core.$strip>>;
649
- }, z.core.$strip>>>;
2191
+ }, z.core.$strict>>;
2192
+ }, z.core.$strict>>;
650
2193
  sizes: z.ZodOptional<z.ZodPipe<z.ZodObject<{
651
2194
  sm: z.ZodObject<{
652
2195
  padding: z.ZodString;
@@ -699,9 +2242,9 @@ export declare const buttonSystemSchema: z.ZodObject<{
699
2242
  fontSize?: string | undefined;
700
2243
  } | undefined;
701
2244
  }>>>;
702
- }, z.core.$strip>;
2245
+ }, z.core.$strict>;
703
2246
  export type Priority = 1 | 2 | 3;
704
- export interface ButtonGlobalSettings {
2247
+ interface ButtonGlobalSettingsBase {
705
2248
  cornerStyle: CornerStyle;
706
2249
  cornerRadius?: number;
707
2250
  /**
@@ -711,8 +2254,6 @@ export interface ButtonGlobalSettings {
711
2254
  shadow?: ShadowSize;
712
2255
  textTransform: TextTransform;
713
2256
  fontWeight: FontWeight;
714
- /** @deprecated See JSDoc on `buttonGlobalSettingsSchema.borderWidth`. */
715
- borderWidth: 1 | 2 | 3;
716
2257
  /** Typography source (body or heading) — picks which theme typography pool to use */
717
2258
  typography?: ButtonTypography;
718
2259
  /** Font size token for all variants in the family (e.g. "text-xs", "text-sm") */
@@ -724,19 +2265,23 @@ export interface ButtonGlobalSettings {
724
2265
  /** Padding preset (used as sized-variant default when no sizes config) */
725
2266
  paddingPreset?: ButtonPaddingPreset;
726
2267
  hoverTransform: HoverTransform;
727
- hoverColor: HoverColor;
728
- /** When hoverColor is 'token', this specifies which token to use */
729
- hoverColorToken?: OpaqueButtonColourToken;
730
2268
  gradientStyle?: GradientStyle;
731
2269
  gradientAngle?: number;
732
2270
  gradientSharpness?: GradientSharpness;
733
2271
  }
2272
+ export type ButtonGlobalSettings = ButtonGlobalSettingsBase & (Readonly<{
2273
+ hoverColor: 'none';
2274
+ hoverColorToken?: never;
2275
+ }> | Readonly<{
2276
+ hoverColor: 'token';
2277
+ hoverColorToken: OpaqueButtonColourToken;
2278
+ }>);
734
2279
  /** Effects per state group */
735
2280
  export interface VariantEffects {
736
- base?: EffectApplication[];
737
- hover?: EffectApplication[];
738
- active?: EffectApplication[];
739
- focus?: EffectApplication[];
2281
+ base?: ButtonEffectApplication[];
2282
+ hover?: ButtonEffectApplication[];
2283
+ active?: ButtonEffectApplication[];
2284
+ focus?: ButtonEffectApplication[];
740
2285
  }
741
2286
  /**
742
2287
  * A button variant.