@multiplatform.one/theme 7.34.4 → 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,3 +1,4 @@
1
+ import type { MotionRole } from "./motion";
1
2
  import type { TransitionProp } from "tamagui";
2
3
  /**
3
4
  * Spreadable `transition` for a part that rides the animation knob.
@@ -8,7 +9,8 @@ import type { TransitionProp } from "tamagui";
8
9
  * knob flips to any other stop (MPO-327). On web the key therefore stays, and
9
10
  * an undefined value paints no CSS transition. The native twin differs.
10
11
  */
11
- export declare function transitionProps(transition: TransitionProp | undefined): {
12
+ export declare function transitionProps(role: MotionRole | TransitionProp | undefined, extra?: readonly string[]): {
12
13
  transition?: TransitionProp;
14
+ animateOnly?: string[];
13
15
  };
14
16
  //# sourceMappingURL=transitionProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitionProps.d.ts","sourceRoot":"","sources":["../../src/theme/transitionProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAEA"}
1
+ {"version":3,"file":"transitionProps.d.ts","sourceRoot":"","sources":["../../src/theme/transitionProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,EAC7C,KAAK,GAAE,SAAS,MAAM,EAAO,GAC5B;IACD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAWA"}
@@ -1,3 +1,4 @@
1
+ import type { MotionRole } from "./motion";
1
2
  import type { TransitionProp } from "tamagui";
2
3
  /**
3
4
  * Native twin of `transitionProps.ts`.
@@ -7,7 +8,8 @@ import type { TransitionProp } from "tamagui";
7
8
  * animation `none` would put motion on every part that is meant to be still.
8
9
  * Native keeps omitting it until the driver has an instant token to pass.
9
10
  */
10
- export declare function transitionProps(transition: TransitionProp | undefined): {
11
+ export declare function transitionProps(role: MotionRole | TransitionProp | undefined, extra?: readonly string[]): {
11
12
  transition?: TransitionProp;
13
+ animateOnly?: string[];
12
14
  };
13
15
  //# sourceMappingURL=transitionProps.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitionProps.native.d.ts","sourceRoot":"","sources":["../../src/theme/transitionProps.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAEA"}
1
+ {"version":3,"file":"transitionProps.native.d.ts","sourceRoot":"","sources":["../../src/theme/transitionProps.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,EAC7C,KAAK,GAAE,SAAS,MAAM,EAAO,GAC5B;IACD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAUA"}
@@ -0,0 +1,10 @@
1
+ export interface PresetSwitch {
2
+ /** The provider's active preset; "default" when none is stored. */
3
+ presetName: string;
4
+ /** Switch the active preset without recording anyone's choice. */
5
+ applyPreset(name: string): void;
6
+ /** Switch and record it as this user's choice (no user = this device's signed-out choice). */
7
+ choosePreset(name: string, userId?: string | null): void;
8
+ }
9
+ export declare function usePresetSwitch(): PresetSwitch;
10
+ //# sourceMappingURL=usePresetSwitch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePresetSwitch.d.ts","sourceRoot":"","sources":["../../src/theme/usePresetSwitch.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8FAA8F;IAC9F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1D;AAED,wBAAgB,eAAe,IAAI,YAAY,CAqC9C"}
@@ -0,0 +1,10 @@
1
+ export interface PresetSwitch {
2
+ /** The provider's active preset; "default" when none is stored. */
3
+ presetName: string;
4
+ /** Switch the active preset without recording anyone's choice. */
5
+ applyPreset(name: string): void;
6
+ /** Switch and record it as this user's choice (no user = this device's signed-out choice). */
7
+ choosePreset(name: string, userId?: string | null): void;
8
+ }
9
+ export declare function usePresetSwitch(): PresetSwitch;
10
+ //# sourceMappingURL=usePresetSwitch.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePresetSwitch.native.d.ts","sourceRoot":"","sources":["../../src/theme/usePresetSwitch.native.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8FAA8F;IAC9F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1D;AAED,wBAAgB,eAAe,IAAI,YAAY,CAa9C"}
@@ -6,16 +6,17 @@ export interface UseResolvedKnobsOptions {
6
6
  intent?: string;
7
7
  component?: string;
8
8
  override?: KnobPropsOverride;
9
- /** Override the size from knobs */
9
+ /**
10
+ * The control size token (Tamagui's own `size`, "$3"). Clamped to the
11
+ * nearest `<Surface size>` ceiling (LC-78); omitted = the Surface's token,
12
+ * else `$true`.
13
+ */
10
14
  size?: SizeTokens;
11
15
  /**
12
- * Density-compact override (layout gaps only — does not step size).
13
- * When set, wins over `knobs.density`:
14
- * `true` forces compact density; `false` forces comfortable.
15
- * Then re-clamped to the parent Surface ceiling (LC-68).
16
- * When omitted, the density knob / Surface controls compact vs comfortable.
16
+ * Whether an ancestor already paints a surface box. Omitted = the nearest
17
+ * `<Surface painted>`; overlay frames pass `false` because they float.
17
18
  */
18
- compact?: boolean;
19
+ painted?: boolean;
19
20
  }
20
21
  export declare const solidButtonIntents: Set<string>;
21
22
  /**
@@ -32,12 +33,11 @@ export declare const solidPaletteThemes: Set<string>;
32
33
  * 1. Base knobs from nearest <Preset> context
33
34
  * 2. Merge intent-level overrides (if intent provided or from context)
34
35
  * 3. Merge intent+component overrides (if both provided)
35
- * 4. Apply size override if provided
36
- * 5. Clamp size/density to Surface context (step-down only, LC-68)
37
- * 6. Apply density (space only; compact option wins when provided)
38
- * 7. Re-clamp to Surface ceiling (compact option cannot exceed parent)
39
- * 8. OS reduced-motion forces animation="none"
40
- * 9. Call resolveKnobs(mergedKnobs, override, scheme) — override merges last
36
+ * 4. Size token: the `size` option clamped to the Surface ceiling (LC-78);
37
+ * `painted` from the option, else the Surface
38
+ * 5. OS reduced-motion forces animation="none"
39
+ * 6. Call resolveKnobs(mergedKnobs, override, scheme, { touch, sizeToken, painted })
40
+ * — override merges last
41
41
  */
42
42
  export declare function useResolvedKnobs(options?: UseResolvedKnobsOptions): ResolvedKnobs;
43
43
  //# sourceMappingURL=useResolvedKnobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResolvedKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/useResolvedKnobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,SAAS,CAAC;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAWlE,eAAO,MAAM,aAAa,wCAAqC,CAAC;AAEhE,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AAyDD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAYD,eAAO,MAAM,kBAAkB,aAA2C,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,aAAsB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAuGjF"}
1
+ {"version":3,"file":"useResolvedKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/useResolvedKnobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,SAAS,CAAC;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAMlE,eAAO,MAAM,aAAa,wCAAqC,CAAC;AAEhE,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AA4BD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,aAA2C,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,aAAsB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAgFjF"}
@@ -0,0 +1,8 @@
1
+ import type { ThemeScheme } from "./useTheme";
2
+ export interface SchemePreference {
3
+ setting: ThemeScheme;
4
+ value: "light" | "dark";
5
+ set(scheme: ThemeScheme): void;
6
+ }
7
+ export declare function useSchemePreference(): SchemePreference;
8
+ //# sourceMappingURL=useSchemePreference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSchemePreference.d.ts","sourceRoot":"","sources":["../../src/theme/useSchemePreference.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAaD,wBAAgB,mBAAmB,IAAI,gBAAgB,CAStD"}
@@ -0,0 +1,8 @@
1
+ import type { ThemeScheme } from "./useTheme";
2
+ export interface SchemePreference {
3
+ setting: ThemeScheme;
4
+ value: "light" | "dark";
5
+ set(scheme: ThemeScheme): void;
6
+ }
7
+ export declare function useSchemePreference(): SchemePreference;
8
+ //# sourceMappingURL=useSchemePreference.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSchemePreference.native.d.ts","sourceRoot":"","sources":["../../src/theme/useSchemePreference.native.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAGD,wBAAgB,mBAAmB,IAAI,gBAAgB,CAkBtD"}
@@ -12,7 +12,7 @@ export type ThemeScheme = "system" | "dark" | "light";
12
12
  * Knobs, // resolved knobs
13
13
  * (knobs?: Partial<Knobs>) => void, // merge partial knob updates
14
14
  * boolean, // true if initialized from cookie
15
- * (presetName: string) => void, // switch preset (resets overrides)
15
+ * (presetName: string, options?: { userId?: string | null }) => void, // switch preset; options record a choice
16
16
  * string | undefined, // active preset name
17
17
  * ]
18
18
  * ```
@@ -25,7 +25,9 @@ export declare function useTheme(): [
25
25
  Knobs,
26
26
  (knobs?: Partial<Knobs>) => void,
27
27
  boolean,
28
- (presetName: string) => void,
28
+ (presetName: string, options?: {
29
+ userId?: string | null;
30
+ }) => void,
29
31
  string | undefined
30
32
  ];
31
33
  //# sourceMappingURL=useTheme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,SAAS,CAAC;AAOnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAMtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,IAAI;IAC1B,KAAK;IACL,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;IAChC,OAAO;IACP,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI;IAC5B,MAAM,GAAG,SAAS;CACnB,CAiKA"}
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,SAAS,CAAC;AAQnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAMtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,IAAI;IAC1B,KAAK;IACL,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;IAChC,OAAO;IACP,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI;IAClE,MAAM,GAAG,SAAS;CACnB,CAkKA"}
@@ -1,10 +1,19 @@
1
1
  import { type Knobs } from "./knobs";
2
2
  export type ThemeScheme = "system" | "dark" | "light";
3
+ /**
4
+ * Same tuple as the web hook. State lives in the shared preset store
5
+ * (`presetStore.ts`), persisted to `@multiplatform.one/store` storage under
6
+ * `mp.preset` / `mp.ov`, so every caller and the ThemeProvider see one preset
7
+ * and it survives a relaunch. The fourth element switches presets; supplying
8
+ * options also records the user's (or signed-out device's) choice.
9
+ */
3
10
  export declare function useTheme(): [
4
11
  Knobs,
5
12
  (knobs?: Partial<Knobs>) => void,
6
13
  boolean,
7
- (presetName: string) => void,
14
+ (presetName: string, options?: {
15
+ userId?: string | null;
16
+ }) => void,
8
17
  string | undefined
9
18
  ];
10
19
  //# sourceMappingURL=useTheme.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.native.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,SAAS,CAAC;AAOnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAMtD,wBAAgB,QAAQ,IAAI;IAC1B,KAAK;IACL,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;IAChC,OAAO;IACP,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI;IAC5B,MAAM,GAAG,SAAS;CACnB,CA4BA"}
1
+ {"version":3,"file":"useTheme.native.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.native.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,SAAS,CAAC;AAcnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAMtD;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI;IAC1B,KAAK;IACL,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;IAChC,OAAO;IACP,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI;IAClE,MAAM,GAAG,SAAS;CACnB,CAsCA"}