@multiplatform.one/theme 7.34.3 → 7.35.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 (280) hide show
  1. package/package.json +20 -5
  2. package/src/audit/constraintAudit.spec.ts +274 -87
  3. package/src/audit/constraintAudit.ts +135 -120
  4. package/src/audit/constraintScope.spec.ts +1 -1
  5. package/src/audit/designTokens.ts +42 -0
  6. package/src/audit/themeMatrix.spec.ts +83 -2
  7. package/src/audit/themeMatrix.ts +33 -1
  8. package/src/figma/figmaTokens.spec.ts +26 -34
  9. package/src/figma/figmaTokens.ts +26 -50
  10. package/src/fonts/createFontLoader.ts +4 -1
  11. package/src/menuRow.ts +4 -1
  12. package/src/theme/FontKnobStyles.tsx +2 -1
  13. package/src/theme/Preset.stories.tsx +0 -1
  14. package/src/theme/Preset.tsx +6 -1
  15. package/src/theme/PresetContext.ts +4 -0
  16. package/src/theme/Surface.spec.tsx +114 -67
  17. package/src/theme/Surface.stories.tsx +8 -25
  18. package/src/theme/Surface.tsx +87 -43
  19. package/src/theme/accentFloor.spec.ts +37 -11
  20. package/src/theme/activateThemeConfig.ts +22 -6
  21. package/src/theme/animations/animations.spec.ts +62 -0
  22. package/src/theme/animations/css.ts +9 -35
  23. package/src/theme/animations/reactNative.ts +98 -25
  24. package/src/theme/boundaryFloor.spec.ts +57 -0
  25. package/src/theme/chartPalette.spec.ts +56 -27
  26. package/src/theme/chartPalette.ts +33 -28
  27. package/src/theme/colorRules.spec.ts +32 -72
  28. package/src/theme/cookies.spec.ts +49 -18
  29. package/src/theme/cookies.ts +36 -7
  30. package/src/theme/cookiesPersistence.spec.ts +5 -5
  31. package/src/theme/createDefaultThemeConfig.spec.ts +182 -20
  32. package/src/theme/createDefaultThemeConfig.ts +34 -28
  33. package/src/theme/createThemes.ts +169 -218
  34. package/src/theme/defaults/accent.ts +3 -35
  35. package/src/theme/defaults/base.ts +14 -53
  36. package/src/theme/defaults/builderOptions.ts +68 -85
  37. package/src/theme/defaults/categoryFonts.ts +10 -0
  38. package/src/theme/defaults/fonts.spec.ts +84 -4
  39. package/src/theme/defaults/fonts.ts +166 -124
  40. package/src/theme/defaults/house.ts +48 -0
  41. package/src/theme/defaults/index.ts +1 -0
  42. package/src/theme/defaults/neutralRamp.spec.ts +52 -47
  43. package/src/theme/devtools/ColorLineVisualizer.tsx +6 -6
  44. package/src/theme/devtools/ThemeDevtoolsPanel.setMarkers.spec.tsx +13 -6
  45. package/src/theme/devtools/ThemeDevtoolsPanel.tsx +14 -77
  46. package/src/theme/devtools/animationOptions.spec.ts +23 -37
  47. package/src/theme/devtools/animationOptions.ts +4 -6
  48. package/src/theme/devtools/buildSnapshot.ts +0 -3
  49. package/src/theme/devtools/knobIcons.tsx +4 -24
  50. package/src/theme/focusState.spec.ts +9 -30
  51. package/src/theme/index.ts +17 -0
  52. package/src/theme/intentFill.spec.ts +42 -0
  53. package/src/theme/knobs.ts +14 -42
  54. package/src/theme/layoutTokens.ts +15 -1
  55. package/src/theme/layoutTokensHooks.spec.tsx +8 -4
  56. package/src/theme/mergedTokens.ts +20 -0
  57. package/src/theme/motion.spec.ts +84 -0
  58. package/src/theme/motion.ts +53 -0
  59. package/src/theme/motionStops.ts +17 -0
  60. package/src/theme/motionTiming.ts +59 -0
  61. package/src/theme/mpo13Proof.spec.ts +43 -46
  62. package/src/theme/mpo19Proof.spec.ts +13 -14
  63. package/src/theme/namedInkFloor.spec.ts +60 -0
  64. package/src/theme/overlaySurfaces.tsx +330 -0
  65. package/src/theme/preset.types.ts +16 -0
  66. package/src/theme/presetPreview.ts +32 -0
  67. package/src/theme/presetRoot.spec.tsx +89 -0
  68. package/src/theme/presetStore.persistence.spec.ts +141 -0
  69. package/src/theme/presetStore.spec.ts +205 -0
  70. package/src/theme/presetStore.ts +286 -0
  71. package/src/theme/presetUserSync.spec.tsx +168 -0
  72. package/src/theme/presetUserSync.ts +47 -0
  73. package/src/theme/presets.spec.ts +22 -15
  74. package/src/theme/presets.ts +22 -10
  75. package/src/theme/radiusClass.spec.ts +60 -41
  76. package/src/theme/radiusClass.ts +17 -4
  77. package/src/theme/radiusClassTable.generated.ts +3 -3
  78. package/src/theme/readableColor.spec.ts +59 -152
  79. package/src/theme/readableColor.ts +34 -174
  80. package/src/theme/recipeInputs.ts +153 -295
  81. package/src/theme/recipes.ts +58 -18
  82. package/src/theme/resolveKnobs.spec.ts +528 -588
  83. package/src/theme/resolveKnobs.ts +250 -325
  84. package/src/theme/scale/ScaleStyles.native.tsx +19 -0
  85. package/src/theme/scale/ScaleStyles.tsx +48 -0
  86. package/src/theme/scale/activeScale.ts +30 -0
  87. package/src/theme/scale/deriveRecipeInputs.ts +110 -0
  88. package/src/theme/scale/generateScale.spec.ts +260 -0
  89. package/src/theme/scale/generateScale.ts +147 -0
  90. package/src/theme/scale/index.ts +54 -0
  91. package/src/theme/scale/installScaleConfig.native.spec.ts +77 -0
  92. package/src/theme/scale/installScaleConfig.native.ts +57 -0
  93. package/src/theme/scale/installScaleConfig.ts +7 -0
  94. package/src/theme/scale/scaleAttribute.ts +21 -0
  95. package/src/theme/scale/scaleCss.probe.spec.tsx +64 -0
  96. package/src/theme/scale/scaleCss.spec.ts +132 -0
  97. package/src/theme/scale/scaleCss.ts +95 -0
  98. package/src/theme/scale/scaleFonts.ts +106 -0
  99. package/src/theme/scale/scaleInputs.ts +322 -0
  100. package/src/theme/scale/themeScales.ts +181 -0
  101. package/src/theme/scale/useActiveScale.spec.tsx +129 -0
  102. package/src/theme/scale/useActiveScale.ts +95 -0
  103. package/src/theme/schemeStore.spec.ts +81 -0
  104. package/src/theme/schemeStore.ts +67 -0
  105. package/src/theme/shared.spec.ts +7 -6
  106. package/src/theme/shared.tsx +37 -3
  107. package/src/theme/sizeLadder.spec.ts +37 -36
  108. package/src/theme/sizeRecipes.spec.ts +179 -85
  109. package/src/theme/sizeRecipes.ts +48 -25
  110. package/src/theme/subsetThemes.spec.ts +9 -3
  111. package/src/theme/switchThumb.spec.ts +69 -0
  112. package/src/theme/syntaxFloor.spec.ts +11 -8
  113. package/src/theme/theme.hydration.native.spec.tsx +51 -0
  114. package/src/theme/theme.native.tsx +59 -21
  115. package/src/theme/theme.palette.spec.tsx +76 -0
  116. package/src/theme/theme.preset.native.spec.tsx +73 -0
  117. package/src/theme/theme.provider.spec.ts +143 -1
  118. package/src/theme/theme.tsx +61 -25
  119. package/src/theme/tileSizes.ts +6 -7
  120. package/src/theme/transitionProps.native.ts +25 -2
  121. package/src/theme/transitionProps.spec.ts +34 -0
  122. package/src/theme/transitionProps.ts +26 -2
  123. package/src/theme/usePresetSwitch.native.spec.tsx +68 -0
  124. package/src/theme/usePresetSwitch.native.ts +32 -0
  125. package/src/theme/usePresetSwitch.spec.tsx +103 -0
  126. package/src/theme/usePresetSwitch.ts +54 -0
  127. package/src/theme/useResolvedKnobs.hydration.spec.tsx +2 -2
  128. package/src/theme/useResolvedKnobs.ts +23 -90
  129. package/src/theme/useResolvedKnobsBehavior.spec.tsx +25 -30
  130. package/src/theme/useSchemePreference.native.ts +33 -0
  131. package/src/theme/useSchemePreference.spec.tsx +51 -0
  132. package/src/theme/useSchemePreference.ts +32 -0
  133. package/src/theme/useSchemePreference.web.spec.tsx +32 -0
  134. package/src/theme/useTheme.native.spec.tsx +68 -0
  135. package/src/theme/useTheme.native.ts +49 -24
  136. package/src/theme/useTheme.ts +7 -4
  137. package/types/audit/constraintAudit.d.ts +6 -5
  138. package/types/audit/constraintAudit.d.ts.map +1 -1
  139. package/types/audit/designTokens.d.ts +13 -0
  140. package/types/audit/designTokens.d.ts.map +1 -0
  141. package/types/audit/themeMatrix.d.ts +10 -0
  142. package/types/audit/themeMatrix.d.ts.map +1 -1
  143. package/types/figma/figmaTokens.d.ts +11 -28
  144. package/types/figma/figmaTokens.d.ts.map +1 -1
  145. package/types/fonts/createFontLoader.d.ts.map +1 -1
  146. package/types/menuRow.d.ts +4 -1
  147. package/types/menuRow.d.ts.map +1 -1
  148. package/types/theme/FontKnobStyles.d.ts.map +1 -1
  149. package/types/theme/Preset.d.ts.map +1 -1
  150. package/types/theme/PresetContext.d.ts +4 -0
  151. package/types/theme/PresetContext.d.ts.map +1 -1
  152. package/types/theme/Surface.d.ts +57 -26
  153. package/types/theme/Surface.d.ts.map +1 -1
  154. package/types/theme/activateThemeConfig.d.ts +5 -3
  155. package/types/theme/activateThemeConfig.d.ts.map +1 -1
  156. package/types/theme/animations/css.d.ts +27 -34
  157. package/types/theme/animations/css.d.ts.map +1 -1
  158. package/types/theme/animations/reactNative.d.ts +196 -45
  159. package/types/theme/animations/reactNative.d.ts.map +1 -1
  160. package/types/theme/chartPalette.d.ts +11 -3
  161. package/types/theme/chartPalette.d.ts.map +1 -1
  162. package/types/theme/colorRules.d.ts +1 -1
  163. package/types/theme/cookies.d.ts +12 -1
  164. package/types/theme/cookies.d.ts.map +1 -1
  165. package/types/theme/createDefaultThemeConfig.d.ts +13 -13
  166. package/types/theme/createDefaultThemeConfig.d.ts.map +1 -1
  167. package/types/theme/createThemes.d.ts +58 -2
  168. package/types/theme/createThemes.d.ts.map +1 -1
  169. package/types/theme/defaults/accent.d.ts.map +1 -1
  170. package/types/theme/defaults/base.d.ts.map +1 -1
  171. package/types/theme/defaults/builderOptions.d.ts.map +1 -1
  172. package/types/theme/defaults/categoryFonts.d.ts +10 -0
  173. package/types/theme/defaults/categoryFonts.d.ts.map +1 -1
  174. package/types/theme/defaults/fonts.d.ts +330 -30
  175. package/types/theme/defaults/fonts.d.ts.map +1 -1
  176. package/types/theme/defaults/house.d.ts +8 -0
  177. package/types/theme/defaults/house.d.ts.map +1 -0
  178. package/types/theme/defaults/index.d.ts +1 -0
  179. package/types/theme/defaults/index.d.ts.map +1 -1
  180. package/types/theme/devtools/ThemeDevtoolsPanel.d.ts +3 -3
  181. package/types/theme/devtools/ThemeDevtoolsPanel.d.ts.map +1 -1
  182. package/types/theme/devtools/animationOptions.d.ts.map +1 -1
  183. package/types/theme/devtools/buildSnapshot.d.ts.map +1 -1
  184. package/types/theme/devtools/knobIcons.d.ts +0 -3
  185. package/types/theme/devtools/knobIcons.d.ts.map +1 -1
  186. package/types/theme/index.d.ts +11 -0
  187. package/types/theme/index.d.ts.map +1 -1
  188. package/types/theme/knobs.d.ts +8 -36
  189. package/types/theme/knobs.d.ts.map +1 -1
  190. package/types/theme/layoutTokens.d.ts +13 -1
  191. package/types/theme/layoutTokens.d.ts.map +1 -1
  192. package/types/theme/mergedTokens.d.ts +11 -0
  193. package/types/theme/mergedTokens.d.ts.map +1 -0
  194. package/types/theme/motion.d.ts +17 -0
  195. package/types/theme/motion.d.ts.map +1 -0
  196. package/types/theme/motionStops.d.ts +3 -0
  197. package/types/theme/motionStops.d.ts.map +1 -0
  198. package/types/theme/motionTiming.d.ts +36 -0
  199. package/types/theme/motionTiming.d.ts.map +1 -0
  200. package/types/theme/overlaySurfaces.d.ts +70 -0
  201. package/types/theme/overlaySurfaces.d.ts.map +1 -0
  202. package/types/theme/preset.types.d.ts +16 -0
  203. package/types/theme/preset.types.d.ts.map +1 -1
  204. package/types/theme/presetPreview.d.ts +14 -0
  205. package/types/theme/presetPreview.d.ts.map +1 -0
  206. package/types/theme/presetStore.d.ts +40 -0
  207. package/types/theme/presetStore.d.ts.map +1 -0
  208. package/types/theme/presetUserSync.d.ts +7 -0
  209. package/types/theme/presetUserSync.d.ts.map +1 -0
  210. package/types/theme/presets.d.ts +12 -4
  211. package/types/theme/presets.d.ts.map +1 -1
  212. package/types/theme/radiusClass.d.ts +5 -2
  213. package/types/theme/radiusClass.d.ts.map +1 -1
  214. package/types/theme/radiusClassTable.generated.d.ts +3 -3
  215. package/types/theme/readableColor.d.ts +11 -49
  216. package/types/theme/readableColor.d.ts.map +1 -1
  217. package/types/theme/recipeInputs.d.ts +39 -70
  218. package/types/theme/recipeInputs.d.ts.map +1 -1
  219. package/types/theme/recipes.d.ts +79 -18
  220. package/types/theme/recipes.d.ts.map +1 -1
  221. package/types/theme/resolveKnobs.d.ts +64 -32
  222. package/types/theme/resolveKnobs.d.ts.map +1 -1
  223. package/types/theme/scale/ScaleStyles.d.ts +18 -0
  224. package/types/theme/scale/ScaleStyles.d.ts.map +1 -0
  225. package/types/theme/scale/ScaleStyles.native.d.ts +10 -0
  226. package/types/theme/scale/ScaleStyles.native.d.ts.map +1 -0
  227. package/types/theme/scale/activeScale.d.ts +13 -0
  228. package/types/theme/scale/activeScale.d.ts.map +1 -0
  229. package/types/theme/scale/deriveRecipeInputs.d.ts +10 -0
  230. package/types/theme/scale/deriveRecipeInputs.d.ts.map +1 -0
  231. package/types/theme/scale/generateScale.d.ts +38 -0
  232. package/types/theme/scale/generateScale.d.ts.map +1 -0
  233. package/types/theme/scale/index.d.ts +17 -0
  234. package/types/theme/scale/index.d.ts.map +1 -0
  235. package/types/theme/scale/installScaleConfig.d.ts +4 -0
  236. package/types/theme/scale/installScaleConfig.d.ts.map +1 -0
  237. package/types/theme/scale/installScaleConfig.native.d.ts +13 -0
  238. package/types/theme/scale/installScaleConfig.native.d.ts.map +1 -0
  239. package/types/theme/scale/scaleAttribute.d.ts +14 -0
  240. package/types/theme/scale/scaleAttribute.d.ts.map +1 -0
  241. package/types/theme/scale/scaleCss.d.ts +25 -0
  242. package/types/theme/scale/scaleCss.d.ts.map +1 -0
  243. package/types/theme/scale/scaleFonts.d.ts +16 -0
  244. package/types/theme/scale/scaleFonts.d.ts.map +1 -0
  245. package/types/theme/scale/scaleInputs.d.ts +66 -0
  246. package/types/theme/scale/scaleInputs.d.ts.map +1 -0
  247. package/types/theme/scale/themeScales.d.ts +52 -0
  248. package/types/theme/scale/themeScales.d.ts.map +1 -0
  249. package/types/theme/scale/useActiveScale.d.ts +31 -0
  250. package/types/theme/scale/useActiveScale.d.ts.map +1 -0
  251. package/types/theme/schemeStore.d.ts +6 -0
  252. package/types/theme/schemeStore.d.ts.map +1 -0
  253. package/types/theme/shared.d.ts +18 -0
  254. package/types/theme/shared.d.ts.map +1 -1
  255. package/types/theme/sizeRecipes.d.ts +20 -15
  256. package/types/theme/sizeRecipes.d.ts.map +1 -1
  257. package/types/theme/theme.d.ts +2 -1
  258. package/types/theme/theme.d.ts.map +1 -1
  259. package/types/theme/theme.native.d.ts +10 -1
  260. package/types/theme/theme.native.d.ts.map +1 -1
  261. package/types/theme/tileSizes.d.ts +6 -7
  262. package/types/theme/tileSizes.d.ts.map +1 -1
  263. package/types/theme/transitionProps.d.ts +3 -1
  264. package/types/theme/transitionProps.d.ts.map +1 -1
  265. package/types/theme/transitionProps.native.d.ts +3 -1
  266. package/types/theme/transitionProps.native.d.ts.map +1 -1
  267. package/types/theme/usePresetSwitch.d.ts +10 -0
  268. package/types/theme/usePresetSwitch.d.ts.map +1 -0
  269. package/types/theme/usePresetSwitch.native.d.ts +10 -0
  270. package/types/theme/usePresetSwitch.native.d.ts.map +1 -0
  271. package/types/theme/useResolvedKnobs.d.ts +13 -13
  272. package/types/theme/useResolvedKnobs.d.ts.map +1 -1
  273. package/types/theme/useSchemePreference.d.ts +8 -0
  274. package/types/theme/useSchemePreference.d.ts.map +1 -0
  275. package/types/theme/useSchemePreference.native.d.ts +8 -0
  276. package/types/theme/useSchemePreference.native.d.ts.map +1 -0
  277. package/types/theme/useTheme.d.ts +4 -2
  278. package/types/theme/useTheme.d.ts.map +1 -1
  279. package/types/theme/useTheme.native.d.ts +10 -1
  280. package/types/theme/useTheme.native.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"knobs.d.ts","sourceRoot":"","sources":["../../src/theme/knobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knobs.d.ts","sourceRoot":"","sources":["../../src/theme/knobs.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,14 @@ export type ReadingWidthStyle = {
116
116
  };
117
117
  /** Style props for prose / long-form columns. Pass `null`/`"none"` to eject. */
118
118
  export declare function readingWidthStyle(measure?: number | "none" | null): ReadingWidthStyle | Record<string, never>;
119
+ /**
120
+ * A form column's readable max width: wide enough for two FormGrid columns
121
+ * (FORM_GRID_COLLAPSE_WIDTH 480), narrow enough that a label, its field and
122
+ * the actions read as one group on a wide screen. Inside the 480-640 band.
123
+ */
124
+ export declare const FORM_READABLE_WIDTH = 560;
125
+ export declare const FORM_READABLE_WIDTH_MIN = 480;
126
+ export declare const FORM_READABLE_WIDTH_MAX = 640;
119
127
  /** Platform floor for interactive targets (Fluent/HIG web+iOS 44; M3 48 on Android). */
120
128
  export declare const MIN_PRESS_TARGET = 44;
121
129
  /** Touch surfaces — native touchable or web touchable (LC-67). */
@@ -170,10 +178,14 @@ export declare const OVERLAY_ANCHOR_GAP = 4;
170
178
  */
171
179
  export declare const OVERLAY_ATTACH_GAP = 0;
172
180
  /**
173
- * Semantic spacing roles map onto the space-knob recipes:
181
+ * Semantic spacing roles (SP-GAP): `tight` → `knobProps.gapSm`,
174
182
  * `within-group` → `knobProps.gap`, `between-groups` → `knobProps.gapLg`.
183
+ * Fixed `$space` keys; the active scale supplies their px.
175
184
  */
176
185
  export declare function useSemanticGaps(): {
186
+ tight: {
187
+ gap: string;
188
+ };
177
189
  withinGroup: {
178
190
  gap: string;
179
191
  };
@@ -1 +1 @@
1
- {"version":3,"file":"layoutTokens.d.ts","sourceRoot":"","sources":["../../src/theme/layoutTokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AASH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC;AAEjF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB;IAC5B,uCAAuC;;IAEvC,qBAAqB;;IAErB;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,0EAA0E;;IAE1E,qBAAqB;;IAErB,qBAAqB;;IAErB,sBAAsB;;CAEd,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,KAA2B,CAAC;AAE3D,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,KAA2B,CAAC;AAE1D,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAMpD,CAAC;AAEX,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAMjE;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,CAAC,GAAG,CAAC,CAEjE;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,GACvB,OAAO,CAET;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAQpD;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAItD;AAID,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,IAAuB,GACjD,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAI3C;AAID,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAAyB,GAAG,gBAAgB,CAElF;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAyB,GAC7B,aAAa,CAGf;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAIpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC,CAMA"}
1
+ {"version":3,"file":"layoutTokens.d.ts","sourceRoot":"","sources":["../../src/theme/layoutTokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { TamaguiInternalConfig } from "@tamagui/web";
2
+ export type TokensGlobal = {
3
+ __tamaguiTokensMerged?: unknown;
4
+ };
5
+ /**
6
+ * The `$`-prefixed and bare token lookup `getTokenValue("$4", "size")` reads.
7
+ * `createTamagui` publishes it as a global beside the config, so installing a
8
+ * config without it would leave token reads on the previous config's values.
9
+ */
10
+ export declare function mergedTokens(config: TamaguiInternalConfig): Record<string, Record<string, unknown>>;
11
+ //# sourceMappingURL=mergedTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergedTokens.d.ts","sourceRoot":"","sources":["../../src/theme/mergedTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,qBAAqB,GAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQzC"}
@@ -0,0 +1,17 @@
1
+ import type { TransitionProp } from "tamagui";
2
+ import type { Animation } from "./knobs";
3
+ export { motionDurationMs, motionHideDelayMs, motionSeconds, motionSettleMs } from "./motionTiming";
4
+ export type MotionRoleName = "control" | "overlay" | "scrim" | "reveal" | "slide";
5
+ export interface MotionRole {
6
+ transition: TransitionProp | undefined;
7
+ animateOnly: readonly string[];
8
+ }
9
+ export declare const motionRoleProperties: {
10
+ readonly control: readonly ["backgroundColor", "borderColor", "color", "opacity", "transform"];
11
+ readonly overlay: readonly ["opacity", "transform"];
12
+ readonly scrim: readonly ["opacity"];
13
+ readonly reveal: readonly ["height", "opacity", "transform"];
14
+ readonly slide: readonly ["opacity", "transform"];
15
+ };
16
+ export declare function motionFor(stop: Animation): Record<MotionRoleName, MotionRole>;
17
+ //# sourceMappingURL=motion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/theme/motion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElF,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,cAAc,GAAG,SAAS,CAAC;IACvC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB;;;;;;CAM6B,CAAC;AAa/D,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAmB7E"}
@@ -0,0 +1,3 @@
1
+ export declare const motionStops: readonly ["quickestLessBouncy", "quickest", "quickerLessBouncy", "quicker", "quick", "quickLessBouncy", "medium", "superBouncy", "bouncy", "slow", "lazy", "superLazy", "slowest"];
2
+ export type MotionStop = (typeof motionStops)[number];
3
+ //# sourceMappingURL=motionStops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motionStops.d.ts","sourceRoot":"","sources":["../../src/theme/motionStops.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,oLAcd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { TransitionProp } from "tamagui";
2
+ export declare const animationConfig: {
3
+ readonly "0ms": "0ms linear";
4
+ readonly "50ms": "50ms linear";
5
+ readonly "75ms": "75ms linear";
6
+ readonly "100ms": "100ms ease-out";
7
+ readonly "200ms": "200ms ease-out";
8
+ readonly "250ms": "250ms ease-out";
9
+ readonly "300ms": "300ms ease-out";
10
+ readonly "400ms": "400ms ease-out";
11
+ readonly "500ms": "500ms ease-out";
12
+ readonly superBouncy: "300ms cubic-bezier(0.175, 0.885, 0.32, 1.5)";
13
+ readonly bouncy: "350ms cubic-bezier(0.175, 0.885, 0.32, 1.275)";
14
+ readonly superLazy: "600ms cubic-bezier(0.25, 0.1, 0.25, 1)";
15
+ readonly lazy: "500ms cubic-bezier(0.25, 0.1, 0.25, 1)";
16
+ readonly medium: "300ms cubic-bezier(0.25, 0.1, 0.25, 1)";
17
+ readonly slowest: "800ms cubic-bezier(0.25, 0.1, 0.25, 1)";
18
+ readonly slow: "450ms cubic-bezier(0.25, 0.1, 0.25, 1)";
19
+ readonly quick: "150ms cubic-bezier(0.25, 0.1, 0.25, 1)";
20
+ readonly quickLessBouncy: "180ms cubic-bezier(0.25, 0.1, 0.25, 1)";
21
+ readonly quicker: "120ms cubic-bezier(0.25, 0.1, 0.25, 1)";
22
+ readonly quickerLessBouncy: "100ms cubic-bezier(0.25, 0.1, 0.25, 1)";
23
+ readonly quickest: "80ms cubic-bezier(0.25, 0.1, 0.25, 1)";
24
+ readonly quickestLessBouncy: "60ms cubic-bezier(0.25, 0.1, 0.25, 1)";
25
+ readonly tooltip: "450ms cubic-bezier(0.25, 0.1, 0.25, 1)";
26
+ readonly snappy: "80ms cubic-bezier(0.25, 0.1, 0.25, 1)";
27
+ readonly gentle: "450ms cubic-bezier(0.25, 0.1, 0.25, 1)";
28
+ };
29
+ export type AnimationName = keyof typeof animationConfig;
30
+ export declare const animationNames: AnimationName[];
31
+ export declare const animationDurations: Record<AnimationName, number>;
32
+ export declare function motionDurationMs(transition: TransitionProp | undefined): number;
33
+ export declare function motionSeconds(transition: TransitionProp | undefined): number;
34
+ export declare function motionSettleMs(transition: TransitionProp | undefined): number;
35
+ export declare function motionHideDelayMs(transition: TransitionProp | undefined): number;
36
+ //# sourceMappingURL=motionTiming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motionTiming.d.ts","sourceRoot":"","sources":["../../src/theme/motionTiming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AACzD,eAAO,MAAM,cAAc,EAAmC,aAAa,EAAE,CAAC;AAO9E,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAE3B,CAAC;AAEnC,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAK/E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAE5E;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAEhF"}
@@ -0,0 +1,70 @@
1
+ import type { ReactNode } from "react";
2
+ import { type DialogContentProps as TamaguiDialogContentProps, type SizeTokens, type TamaguiElement } from "tamagui";
3
+ type OpenAutoFocus = (event: Event) => void;
4
+ /**
5
+ * The house open focus for a raw `Dialog.Content`, which `DialogContent` and
6
+ * `AlertDialogContent` already run: render it inside the content. When
7
+ * `<dialog>.show()` left focus off a tab stop, the caller's `onOpenAutoFocus`
8
+ * runs, then the first tabbable takes focus (MPO-470).
9
+ */
10
+ export declare function DialogShowFocus({ onOpenAutoFocus }: {
11
+ onOpenAutoFocus?: OpenAutoFocus;
12
+ }): null;
13
+ export interface DialogRegionContextValue {
14
+ /** True inside a dialog surface — dialog action rules apply (DG-OVL-04). */
15
+ inDialogRegion: boolean;
16
+ }
17
+ /**
18
+ * `DialogContent` and `AlertDialogContent` provide this automatically. Wrap custom dialog-like
19
+ * surfaces (sheet-as-dialog, hand-rolled dialog chrome) so their action rows
20
+ * inherit dialog rules such as the max-2-actions cap (DG-OVL-04).
21
+ */
22
+ export declare const DialogRegionContext: import("react").Context<DialogRegionContextValue>;
23
+ export declare function useDialogRegionContext(): DialogRegionContextValue;
24
+ export declare function useIsInDialogRegion(): boolean;
25
+ export type DialogContentProps = Omit<TamaguiDialogContentProps, "size"> & {
26
+ children?: ReactNode;
27
+ size?: SizeTokens;
28
+ };
29
+ export declare const DialogContent: import("react").ForwardRefExoticComponent<Omit<TamaguiDialogContentProps, "size"> & {
30
+ children?: ReactNode;
31
+ size?: SizeTokens;
32
+ } & import("react").RefAttributes<TamaguiElement>>;
33
+ /**
34
+ * Knob-aware dialog scrim. Bare `Dialog.Overlay` carries no transition, so
35
+ * the backdrop popped in and out while the content faded (LC-24: enter/exit
36
+ * styles without a resolved token are dead code on the css driver). Pairs
37
+ * with `DialogContent`; `transition` drops to undefined at `animation=none`
38
+ * and under `prefers-reduced-motion`, which is the instant path.
39
+ */
40
+ export declare const DialogOverlay: import("react").ForwardRefExoticComponent<Omit<import("@tamagui/web").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/web").StackStyleBase, {
41
+ elevation?: number | SizeTokens | undefined;
42
+ fullscreen?: boolean | undefined;
43
+ }>, keyof import("tamagui").StackVariants> & import("tamagui").StackVariants & {
44
+ forceMount?: boolean;
45
+ } & {
46
+ scope?: import("tamagui").DialogScopes;
47
+ } & {
48
+ children?: ReactNode;
49
+ } & import("react").RefAttributes<TamaguiElement>>;
50
+ export declare const AlertDialogContent: import("react").ForwardRefExoticComponent<Omit<TamaguiDialogContentProps, "size"> & {
51
+ children?: ReactNode;
52
+ size?: SizeTokens;
53
+ } & import("react").RefAttributes<TamaguiElement>>;
54
+ export declare const AlertDialogOverlay: import("react").ForwardRefExoticComponent<Omit<import("@tamagui/web").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/web").StackStyleBase, {
55
+ elevation?: number | SizeTokens | undefined;
56
+ fullscreen?: boolean | undefined;
57
+ }>, keyof import("tamagui").StackVariants> & import("tamagui").StackVariants & {
58
+ forceMount?: boolean;
59
+ } & {
60
+ scope?: import("tamagui").DialogScopes;
61
+ } & {
62
+ children?: ReactNode;
63
+ } & import("react").RefAttributes<TamaguiElement>>;
64
+ export declare const PopoverContent: import("react").ForwardRefExoticComponent<import("tamagui").StackNonStyleProps & import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase> & import("@tamagui/web").WithShorthands<import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase>> & import("@tamagui/web").WithPseudoProps<import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase> & import("@tamagui/web").WithShorthands<import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase>>> & import("@tamagui/web").WithMediaProps<import("@tamagui/web").WithThemeShorthandsAndPseudos<import("@tamagui/web").StackStyleBase, {}>> & {
65
+ children?: ReactNode;
66
+ /** Runs first; `preventDefault()` skips the house open focus. */
67
+ onOpenAutoFocus?: OpenAutoFocus;
68
+ } & import("react").RefAttributes<TamaguiElement>>;
69
+ export {};
70
+ //# sourceMappingURL=overlaySurfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlaySurfaces.d.ts","sourceRoot":"","sources":["../../src/theme/overlaySurfaces.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAML,KAAK,kBAAkB,IAAI,yBAAyB,EAEpD,KAAK,UAAU,EACf,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAC;AAmDjB,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAmC5C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,eAAe,EAAE,EAAE;IAAE,eAAe,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAG9F;AAID,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mDAE9B,CAAC;AAEH,wBAAgB,sBAAsB,IAAI,wBAAwB,CAEjE;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAQD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG;IACzE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,aAAa;eAJb,SAAS;WACb,UAAU;kDAcjB,CAAC;AA0CH;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;;;;;;eAEiB,SAAS;kDAelD,CAAC;AAOH,eAAO,MAAM,kBAAkB;eAxFlB,SAAS;WACb,UAAU;kDAiGlB,CAAC;AAgCF,eAAO,MAAM,kBAAkB;;;;;;;;eAEY,SAAS;kDAelD,CAAC;AAiBH,eAAO,MAAM,cAAc;eALd,SAAS;IACpB,iEAAiE;sBAC/C,aAAa;kDAwBhC,CAAC"}
@@ -1,5 +1,13 @@
1
1
  import type { ThemeName } from "@tamagui/web";
2
2
  import type { Knobs } from "./knobs";
3
+ import type { ScaleInputs } from "./scale/scaleInputs";
4
+ /**
5
+ * A preset is the whole composition a surface renders with: a Tamagui color
6
+ * theme, the knobs, the intent overrides, the tint sequence and the token
7
+ * scale. Names, fixed: `Preset` is this composition; `ThemeConfig` is the
8
+ * built Tamagui config (tokens + Tamagui color themes) it renders against;
9
+ * "theme" alone means a Tamagui color theme. UI copy calls a preset a Theme.
10
+ */
3
11
  export interface Preset {
4
12
  /** Tamagui color theme (accent color). */
5
13
  theme: ThemeName;
@@ -14,6 +22,14 @@ export interface Preset {
14
22
  };
15
23
  /** Tint sequence for color cycling across nested regions. */
16
24
  tints: ThemeName[];
25
+ /**
26
+ * The token scale this preset renders on: `$size`, `$space`, `$radius`
27
+ * and the type tables are generated from these inputs, so a preset that
28
+ * needs more or less room says so here, never through knobs. Omitted =
29
+ * the default scale. Applies where the preset is the provider's active
30
+ * one; a nested `<Preset>` changes knobs, not tokens.
31
+ */
32
+ scale?: ScaleInputs;
17
33
  }
18
34
  export type IntentOverride = Partial<Knobs> & {
19
35
  [component: string]: Partial<Knobs> | string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"preset.types.d.ts","sourceRoot":"","sources":["../../src/theme/preset.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,MAAM;IACrB,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;IACF,6DAA6D;IAC7D,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG;IAC5C,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1D,CAAC"}
1
+ {"version":3,"file":"preset.types.d.ts","sourceRoot":"","sources":["../../src/theme/preset.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,CAAC;IACF,6DAA6D;IAC7D,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG;IAC5C,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1D,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface PresetPreviewColors {
2
+ background: string;
3
+ border: string;
4
+ ink: string;
5
+ accent: string;
6
+ }
7
+ /**
8
+ * A preset's page, edge, ink and accent colours in `scheme`, read from the
9
+ * built themes. A preview cannot sit inside `<Theme name={scheme}>` instead:
10
+ * Tamagui swaps only the scheme of a coloured ancestor (`dark_blue` stays
11
+ * blue), so a neutral preset would pick up the active preset's hue.
12
+ */
13
+ export declare function getPresetPreviewColors(hue: string | undefined, scheme: "light" | "dark"): PresetPreviewColors;
14
+ //# sourceMappingURL=presetPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presetPreview.d.ts","sourceRoot":"","sources":["../../src/theme/presetPreview.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GAAG,MAAM,GACvB,mBAAmB,CAarB"}
@@ -0,0 +1,40 @@
1
+ import type { Knobs } from "./knobs";
2
+ /**
3
+ * The persisted preset for platforms without cookies (native): the active
4
+ * preset name and its knob overrides, in `@multiplatform.one/store` storage
5
+ * (MMKV, else AsyncStorage) under the same `mp.preset` key the web cookie
6
+ * uses, plus `mp.ov` for the overrides JSON. One shared store, so every
7
+ * `useTheme()` and the ThemeProvider read the same state.
8
+ */
9
+ export declare const storedOverridesKey = "mp.ov";
10
+ export interface StoredPresetState {
11
+ presetName?: string;
12
+ overrides: Partial<Knobs>;
13
+ /** False until storage has been read; providers hold first render until then. */
14
+ hydrated: boolean;
15
+ }
16
+ /** Read storage once. Synchronous backends (MMKV) hydrate before this returns. */
17
+ export declare function hydrateStoredPreset(): Promise<void>;
18
+ export declare function getStoredPreset(): StoredPresetState;
19
+ export declare function subscribeStoredPreset(listener: () => void): () => void;
20
+ /** Switch the stored preset; its overrides reset unless given. */
21
+ export declare function setStoredPreset(presetName: string | undefined, overrides?: Partial<Knobs>): void;
22
+ /** Replace the stored knob overrides of the current preset. */
23
+ export declare function setStoredOverrides(overrides: Partial<Knobs>): void;
24
+ export declare const presetChoicesKey = "mp.preset.by-user";
25
+ export interface PresetChoices {
26
+ /** The signed-out choice made on this device. */
27
+ device?: string;
28
+ /** Each signed-in user's choice, by user id. */
29
+ users: Record<string, string>;
30
+ /** The user whose choice is live now; undefined while the device's is. */
31
+ owner?: string;
32
+ }
33
+ export declare function loadPresetChoices(): Promise<PresetChoices>;
34
+ export declare function getPresetChoices(): PresetChoices;
35
+ export declare function recordPresetChoice(name: string, userId?: string | null): PresetChoices;
36
+ export declare function setPresetOwner(userId?: string | null): PresetChoices;
37
+ export declare function presetChoiceFor(userId?: string | null): string | undefined;
38
+ /** @internal */
39
+ export declare function resetPresetChoicesForTests(): void;
40
+ //# sourceMappingURL=presetStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presetStore.d.ts","sourceRoot":"","sources":["../../src/theme/presetStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;GAMG;AAEH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;CACnB;AA+CD,kFAAkF;AAClF,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BnD;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAInD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAOtE;AAuBD,kEAAkE;AAClE,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAC7B,IAAI,CAMN;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAKlE;AAED,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqDD,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwB1D;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CAYtF;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CAMpE;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAM1E;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,IAAI,IAAI,CAQjD"}
@@ -0,0 +1,7 @@
1
+ export type PresetSessionStatus = "loading" | "authenticated" | "unauthenticated";
2
+ export declare function usePresetUserSync(session: {
3
+ userId?: string | null;
4
+ status: PresetSessionStatus;
5
+ }): void;
6
+ export declare function useDevicePresetRestore(): () => void;
7
+ //# sourceMappingURL=presetUserSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presetUserSync.d.ts","sourceRoot":"","sources":["../../src/theme/presetUserSync.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAElF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,IAAI,CAwBP;AAED,wBAAgB,sBAAsB,IAAI,MAAM,IAAI,CAMnD"}
@@ -2,10 +2,8 @@ import type { Preset } from "./preset.types";
2
2
  export declare const defaultPreset: Preset;
3
3
  export declare const boldPreset: Preset;
4
4
  /**
5
- * Marketing / hero surface preset (D-11 hero-H1 dial, owner ruling
6
- * 2026-08-12). Identical to `defaultPreset` except the page title returns to
7
- * the display step ($10 = 64px): product screens are wayfinding and take the
8
- * moderate step by default, so the loud scale has to be ASKED for.
5
+ * Marketing / hero preset: default knobs with the display title step
6
+ * ($12 = 52px at type 15). Product presets keep the moderate step.
9
7
  *
10
8
  * @example Whole marketing app
11
9
  * createDefaultThemeConfig({ presets: { default: defaultPreset, hero: heroPreset } })
@@ -16,4 +14,14 @@ export declare const boldPreset: Preset;
16
14
  * </Preset>
17
15
  */
18
16
  export declare const heroPreset: Preset;
17
+ /**
18
+ * `defaultPreset` on a tighter token scale ($4 = 36, body 14). Knobs are
19
+ * identical to the default's: every px it saves comes from token values.
20
+ */
21
+ export declare const densePreset: Preset;
22
+ /**
23
+ * `defaultPreset` on a roomier token scale ($4 = 48, body 16). Knobs are
24
+ * identical to the default's: every px it adds comes from token values.
25
+ */
26
+ export declare const roomyPreset: Preset;
19
27
  //# sourceMappingURL=presets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,MAgC3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAgCxB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,EAAE,MAGxB,CAAC"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/theme/presets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,eAAO,MAAM,aAAa,EAAE,MA8B3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MA6BxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,EAAE,MAGxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC"}
@@ -39,7 +39,7 @@ import { RADIUS_RESOLUTION_COMPOSITION, type RadiusOverrideEntry, type RadiusRes
39
39
  * The radius classes whose parts stay round at `borderRadius:none`.
40
40
  *
41
41
  * - `R-PILL` — a pill/circle at every radius value (ornamental dots, badge
42
- * indicators). Size still tracks the size knob. Icon wells are DEFAULT,
42
+ * indicators). Size still tracks the size token. Icon wells are DEFAULT,
43
43
  * not R-PILL (R2e) — unless the well IS a count badge.
44
44
  * - `R-IDENTITY` — the shape IS the part's identity (Avatar, brand marks,
45
45
  * Radio disc). Membership is enumerated in the spec table and enforced
@@ -79,9 +79,12 @@ export interface RadiusResolutionDeclaration {
79
79
  */
80
80
  export declare function radiusResolutionProps(radiusClass: "BINARY"): RadiusResolutionDeclaration;
81
81
  /**
82
+ * Doctrine px cells are v5 `$radius` values; they resolve to the installed
83
+ * scale's radius at the same key.
84
+ *
82
85
  * The geometry a doctrine cell may need. `h/2` cells need the part's own
83
86
  * painted height (shorter edge); CONTAINER-CAP cells need the container's own
84
- * padding at the current space stop (13/18/32 — `panelPaddingPxMap`).
87
+ * padding (the `panelPadding` role on the installed scale, `panelPaddingPx()`).
85
88
  */
86
89
  export interface RadiusClassGeometry {
87
90
  heightPx?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"radiusClass.d.ts","sourceRoot":"","sources":["../../src/theme/radiusClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,6BAA6B,EAE7B,KAAK,mBAAmB,EAExB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,MAAM,GACX,sBAAsB,CAExB;AAED,MAAM,WAAW,2BAA2B;IAC1C,wBAAwB,EAAE,QAAQ,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,GAAG,2BAA2B,CAExF;AAID;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,GAAE,mBAAwB,GACjC,MAAM,CAcR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG/E;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,mCAAmC;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,uEAAuE;IACvE,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,kBAAkB,CAkC7F"}
1
+ {"version":3,"file":"radiusClass.d.ts","sourceRoot":"","sources":["../../src/theme/radiusClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAEL,6BAA6B,EAE7B,KAAK,mBAAmB,EAExB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,MAAM,GACX,sBAAsB,CAExB;AAED,MAAM,WAAW,2BAA2B;IAC1C,wBAAwB,EAAE,QAAQ,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,GAAG,2BAA2B,CAExF;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4CD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,GAAE,mBAAwB,GACjC,MAAM,CAcR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG/E;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,mCAAmC;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,uEAAuE;IACvE,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,kBAAkB,CAkC7F"}
@@ -99,15 +99,15 @@ export declare const RADIUS_RESOLUTION_TABLE: {
99
99
  };
100
100
  readonly small: {
101
101
  readonly kind: "min-token-padding";
102
- readonly tokenPx: 5;
102
+ readonly tokenPx: 9;
103
103
  };
104
104
  readonly medium: {
105
105
  readonly kind: "min-token-padding";
106
- readonly tokenPx: 9;
106
+ readonly tokenPx: 16;
107
107
  };
108
108
  readonly large: {
109
109
  readonly kind: "min-token-padding";
110
- readonly tokenPx: 16;
110
+ readonly tokenPx: 22;
111
111
  };
112
112
  readonly full: {
113
113
  readonly kind: "padding";
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Readable text/glyph color to sit ON `fill` (a token like "$accentBackground"
3
- * / "$color8", or an already-resolved color value — e.g. the step returned by
4
- * `useAccentTintedSurface`): the scheme's paper (`$color1`) or ink (`$color12`)
5
- * anchor, whichever contrasts more on the resolved fill, returned as a concrete
2
+ * Readable text/glyph color to sit ON `fill` (a token like "$color8" or a
3
+ * resolved value, such as the wash from `useAccentTintedSurface`): the
4
+ * scheme's paper (`$color1`) or ink (`$color12`) anchor, whichever contrasts
5
+ * more on the resolved fill, returned as a concrete
6
6
  * value so no nested sub-theme can flip it. When neither anchor clears AA on
7
7
  * the fill, the pole that does (`holdInkFloor`). Returns `undefined` when any
8
8
  * color fails to resolve/parse — callers keep their own default in that case.
@@ -36,53 +36,15 @@ export declare function useLegibleInkOn(fill_: string | undefined, preferred: st
36
36
  */
37
37
  export declare function useAccentOnSurface(): string;
38
38
  export interface ResolveAccentTintedSurfaceInput {
39
- /** Accent ramp steps 1..12, as raw color values; holes allowed. */
40
- steps: (string | undefined)[];
41
- /** Scheme paper anchor (`$color1`). */
39
+ solid?: string;
42
40
  paper?: string;
43
- /** Scheme ink anchor (`$color12`). */
44
- ink?: string;
45
41
  }
46
- /** Pure resolver behind {@link useAccentTintedSurface} — see its docs. */
47
- export declare function resolveAccentTintedSurface({ steps, paper, ink, }: ResolveAccentTintedSurfaceInput): string | undefined;
48
- export declare function useAccentTintedSurface(): string | undefined;
49
42
  /**
50
- * A named solid in the accent ramp. `token` is what a caller paints
51
- * (`$accentBackground`, `$accent9`); `value` is the resolved color.
43
+ * Accent wash for an accent-intent surface, mixed from the accent solid and
44
+ * paper. Selection uses the neutral tier in `componentColors.selection` or
45
+ * `formSelectionColors`, never this wash.
52
46
  */
53
- export interface AaSolidCandidate {
54
- token: string;
55
- value: string | undefined;
56
- }
57
- export interface ResolveAaSolidFillInput {
58
- /** The LC-05 selected solid, usually `$accentBackground`. */
59
- preferred: AaSolidCandidate;
60
- /**
61
- * Accent solids (steps 1–10). Pale anchors 11–12 are tinted surfaces, not
62
- * selection solids — they would pass AA as chips and fail LC-05 as marks.
63
- */
64
- solids: AaSolidCandidate[];
65
- paper?: string;
66
- ink?: string;
67
- /** Defaults to {@link aaTextContrastRatio} (4.5). */
68
- floor?: number;
69
- }
70
- /**
71
- * Pick an accent solid that can carry AA text (paper or ink ≥ 4.5).
72
- *
73
- * A mid-chroma solid can clear the graphic 3:1 tier and still miss the text
74
- * floor with both scheme anchors (the stock dark `#7766cc` measured 4.02:1
75
- * before the build held `$accentBackground` to it, MPO-448). Walking to the
76
- * nearest passing solid keeps the mark on the accent channel (LC-05) instead
77
- * of dropping to ink or a tinted surface.
78
- *
79
- * Returns the preferred token when it already clears the floor, otherwise
80
- * the solid token whose resolved luminance is closest to the preferred fill.
81
- */
82
- export declare function resolveAaSolidFill({ preferred, solids, paper, ink, floor, }: ResolveAaSolidFillInput): string;
83
- /**
84
- * Token to paint as a selected/current solid so on-fill text clears AA.
85
- * See {@link resolveAaSolidFill}.
86
- */
87
- export declare function useAaSolidFill(preferredToken: string): string;
47
+ export declare function resolveAccentTintedSurface({ solid, paper, }: ResolveAccentTintedSurfaceInput): string | undefined;
48
+ /** Accent-intent wash; selection belongs to the shared neutral tier. */
49
+ export declare function useAccentTintedSurface(): string | undefined;
88
50
  //# sourceMappingURL=readableColor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readableColor.d.ts","sourceRoot":"","sources":["../../src/theme/readableColor.ts"],"names":[],"mappings":"AA4CA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU/E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,GAAG,SAAS,CAarB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAYpF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA8B3C;AA0BD,MAAM,WAAW,+BAA+B;IAC9C,mEAAmE;IACnE,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,KAAK,EACL,GAAG,GACJ,EAAE,+BAA+B,GAAG,MAAM,GAAG,SAAS,CAQtD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAW3D;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,SAAS,EAAE,gBAAgB,CAAC;IAC5B;;;OAGG;IACH,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,MAAM,EACN,KAAK,EACL,GAAG,EACH,KAA2B,GAC5B,EAAE,uBAAuB,GAAG,MAAM,CA0BlC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAuB7D"}
1
+ {"version":3,"file":"readableColor.d.ts","sourceRoot":"","sources":["../../src/theme/readableColor.ts"],"names":[],"mappings":"AA0BA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU/E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,GAAG,SAAS,CAarB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAYpF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA8B3C;AAID,MAAM,WAAW,+BAA+B;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,KAAK,GACN,EAAE,+BAA+B,GAAG,MAAM,GAAG,SAAS,CAmBtD;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAK3D"}