@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,1552 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var themeMatrix_exports = {};
26
+ __export(themeMatrix_exports, {
27
+ auditSignatures: () => auditSignatures,
28
+ captureMatrixSnapshot: () => captureMatrixSnapshot,
29
+ chartProofSignatures: () => chartProofSignatures,
30
+ diffGeometry: () => diffGeometry,
31
+ evaluateChartProof: () => evaluateChartProof,
32
+ evaluateIconContrast: () => evaluateIconContrast,
33
+ evaluateNoBreakage: () => evaluateNoBreakage,
34
+ evaluateTextContrast: () => evaluateTextContrast,
35
+ iconContrastSignatures: () => iconContrastSignatures,
36
+ offScaleIdentity: () => offScaleIdentity
37
+ });
38
+ module.exports = __toCommonJS(themeMatrix_exports);
39
+ var import_colorRules = require("../theme/colorRules.native.js");
40
+ function _instanceof(left, right) {
41
+ "@swc/helpers - instanceof";
42
+
43
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
44
+ return !!right[Symbol.hasInstance](left);
45
+ } else {
46
+ return left instanceof right;
47
+ }
48
+ }
49
+ function captureMatrixSnapshot() {
50
+ var _ref, _ref1, _ref2, _document_querySelector;
51
+ if (typeof document === "undefined") throw new Error("captureMatrixSnapshot needs a DOM");
52
+ var SKIP_TAGS = /* @__PURE__ */new Set(["script", "style", "link", "meta", "head", "title", "noscript", "br", "wbr", "template"]);
53
+ var round = function round2(n) {
54
+ return Math.round(n * 4) / 4;
55
+ };
56
+ var toRect = function toRect2(r) {
57
+ return {
58
+ x: round(r.x),
59
+ y: round(r.y),
60
+ w: round(r.width),
61
+ h: round(r.height)
62
+ };
63
+ };
64
+ function parseCssColor(raw) {
65
+ var s = raw.trim().toLowerCase();
66
+ if (s === "transparent") return [0, 0, 0, 0];
67
+ var m = s.match(/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.%]+))?\s*\)$/);
68
+ if (!m) return null;
69
+ var a = 1;
70
+ if (m[4] !== void 0) {
71
+ a = m[4].endsWith("%") ? Number.parseFloat(m[4]) / 100 : Number.parseFloat(m[4]);
72
+ }
73
+ return [Number.parseFloat(m[1]), Number.parseFloat(m[2]), Number.parseFloat(m[3]), a];
74
+ }
75
+ function toHex(rgb) {
76
+ var h = function h2(v) {
77
+ return Math.max(0, Math.min(255, Math.round(v))).toString(16).padStart(2, "0");
78
+ };
79
+ return `#${h(rgb[0])}${h(rgb[1])}${h(rgb[2])}`;
80
+ }
81
+ function blend(top, bottom) {
82
+ var a = top[3];
83
+ return [top[0] * a + bottom[0] * (1 - a), top[1] * a + bottom[1] * (1 - a), top[2] * a + bottom[2] * (1 - a)];
84
+ }
85
+ function effectiveBackground(el) {
86
+ var layers = [];
87
+ var overImage = false;
88
+ var node = el;
89
+ var opaqueBase = null;
90
+ while (node) {
91
+ var cs = getComputedStyle(node);
92
+ if (cs.backgroundImage && cs.backgroundImage !== "none") overImage = true;
93
+ if (node.getAttribute("data-mpo-chart-backdrop") === "patterned") overImage = true;
94
+ var parsed = parseCssColor(cs.backgroundColor);
95
+ if (parsed && parsed[3] > 0) {
96
+ if (parsed[3] >= 0.999) {
97
+ opaqueBase = [parsed[0], parsed[1], parsed[2]];
98
+ break;
99
+ }
100
+ layers.push(parsed);
101
+ }
102
+ node = node.parentElement;
103
+ }
104
+ if (!opaqueBase) {
105
+ return {
106
+ hex: "#ffffff",
107
+ resolved: false,
108
+ overImage
109
+ };
110
+ }
111
+ var acc = opaqueBase;
112
+ for (var i = layers.length - 1; i >= 0; i--) {
113
+ acc = blend(layers[i], acc);
114
+ }
115
+ return {
116
+ hex: toHex(acc),
117
+ resolved: !overImage,
118
+ overImage
119
+ };
120
+ }
121
+ function effectiveOpacity(el) {
122
+ var o = 1;
123
+ var node = el;
124
+ while (node) {
125
+ var v = Number.parseFloat(getComputedStyle(node).opacity);
126
+ if (!Number.isNaN(v)) o *= v;
127
+ node = node.parentElement;
128
+ }
129
+ return o;
130
+ }
131
+ var GEOMETRY_PROPS = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "rowGap", "columnGap", "fontSize", "fontWeight", "fontFamily", "lineHeight", "letterSpacing"];
132
+ var root = (_ref = (_ref1 = (_ref2 = (_document_querySelector = document.querySelector("#mpo-matrix-root")) !== null && _document_querySelector !== void 0 ? _document_querySelector : document.querySelector("[data-mpo-matrix-root]")) !== null && _ref2 !== void 0 ? _ref2 : document.querySelector("#storybook-root")) !== null && _ref1 !== void 0 ? _ref1 : document.querySelector("#root")) !== null && _ref !== void 0 ? _ref : document.body;
133
+ var storyRendered = !!root && root.children.length > 0;
134
+ var geometry = [];
135
+ var textSamples = [];
136
+ var iconSamples = [];
137
+ var chartSamples = [];
138
+ var svgRootCount = 0;
139
+ var capturedSvgRoots = /* @__PURE__ */new Set();
140
+ function accessibleName(el) {
141
+ var labelledBy = el.getAttribute("aria-labelledby");
142
+ if (labelledBy) {
143
+ var name = labelledBy.split(/\s+/).map(function (id) {
144
+ var _ref3;
145
+ var _document_getElementById;
146
+ return (_ref3 = (_document_getElementById = document.getElementById(id)) === null || _document_getElementById === void 0 ? void 0 : _document_getElementById.textContent) !== null && _ref3 !== void 0 ? _ref3 : "";
147
+ }).join(" ").trim();
148
+ if (name) return name.slice(0, 100);
149
+ }
150
+ var labels = "labels" in el ? el.labels : null;
151
+ var labelText = labels ? Array.from(labels).map(function (label) {
152
+ var _label_textContent;
153
+ return (_label_textContent = label.textContent) !== null && _label_textContent !== void 0 ? _label_textContent : "";
154
+ }).join(" ") : "";
155
+ return (el.getAttribute("aria-label") || labelText || el.getAttribute("title") || el.textContent || "").trim().slice(0, 100);
156
+ }
157
+ function controlName(el) {
158
+ if (el.matches("[data-mp-input-box]")) {
159
+ var input = el.querySelector("input, textarea, select");
160
+ if (input) return accessibleName(input) || input.getAttribute("placeholder") || "input";
161
+ }
162
+ return accessibleName(el);
163
+ }
164
+ function unsupportedCompositing(el) {
165
+ var backgroundInGroup = false;
166
+ for (var node = el; node; node = node.parentElement) {
167
+ var cs = getComputedStyle(node);
168
+ var background = parseCssColor(cs.backgroundColor);
169
+ if (background && background[3] > 0) backgroundInGroup = true;
170
+ if (Number.parseFloat(cs.opacity) < 1 && backgroundInGroup) return true;
171
+ if (cs.mixBlendMode && cs.mixBlendMode !== "normal") return true;
172
+ }
173
+ return false;
174
+ }
175
+ function collectIcon(el, key2, cs) {
176
+ var _ref3;
177
+ var _el_parentElement, _namedControl_parentElement;
178
+ if (el.tagName.toLowerCase() !== "svg" || ((_el_parentElement = el.parentElement) === null || _el_parentElement === void 0 ? void 0 : _el_parentElement.closest("svg"))) return;
179
+ var backdrop = effectiveBackground(el);
180
+ var rect = el.getBoundingClientRect();
181
+ var sample = {
182
+ key: key2,
183
+ context: accessibleName(el),
184
+ status: "conveying",
185
+ background: backdrop.hex,
186
+ backgroundResolved: backdrop.resolved,
187
+ overImage: backdrop.overImage,
188
+ shapeCount: 0,
189
+ distinctPaints: 0,
190
+ rect: toRect(rect)
191
+ };
192
+ iconSamples.push(sample);
193
+ if (cs.visibility === "hidden" || cs.visibility === "collapse" || effectiveOpacity(el) === 0 || rect.width === 0 || rect.height === 0) {
194
+ sample.status = "hidden";
195
+ return;
196
+ }
197
+ if (el.closest('[disabled], [aria-disabled="true"], [data-disabled="true"]')) {
198
+ sample.status = "disabled-control";
199
+ return;
200
+ }
201
+ var controls = 'button, a[href], label, summary, [data-mp-input-box], [role="button"], [role="link"], [role="menuitem"], [role="tab"], [role="checkbox"], [role="radio"], [role="switch"], [role="option"], [role="combobox"]';
202
+ var namedControl = el.closest(controls);
203
+ while (namedControl && !controlName(namedControl)) namedControl = (_ref3 = (_namedControl_parentElement = namedControl.parentElement) === null || _namedControl_parentElement === void 0 ? void 0 : _namedControl_parentElement.closest(controls)) !== null && _ref3 !== void 0 ? _ref3 : null;
204
+ if (namedControl) sample.context = controlName(namedControl);else if (el.closest('[aria-hidden="true"], [role="presentation"], [role="none"]')) {
205
+ sample.status = "decorative-standalone";
206
+ return;
207
+ }
208
+ if (!backdrop.resolved) {
209
+ sample.unmeasurable = "unresolved-backdrop";
210
+ return;
211
+ }
212
+ if (el.querySelector("use")) {
213
+ sample.unmeasurable = "use-indirection";
214
+ return;
215
+ }
216
+ var paintNodes = [el, ...Array.from(el.querySelectorAll("*"))];
217
+ for (var ancestor = el.parentElement; ancestor; ancestor = ancestor.parentElement) paintNodes.push(ancestor);
218
+ if (paintNodes.some(function (node2) {
219
+ var style2 = getComputedStyle(node2);
220
+ return style2.filter && style2.filter !== "none" || style2.maskImage && style2.maskImage !== "none";
221
+ })) {
222
+ sample.unmeasurable = "masked-or-filtered";
223
+ return;
224
+ }
225
+ var background = [Number.parseInt(backdrop.hex.slice(1, 3), 16), Number.parseInt(backdrop.hex.slice(3, 5), 16), Number.parseInt(backdrop.hex.slice(5, 7), 16)];
226
+ var paints = /* @__PURE__ */new Set();
227
+ var kinds = /* @__PURE__ */new Set();
228
+ var alphaValue = function alphaValue2(raw2) {
229
+ return raw2.endsWith("%") ? Number.parseFloat(raw2) / 100 : Number.parseFloat(raw2);
230
+ };
231
+ var _iteratorNormalCompletion2 = true,
232
+ _didIteratorError2 = false,
233
+ _iteratorError2 = void 0;
234
+ try {
235
+ for (var _iterator2 = Array.from(el.querySelectorAll("path, rect, circle, ellipse, line, polyline, polygon, text, tspan"))[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
236
+ var shape = _step2.value;
237
+ if (shape.closest("defs, clipPath, mask, pattern, marker, symbol")) continue;
238
+ var style = getComputedStyle(shape);
239
+ var hiddenGroup = false;
240
+ for (var node = shape; node && node !== el; node = node.parentElement) {
241
+ if (getComputedStyle(node).display === "none") hiddenGroup = true;
242
+ }
243
+ if (hiddenGroup || style.display === "none" || style.visibility === "hidden" || style.visibility === "collapse" || effectiveOpacity(shape) === 0) continue;
244
+ var bounds = shape.getBBox();
245
+ if (typeof SVGGeometryElement !== "undefined" && _instanceof(shape, SVGGeometryElement) && shape.getTotalLength() === 0) continue;
246
+ sample.shapeCount++;
247
+ if (unsupportedCompositing(shape)) {
248
+ sample.unmeasurable = "unsupported-compositing";
249
+ return;
250
+ }
251
+ if ([style.markerStart, style.markerMid, style.markerEnd].some(function (value) {
252
+ return value && value !== "none";
253
+ })) {
254
+ sample.unmeasurable = "unsupported-paint";
255
+ return;
256
+ }
257
+ for (var _i = 0, _iter = ["fill", "stroke"]; _i < _iter.length; _i++) {
258
+ var kind = _iter[_i];
259
+ if (kind === "fill" && (shape.tagName.toLowerCase() === "line" || bounds.width === 0 || bounds.height === 0)) continue;
260
+ if (kind === "stroke" && !(Number.parseFloat(style.strokeWidth) > 0)) continue;
261
+ var raw = style[kind].trim().toLowerCase();
262
+ if (raw === "none") continue;
263
+ var ink = parseCssColor(raw === "currentcolor" ? style.color : raw);
264
+ if (!ink) {
265
+ sample.unmeasurable = "unsupported-paint";
266
+ return;
267
+ }
268
+ var paintOpacity = alphaValue(kind === "fill" ? style.fillOpacity : style.strokeOpacity);
269
+ ink[3] *= (Number.isFinite(paintOpacity) ? paintOpacity : 1) * effectiveOpacity(shape);
270
+ if (ink[3] === 0) continue;
271
+ paints.add(toHex(blend(ink, background)));
272
+ kinds.add(kind);
273
+ }
274
+ }
275
+ } catch (err) {
276
+ _didIteratorError2 = true;
277
+ _iteratorError2 = err;
278
+ } finally {
279
+ try {
280
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
281
+ _iterator2.return();
282
+ }
283
+ } finally {
284
+ if (_didIteratorError2) {
285
+ throw _iteratorError2;
286
+ }
287
+ }
288
+ }
289
+ sample.distinctPaints = paints.size;
290
+ if (paints.size === 0) sample.unmeasurable = "no-paint";else if (paints.size > 1) sample.unmeasurable = "multicolor";else {
291
+ sample.paint = Array.from(paints)[0];
292
+ sample.paintKinds = Array.from(kinds);
293
+ }
294
+ }
295
+ function collectChart(el, key2) {
296
+ var _el_getAttribute, _el_getAttribute1, _el_getAttribute2, _el_getAttribute3, _sample, _unmeasurable;
297
+ var backdrop = effectiveBackground(el);
298
+ var rawCount = el.getAttribute("data-mpo-chart-datum-count");
299
+ var expected = rawCount !== null && /^\d+$/.test(rawCount) ? Number(rawCount) : -1;
300
+ var owner = el.closest("[data-mpo-chart-owner]");
301
+ var rows = owner ? Array.from(owner.querySelectorAll("[data-mpo-chart-datum-text]")).filter(function (row) {
302
+ return row.tagName.toLowerCase() !== "svg" && row.closest("[data-mpo-chart-owner]") === owner;
303
+ }) : [];
304
+ var visible = function visible2(node2) {
305
+ var style2 = getComputedStyle(node2);
306
+ var rect2 = node2.getBoundingClientRect();
307
+ return style2.visibility !== "hidden" && style2.visibility !== "collapse" && effectiveOpacity(node2) > 0 && (rect2.width > 0 || rect2.height > 0);
308
+ };
309
+ var completeRows = rows.filter(function (row, index3) {
310
+ var _name_textContent, _value_textContent;
311
+ var name = row.querySelector("[data-mpo-chart-datum-label]");
312
+ var value = row.querySelector("[data-mpo-chart-datum-value]");
313
+ return row.getAttribute("data-mpo-chart-datum-text") === String(index3) && name && value && visible(name) && visible(value) && !!((_name_textContent = name.textContent) === null || _name_textContent === void 0 ? void 0 : _name_textContent.trim()) && !!((_value_textContent = value.textContent) === null || _value_textContent === void 0 ? void 0 : _value_textContent.trim());
314
+ });
315
+ var sample = {
316
+ key: key2,
317
+ kind: (_el_getAttribute = el.getAttribute("data-mpo-chart")) !== null && _el_getAttribute !== void 0 ? _el_getAttribute : "",
318
+ context: accessibleName(el),
319
+ label: ((_el_getAttribute1 = el.getAttribute("aria-label")) !== null && _el_getAttribute1 !== void 0 ? _el_getAttribute1 : "").trim(),
320
+ background: backdrop.hex,
321
+ backgroundResolved: backdrop.resolved,
322
+ marks: [],
323
+ labels: [],
324
+ chrome: [],
325
+ unaccountedPaint: [],
326
+ separation: {
327
+ declared: el.getAttribute("data-mpo-chart-separated") === "true"
328
+ },
329
+ datumText: {
330
+ viewId: (_el_getAttribute2 = el.getAttribute("data-mpo-chart-data-view")) !== null && _el_getAttribute2 !== void 0 ? _el_getAttribute2 : void 0,
331
+ expectedValues: (_el_getAttribute3 = el.getAttribute("data-mpo-chart-data-expected")) !== null && _el_getAttribute3 !== void 0 ? _el_getAttribute3 : void 0,
332
+ declared: el.getAttribute("data-mpo-chart-datum-text") === "true",
333
+ expected,
334
+ observed: completeRows.length,
335
+ complete: expected > 0 && rows.length === expected && completeRows.length === expected
336
+ }
337
+ };
338
+ chartSamples.push(sample);
339
+ if (!visible(el)) sample.unmeasurable = "hidden-chart";else if (!backdrop.resolved) sample.unmeasurable = "unresolved-backdrop";else if (el.querySelector("use")) sample.unmeasurable = "use-indirection";
340
+ var marks = Array.from(el.querySelectorAll("[data-mpo-chart-mark]"));
341
+ var certifiedMasks = /* @__PURE__ */new Set();
342
+ if ((sample.kind === "pie" || sample.kind === "donut") && marks.length > 1) {
343
+ var round2 = function round3(value) {
344
+ return Math.round(value * 1e3) / 1e3;
345
+ };
346
+ var pathTokens = function pathTokens2(path) {
347
+ var _path_replace_match;
348
+ return JSON.stringify(((_path_replace_match = path.replace(/^path\(["']?|["']?\)$/g, "").match(/[a-zA-Z]|[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)) !== null && _path_replace_match !== void 0 ? _path_replace_match : []).map(function (token) {
349
+ return Number.isNaN(Number(token)) ? token : Number(token);
350
+ }));
351
+ };
352
+ var point = function point2(radius, angle) {
353
+ return `${round2(radius * Math.cos(angle - Math.PI / 2))},${round2(radius * Math.sin(angle - Math.PI / 2))}`;
354
+ };
355
+ var proofs = marks.map(function (mark2) {
356
+ var _mark_getAttribute2, _mark_getAttribute1;
357
+ if (mark2.tagName.toLowerCase() !== "path" || mark2.getAttribute("data-mpo-chart-mask") !== "eroded-arc-v1") return;
358
+ var values = ((_mark_getAttribute2 = mark2.getAttribute("data-mpo-chart-slice")) !== null && _mark_getAttribute2 !== void 0 ? _mark_getAttribute2 : "").split(",").map(Number);
359
+ if (values.length !== 4 || !values.every(Number.isFinite)) return;
360
+ var [start, end, inner, outer] = values;
361
+ var span = end - start;
362
+ if (start < 0 || end > Math.PI * 2 + 1e-9 || span <= 0 || span >= Math.PI * 2 || inner < 0 || outer <= inner) return;
363
+ var radius = (inner + outer) / 2;
364
+ var projection = Math.min(outer, Math.max(inner, radius * Math.cos(span / 2)));
365
+ var radialDistance = Math.sqrt(Math.max(0, Math.pow(radius, 2) + Math.pow(projection, 2) - 2 * radius * projection * Math.cos(span / 2)));
366
+ if (outer - radius <= 1.002 || radius - inner <= 1.002 || radialDistance <= 1.002) return;
367
+ var large = Number(span >= Math.PI);
368
+ var d = `M${point(outer, start)}A${round2(outer)},${round2(outer)},0,${large},1,${point(outer, end)}` + (inner ? `L${point(inner, end)}A${round2(inner)},${round2(inner)},0,${large},0,${point(inner, start)}Z` : "L0,0Z");
369
+ if (mark2.getAttribute("d") !== d) return;
370
+ var markStyle = getComputedStyle(mark2);
371
+ var paintedD = markStyle.getPropertyValue("d");
372
+ if (paintedD && pathTokens(paintedD) !== pathTokens(d)) return;
373
+ if (markStyle.stroke !== "none") return;
374
+ var reference = /^url\(["']?#([^"')]+)["']?\)$/.exec((_mark_getAttribute1 = mark2.getAttribute("mask")) !== null && _mark_getAttribute1 !== void 0 ? _mark_getAttribute1 : "");
375
+ if (!reference) return;
376
+ var matches = Array.from(document.querySelectorAll("[id]")).filter(function (node3) {
377
+ return node3.id === reference[1];
378
+ });
379
+ var mask = matches[0];
380
+ if (matches.length !== 1 || mask.tagName.toLowerCase() !== "mask" || !el.contains(mask)) return;
381
+ var definitions = mask.parentElement;
382
+ if ((definitions === null || definitions === void 0 ? void 0 : definitions.tagName.toLowerCase()) !== "defs" || definitions.parentElement !== mark2.parentElement) return;
383
+ var computedReference = /^url\(["']?([^"')]+)["']?\)$/.exec(markStyle.maskImage);
384
+ if (!computedReference || !["match-source", "luminance"].includes(markStyle.maskMode)) return;
385
+ try {
386
+ if (new URL(computedReference[1], document.baseURI).href !== new URL(`#${reference[1]}`, document.URL).href) return;
387
+ } catch (unused) {
388
+ return;
389
+ }
390
+ if (mask.getAttribute("maskUnits") !== "userSpaceOnUse" || mask.getAttribute("maskContentUnits") !== "userSpaceOnUse" || getComputedStyle(mask).getPropertyValue("mask-type") !== "luminance") return;
391
+ var bounds2 = {
392
+ x: -outer - 2,
393
+ y: -outer - 2,
394
+ width: (outer + 2) * 2,
395
+ height: (outer + 2) * 2
396
+ };
397
+ if (Object.entries(bounds2).some(function (param) {
398
+ var [name, value] = param;
399
+ return Number(mask.getAttribute(name)) !== value;
400
+ })) return;
401
+ if (mask.children.length !== 1) return;
402
+ var boundary = mask.children[0];
403
+ if (boundary.tagName.toLowerCase() !== "path" || boundary.getAttribute("d") !== d) return;
404
+ for (var _i = 0, _iter = [definitions, mask, boundary]; _i < _iter.length; _i++) {
405
+ var node2 = _iter[_i];
406
+ var style2 = getComputedStyle(node2);
407
+ if (style2.transform !== "none" || style2.filter !== "none" || style2.maskImage !== "none" || style2.clipPath !== "none" || style2.opacity !== "1" || style2.visibility !== "visible" || style2.display === "none") return;
408
+ if ([style2.markerStart, style2.markerMid, style2.markerEnd].some(function (value) {
409
+ return value && value !== "none";
410
+ })) return;
411
+ }
412
+ if (unsupportedCompositing(boundary)) return;
413
+ var boundaryStyle = getComputedStyle(boundary);
414
+ if (boundaryStyle.fill !== "rgb(255, 255, 255)" || boundaryStyle.stroke !== "rgb(0, 0, 0)" || boundaryStyle.fillOpacity !== "1" || boundaryStyle.strokeOpacity !== "1" || Number.parseFloat(boundaryStyle.strokeWidth) !== 2 || boundaryStyle.strokeLinejoin !== "round" || boundaryStyle.strokeLinecap !== "round" || boundaryStyle.paintOrder !== "normal" || boundaryStyle.vectorEffect !== "none" || boundaryStyle.strokeDasharray !== "none") return;
415
+ var boundaryD = boundaryStyle.getPropertyValue("d");
416
+ if (boundaryD && pathTokens(boundaryD) !== pathTokens(d)) return;
417
+ for (var node1 = mark2; node1; node1 = node1.parentElement) {
418
+ var style1 = getComputedStyle(node1);
419
+ if (style1.transform.startsWith("matrix3d") || style1.perspective && style1.perspective !== "none") return;
420
+ }
421
+ var ctm2 = mark2.getScreenCTM();
422
+ if (!ctm2) return;
423
+ var matrix = [ctm2.a, ctm2.b, ctm2.c, ctm2.d, ctm2.e, ctm2.f];
424
+ var firstScale = Math.hypot(ctm2.a + ctm2.d, ctm2.b - ctm2.c);
425
+ var secondScale = Math.hypot(ctm2.a - ctm2.d, ctm2.b + ctm2.c);
426
+ var smallest = Math.abs(firstScale - secondScale) / 2;
427
+ if (!matrix.every(Number.isFinite) || !Number.isFinite(smallest) || smallest <= 0) return;
428
+ var measuredGap = 2 * smallest * window.devicePixelRatio;
429
+ var gap = Math.abs(measuredGap - 2) <= 8 * Number.EPSILON ? 2 : measuredGap;
430
+ return {
431
+ mark: mark2,
432
+ start,
433
+ end,
434
+ inner,
435
+ outer,
436
+ matrix,
437
+ gap
438
+ };
439
+ });
440
+ var first = proofs[0];
441
+ if (first && Math.abs(first.start) < 1e-9 && proofs.every(function (proof2, index3) {
442
+ return proof2 && proof2.inner === first.inner && proof2.outer === first.outer && proof2.matrix.every(function (value, axis) {
443
+ return value === first.matrix[axis];
444
+ }) && Math.abs(proof2.start - (index3 ? proofs[index3 - 1].end : 0)) < 1e-9;
445
+ }) && Math.abs(proofs[proofs.length - 1].end - Math.PI * 2) < 1e-9) {
446
+ var _iteratorNormalCompletion2 = true,
447
+ _didIteratorError2 = false,
448
+ _iteratorError2 = void 0;
449
+ try {
450
+ for (var _iterator2 = proofs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
451
+ var proof = _step2.value;
452
+ certifiedMasks.add(proof.mark);
453
+ }
454
+ } catch (err) {
455
+ _didIteratorError2 = true;
456
+ _iteratorError2 = err;
457
+ } finally {
458
+ try {
459
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
460
+ _iterator2.return();
461
+ }
462
+ } finally {
463
+ if (_didIteratorError2) {
464
+ throw _iteratorError2;
465
+ }
466
+ }
467
+ }
468
+ sample.separation.method = "eroded-arc";
469
+ sample.separation.minimumGapPx = first.gap;
470
+ }
471
+ }
472
+ function paintSample(shape, paintKey, label) {
473
+ var item2 = {
474
+ key: paintKey,
475
+ label,
476
+ background: backdrop.hex
477
+ };
478
+ if (shape.closest("defs, clipPath, mask, pattern, marker, symbol")) return {
479
+ ...item2,
480
+ unmeasurable: "no-paint"
481
+ };
482
+ if (!visible(shape)) return {
483
+ ...item2,
484
+ unmeasurable: "no-paint"
485
+ };
486
+ if (!backdrop.resolved) return {
487
+ ...item2,
488
+ unmeasurable: "unresolved-backdrop"
489
+ };
490
+ for (var node2 = shape; node2; node2 = node2.parentElement) {
491
+ var style2 = getComputedStyle(node2);
492
+ if (style2.filter && style2.filter !== "none" || style2.maskImage && style2.maskImage !== "none" && !(node2 === shape && certifiedMasks.has(shape))) return {
493
+ ...item2,
494
+ unmeasurable: "masked-or-filtered"
495
+ };
496
+ if (style2.clipPath && style2.clipPath !== "none") return {
497
+ ...item2,
498
+ unmeasurable: "unsupported-paint"
499
+ };
500
+ }
501
+ if (unsupportedCompositing(shape)) return {
502
+ ...item2,
503
+ unmeasurable: "unsupported-compositing"
504
+ };
505
+ var style1 = getComputedStyle(shape);
506
+ if ([style1.markerStart, style1.markerMid, style1.markerEnd].some(function (value) {
507
+ return value && value !== "none";
508
+ })) return {
509
+ ...item2,
510
+ unmeasurable: "unsupported-paint"
511
+ };
512
+ var bounds2;
513
+ try {
514
+ bounds2 = shape.getBBox();
515
+ } catch (unused) {
516
+ return {
517
+ ...item2,
518
+ unmeasurable: "unsupported-paint"
519
+ };
520
+ }
521
+ var background = [Number.parseInt(backdrop.hex.slice(1, 3), 16), Number.parseInt(backdrop.hex.slice(3, 5), 16), Number.parseInt(backdrop.hex.slice(5, 7), 16)];
522
+ var paints = /* @__PURE__ */new Set();
523
+ for (var _i = 0, _iter = ["fill", "stroke"]; _i < _iter.length; _i++) {
524
+ var kind = _iter[_i];
525
+ if (kind === "fill" && (shape.tagName.toLowerCase() === "line" || bounds2.width === 0 || bounds2.height === 0)) continue;
526
+ if (kind === "stroke" && !(Number.parseFloat(style1.strokeWidth) > 0)) continue;
527
+ var raw = style1[kind].trim().toLowerCase();
528
+ if (raw === "none") continue;
529
+ var ink = parseCssColor(raw === "currentcolor" ? style1.color : raw);
530
+ if (!ink) return {
531
+ ...item2,
532
+ unmeasurable: "unsupported-paint"
533
+ };
534
+ var alphaRaw = kind === "fill" ? style1.fillOpacity : style1.strokeOpacity;
535
+ var alpha = Number.parseFloat(alphaRaw) / (alphaRaw.endsWith("%") ? 100 : 1);
536
+ ink[3] *= (Number.isFinite(alpha) ? alpha : 1) * effectiveOpacity(shape);
537
+ if (ink[3] > 0) paints.add(toHex(blend(ink, background)));
538
+ }
539
+ if (paints.size !== 1) return {
540
+ ...item2,
541
+ unmeasurable: paints.size ? "multicolor" : "no-paint"
542
+ };
543
+ return {
544
+ ...item2,
545
+ paint: Array.from(paints)[0]
546
+ };
547
+ }
548
+ var _iteratorNormalCompletion12 = true,
549
+ _didIteratorError12 = false,
550
+ _iteratorError12 = void 0;
551
+ try {
552
+ for (var _iterator12 = marks.entries()[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
553
+ var [index2, mark] = _step12.value;
554
+ var _mark_getAttribute;
555
+ var tag = mark.tagName.toLowerCase();
556
+ var item = !["path", "rect", "circle", "ellipse", "line", "polyline", "polygon"].includes(tag) ? {
557
+ key: `${key2}/mark:${index2}`,
558
+ label: (_mark_getAttribute = mark.getAttribute("data-mpo-chart-mark")) !== null && _mark_getAttribute !== void 0 ? _mark_getAttribute : "",
559
+ background: backdrop.hex,
560
+ unmeasurable: "unsupported-paint"
561
+ } : paintSample(mark, `${key2}/mark:${index2}`, mark.getAttribute("data-mpo-chart-mark") || `mark ${index2 + 1}`);
562
+ sample.marks.push(item);
563
+ }
564
+ } catch (err) {
565
+ _didIteratorError12 = true;
566
+ _iteratorError12 = err;
567
+ } finally {
568
+ try {
569
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
570
+ _iterator12.return();
571
+ }
572
+ } finally {
573
+ if (_didIteratorError12) {
574
+ throw _iteratorError12;
575
+ }
576
+ }
577
+ }
578
+ var _iteratorNormalCompletion22 = true,
579
+ _didIteratorError22 = false,
580
+ _iteratorError22 = void 0;
581
+ try {
582
+ for (var _iterator22 = Array.from(el.querySelectorAll("text, tspan")).entries()[Symbol.iterator](), _step22; !(_iteratorNormalCompletion22 = (_step22 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
583
+ var [index12, node] = _step22.value;
584
+ var text = Array.from(node.childNodes).filter(function (child2) {
585
+ return child2.nodeType === 3;
586
+ }).map(function (child2) {
587
+ var _child_textContent;
588
+ return (_child_textContent = child2.textContent) !== null && _child_textContent !== void 0 ? _child_textContent : "";
589
+ }).join("").trim();
590
+ if (text) sample.labels.push(paintSample(node, `${key2}/label:${index12}`, text));
591
+ }
592
+ } catch (err) {
593
+ _didIteratorError22 = true;
594
+ _iteratorError22 = err;
595
+ } finally {
596
+ try {
597
+ if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
598
+ _iterator22.return();
599
+ }
600
+ } finally {
601
+ if (_didIteratorError22) {
602
+ throw _iteratorError22;
603
+ }
604
+ }
605
+ }
606
+ var _iteratorNormalCompletion3 = true,
607
+ _didIteratorError3 = false,
608
+ _iteratorError3 = void 0;
609
+ try {
610
+ for (var _iterator3 = Array.from(el.querySelectorAll("path, rect, circle, ellipse, line, polyline, polygon, image, foreignObject, use")).entries()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
611
+ var [index22, drawable] = _step3.value;
612
+ var _drawable_getScreenCTM;
613
+ if (drawable.hasAttribute("data-mpo-chart-mark")) continue;
614
+ var tag1 = drawable.tagName.toLowerCase();
615
+ var item1 = paintSample(drawable, `${key2}/drawable:${index22}`, `unaccounted ${tag1}`);
616
+ if (item1.unmeasurable === "no-paint") continue;
617
+ var chrome = drawable.getAttribute("data-mpo-chart-chrome");
618
+ var style = getComputedStyle(drawable);
619
+ var rect = drawable.getBoundingClientRect();
620
+ var ctm = (_drawable_getScreenCTM = drawable.getScreenCTM) === null || _drawable_getScreenCTM === void 0 ? void 0 : _drawable_getScreenCTM.call(drawable);
621
+ var squareSum = ctm ? Math.pow(ctm.a, 2) + Math.pow(ctm.b, 2) + Math.pow(ctm.c, 2) + Math.pow(ctm.d, 2) : NaN;
622
+ var determinant = ctm ? ctm.a * ctm.d - ctm.b * ctm.c : NaN;
623
+ var largestScale = Math.sqrt((squareSum + Math.sqrt(Math.max(0, Math.pow(squareSum, 2) - 4 * Math.pow(determinant, 2)))) / 2);
624
+ var screenStrokeWidth = Number.parseFloat(style.strokeWidth) * largestScale;
625
+ var thinAxisLine = (chrome === "axis" || chrome === "grid") && tag1 === "line" && (rect.width === 0 || rect.height === 0) && Number.isFinite(screenStrokeWidth) && screenStrokeWidth <= 1 && screenStrokeWidth > 0 && !item1.unmeasurable;
626
+ if (thinAxisLine) sample.chrome.push({
627
+ ...item1,
628
+ label: `${chrome} line`
629
+ });else sample.unaccountedPaint.push({
630
+ ...item1,
631
+ unmeasurable: "unsupported-paint"
632
+ });
633
+ }
634
+ } catch (err) {
635
+ _didIteratorError3 = true;
636
+ _iteratorError3 = err;
637
+ } finally {
638
+ try {
639
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
640
+ _iterator3.return();
641
+ }
642
+ } finally {
643
+ if (_didIteratorError3) {
644
+ throw _iteratorError3;
645
+ }
646
+ }
647
+ }
648
+ if (sample.kind === "bar" && marks.length > 0 && marks.every(function (mark2, index3) {
649
+ return (
650
+ // A bar path that declares its box (value-end rounding, MPO-56)
651
+ // paints inside that box just as a rect does.
652
+ (mark2.tagName.toLowerCase() === "rect" || mark2.tagName.toLowerCase() === "path" && mark2.hasAttribute("data-mpo-chart-bar")) && getComputedStyle(mark2).stroke === "none" && !sample.marks[index3].unmeasurable
653
+ );
654
+ })) {
655
+ var minimumGapPx = Infinity;
656
+ var bounds = marks.map(function (mark2) {
657
+ return mark2.getBoundingClientRect();
658
+ });
659
+ for (var i = 0; i < bounds.length; i++) for (var j = i + 1; j < bounds.length; j++) {
660
+ var a = bounds[i];
661
+ var b = bounds[j];
662
+ var dx = Math.max(0, a.left - b.right, b.left - a.right);
663
+ var dy = Math.max(0, a.top - b.bottom, b.top - a.bottom);
664
+ minimumGapPx = Math.min(minimumGapPx, Math.hypot(dx, dy) * window.devicePixelRatio);
665
+ }
666
+ sample.separation.method = "rect-bounds";
667
+ sample.separation.minimumGapPx = Number.isFinite(minimumGapPx) ? minimumGapPx : 2;
668
+ }
669
+ if (sample.kind === "area") (_unmeasurable = (_sample = sample).unmeasurable) !== null && _unmeasurable !== void 0 ? _unmeasurable : _sample.unmeasurable = "unsupported-overlap";
670
+ }
671
+ function collectText(el, key2, cs) {
672
+ var directText = [];
673
+ var _iteratorNormalCompletion2 = true,
674
+ _didIteratorError2 = false,
675
+ _iteratorError2 = void 0;
676
+ try {
677
+ for (var _iterator2 = Array.from(el.childNodes)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
678
+ var child2 = _step2.value;
679
+ var _child_textContent;
680
+ if (child2.nodeType === 3 && ((_child_textContent = child2.textContent) !== null && _child_textContent !== void 0 ? _child_textContent : "").trim().length > 0) {
681
+ directText.push(child2);
682
+ }
683
+ }
684
+ } catch (err) {
685
+ _didIteratorError2 = true;
686
+ _iteratorError2 = err;
687
+ } finally {
688
+ try {
689
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
690
+ _iterator2.return();
691
+ }
692
+ } finally {
693
+ if (_didIteratorError2) {
694
+ throw _iteratorError2;
695
+ }
696
+ }
697
+ }
698
+ if (directText.length === 0) return void 0;
699
+ var range = document.createRange();
700
+ range.setStartBefore(directText[0]);
701
+ range.setEndAfter(directText[directText.length - 1]);
702
+ var textRect = range.getBoundingClientRect();
703
+ if (!(textRect.width > 0 && textRect.height > 0)) return void 0;
704
+ var opacity = effectiveOpacity(el);
705
+ if (opacity > 0.05 && cs.visibility !== "hidden") {
706
+ var ink = parseCssColor(cs.color);
707
+ var backdrop = effectiveBackground(el);
708
+ if (ink) {
709
+ var _parseCssColor, _directText__textContent;
710
+ var baseParsed = (_parseCssColor = parseCssColor(backdrop.hex)) !== null && _parseCssColor !== void 0 ? _parseCssColor : [255, 255, 255, 1];
711
+ var inkOpaque = toHex(ink[3] >= 0.999 ? [ink[0], ink[1], ink[2]] : blend(ink, [baseParsed[0], baseParsed[1], baseParsed[2]]));
712
+ textSamples.push({
713
+ key: key2,
714
+ text: ((_directText__textContent = directText[0].textContent) !== null && _directText__textContent !== void 0 ? _directText__textContent : "").trim().slice(0, 60),
715
+ color: inkOpaque,
716
+ background: backdrop.hex,
717
+ backgroundResolved: backdrop.resolved,
718
+ overImage: backdrop.overImage,
719
+ fontSizePx: Number.parseFloat(cs.fontSize) || 0,
720
+ fontWeightNum: Number.parseFloat(cs.fontWeight) || 400,
721
+ rect: toRect(textRect)
722
+ });
723
+ }
724
+ }
725
+ return toRect(textRect);
726
+ }
727
+ function boxedChildren(el, path) {
728
+ var out = [];
729
+ var counts2 = {};
730
+ var _iteratorNormalCompletion2 = true,
731
+ _didIteratorError2 = false,
732
+ _iteratorError2 = void 0;
733
+ try {
734
+ for (var _iterator2 = Array.from(el.children)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
735
+ var child2 = _step2.value;
736
+ var tag = child2.tagName.toLowerCase();
737
+ if (SKIP_TAGS.has(tag)) continue;
738
+ if (child2.namespaceURI === "http://www.w3.org/2000/svg" && tag !== "svg") continue;
739
+ var cs = getComputedStyle(child2);
740
+ if (cs.display === "none") continue;
741
+ if (cs.display === "contents") {
742
+ var _counts_tag;
743
+ var index2 = (_counts_tag = counts2[tag]) !== null && _counts_tag !== void 0 ? _counts_tag : 0;
744
+ counts2[tag] = index2 + 1;
745
+ collectText(child2, `${path}/${tag}:${index2}~contents`, cs);
746
+ var _iteratorNormalCompletion12 = true,
747
+ _didIteratorError12 = false,
748
+ _iteratorError12 = void 0;
749
+ try {
750
+ for (var _iterator12 = boxedChildren(child2, path)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
751
+ var grandchild = _step12.value;
752
+ out.push(grandchild);
753
+ }
754
+ } catch (err) {
755
+ _didIteratorError12 = true;
756
+ _iteratorError12 = err;
757
+ } finally {
758
+ try {
759
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
760
+ _iterator12.return();
761
+ }
762
+ } finally {
763
+ if (_didIteratorError12) {
764
+ throw _iteratorError12;
765
+ }
766
+ }
767
+ }
768
+ continue;
769
+ }
770
+ out.push(child2);
771
+ }
772
+ } catch (err) {
773
+ _didIteratorError2 = true;
774
+ _iteratorError2 = err;
775
+ } finally {
776
+ try {
777
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
778
+ _iterator2.return();
779
+ }
780
+ } finally {
781
+ if (_didIteratorError2) {
782
+ throw _iteratorError2;
783
+ }
784
+ }
785
+ }
786
+ return out;
787
+ }
788
+ function visit(el, path) {
789
+ var _el_parentElement;
790
+ var tag = el.tagName.toLowerCase();
791
+ var cs = getComputedStyle(el);
792
+ var rect = el.getBoundingClientRect();
793
+ var props = {};
794
+ var _iteratorNormalCompletion2 = true,
795
+ _didIteratorError2 = false,
796
+ _iteratorError2 = void 0;
797
+ try {
798
+ for (var _iterator2 = GEOMETRY_PROPS[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
799
+ var prop = _step2.value;
800
+ props[prop] = cs[prop];
801
+ }
802
+ } catch (err) {
803
+ _didIteratorError2 = true;
804
+ _iteratorError2 = err;
805
+ } finally {
806
+ try {
807
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
808
+ _iterator2.return();
809
+ }
810
+ } finally {
811
+ if (_didIteratorError2) {
812
+ throw _iteratorError2;
813
+ }
814
+ }
815
+ }
816
+ var entry = {
817
+ key: path,
818
+ tag,
819
+ rect: toRect(rect),
820
+ props
821
+ };
822
+ var textRect = collectText(el, path, cs);
823
+ if (textRect) entry.textRect = textRect;
824
+ if (tag === "svg" && !((_el_parentElement = el.parentElement) === null || _el_parentElement === void 0 ? void 0 : _el_parentElement.closest("svg"))) {
825
+ capturedSvgRoots.add(el);
826
+ if (el.hasAttribute("data-mpo-chart")) collectChart(el, path);else collectIcon(el, path, cs);
827
+ }
828
+ geometry.push(entry);
829
+ var counts2 = {};
830
+ var _iteratorNormalCompletion12 = true,
831
+ _didIteratorError12 = false,
832
+ _iteratorError12 = void 0;
833
+ try {
834
+ for (var _iterator12 = boxedChildren(el, path)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
835
+ var child2 = _step12.value;
836
+ var _counts_childTag2;
837
+ var childTag2 = child2.tagName.toLowerCase();
838
+ var index2 = (_counts_childTag2 = counts2[childTag2]) !== null && _counts_childTag2 !== void 0 ? _counts_childTag2 : 0;
839
+ counts2[childTag2] = index2 + 1;
840
+ visit(child2, `${path}/${childTag2}:${index2}`);
841
+ }
842
+ } catch (err) {
843
+ _didIteratorError12 = true;
844
+ _iteratorError12 = err;
845
+ } finally {
846
+ try {
847
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
848
+ _iterator12.return();
849
+ }
850
+ } finally {
851
+ if (_didIteratorError12) {
852
+ throw _iteratorError12;
853
+ }
854
+ }
855
+ }
856
+ }
857
+ if (root) {
858
+ var counts = {};
859
+ var _iteratorNormalCompletion = true,
860
+ _didIteratorError = false,
861
+ _iteratorError = void 0;
862
+ try {
863
+ for (var _iterator = boxedChildren(root, "")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
864
+ var child = _step.value;
865
+ var _counts_childTag;
866
+ var childTag = child.tagName.toLowerCase();
867
+ var index = (_counts_childTag = counts[childTag]) !== null && _counts_childTag !== void 0 ? _counts_childTag : 0;
868
+ counts[childTag] = index + 1;
869
+ visit(child, `${childTag}:${index}`);
870
+ }
871
+ } catch (err) {
872
+ _didIteratorError = true;
873
+ _iteratorError = err;
874
+ } finally {
875
+ try {
876
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
877
+ _iterator.return();
878
+ }
879
+ } finally {
880
+ if (_didIteratorError) {
881
+ throw _iteratorError;
882
+ }
883
+ }
884
+ }
885
+ var svgRoots = Array.from(root.querySelectorAll("svg")).filter(function (svg2) {
886
+ var _svg_parentElement;
887
+ return !((_svg_parentElement = svg2.parentElement) === null || _svg_parentElement === void 0 ? void 0 : _svg_parentElement.closest("svg"));
888
+ });
889
+ svgRootCount = svgRoots.length;
890
+ var _iteratorNormalCompletion1 = true,
891
+ _didIteratorError1 = false,
892
+ _iteratorError1 = void 0;
893
+ try {
894
+ for (var _iterator1 = svgRoots.entries()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
895
+ var [index1, svg] = _step1.value;
896
+ if (capturedSvgRoots.has(svg)) continue;
897
+ var key = `unpainted-svg:${index1}`;
898
+ if (svg.hasAttribute("data-mpo-chart")) collectChart(svg, key);else collectIcon(svg, key, getComputedStyle(svg));
899
+ }
900
+ } catch (err) {
901
+ _didIteratorError1 = true;
902
+ _iteratorError1 = err;
903
+ } finally {
904
+ try {
905
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
906
+ _iterator1.return();
907
+ }
908
+ } finally {
909
+ if (_didIteratorError1) {
910
+ throw _iteratorError1;
911
+ }
912
+ }
913
+ }
914
+ }
915
+ return {
916
+ storyRendered,
917
+ geometry,
918
+ textSamples,
919
+ iconSamples,
920
+ chartSamples,
921
+ svgRootCount
922
+ };
923
+ }
924
+ function diffGeometry(before, after) {
925
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
926
+ var _options_epsilonPx;
927
+ var epsilon = (_options_epsilonPx = options.epsilonPx) !== null && _options_epsilonPx !== void 0 ? _options_epsilonPx : 0;
928
+ var byKey = new Map(before.geometry.map(function (g) {
929
+ return [g.key, g];
930
+ }));
931
+ var seen = /* @__PURE__ */new Set();
932
+ var moves = [];
933
+ var addedKeys = [];
934
+ var rectDiffers = function rectDiffers2(a, b) {
935
+ return Math.abs(a.x - b.x) > epsilon || Math.abs(a.y - b.y) > epsilon || Math.abs(a.w - b.w) > epsilon || Math.abs(a.h - b.h) > epsilon;
936
+ };
937
+ var formatRect = function formatRect2(r) {
938
+ return `${r.x},${r.y} ${r.w}x${r.h}`;
939
+ };
940
+ var _iteratorNormalCompletion = true,
941
+ _didIteratorError = false,
942
+ _iteratorError = void 0;
943
+ try {
944
+ for (var _iterator = after.geometry[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
945
+ var curr = _step.value;
946
+ var prev = byKey.get(curr.key);
947
+ if (!prev) {
948
+ addedKeys.push(curr.key);
949
+ continue;
950
+ }
951
+ seen.add(curr.key);
952
+ if (rectDiffers(prev.rect, curr.rect)) {
953
+ moves.push({
954
+ key: curr.key,
955
+ property: "rect",
956
+ before: formatRect(prev.rect),
957
+ after: formatRect(curr.rect)
958
+ });
959
+ }
960
+ if (prev.textRect && curr.textRect && rectDiffers(prev.textRect, curr.textRect)) {
961
+ moves.push({
962
+ key: curr.key,
963
+ property: "textRect",
964
+ before: formatRect(prev.textRect),
965
+ after: formatRect(curr.textRect)
966
+ });
967
+ } else if (!!prev.textRect !== !!curr.textRect) {
968
+ moves.push({
969
+ key: curr.key,
970
+ property: "textRect",
971
+ before: prev.textRect ? formatRect(prev.textRect) : "(none)",
972
+ after: curr.textRect ? formatRect(curr.textRect) : "(none)"
973
+ });
974
+ }
975
+ var _iteratorNormalCompletion1 = true,
976
+ _didIteratorError1 = false,
977
+ _iteratorError1 = void 0;
978
+ try {
979
+ for (var _iterator1 = Object.keys(prev.props)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
980
+ var prop = _step1.value;
981
+ if (prev.props[prop] !== curr.props[prop]) {
982
+ var _curr_props_prop;
983
+ moves.push({
984
+ key: curr.key,
985
+ property: prop,
986
+ before: prev.props[prop],
987
+ after: (_curr_props_prop = curr.props[prop]) !== null && _curr_props_prop !== void 0 ? _curr_props_prop : "(missing)"
988
+ });
989
+ }
990
+ }
991
+ } catch (err) {
992
+ _didIteratorError1 = true;
993
+ _iteratorError1 = err;
994
+ } finally {
995
+ try {
996
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
997
+ _iterator1.return();
998
+ }
999
+ } finally {
1000
+ if (_didIteratorError1) {
1001
+ throw _iteratorError1;
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+ } catch (err) {
1007
+ _didIteratorError = true;
1008
+ _iteratorError = err;
1009
+ } finally {
1010
+ try {
1011
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1012
+ _iterator.return();
1013
+ }
1014
+ } finally {
1015
+ if (_didIteratorError) {
1016
+ throw _iteratorError;
1017
+ }
1018
+ }
1019
+ }
1020
+ var removedKeys = before.geometry.filter(function (g) {
1021
+ return !seen.has(g.key);
1022
+ }).map(function (g) {
1023
+ return g.key;
1024
+ });
1025
+ return {
1026
+ identical: moves.length === 0 && addedKeys.length === 0 && removedKeys.length === 0,
1027
+ removedKeys,
1028
+ addedKeys,
1029
+ moves
1030
+ };
1031
+ }
1032
+ function evaluateTextContrast(samples) {
1033
+ var measured = 0;
1034
+ var unmeasurable = 0;
1035
+ var violations = [];
1036
+ var _iteratorNormalCompletion = true,
1037
+ _didIteratorError = false,
1038
+ _iteratorError = void 0;
1039
+ try {
1040
+ for (var _iterator = samples[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1041
+ var sample = _step.value;
1042
+ if (!sample.backgroundResolved) {
1043
+ unmeasurable++;
1044
+ continue;
1045
+ }
1046
+ var large = sample.fontSizePx >= 24 || sample.fontSizePx >= 18.66 && sample.fontWeightNum >= 700;
1047
+ var required = large ? import_colorRules.minContrastRatio : import_colorRules.aaTextContrastRatio;
1048
+ try {
1049
+ var report = (0, import_colorRules.measureContrast)({
1050
+ foreground: sample.color,
1051
+ background: sample.background,
1052
+ floor: required,
1053
+ label: sample.key
1054
+ });
1055
+ measured++;
1056
+ if (!report.pass) {
1057
+ violations.push({
1058
+ key: sample.key,
1059
+ text: sample.text,
1060
+ color: report.foreground,
1061
+ background: report.background,
1062
+ ratio: report.ratio,
1063
+ required: report.floor
1064
+ });
1065
+ }
1066
+ } catch (unused) {
1067
+ unmeasurable++;
1068
+ }
1069
+ }
1070
+ } catch (err) {
1071
+ _didIteratorError = true;
1072
+ _iteratorError = err;
1073
+ } finally {
1074
+ try {
1075
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1076
+ _iterator.return();
1077
+ }
1078
+ } finally {
1079
+ if (_didIteratorError) {
1080
+ throw _iteratorError;
1081
+ }
1082
+ }
1083
+ }
1084
+ return {
1085
+ measured,
1086
+ unmeasurable,
1087
+ violations
1088
+ };
1089
+ }
1090
+ function evaluateIconContrast(samples) {
1091
+ var result = {
1092
+ ok: true,
1093
+ candidates: 0,
1094
+ measured: 0,
1095
+ violations: [],
1096
+ unverified: [],
1097
+ excludedDisabled: 0,
1098
+ excludedDecorative: 0,
1099
+ excludedHidden: 0
1100
+ };
1101
+ var _iteratorNormalCompletion = true,
1102
+ _didIteratorError = false,
1103
+ _iteratorError = void 0;
1104
+ try {
1105
+ for (var _iterator = samples[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1106
+ var sample = _step.value;
1107
+ var _sample_unmeasurable;
1108
+ if (sample.status === "disabled-control") {
1109
+ result.excludedDisabled++;
1110
+ continue;
1111
+ }
1112
+ if (sample.status === "decorative-standalone") {
1113
+ result.excludedDecorative++;
1114
+ continue;
1115
+ }
1116
+ if (sample.status === "hidden") {
1117
+ result.excludedHidden++;
1118
+ continue;
1119
+ }
1120
+ result.candidates++;
1121
+ var reason = (_sample_unmeasurable = sample.unmeasurable) !== null && _sample_unmeasurable !== void 0 ? _sample_unmeasurable : !sample.backgroundResolved ? "unresolved-backdrop" : !sample.paint ? "no-paint" : void 0;
1122
+ if (reason) {
1123
+ result.unverified.push({
1124
+ key: sample.key,
1125
+ context: sample.context,
1126
+ reason
1127
+ });
1128
+ continue;
1129
+ }
1130
+ try {
1131
+ var contrast = (0, import_colorRules.measureContrast)({
1132
+ foreground: sample.paint,
1133
+ background: sample.background,
1134
+ floor: import_colorRules.minContrastRatio,
1135
+ label: sample.key
1136
+ });
1137
+ result.measured++;
1138
+ if (!contrast.pass) result.violations.push({
1139
+ key: sample.key,
1140
+ context: sample.context,
1141
+ paint: contrast.foreground,
1142
+ background: contrast.background,
1143
+ ratio: contrast.ratio,
1144
+ required: contrast.floor
1145
+ });
1146
+ } catch (unused) {
1147
+ result.unverified.push({
1148
+ key: sample.key,
1149
+ context: sample.context,
1150
+ reason: "unsupported-paint"
1151
+ });
1152
+ }
1153
+ }
1154
+ } catch (err) {
1155
+ _didIteratorError = true;
1156
+ _iteratorError = err;
1157
+ } finally {
1158
+ try {
1159
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1160
+ _iterator.return();
1161
+ }
1162
+ } finally {
1163
+ if (_didIteratorError) {
1164
+ throw _iteratorError;
1165
+ }
1166
+ }
1167
+ }
1168
+ result.ok = result.violations.length === 0 && result.unverified.length === 0;
1169
+ return result;
1170
+ }
1171
+ function iconContrastSignatures(result) {
1172
+ return [...result.violations.map(function (item) {
1173
+ return `${item.key} (${item.context}) icon ${item.paint} on ${item.background} = ${item.ratio}:1 (floor ${item.required})`;
1174
+ }), ...result.unverified.map(function (item) {
1175
+ return `${item.key} (${item.context}) icon UNVERIFIED: ${item.reason}`;
1176
+ })];
1177
+ }
1178
+ function evaluateChartProof(samples) {
1179
+ var result = {
1180
+ ok: true,
1181
+ candidates: samples.length,
1182
+ measured: 0,
1183
+ marksMeasured: 0,
1184
+ labelsMeasured: 0,
1185
+ byKind: /* @__PURE__ */Object.create(null),
1186
+ violations: [],
1187
+ unverified: []
1188
+ };
1189
+ var _iteratorNormalCompletion = true,
1190
+ _didIteratorError = false,
1191
+ _iteratorError = void 0;
1192
+ try {
1193
+ var _loop = function () {
1194
+ var sample = _step.value;
1195
+ var _result_byKind_sample_kind, _sample_unaccountedPaint;
1196
+ result.byKind[sample.kind] = ((_result_byKind_sample_kind = result.byKind[sample.kind]) !== null && _result_byKind_sample_kind !== void 0 ? _result_byKind_sample_kind : 0) + 1;
1197
+ var unverified = function unverified2(reason) {
1198
+ var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : sample.key,
1199
+ context2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : sample.context;
1200
+ return result.unverified.push({
1201
+ key,
1202
+ context: context2,
1203
+ reason
1204
+ });
1205
+ };
1206
+ if (!["bar", "pie", "donut", "line", "area"].includes(sample.kind)) {
1207
+ unverified("unknown-kind");
1208
+ return "continue";
1209
+ }
1210
+ if (!sample.label.trim()) result.violations.push({
1211
+ key: sample.key,
1212
+ context: sample.context,
1213
+ rule: "missing-label"
1214
+ });
1215
+ if (sample.unmeasurable) unverified(sample.unmeasurable);else if (!sample.backgroundResolved) unverified("unresolved-backdrop");
1216
+ if (!sample.marks.length) unverified("no-marks");
1217
+ var _iteratorNormalCompletion2 = true,
1218
+ _didIteratorError2 = false,
1219
+ _iteratorError2 = void 0;
1220
+ try {
1221
+ for (var _iterator2 = ((_sample_unaccountedPaint = sample.unaccountedPaint) !== null && _sample_unaccountedPaint !== void 0 ? _sample_unaccountedPaint : [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion2 = (_step1 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1222
+ var item = _step1.value;
1223
+ unverified("unsupported-paint", item.key, `${sample.context}: ${item.label}`);
1224
+ }
1225
+ } catch (err) {
1226
+ _didIteratorError2 = true;
1227
+ _iteratorError2 = err;
1228
+ } finally {
1229
+ try {
1230
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1231
+ _iterator2.return();
1232
+ }
1233
+ } finally {
1234
+ if (_didIteratorError2) {
1235
+ throw _iteratorError2;
1236
+ }
1237
+ }
1238
+ }
1239
+ if (!sample.datumText.declared || !sample.datumText.complete || sample.datumText.expected <= 0 || sample.datumText.observed !== sample.datumText.expected) unverified("incomplete-datum-text", sample.key, sample.datumText.failure ? `${sample.context}: ${sample.datumText.failure}` : sample.context);
1240
+ var compare = function compare2(paint, background, key, context2, rule, floor) {
1241
+ try {
1242
+ var measured = (0, import_colorRules.measureContrast)({
1243
+ foreground: paint,
1244
+ background,
1245
+ floor,
1246
+ label: key
1247
+ });
1248
+ if (!measured.pass) result.violations.push({
1249
+ key,
1250
+ context: context2,
1251
+ rule,
1252
+ paint: measured.foreground,
1253
+ background: measured.background,
1254
+ ratio: measured.ratio,
1255
+ required: measured.floor
1256
+ });
1257
+ return true;
1258
+ } catch (unused) {
1259
+ unverified("unsupported-paint", key, context2);
1260
+ return false;
1261
+ }
1262
+ };
1263
+ var _iteratorNormalCompletion1 = true,
1264
+ _didIteratorError1 = false,
1265
+ _iteratorError1 = void 0;
1266
+ try {
1267
+ for (var _iterator1 = sample.marks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion1 = (_step2 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1268
+ var mark = _step2.value;
1269
+ var _mark_unmeasurable;
1270
+ var context = `${sample.context}: ${mark.label}`;
1271
+ if (mark.unmeasurable || !mark.paint) unverified((_mark_unmeasurable = mark.unmeasurable) !== null && _mark_unmeasurable !== void 0 ? _mark_unmeasurable : "no-paint", mark.key, context);else if (compare(mark.paint, mark.background, mark.key, context, "mark-backdrop", import_colorRules.minContrastRatio)) result.marksMeasured++;
1272
+ }
1273
+ } catch (err) {
1274
+ _didIteratorError1 = true;
1275
+ _iteratorError1 = err;
1276
+ } finally {
1277
+ try {
1278
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1279
+ _iterator1.return();
1280
+ }
1281
+ } finally {
1282
+ if (_didIteratorError1) {
1283
+ throw _iteratorError1;
1284
+ }
1285
+ }
1286
+ }
1287
+ var _iteratorNormalCompletion22 = true,
1288
+ _didIteratorError22 = false,
1289
+ _iteratorError22 = void 0;
1290
+ try {
1291
+ for (var _iterator22 = sample.labels[Symbol.iterator](), _step3; !(_iteratorNormalCompletion22 = (_step3 = _iterator22.next()).done); _iteratorNormalCompletion22 = true) {
1292
+ var label = _step3.value;
1293
+ var _label_unmeasurable;
1294
+ var context1 = `${sample.context}: ${label.label}`;
1295
+ if (label.unmeasurable || !label.paint) unverified((_label_unmeasurable = label.unmeasurable) !== null && _label_unmeasurable !== void 0 ? _label_unmeasurable : "no-paint", label.key, context1);else if (compare(label.paint, label.background, label.key, context1, "axis-text", import_colorRules.aaTextContrastRatio)) result.labelsMeasured++;
1296
+ }
1297
+ } catch (err) {
1298
+ _didIteratorError22 = true;
1299
+ _iteratorError22 = err;
1300
+ } finally {
1301
+ try {
1302
+ if (!_iteratorNormalCompletion22 && _iterator22.return != null) {
1303
+ _iterator22.return();
1304
+ }
1305
+ } finally {
1306
+ if (_didIteratorError22) {
1307
+ throw _iteratorError22;
1308
+ }
1309
+ }
1310
+ }
1311
+ var separated = (sample.kind === "bar" && sample.separation.method === "rect-bounds" || (sample.kind === "pie" || sample.kind === "donut") && sample.separation.method === "eroded-arc") && Number.isFinite(sample.separation.minimumGapPx) && sample.separation.minimumGapPx >= 2;
1312
+ if (sample.kind === "bar" && !separated) unverified("unverified-separation");
1313
+ if (sample.kind === "pie" || sample.kind === "donut") {
1314
+ if (sample.separation.declared && !separated) unverified("unverified-separation");
1315
+ if (sample.marks.length > 1 && !separated) {
1316
+ for (var i = 0; i < sample.marks.length; i++) {
1317
+ var first = sample.marks[i];
1318
+ var second = sample.marks[(i + 1) % sample.marks.length];
1319
+ if (sample.marks.length === 2 && i === 1) continue;
1320
+ if (first.paint && second.paint && !first.unmeasurable && !second.unmeasurable) compare(first.paint, second.paint, `${first.key}~${second.key}`, `${sample.context}: ${first.label} / ${second.label}`, "adjacent-pair", import_colorRules.minContrastRatio);
1321
+ }
1322
+ }
1323
+ }
1324
+ if (!sample.unmeasurable && sample.backgroundResolved && sample.marks.length > 0 && sample.marks.every(function (mark2) {
1325
+ return mark2.paint && !mark2.unmeasurable;
1326
+ })) result.measured++;
1327
+ };
1328
+ for (var _iterator = samples[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
1329
+ } catch (err) {
1330
+ _didIteratorError = true;
1331
+ _iteratorError = err;
1332
+ } finally {
1333
+ try {
1334
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1335
+ _iterator.return();
1336
+ }
1337
+ } finally {
1338
+ if (_didIteratorError) {
1339
+ throw _iteratorError;
1340
+ }
1341
+ }
1342
+ }
1343
+ result.ok = result.violations.length === 0 && result.unverified.length === 0;
1344
+ return result;
1345
+ }
1346
+ function chartProofSignatures(result) {
1347
+ return [...result.violations.map(function (item) {
1348
+ return `${item.key} (${item.context}) chart ${item.rule}${item.ratio === void 0 ? "" : ` ${item.paint} on ${item.background} = ${item.ratio}:1 (floor ${item.required})`}`;
1349
+ }), ...result.unverified.map(function (item) {
1350
+ return `${item.key} (${item.context}) chart UNVERIFIED: ${item.reason}`;
1351
+ })];
1352
+ }
1353
+ function auditSignatures(violations) {
1354
+ var out = [];
1355
+ var _iteratorNormalCompletion = true,
1356
+ _didIteratorError = false,
1357
+ _iteratorError = void 0;
1358
+ try {
1359
+ for (var _iterator = violations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1360
+ var element = _step.value;
1361
+ var _iteratorNormalCompletion1 = true,
1362
+ _didIteratorError1 = false,
1363
+ _iteratorError1 = void 0;
1364
+ try {
1365
+ for (var _iterator1 = element.violations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1366
+ var violation = _step1.value;
1367
+ out.push(`${element.key ? `[${element.key}] ` : ""}${element.label} :: ${violation}`);
1368
+ }
1369
+ } catch (err) {
1370
+ _didIteratorError1 = true;
1371
+ _iteratorError1 = err;
1372
+ } finally {
1373
+ try {
1374
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1375
+ _iterator1.return();
1376
+ }
1377
+ } finally {
1378
+ if (_didIteratorError1) {
1379
+ throw _iteratorError1;
1380
+ }
1381
+ }
1382
+ }
1383
+ }
1384
+ } catch (err) {
1385
+ _didIteratorError = true;
1386
+ _iteratorError = err;
1387
+ } finally {
1388
+ try {
1389
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1390
+ _iterator.return();
1391
+ }
1392
+ } finally {
1393
+ if (_didIteratorError) {
1394
+ throw _iteratorError;
1395
+ }
1396
+ }
1397
+ }
1398
+ return out;
1399
+ }
1400
+ function newEntries(before, after) {
1401
+ var _remaining_get;
1402
+ var remaining = /* @__PURE__ */new Map();
1403
+ var _iteratorNormalCompletion = true,
1404
+ _didIteratorError = false,
1405
+ _iteratorError = void 0;
1406
+ try {
1407
+ for (var _iterator = before[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1408
+ var entry = _step.value;
1409
+ remaining.set(entry, ((_remaining_get = remaining.get(entry)) !== null && _remaining_get !== void 0 ? _remaining_get : 0) + 1);
1410
+ }
1411
+ } catch (err) {
1412
+ _didIteratorError = true;
1413
+ _iteratorError = err;
1414
+ } finally {
1415
+ try {
1416
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1417
+ _iterator.return();
1418
+ }
1419
+ } finally {
1420
+ if (_didIteratorError) {
1421
+ throw _iteratorError;
1422
+ }
1423
+ }
1424
+ }
1425
+ var added = [];
1426
+ var _iteratorNormalCompletion1 = true,
1427
+ _didIteratorError1 = false,
1428
+ _iteratorError1 = void 0;
1429
+ try {
1430
+ for (var _iterator1 = after[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1431
+ var entry1 = _step1.value;
1432
+ var _remaining_get1;
1433
+ var count = (_remaining_get1 = remaining.get(entry1)) !== null && _remaining_get1 !== void 0 ? _remaining_get1 : 0;
1434
+ if (count > 0) remaining.set(entry1, count - 1);else added.push(entry1);
1435
+ }
1436
+ } catch (err) {
1437
+ _didIteratorError1 = true;
1438
+ _iteratorError1 = err;
1439
+ } finally {
1440
+ try {
1441
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1442
+ _iterator1.return();
1443
+ }
1444
+ } finally {
1445
+ if (_didIteratorError1) {
1446
+ throw _iteratorError1;
1447
+ }
1448
+ }
1449
+ }
1450
+ return added;
1451
+ }
1452
+ function offScaleIdentity(signature) {
1453
+ return signature.replace(/-?\d+(?:\.\d+)?px/g, "#px").replace(/(inlineColor: \w+=)"[^"]*"/g, '$1"#colour"').replace(/\.font_[\w-]+/g, ".font_#family");
1454
+ }
1455
+ function newOffScaleEntries(before, after) {
1456
+ var _pending_get;
1457
+ var added = newEntries(before.map(offScaleIdentity), after.map(offScaleIdentity));
1458
+ var pending = /* @__PURE__ */new Map();
1459
+ var _iteratorNormalCompletion = true,
1460
+ _didIteratorError = false,
1461
+ _iteratorError = void 0;
1462
+ try {
1463
+ for (var _iterator = added[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1464
+ var identity = _step.value;
1465
+ pending.set(identity, ((_pending_get = pending.get(identity)) !== null && _pending_get !== void 0 ? _pending_get : 0) + 1);
1466
+ }
1467
+ } catch (err) {
1468
+ _didIteratorError = true;
1469
+ _iteratorError = err;
1470
+ } finally {
1471
+ try {
1472
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1473
+ _iterator.return();
1474
+ }
1475
+ } finally {
1476
+ if (_didIteratorError) {
1477
+ throw _iteratorError;
1478
+ }
1479
+ }
1480
+ }
1481
+ var named = [];
1482
+ var _iteratorNormalCompletion1 = true,
1483
+ _didIteratorError1 = false,
1484
+ _iteratorError1 = void 0;
1485
+ try {
1486
+ for (var _iterator1 = after[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
1487
+ var signature = _step1.value;
1488
+ var _pending_get1;
1489
+ var identity1 = offScaleIdentity(signature);
1490
+ var count = (_pending_get1 = pending.get(identity1)) !== null && _pending_get1 !== void 0 ? _pending_get1 : 0;
1491
+ if (count === 0) continue;
1492
+ pending.set(identity1, count - 1);
1493
+ named.push(signature);
1494
+ }
1495
+ } catch (err) {
1496
+ _didIteratorError1 = true;
1497
+ _iteratorError1 = err;
1498
+ } finally {
1499
+ try {
1500
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
1501
+ _iterator1.return();
1502
+ }
1503
+ } finally {
1504
+ if (_didIteratorError1) {
1505
+ throw _iteratorError1;
1506
+ }
1507
+ }
1508
+ }
1509
+ return named;
1510
+ }
1511
+ var namedList = function namedList2(entries) {
1512
+ var limit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 6;
1513
+ if (entries.length === 0) return "";
1514
+ var shown = entries.slice(0, limit).join("; ");
1515
+ return entries.length > limit ? ` \u2014 new: ${shown}; \u2026 ${entries.length - limit} more` : ` \u2014 new: ${shown}`;
1516
+ };
1517
+ function evaluateNoBreakage(input) {
1518
+ var failures = [];
1519
+ if (!input.storyRendered) {
1520
+ failures.push("story did not render (empty story root)");
1521
+ }
1522
+ var structuralAdded = input.offScaleSignatures && input.baselineOffScaleSignatures ? newOffScaleEntries(input.baselineOffScaleSignatures, input.offScaleSignatures) : [];
1523
+ if (structuralAdded.length || input.offScaleViolations > input.baselineOffScaleViolations) {
1524
+ failures.push(`constraint audit: ${input.offScaleViolations} off-scale violations (default cell has ${input.baselineOffScaleViolations})${namedList(structuralAdded)}`);
1525
+ }
1526
+ var signature = function signature2(violation) {
1527
+ return `${violation.key} "${violation.text}" ${violation.color} on ${violation.background} = ${violation.ratio}:1 (floor ${violation.required})`;
1528
+ };
1529
+ var contrastAdded = input.baselineContrast ? newEntries(input.baselineContrast.violations.map(signature), input.contrast.violations.map(signature)) : [];
1530
+ if (contrastAdded.length || input.contrast.violations.length > input.baselineContrastViolations) {
1531
+ failures.push(`text contrast: ${input.contrast.violations.length} below-floor text nodes (default cell has ${input.baselineContrastViolations})${namedList(contrastAdded)}`);
1532
+ }
1533
+ if (input.icons === void 0 !== (input.baselineIcons === void 0)) {
1534
+ failures.push("icon contrast: icons and baselineIcons must be supplied together");
1535
+ } else if (input.icons && input.baselineIcons) {
1536
+ var newIconFindings = newEntries(iconContrastSignatures(input.baselineIcons), iconContrastSignatures(input.icons));
1537
+ if (newIconFindings.length > 0) {
1538
+ failures.push(`icon contrast: ${newIconFindings.length} new findings${namedList(newIconFindings)}`);
1539
+ }
1540
+ }
1541
+ if (input.charts === void 0 !== (input.baselineCharts === void 0)) {
1542
+ failures.push("chart proof: charts and baselineCharts must be supplied together");
1543
+ } else if (input.charts && input.baselineCharts) {
1544
+ var added = newEntries(chartProofSignatures(input.baselineCharts), chartProofSignatures(input.charts));
1545
+ if (added.length) failures.push(`chart proof: ${added.length} new findings${namedList(added)}`);
1546
+ }
1547
+ return {
1548
+ ok: failures.length === 0,
1549
+ failures
1550
+ };
1551
+ }
1552
+ //# sourceMappingURL=themeMatrix.native.js.map