@multiplatform.one/theme 8.3.0 → 8.5.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 (248) hide show
  1. package/dist/cjs/audit/constraintAudit.native.js.map +1 -1
  2. package/dist/cjs/audit/designTokens.native.js.map +1 -1
  3. package/dist/cjs/audit/diffReport.native.js.map +1 -1
  4. package/dist/cjs/audit/index.native.js.map +1 -1
  5. package/dist/cjs/audit/themeMatrix.native.js.map +1 -1
  6. package/dist/cjs/dates.native.js.map +1 -1
  7. package/dist/cjs/devWarn.native.js.map +1 -1
  8. package/dist/cjs/expo.native.js.map +1 -1
  9. package/dist/cjs/figma/figmaTokens.native.js.map +1 -1
  10. package/dist/cjs/font.native.js.map +1 -1
  11. package/dist/cjs/fonts/createFontLoader.native.js.map +1 -1
  12. package/dist/cjs/fonts/index.native.js.map +1 -1
  13. package/dist/cjs/fonts/interFaces.native.js.map +1 -1
  14. package/dist/cjs/fonts/types.native.js.map +1 -1
  15. package/dist/cjs/index.gnome.cjs +4 -1
  16. package/dist/cjs/index.gnome.native.js +3 -0
  17. package/dist/cjs/index.gnome.native.js.map +1 -1
  18. package/dist/cjs/index.native.js +1 -1
  19. package/dist/cjs/index.native.js.map +1 -1
  20. package/dist/cjs/keyboardFocusRing.native.js.map +1 -1
  21. package/dist/cjs/menuRow.cjs +1 -1
  22. package/dist/cjs/menuRow.native.js +1 -1
  23. package/dist/cjs/menuRow.native.js.map +1 -1
  24. package/dist/cjs/nativeTwins.native.js.map +1 -1
  25. package/dist/cjs/numbers.native.js.map +1 -1
  26. package/dist/cjs/theme/Heading.native.js.map +1 -1
  27. package/dist/cjs/theme/IconSlot.native.js.map +1 -1
  28. package/dist/cjs/theme/Intent.native.js.map +1 -1
  29. package/dist/cjs/theme/Preset.native.js.map +1 -1
  30. package/dist/cjs/theme/PresetContext.native.js.map +1 -1
  31. package/dist/cjs/theme/Surface.native.js.map +1 -1
  32. package/dist/cjs/theme/Text.native.js.map +1 -1
  33. package/dist/cjs/theme/Tint.native.js.map +1 -1
  34. package/dist/cjs/theme/accentInk.cjs +6 -2
  35. package/dist/cjs/theme/accentInk.native.js +6 -2
  36. package/dist/cjs/theme/accentInk.native.js.map +1 -1
  37. package/dist/cjs/theme/activateThemeConfig.native.js.map +1 -1
  38. package/dist/cjs/theme/animations/css.native.js.map +1 -1
  39. package/dist/cjs/theme/animations/index.native.js.map +1 -1
  40. package/dist/cjs/theme/animations/reactNative.native.js.map +1 -1
  41. package/dist/cjs/theme/chartPalette.cjs +3 -3
  42. package/dist/cjs/theme/chartPalette.native.js +5 -4
  43. package/dist/cjs/theme/chartPalette.native.js.map +1 -1
  44. package/dist/cjs/theme/colorRules.cjs +5 -0
  45. package/dist/cjs/theme/colorRules.native.js +6 -0
  46. package/dist/cjs/theme/colorRules.native.js.map +1 -1
  47. package/dist/cjs/theme/controlTiers.cjs +9 -5
  48. package/dist/cjs/theme/controlTiers.native.js +10 -5
  49. package/dist/cjs/theme/controlTiers.native.js.map +1 -1
  50. package/dist/cjs/theme/cookies.native.js.map +1 -1
  51. package/dist/cjs/theme/createDefaultThemeConfig.native.js.map +1 -1
  52. package/dist/cjs/theme/createThemes.cjs +212 -8
  53. package/dist/cjs/theme/createThemes.native.js +397 -12
  54. package/dist/cjs/theme/createThemes.native.js.map +1 -1
  55. package/dist/cjs/theme/dedupeInherited.native.js.map +1 -1
  56. package/dist/cjs/theme/defaults/accent.native.js.map +1 -1
  57. package/dist/cjs/theme/defaults/base.native.js.map +1 -1
  58. package/dist/cjs/theme/defaults/builderOptions.cjs +9 -4
  59. package/dist/cjs/theme/defaults/builderOptions.native.js +9 -4
  60. package/dist/cjs/theme/defaults/builderOptions.native.js.map +1 -1
  61. package/dist/cjs/theme/defaults/categoryFonts.native.js.map +1 -1
  62. package/dist/cjs/theme/defaults/fonts.native.js.map +1 -1
  63. package/dist/cjs/theme/defaults/house.native.js.map +1 -1
  64. package/dist/cjs/theme/defaults/index.native.js.map +1 -1
  65. package/dist/cjs/theme/devtools/ColorLineVisualizer.native.js.map +1 -1
  66. package/dist/cjs/theme/devtools/ThemeDevtoolsPanel.native.js.map +1 -1
  67. package/dist/cjs/theme/devtools/animationOptions.native.js.map +1 -1
  68. package/dist/cjs/theme/devtools/buildSnapshot.native.js.map +1 -1
  69. package/dist/cjs/theme/devtools/index.native.js.map +1 -1
  70. package/dist/cjs/theme/devtools/knobIcons.native.js.map +1 -1
  71. package/dist/cjs/theme/devtools/vizConstants.native.js.map +1 -1
  72. package/dist/cjs/theme/dynamicType.native.js.map +1 -1
  73. package/dist/cjs/theme/fieldFocus.native.js.map +1 -1
  74. package/dist/cjs/theme/fillContrast.cjs +4 -1
  75. package/dist/cjs/theme/fillContrast.native.js +4 -1
  76. package/dist/cjs/theme/fillContrast.native.js.map +1 -1
  77. package/dist/cjs/theme/focusState.native.js.map +1 -1
  78. package/dist/cjs/theme/fontCategoryMetrics.native.js.map +1 -1
  79. package/dist/cjs/theme/fontCategoryStacks.native.js.map +1 -1
  80. package/dist/cjs/theme/glyphPaint.native.js.map +1 -1
  81. package/dist/cjs/theme/glyphTint.native.js.map +1 -1
  82. package/dist/cjs/theme/groupGeometry.native.js.map +1 -1
  83. package/dist/cjs/theme/index.cjs +1 -0
  84. package/dist/cjs/theme/index.native.js +1 -0
  85. package/dist/cjs/theme/index.native.js.map +1 -1
  86. package/dist/cjs/theme/intents.native.js.map +1 -1
  87. package/dist/cjs/theme/knobs.native.js.map +1 -1
  88. package/dist/cjs/theme/layoutTokens.native.js.map +1 -1
  89. package/dist/cjs/theme/listRows.native.js.map +1 -1
  90. package/dist/cjs/theme/mergedTokens.native.js.map +1 -1
  91. package/dist/cjs/theme/motion.native.js.map +1 -1
  92. package/dist/cjs/theme/motionStops.native.js.map +1 -1
  93. package/dist/cjs/theme/motionTiming.native.js.map +1 -1
  94. package/dist/cjs/theme/nativeMonoFamily.native.js.map +1 -1
  95. package/dist/cjs/theme/nativePresetSwitch.native.js.map +1 -1
  96. package/dist/cjs/theme/nativeSchemePreference.native.js.map +1 -1
  97. package/dist/cjs/theme/nativeTheme.native.js.map +1 -1
  98. package/dist/cjs/theme/nativeTransitionProps.native.js.map +1 -1
  99. package/dist/cjs/theme/overlaySurfaces.native.js.map +1 -1
  100. package/dist/cjs/theme/pageGutter.native.js.map +1 -1
  101. package/dist/cjs/theme/preset.types.native.js.map +1 -1
  102. package/dist/cjs/theme/presetPreview.native.js.map +1 -1
  103. package/dist/cjs/theme/presetStore.native.js.map +1 -1
  104. package/dist/cjs/theme/presetUserSync.native.js.map +1 -1
  105. package/dist/cjs/theme/presets.native.js.map +1 -1
  106. package/dist/cjs/theme/radiusClass.native.js.map +1 -1
  107. package/dist/cjs/theme/radiusClassTable.generated.native.js.map +1 -1
  108. package/dist/cjs/theme/ramps.native.js.map +1 -1
  109. package/dist/cjs/theme/readableColor.cjs +20 -9
  110. package/dist/cjs/theme/readableColor.native.js +20 -9
  111. package/dist/cjs/theme/readableColor.native.js.map +1 -1
  112. package/dist/cjs/theme/recipeInputs.native.js.map +1 -1
  113. package/dist/cjs/theme/recipes.native.js.map +1 -1
  114. package/dist/cjs/theme/resolveKnobs.cjs +4 -1
  115. package/dist/cjs/theme/resolveKnobs.native.js +4 -1
  116. package/dist/cjs/theme/resolveKnobs.native.js.map +1 -1
  117. package/dist/cjs/theme/scale/activeScale.native.js.map +1 -1
  118. package/dist/cjs/theme/scale/deriveRecipeInputs.native.js.map +1 -1
  119. package/dist/cjs/theme/scale/generateScale.native.js.map +1 -1
  120. package/dist/cjs/theme/scale/index.native.js.map +1 -1
  121. package/dist/cjs/theme/scale/scaleAttribute.native.js.map +1 -1
  122. package/dist/cjs/theme/scale/scaleCss.native.js.map +1 -1
  123. package/dist/cjs/theme/scale/scaleFonts.native.js.map +1 -1
  124. package/dist/cjs/theme/scale/scaleInputs.native.js.map +1 -1
  125. package/dist/cjs/theme/scale/themeScales.native.js.map +1 -1
  126. package/dist/cjs/theme/scale/useActiveScale.native.js.map +1 -1
  127. package/dist/cjs/theme/schemeStore.native.js.map +1 -1
  128. package/dist/cjs/theme/shared.native.js.map +1 -1
  129. package/dist/cjs/theme/sizeRecipes.native.js.map +1 -1
  130. package/dist/cjs/theme/subsetThemes.native.js.map +1 -1
  131. package/dist/cjs/theme/themeValue.native.js.map +1 -1
  132. package/dist/cjs/theme/tileSizes.native.js.map +1 -1
  133. package/dist/cjs/theme/tintHues.native.js.map +1 -1
  134. package/dist/cjs/theme/tokenNumber.cjs +34 -0
  135. package/dist/cjs/theme/tokenNumber.native.js +39 -0
  136. package/dist/cjs/theme/tokenNumber.native.js.map +1 -0
  137. package/dist/cjs/theme/touchManipulation.native.js.map +1 -1
  138. package/dist/cjs/theme/useResolvedKnobs.native.js.map +1 -1
  139. package/dist/cjs/theme/useTouchSurface.native.js.map +1 -1
  140. package/dist/cjs/theme/v3TokenRoles.native.js.map +1 -1
  141. package/dist/esm/index.gnome.mjs +3 -2
  142. package/dist/esm/index.gnome.mjs.map +1 -1
  143. package/dist/esm/index.gnome.native.js +3 -2
  144. package/dist/esm/index.gnome.native.js.map +1 -1
  145. package/dist/esm/menuRow.mjs +1 -1
  146. package/dist/esm/menuRow.native.js +1 -1
  147. package/dist/esm/theme/accentInk.mjs +6 -3
  148. package/dist/esm/theme/accentInk.mjs.map +1 -1
  149. package/dist/esm/theme/accentInk.native.js +6 -3
  150. package/dist/esm/theme/accentInk.native.js.map +1 -1
  151. package/dist/esm/theme/chartPalette.mjs +3 -3
  152. package/dist/esm/theme/chartPalette.mjs.map +1 -1
  153. package/dist/esm/theme/chartPalette.native.js +5 -4
  154. package/dist/esm/theme/chartPalette.native.js.map +1 -1
  155. package/dist/esm/theme/colorRules.mjs +5 -1
  156. package/dist/esm/theme/colorRules.mjs.map +1 -1
  157. package/dist/esm/theme/colorRules.native.js +6 -1
  158. package/dist/esm/theme/colorRules.native.js.map +1 -1
  159. package/dist/esm/theme/controlTiers.mjs +9 -6
  160. package/dist/esm/theme/controlTiers.mjs.map +1 -1
  161. package/dist/esm/theme/controlTiers.native.js +10 -6
  162. package/dist/esm/theme/controlTiers.native.js.map +1 -1
  163. package/dist/esm/theme/createThemes.mjs +215 -12
  164. package/dist/esm/theme/createThemes.mjs.map +1 -1
  165. package/dist/esm/theme/createThemes.native.js +400 -16
  166. package/dist/esm/theme/createThemes.native.js.map +1 -1
  167. package/dist/esm/theme/defaults/builderOptions.mjs +10 -6
  168. package/dist/esm/theme/defaults/builderOptions.mjs.map +1 -1
  169. package/dist/esm/theme/defaults/builderOptions.native.js +10 -6
  170. package/dist/esm/theme/defaults/builderOptions.native.js.map +1 -1
  171. package/dist/esm/theme/fillContrast.mjs +5 -2
  172. package/dist/esm/theme/fillContrast.mjs.map +1 -1
  173. package/dist/esm/theme/fillContrast.native.js +5 -2
  174. package/dist/esm/theme/fillContrast.native.js.map +1 -1
  175. package/dist/esm/theme/index.mjs +1 -0
  176. package/dist/esm/theme/index.mjs.map +1 -1
  177. package/dist/esm/theme/index.native.js +1 -0
  178. package/dist/esm/theme/index.native.js.map +1 -1
  179. package/dist/esm/theme/nativeTheme.mjs.map +1 -1
  180. package/dist/esm/theme/nativeTheme.native.js.map +1 -1
  181. package/dist/esm/theme/readableColor.mjs +20 -9
  182. package/dist/esm/theme/readableColor.mjs.map +1 -1
  183. package/dist/esm/theme/readableColor.native.js +20 -9
  184. package/dist/esm/theme/readableColor.native.js.map +1 -1
  185. package/dist/esm/theme/resolveKnobs.mjs +4 -1
  186. package/dist/esm/theme/resolveKnobs.mjs.map +1 -1
  187. package/dist/esm/theme/resolveKnobs.native.js +4 -1
  188. package/dist/esm/theme/resolveKnobs.native.js.map +1 -1
  189. package/dist/esm/theme/tokenNumber.mjs +9 -0
  190. package/dist/esm/theme/tokenNumber.mjs.map +1 -0
  191. package/dist/esm/theme/tokenNumber.native.js +11 -0
  192. package/dist/esm/theme/tokenNumber.native.js.map +1 -0
  193. package/package.json +5 -5
  194. package/src/figma/figmaTokens.spec.ts +2 -1
  195. package/src/index.gnome.ts +2 -0
  196. package/src/menuRow.palette.spec.ts +20 -7
  197. package/src/menuRow.spec.ts +2 -2
  198. package/src/menuRow.ts +3 -3
  199. package/src/theme/accentInk.ts +8 -2
  200. package/src/theme/accentOnSurface.spec.tsx +6 -1
  201. package/src/theme/chartPalette.spec.ts +2 -2
  202. package/src/theme/chartPalette.ts +9 -9
  203. package/src/theme/colorRules.ts +13 -0
  204. package/src/theme/controlEdges.spec.ts +114 -0
  205. package/src/theme/controlTiers.ts +18 -9
  206. package/src/theme/createDefaultThemeConfig.spec.ts +135 -12
  207. package/src/theme/createThemes.ts +363 -24
  208. package/src/theme/defaults/builderOptions.ts +25 -8
  209. package/src/theme/defaults/secondaryInk.spec.ts +10 -5
  210. package/src/theme/fillContrast.spec.ts +8 -2
  211. package/src/theme/fillContrast.ts +10 -2
  212. package/src/theme/houseGround.spec.ts +1 -1
  213. package/src/theme/index.ts +1 -0
  214. package/src/theme/nativeTheme.tsx +1 -1
  215. package/src/theme/readableColor.ts +23 -11
  216. package/src/theme/recipes.ts +1 -0
  217. package/src/theme/resolveKnobs.spec.ts +4 -4
  218. package/src/theme/resolveKnobs.ts +6 -4
  219. package/src/theme/selectionFill.spec.ts +58 -0
  220. package/src/theme/switchThumb.spec.ts +13 -1
  221. package/src/theme/themeKeyRegistry.spec.ts +26 -0
  222. package/src/theme/tokenNumber.spec.tsx +47 -0
  223. package/src/theme/tokenNumber.ts +18 -0
  224. package/types/index.gnome.d.ts +2 -1
  225. package/types/index.gnome.d.ts.map +1 -1
  226. package/types/menuRow.d.ts +5 -5
  227. package/types/theme/accentInk.d.ts +1 -0
  228. package/types/theme/accentInk.d.ts.map +1 -1
  229. package/types/theme/chartPalette.d.ts +2 -2
  230. package/types/theme/colorRules.d.ts +9 -0
  231. package/types/theme/colorRules.d.ts.map +1 -1
  232. package/types/theme/controlTiers.d.ts +11 -5
  233. package/types/theme/controlTiers.d.ts.map +1 -1
  234. package/types/theme/createThemes.d.ts +21 -12
  235. package/types/theme/createThemes.d.ts.map +1 -1
  236. package/types/theme/defaults/builderOptions.d.ts +9 -1
  237. package/types/theme/defaults/builderOptions.d.ts.map +1 -1
  238. package/types/theme/fillContrast.d.ts.map +1 -1
  239. package/types/theme/index.d.ts +1 -0
  240. package/types/theme/index.d.ts.map +1 -1
  241. package/types/theme/nativeTheme.d.ts +1 -1
  242. package/types/theme/nativeTheme.d.ts.map +1 -1
  243. package/types/theme/readableColor.d.ts.map +1 -1
  244. package/types/theme/recipes.d.ts +3 -0
  245. package/types/theme/recipes.d.ts.map +1 -1
  246. package/types/theme/resolveKnobs.d.ts.map +1 -1
  247. package/types/theme/tokenNumber.d.ts +10 -0
  248. package/types/theme/tokenNumber.d.ts.map +1 -0
