@multiplatform.one/theme 7.83.1 → 7.84.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 (853) hide show
  1. package/dist/cjs/audit/constraintAudit.cjs +567 -0
  2. package/dist/cjs/audit/constraintAudit.native.js +948 -0
  3. package/dist/cjs/audit/constraintAudit.native.js.map +1 -0
  4. package/dist/cjs/audit/designTokens.cjs +53 -0
  5. package/dist/cjs/audit/designTokens.native.js +80 -0
  6. package/dist/cjs/audit/designTokens.native.js.map +1 -0
  7. package/dist/cjs/audit/diffReport.cjs +255 -0
  8. package/dist/cjs/audit/diffReport.native.js +519 -0
  9. package/dist/cjs/audit/diffReport.native.js.map +1 -0
  10. package/dist/cjs/audit/index.cjs +41 -0
  11. package/dist/cjs/audit/index.native.js +44 -0
  12. package/dist/cjs/audit/index.native.js.map +1 -0
  13. package/dist/cjs/audit/themeMatrix.cjs +924 -0
  14. package/dist/cjs/audit/themeMatrix.native.js +1552 -0
  15. package/dist/cjs/audit/themeMatrix.native.js.map +1 -0
  16. package/dist/cjs/dates.cjs +261 -0
  17. package/dist/cjs/dates.native.js +289 -0
  18. package/dist/cjs/dates.native.js.map +1 -0
  19. package/dist/cjs/devWarn.cjs +163 -0
  20. package/dist/cjs/devWarn.native.js +191 -0
  21. package/dist/cjs/devWarn.native.js.map +1 -0
  22. package/dist/cjs/expo.cjs +89 -0
  23. package/dist/cjs/expo.native.js +97 -0
  24. package/dist/cjs/expo.native.js.map +1 -0
  25. package/dist/cjs/figma/figmaTokens.cjs +350 -0
  26. package/dist/cjs/figma/figmaTokens.native.js +637 -0
  27. package/dist/cjs/figma/figmaTokens.native.js.map +1 -0
  28. package/dist/cjs/font.cjs +65 -0
  29. package/dist/cjs/font.native.js +74 -0
  30. package/dist/cjs/font.native.js.map +1 -0
  31. package/dist/cjs/fonts/createFontLoader.cjs +32 -0
  32. package/dist/cjs/fonts/createFontLoader.native.js +70 -0
  33. package/dist/cjs/fonts/createFontLoader.native.js.map +1 -0
  34. package/dist/cjs/fonts/index.cjs +22 -0
  35. package/dist/cjs/fonts/index.native.js +25 -0
  36. package/dist/cjs/fonts/index.native.js.map +1 -0
  37. package/dist/cjs/fonts/interFaces.cjs +38 -0
  38. package/dist/cjs/fonts/interFaces.native.js +41 -0
  39. package/dist/cjs/fonts/interFaces.native.js.map +1 -0
  40. package/dist/cjs/fonts/types.cjs +18 -0
  41. package/dist/cjs/fonts/types.native.js +21 -0
  42. package/dist/cjs/fonts/types.native.js.map +1 -0
  43. package/dist/cjs/index.cjs +39 -0
  44. package/dist/cjs/index.native.js +42 -0
  45. package/dist/cjs/index.native.js.map +1 -0
  46. package/dist/cjs/keyboardFocusRing.cjs +111 -0
  47. package/dist/cjs/keyboardFocusRing.native.js +116 -0
  48. package/dist/cjs/keyboardFocusRing.native.js.map +1 -0
  49. package/dist/cjs/menuRow.cjs +80 -0
  50. package/dist/cjs/menuRow.native.js +86 -0
  51. package/dist/cjs/menuRow.native.js.map +1 -0
  52. package/dist/cjs/numbers.cjs +161 -0
  53. package/dist/cjs/numbers.native.js +173 -0
  54. package/dist/cjs/numbers.native.js.map +1 -0
  55. package/dist/cjs/theme/FontKnobStyles.cjs +161 -0
  56. package/dist/cjs/theme/FontKnobStyles.native.js +41 -0
  57. package/dist/cjs/theme/FontKnobStyles.native.js.map +1 -0
  58. package/dist/cjs/theme/Heading.cjs +174 -0
  59. package/dist/cjs/theme/Heading.native.js +186 -0
  60. package/dist/cjs/theme/Heading.native.js.map +1 -0
  61. package/dist/cjs/theme/IconSlot.cjs +67 -0
  62. package/dist/cjs/theme/IconSlot.native.js +78 -0
  63. package/dist/cjs/theme/IconSlot.native.js.map +1 -0
  64. package/dist/cjs/theme/Intent.cjs +44 -0
  65. package/dist/cjs/theme/Intent.native.js +48 -0
  66. package/dist/cjs/theme/Intent.native.js.map +1 -0
  67. package/dist/cjs/theme/Preset.cjs +150 -0
  68. package/dist/cjs/theme/Preset.native.js +156 -0
  69. package/dist/cjs/theme/Preset.native.js.map +1 -0
  70. package/dist/cjs/theme/PresetContext.cjs +38 -0
  71. package/dist/cjs/theme/PresetContext.native.js +42 -0
  72. package/dist/cjs/theme/PresetContext.native.js.map +1 -0
  73. package/dist/cjs/theme/Surface.cjs +115 -0
  74. package/dist/cjs/theme/Surface.native.js +126 -0
  75. package/dist/cjs/theme/Surface.native.js.map +1 -0
  76. package/dist/cjs/theme/Text.cjs +147 -0
  77. package/dist/cjs/theme/Text.native.js +155 -0
  78. package/dist/cjs/theme/Text.native.js.map +1 -0
  79. package/dist/cjs/theme/Tint.cjs +55 -0
  80. package/dist/cjs/theme/Tint.native.js +59 -0
  81. package/dist/cjs/theme/Tint.native.js.map +1 -0
  82. package/dist/cjs/theme/activateThemeConfig.cjs +42 -0
  83. package/dist/cjs/theme/activateThemeConfig.native.js +45 -0
  84. package/dist/cjs/theme/activateThemeConfig.native.js.map +1 -0
  85. package/dist/cjs/theme/animations/css.cjs +36 -0
  86. package/dist/cjs/theme/animations/css.native.js +39 -0
  87. package/dist/cjs/theme/animations/css.native.js.map +1 -0
  88. package/dist/cjs/theme/animations/index.cjs +20 -0
  89. package/dist/cjs/theme/animations/index.native.js +23 -0
  90. package/dist/cjs/theme/animations/index.native.js.map +1 -0
  91. package/dist/cjs/theme/animations/reactNative.cjs +158 -0
  92. package/dist/cjs/theme/animations/reactNative.native.js +161 -0
  93. package/dist/cjs/theme/animations/reactNative.native.js.map +1 -0
  94. package/dist/cjs/theme/chartPalette.cjs +229 -0
  95. package/dist/cjs/theme/chartPalette.native.js +297 -0
  96. package/dist/cjs/theme/chartPalette.native.js.map +1 -0
  97. package/dist/cjs/theme/colorRules.cjs +323 -0
  98. package/dist/cjs/theme/colorRules.native.js +359 -0
  99. package/dist/cjs/theme/colorRules.native.js.map +1 -0
  100. package/dist/cjs/theme/controlTiers.cjs +67 -0
  101. package/dist/cjs/theme/controlTiers.native.js +72 -0
  102. package/dist/cjs/theme/controlTiers.native.js.map +1 -0
  103. package/dist/cjs/theme/cookies.cjs +183 -0
  104. package/dist/cjs/theme/cookies.native.js +309 -0
  105. package/dist/cjs/theme/cookies.native.js.map +1 -0
  106. package/dist/cjs/theme/cornerSmoothing.cjs +111 -0
  107. package/dist/cjs/theme/cornerSmoothing.native.js +71 -0
  108. package/dist/cjs/theme/cornerSmoothing.native.js.map +1 -0
  109. package/dist/cjs/theme/createDefaultThemeConfig.cjs +130 -0
  110. package/dist/cjs/theme/createDefaultThemeConfig.native.js +176 -0
  111. package/dist/cjs/theme/createDefaultThemeConfig.native.js.map +1 -0
  112. package/dist/cjs/theme/createThemes.cjs +737 -0
  113. package/dist/cjs/theme/createThemes.native.js +1183 -0
  114. package/dist/cjs/theme/createThemes.native.js.map +1 -0
  115. package/dist/cjs/theme/dedupeInherited.cjs +83 -0
  116. package/dist/cjs/theme/dedupeInherited.native.js +194 -0
  117. package/dist/cjs/theme/dedupeInherited.native.js.map +1 -0
  118. package/dist/cjs/theme/defaults/accent.cjs +32 -0
  119. package/dist/cjs/theme/defaults/accent.native.js +35 -0
  120. package/dist/cjs/theme/defaults/accent.native.js.map +1 -0
  121. package/dist/cjs/theme/defaults/base.cjs +48 -0
  122. package/dist/cjs/theme/defaults/base.native.js +51 -0
  123. package/dist/cjs/theme/defaults/base.native.js.map +1 -0
  124. package/dist/cjs/theme/defaults/builderOptions.cjs +192 -0
  125. package/dist/cjs/theme/defaults/builderOptions.native.js +263 -0
  126. package/dist/cjs/theme/defaults/builderOptions.native.js.map +1 -0
  127. package/dist/cjs/theme/defaults/categoryFonts.cjs +50 -0
  128. package/dist/cjs/theme/defaults/categoryFonts.native.js +53 -0
  129. package/dist/cjs/theme/defaults/categoryFonts.native.js.map +1 -0
  130. package/dist/cjs/theme/defaults/fonts.cjs +288 -0
  131. package/dist/cjs/theme/defaults/fonts.native.js +380 -0
  132. package/dist/cjs/theme/defaults/fonts.native.js.map +1 -0
  133. package/dist/cjs/theme/defaults/house.cjs +39 -0
  134. package/dist/cjs/theme/defaults/house.native.js +46 -0
  135. package/dist/cjs/theme/defaults/house.native.js.map +1 -0
  136. package/dist/cjs/theme/defaults/index.cjs +25 -0
  137. package/dist/cjs/theme/defaults/index.native.js +28 -0
  138. package/dist/cjs/theme/defaults/index.native.js.map +1 -0
  139. package/dist/cjs/theme/devtools/ColorLineVisualizer.cjs +243 -0
  140. package/dist/cjs/theme/devtools/ColorLineVisualizer.native.js +269 -0
  141. package/dist/cjs/theme/devtools/ColorLineVisualizer.native.js.map +1 -0
  142. package/dist/cjs/theme/devtools/ThemeDevtoolsPanel.cjs +1350 -0
  143. package/dist/cjs/theme/devtools/ThemeDevtoolsPanel.native.js +1814 -0
  144. package/dist/cjs/theme/devtools/ThemeDevtoolsPanel.native.js.map +1 -0
  145. package/dist/cjs/theme/devtools/animationOptions.cjs +36 -0
  146. package/dist/cjs/theme/devtools/animationOptions.native.js +46 -0
  147. package/dist/cjs/theme/devtools/animationOptions.native.js.map +1 -0
  148. package/dist/cjs/theme/devtools/buildSnapshot.cjs +92 -0
  149. package/dist/cjs/theme/devtools/buildSnapshot.native.js +174 -0
  150. package/dist/cjs/theme/devtools/buildSnapshot.native.js.map +1 -0
  151. package/dist/cjs/theme/devtools/knobIcons.cjs +498 -0
  152. package/dist/cjs/theme/devtools/knobIcons.native.js +520 -0
  153. package/dist/cjs/theme/devtools/knobIcons.native.js.map +1 -0
  154. package/dist/cjs/theme/devtools/vizConstants.cjs +54 -0
  155. package/dist/cjs/theme/devtools/vizConstants.native.js +57 -0
  156. package/dist/cjs/theme/devtools/vizConstants.native.js.map +1 -0
  157. package/dist/cjs/theme/dynamicType.cjs +52 -0
  158. package/dist/cjs/theme/dynamicType.native.js +55 -0
  159. package/dist/cjs/theme/dynamicType.native.js.map +1 -0
  160. package/dist/cjs/theme/fieldFocus.cjs +56 -0
  161. package/dist/cjs/theme/fieldFocus.native.js +62 -0
  162. package/dist/cjs/theme/fieldFocus.native.js.map +1 -0
  163. package/dist/cjs/theme/fillContrast.cjs +130 -0
  164. package/dist/cjs/theme/fillContrast.native.js +163 -0
  165. package/dist/cjs/theme/fillContrast.native.js.map +1 -0
  166. package/dist/cjs/theme/focusState.cjs +120 -0
  167. package/dist/cjs/theme/focusState.native.js +123 -0
  168. package/dist/cjs/theme/focusState.native.js.map +1 -0
  169. package/dist/cjs/theme/fontCategoryMetrics.cjs +91 -0
  170. package/dist/cjs/theme/fontCategoryMetrics.native.js +94 -0
  171. package/dist/cjs/theme/fontCategoryMetrics.native.js.map +1 -0
  172. package/dist/cjs/theme/fontCategoryStacks.cjs +40 -0
  173. package/dist/cjs/theme/fontCategoryStacks.native.js +43 -0
  174. package/dist/cjs/theme/fontCategoryStacks.native.js.map +1 -0
  175. package/dist/cjs/theme/glyphPaint.cjs +55 -0
  176. package/dist/cjs/theme/glyphPaint.native.js +81 -0
  177. package/dist/cjs/theme/glyphPaint.native.js.map +1 -0
  178. package/dist/cjs/theme/glyphTint.cjs +90 -0
  179. package/dist/cjs/theme/glyphTint.native.js +96 -0
  180. package/dist/cjs/theme/glyphTint.native.js.map +1 -0
  181. package/dist/cjs/theme/groupGeometry.cjs +67 -0
  182. package/dist/cjs/theme/groupGeometry.native.js +72 -0
  183. package/dist/cjs/theme/groupGeometry.native.js.map +1 -0
  184. package/dist/cjs/theme/hairline.cjs +119 -0
  185. package/dist/cjs/theme/hairline.native.js +73 -0
  186. package/dist/cjs/theme/hairline.native.js.map +1 -0
  187. package/dist/cjs/theme/index.cjs +95 -0
  188. package/dist/cjs/theme/index.native.js +98 -0
  189. package/dist/cjs/theme/index.native.js.map +1 -0
  190. package/dist/cjs/theme/intents.cjs +62 -0
  191. package/dist/cjs/theme/intents.native.js +65 -0
  192. package/dist/cjs/theme/intents.native.js.map +1 -0
  193. package/dist/cjs/theme/knobs.cjs +172 -0
  194. package/dist/cjs/theme/knobs.native.js +175 -0
  195. package/dist/cjs/theme/knobs.native.js.map +1 -0
  196. package/dist/cjs/theme/layoutTokens.cjs +172 -0
  197. package/dist/cjs/theme/layoutTokens.native.js +222 -0
  198. package/dist/cjs/theme/layoutTokens.native.js.map +1 -0
  199. package/dist/cjs/theme/listRows.cjs +44 -0
  200. package/dist/cjs/theme/listRows.native.js +49 -0
  201. package/dist/cjs/theme/listRows.native.js.map +1 -0
  202. package/dist/cjs/theme/mergedTokens.cjs +39 -0
  203. package/dist/cjs/theme/mergedTokens.native.js +61 -0
  204. package/dist/cjs/theme/mergedTokens.native.js.map +1 -0
  205. package/dist/cjs/theme/motion.cjs +72 -0
  206. package/dist/cjs/theme/motion.native.js +82 -0
  207. package/dist/cjs/theme/motion.native.js.map +1 -0
  208. package/dist/cjs/theme/motionStops.cjs +28 -0
  209. package/dist/cjs/theme/motionStops.native.js +31 -0
  210. package/dist/cjs/theme/motionStops.native.js.map +1 -0
  211. package/dist/cjs/theme/motionTiming.cjs +79 -0
  212. package/dist/cjs/theme/motionTiming.native.js +85 -0
  213. package/dist/cjs/theme/motionTiming.native.js.map +1 -0
  214. package/dist/cjs/theme/nativeFontFamily.cjs +30 -0
  215. package/dist/cjs/theme/nativeFontFamily.native.js +37 -0
  216. package/dist/cjs/theme/nativeFontFamily.native.js.map +1 -0
  217. package/dist/cjs/theme/nativeMonoFamily.cjs +44 -0
  218. package/dist/cjs/theme/nativeMonoFamily.native.js +47 -0
  219. package/dist/cjs/theme/nativeMonoFamily.native.js.map +1 -0
  220. package/dist/cjs/theme/overlaySurfaces.cjs +327 -0
  221. package/dist/cjs/theme/overlaySurfaces.native.js +351 -0
  222. package/dist/cjs/theme/overlaySurfaces.native.js.map +1 -0
  223. package/dist/cjs/theme/pageGutter.cjs +85 -0
  224. package/dist/cjs/theme/pageGutter.native.js +92 -0
  225. package/dist/cjs/theme/pageGutter.native.js.map +1 -0
  226. package/dist/cjs/theme/preset.types.cjs +18 -0
  227. package/dist/cjs/theme/preset.types.native.js +21 -0
  228. package/dist/cjs/theme/preset.types.native.js.map +1 -0
  229. package/dist/cjs/theme/presetPreview.cjs +42 -0
  230. package/dist/cjs/theme/presetPreview.native.js +46 -0
  231. package/dist/cjs/theme/presetPreview.native.js.map +1 -0
  232. package/dist/cjs/theme/presetStore.cjs +288 -0
  233. package/dist/cjs/theme/presetStore.native.js +344 -0
  234. package/dist/cjs/theme/presetStore.native.js.map +1 -0
  235. package/dist/cjs/theme/presetUserSync.cjs +70 -0
  236. package/dist/cjs/theme/presetUserSync.native.js +75 -0
  237. package/dist/cjs/theme/presetUserSync.native.js.map +1 -0
  238. package/dist/cjs/theme/presets.cjs +128 -0
  239. package/dist/cjs/theme/presets.native.js +131 -0
  240. package/dist/cjs/theme/presets.native.js.map +1 -0
  241. package/dist/cjs/theme/radiusClass.cjs +128 -0
  242. package/dist/cjs/theme/radiusClass.native.js +137 -0
  243. package/dist/cjs/theme/radiusClass.native.js.map +1 -0
  244. package/dist/cjs/theme/radiusClassTable.generated.cjs +164 -0
  245. package/dist/cjs/theme/radiusClassTable.generated.native.js +167 -0
  246. package/dist/cjs/theme/radiusClassTable.generated.native.js.map +1 -0
  247. package/dist/cjs/theme/ramps.cjs +75 -0
  248. package/dist/cjs/theme/ramps.native.js +79 -0
  249. package/dist/cjs/theme/ramps.native.js.map +1 -0
  250. package/dist/cjs/theme/readableColor.cjs +284 -0
  251. package/dist/cjs/theme/readableColor.native.js +393 -0
  252. package/dist/cjs/theme/readableColor.native.js.map +1 -0
  253. package/dist/cjs/theme/recipeInputs.cjs +352 -0
  254. package/dist/cjs/theme/recipeInputs.native.js +470 -0
  255. package/dist/cjs/theme/recipeInputs.native.js.map +1 -0
  256. package/dist/cjs/theme/recipes.cjs +18 -0
  257. package/dist/cjs/theme/recipes.native.js +21 -0
  258. package/dist/cjs/theme/recipes.native.js.map +1 -0
  259. package/dist/cjs/theme/resolveKnobs.cjs +866 -0
  260. package/dist/cjs/theme/resolveKnobs.native.js +884 -0
  261. package/dist/cjs/theme/resolveKnobs.native.js.map +1 -0
  262. package/dist/cjs/theme/scale/ScaleStyles.cjs +57 -0
  263. package/dist/cjs/theme/scale/ScaleStyles.native.js +41 -0
  264. package/dist/cjs/theme/scale/ScaleStyles.native.js.map +1 -0
  265. package/dist/cjs/theme/scale/activeScale.cjs +56 -0
  266. package/dist/cjs/theme/scale/activeScale.native.js +84 -0
  267. package/dist/cjs/theme/scale/activeScale.native.js.map +1 -0
  268. package/dist/cjs/theme/scale/deriveRecipeInputs.cjs +111 -0
  269. package/dist/cjs/theme/scale/deriveRecipeInputs.native.js +154 -0
  270. package/dist/cjs/theme/scale/deriveRecipeInputs.native.js.map +1 -0
  271. package/dist/cjs/theme/scale/generateScale.cjs +114 -0
  272. package/dist/cjs/theme/scale/generateScale.native.js +200 -0
  273. package/dist/cjs/theme/scale/generateScale.native.js.map +1 -0
  274. package/dist/cjs/theme/scale/index.cjs +78 -0
  275. package/dist/cjs/theme/scale/index.native.js +81 -0
  276. package/dist/cjs/theme/scale/index.native.js.map +1 -0
  277. package/dist/cjs/theme/scale/installScaleConfig.cjs +31 -0
  278. package/dist/cjs/theme/scale/installScaleConfig.native.js +65 -0
  279. package/dist/cjs/theme/scale/installScaleConfig.native.js.map +1 -0
  280. package/dist/cjs/theme/scale/scaleAttribute.cjs +39 -0
  281. package/dist/cjs/theme/scale/scaleAttribute.native.js +42 -0
  282. package/dist/cjs/theme/scale/scaleAttribute.native.js.map +1 -0
  283. package/dist/cjs/theme/scale/scaleCss.cjs +89 -0
  284. package/dist/cjs/theme/scale/scaleCss.native.js +201 -0
  285. package/dist/cjs/theme/scale/scaleCss.native.js.map +1 -0
  286. package/dist/cjs/theme/scale/scaleFonts.cjs +86 -0
  287. package/dist/cjs/theme/scale/scaleFonts.native.js +155 -0
  288. package/dist/cjs/theme/scale/scaleFonts.native.js.map +1 -0
  289. package/dist/cjs/theme/scale/scaleInputs.cjs +232 -0
  290. package/dist/cjs/theme/scale/scaleInputs.native.js +237 -0
  291. package/dist/cjs/theme/scale/scaleInputs.native.js.map +1 -0
  292. package/dist/cjs/theme/scale/themeScales.cjs +136 -0
  293. package/dist/cjs/theme/scale/themeScales.native.js +185 -0
  294. package/dist/cjs/theme/scale/themeScales.native.js.map +1 -0
  295. package/dist/cjs/theme/scale/useActiveScale.cjs +78 -0
  296. package/dist/cjs/theme/scale/useActiveScale.native.js +87 -0
  297. package/dist/cjs/theme/scale/useActiveScale.native.js.map +1 -0
  298. package/dist/cjs/theme/schemeStore.cjs +87 -0
  299. package/dist/cjs/theme/schemeStore.native.js +104 -0
  300. package/dist/cjs/theme/schemeStore.native.js.map +1 -0
  301. package/dist/cjs/theme/shared.cjs +125 -0
  302. package/dist/cjs/theme/shared.native.js +168 -0
  303. package/dist/cjs/theme/shared.native.js.map +1 -0
  304. package/dist/cjs/theme/sizeRecipes.cjs +176 -0
  305. package/dist/cjs/theme/sizeRecipes.native.js +251 -0
  306. package/dist/cjs/theme/sizeRecipes.native.js.map +1 -0
  307. package/dist/cjs/theme/subsetThemes.cjs +46 -0
  308. package/dist/cjs/theme/subsetThemes.native.js +76 -0
  309. package/dist/cjs/theme/subsetThemes.native.js.map +1 -0
  310. package/dist/cjs/theme/theme.cjs +189 -0
  311. package/dist/cjs/theme/theme.native.js +115 -0
  312. package/dist/cjs/theme/theme.native.js.map +1 -0
  313. package/dist/cjs/theme/themeValue.cjs +51 -0
  314. package/dist/cjs/theme/themeValue.native.js +73 -0
  315. package/dist/cjs/theme/themeValue.native.js.map +1 -0
  316. package/dist/cjs/theme/tileSizes.cjs +202 -0
  317. package/dist/cjs/theme/tileSizes.native.js +230 -0
  318. package/dist/cjs/theme/tileSizes.native.js.map +1 -0
  319. package/dist/cjs/theme/touchManipulation.cjs +33 -0
  320. package/dist/cjs/theme/touchManipulation.native.js +36 -0
  321. package/dist/cjs/theme/touchManipulation.native.js.map +1 -0
  322. package/dist/cjs/theme/transitionProps.cjs +50 -0
  323. package/dist/cjs/theme/transitionProps.native.js +81 -0
  324. package/dist/cjs/theme/transitionProps.native.js.map +1 -0
  325. package/dist/cjs/theme/useColorScale.cjs +47 -0
  326. package/dist/cjs/theme/useColorScale.native.js +33 -0
  327. package/dist/cjs/theme/useColorScale.native.js.map +1 -0
  328. package/dist/cjs/theme/usePresetSwitch.cjs +70 -0
  329. package/dist/cjs/theme/usePresetSwitch.native.js +50 -0
  330. package/dist/cjs/theme/usePresetSwitch.native.js.map +1 -0
  331. package/dist/cjs/theme/useResolvedKnobs.cjs +140 -0
  332. package/dist/cjs/theme/useResolvedKnobs.native.js +177 -0
  333. package/dist/cjs/theme/useResolvedKnobs.native.js.map +1 -0
  334. package/dist/cjs/theme/useSchemePreference.cjs +49 -0
  335. package/dist/cjs/theme/useSchemePreference.native.js +80 -0
  336. package/dist/cjs/theme/useSchemePreference.native.js.map +1 -0
  337. package/dist/cjs/theme/useTheme.cjs +152 -0
  338. package/dist/cjs/theme/useTheme.native.js +94 -0
  339. package/dist/cjs/theme/useTheme.native.js.map +1 -0
  340. package/dist/cjs/theme/useTouchSurface.cjs +33 -0
  341. package/dist/cjs/theme/useTouchSurface.native.js +36 -0
  342. package/dist/cjs/theme/useTouchSurface.native.js.map +1 -0
  343. package/dist/cjs/theme/v3TokenRoles.cjs +64 -0
  344. package/dist/cjs/theme/v3TokenRoles.native.js +67 -0
  345. package/dist/cjs/theme/v3TokenRoles.native.js.map +1 -0
  346. package/dist/esm/audit/constraintAudit.mjs +540 -0
  347. package/dist/esm/audit/constraintAudit.mjs.map +1 -0
  348. package/dist/esm/audit/constraintAudit.native.js +918 -0
  349. package/dist/esm/audit/constraintAudit.native.js.map +1 -0
  350. package/dist/esm/audit/designTokens.mjs +28 -0
  351. package/dist/esm/audit/designTokens.mjs.map +1 -0
  352. package/dist/esm/audit/designTokens.native.js +52 -0
  353. package/dist/esm/audit/designTokens.native.js.map +1 -0
  354. package/dist/esm/audit/diffReport.mjs +229 -0
  355. package/dist/esm/audit/diffReport.mjs.map +1 -0
  356. package/dist/esm/audit/diffReport.native.js +490 -0
  357. package/dist/esm/audit/diffReport.native.js.map +1 -0
  358. package/dist/esm/audit/index.mjs +5 -0
  359. package/dist/esm/audit/index.mjs.map +1 -0
  360. package/dist/esm/audit/index.native.js +5 -0
  361. package/dist/esm/audit/index.native.js.map +1 -0
  362. package/dist/esm/audit/themeMatrix.mjs +890 -0
  363. package/dist/esm/audit/themeMatrix.mjs.map +1 -0
  364. package/dist/esm/audit/themeMatrix.native.js +1515 -0
  365. package/dist/esm/audit/themeMatrix.native.js.map +1 -0
  366. package/dist/esm/dates.mjs +224 -0
  367. package/dist/esm/dates.mjs.map +1 -0
  368. package/dist/esm/dates.native.js +249 -0
  369. package/dist/esm/dates.native.js.map +1 -0
  370. package/dist/esm/devWarn.mjs +123 -0
  371. package/dist/esm/devWarn.mjs.map +1 -0
  372. package/dist/esm/devWarn.native.js +148 -0
  373. package/dist/esm/devWarn.native.js.map +1 -0
  374. package/dist/esm/expo.mjs +59 -0
  375. package/dist/esm/expo.mjs.map +1 -0
  376. package/dist/esm/expo.native.js +64 -0
  377. package/dist/esm/expo.native.js.map +1 -0
  378. package/dist/esm/figma/figmaTokens.mjs +322 -0
  379. package/dist/esm/figma/figmaTokens.mjs.map +1 -0
  380. package/dist/esm/figma/figmaTokens.native.js +606 -0
  381. package/dist/esm/figma/figmaTokens.native.js.map +1 -0
  382. package/dist/esm/font.mjs +40 -0
  383. package/dist/esm/font.mjs.map +1 -0
  384. package/dist/esm/font.native.js +46 -0
  385. package/dist/esm/font.native.js.map +1 -0
  386. package/dist/esm/fonts/createFontLoader.mjs +7 -0
  387. package/dist/esm/fonts/createFontLoader.mjs.map +1 -0
  388. package/dist/esm/fonts/createFontLoader.native.js +42 -0
  389. package/dist/esm/fonts/createFontLoader.native.js.map +1 -0
  390. package/dist/esm/fonts/index.mjs +4 -0
  391. package/dist/esm/fonts/index.mjs.map +1 -0
  392. package/dist/esm/fonts/index.native.js +4 -0
  393. package/dist/esm/fonts/index.native.js.map +1 -0
  394. package/dist/esm/fonts/interFaces.mjs +12 -0
  395. package/dist/esm/fonts/interFaces.mjs.map +1 -0
  396. package/dist/esm/fonts/interFaces.native.js +12 -0
  397. package/dist/esm/fonts/interFaces.native.js.map +1 -0
  398. package/dist/esm/fonts/types.mjs +2 -0
  399. package/dist/esm/fonts/types.mjs.map +1 -0
  400. package/dist/esm/fonts/types.native.js +2 -0
  401. package/dist/esm/fonts/types.native.js.map +1 -0
  402. package/dist/esm/index.mjs +11 -0
  403. package/dist/esm/index.mjs.map +1 -0
  404. package/dist/esm/index.native.js +11 -0
  405. package/dist/esm/index.native.js.map +1 -0
  406. package/dist/esm/keyboardFocusRing.mjs +81 -0
  407. package/dist/esm/keyboardFocusRing.mjs.map +1 -0
  408. package/dist/esm/keyboardFocusRing.native.js +83 -0
  409. package/dist/esm/keyboardFocusRing.native.js.map +1 -0
  410. package/dist/esm/menuRow.mjs +49 -0
  411. package/dist/esm/menuRow.mjs.map +1 -0
  412. package/dist/esm/menuRow.native.js +52 -0
  413. package/dist/esm/menuRow.native.js.map +1 -0
  414. package/dist/esm/numbers.mjs +132 -0
  415. package/dist/esm/numbers.mjs.map +1 -0
  416. package/dist/esm/numbers.native.js +141 -0
  417. package/dist/esm/numbers.native.js.map +1 -0
  418. package/dist/esm/theme/FontKnobStyles.mjs +131 -0
  419. package/dist/esm/theme/FontKnobStyles.mjs.map +1 -0
  420. package/dist/esm/theme/FontKnobStyles.native.js +11 -0
  421. package/dist/esm/theme/FontKnobStyles.native.js.map +1 -0
  422. package/dist/esm/theme/Heading.mjs +143 -0
  423. package/dist/esm/theme/Heading.mjs.map +1 -0
  424. package/dist/esm/theme/Heading.native.js +152 -0
  425. package/dist/esm/theme/Heading.native.js.map +1 -0
  426. package/dist/esm/theme/IconSlot.mjs +42 -0
  427. package/dist/esm/theme/IconSlot.mjs.map +1 -0
  428. package/dist/esm/theme/IconSlot.native.js +50 -0
  429. package/dist/esm/theme/IconSlot.native.js.map +1 -0
  430. package/dist/esm/theme/Intent.mjs +19 -0
  431. package/dist/esm/theme/Intent.mjs.map +1 -0
  432. package/dist/esm/theme/Intent.native.js +20 -0
  433. package/dist/esm/theme/Intent.native.js.map +1 -0
  434. package/dist/esm/theme/Preset.mjs +124 -0
  435. package/dist/esm/theme/Preset.mjs.map +1 -0
  436. package/dist/esm/theme/Preset.native.js +127 -0
  437. package/dist/esm/theme/Preset.native.js.map +1 -0
  438. package/dist/esm/theme/PresetContext.mjs +11 -0
  439. package/dist/esm/theme/PresetContext.mjs.map +1 -0
  440. package/dist/esm/theme/PresetContext.native.js +12 -0
  441. package/dist/esm/theme/PresetContext.native.js.map +1 -0
  442. package/dist/esm/theme/Surface.mjs +80 -0
  443. package/dist/esm/theme/Surface.mjs.map +1 -0
  444. package/dist/esm/theme/Surface.native.js +88 -0
  445. package/dist/esm/theme/Surface.native.js.map +1 -0
  446. package/dist/esm/theme/Text.mjs +119 -0
  447. package/dist/esm/theme/Text.mjs.map +1 -0
  448. package/dist/esm/theme/Text.native.js +124 -0
  449. package/dist/esm/theme/Text.native.js.map +1 -0
  450. package/dist/esm/theme/Tint.mjs +29 -0
  451. package/dist/esm/theme/Tint.mjs.map +1 -0
  452. package/dist/esm/theme/Tint.native.js +30 -0
  453. package/dist/esm/theme/Tint.native.js.map +1 -0
  454. package/dist/esm/theme/activateThemeConfig.mjs +17 -0
  455. package/dist/esm/theme/activateThemeConfig.mjs.map +1 -0
  456. package/dist/esm/theme/activateThemeConfig.native.js +17 -0
  457. package/dist/esm/theme/activateThemeConfig.native.js.map +1 -0
  458. package/dist/esm/theme/animations/css.mjs +7 -0
  459. package/dist/esm/theme/animations/css.mjs.map +1 -0
  460. package/dist/esm/theme/animations/css.native.js +7 -0
  461. package/dist/esm/theme/animations/css.native.js.map +1 -0
  462. package/dist/esm/theme/animations/index.mjs +2 -0
  463. package/dist/esm/theme/animations/index.mjs.map +1 -0
  464. package/dist/esm/theme/animations/index.native.js +2 -0
  465. package/dist/esm/theme/animations/index.native.js.map +1 -0
  466. package/dist/esm/theme/animations/reactNative.mjs +131 -0
  467. package/dist/esm/theme/animations/reactNative.mjs.map +1 -0
  468. package/dist/esm/theme/animations/reactNative.native.js +131 -0
  469. package/dist/esm/theme/animations/reactNative.native.js.map +1 -0
  470. package/dist/esm/theme/chartPalette.mjs +191 -0
  471. package/dist/esm/theme/chartPalette.mjs.map +1 -0
  472. package/dist/esm/theme/chartPalette.native.js +256 -0
  473. package/dist/esm/theme/chartPalette.native.js.map +1 -0
  474. package/dist/esm/theme/colorRules.mjs +273 -0
  475. package/dist/esm/theme/colorRules.mjs.map +1 -0
  476. package/dist/esm/theme/colorRules.native.js +306 -0
  477. package/dist/esm/theme/colorRules.native.js.map +1 -0
  478. package/dist/esm/theme/controlTiers.mjs +39 -0
  479. package/dist/esm/theme/controlTiers.mjs.map +1 -0
  480. package/dist/esm/theme/controlTiers.native.js +41 -0
  481. package/dist/esm/theme/controlTiers.native.js.map +1 -0
  482. package/dist/esm/theme/cookies.mjs +145 -0
  483. package/dist/esm/theme/cookies.mjs.map +1 -0
  484. package/dist/esm/theme/cookies.native.js +268 -0
  485. package/dist/esm/theme/cookies.native.js.map +1 -0
  486. package/dist/esm/theme/cornerSmoothing.mjs +71 -0
  487. package/dist/esm/theme/cornerSmoothing.mjs.map +1 -0
  488. package/dist/esm/theme/cornerSmoothing.native.js +28 -0
  489. package/dist/esm/theme/cornerSmoothing.native.js.map +1 -0
  490. package/dist/esm/theme/createDefaultThemeConfig.mjs +102 -0
  491. package/dist/esm/theme/createDefaultThemeConfig.mjs.map +1 -0
  492. package/dist/esm/theme/createDefaultThemeConfig.native.js +145 -0
  493. package/dist/esm/theme/createDefaultThemeConfig.native.js.map +1 -0
  494. package/dist/esm/theme/createThemes.mjs +697 -0
  495. package/dist/esm/theme/createThemes.mjs.map +1 -0
  496. package/dist/esm/theme/createThemes.native.js +1140 -0
  497. package/dist/esm/theme/createThemes.native.js.map +1 -0
  498. package/dist/esm/theme/dedupeInherited.mjs +55 -0
  499. package/dist/esm/theme/dedupeInherited.mjs.map +1 -0
  500. package/dist/esm/theme/dedupeInherited.native.js +163 -0
  501. package/dist/esm/theme/dedupeInherited.native.js.map +1 -0
  502. package/dist/esm/theme/defaults/accent.mjs +7 -0
  503. package/dist/esm/theme/defaults/accent.mjs.map +1 -0
  504. package/dist/esm/theme/defaults/accent.native.js +7 -0
  505. package/dist/esm/theme/defaults/accent.native.js.map +1 -0
  506. package/dist/esm/theme/defaults/base.mjs +23 -0
  507. package/dist/esm/theme/defaults/base.mjs.map +1 -0
  508. package/dist/esm/theme/defaults/base.native.js +23 -0
  509. package/dist/esm/theme/defaults/base.native.js.map +1 -0
  510. package/dist/esm/theme/defaults/builderOptions.mjs +165 -0
  511. package/dist/esm/theme/defaults/builderOptions.mjs.map +1 -0
  512. package/dist/esm/theme/defaults/builderOptions.native.js +233 -0
  513. package/dist/esm/theme/defaults/builderOptions.native.js.map +1 -0
  514. package/dist/esm/theme/defaults/categoryFonts.mjs +25 -0
  515. package/dist/esm/theme/defaults/categoryFonts.mjs.map +1 -0
  516. package/dist/esm/theme/defaults/categoryFonts.native.js +25 -0
  517. package/dist/esm/theme/defaults/categoryFonts.native.js.map +1 -0
  518. package/dist/esm/theme/defaults/fonts.mjs +227 -0
  519. package/dist/esm/theme/defaults/fonts.mjs.map +1 -0
  520. package/dist/esm/theme/defaults/fonts.native.js +316 -0
  521. package/dist/esm/theme/defaults/fonts.native.js.map +1 -0
  522. package/dist/esm/theme/defaults/house.mjs +13 -0
  523. package/dist/esm/theme/defaults/house.mjs.map +1 -0
  524. package/dist/esm/theme/defaults/house.native.js +17 -0
  525. package/dist/esm/theme/defaults/house.native.js.map +1 -0
  526. package/dist/esm/theme/defaults/index.mjs +7 -0
  527. package/dist/esm/theme/defaults/index.mjs.map +1 -0
  528. package/dist/esm/theme/defaults/index.native.js +7 -0
  529. package/dist/esm/theme/defaults/index.native.js.map +1 -0
  530. package/dist/esm/theme/devtools/ColorLineVisualizer.mjs +218 -0
  531. package/dist/esm/theme/devtools/ColorLineVisualizer.mjs.map +1 -0
  532. package/dist/esm/theme/devtools/ColorLineVisualizer.native.js +230 -0
  533. package/dist/esm/theme/devtools/ColorLineVisualizer.native.js.map +1 -0
  534. package/dist/esm/theme/devtools/ThemeDevtoolsPanel.mjs +1325 -0
  535. package/dist/esm/theme/devtools/ThemeDevtoolsPanel.mjs.map +1 -0
  536. package/dist/esm/theme/devtools/ThemeDevtoolsPanel.native.js +1786 -0
  537. package/dist/esm/theme/devtools/ThemeDevtoolsPanel.native.js.map +1 -0
  538. package/dist/esm/theme/devtools/animationOptions.mjs +11 -0
  539. package/dist/esm/theme/devtools/animationOptions.mjs.map +1 -0
  540. package/dist/esm/theme/devtools/animationOptions.native.js +18 -0
  541. package/dist/esm/theme/devtools/animationOptions.native.js.map +1 -0
  542. package/dist/esm/theme/devtools/buildSnapshot.mjs +67 -0
  543. package/dist/esm/theme/devtools/buildSnapshot.mjs.map +1 -0
  544. package/dist/esm/theme/devtools/buildSnapshot.native.js +146 -0
  545. package/dist/esm/theme/devtools/buildSnapshot.native.js.map +1 -0
  546. package/dist/esm/theme/devtools/knobIcons.mjs +456 -0
  547. package/dist/esm/theme/devtools/knobIcons.mjs.map +1 -0
  548. package/dist/esm/theme/devtools/knobIcons.native.js +464 -0
  549. package/dist/esm/theme/devtools/knobIcons.native.js.map +1 -0
  550. package/dist/esm/theme/devtools/vizConstants.mjs +26 -0
  551. package/dist/esm/theme/devtools/vizConstants.mjs.map +1 -0
  552. package/dist/esm/theme/devtools/vizConstants.native.js +26 -0
  553. package/dist/esm/theme/devtools/vizConstants.native.js.map +1 -0
  554. package/dist/esm/theme/dynamicType.mjs +24 -0
  555. package/dist/esm/theme/dynamicType.mjs.map +1 -0
  556. package/dist/esm/theme/dynamicType.native.js +24 -0
  557. package/dist/esm/theme/dynamicType.native.js.map +1 -0
  558. package/dist/esm/theme/fieldFocus.mjs +27 -0
  559. package/dist/esm/theme/fieldFocus.mjs.map +1 -0
  560. package/dist/esm/theme/fieldFocus.native.js +30 -0
  561. package/dist/esm/theme/fieldFocus.native.js.map +1 -0
  562. package/dist/esm/theme/fillContrast.mjs +98 -0
  563. package/dist/esm/theme/fillContrast.mjs.map +1 -0
  564. package/dist/esm/theme/fillContrast.native.js +128 -0
  565. package/dist/esm/theme/fillContrast.native.js.map +1 -0
  566. package/dist/esm/theme/focusState.mjs +81 -0
  567. package/dist/esm/theme/focusState.mjs.map +1 -0
  568. package/dist/esm/theme/focusState.native.js +81 -0
  569. package/dist/esm/theme/focusState.native.js.map +1 -0
  570. package/dist/esm/theme/fontCategoryMetrics.mjs +65 -0
  571. package/dist/esm/theme/fontCategoryMetrics.mjs.map +1 -0
  572. package/dist/esm/theme/fontCategoryMetrics.native.js +65 -0
  573. package/dist/esm/theme/fontCategoryMetrics.native.js.map +1 -0
  574. package/dist/esm/theme/fontCategoryStacks.mjs +15 -0
  575. package/dist/esm/theme/fontCategoryStacks.mjs.map +1 -0
  576. package/dist/esm/theme/fontCategoryStacks.native.js +15 -0
  577. package/dist/esm/theme/fontCategoryStacks.native.js.map +1 -0
  578. package/dist/esm/theme/glyphPaint.mjs +29 -0
  579. package/dist/esm/theme/glyphPaint.mjs.map +1 -0
  580. package/dist/esm/theme/glyphPaint.native.js +52 -0
  581. package/dist/esm/theme/glyphPaint.native.js.map +1 -0
  582. package/dist/esm/theme/glyphTint.mjs +60 -0
  583. package/dist/esm/theme/glyphTint.mjs.map +1 -0
  584. package/dist/esm/theme/glyphTint.native.js +63 -0
  585. package/dist/esm/theme/glyphTint.native.js.map +1 -0
  586. package/dist/esm/theme/groupGeometry.mjs +38 -0
  587. package/dist/esm/theme/groupGeometry.mjs.map +1 -0
  588. package/dist/esm/theme/groupGeometry.native.js +40 -0
  589. package/dist/esm/theme/groupGeometry.native.js.map +1 -0
  590. package/dist/esm/theme/hairline.mjs +89 -0
  591. package/dist/esm/theme/hairline.mjs.map +1 -0
  592. package/dist/esm/theme/hairline.native.js +41 -0
  593. package/dist/esm/theme/hairline.native.js.map +1 -0
  594. package/dist/esm/theme/index.mjs +66 -0
  595. package/dist/esm/theme/index.mjs.map +1 -0
  596. package/dist/esm/theme/index.native.js +66 -0
  597. package/dist/esm/theme/index.native.js.map +1 -0
  598. package/dist/esm/theme/intents.mjs +37 -0
  599. package/dist/esm/theme/intents.mjs.map +1 -0
  600. package/dist/esm/theme/intents.native.js +37 -0
  601. package/dist/esm/theme/intents.native.js.map +1 -0
  602. package/dist/esm/theme/knobs.mjs +125 -0
  603. package/dist/esm/theme/knobs.mjs.map +1 -0
  604. package/dist/esm/theme/knobs.native.js +125 -0
  605. package/dist/esm/theme/knobs.native.js.map +1 -0
  606. package/dist/esm/theme/layoutTokens.mjs +124 -0
  607. package/dist/esm/theme/layoutTokens.mjs.map +1 -0
  608. package/dist/esm/theme/layoutTokens.native.js +171 -0
  609. package/dist/esm/theme/layoutTokens.native.js.map +1 -0
  610. package/dist/esm/theme/listRows.mjs +17 -0
  611. package/dist/esm/theme/listRows.mjs.map +1 -0
  612. package/dist/esm/theme/listRows.native.js +19 -0
  613. package/dist/esm/theme/listRows.native.js.map +1 -0
  614. package/dist/esm/theme/mergedTokens.mjs +14 -0
  615. package/dist/esm/theme/mergedTokens.mjs.map +1 -0
  616. package/dist/esm/theme/mergedTokens.native.js +33 -0
  617. package/dist/esm/theme/mergedTokens.native.js.map +1 -0
  618. package/dist/esm/theme/motion.mjs +41 -0
  619. package/dist/esm/theme/motion.mjs.map +1 -0
  620. package/dist/esm/theme/motion.native.js +48 -0
  621. package/dist/esm/theme/motion.native.js.map +1 -0
  622. package/dist/esm/theme/motionStops.mjs +3 -0
  623. package/dist/esm/theme/motionStops.mjs.map +1 -0
  624. package/dist/esm/theme/motionStops.native.js +3 -0
  625. package/dist/esm/theme/motionStops.native.js.map +1 -0
  626. package/dist/esm/theme/motionTiming.mjs +48 -0
  627. package/dist/esm/theme/motionTiming.mjs.map +1 -0
  628. package/dist/esm/theme/motionTiming.native.js +51 -0
  629. package/dist/esm/theme/motionTiming.native.js.map +1 -0
  630. package/dist/esm/theme/nativeFontFamily.mjs +5 -0
  631. package/dist/esm/theme/nativeFontFamily.mjs.map +1 -0
  632. package/dist/esm/theme/nativeFontFamily.native.js +9 -0
  633. package/dist/esm/theme/nativeFontFamily.native.js.map +1 -0
  634. package/dist/esm/theme/nativeMonoFamily.mjs +18 -0
  635. package/dist/esm/theme/nativeMonoFamily.mjs.map +1 -0
  636. package/dist/esm/theme/nativeMonoFamily.native.js +18 -0
  637. package/dist/esm/theme/nativeMonoFamily.native.js.map +1 -0
  638. package/dist/esm/theme/overlaySurfaces.mjs +290 -0
  639. package/dist/esm/theme/overlaySurfaces.mjs.map +1 -0
  640. package/dist/esm/theme/overlaySurfaces.native.js +311 -0
  641. package/dist/esm/theme/overlaySurfaces.native.js.map +1 -0
  642. package/dist/esm/theme/pageGutter.mjs +55 -0
  643. package/dist/esm/theme/pageGutter.mjs.map +1 -0
  644. package/dist/esm/theme/pageGutter.native.js +59 -0
  645. package/dist/esm/theme/pageGutter.native.js.map +1 -0
  646. package/dist/esm/theme/preset.types.mjs +2 -0
  647. package/dist/esm/theme/preset.types.mjs.map +1 -0
  648. package/dist/esm/theme/preset.types.native.js +2 -0
  649. package/dist/esm/theme/preset.types.native.js.map +1 -0
  650. package/dist/esm/theme/presetPreview.mjs +17 -0
  651. package/dist/esm/theme/presetPreview.mjs.map +1 -0
  652. package/dist/esm/theme/presetPreview.native.js +18 -0
  653. package/dist/esm/theme/presetPreview.native.js.map +1 -0
  654. package/dist/esm/theme/presetStore.mjs +251 -0
  655. package/dist/esm/theme/presetStore.mjs.map +1 -0
  656. package/dist/esm/theme/presetStore.native.js +304 -0
  657. package/dist/esm/theme/presetStore.native.js.map +1 -0
  658. package/dist/esm/theme/presetUserSync.mjs +44 -0
  659. package/dist/esm/theme/presetUserSync.mjs.map +1 -0
  660. package/dist/esm/theme/presetUserSync.native.js +46 -0
  661. package/dist/esm/theme/presetUserSync.native.js.map +1 -0
  662. package/dist/esm/theme/presets.mjs +97 -0
  663. package/dist/esm/theme/presets.mjs.map +1 -0
  664. package/dist/esm/theme/presets.native.js +97 -0
  665. package/dist/esm/theme/presets.native.js.map +1 -0
  666. package/dist/esm/theme/radiusClass.mjs +99 -0
  667. package/dist/esm/theme/radiusClass.mjs.map +1 -0
  668. package/dist/esm/theme/radiusClass.native.js +105 -0
  669. package/dist/esm/theme/radiusClass.native.js.map +1 -0
  670. package/dist/esm/theme/radiusClassTable.generated.mjs +135 -0
  671. package/dist/esm/theme/radiusClassTable.generated.mjs.map +1 -0
  672. package/dist/esm/theme/radiusClassTable.generated.native.js +135 -0
  673. package/dist/esm/theme/radiusClassTable.generated.native.js.map +1 -0
  674. package/dist/esm/theme/ramps.mjs +48 -0
  675. package/dist/esm/theme/ramps.mjs.map +1 -0
  676. package/dist/esm/theme/ramps.native.js +49 -0
  677. package/dist/esm/theme/ramps.native.js.map +1 -0
  678. package/dist/esm/theme/readableColor.mjs +248 -0
  679. package/dist/esm/theme/readableColor.mjs.map +1 -0
  680. package/dist/esm/theme/readableColor.native.js +354 -0
  681. package/dist/esm/theme/readableColor.native.js.map +1 -0
  682. package/dist/esm/theme/recipeInputs.mjs +309 -0
  683. package/dist/esm/theme/recipeInputs.mjs.map +1 -0
  684. package/dist/esm/theme/recipeInputs.native.js +424 -0
  685. package/dist/esm/theme/recipeInputs.native.js.map +1 -0
  686. package/dist/esm/theme/recipes.mjs +2 -0
  687. package/dist/esm/theme/recipes.mjs.map +1 -0
  688. package/dist/esm/theme/recipes.native.js +2 -0
  689. package/dist/esm/theme/recipes.native.js.map +1 -0
  690. package/dist/esm/theme/resolveKnobs.mjs +818 -0
  691. package/dist/esm/theme/resolveKnobs.mjs.map +1 -0
  692. package/dist/esm/theme/resolveKnobs.native.js +833 -0
  693. package/dist/esm/theme/resolveKnobs.native.js.map +1 -0
  694. package/dist/esm/theme/scale/ScaleStyles.mjs +30 -0
  695. package/dist/esm/theme/scale/ScaleStyles.mjs.map +1 -0
  696. package/dist/esm/theme/scale/ScaleStyles.native.js +11 -0
  697. package/dist/esm/theme/scale/ScaleStyles.native.js.map +1 -0
  698. package/dist/esm/theme/scale/activeScale.mjs +28 -0
  699. package/dist/esm/theme/scale/activeScale.mjs.map +1 -0
  700. package/dist/esm/theme/scale/activeScale.native.js +53 -0
  701. package/dist/esm/theme/scale/activeScale.native.js.map +1 -0
  702. package/dist/esm/theme/scale/deriveRecipeInputs.mjs +86 -0
  703. package/dist/esm/theme/scale/deriveRecipeInputs.mjs.map +1 -0
  704. package/dist/esm/theme/scale/deriveRecipeInputs.native.js +126 -0
  705. package/dist/esm/theme/scale/deriveRecipeInputs.native.js.map +1 -0
  706. package/dist/esm/theme/scale/generateScale.mjs +85 -0
  707. package/dist/esm/theme/scale/generateScale.mjs.map +1 -0
  708. package/dist/esm/theme/scale/generateScale.native.js +168 -0
  709. package/dist/esm/theme/scale/generateScale.native.js.map +1 -0
  710. package/dist/esm/theme/scale/index.mjs +12 -0
  711. package/dist/esm/theme/scale/index.mjs.map +1 -0
  712. package/dist/esm/theme/scale/index.native.js +12 -0
  713. package/dist/esm/theme/scale/index.native.js.map +1 -0
  714. package/dist/esm/theme/scale/installScaleConfig.mjs +6 -0
  715. package/dist/esm/theme/scale/installScaleConfig.mjs.map +1 -0
  716. package/dist/esm/theme/scale/installScaleConfig.native.js +36 -0
  717. package/dist/esm/theme/scale/installScaleConfig.native.js.map +1 -0
  718. package/dist/esm/theme/scale/scaleAttribute.mjs +11 -0
  719. package/dist/esm/theme/scale/scaleAttribute.mjs.map +1 -0
  720. package/dist/esm/theme/scale/scaleAttribute.native.js +11 -0
  721. package/dist/esm/theme/scale/scaleAttribute.native.js.map +1 -0
  722. package/dist/esm/theme/scale/scaleCss.mjs +62 -0
  723. package/dist/esm/theme/scale/scaleCss.mjs.map +1 -0
  724. package/dist/esm/theme/scale/scaleCss.native.js +171 -0
  725. package/dist/esm/theme/scale/scaleCss.native.js.map +1 -0
  726. package/dist/esm/theme/scale/scaleFonts.mjs +60 -0
  727. package/dist/esm/theme/scale/scaleFonts.mjs.map +1 -0
  728. package/dist/esm/theme/scale/scaleFonts.native.js +126 -0
  729. package/dist/esm/theme/scale/scaleFonts.native.js.map +1 -0
  730. package/dist/esm/theme/scale/scaleInputs.mjs +189 -0
  731. package/dist/esm/theme/scale/scaleInputs.mjs.map +1 -0
  732. package/dist/esm/theme/scale/scaleInputs.native.js +191 -0
  733. package/dist/esm/theme/scale/scaleInputs.native.js.map +1 -0
  734. package/dist/esm/theme/scale/themeScales.mjs +109 -0
  735. package/dist/esm/theme/scale/themeScales.mjs.map +1 -0
  736. package/dist/esm/theme/scale/themeScales.native.js +155 -0
  737. package/dist/esm/theme/scale/themeScales.native.js.map +1 -0
  738. package/dist/esm/theme/scale/useActiveScale.mjs +51 -0
  739. package/dist/esm/theme/scale/useActiveScale.mjs.map +1 -0
  740. package/dist/esm/theme/scale/useActiveScale.native.js +57 -0
  741. package/dist/esm/theme/scale/useActiveScale.native.js.map +1 -0
  742. package/dist/esm/theme/schemeStore.mjs +59 -0
  743. package/dist/esm/theme/schemeStore.mjs.map +1 -0
  744. package/dist/esm/theme/schemeStore.native.js +73 -0
  745. package/dist/esm/theme/schemeStore.native.js.map +1 -0
  746. package/dist/esm/theme/shared.mjs +95 -0
  747. package/dist/esm/theme/shared.mjs.map +1 -0
  748. package/dist/esm/theme/shared.native.js +135 -0
  749. package/dist/esm/theme/shared.native.js.map +1 -0
  750. package/dist/esm/theme/sizeRecipes.mjs +112 -0
  751. package/dist/esm/theme/sizeRecipes.mjs.map +1 -0
  752. package/dist/esm/theme/sizeRecipes.native.js +184 -0
  753. package/dist/esm/theme/sizeRecipes.native.js.map +1 -0
  754. package/dist/esm/theme/subsetThemes.mjs +21 -0
  755. package/dist/esm/theme/subsetThemes.mjs.map +1 -0
  756. package/dist/esm/theme/subsetThemes.native.js +48 -0
  757. package/dist/esm/theme/subsetThemes.native.js.map +1 -0
  758. package/dist/esm/theme/theme.mjs +163 -0
  759. package/dist/esm/theme/theme.mjs.map +1 -0
  760. package/dist/esm/theme/theme.native.js +87 -0
  761. package/dist/esm/theme/theme.native.js.map +1 -0
  762. package/dist/esm/theme/themeValue.mjs +25 -0
  763. package/dist/esm/theme/themeValue.mjs.map +1 -0
  764. package/dist/esm/theme/themeValue.native.js +44 -0
  765. package/dist/esm/theme/themeValue.native.js.map +1 -0
  766. package/dist/esm/theme/tileSizes.mjs +167 -0
  767. package/dist/esm/theme/tileSizes.mjs.map +1 -0
  768. package/dist/esm/theme/tileSizes.native.js +192 -0
  769. package/dist/esm/theme/tileSizes.native.js.map +1 -0
  770. package/dist/esm/theme/touchManipulation.mjs +7 -0
  771. package/dist/esm/theme/touchManipulation.mjs.map +1 -0
  772. package/dist/esm/theme/touchManipulation.native.js +7 -0
  773. package/dist/esm/theme/touchManipulation.native.js.map +1 -0
  774. package/dist/esm/theme/transitionProps.mjs +25 -0
  775. package/dist/esm/theme/transitionProps.mjs.map +1 -0
  776. package/dist/esm/theme/transitionProps.native.js +53 -0
  777. package/dist/esm/theme/transitionProps.native.js.map +1 -0
  778. package/dist/esm/theme/useColorScale.mjs +22 -0
  779. package/dist/esm/theme/useColorScale.mjs.map +1 -0
  780. package/dist/esm/theme/useColorScale.native.js +5 -0
  781. package/dist/esm/theme/useColorScale.native.js.map +1 -0
  782. package/dist/esm/theme/usePresetSwitch.mjs +45 -0
  783. package/dist/esm/theme/usePresetSwitch.mjs.map +1 -0
  784. package/dist/esm/theme/usePresetSwitch.native.js +22 -0
  785. package/dist/esm/theme/usePresetSwitch.native.js.map +1 -0
  786. package/dist/esm/theme/useResolvedKnobs.mjs +111 -0
  787. package/dist/esm/theme/useResolvedKnobs.mjs.map +1 -0
  788. package/dist/esm/theme/useResolvedKnobs.native.js +145 -0
  789. package/dist/esm/theme/useResolvedKnobs.native.js.map +1 -0
  790. package/dist/esm/theme/useSchemePreference.mjs +24 -0
  791. package/dist/esm/theme/useSchemePreference.mjs.map +1 -0
  792. package/dist/esm/theme/useSchemePreference.native.js +52 -0
  793. package/dist/esm/theme/useSchemePreference.native.js.map +1 -0
  794. package/dist/esm/theme/useTheme.mjs +127 -0
  795. package/dist/esm/theme/useTheme.mjs.map +1 -0
  796. package/dist/esm/theme/useTheme.native.js +66 -0
  797. package/dist/esm/theme/useTheme.native.js.map +1 -0
  798. package/dist/esm/theme/useTouchSurface.mjs +8 -0
  799. package/dist/esm/theme/useTouchSurface.mjs.map +1 -0
  800. package/dist/esm/theme/useTouchSurface.native.js +8 -0
  801. package/dist/esm/theme/useTouchSurface.native.js.map +1 -0
  802. package/dist/esm/theme/v3TokenRoles.mjs +39 -0
  803. package/dist/esm/theme/v3TokenRoles.mjs.map +1 -0
  804. package/dist/esm/theme/v3TokenRoles.native.js +39 -0
  805. package/dist/esm/theme/v3TokenRoles.native.js.map +1 -0
  806. package/package.json +56 -12
  807. package/src/expo.ts +20 -0
  808. package/src/fonts/createFontLoader.ts +8 -4
  809. package/src/fonts/index.ts +1 -0
  810. package/src/fonts/interFaces.spec.ts +87 -0
  811. package/src/fonts/interFaces.ts +26 -0
  812. package/src/theme/accentButtonLabel.spec.ts +116 -0
  813. package/src/theme/colorRules.ts +41 -0
  814. package/src/theme/controlTiers.ts +6 -4
  815. package/src/theme/defaults/fonts.spec.ts +9 -2
  816. package/src/theme/defaults/fonts.ts +5 -8
  817. package/src/theme/glyphTint.spec.ts +30 -2
  818. package/src/theme/glyphTint.ts +1 -47
  819. package/src/theme/hairline.spec.ts +60 -3
  820. package/src/theme/hairline.ts +35 -5
  821. package/src/theme/readableColor.ts +49 -0
  822. package/src/theme/resolveKnobs.ts +172 -101
  823. package/src/theme/scale/activeScale.spec.ts +33 -0
  824. package/src/theme/scale/activeScale.ts +19 -0
  825. package/src/theme/scale/index.ts +6 -1
  826. package/src/theme/subsetThemes.spec.ts +81 -0
  827. package/src/theme/subsetThemes.ts +13 -1
  828. package/types/expo.d.ts +10 -0
  829. package/types/expo.d.ts.map +1 -1
  830. package/types/fonts/createFontLoader.d.ts.map +1 -1
  831. package/types/fonts/index.d.ts +1 -0
  832. package/types/fonts/index.d.ts.map +1 -1
  833. package/types/fonts/interFaces.d.ts +23 -0
  834. package/types/fonts/interFaces.d.ts.map +1 -0
  835. package/types/theme/colorRules.d.ts +6 -0
  836. package/types/theme/colorRules.d.ts.map +1 -1
  837. package/types/theme/controlTiers.d.ts +5 -3
  838. package/types/theme/controlTiers.d.ts.map +1 -1
  839. package/types/theme/defaults/fonts.d.ts +30 -30
  840. package/types/theme/defaults/fonts.d.ts.map +1 -1
  841. package/types/theme/glyphTint.d.ts +0 -6
  842. package/types/theme/glyphTint.d.ts.map +1 -1
  843. package/types/theme/hairline.d.ts +14 -3
  844. package/types/theme/hairline.d.ts.map +1 -1
  845. package/types/theme/readableColor.d.ts +19 -0
  846. package/types/theme/readableColor.d.ts.map +1 -1
  847. package/types/theme/resolveKnobs.d.ts.map +1 -1
  848. package/types/theme/scale/activeScale.d.ts +8 -0
  849. package/types/theme/scale/activeScale.d.ts.map +1 -1
  850. package/types/theme/scale/index.d.ts +1 -1
  851. package/types/theme/scale/index.d.ts.map +1 -1
  852. package/types/theme/subsetThemes.d.ts +10 -1
  853. package/types/theme/subsetThemes.d.ts.map +1 -1