@@ -120,9 +120,13 @@ function useIdentityInputs() {
120
120
  const keys = identityKeys(themeName);
121
121
  return {
122
122
  candidates: keys.map((key) => resolveTokenValue(theme, key)),
123
+ identityInk: resolveTokenValue(theme, "identityInk"),
123
124
  accentSteps: accentStepKeys.map((key) => resolveTokenValue(theme, key)),
124
125
  c1: resolveTokenValue(theme, "color1"),
125
126
  c2: resolveTokenValue(theme, "color2"),
127
+ // A dark overlay paints `$color5` (LC-85, FZ-8400), and accent ink in a
128
+ // Toast, menu or sheet sits on it.
129
+ c5: themeName.startsWith("dark") ? resolveTokenValue(theme, "color5") : undefined,
126
130
  ink: resolveTokenValue(theme, "color12") ?? "$color12",
127
131
  };
128
132
  }
@@ -138,14 +142,20 @@ function useIdentityInputs() {
138
142
  * none does.
139
143
  */
140
144
  export function useAccentOnSurface(): string {
141
- const { candidates, accentSteps, c1, c2, ink } = useIdentityInputs();
145
+ const { candidates, accentSteps, c1, c2, c5, ink } = useIdentityInputs();
142
146
  const theme = useTamaguiTheme() as unknown as Record<string, { val?: unknown } | undefined>;
143
147
  const candidateKey = candidates.join("|");
144
148
  const stepKey = accentSteps.join("|");
145
149
  const picked = useMemo(
146
- () => resolveAccentOnSurface({ identity: candidates, accentSteps, surfaces: [c1, c2], ink }),
150
+ () =>
151
+ resolveAccentOnSurface({
152
+ identity: candidates,
153
+ accentSteps,
154
+ surfaces: c5 ? [c1, c2, c5] : [c1, c2],
155
+ ink,
156
+ }),
147
157
  // eslint-disable-next-line react-hooks/exhaustive-deps
148
- [candidateKey, stepKey, c1, c2, ink],
158
+ [candidateKey, stepKey, c1, c2, c5, ink],
149
159
  );
150
160
  return isWeb && theme.accentOnSurface?.val === picked ? "$accentOnSurface" : picked;
151
161
  }
@@ -158,12 +168,13 @@ export function useAccentOnSurface(): string {
158
168
  * {@link useAccentOnSurface} does there.
159
169
  */
160
170
  export function useIdentityInkOnSurface(): string {
161
- const { candidates, c1, c2, ink } = useIdentityInputs();
162
- const candidateKey = candidates.join("|");
171
+ const { candidates, identityInk, c1, c2, c5, ink } = useIdentityInputs();
172
+ const identity = identityInk ? [identityInk] : candidates;
173
+ const candidateKey = identity.join("|");
163
174
  return useMemo(
164
- () => resolveIdentityInk({ candidates, surfaces: [c1, c2], ink }),
175
+ () => resolveIdentityInk({ candidates: identity, surfaces: c5 ? [c1, c2, c5] : [c1, c2], ink }),
165
176
  // eslint-disable-next-line react-hooks/exhaustive-deps
166
- [candidateKey, c1, c2, ink],
177
+ [candidateKey, c1, c2, c5, ink],
167
178
  );
168
179
  }
169
180
 
@@ -178,12 +189,13 @@ export function useIdentityHue(): {
178
189
  c2: string | undefined;
179
190
  ink: string;
180
191
  } {
181
- const { candidates, c1, c2, ink } = useIdentityInputs();
182
- const candidateKey = candidates.join("|");
192
+ const { candidates, identityInk, c1, c2, c5, ink } = useIdentityInputs();
193
+ const identity = identityInk ? [identityInk] : candidates;
194
+ const candidateKey = identity.join("|");
183
195
  const hue = useMemo(
184
- () => pickIdentityInk(candidates, [c1, c2]),
196
+ () => pickIdentityInk(identity, c5 ? [c1, c2, c5] : [c1, c2]),
185
197
  // eslint-disable-next-line react-hooks/exhaustive-deps
186
- [candidateKey, c1, c2],
198
+ [candidateKey, c1, c2, c5],
187
199
  );
188
200
  return { hue, c1, c2, ink };
189
201
  }
@@ -224,6 +224,7 @@ export interface KnobProps {
224
224
  */
225
225
  elevationChrome: ElevationChromeProps;
226
226
  thumbShadow: ElevationChromeProps;
227
+ trackRing: { boxShadow?: string };
227
228
  /** Resolved scheme the fragments were built for (LC-85). */
228
229
  scheme: "light" | "dark";
229
230
  surface: { backgroundColor: string; borderColor: string; borderWidth: number };
@@ -310,7 +310,7 @@ describe("resolveKnobs", () => {
310
310
  expect(knobProps.elevation).toBe(key);
311
311
  expect(knobProps.cardSurface.backgroundColor).toBe("$background");
312
312
  expect(knobProps.elevatedSurface.backgroundColor).toBe(
313
- scheme === "dark" ? "$color4" : "$background",
313
+ scheme === "dark" ? "$color5" : "$background",
314
314
  );
315
315
  expect(knobProps.elevatedSurface.borderColor).toBe(
316
316
  scheme === "dark" ? "transparent" : "$borderColor",
@@ -341,9 +341,9 @@ describe("resolveKnobs", () => {
341
341
  { length: 12 },
342
342
  (_, index) => themes.dark[`color${index + 1}`].val,
343
343
  );
344
- expect(knobProps.elevatedSurface.backgroundColor).toBe("$color4");
344
+ expect(knobProps.elevatedSurface.backgroundColor).toBe("$color5");
345
345
  const cardIndex = palette.indexOf(themes.dark_Card.background.val);
346
- const overlayIndex = palette.indexOf(themes.dark.color4.val);
346
+ const overlayIndex = palette.indexOf(themes.dark.color5.val);
347
347
  expect(cardIndex).toBeGreaterThanOrEqual(0);
348
348
  expect(overlayIndex - cardIndex).toBe(1);
349
349
  });
@@ -459,7 +459,7 @@ describe("resolveKnobs", () => {
459
459
  const { offsetY, radius } = sizedElevation(getActiveScaleTokens().size[key]);
460
460
  expect(knobProps.overlayElevation).toBe(key);
461
461
  if (scheme === "dark") {
462
- expect(knobProps.elevatedSurface.backgroundColor).toBe("$color4");
462
+ expect(knobProps.elevatedSurface.backgroundColor).toBe("$color5");
463
463
  expect(knobProps.elevatedSurface.shadowColor).toBeUndefined();
464
464
  expect(knobProps.elevatedSurface.style?.boxShadow).toBeUndefined();
465
465
  return;
@@ -456,10 +456,11 @@ function elevationChromeFor(key: SizeKey | undefined): ElevationChromeProps {
456
456
  };
457
457
  }
458
458
 
459
- // v5's surface2 template step: the fill two palette steps above the base
460
- // `$background` (color2), one above Card's surface1. A dark overlay separates
461
- // by this lighter fill and its shadow, with no light edge (HIG, FZ-7944).
462
- const surface2 = { fill: "$color4" } as const;
459
+ // A dark overlay's fill is the house surface2 step (FZ-8400): the page is
460
+ // `$color1`, Card's surface1 `$color4`, and an overlay one step above that,
461
+ // so a menu still reads over the field or card it opens on. It separates by
462
+ // this lighter fill, with no light edge (HIG, FZ-7944).
463
+ const surface2 = { fill: "$color5" } as const;
463
464
 
464
465
  // `$textMuted` is the theme's secondary ink (LC-152): the most muted ramp
465
466
  // step that clears 7:1 on the page and every card tier in its own scheme. A
@@ -883,6 +884,7 @@ export function resolveKnobs(
883
884
  overlayElevation: platformElevation(overlayElevationToken),
884
885
  elevationChrome,
885
886
  thumbShadow: elevationChromeFor("$0.5"),
887
+ trackRing: isWeb ? { boxShadow: "inset 0 0 0 1px var(--switchTrackOffBorder)" } : {},
886
888
  scheme,
887
889
  surface: {
888
890
  backgroundColor: "$background",
@@ -0,0 +1,58 @@
1
+ /**
2
+ * LC-05, FZ-8400: `$selectFill` and `$selectPress` are the neutral selection
3
+ * tier's fills. A selection fill that resolves to nothing paints no selected
4
+ * row at all, so every theme Tamagui can resolve carries both, the page keeps
5
+ * its `$color4` / `$color5`, and a dark card's own pair steps above its fill.
6
+ */
7
+ import { configWithoutAnimations } from "@tamagui/config";
8
+ import { createTamagui } from "tamagui";
9
+ import { describe, expect, it } from "vitest";
10
+ import { contrastRatio, normalizeToHex, relativeLuminance } from "./colorRules";
11
+ import { createDefaultThemeConfig } from "./createDefaultThemeConfig";
12
+
13
+ const built = createDefaultThemeConfig({}).tamagui.themes as unknown as Record<
14
+ string,
15
+ Record<string, { val?: string } | string>
16
+ >;
17
+ const config = createTamagui({ ...configWithoutAnimations, themes: built as never });
18
+ const themes = config.themes as unknown as Record<string, Record<string, { val?: string }>>;
19
+ const value = (name: string, key: string) => themes[name]?.[key]?.val;
20
+ const lum = (raw: string) => relativeLuminance(normalizeToHex(raw)!);
21
+
22
+ describe("the LC-05 selection fills resolve in every theme (FZ-8400)", () => {
23
+ const names = Object.keys(themes);
24
+
25
+ it("covers the whole matrix", () => {
26
+ expect(names.length).toBeGreaterThan(400);
27
+ });
28
+
29
+ it("every theme carries $selectFill and $selectPress", () => {
30
+ const missing = names.filter(
31
+ (name) => !value(name, "selectFill") || !value(name, "selectPress"),
32
+ );
33
+ expect(missing).toEqual([]);
34
+ });
35
+
36
+ it("each scheme and hue page paints its own $color4 and $color5", () => {
37
+ for (const name of names.filter((n) => /^(light|dark)(_[a-z]+)?$/.test(n))) {
38
+ expect(value(name, "selectFill"), name).toBe(value(name, "color4"));
39
+ expect(value(name, "selectPress"), name).toBe(value(name, "color5"));
40
+ }
41
+ });
42
+
43
+ it("a dark card's selection steps above its own fill", () => {
44
+ // `_accent` and `_active` are inverse control fills, not grounds.
45
+ const cards = names.filter(
46
+ (n) => /^dark(_[a-z]+)?_Card$/.test(n) && !/_(accent|active)_Card$/.test(n),
47
+ );
48
+ expect(cards.length).toBeGreaterThan(5);
49
+ for (const name of cards) {
50
+ const card = value(name, "background")!;
51
+ const fill = value(name, "selectFill")!;
52
+ const press = value(name, "selectPress")!;
53
+ expect(lum(fill), `${name} selectFill over its card`).toBeGreaterThan(lum(card));
54
+ expect(contrastRatio(lum(fill), lum(card)), name).toBeGreaterThan(1.05);
55
+ expect(lum(press), `${name} selectPress over selectFill`).toBeGreaterThan(lum(fill));
56
+ }
57
+ });
58
+ });
@@ -8,6 +8,7 @@ import {
8
8
  normalizeToHex,
9
9
  plateContrastRatio,
10
10
  relativeLuminance,
11
+ switchOffGround,
11
12
  } from "./colorRules";
12
13
  import { createThemesBuilder } from "./createThemes";
13
14
  import { defaultAccentTheme } from "./defaults/accent";
@@ -54,7 +55,14 @@ describe("switch thumb", () => {
54
55
  const scheme = name.split("_")[0] as "light" | "dark";
55
56
  const off = theme.switchTrackOff.val;
56
57
  expect(isLightGround(theme.background.val)).toBe(scheme === "light");
57
- expect(inSwitchOffBand(off, theme.background.val)).toBe(true);
58
+ // LC-172: the band is measured over the ground the switch sits on, the
59
+ // `$color4` card in dark (FZ-8400).
60
+ expect(
61
+ inSwitchOffBand(
62
+ off,
63
+ switchOffGround({ background: theme.background.val, color4: theme.color4.val })!,
64
+ ),
65
+ ).toBe(true);
58
66
  if (scheme === "light") {
59
67
  const step = Array.from({ length: 12 }, (_, i) => i + 1).find(
60
68
  (n) => theme[`gray${n}`].val === off,
@@ -66,6 +74,10 @@ describe("switch thumb", () => {
66
74
  expect(theme.switchTrackOffPress.val).toBe(theme[`gray${Math.min(step + 1, 12)}`].val);
67
75
  } else {
68
76
  expect(ratio(off, theme.color4.val)).toBeGreaterThanOrEqual(plateContrastRatio);
77
+ expect(ratio(off, theme.color5.val)).toBeGreaterThanOrEqual(plateContrastRatio);
78
+ // A switch on the bare `$color1` page (a toolbar, a row outside a card)
79
+ // still reads as a plate.
80
+ expect(ratio(off, theme.color1.val)).toBeGreaterThanOrEqual(plateContrastRatio);
69
81
  const lum = (color: string) => relativeLuminance(normalizeToHex(color) as string);
70
82
  expect(lum(theme.switchTrackOffHover.val)).toBeLessThan(lum(off));
71
83
  expect(lum(theme.switchTrackOffPress.val)).toBeGreaterThan(lum(off));
@@ -0,0 +1,26 @@
1
+ import { readThemeKeys } from "@multiplatform.one/config/lint";
2
+ import { describe, expect, it } from "vitest";
3
+ import { createThemesBuilder, postPassThemeKeys } from "./createThemes";
4
+ import { defaultAccentTheme } from "./defaults/accent";
5
+ import { defaultBaseTheme } from "./defaults/base";
6
+ import { defaultBuilderOptions } from "./defaults/builderOptions";
7
+
8
+ const themes = createThemesBuilder(
9
+ defaultBaseTheme,
10
+ defaultAccentTheme,
11
+ defaultBuilderOptions,
12
+ ).themes() as Record<string, Record<string, string>>;
13
+
14
+ const builtKeys = new Set(Object.values(themes).flatMap((theme) => Object.keys(theme)));
15
+
16
+ describe("the `$token` lint knows every built theme key", () => {
17
+ it("resolves every key the built themes carry, post-pass keys included", () => {
18
+ const known = readThemeKeys();
19
+ expect(known.size).toBeGreaterThan(0);
20
+ expect([...builtKeys].filter((key) => !known.has(key))).toEqual([]);
21
+ });
22
+
23
+ it("lists no post-pass key the built themes lack", () => {
24
+ expect(postPassThemeKeys.filter((key) => !builtKeys.has(key))).toEqual([]);
25
+ });
26
+ });
@@ -0,0 +1,47 @@
1
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
2
+ import { getTokens, getTokenValue } from "tamagui";
3
+ import { beforeAll, describe, expect, expectTypeOf, it } from "vitest";
4
+ import { tokenNumber, type TokenName } from "./tokenNumber";
5
+
6
+ beforeAll(() => {
7
+ renderWithProviders(<></>);
8
+ });
9
+
10
+ function published(group: "size" | "space" | "radius" | "zIndex") {
11
+ return Object.keys(getTokens()[group] as Record<string, unknown>);
12
+ }
13
+
14
+ describe("tokenNumber (FZ-8409 item 4)", () => {
15
+ it("reads every published size, space, radius and zIndex token by its own name", () => {
16
+ for (const group of ["size", "space", "radius", "zIndex"] as const) {
17
+ const names = published(group);
18
+ expect(names.length).toBeGreaterThan(0);
19
+ for (const name of names) {
20
+ const key = (name.startsWith("$") ? name : `$${name}`) as TokenName;
21
+ expect(tokenNumber(group, key), `${group} ${name}`).toBe(
22
+ Number(getTokenValue(key as Parameters<typeof getTokenValue>[0], group)),
23
+ );
24
+ }
25
+ }
26
+ });
27
+
28
+ it("takes an integer name as a number, a negative one included", () => {
29
+ expect(tokenNumber("space", 4)).toBe(tokenNumber("space", "$4"));
30
+ expect(tokenNumber("size", 10)).toBe(tokenNumber("size", "$10"));
31
+ expect(tokenNumber("space", -2)).toBe(tokenNumber("space", "$-2"));
32
+ expect(tokenNumber("space", 4)).toBeGreaterThan(0);
33
+ });
34
+
35
+ it("returns undefined for a name the scale does not publish", () => {
36
+ expect(tokenNumber("space", 999)).toBeUndefined();
37
+ expect(tokenNumber("radius", "$nope")).toBeUndefined();
38
+ });
39
+
40
+ it("types every name as a number or a $ token, with no cast at the use site", () => {
41
+ expectTypeOf(tokenNumber).parameter(1).toEqualTypeOf<TokenName>();
42
+ expectTypeOf(tokenNumber).returns.toEqualTypeOf<number | undefined>();
43
+ expectTypeOf<4>().toMatchTypeOf<TokenName>();
44
+ expectTypeOf<"$true">().toMatchTypeOf<TokenName>();
45
+ expectTypeOf<"4px">().not.toMatchTypeOf<TokenName>();
46
+ });
47
+ });
@@ -0,0 +1,18 @@
1
+ import { getTokens } from "tamagui";
2
+
3
+ /** A published token name: `$4`, `$0.5`, `$-2`, `$true`, or its integer as a number. */
4
+ export type TokenName = number | `$${string}`;
5
+
6
+ export type NumericTokenGroup = "size" | "space" | "radius" | "zIndex";
7
+
8
+ /**
9
+ * The pixel value of a size, space, radius or zIndex token, typed over every
10
+ * name the scale publishes (integer names included), or undefined when the
11
+ * scale has no such token. Replaces `getTokenValue(name as …)` casts.
12
+ */
13
+ export function tokenNumber(group: NumericTokenGroup, name: TokenName): number | undefined {
14
+ const key = typeof name === "number" ? `$${name}` : name;
15
+ const scale = getTokens()[group] as Record<string, { val?: unknown } | undefined>;
16
+ const value = (scale[key] ?? scale[key.slice(1)])?.val;
17
+ return typeof value === "number" ? value : undefined;
18
+ }
@@ -20,7 +20,7 @@ export { applyColorTheme, Preset } from "./theme/Preset";
20
20
  export type { PresetProps } from "./theme/Preset";
21
21
  export { clampSurfaceSize, compareSizeTokens, sizeTokenBelow, sizeTokenStep, sizeTokenStop, Surface, SurfaceContext, surfaceSizeRank, useBarSurface, useElevatedSurface, useFieldSurface, } from "./theme/Surface";
22
22
  export type { SurfaceIntent, SurfaceSize } from "./theme/Surface";
23
- export { controlTierDisabled, controlTierPaint, controlTierWash, isDarkThemeName, } from "./theme/controlTiers";
23
+ export { controlTierDisabled, controlTierPaint, controlTierWash, controlTrackFill, isDarkThemeName, } from "./theme/controlTiers";
24
24
  export type { ControlTier, ControlTierPaint } from "./theme/controlTiers";
25
25
  export { AlertDialogContent, AlertDialogOverlay, DialogContent, DialogOverlay, DialogRegionContext, DialogSheetFaceProvider, DialogShowFocus, overlayScrim, PopoverContent, sheetGrabber, sheetGrabberClearance, sheetGrabberZone, useDialogRegionContext, useDialogSheetFace, useIsInDialogRegion, } from "./theme/overlaySurfaces";
26
26
  export type { DialogContentProps, DialogRegionContextValue } from "./theme/overlaySurfaces";
@@ -80,5 +80,6 @@ export type { ThemeSubset } from "./theme/subsetThemes";
80
80
  export type { SizeKey } from "./theme/scale/scaleInputs";
81
81
  export { listHeightForRows } from "./theme/listRows";
82
82
  export { useTouchSurface } from "./theme/useTouchSurface";
83
+ export { tokenNumber } from "./theme/tokenNumber";
83
84
  export type { GenericFonts, MediaQueryKey, ThemeName } from "@tamagui/web";
84
85
  //# sourceMappingURL=index.gnome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.gnome.d.ts","sourceRoot":"","sources":["../src/index.gnome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.gnome.d.ts","sourceRoot":"","sources":["../src/index.gnome.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ export declare const menuRowFrame: {
40
40
  * The fill is a selection tint one step off the panel toward the ink, the way
41
41
  * HIG lifts a selection off its material (FZ-8557, Round 40). Light rests on
42
42
  * `$color3` over the white `$color1` panel, a tint and not the `$color4` slab.
43
- * A dark overlay is `$color4` (`surface2`), so dark rests on `$color5`, a step
44
- * lighter: a recessed `$color2` read as a hole in the panel. In a colour theme
43
+ * A dark overlay is `$color5` (the house `surface2`, FZ-8400), so dark rests on
44
+ * `$color6`, a step lighter: a recessed `$color2` read as a hole in the panel. In a colour theme
45
45
  * both steps carry its hue. Hover and press keep the fill, so a checked row
46
46
  * never drops to the transient hover fill. Spread it last on the row so it
47
47
  * wins over the consumer's hover and keyboard-cursor fills; a consumer that
@@ -49,12 +49,12 @@ export declare const menuRowFrame: {
49
49
  * the consumer's.
50
50
  */
51
51
  export declare function menuRowChecked(scheme: ColorScheme): {
52
- readonly backgroundColor: "$color3" | "$color5";
52
+ readonly backgroundColor: "$color3" | "$color6";
53
53
  readonly hoverStyle: {
54
- readonly backgroundColor: "$color3" | "$color5";
54
+ readonly backgroundColor: "$color3" | "$color6";
55
55
  };
56
56
  readonly pressStyle: {
57
- readonly backgroundColor: "$color3" | "$color5";
57
+ readonly backgroundColor: "$color3" | "$color6";
58
58
  };
59
59
  };
60
60
  /** The check mark on a `menuRowChecked` row: the theme's accent (FZ-8557). */
@@ -24,6 +24,7 @@ export declare function resolveAccentOnSurface({ identity, accentSteps, surfaces
24
24
  export declare const accentStepKeys: string[];
25
25
  /** The identity candidates' keys for `themeName`: a tint's own ramp, else the accent ramp. */
26
26
  export declare function identityKeys(themeName: string): string[];
27
+ export declare function pageSurfaces(name: string, values: Record<string, string>): (string | undefined)[];
27
28
  /**
28
29
  * FZ-9608. Every theme with the ink {@link useAccentOnSurface} picks inside it,
29
30
  * as `accentOnSurface`. On web the hook then hands back `$accentOnSurface`, so
@@ -1 +1 @@
1
- {"version":3,"file":"accentInk.d.ts","sourceRoot":"","sources":["../../src/theme/accentInk.ts"],"names":[],"mappings":"AAYA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5C;AAYD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAC3C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACxC,MAAM,GAAG,SAAS,CAiBpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,CAET;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,CAkBT;AAED,eAAO,MAAM,cAAc,UAAiE,CAAC;AAE7F,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAKxD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcxC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAaxC"}
1
+ {"version":3,"file":"accentInk.d.ts","sourceRoot":"","sources":["../../src/theme/accentInk.ts"],"names":[],"mappings":"AAYA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5C;AAYD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAC3C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACxC,MAAM,GAAG,SAAS,CAiBpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,CAET;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,CAkBT;AAED,eAAO,MAAM,cAAc,UAAiE,CAAC;AAE7F,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAKxD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAIjG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcxC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAaxC"}
@@ -45,8 +45,8 @@ export interface ResolveChartPaletteInput {
45
45
  /** Ordered alternatives when the identity cannot meet the mark contrast floor. */
46
46
  identityCandidates?: readonly (string | undefined)[];
47
47
  /**
48
- * The active colour theme's page and Card fills (`$color2` and `$color3`
49
- * under v5's templates, the same in every sub-theme of that colour). A
48
+ * The active colour theme's page and Card fills (`$background` and the
49
+ * LC-151 card step, the same in every sub-theme of that colour). A
50
50
  * tint's surfaces are deeper than the reference whites, so the identity
51
51
  * must clear them too, and one palette serves a chart on the page or in a
52
52
  * Card.
@@ -44,6 +44,15 @@ export declare const switchOffFillBand: {
44
44
  };
45
45
  /** A ground is light when its relative luminance is past the midpoint. */
46
46
  export declare function isLightGround(ground: string): boolean;
47
+ /**
48
+ * The ground an off Switch track is measured over (LC-172): the page in light,
49
+ * the `$color4` card or field in dark, where grouped layouts put a switch and
50
+ * where UISwitch composites its system fill over the cell (FZ-8400).
51
+ */
52
+ export declare function switchOffGround(scope: {
53
+ background?: string;
54
+ color4?: string;
55
+ }): string | undefined;
47
56
  /** HIG's system fill at `alpha` composited over `ground`, as an opaque hex colour. */
48
57
  export declare function systemFillHex(ground: string, alpha: number): string | null;
49
58
  /** HIG's system fill at `alpha` composited over `ground`, as relative luminance. */
@@ -1 +1 @@
1
- {"version":3,"file":"colorRules.d.ts","sourceRoot":"","sources":["../../src/theme/colorRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colorRules.d.ts","sourceRoot":"","sources":["../../src/theme/colorRules.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@
4
4
  *
5
5
  * - `tinted`, in content: a filled wash with no edge, the preset's radius and
6
6
  * the size token's height. Light washes at `$color3` (#ededed on the stock
7
- * ramp), dark one step further up at `$color4`, because dark `$color3` sits
8
- * a single lightness point off the page and the button would vanish. On an
9
- * elevated ground (`useElevatedSurface()`: an overlay frame or an unnested
10
- * Panel) dark climbs one more step to `$color5`, because the dark elevated
11
- * tint is `$color4` itself (HIG: a control's fill sits above the elevated
7
+ * ramp), dark at `$color5`, one step above the `$color4` card and field it
8
+ * usually sits in (LC-151, FZ-8400). On an elevated ground
9
+ * (`useElevatedSurface()`: an overlay frame or an unnested Panel) dark
10
+ * climbs one more step to `$color6`, because the dark elevated tint is
11
+ * `$color5` itself (HIG: a control's fill sits above the elevated
12
12
  * background it is on). Light's elevated ground is the page step, so its
13
13
  * wash stays put.
14
14
  * - `plain`, inside a bar (`useBarSurface()`): ink only at rest, the tinted
@@ -29,6 +29,12 @@ export interface ControlTierPaint {
29
29
  }
30
30
  /** The tinted wash for a scheme and ground: rest, hover and press fills. */
31
31
  export declare function controlTierWash(dark: boolean, elevated?: boolean): ControlTierPaint;
32
+ /**
33
+ * A Slider or Progress track: `$color5`, a step above a dark `$color4` card;
34
+ * on a dark elevated ground `$color6`, a step above the `$color5` overlay
35
+ * (FZ-7944, FZ-8400). Light keeps `$color5`.
36
+ */
37
+ export declare function controlTrackFill(dark: boolean, elevated?: boolean): string;
32
38
  /** Rest, hover and press fills for a tier in a scheme, on the page or an elevated ground. */
33
39
  export declare function controlTierPaint(tier: ControlTier, dark: boolean, elevated?: boolean): ControlTierPaint;
34
40
  /** LC-153 disabled look for either tier (fill drained, AA ink). */
@@ -1 +1 @@
1
- {"version":3,"file":"controlTiers.d.ts","sourceRoot":"","sources":["../../src/theme/controlTiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,UAAQ,GAAG,gBAAgB,CAGjF;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,UAAQ,GACf,gBAAgB,CAGlB;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAMA;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAExE"}
1
+ {"version":3,"file":"controlTiers.d.ts","sourceRoot":"","sources":["../../src/theme/controlTiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,UAAQ,GAAG,gBAAgB,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAExE;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,UAAQ,GACf,gBAAgB,CAGlB;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAMA;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAExE"}
@@ -43,18 +43,18 @@ export declare const houseTemplates: {
43
43
  color06: number;
44
44
  color08: number;
45
45
  };
46
- light_base: {
46
+ dark_base: {
47
+ background: number;
48
+ backgroundActive: number;
49
+ backgroundFocus: number;
50
+ backgroundHover: number;
51
+ backgroundPress: number;
47
52
  placeholderColor: number;
48
53
  colorTransparent: number;
49
54
  color: number;
50
55
  colorHover: number;
51
56
  colorPress: number;
52
57
  colorFocus: number;
53
- background: number;
54
- backgroundHover: number;
55
- backgroundPress: number;
56
- backgroundFocus: number;
57
- backgroundActive: number;
58
58
  borderColor: number;
59
59
  borderColorHover: number;
60
60
  borderColorFocus: number;
@@ -84,7 +84,9 @@ export declare const houseTemplates: {
84
84
  color06: number;
85
85
  color08: number;
86
86
  };
87
- light_surface2: {
87
+ dark_surface1: {
88
+ selectFill: number;
89
+ selectPress: number;
88
90
  placeholderColor: number;
89
91
  colorTransparent: number;
90
92
  color: number;
@@ -125,7 +127,7 @@ export declare const houseTemplates: {
125
127
  color06: number;
126
128
  color08: number;
127
129
  };
128
- light_surface3: {
130
+ dark_surface2: {
129
131
  placeholderColor: number;
130
132
  colorTransparent: number;
131
133
  color: number;
@@ -166,7 +168,7 @@ export declare const houseTemplates: {
166
168
  color06: number;
167
169
  color08: number;
168
170
  };
169
- light_accent: {
171
+ light_base: {
170
172
  placeholderColor: number;
171
173
  colorTransparent: number;
172
174
  color: number;
@@ -207,7 +209,7 @@ export declare const houseTemplates: {
207
209
  color06: number;
208
210
  color08: number;
209
211
  };
210
- dark_base: {
212
+ light_surface2: {
211
213
  placeholderColor: number;
212
214
  colorTransparent: number;
213
215
  color: number;
@@ -248,7 +250,7 @@ export declare const houseTemplates: {
248
250
  color06: number;
249
251
  color08: number;
250
252
  };
251
- dark_surface1: {
253
+ light_surface3: {
252
254
  placeholderColor: number;
253
255
  colorTransparent: number;
254
256
  color: number;
@@ -289,7 +291,7 @@ export declare const houseTemplates: {
289
291
  color06: number;
290
292
  color08: number;
291
293
  };
292
- dark_surface2: {
294
+ light_accent: {
293
295
  placeholderColor: number;
294
296
  colorTransparent: number;
295
297
  color: number;
@@ -498,6 +500,13 @@ export interface CreateThemesBuilderOptions {
498
500
  grandChildrenThemes?: Parameters<typeof tamaguiCreateThemes>[0]["grandChildrenThemes"];
499
501
  getTheme?: (props: GetThemeProps) => Record<string, string | number | null | undefined>;
500
502
  }
503
+ /**
504
+ * Theme keys that only the post-passes in {@link createThemesBuilder} write
505
+ * (the hold* passes, withAccentOnSurface, withIdentityInk). The `$token` lint
506
+ * in public/config/lint.mjs reads this list, since it cannot run the passes,
507
+ * and themeKeyRegistry.spec fails when a pass adds a key missing here.
508
+ */
509
+ export declare const postPassThemeKeys: readonly ["accentOnSurface", "borderColorControl", "borderColorField", "borderColorFieldHover", "borderColorHairline", "identityInk", "selectedBackground", "selectedColor", "switchTrackOff", "switchTrackOffBorder", "switchTrackOffHover", "switchTrackOffPress"];
501
510
  export declare function createThemesBuilder(baseTheme: BaseThemeBuilderDefinition, accentTheme: ThemeBuilderDefinition, options?: CreateThemesBuilderOptions): {
502
511
  themes(): Record<string, Record<string, string>>;
503
512
  addTheme<K extends string>(name: K, theme: ThemeBuilderDefinition): Record<`dark_${K}` | `light_${K}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"createThemes.d.ts","sourceRoot":"","sources":["../../src/theme/createThemes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createThemes.d.ts","sourceRoot":"","sources":["../../src/theme/createThemes.ts"],"names":[],"mappings":"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"}