@@ -0,0 +1,697 @@
1
+ import * as Colors from "@tamagui/colors";
2
+ import { PALETTE_BACKGROUND_OFFSET, createThemes as tamaguiCreateThemes } from "@tamagui/theme-builder";
3
+ import { defaultChildrenThemes, v5Templates } from "@tamagui/themes/v5";
4
+ import { aaTextContrastRatio, apcaContrast, contrastRatio, fillLabelLc, holdInkFloor, inSwitchOffBand, isLightGround, minContrastRatio, normalizeToHex, pickReadableForeground, plateContrastRatio, relativeLuminance, switchOffFillAlpha, systemFillHex, systemFillLuminance } from "./colorRules.mjs";
5
+ import { pickSecondaryInk } from "./defaults/builderOptions.mjs";
6
+ import { themeRampHues } from "./ramps.mjs";
7
+ const intentInkFloor = {
8
+ /** Stored hsla(41, 99%, 30%, 1); 4.54:1 on $color2, dE76 2.54. */
9
+ warning: "#986801",
10
+ /** Stored hsla(154, 63%, 31%, 1); 4.53:1 on $color2, dE76 0.82. */
11
+ success: "#1d8156"
12
+ };
13
+ function withIntentInkFloor(palette, ink) {
14
+ if (palette.length !== 12) return palette;
15
+ const stepped = [...palette];
16
+ stepped[10] = ink;
17
+ return stepped;
18
+ }
19
+ const lightSurfaceGrouped = {
20
+ ...v5Templates.light_surface1,
21
+ background: PALETTE_BACKGROUND_OFFSET,
22
+ backgroundHover: PALETTE_BACKGROUND_OFFSET + 1,
23
+ backgroundPress: PALETTE_BACKGROUND_OFFSET + 2,
24
+ backgroundFocus: PALETTE_BACKGROUND_OFFSET,
25
+ backgroundActive: PALETTE_BACKGROUND_OFFSET
26
+ };
27
+ const houseTemplates = {
28
+ ...v5Templates,
29
+ light_surface1: lightSurfaceGrouped
30
+ };
31
+ const houseComponentThemes = {
32
+ Button: {
33
+ template: "surface2"
34
+ },
35
+ Input: {
36
+ template: "surface1"
37
+ },
38
+ TextArea: {
39
+ template: "surface1"
40
+ },
41
+ Progress: {
42
+ template: "surface2"
43
+ },
44
+ ProgressIndicator: {
45
+ template: "surface3"
46
+ },
47
+ Slider: {
48
+ template: "surface2"
49
+ },
50
+ SliderActive: {
51
+ template: "surface3"
52
+ },
53
+ SliderThumb: {
54
+ template: "surface1"
55
+ },
56
+ Switch: {
57
+ template: "surface2"
58
+ },
59
+ Card: {
60
+ template: "surface1"
61
+ },
62
+ ListItem: {
63
+ template: "surface1"
64
+ },
65
+ SelectTrigger: {
66
+ template: "surface1"
67
+ },
68
+ SelectItem: {
69
+ template: "surface1"
70
+ },
71
+ InputContainerFrame: {
72
+ template: "surface1"
73
+ }
74
+ };
75
+ const houseGrandChildrenThemes = {
76
+ active: {
77
+ template: "surface3"
78
+ },
79
+ alt1: {
80
+ template: "surface1"
81
+ },
82
+ alt2: {
83
+ template: "surface2"
84
+ }
85
+ };
86
+ function sanitizeGetTheme(getTheme) {
87
+ return props => {
88
+ const out = {};
89
+ for (const [key, value] of Object.entries(getTheme(props))) {
90
+ if (value != null) out[key] = value;
91
+ }
92
+ return out;
93
+ };
94
+ }
95
+ const tintHueNames = /* @__PURE__ */new Set(["amber", "blue", "bronze", "brown", "crimson", "cyan", "gold", "grass", "gray", "green", "indigo", "lime", "mauve", "mint", "olive", "orange", "pink", "plum", "purple", "red", "sage", "sand", "sky", "slate", "teal", "tomato", "violet", "yellow"]);
96
+ const tintNeutralTextKeys = ["color", "colorHover", "colorPress", "colorFocus", "color11", "color12", "placeholderColor"];
97
+ function neutralizeTintText(themes) {
98
+ const out = {
99
+ ...themes
100
+ };
101
+ for (const [name, theme] of Object.entries(themes)) {
102
+ const parts = name.split("_");
103
+ if (parts.length < 2) continue;
104
+ const scheme = parts[0];
105
+ if (scheme !== "light" && scheme !== "dark") continue;
106
+ if (!tintHueNames.has(parts[1])) continue;
107
+ const base = themes[scheme];
108
+ if (!base) continue;
109
+ const patched = {
110
+ ...theme
111
+ };
112
+ for (const key of tintNeutralTextKeys) {
113
+ if (key in patched && base[key] != null) patched[key] = base[key];
114
+ }
115
+ if ("textMuted" in patched) patched.textMuted = pickSecondaryInk(patched, base);
116
+ out[name] = patched;
117
+ }
118
+ return out;
119
+ }
120
+ const semanticIntentNames = /* @__PURE__ */new Set(["error", "warning", "success"]);
121
+ const entryControlNames = /* @__PURE__ */new Set(["Input", "TextArea"]);
122
+ function neutralizeSemanticEntryText(themes) {
123
+ const out = {
124
+ ...themes
125
+ };
126
+ for (const [name, theme] of Object.entries(themes)) {
127
+ const [scheme, intent, component, ...rest] = name.split("_");
128
+ if (rest.length > 0 || scheme !== "light" && scheme !== "dark") continue;
129
+ if (!intent || !semanticIntentNames.has(intent)) continue;
130
+ const base = themes[scheme];
131
+ if (!base) continue;
132
+ if (component === void 0) {
133
+ if (base.placeholderColor != null) out[name] = {
134
+ ...theme,
135
+ placeholderColor: base.placeholderColor
136
+ };
137
+ continue;
138
+ }
139
+ if (!entryControlNames.has(component)) continue;
140
+ const neutral = {
141
+ ...base,
142
+ ...themes[`${scheme}_${component}`]
143
+ };
144
+ const patched = {
145
+ ...theme
146
+ };
147
+ for (const key of tintNeutralTextKeys) {
148
+ if (neutral[key] != null) patched[key] = neutral[key];
149
+ }
150
+ out[name] = patched;
151
+ }
152
+ return out;
153
+ }
154
+ function luminanceOf(color) {
155
+ const hex = color ? normalizeToHex(color) : null;
156
+ return hex ? relativeLuminance(hex) : null;
157
+ }
158
+ function nearestHoldingStep(preferred, steps, holds) {
159
+ const preferredLum = luminanceOf(preferred);
160
+ if (preferredLum === null || holds(preferredLum)) return preferred;
161
+ let best = preferred;
162
+ let bestDistance = Number.POSITIVE_INFINITY;
163
+ for (const step of steps) {
164
+ const lum = luminanceOf(step);
165
+ if (step === void 0 || lum === null || !holds(lum)) continue;
166
+ const distance = Math.abs(lum - preferredLum);
167
+ if (distance < bestDistance) {
168
+ bestDistance = distance;
169
+ best = step;
170
+ }
171
+ }
172
+ return best;
173
+ }
174
+ function holdAccentFloor(themes) {
175
+ const out = {
176
+ ...themes
177
+ };
178
+ for (const scheme of ["light", "dark"]) {
179
+ const base = themes[scheme];
180
+ if (!base?.accentBackground || !base.accentColor) continue;
181
+ const paper = luminanceOf(base.color1);
182
+ const ink = luminanceOf(base.color12);
183
+ const surfaces = [base.color1, base.color2, base.color3, base.color4].map(luminanceOf);
184
+ if (paper === null || ink === null || surfaces.some(lum => lum === null)) continue;
185
+ const steps = Array.from({
186
+ length: 12
187
+ }, (_, index) => base[`accent${index + 1}`]);
188
+ const fill = nearestHoldingStep(base.accentBackground, steps.slice(0, 10), lum => Math.max(contrastRatio(lum, paper), contrastRatio(lum, ink)) >= aaTextContrastRatio && contrastRatio(lum, paper) >= minContrastRatio);
189
+ const accentInk = nearestHoldingStep(base.accentColor, steps, lum => surfaces.every(surface => contrastRatio(lum, surface) >= aaTextContrastRatio));
190
+ if (fill === base.accentBackground && accentInk === base.accentColor) continue;
191
+ for (const [name, theme] of Object.entries(themes)) {
192
+ if (name !== scheme && !name.startsWith(`${scheme}_`)) continue;
193
+ const inheritsFill = theme.accentBackground === base.accentBackground;
194
+ const inheritsInk = theme.accentColor === base.accentColor;
195
+ if (!inheritsFill && !inheritsInk) continue;
196
+ out[name] = {
197
+ ...theme,
198
+ ...(inheritsFill ? {
199
+ accentBackground: fill
200
+ } : null),
201
+ ...(inheritsInk ? {
202
+ accentColor: accentInk
203
+ } : null)
204
+ };
205
+ }
206
+ }
207
+ return out;
208
+ }
209
+ const selectionSurfaceContrastRatio = 1.16;
210
+ const selectionSurfaceScope = /^(light|dark)(_[a-z]+)?$/;
211
+ function holdSelectionSurface(themes) {
212
+ const out = {
213
+ ...themes
214
+ };
215
+ for (const [scopeName, scope] of Object.entries(themes)) {
216
+ if (!selectionSurfaceScope.test(scopeName) || /_(accent|active)$/.test(scopeName)) continue;
217
+ const page = luminanceOf(scope.background);
218
+ const [surface, next, last] = [scope.color4, scope.color5, scope.color6].map(color => color ? normalizeToHex(color) : null);
219
+ if (page === null || !surface || !next || !last) continue;
220
+ if (contrastRatio(relativeLuminance(surface), page) >= selectionSurfaceContrastRatio) continue;
221
+ const candidates = [...Array.from({
222
+ length: 20
223
+ }, (_, index) => mixHex(surface, next, (index + 1) / 20)), ...Array.from({
224
+ length: 20
225
+ }, (_, index) => mixHex(next, last, (index + 1) / 20))];
226
+ const held = candidates.find(candidate => contrastRatio(relativeLuminance(candidate), page) >= selectionSurfaceContrastRatio);
227
+ if (!held) continue;
228
+ for (const [name, theme] of Object.entries(themes)) {
229
+ if (name !== scopeName && !name.startsWith(`${scopeName}_`)) continue;
230
+ if (theme.color4 !== scope.color4) continue;
231
+ out[name] = {
232
+ ...out[name],
233
+ color4: held,
234
+ ...(theme.borderColor === scope.color4 ? {
235
+ borderColor: held
236
+ } : null)
237
+ };
238
+ }
239
+ }
240
+ return out;
241
+ }
242
+ const selectedTintContrastRatio = 1.1;
243
+ const neutralSelectedTintContrastRatio = 1.25;
244
+ const achromaticChannelSpread = 8;
245
+ function isAchromaticRamp(steps) {
246
+ return steps.every(step => {
247
+ const hex = step ? normalizeToHex(step) : null;
248
+ if (!hex) return false;
249
+ const channels = [1, 3, 5].map(offset => Number.parseInt(hex.slice(offset, offset + 2), 16));
250
+ return Math.max(...channels) - Math.min(...channels) <= achromaticChannelSpread;
251
+ });
252
+ }
253
+ function holdSelectedState(themes) {
254
+ const out = {
255
+ ...themes
256
+ };
257
+ for (const scheme of ["light", "dark"]) {
258
+ const base = themes[scheme];
259
+ if (!base?.accentColor) continue;
260
+ const steps = Array.from({
261
+ length: 12
262
+ }, (_, index) => base[`accent${index + 1}`]);
263
+ const paint = selectedPaint(base, steps, base.accentColor);
264
+ if (paint) out[scheme] = {
265
+ ...base,
266
+ ...paint
267
+ };
268
+ }
269
+ return out;
270
+ }
271
+ function selectedPaint(scope, steps, accentColor) {
272
+ const page = luminanceOf(scope.color1);
273
+ const neutral = luminanceOf(scope.color4);
274
+ if (page === null || neutral === null) return void 0;
275
+ const grey = isAchromaticRamp(steps);
276
+ const offNeutral = grey ? neutralSelectedTintContrastRatio : selectedTintContrastRatio;
277
+ const tint = nearestHoldingStep(scope.color4, steps, lum => contrastRatio(lum, page) >= selectedTintContrastRatio && contrastRatio(lum, neutral) >= offNeutral);
278
+ const tintLum = luminanceOf(tint);
279
+ if (tint === scope.color4 || tintLum === null) return void 0;
280
+ if (grey) {
281
+ let strongest = tint;
282
+ let strongestRatio = 0;
283
+ for (const step of steps) {
284
+ const lum = luminanceOf(step);
285
+ if (step === void 0 || lum === null) continue;
286
+ const ratio = contrastRatio(lum, tintLum);
287
+ if (ratio > strongestRatio) {
288
+ strongest = step;
289
+ strongestRatio = ratio;
290
+ }
291
+ }
292
+ if (strongestRatio >= aaTextContrastRatio) return {
293
+ selectedBackground: tint,
294
+ selectedColor: strongest
295
+ };
296
+ }
297
+ const ink = nearestHoldingStep(accentColor, steps, lum => contrastRatio(lum, tintLum) >= aaTextContrastRatio);
298
+ return {
299
+ selectedBackground: tint,
300
+ selectedColor: ink
301
+ };
302
+ }
303
+ const switchStateContrastRatio = 1.5;
304
+ const switchRaisedAlphas = [0.16, 0.2, 0.24, 0.28, 0.32, 0.36, 0.4];
305
+ const switchRaisedAlphaStep = 0.04;
306
+ function raisedGrounds(themes, scheme) {
307
+ if (scheme === "light") return [];
308
+ const hues = Object.entries(themes).filter(([name]) => new RegExp(`^${scheme}_[a-z]+$`).test(name)).filter(([name]) => !/_(accent|active)$/.test(name));
309
+ return [themes[scheme]?.color4, ...hues.map(([, theme]) => theme.color4)].filter(color => typeof color === "string");
310
+ }
311
+ function holdSwitchTrack(themes) {
312
+ const out = {
313
+ ...themes
314
+ };
315
+ for (const scheme of ["light", "dark"]) {
316
+ const base = themes[scheme];
317
+ if (!base) continue;
318
+ const paint = switchTrackPaint(base, base.accentBackground, base.background, raisedGrounds(themes, scheme));
319
+ if (paint) out[scheme] = {
320
+ ...base,
321
+ ...paint
322
+ };
323
+ }
324
+ return out;
325
+ }
326
+ function switchTrackPaint(base, onFill, ground, raised = []) {
327
+ const on = luminanceOf(onFill);
328
+ if (!ground || on === null) return void 0;
329
+ const alpha = switchOffFillAlpha[isLightGround(ground) ? "light" : "dark"];
330
+ const target = systemFillLuminance(ground, alpha);
331
+ if (target === null) return void 0;
332
+ const raisedLums = raised.map(color => luminanceOf(color)).filter(lum => lum !== null);
333
+ const greys = Array.from({
334
+ length: 12
335
+ }, (_, index) => index + 1).map(step => ({
336
+ color: base[`gray${step}`],
337
+ lum: luminanceOf(base[`gray${step}`]),
338
+ hover: base[`gray${Math.max(step - 1, 1)}`],
339
+ press: base[`gray${Math.min(step + 1, 12)}`]
340
+ })).filter(entry => entry.lum !== null);
341
+ const fills = raised[0] ? switchRaisedAlphas.flatMap(fillAlpha => {
342
+ const color = systemFillHex(raised[0], fillAlpha);
343
+ const hover = systemFillHex(raised[0], fillAlpha - switchRaisedAlphaStep);
344
+ const press = systemFillHex(raised[0], fillAlpha + switchRaisedAlphaStep);
345
+ const lum = luminanceOf(color ?? void 0);
346
+ return color && hover && press && lum !== null ? [{
347
+ color,
348
+ lum,
349
+ hover,
350
+ press
351
+ }] : [];
352
+ }) : [];
353
+ const byTarget = (a, b) => Math.abs(a.lum - target) - Math.abs(b.lum - target);
354
+ const steps = [...greys].sort(byTarget);
355
+ const inBand = [...greys, ...fills].filter(entry => inSwitchOffBand(entry.color, ground)).filter(entry => raisedLums.every(lum => contrastRatio(entry.lum, lum) >= plateContrastRatio)).sort(byTarget);
356
+ const pick = inBand.find(entry => contrastRatio(entry.lum, on) >= switchStateContrastRatio) ?? inBand[0] ?? steps[0];
357
+ if (!pick) return void 0;
358
+ return {
359
+ switchTrackOff: pick.color,
360
+ switchTrackOffHover: pick.hover,
361
+ switchTrackOffPress: pick.press
362
+ };
363
+ }
364
+ const syntaxInkHues = ["purple", "green", "blue", "orange", "red"];
365
+ function mixHex(from, to, share) {
366
+ const channel = offset => Math.round(Number.parseInt(from.slice(offset, offset + 2), 16) * (1 - share) + Number.parseInt(to.slice(offset, offset + 2), 16) * share).toString(16).padStart(2, "0");
367
+ return `#${channel(1)}${channel(3)}${channel(5)}`;
368
+ }
369
+ function holdSyntaxFloor(themes) {
370
+ const out = {
371
+ ...themes
372
+ };
373
+ for (const [name, theme] of Object.entries(themes)) {
374
+ const surface = luminanceOf(theme.color3);
375
+ if (surface === null) continue;
376
+ const ink = {};
377
+ for (const hue of syntaxInkHues) {
378
+ const from = theme[`${hue}11`] ? normalizeToHex(theme[`${hue}11`]) : null;
379
+ const to = theme[`${hue}12`] ? normalizeToHex(theme[`${hue}12`]) : null;
380
+ const wash = luminanceOf(theme[`${hue}3`]);
381
+ if (!from || !to || wash === null) continue;
382
+ for (let step = 0; step <= 20; step++) {
383
+ const candidate = mixHex(from, to, step / 20);
384
+ const lum = relativeLuminance(candidate);
385
+ if (contrastRatio(lum, surface) >= aaTextContrastRatio && contrastRatio(lum, wash) >= aaTextContrastRatio) {
386
+ ink[`syntax${hue[0].toUpperCase()}${hue.slice(1)}`] = candidate;
387
+ break;
388
+ }
389
+ }
390
+ }
391
+ if (Object.keys(ink).length > 0) out[name] = {
392
+ ...theme,
393
+ ...ink
394
+ };
395
+ }
396
+ return out;
397
+ }
398
+ const namedInkHues = themeRampHues;
399
+ function holdNamedInkFloor(themes) {
400
+ const out = {
401
+ ...themes
402
+ };
403
+ for (const [name, theme] of Object.entries(themes)) {
404
+ const surfaces = [luminanceOf(theme.background), luminanceOf(theme.color3)];
405
+ if (surfaces.some(surface => surface === null)) continue;
406
+ const ink = {};
407
+ for (const hue of namedInkHues) {
408
+ const from = theme[`${hue}11`] ? normalizeToHex(theme[`${hue}11`]) : null;
409
+ const to = theme[`${hue}12`] ? normalizeToHex(theme[`${hue}12`]) : null;
410
+ if (!from || !to) continue;
411
+ for (let step = 0; step <= 20; step++) {
412
+ const candidate = mixHex(from, to, step / 20);
413
+ const lum = relativeLuminance(candidate);
414
+ if (surfaces.every(surface => contrastRatio(lum, surface) >= aaTextContrastRatio)) {
415
+ if (step > 0) ink[`${hue}11`] = candidate;
416
+ break;
417
+ }
418
+ }
419
+ }
420
+ if (Object.keys(ink).length > 0) out[name] = {
421
+ ...theme,
422
+ ...ink
423
+ };
424
+ }
425
+ return out;
426
+ }
427
+ function walkToHoldingInk(step11, step12, holds) {
428
+ const from = normalizeToHex(step11);
429
+ const to = normalizeToHex(step12);
430
+ if (!from || !to) return null;
431
+ if (holds(relativeLuminance(from))) return step11;
432
+ for (let step = 1; step <= 20; step++) {
433
+ const candidate = mixHex(from, to, step / 20);
434
+ if (holds(relativeLuminance(candidate))) return candidate;
435
+ }
436
+ return null;
437
+ }
438
+ function holdFillLabel(preferred, steps, labels, paper) {
439
+ const preferredLum = luminanceOf(preferred);
440
+ if (preferredLum === null) return void 0;
441
+ const labelOn = step => labels.find(label => {
442
+ const lum = luminanceOf(label);
443
+ const stepLum = luminanceOf(step);
444
+ return lum !== null && stepLum !== null && contrastRatio(lum, stepLum) >= aaTextContrastRatio && Math.abs(apcaContrast(label, step)) >= fillLabelLc;
445
+ });
446
+ let best;
447
+ let bestDistance = Number.POSITIVE_INFINITY;
448
+ for (const step of [preferred, ...steps]) {
449
+ const lum = luminanceOf(step);
450
+ if (step === void 0 || lum === null || contrastRatio(lum, paper) < minContrastRatio) continue;
451
+ const label = labelOn(step);
452
+ const distance = Math.abs(lum - preferredLum);
453
+ if (label && distance < bestDistance) {
454
+ bestDistance = distance;
455
+ best = {
456
+ fill: step,
457
+ label
458
+ };
459
+ }
460
+ }
461
+ return best;
462
+ }
463
+ function holdColorThemeAccent(themes) {
464
+ const out = {
465
+ ...themes
466
+ };
467
+ for (const scheme of ["light", "dark"]) {
468
+ const base = themes[scheme];
469
+ if (!base) continue;
470
+ for (const hue of childrenHues) {
471
+ const scopeName = `${scheme}_${hue}`;
472
+ const scope = themes[scopeName];
473
+ const ramp = Array.from({
474
+ length: 12
475
+ }, (_, index) => base[`${hue}${index + 1}`]);
476
+ if (!scope || ramp.some(step => !step)) continue;
477
+ const paper = luminanceOf(scope.color1);
478
+ const ink = luminanceOf(scope.color12);
479
+ const surfaces = [scope.color1, scope.color2, scope.color3, scope.color4].map(luminanceOf);
480
+ if (paper === null || ink === null || surfaces.some(lum => lum === null)) continue;
481
+ const labels = [scope.color1, scope.color12].sort((a, b) => luminanceOf(b) - luminanceOf(a));
482
+ const solid = holdFillLabel(ramp[8], ramp.slice(0, 11), labels, paper);
483
+ const holdsInk = lum => surfaces.every(surface => contrastRatio(lum, surface) >= aaTextContrastRatio);
484
+ const fill = solid?.fill ?? nearestHoldingStep(ramp[8], ramp.slice(0, 11), lum => Math.max(contrastRatio(lum, paper), contrastRatio(lum, ink)) >= aaTextContrastRatio && contrastRatio(lum, paper) >= minContrastRatio);
485
+ const accentInk = walkToHoldingInk(ramp[10], ramp[11], holdsInk) ?? nearestHoldingStep(ramp[10], ramp, holdsInk);
486
+ const fillStep = ramp.indexOf(fill);
487
+ const fillHover = ramp[Math.min(fillStep + 1, ramp.length - 1)];
488
+ const onFill = solid?.label ?? holdInkFloor(fill, pickReadableForeground(fill, scope.color1, scope.color12));
489
+ const accent = {
490
+ accentBackground: fill,
491
+ accentColor: accentInk,
492
+ ...selectedPaint(scope, ramp, accentInk)
493
+ };
494
+ const rootOn = luminanceOf(base.switchTrackOff);
495
+ const fillLum = luminanceOf(fill);
496
+ const rootHolds = rootOn === null || fillLum === null || contrastRatio(rootOn, fillLum) >= switchStateContrastRatio;
497
+ const track = rootHolds ? void 0 : switchTrackPaint(base, fill, scope.background, isLightGround(scope.background) ? [] : [scope.color4]);
498
+ for (const [name, theme] of Object.entries(themes)) {
499
+ if (name === scopeName) {
500
+ out[name] = {
501
+ ...theme,
502
+ ...accent,
503
+ ...track
504
+ };
505
+ } else if (name.startsWith(`${scopeName}_`)) {
506
+ const owned = Object.keys(accent).filter(key => key in theme);
507
+ if (owned.length > 0) {
508
+ out[name] = {
509
+ ...theme,
510
+ ...Object.fromEntries(owned.map(key => [key, accent[key]]))
511
+ };
512
+ }
513
+ }
514
+ }
515
+ out[`${scopeName}_accent`] = {
516
+ background: fill,
517
+ backgroundHover: fillHover,
518
+ backgroundPress: fillHover,
519
+ backgroundFocus: fillHover,
520
+ backgroundActive: fill,
521
+ borderColor: fill,
522
+ borderColorHover: fillHover,
523
+ borderColorFocus: fillHover,
524
+ borderColorPress: fillHover,
525
+ color: onFill,
526
+ colorHover: onFill,
527
+ colorPress: onFill,
528
+ colorFocus: onFill,
529
+ placeholderColor: onFill,
530
+ boundaryColor: onFill,
531
+ outlineColor: onFill,
532
+ color10: onFill,
533
+ color11: onFill,
534
+ color12: onFill,
535
+ textMuted: onFill,
536
+ accentBackground: onFill,
537
+ accentColor: onFill
538
+ };
539
+ }
540
+ }
541
+ return out;
542
+ }
543
+ const defaultLightShadows = {
544
+ shadow1: "rgba(0,0,0,0.04)",
545
+ shadow2: "rgba(0,0,0,0.08)",
546
+ shadow3: "rgba(0,0,0,0.12)",
547
+ shadow4: "rgba(0,0,0,0.22)",
548
+ shadow5: "rgba(0,0,0,0.33)",
549
+ shadow6: "rgba(0,0,0,0.44)"
550
+ };
551
+ const defaultDarkShadows = {
552
+ shadow1: "rgba(0,0,0,0.15)",
553
+ shadow2: "rgba(0,0,0,0.23)",
554
+ shadow3: "rgba(0,0,0,0.33)",
555
+ shadow4: "rgba(0,0,0,0.45)",
556
+ shadow5: "rgba(0,0,0,0.65)",
557
+ shadow6: "rgba(0,0,0,0.8)"
558
+ };
559
+ const childrenHues = ["blue", "red", "green", "yellow", "orange", "pink", "purple", "gray"];
560
+ function holdFocusRingAccent(themes) {
561
+ const out = {
562
+ ...themes
563
+ };
564
+ for (const scheme of ["light", "dark"]) {
565
+ const base = themes[scheme];
566
+ if (!base) continue;
567
+ const grounds = [base.color1, base.color2].map(luminanceOf);
568
+ if (grounds.some(lum => lum === null)) continue;
569
+ const holds = color => {
570
+ const lum = luminanceOf(color);
571
+ return lum !== null && isChromatic(color) && grounds.every(ground => contrastRatio(lum, ground) >= minContrastRatio);
572
+ };
573
+ const rootRing = [base.accentColor, themes[`${scheme}_blue`]?.accentColor].find(holds);
574
+ for (const [name, theme] of Object.entries(themes)) {
575
+ if (name !== scheme && !name.startsWith(`${scheme}_`)) continue;
576
+ if (theme.outlineColor === void 0) continue;
577
+ const parts = name.split("_");
578
+ if (parts.includes("accent")) continue;
579
+ const hue = childrenHues.includes(parts[1] ?? "") ? parts[1] : void 0;
580
+ const scopeInk = hue ? themes[`${scheme}_${hue}`]?.accentColor : void 0;
581
+ const ring = holds(scopeInk) ? scopeInk : rootRing;
582
+ if (!ring || ring === theme.outlineColor) continue;
583
+ out[name] = {
584
+ ...theme,
585
+ outlineColor: ring
586
+ };
587
+ }
588
+ }
589
+ return out;
590
+ }
591
+ function isChromatic(color) {
592
+ const hex = color ? normalizeToHex(color) : null;
593
+ if (!hex) return false;
594
+ const channels = [1, 3, 5].map(index => Number.parseInt(hex.slice(index, index + 2), 16));
595
+ return Math.max(...channels) - Math.min(...channels) >= 24;
596
+ }
597
+ function createThemesBuilder(baseTheme, accentTheme, options) {
598
+ const getTheme = options?.getTheme ? sanitizeGetTheme(options.getTheme) : void 0;
599
+ const base = {
600
+ palette: {
601
+ dark: baseTheme.darkPalette,
602
+ light: baseTheme.lightPalette
603
+ },
604
+ extra: {
605
+ light: {
606
+ ...Object.assign({}, ...Object.values(defaultChildrenThemes).map(theme => theme.light)),
607
+ ...baseTheme.lightShadows,
608
+ shadowColor: baseTheme.lightShadows?.shadow3 || defaultLightShadows.shadow3
609
+ },
610
+ dark: {
611
+ ...Object.assign({}, ...Object.values(defaultChildrenThemes).map(theme => theme.dark)),
612
+ ...baseTheme.darkShadows,
613
+ shadowColor: baseTheme.darkShadows?.shadow3 || defaultDarkShadows.shadow3
614
+ }
615
+ }
616
+ };
617
+ const childrenThemes = {
618
+ ...Object.fromEntries(childrenHues.map(name => {
619
+ const {
620
+ light,
621
+ dark
622
+ } = defaultChildrenThemes[name];
623
+ return [name, {
624
+ palette: {
625
+ light: Object.values(light),
626
+ dark: Object.values(dark)
627
+ }
628
+ }];
629
+ })),
630
+ warning: {
631
+ palette: {
632
+ dark: Object.values(Colors.yellowDark),
633
+ light: withIntentInkFloor(Object.values(Colors.yellow), intentInkFloor.warning)
634
+ }
635
+ },
636
+ error: {
637
+ palette: {
638
+ dark: Object.values(Colors.redDark),
639
+ light: Object.values(Colors.red)
640
+ }
641
+ },
642
+ success: {
643
+ palette: {
644
+ dark: Object.values(Colors.greenDark),
645
+ light: withIntentInkFloor(Object.values(Colors.green), intentInkFloor.success)
646
+ }
647
+ }
648
+ };
649
+ const createThemesProps = {
650
+ templates: houseTemplates,
651
+ componentThemes: options?.componentThemes ?? houseComponentThemes,
652
+ grandChildrenThemes: options?.grandChildrenThemes ?? houseGrandChildrenThemes,
653
+ base,
654
+ childrenThemes,
655
+ accent: {
656
+ palette: {
657
+ dark: accentTheme.darkPalette,
658
+ light: accentTheme.lightPalette
659
+ }
660
+ }
661
+ };
662
+ if (getTheme) {
663
+ createThemesProps.getTheme = getTheme;
664
+ }
665
+ const initialTheme = tamaguiCreateThemes(createThemesProps);
666
+ const themes = holdFocusRingAccent(holdColorThemeAccent(holdSwitchTrack(holdSyntaxFloor(holdNamedInkFloor(holdSelectedState(holdAccentFloor(holdSelectionSurface(neutralizeSemanticEntryText(neutralizeTintText(initialTheme))))))))));
667
+ return {
668
+ themes() {
669
+ return themes;
670
+ },
671
+ addTheme(name, theme) {
672
+ const addThemeProps = {
673
+ templates: houseTemplates,
674
+ componentThemes: options?.componentThemes ?? houseComponentThemes,
675
+ grandChildrenThemes: options?.grandChildrenThemes ?? houseGrandChildrenThemes,
676
+ base,
677
+ childrenThemes,
678
+ accent: {
679
+ palette: {
680
+ dark: theme.darkPalette,
681
+ light: theme.lightPalette
682
+ }
683
+ }
684
+ };
685
+ if (getTheme) {
686
+ addThemeProps.getTheme = getTheme;
687
+ }
688
+ const createdTheme = tamaguiCreateThemes(addThemeProps);
689
+ return {
690
+ [`dark_${name}`]: createdTheme.dark_accent,
691
+ [`light_${name}`]: createdTheme.light_accent
692
+ };
693
+ }
694
+ };
695
+ }
696
+ export { createThemesBuilder, houseComponentThemes, houseGrandChildrenThemes, houseTemplates, tintHueNames };
697
+ //# sourceMappingURL=createThemes.mjs.map