@oxyhq/bloom 0.35.8 → 0.37.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 (310) hide show
  1. package/lib/commonjs/frosted-icon-button/FrostedIconButton.js +148 -0
  2. package/lib/commonjs/frosted-icon-button/FrostedIconButton.js.map +1 -0
  3. package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js +166 -0
  4. package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js.map +1 -0
  5. package/lib/commonjs/frosted-icon-button/index.js +13 -0
  6. package/lib/commonjs/frosted-icon-button/index.js.map +1 -0
  7. package/lib/commonjs/frosted-icon-button/index.web.js +13 -0
  8. package/lib/commonjs/frosted-icon-button/index.web.js.map +1 -0
  9. package/lib/commonjs/frosted-icon-button/shared.js +112 -0
  10. package/lib/commonjs/frosted-icon-button/shared.js.map +1 -0
  11. package/lib/commonjs/frosted-icon-button/types.js +6 -0
  12. package/lib/commonjs/frosted-icon-button/types.js.map +1 -0
  13. package/lib/commonjs/index.js +10 -1
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/index.web.js +46 -37
  16. package/lib/commonjs/index.web.js.map +1 -1
  17. package/lib/commonjs/theme/build-theme.js +31 -43
  18. package/lib/commonjs/theme/build-theme.js.map +1 -1
  19. package/lib/commonjs/theme/color-engine/cam16.js +161 -0
  20. package/lib/commonjs/theme/color-engine/cam16.js.map +1 -0
  21. package/lib/commonjs/theme/color-engine/color-role.js +183 -0
  22. package/lib/commonjs/theme/color-engine/color-role.js.map +1 -0
  23. package/lib/commonjs/theme/color-engine/color-roles.js +416 -0
  24. package/lib/commonjs/theme/color-engine/color-roles.js.map +1 -0
  25. package/lib/commonjs/theme/color-engine/color-utils.js +157 -0
  26. package/lib/commonjs/theme/color-engine/color-utils.js.map +1 -0
  27. package/lib/commonjs/theme/color-engine/contrast-curve.js +32 -0
  28. package/lib/commonjs/theme/color-engine/contrast-curve.js.map +1 -0
  29. package/lib/commonjs/theme/color-engine/contrast.js +70 -0
  30. package/lib/commonjs/theme/color-engine/contrast.js.map +1 -0
  31. package/lib/commonjs/theme/color-engine/dislike-analyzer.js +26 -0
  32. package/lib/commonjs/theme/color-engine/dislike-analyzer.js.map +1 -0
  33. package/lib/commonjs/theme/color-engine/dynamic-scheme.js +70 -0
  34. package/lib/commonjs/theme/color-engine/dynamic-scheme.js.map +1 -0
  35. package/lib/commonjs/theme/color-engine/hct-solver.js +236 -0
  36. package/lib/commonjs/theme/color-engine/hct-solver.js.map +1 -0
  37. package/lib/commonjs/theme/color-engine/hct.js +67 -0
  38. package/lib/commonjs/theme/color-engine/hct.js.map +1 -0
  39. package/lib/commonjs/theme/color-engine/index.js +173 -0
  40. package/lib/commonjs/theme/color-engine/index.js.map +1 -0
  41. package/lib/commonjs/theme/color-engine/lab-point-provider.js +32 -0
  42. package/lib/commonjs/theme/color-engine/lab-point-provider.js.map +1 -0
  43. package/lib/commonjs/theme/color-engine/math-utils.js +77 -0
  44. package/lib/commonjs/theme/color-engine/math-utils.js.map +1 -0
  45. package/lib/commonjs/theme/color-engine/quantizer-map.js +24 -0
  46. package/lib/commonjs/theme/color-engine/quantizer-map.js.map +1 -0
  47. package/lib/commonjs/theme/color-engine/quantizer-wu.js +266 -0
  48. package/lib/commonjs/theme/color-engine/quantizer-wu.js.map +1 -0
  49. package/lib/commonjs/theme/color-engine/scheme-variants.js +102 -0
  50. package/lib/commonjs/theme/color-engine/scheme-variants.js.map +1 -0
  51. package/lib/commonjs/theme/color-engine/score.js +80 -0
  52. package/lib/commonjs/theme/color-engine/score.js.map +1 -0
  53. package/lib/commonjs/theme/color-engine/seed-from-image.js +73 -0
  54. package/lib/commonjs/theme/color-engine/seed-from-image.js.map +1 -0
  55. package/lib/commonjs/theme/color-engine/tonal-palette.js +95 -0
  56. package/lib/commonjs/theme/color-engine/tonal-palette.js.map +1 -0
  57. package/lib/commonjs/theme/color-engine/tone-delta-pair.js +26 -0
  58. package/lib/commonjs/theme/color-engine/tone-delta-pair.js.map +1 -0
  59. package/lib/commonjs/theme/color-engine/variant.js +26 -0
  60. package/lib/commonjs/theme/color-engine/variant.js.map +1 -0
  61. package/lib/commonjs/theme/color-engine/viewing-conditions.js +61 -0
  62. package/lib/commonjs/theme/color-engine/viewing-conditions.js.map +1 -0
  63. package/lib/commonjs/theme/color-presets.js +44 -572
  64. package/lib/commonjs/theme/color-presets.js.map +1 -1
  65. package/lib/commonjs/theme/preset-vars.js +64 -47
  66. package/lib/commonjs/theme/preset-vars.js.map +1 -1
  67. package/lib/module/frosted-icon-button/FrostedIconButton.js +143 -0
  68. package/lib/module/frosted-icon-button/FrostedIconButton.js.map +1 -0
  69. package/lib/module/frosted-icon-button/FrostedIconButton.web.js +161 -0
  70. package/lib/module/frosted-icon-button/FrostedIconButton.web.js.map +1 -0
  71. package/lib/module/frosted-icon-button/index.js +4 -0
  72. package/lib/module/frosted-icon-button/index.js.map +1 -0
  73. package/lib/module/frosted-icon-button/index.web.js +11 -0
  74. package/lib/module/frosted-icon-button/index.web.js.map +1 -0
  75. package/lib/module/frosted-icon-button/shared.js +107 -0
  76. package/lib/module/frosted-icon-button/shared.js.map +1 -0
  77. package/lib/module/frosted-icon-button/types.js +4 -0
  78. package/lib/module/frosted-icon-button/types.js.map +1 -0
  79. package/lib/module/index.js +1 -0
  80. package/lib/module/index.js.map +1 -1
  81. package/lib/module/index.web.js +1 -0
  82. package/lib/module/index.web.js.map +1 -1
  83. package/lib/module/theme/build-theme.js +32 -44
  84. package/lib/module/theme/build-theme.js.map +1 -1
  85. package/lib/module/theme/color-engine/cam16.js +155 -0
  86. package/lib/module/theme/color-engine/cam16.js.map +1 -0
  87. package/lib/module/theme/color-engine/color-role.js +177 -0
  88. package/lib/module/theme/color-engine/color-role.js.map +1 -0
  89. package/lib/module/theme/color-engine/color-roles.js +411 -0
  90. package/lib/module/theme/color-engine/color-roles.js.map +1 -0
  91. package/lib/module/theme/color-engine/color-utils.js +135 -0
  92. package/lib/module/theme/color-engine/color-utils.js.map +1 -0
  93. package/lib/module/theme/color-engine/contrast-curve.js +26 -0
  94. package/lib/module/theme/color-engine/contrast-curve.js.map +1 -0
  95. package/lib/module/theme/color-engine/contrast.js +61 -0
  96. package/lib/module/theme/color-engine/contrast.js.map +1 -0
  97. package/lib/module/theme/color-engine/dislike-analyzer.js +20 -0
  98. package/lib/module/theme/color-engine/dislike-analyzer.js.map +1 -0
  99. package/lib/module/theme/color-engine/dynamic-scheme.js +65 -0
  100. package/lib/module/theme/color-engine/dynamic-scheme.js.map +1 -0
  101. package/lib/module/theme/color-engine/hct-solver.js +231 -0
  102. package/lib/module/theme/color-engine/hct-solver.js.map +1 -0
  103. package/lib/module/theme/color-engine/hct.js +61 -0
  104. package/lib/module/theme/color-engine/hct.js.map +1 -0
  105. package/lib/module/theme/color-engine/index.js +57 -0
  106. package/lib/module/theme/color-engine/index.js.map +1 -0
  107. package/lib/module/theme/color-engine/lab-point-provider.js +25 -0
  108. package/lib/module/theme/color-engine/lab-point-provider.js.map +1 -0
  109. package/lib/module/theme/color-engine/math-utils.js +65 -0
  110. package/lib/module/theme/color-engine/math-utils.js.map +1 -0
  111. package/lib/module/theme/color-engine/quantizer-map.js +20 -0
  112. package/lib/module/theme/color-engine/quantizer-map.js.map +1 -0
  113. package/lib/module/theme/color-engine/quantizer-wu.js +261 -0
  114. package/lib/module/theme/color-engine/quantizer-wu.js.map +1 -0
  115. package/lib/module/theme/color-engine/scheme-variants.js +93 -0
  116. package/lib/module/theme/color-engine/scheme-variants.js.map +1 -0
  117. package/lib/module/theme/color-engine/score.js +75 -0
  118. package/lib/module/theme/color-engine/score.js.map +1 -0
  119. package/lib/module/theme/color-engine/seed-from-image.js +67 -0
  120. package/lib/module/theme/color-engine/seed-from-image.js.map +1 -0
  121. package/lib/module/theme/color-engine/tonal-palette.js +89 -0
  122. package/lib/module/theme/color-engine/tonal-palette.js.map +1 -0
  123. package/lib/module/theme/color-engine/tone-delta-pair.js +21 -0
  124. package/lib/module/theme/color-engine/tone-delta-pair.js.map +1 -0
  125. package/lib/module/theme/color-engine/variant.js +22 -0
  126. package/lib/module/theme/color-engine/variant.js.map +1 -0
  127. package/lib/module/theme/color-engine/viewing-conditions.js +55 -0
  128. package/lib/module/theme/color-engine/viewing-conditions.js.map +1 -0
  129. package/lib/module/theme/color-presets.js +44 -572
  130. package/lib/module/theme/color-presets.js.map +1 -1
  131. package/lib/module/theme/preset-vars.js +64 -46
  132. package/lib/module/theme/preset-vars.js.map +1 -1
  133. package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.d.ts +5 -0
  134. package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts +5 -0
  136. package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/frosted-icon-button/index.d.ts +3 -0
  138. package/lib/typescript/commonjs/frosted-icon-button/index.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts +3 -0
  140. package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts +60 -0
  142. package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/frosted-icon-button/types.d.ts +69 -0
  144. package/lib/typescript/commonjs/frosted-icon-button/types.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/index.d.ts +2 -0
  146. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/index.web.d.ts +2 -0
  148. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/theme/color-engine/cam16.d.ts +26 -0
  151. package/lib/typescript/commonjs/theme/color-engine/cam16.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/theme/color-engine/color-role.d.ts +36 -0
  153. package/lib/typescript/commonjs/theme/color-engine/color-role.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/theme/color-engine/color-roles.d.ts +58 -0
  155. package/lib/typescript/commonjs/theme/color-engine/color-roles.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/theme/color-engine/color-utils.d.ts +32 -0
  157. package/lib/typescript/commonjs/theme/color-engine/color-utils.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/theme/color-engine/contrast-curve.d.ts +9 -0
  159. package/lib/typescript/commonjs/theme/color-engine/contrast-curve.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/theme/color-engine/contrast.d.ts +12 -0
  161. package/lib/typescript/commonjs/theme/color-engine/contrast.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/theme/color-engine/dislike-analyzer.d.ts +11 -0
  163. package/lib/typescript/commonjs/theme/color-engine/dislike-analyzer.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/theme/color-engine/dynamic-scheme.d.ts +47 -0
  165. package/lib/typescript/commonjs/theme/color-engine/dynamic-scheme.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/theme/color-engine/hct-solver.d.ts +6 -0
  167. package/lib/typescript/commonjs/theme/color-engine/hct-solver.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/theme/color-engine/hct.d.ts +20 -0
  169. package/lib/typescript/commonjs/theme/color-engine/hct.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/theme/color-engine/index.d.ts +44 -0
  171. package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/theme/color-engine/lab-point-provider.d.ts +6 -0
  173. package/lib/typescript/commonjs/theme/color-engine/lab-point-provider.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/theme/color-engine/math-utils.d.ts +46 -0
  175. package/lib/typescript/commonjs/theme/color-engine/math-utils.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/theme/color-engine/quantizer-map.d.ts +3 -0
  177. package/lib/typescript/commonjs/theme/color-engine/quantizer-map.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/theme/color-engine/quantizer-wu.d.ts +3 -0
  179. package/lib/typescript/commonjs/theme/color-engine/quantizer-wu.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +23 -0
  181. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/theme/color-engine/score.d.ts +8 -0
  183. package/lib/typescript/commonjs/theme/color-engine/score.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts +13 -0
  185. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/theme/color-engine/tonal-palette.d.ts +24 -0
  187. package/lib/typescript/commonjs/theme/color-engine/tonal-palette.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/theme/color-engine/tone-delta-pair.d.ts +19 -0
  189. package/lib/typescript/commonjs/theme/color-engine/tone-delta-pair.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/theme/color-engine/variant.d.ts +19 -0
  191. package/lib/typescript/commonjs/theme/color-engine/variant.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/theme/color-engine/viewing-conditions.d.ts +18 -0
  193. package/lib/typescript/commonjs/theme/color-engine/viewing-conditions.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/theme/color-presets.d.ts +25 -20
  195. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  196. package/lib/typescript/commonjs/theme/preset-vars.d.ts +16 -12
  197. package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
  198. package/lib/typescript/module/frosted-icon-button/FrostedIconButton.d.ts +5 -0
  199. package/lib/typescript/module/frosted-icon-button/FrostedIconButton.d.ts.map +1 -0
  200. package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts +5 -0
  201. package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -0
  202. package/lib/typescript/module/frosted-icon-button/index.d.ts +3 -0
  203. package/lib/typescript/module/frosted-icon-button/index.d.ts.map +1 -0
  204. package/lib/typescript/module/frosted-icon-button/index.web.d.ts +3 -0
  205. package/lib/typescript/module/frosted-icon-button/index.web.d.ts.map +1 -0
  206. package/lib/typescript/module/frosted-icon-button/shared.d.ts +60 -0
  207. package/lib/typescript/module/frosted-icon-button/shared.d.ts.map +1 -0
  208. package/lib/typescript/module/frosted-icon-button/types.d.ts +69 -0
  209. package/lib/typescript/module/frosted-icon-button/types.d.ts.map +1 -0
  210. package/lib/typescript/module/index.d.ts +2 -0
  211. package/lib/typescript/module/index.d.ts.map +1 -1
  212. package/lib/typescript/module/index.web.d.ts +2 -0
  213. package/lib/typescript/module/index.web.d.ts.map +1 -1
  214. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
  215. package/lib/typescript/module/theme/color-engine/cam16.d.ts +26 -0
  216. package/lib/typescript/module/theme/color-engine/cam16.d.ts.map +1 -0
  217. package/lib/typescript/module/theme/color-engine/color-role.d.ts +36 -0
  218. package/lib/typescript/module/theme/color-engine/color-role.d.ts.map +1 -0
  219. package/lib/typescript/module/theme/color-engine/color-roles.d.ts +58 -0
  220. package/lib/typescript/module/theme/color-engine/color-roles.d.ts.map +1 -0
  221. package/lib/typescript/module/theme/color-engine/color-utils.d.ts +32 -0
  222. package/lib/typescript/module/theme/color-engine/color-utils.d.ts.map +1 -0
  223. package/lib/typescript/module/theme/color-engine/contrast-curve.d.ts +9 -0
  224. package/lib/typescript/module/theme/color-engine/contrast-curve.d.ts.map +1 -0
  225. package/lib/typescript/module/theme/color-engine/contrast.d.ts +12 -0
  226. package/lib/typescript/module/theme/color-engine/contrast.d.ts.map +1 -0
  227. package/lib/typescript/module/theme/color-engine/dislike-analyzer.d.ts +11 -0
  228. package/lib/typescript/module/theme/color-engine/dislike-analyzer.d.ts.map +1 -0
  229. package/lib/typescript/module/theme/color-engine/dynamic-scheme.d.ts +47 -0
  230. package/lib/typescript/module/theme/color-engine/dynamic-scheme.d.ts.map +1 -0
  231. package/lib/typescript/module/theme/color-engine/hct-solver.d.ts +6 -0
  232. package/lib/typescript/module/theme/color-engine/hct-solver.d.ts.map +1 -0
  233. package/lib/typescript/module/theme/color-engine/hct.d.ts +20 -0
  234. package/lib/typescript/module/theme/color-engine/hct.d.ts.map +1 -0
  235. package/lib/typescript/module/theme/color-engine/index.d.ts +44 -0
  236. package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -0
  237. package/lib/typescript/module/theme/color-engine/lab-point-provider.d.ts +6 -0
  238. package/lib/typescript/module/theme/color-engine/lab-point-provider.d.ts.map +1 -0
  239. package/lib/typescript/module/theme/color-engine/math-utils.d.ts +46 -0
  240. package/lib/typescript/module/theme/color-engine/math-utils.d.ts.map +1 -0
  241. package/lib/typescript/module/theme/color-engine/quantizer-map.d.ts +3 -0
  242. package/lib/typescript/module/theme/color-engine/quantizer-map.d.ts.map +1 -0
  243. package/lib/typescript/module/theme/color-engine/quantizer-wu.d.ts +3 -0
  244. package/lib/typescript/module/theme/color-engine/quantizer-wu.d.ts.map +1 -0
  245. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +23 -0
  246. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -0
  247. package/lib/typescript/module/theme/color-engine/score.d.ts +8 -0
  248. package/lib/typescript/module/theme/color-engine/score.d.ts.map +1 -0
  249. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts +13 -0
  250. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts.map +1 -0
  251. package/lib/typescript/module/theme/color-engine/tonal-palette.d.ts +24 -0
  252. package/lib/typescript/module/theme/color-engine/tonal-palette.d.ts.map +1 -0
  253. package/lib/typescript/module/theme/color-engine/tone-delta-pair.d.ts +19 -0
  254. package/lib/typescript/module/theme/color-engine/tone-delta-pair.d.ts.map +1 -0
  255. package/lib/typescript/module/theme/color-engine/variant.d.ts +19 -0
  256. package/lib/typescript/module/theme/color-engine/variant.d.ts.map +1 -0
  257. package/lib/typescript/module/theme/color-engine/viewing-conditions.d.ts +18 -0
  258. package/lib/typescript/module/theme/color-engine/viewing-conditions.d.ts.map +1 -0
  259. package/lib/typescript/module/theme/color-presets.d.ts +25 -20
  260. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  261. package/lib/typescript/module/theme/preset-vars.d.ts +16 -12
  262. package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
  263. package/package.json +17 -1
  264. package/src/__tests__/BloomThemeProvider.test.tsx +9 -4
  265. package/src/__tests__/FrostedIconButton.test.tsx +137 -0
  266. package/src/__tests__/FrostedIconButton.web.test.tsx +246 -0
  267. package/src/__tests__/native-root-vars.test.ts +8 -4
  268. package/src/__tests__/preset-vars.test.ts +66 -37
  269. package/src/__tests__/theme.test.ts +20 -12
  270. package/src/frosted-icon-button/FrostedIconButton.stories.tsx +65 -0
  271. package/src/frosted-icon-button/FrostedIconButton.tsx +156 -0
  272. package/src/frosted-icon-button/FrostedIconButton.web.tsx +207 -0
  273. package/src/frosted-icon-button/index.ts +2 -0
  274. package/src/frosted-icon-button/index.web.ts +9 -0
  275. package/src/frosted-icon-button/shared.ts +118 -0
  276. package/src/frosted-icon-button/types.ts +81 -0
  277. package/src/index.ts +2 -0
  278. package/src/index.web.ts +2 -0
  279. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +509 -509
  280. package/src/theme/__tests__/__snapshots__/visual-gallery.test.tsx.snap +613 -613
  281. package/src/theme/__tests__/color-engine-golden.test.ts +81 -0
  282. package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
  283. package/src/theme/__tests__/golden-tokens.test.ts +6 -7
  284. package/src/theme/__tests__/runtime-contract.test.ts +8 -8
  285. package/src/theme/__tests__/theme-colors-parity.test.ts +44 -88
  286. package/src/theme/build-theme.ts +32 -44
  287. package/src/theme/color-engine/cam16.ts +179 -0
  288. package/src/theme/color-engine/color-role.ts +217 -0
  289. package/src/theme/color-engine/color-roles.ts +435 -0
  290. package/src/theme/color-engine/color-utils.ts +157 -0
  291. package/src/theme/color-engine/contrast-curve.ts +25 -0
  292. package/src/theme/color-engine/contrast.ts +59 -0
  293. package/src/theme/color-engine/dislike-analyzer.ts +19 -0
  294. package/src/theme/color-engine/dynamic-scheme.ts +90 -0
  295. package/src/theme/color-engine/hct-solver.ts +263 -0
  296. package/src/theme/color-engine/hct.ts +69 -0
  297. package/src/theme/color-engine/index.ts +73 -0
  298. package/src/theme/color-engine/lab-point-provider.ts +26 -0
  299. package/src/theme/color-engine/math-utils.ts +69 -0
  300. package/src/theme/color-engine/quantizer-map.ts +17 -0
  301. package/src/theme/color-engine/quantizer-wu.ts +320 -0
  302. package/src/theme/color-engine/scheme-variants.ts +113 -0
  303. package/src/theme/color-engine/score.ts +82 -0
  304. package/src/theme/color-engine/seed-from-image.ts +64 -0
  305. package/src/theme/color-engine/tonal-palette.ts +94 -0
  306. package/src/theme/color-engine/tone-delta-pair.ts +21 -0
  307. package/src/theme/color-engine/variant.ts +18 -0
  308. package/src/theme/color-engine/viewing-conditions.ts +77 -0
  309. package/src/theme/color-presets.ts +54 -631
  310. package/src/theme/preset-vars.ts +65 -49
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ import { cloneElement, isValidElement } from 'react';
4
+ import { withAlpha } from "../theme/color-utils.js";
5
+
6
+ /** Resolved pixel geometry for a given size prop. */
7
+
8
+ const SIZE_CONFIG = {
9
+ // 32px (`h-8`) — dense.
10
+ sm: {
11
+ diameter: 32,
12
+ iconBox: 18,
13
+ blur: 10
14
+ },
15
+ // 36px (`h-9`) — the default comfortable header/overlay action.
16
+ md: {
17
+ diameter: 36,
18
+ iconBox: 20,
19
+ blur: 12
20
+ }
21
+ };
22
+
23
+ /**
24
+ * Resolve a `size` prop (preset name or raw pixel diameter) to concrete pixel
25
+ * geometry. A numeric size sets the diameter directly, derives the icon box as
26
+ * `round(size * 0.56)` (min 16px) and scales the blur radius with the diameter.
27
+ * Mirrored byte-for-byte between the native and web forks via this one module.
28
+ */
29
+ export function resolveFrostedSize(size) {
30
+ if (typeof size === 'number') {
31
+ return {
32
+ diameter: size,
33
+ iconBox: Math.max(16, Math.round(size * 0.56)),
34
+ blur: Math.max(8, Math.round(size * 0.34))
35
+ };
36
+ }
37
+ return SIZE_CONFIG[size];
38
+ }
39
+
40
+ /**
41
+ * Per-mode alpha weights for the translucent surface + hairline ring.
42
+ *
43
+ * These are calibrated so the chip READS on a SOLID background independently of
44
+ * any content behind it: on a dark theme the surface is a LOW-OPACITY LIGHT tint
45
+ * of the foreground token (lighter than the near-black page — NOT a dark `card`
46
+ * fill that sinks into the background), and on a light theme it is a subtle dark
47
+ * tint. E.g. on a `rgb(11 11 15)` page a `rgba(237,237,237,0.14)` surface
48
+ * composites to ≈`rgb(43 43 47)` — a clearly visible frosted circle.
49
+ */
50
+ const SURFACE_ALPHA = {
51
+ light: 0.06,
52
+ dark: 0.14
53
+ };
54
+ const SURFACE_ALPHA_HOVER = {
55
+ light: 0.1,
56
+ dark: 0.22
57
+ };
58
+ const RING_ALPHA = {
59
+ light: 0.12,
60
+ dark: 0.22
61
+ };
62
+ const RING_ALPHA_HOVER = {
63
+ light: 0.18,
64
+ dark: 0.3
65
+ };
66
+
67
+ /** Theme-aware colors for every frosted-button surface state. */
68
+
69
+ /**
70
+ * Build the frosted palette from the resolved theme colors. Everything is
71
+ * derived from Bloom tokens (`text`/foreground, `primary`, `shadow`) so it is
72
+ * fully theme-aware and Oxy-agnostic — no hardcoded colors.
73
+ */
74
+ export function resolveFrostedPalette(colors, isDark) {
75
+ const k = isDark ? 'dark' : 'light';
76
+ return {
77
+ surface: withAlpha(colors.text, SURFACE_ALPHA[k]),
78
+ surfaceHover: withAlpha(colors.text, SURFACE_ALPHA_HOVER[k]),
79
+ ring: withAlpha(colors.text, RING_ALPHA[k]),
80
+ ringHover: withAlpha(colors.text, RING_ALPHA_HOVER[k]),
81
+ icon: colors.text,
82
+ activeSurface: colors.primary,
83
+ activeIcon: colors.primaryForeground,
84
+ focusRing: colors.primary,
85
+ shadow: colors.shadow
86
+ };
87
+ }
88
+
89
+ /** A React element that accepts a `fill` prop (Bloom icons, raw SVG). */
90
+
91
+ /**
92
+ * Inject `color` as the icon's `fill` — but only as a FALLBACK: if the caller
93
+ * already set an explicit `fill` on the icon element, it wins and the node is
94
+ * returned untouched. Bloom icons resolve their paint as `fill ?? style.color`,
95
+ * so a bare `<Icons.X />` gets the theme-aware color for free while an
96
+ * explicitly-colored icon is never overridden. Non-element children (plain
97
+ * text/strings) pass through unchanged.
98
+ */
99
+ export function applyIconColor(node, color) {
100
+ if (! /*#__PURE__*/isValidElement(node)) return node;
101
+ const el = node;
102
+ if (el.props.fill != null) return node;
103
+ return /*#__PURE__*/cloneElement(el, {
104
+ fill: color
105
+ });
106
+ }
107
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cloneElement","isValidElement","withAlpha","SIZE_CONFIG","sm","diameter","iconBox","blur","md","resolveFrostedSize","size","Math","max","round","SURFACE_ALPHA","light","dark","SURFACE_ALPHA_HOVER","RING_ALPHA","RING_ALPHA_HOVER","resolveFrostedPalette","colors","isDark","k","surface","text","surfaceHover","ring","ringHover","icon","activeSurface","primary","activeIcon","primaryForeground","focusRing","shadow","applyIconColor","node","color","el","props","fill"],"sourceRoot":"../../../src","sources":["frosted-icon-button/shared.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,cAAc,QAA2C,OAAO;AAEvF,SAASC,SAAS,QAAQ,yBAAsB;;AAIhD;;AAUA,MAAMC,WAA2D,GAAG;EAClE;EACAC,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,OAAO,EAAE,EAAE;IAAEC,IAAI,EAAE;EAAG,CAAC;EAC3C;EACAC,EAAE,EAAE;IAAEH,QAAQ,EAAE,EAAE;IAAEC,OAAO,EAAE,EAAE;IAAEC,IAAI,EAAE;EAAG;AAC5C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,kBAAkBA,CAACC,IAAoC,EAAmB;EACxF,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAO;MACLL,QAAQ,EAAEK,IAAI;MACdJ,OAAO,EAAEK,IAAI,CAACC,GAAG,CAAC,EAAE,EAAED,IAAI,CAACE,KAAK,CAACH,IAAI,GAAG,IAAI,CAAC,CAAC;MAC9CH,IAAI,EAAEI,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACH,IAAI,GAAG,IAAI,CAAC;IAC3C,CAAC;EACH;EACA,OAAOP,WAAW,CAACO,IAAI,CAAC;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,aAAa,GAAG;EAAEC,KAAK,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAU;AAC1D,MAAMC,mBAAmB,GAAG;EAAEF,KAAK,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAU;AAC/D,MAAME,UAAU,GAAG;EAAEH,KAAK,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAU;AACvD,MAAMG,gBAAgB,GAAG;EAAEJ,KAAK,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAI,CAAU;;AAE5D;;AA0BA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,qBAAqBA,CAACC,MAAmB,EAAEC,MAAe,EAAkB;EAC1F,MAAMC,CAAC,GAAGD,MAAM,GAAG,MAAM,GAAG,OAAO;EACnC,OAAO;IACLE,OAAO,EAAEtB,SAAS,CAACmB,MAAM,CAACI,IAAI,EAAEX,aAAa,CAACS,CAAC,CAAC,CAAC;IACjDG,YAAY,EAAExB,SAAS,CAACmB,MAAM,CAACI,IAAI,EAAER,mBAAmB,CAACM,CAAC,CAAC,CAAC;IAC5DI,IAAI,EAAEzB,SAAS,CAACmB,MAAM,CAACI,IAAI,EAAEP,UAAU,CAACK,CAAC,CAAC,CAAC;IAC3CK,SAAS,EAAE1B,SAAS,CAACmB,MAAM,CAACI,IAAI,EAAEN,gBAAgB,CAACI,CAAC,CAAC,CAAC;IACtDM,IAAI,EAAER,MAAM,CAACI,IAAI;IACjBK,aAAa,EAAET,MAAM,CAACU,OAAO;IAC7BC,UAAU,EAAEX,MAAM,CAACY,iBAAiB;IACpCC,SAAS,EAAEb,MAAM,CAACU,OAAO;IACzBI,MAAM,EAAEd,MAAM,CAACc;EACjB,CAAC;AACH;;AAEA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,IAAe,EAAEC,KAAa,EAAa;EACxE,IAAI,eAACrC,cAAc,CAACoC,IAAI,CAAC,EAAE,OAAOA,IAAI;EACtC,MAAME,EAAE,GAAGF,IAAuB;EAClC,IAAIE,EAAE,CAACC,KAAK,CAACC,IAAI,IAAI,IAAI,EAAE,OAAOJ,IAAI;EACtC,oBAAOrC,YAAY,CAACuC,EAAE,EAAE;IAAEE,IAAI,EAAEH;EAAM,CAAC,CAAC;AAC1C","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["frosted-icon-button/types.ts"],"mappings":"","ignoreList":[]}
@@ -29,6 +29,7 @@ export * from './portal';
29
29
  export { Dialog, DIALOG_SHEET_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from './dialog';
30
30
  export * from './button';
31
31
  export { Fab } from './fab';
32
+ export { FrostedIconButton } from './frosted-icon-button';
32
33
  export * from "./grouped-buttons/index.js";
33
34
  export * from "./divider/index.js";
34
35
  export * from "./radio-indicator/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","useImagePreload","preloadImage","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","CompositionBar","DotGridMeter","StatBar","ActivityHeatmap","bucketByDay","ProfileCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","useImagePreload","preloadImage","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","FrostedIconButton","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","CompositionBar","DotGridMeter","StatBar","ActivityHeatmap","bucketByDay","ProfileCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,7 @@ export * from "./portal/index.web.js";
34
34
  export { Dialog, DIALOG_SHEET_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from "./dialog/index.web.js";
35
35
  export * from "./button/index.web.js";
36
36
  export { Fab } from "./fab/index.web.js";
37
+ export { FrostedIconButton } from "./frosted-icon-button/index.web.js";
37
38
  export * from "./grouped-buttons/index.js";
38
39
  export * from "./divider/index.js";
39
40
  export * from "./radio-indicator/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","useImagePreload","preloadImage","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","CompositionBar","DotGridMeter","StatBar","ActivityHeatmap","bucketByDay","ProfileCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","useImagePreload","preloadImage","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","FrostedIconButton","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","CompositionBar","DotGridMeter","StatBar","ActivityHeatmap","bucketByDay","ProfileCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -2,8 +2,9 @@
2
2
 
3
3
  import { Platform } from 'react-native';
4
4
  import { APP_COLOR_PRESETS } from "./color-presets.js";
5
+ import { generateRoleColors } from "./color-engine/index.js";
5
6
  import { getAdaptiveColors } from "./adaptive-colors.js";
6
- import { getResolvedTokens, hslToSrgb } from "./token-registry.js";
7
+ import { getResolvedTokens } from "./token-registry.js";
7
8
  import { THEME_GRADIENTS } from "./gradients.js";
8
9
  /**
9
10
  * Status colors used across the design system. Independent of the accent
@@ -17,29 +18,16 @@ export const STATUS_COLORS = {
17
18
  };
18
19
 
19
20
  /**
20
- * Extract the integer hue from a shadcn-style raw HSL triple (`'H S% L%'`,
21
- * optionally with an alpha tail). Used to seed the computed brand tints below
22
- * from the preset's primary/destructive hue, exactly as pre-0.8.0.
23
- */
24
- function extractHue(triple) {
25
- const first = (triple.split(/\s+/)[0] ?? '0').replace(/deg$/i, '');
26
- const hue = parseInt(first, 10);
27
- return Number.isFinite(hue) ? hue : 0;
28
- }
29
-
30
- /**
31
- * Build the JS `theme.colors` object from the SAME canonical rgb token source
32
- * the web/native CSS-var writes use (`getResolvedTokens`). JS styles and the
33
- * `var(--x)` document tokens therefore share one rgb pipeline — no second,
34
- * drift-prone HSL conversion lives here.
21
+ * Build the JS `theme.colors` object from the SAME engine-derived colours the
22
+ * web/native CSS-var writes use. Token-backed fields read from the resolved rgb
23
+ * token map (`getResolvedTokens`, which sources from the engine via
24
+ * `getPresetVars`); the brand-tint family (primarySubtle/negative/…) reads the
25
+ * engine's container/error roles directly. JS styles and the `var(--x)` document
26
+ * tokens therefore share one engine-backed pipeline — no second HSL conversion.
35
27
  *
36
- * Token-backed values read straight from the resolved rgb map via `g(...)`.
37
- * The brand tints (primarySubtle/negative/contrast50/...) reproduce the EXACT
38
- * pre-0.8.0 colors computed from the preset's primary/destructive HUE with
39
- * the historical `hsl(h, s%, l%)` math — but are emitted as `rgb(...)` by
40
- * routing the triple through the registry's `hslToSrgb`, so the single-format
41
- * pipeline is preserved. (`hsl(h,s%,l%)` and the `rgb(...)` of the same color
42
- * are byte-identical under the RN/RNW/browser parser.)
28
+ * The two intentional fixes land here too: `card` is now the lightest surface
29
+ * (`--card` engine `surfaceContainerLowest`) and `secondary` is a real
30
+ * contrast colour (engine `secondary` role), not a mirror of `primary`.
43
31
  */
44
32
  function buildColorsFromPreset(preset, resolved) {
45
33
  const t = getResolvedTokens(preset, resolved);
@@ -48,22 +36,21 @@ function buildColorsFromPreset(preset, resolved) {
48
36
  // Read a resolved `rgb(...)` token by its bare name (no leading `--`).
49
37
  const g = k => t[`--${k}`] ?? 'rgb(0 0 0)';
50
38
 
51
- // Convert a computed `H S% L%` triple to the canonical `rgb(...)` via the
52
- // registry's single HSL→sRGB conversion (matches the old `hsl(h,s%,l%)`).
53
- const hslRgb = (h, s, l) => hslToSrgb(`${h} ${s}% ${l}%`);
54
-
55
- // Brand hues seed the computed tints from the preset's raw HSL triples,
56
- // exactly as the pre-0.8.0 logic did.
57
- const presetTokens = isDark ? APP_COLOR_PRESETS[preset].dark : APP_COLOR_PRESETS[preset].light;
58
- const pHue = extractHue(presetTokens['--primary'] ?? '0 0% 50%');
59
- const dHue = extractHue(presetTokens['--destructive'] ?? '0 0% 0%');
39
+ // The full engine role set for fields that map to roles Bloom's canonical
40
+ // token set does not surface (containers, error family).
41
+ const config = APP_COLOR_PRESETS[preset];
42
+ const r = generateRoleColors({
43
+ seed: config.hex,
44
+ variant: config.variant,
45
+ isDark
46
+ });
60
47
  return {
61
48
  background: g('background'),
62
49
  backgroundSecondary: g('surface'),
63
- backgroundTertiary: g('muted'),
50
+ backgroundTertiary: g('popover'),
64
51
  text: g('foreground'),
65
52
  textSecondary: g('muted-foreground'),
66
- textTertiary: g('muted-foreground'),
53
+ textTertiary: r.outline,
67
54
  border: g('border'),
68
55
  borderLight: g('input'),
69
56
  primary: g('primary'),
@@ -72,20 +59,21 @@ function buildColorsFromPreset(preset, resolved) {
72
59
  // `primaryDark` is the page background — retained for downstream consumers.
73
60
  primaryLight: g('surface'),
74
61
  primaryDark: g('background'),
75
- // `secondary` historically mirrors `primary`. Retained for compatibility.
76
- secondary: g('primary'),
62
+ // The FIX: `secondary` is now a real contrast colour (engine `secondary`).
63
+ secondary: g('secondary'),
77
64
  tint: g('primary'),
78
65
  icon: g('muted-foreground'),
79
66
  iconActive: g('primary'),
80
67
  ...STATUS_COLORS,
81
- primarySubtle: isDark ? hslRgb(pHue, 50, 10) : hslRgb(pHue, 70, 93),
82
- primarySubtleForeground: isDark ? hslRgb(pHue, 70, 65) : hslRgb(pHue, 90, 25),
83
- negative: hslRgb(dHue, 84, 45),
84
- negativeForeground: '#FFFFFF',
85
- negativeSubtle: isDark ? hslRgb(dHue, 50, 10) : hslRgb(dHue, 90, 95),
86
- negativeSubtleForeground: isDark ? hslRgb(dHue, 70, 65) : hslRgb(dHue, 80, 40),
87
- contrast50: isDark ? hslRgb(pHue, 15, 12) : hslRgb(pHue, 10, 93),
88
- card: g('surface'),
68
+ primarySubtle: r.primaryContainer,
69
+ primarySubtleForeground: r.onPrimaryContainer,
70
+ negative: r.error,
71
+ negativeForeground: r.onError,
72
+ negativeSubtle: r.errorContainer,
73
+ negativeSubtleForeground: r.onErrorContainer,
74
+ contrast50: g('muted'),
75
+ // The FIX: `card` is the lightest surface (engine `surfaceContainerLowest`).
76
+ card: g('card'),
89
77
  shadow: isDark ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.1)',
90
78
  overlay: 'rgba(0, 0, 0, 0.5)'
91
79
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","APP_COLOR_PRESETS","getAdaptiveColors","getResolvedTokens","hslToSrgb","THEME_GRADIENTS","STATUS_COLORS","success","error","warning","info","extractHue","triple","first","split","replace","hue","parseInt","Number","isFinite","buildColorsFromPreset","preset","resolved","t","isDark","g","k","hslRgb","h","s","l","presetTokens","dark","light","pHue","dHue","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","tint","icon","iconActive","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","negativeSubtleForeground","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","OS","undefined","colors","mode","gradients","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","APP_COLOR_PRESETS","generateRoleColors","getAdaptiveColors","getResolvedTokens","THEME_GRADIENTS","STATUS_COLORS","success","error","warning","info","buildColorsFromPreset","preset","resolved","t","isDark","g","k","config","r","seed","hex","variant","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","outline","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","tint","icon","iconActive","primarySubtle","primaryContainer","primarySubtleForeground","onPrimaryContainer","negative","negativeForeground","onError","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","OS","undefined","colors","mode","gradients","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Bloom colour engine — CAM16 colour appearance model.
5
+ *
6
+ * Faithful port of Material Color Utilities' `Cam16` (Apache-2.0) into Bloom's
7
+ * own code. A colour is defined by its ARGB AND the viewing conditions; CAM16
8
+ * also exposes CAM16-UCS coordinates (jstar/astar/bstar) for perceptual
9
+ * distance. Underpins the HCT colour space.
10
+ */
11
+ import { argbFromXyz, linearized } from "./color-utils.js";
12
+ import { signum } from "./math-utils.js";
13
+ import { ViewingConditions } from "./viewing-conditions.js";
14
+ export class Cam16 {
15
+ constructor(hue, chroma, j, q, m, s, jstar, astar, bstar) {
16
+ this.hue = hue;
17
+ this.chroma = chroma;
18
+ this.j = j;
19
+ this.q = q;
20
+ this.m = m;
21
+ this.s = s;
22
+ this.jstar = jstar;
23
+ this.astar = astar;
24
+ this.bstar = bstar;
25
+ }
26
+
27
+ /** CAM16-UCS perceptual distance to another colour. */
28
+ distance(other) {
29
+ const dJ = this.jstar - other.jstar;
30
+ const dA = this.astar - other.astar;
31
+ const dB = this.bstar - other.bstar;
32
+ const dEPrime = Math.sqrt(dJ * dJ + dA * dA + dB * dB);
33
+ return 1.41 * Math.pow(dEPrime, 0.63);
34
+ }
35
+ static fromInt(argb) {
36
+ return Cam16.fromIntInViewingConditions(argb, ViewingConditions.DEFAULT);
37
+ }
38
+ static fromIntInViewingConditions(argb, vc) {
39
+ const red = (argb & 0x00ff0000) >> 16;
40
+ const green = (argb & 0x0000ff00) >> 8;
41
+ const blue = argb & 0x000000ff;
42
+ const redL = linearized(red);
43
+ const greenL = linearized(green);
44
+ const blueL = linearized(blue);
45
+ const x = 0.41233895 * redL + 0.35762064 * greenL + 0.18051042 * blueL;
46
+ const y = 0.2126 * redL + 0.7152 * greenL + 0.0722 * blueL;
47
+ const z = 0.01932141 * redL + 0.11916382 * greenL + 0.95034478 * blueL;
48
+ return Cam16.fromXyzInViewingConditions(x, y, z, vc);
49
+ }
50
+ static fromXyzInViewingConditions(x, y, z, vc) {
51
+ const rC = 0.401288 * x + 0.650173 * y - 0.051461 * z;
52
+ const gC = -0.250268 * x + 1.204414 * y + 0.045854 * z;
53
+ const bC = -0.002079 * x + 0.048952 * y + 0.953127 * z;
54
+ const rD = vc.rgbD[0] * rC;
55
+ const gD = vc.rgbD[1] * gC;
56
+ const bD = vc.rgbD[2] * bC;
57
+ const rAF = Math.pow(vc.fl * Math.abs(rD) / 100.0, 0.42);
58
+ const gAF = Math.pow(vc.fl * Math.abs(gD) / 100.0, 0.42);
59
+ const bAF = Math.pow(vc.fl * Math.abs(bD) / 100.0, 0.42);
60
+ const rA = signum(rD) * 400.0 * rAF / (rAF + 27.13);
61
+ const gA = signum(gD) * 400.0 * gAF / (gAF + 27.13);
62
+ const bA = signum(bD) * 400.0 * bAF / (bAF + 27.13);
63
+ const a = (11.0 * rA + -12.0 * gA + bA) / 11.0;
64
+ const b = (rA + gA - 2.0 * bA) / 9.0;
65
+ const u = (20.0 * rA + 20.0 * gA + 21.0 * bA) / 20.0;
66
+ const p2 = (40.0 * rA + 20.0 * gA + bA) / 20.0;
67
+ const atan2 = Math.atan2(b, a);
68
+ const atanDegrees = atan2 * 180.0 / Math.PI;
69
+ const hue = atanDegrees < 0 ? atanDegrees + 360.0 : atanDegrees >= 360 ? atanDegrees - 360 : atanDegrees;
70
+ const hueRadians = hue * Math.PI / 180.0;
71
+ const ac = p2 * vc.nbb;
72
+ const J = 100.0 * Math.pow(ac / vc.aw, vc.c * vc.z);
73
+ const Q = 4.0 / vc.c * Math.sqrt(J / 100.0) * (vc.aw + 4.0) * vc.fLRoot;
74
+ const huePrime = hue < 20.14 ? hue + 360 : hue;
75
+ const eHue = 1.0 / 4.0 * (Math.cos(huePrime * Math.PI / 180.0 + 2.0) + 3.8);
76
+ const p1 = 50000.0 / 13.0 * eHue * vc.nc * vc.ncb;
77
+ const t = p1 * Math.sqrt(a * a + b * b) / (u + 0.305);
78
+ const alpha = Math.pow(t, 0.9) * Math.pow(1.64 - Math.pow(0.29, vc.n), 0.73);
79
+ const C = alpha * Math.sqrt(J / 100.0);
80
+ const M = C * vc.fLRoot;
81
+ const s = 50.0 * Math.sqrt(alpha * vc.c / (vc.aw + 4.0));
82
+ const jstar = (1.0 + 100.0 * 0.007) * J / (1.0 + 0.007 * J);
83
+ const mstar = Math.log(1.0 + 0.0228 * M) / 0.0228;
84
+ const astar = mstar * Math.cos(hueRadians);
85
+ const bstar = mstar * Math.sin(hueRadians);
86
+ return new Cam16(hue, C, J, Q, M, s, jstar, astar, bstar);
87
+ }
88
+ static fromJch(j, c, h) {
89
+ return Cam16.fromJchInViewingConditions(j, c, h, ViewingConditions.DEFAULT);
90
+ }
91
+ static fromJchInViewingConditions(j, c, h, vc) {
92
+ const q = 4.0 / vc.c * Math.sqrt(j / 100.0) * (vc.aw + 4.0) * vc.fLRoot;
93
+ const m = c * vc.fLRoot;
94
+ const alpha = c / Math.sqrt(j / 100.0);
95
+ const s = 50.0 * Math.sqrt(alpha * vc.c / (vc.aw + 4.0));
96
+ const hueRadians = h * Math.PI / 180.0;
97
+ const jstar = (1.0 + 100.0 * 0.007) * j / (1.0 + 0.007 * j);
98
+ const mstar = 1.0 / 0.0228 * Math.log(1.0 + 0.0228 * m);
99
+ const astar = mstar * Math.cos(hueRadians);
100
+ const bstar = mstar * Math.sin(hueRadians);
101
+ return new Cam16(h, c, j, q, m, s, jstar, astar, bstar);
102
+ }
103
+ static fromUcs(jstar, astar, bstar) {
104
+ return Cam16.fromUcsInViewingConditions(jstar, astar, bstar, ViewingConditions.DEFAULT);
105
+ }
106
+ static fromUcsInViewingConditions(jstar, astar, bstar, vc) {
107
+ const a = astar;
108
+ const b = bstar;
109
+ const m = Math.sqrt(a * a + b * b);
110
+ const M = (Math.exp(m * 0.0228) - 1.0) / 0.0228;
111
+ const c = M / vc.fLRoot;
112
+ let h = Math.atan2(b, a) * (180.0 / Math.PI);
113
+ if (h < 0.0) h += 360.0;
114
+ const j = jstar / (1 - (jstar - 100) * 0.007);
115
+ return Cam16.fromJchInViewingConditions(j, c, h, vc);
116
+ }
117
+ toInt() {
118
+ return this.viewed(ViewingConditions.DEFAULT);
119
+ }
120
+ viewed(vc) {
121
+ const xyz = this.xyzInViewingConditions(vc);
122
+ return argbFromXyz(xyz[0], xyz[1], xyz[2]);
123
+ }
124
+ xyzInViewingConditions(vc) {
125
+ const alpha = this.chroma === 0.0 || this.j === 0.0 ? 0.0 : this.chroma / Math.sqrt(this.j / 100.0);
126
+ const t = Math.pow(alpha / Math.pow(1.64 - Math.pow(0.29, vc.n), 0.73), 1.0 / 0.9);
127
+ const hRad = this.hue * Math.PI / 180.0;
128
+ const eHue = 0.25 * (Math.cos(hRad + 2.0) + 3.8);
129
+ const ac = vc.aw * Math.pow(this.j / 100.0, 1.0 / vc.c / vc.z);
130
+ const p1 = eHue * (50000.0 / 13.0) * vc.nc * vc.ncb;
131
+ const p2 = ac / vc.nbb;
132
+ const hSin = Math.sin(hRad);
133
+ const hCos = Math.cos(hRad);
134
+ const gamma = 23.0 * (p2 + 0.305) * t / (23.0 * p1 + 11.0 * t * hCos + 108.0 * t * hSin);
135
+ const a = gamma * hCos;
136
+ const b = gamma * hSin;
137
+ const rA = (460.0 * p2 + 451.0 * a + 288.0 * b) / 1403.0;
138
+ const gA = (460.0 * p2 - 891.0 * a - 261.0 * b) / 1403.0;
139
+ const bA = (460.0 * p2 - 220.0 * a - 6300.0 * b) / 1403.0;
140
+ const rCBase = Math.max(0, 27.13 * Math.abs(rA) / (400.0 - Math.abs(rA)));
141
+ const rC = signum(rA) * (100.0 / vc.fl) * Math.pow(rCBase, 1.0 / 0.42);
142
+ const gCBase = Math.max(0, 27.13 * Math.abs(gA) / (400.0 - Math.abs(gA)));
143
+ const gC = signum(gA) * (100.0 / vc.fl) * Math.pow(gCBase, 1.0 / 0.42);
144
+ const bCBase = Math.max(0, 27.13 * Math.abs(bA) / (400.0 - Math.abs(bA)));
145
+ const bC = signum(bA) * (100.0 / vc.fl) * Math.pow(bCBase, 1.0 / 0.42);
146
+ const rF = rC / vc.rgbD[0];
147
+ const gF = gC / vc.rgbD[1];
148
+ const bF = bC / vc.rgbD[2];
149
+ const x = 1.86206786 * rF - 1.01125463 * gF + 0.14918677 * bF;
150
+ const y = 0.38752654 * rF + 0.62144744 * gF - 0.00897398 * bF;
151
+ const z = -0.0158415 * rF - 0.03412294 * gF + 1.04996444 * bF;
152
+ return [x, y, z];
153
+ }
154
+ }
155
+ //# sourceMappingURL=cam16.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["argbFromXyz","linearized","signum","ViewingConditions","Cam16","constructor","hue","chroma","j","q","m","s","jstar","astar","bstar","distance","other","dJ","dA","dB","dEPrime","Math","sqrt","pow","fromInt","argb","fromIntInViewingConditions","DEFAULT","vc","red","green","blue","redL","greenL","blueL","x","y","z","fromXyzInViewingConditions","rC","gC","bC","rD","rgbD","gD","bD","rAF","fl","abs","gAF","bAF","rA","gA","bA","a","b","u","p2","atan2","atanDegrees","PI","hueRadians","ac","nbb","J","aw","c","Q","fLRoot","huePrime","eHue","cos","p1","nc","ncb","t","alpha","n","C","M","mstar","log","sin","fromJch","h","fromJchInViewingConditions","fromUcs","fromUcsInViewingConditions","exp","toInt","viewed","xyz","xyzInViewingConditions","hRad","hSin","hCos","gamma","rCBase","max","gCBase","bCBase","rF","gF","bF"],"sourceRoot":"../../../../src","sources":["theme/color-engine/cam16.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,QAAQ,kBAAe;AACvD,SAASC,MAAM,QAAQ,iBAAc;AACrC,SAASC,iBAAiB,QAAQ,yBAAsB;AAExD,OAAO,MAAMC,KAAK,CAAC;EACjBC,WAAWA,CACAC,GAAW,EACXC,MAAc,EACdC,CAAS,EACTC,CAAS,EACTC,CAAS,EACTC,CAAS,EACTC,KAAa,EACbC,KAAa,EACbC,KAAa,EACtB;IAAA,KATSR,GAAW,GAAXA,GAAW;IAAA,KACXC,MAAc,GAAdA,MAAc;IAAA,KACdC,CAAS,GAATA,CAAS;IAAA,KACTC,CAAS,GAATA,CAAS;IAAA,KACTC,CAAS,GAATA,CAAS;IAAA,KACTC,CAAS,GAATA,CAAS;IAAA,KACTC,KAAa,GAAbA,KAAa;IAAA,KACbC,KAAa,GAAbA,KAAa;IAAA,KACbC,KAAa,GAAbA,KAAa;EACrB;;EAEH;EACAC,QAAQA,CAACC,KAAY,EAAU;IAC7B,MAAMC,EAAE,GAAG,IAAI,CAACL,KAAK,GAAGI,KAAK,CAACJ,KAAK;IACnC,MAAMM,EAAE,GAAG,IAAI,CAACL,KAAK,GAAGG,KAAK,CAACH,KAAK;IACnC,MAAMM,EAAE,GAAG,IAAI,CAACL,KAAK,GAAGE,KAAK,CAACF,KAAK;IACnC,MAAMM,OAAO,GAAGC,IAAI,CAACC,IAAI,CAACL,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;IACtD,OAAO,IAAI,GAAGE,IAAI,CAACE,GAAG,CAACH,OAAO,EAAE,IAAI,CAAC;EACvC;EAEA,OAAOI,OAAOA,CAACC,IAAY,EAAS;IAClC,OAAOrB,KAAK,CAACsB,0BAA0B,CAACD,IAAI,EAAEtB,iBAAiB,CAACwB,OAAO,CAAC;EAC1E;EAEA,OAAOD,0BAA0BA,CAACD,IAAY,EAAEG,EAAqB,EAAS;IAC5E,MAAMC,GAAG,GAAG,CAACJ,IAAI,GAAG,UAAU,KAAK,EAAE;IACrC,MAAMK,KAAK,GAAG,CAACL,IAAI,GAAG,UAAU,KAAK,CAAC;IACtC,MAAMM,IAAI,GAAGN,IAAI,GAAG,UAAU;IAC9B,MAAMO,IAAI,GAAG/B,UAAU,CAAC4B,GAAG,CAAC;IAC5B,MAAMI,MAAM,GAAGhC,UAAU,CAAC6B,KAAK,CAAC;IAChC,MAAMI,KAAK,GAAGjC,UAAU,CAAC8B,IAAI,CAAC;IAC9B,MAAMI,CAAC,GAAG,UAAU,GAAGH,IAAI,GAAG,UAAU,GAAGC,MAAM,GAAG,UAAU,GAAGC,KAAK;IACtE,MAAME,CAAC,GAAG,MAAM,GAAGJ,IAAI,GAAG,MAAM,GAAGC,MAAM,GAAG,MAAM,GAAGC,KAAK;IAC1D,MAAMG,CAAC,GAAG,UAAU,GAAGL,IAAI,GAAG,UAAU,GAAGC,MAAM,GAAG,UAAU,GAAGC,KAAK;IACtE,OAAO9B,KAAK,CAACkC,0BAA0B,CAACH,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAET,EAAE,CAAC;EACtD;EAEA,OAAOU,0BAA0BA,CAC/BH,CAAS,EACTC,CAAS,EACTC,CAAS,EACTT,EAAqB,EACd;IACP,MAAMW,EAAE,GAAG,QAAQ,GAAGJ,CAAC,GAAG,QAAQ,GAAGC,CAAC,GAAG,QAAQ,GAAGC,CAAC;IACrD,MAAMG,EAAE,GAAG,CAAC,QAAQ,GAAGL,CAAC,GAAG,QAAQ,GAAGC,CAAC,GAAG,QAAQ,GAAGC,CAAC;IACtD,MAAMI,EAAE,GAAG,CAAC,QAAQ,GAAGN,CAAC,GAAG,QAAQ,GAAGC,CAAC,GAAG,QAAQ,GAAGC,CAAC;IACtD,MAAMK,EAAE,GAAGd,EAAE,CAACe,IAAI,CAAC,CAAC,CAAC,GAAGJ,EAAE;IAC1B,MAAMK,EAAE,GAAGhB,EAAE,CAACe,IAAI,CAAC,CAAC,CAAC,GAAGH,EAAE;IAC1B,MAAMK,EAAE,GAAGjB,EAAE,CAACe,IAAI,CAAC,CAAC,CAAC,GAAGF,EAAE;IAC1B,MAAMK,GAAG,GAAGzB,IAAI,CAACE,GAAG,CAAEK,EAAE,CAACmB,EAAE,GAAG1B,IAAI,CAAC2B,GAAG,CAACN,EAAE,CAAC,GAAI,KAAK,EAAE,IAAI,CAAC;IAC1D,MAAMO,GAAG,GAAG5B,IAAI,CAACE,GAAG,CAAEK,EAAE,CAACmB,EAAE,GAAG1B,IAAI,CAAC2B,GAAG,CAACJ,EAAE,CAAC,GAAI,KAAK,EAAE,IAAI,CAAC;IAC1D,MAAMM,GAAG,GAAG7B,IAAI,CAACE,GAAG,CAAEK,EAAE,CAACmB,EAAE,GAAG1B,IAAI,CAAC2B,GAAG,CAACH,EAAE,CAAC,GAAI,KAAK,EAAE,IAAI,CAAC;IAC1D,MAAMM,EAAE,GAAIjD,MAAM,CAACwC,EAAE,CAAC,GAAG,KAAK,GAAGI,GAAG,IAAKA,GAAG,GAAG,KAAK,CAAC;IACrD,MAAMM,EAAE,GAAIlD,MAAM,CAAC0C,EAAE,CAAC,GAAG,KAAK,GAAGK,GAAG,IAAKA,GAAG,GAAG,KAAK,CAAC;IACrD,MAAMI,EAAE,GAAInD,MAAM,CAAC2C,EAAE,CAAC,GAAG,KAAK,GAAGK,GAAG,IAAKA,GAAG,GAAG,KAAK,CAAC;IACrD,MAAMI,CAAC,GAAG,CAAC,IAAI,GAAGH,EAAE,GAAG,CAAC,IAAI,GAAGC,EAAE,GAAGC,EAAE,IAAI,IAAI;IAC9C,MAAME,CAAC,GAAG,CAACJ,EAAE,GAAGC,EAAE,GAAG,GAAG,GAAGC,EAAE,IAAI,GAAG;IACpC,MAAMG,CAAC,GAAG,CAAC,IAAI,GAAGL,EAAE,GAAG,IAAI,GAAGC,EAAE,GAAG,IAAI,GAAGC,EAAE,IAAI,IAAI;IACpD,MAAMI,EAAE,GAAG,CAAC,IAAI,GAAGN,EAAE,GAAG,IAAI,GAAGC,EAAE,GAAGC,EAAE,IAAI,IAAI;IAC9C,MAAMK,KAAK,GAAGrC,IAAI,CAACqC,KAAK,CAACH,CAAC,EAAED,CAAC,CAAC;IAC9B,MAAMK,WAAW,GAAID,KAAK,GAAG,KAAK,GAAIrC,IAAI,CAACuC,EAAE;IAC7C,MAAMtD,GAAG,GACPqD,WAAW,GAAG,CAAC,GAAGA,WAAW,GAAG,KAAK,GAAGA,WAAW,IAAI,GAAG,GAAGA,WAAW,GAAG,GAAG,GAAGA,WAAW;IAC9F,MAAME,UAAU,GAAIvD,GAAG,GAAGe,IAAI,CAACuC,EAAE,GAAI,KAAK;IAC1C,MAAME,EAAE,GAAGL,EAAE,GAAG7B,EAAE,CAACmC,GAAG;IACtB,MAAMC,CAAC,GAAG,KAAK,GAAG3C,IAAI,CAACE,GAAG,CAACuC,EAAE,GAAGlC,EAAE,CAACqC,EAAE,EAAErC,EAAE,CAACsC,CAAC,GAAGtC,EAAE,CAACS,CAAC,CAAC;IACnD,MAAM8B,CAAC,GAAI,GAAG,GAAGvC,EAAE,CAACsC,CAAC,GAAI7C,IAAI,CAACC,IAAI,CAAC0C,CAAC,GAAG,KAAK,CAAC,IAAIpC,EAAE,CAACqC,EAAE,GAAG,GAAG,CAAC,GAAGrC,EAAE,CAACwC,MAAM;IACzE,MAAMC,QAAQ,GAAG/D,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,GAAG,GAAGA,GAAG;IAC9C,MAAMgE,IAAI,GAAI,GAAG,GAAG,GAAG,IAAKjD,IAAI,CAACkD,GAAG,CAAEF,QAAQ,GAAGhD,IAAI,CAACuC,EAAE,GAAI,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/E,MAAMY,EAAE,GAAK,OAAO,GAAG,IAAI,GAAIF,IAAI,GAAG1C,EAAE,CAAC6C,EAAE,GAAG7C,EAAE,CAAC8C,GAAI;IACrD,MAAMC,CAAC,GAAIH,EAAE,GAAGnD,IAAI,CAACC,IAAI,CAACgC,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,CAAC,IAAKC,CAAC,GAAG,KAAK,CAAC;IACvD,MAAMoB,KAAK,GAAGvD,IAAI,CAACE,GAAG,CAACoD,CAAC,EAAE,GAAG,CAAC,GAAGtD,IAAI,CAACE,GAAG,CAAC,IAAI,GAAGF,IAAI,CAACE,GAAG,CAAC,IAAI,EAAEK,EAAE,CAACiD,CAAC,CAAC,EAAE,IAAI,CAAC;IAC5E,MAAMC,CAAC,GAAGF,KAAK,GAAGvD,IAAI,CAACC,IAAI,CAAC0C,CAAC,GAAG,KAAK,CAAC;IACtC,MAAMe,CAAC,GAAGD,CAAC,GAAGlD,EAAE,CAACwC,MAAM;IACvB,MAAMzD,CAAC,GAAG,IAAI,GAAGU,IAAI,CAACC,IAAI,CAAEsD,KAAK,GAAGhD,EAAE,CAACsC,CAAC,IAAKtC,EAAE,CAACqC,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1D,MAAMrD,KAAK,GAAI,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,IAAIoD,CAAC,IAAK,GAAG,GAAG,KAAK,GAAGA,CAAC,CAAC;IAC7D,MAAMgB,KAAK,GAAG3D,IAAI,CAAC4D,GAAG,CAAC,GAAG,GAAG,MAAM,GAAGF,CAAC,CAAC,GAAG,MAAM;IACjD,MAAMlE,KAAK,GAAGmE,KAAK,GAAG3D,IAAI,CAACkD,GAAG,CAACV,UAAU,CAAC;IAC1C,MAAM/C,KAAK,GAAGkE,KAAK,GAAG3D,IAAI,CAAC6D,GAAG,CAACrB,UAAU,CAAC;IAC1C,OAAO,IAAIzD,KAAK,CAACE,GAAG,EAAEwE,CAAC,EAAEd,CAAC,EAAEG,CAAC,EAAEY,CAAC,EAAEpE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC;EAC3D;EAEA,OAAOqE,OAAOA,CAAC3E,CAAS,EAAE0D,CAAS,EAAEkB,CAAS,EAAS;IACrD,OAAOhF,KAAK,CAACiF,0BAA0B,CAAC7E,CAAC,EAAE0D,CAAC,EAAEkB,CAAC,EAAEjF,iBAAiB,CAACwB,OAAO,CAAC;EAC7E;EAEA,OAAO0D,0BAA0BA,CAC/B7E,CAAS,EACT0D,CAAS,EACTkB,CAAS,EACTxD,EAAqB,EACd;IACP,MAAMnB,CAAC,GAAI,GAAG,GAAGmB,EAAE,CAACsC,CAAC,GAAI7C,IAAI,CAACC,IAAI,CAACd,CAAC,GAAG,KAAK,CAAC,IAAIoB,EAAE,CAACqC,EAAE,GAAG,GAAG,CAAC,GAAGrC,EAAE,CAACwC,MAAM;IACzE,MAAM1D,CAAC,GAAGwD,CAAC,GAAGtC,EAAE,CAACwC,MAAM;IACvB,MAAMQ,KAAK,GAAGV,CAAC,GAAG7C,IAAI,CAACC,IAAI,CAACd,CAAC,GAAG,KAAK,CAAC;IACtC,MAAMG,CAAC,GAAG,IAAI,GAAGU,IAAI,CAACC,IAAI,CAAEsD,KAAK,GAAGhD,EAAE,CAACsC,CAAC,IAAKtC,EAAE,CAACqC,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1D,MAAMJ,UAAU,GAAIuB,CAAC,GAAG/D,IAAI,CAACuC,EAAE,GAAI,KAAK;IACxC,MAAMhD,KAAK,GAAI,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,IAAIJ,CAAC,IAAK,GAAG,GAAG,KAAK,GAAGA,CAAC,CAAC;IAC7D,MAAMwE,KAAK,GAAI,GAAG,GAAG,MAAM,GAAI3D,IAAI,CAAC4D,GAAG,CAAC,GAAG,GAAG,MAAM,GAAGvE,CAAC,CAAC;IACzD,MAAMG,KAAK,GAAGmE,KAAK,GAAG3D,IAAI,CAACkD,GAAG,CAACV,UAAU,CAAC;IAC1C,MAAM/C,KAAK,GAAGkE,KAAK,GAAG3D,IAAI,CAAC6D,GAAG,CAACrB,UAAU,CAAC;IAC1C,OAAO,IAAIzD,KAAK,CAACgF,CAAC,EAAElB,CAAC,EAAE1D,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC;EACzD;EAEA,OAAOwE,OAAOA,CAAC1E,KAAa,EAAEC,KAAa,EAAEC,KAAa,EAAS;IACjE,OAAOV,KAAK,CAACmF,0BAA0B,CAAC3E,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEX,iBAAiB,CAACwB,OAAO,CAAC;EACzF;EAEA,OAAO4D,0BAA0BA,CAC/B3E,KAAa,EACbC,KAAa,EACbC,KAAa,EACbc,EAAqB,EACd;IACP,MAAM0B,CAAC,GAAGzC,KAAK;IACf,MAAM0C,CAAC,GAAGzC,KAAK;IACf,MAAMJ,CAAC,GAAGW,IAAI,CAACC,IAAI,CAACgC,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,CAAC;IAClC,MAAMwB,CAAC,GAAG,CAAC1D,IAAI,CAACmE,GAAG,CAAC9E,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,MAAM;IAC/C,MAAMwD,CAAC,GAAGa,CAAC,GAAGnD,EAAE,CAACwC,MAAM;IACvB,IAAIgB,CAAC,GAAG/D,IAAI,CAACqC,KAAK,CAACH,CAAC,EAAED,CAAC,CAAC,IAAI,KAAK,GAAGjC,IAAI,CAACuC,EAAE,CAAC;IAC5C,IAAIwB,CAAC,GAAG,GAAG,EAAEA,CAAC,IAAI,KAAK;IACvB,MAAM5E,CAAC,GAAGI,KAAK,IAAI,CAAC,GAAG,CAACA,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC;IAC7C,OAAOR,KAAK,CAACiF,0BAA0B,CAAC7E,CAAC,EAAE0D,CAAC,EAAEkB,CAAC,EAAExD,EAAE,CAAC;EACtD;EAEA6D,KAAKA,CAAA,EAAW;IACd,OAAO,IAAI,CAACC,MAAM,CAACvF,iBAAiB,CAACwB,OAAO,CAAC;EAC/C;EAEA+D,MAAMA,CAAC9D,EAAqB,EAAU;IACpC,MAAM+D,GAAG,GAAG,IAAI,CAACC,sBAAsB,CAAChE,EAAE,CAAC;IAC3C,OAAO5B,WAAW,CAAC2F,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,CAAC;EAC5C;EAEAC,sBAAsBA,CAAChE,EAAqB,EAA4B;IACtE,MAAMgD,KAAK,GAAG,IAAI,CAACrE,MAAM,KAAK,GAAG,IAAI,IAAI,CAACC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAACD,MAAM,GAAGc,IAAI,CAACC,IAAI,CAAC,IAAI,CAACd,CAAC,GAAG,KAAK,CAAC;IACnG,MAAMmE,CAAC,GAAGtD,IAAI,CAACE,GAAG,CAACqD,KAAK,GAAGvD,IAAI,CAACE,GAAG,CAAC,IAAI,GAAGF,IAAI,CAACE,GAAG,CAAC,IAAI,EAAEK,EAAE,CAACiD,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IAClF,MAAMgB,IAAI,GAAI,IAAI,CAACvF,GAAG,GAAGe,IAAI,CAACuC,EAAE,GAAI,KAAK;IACzC,MAAMU,IAAI,GAAG,IAAI,IAAIjD,IAAI,CAACkD,GAAG,CAACsB,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAChD,MAAM/B,EAAE,GAAGlC,EAAE,CAACqC,EAAE,GAAG5C,IAAI,CAACE,GAAG,CAAC,IAAI,CAACf,CAAC,GAAG,KAAK,EAAE,GAAG,GAAGoB,EAAE,CAACsC,CAAC,GAAGtC,EAAE,CAACS,CAAC,CAAC;IAC9D,MAAMmC,EAAE,GAAGF,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG1C,EAAE,CAAC6C,EAAE,GAAG7C,EAAE,CAAC8C,GAAG;IACnD,MAAMjB,EAAE,GAAGK,EAAE,GAAGlC,EAAE,CAACmC,GAAG;IACtB,MAAM+B,IAAI,GAAGzE,IAAI,CAAC6D,GAAG,CAACW,IAAI,CAAC;IAC3B,MAAME,IAAI,GAAG1E,IAAI,CAACkD,GAAG,CAACsB,IAAI,CAAC;IAC3B,MAAMG,KAAK,GAAI,IAAI,IAAIvC,EAAE,GAAG,KAAK,CAAC,GAAGkB,CAAC,IAAK,IAAI,GAAGH,EAAE,GAAG,IAAI,GAAGG,CAAC,GAAGoB,IAAI,GAAG,KAAK,GAAGpB,CAAC,GAAGmB,IAAI,CAAC;IAC1F,MAAMxC,CAAC,GAAG0C,KAAK,GAAGD,IAAI;IACtB,MAAMxC,CAAC,GAAGyC,KAAK,GAAGF,IAAI;IACtB,MAAM3C,EAAE,GAAG,CAAC,KAAK,GAAGM,EAAE,GAAG,KAAK,GAAGH,CAAC,GAAG,KAAK,GAAGC,CAAC,IAAI,MAAM;IACxD,MAAMH,EAAE,GAAG,CAAC,KAAK,GAAGK,EAAE,GAAG,KAAK,GAAGH,CAAC,GAAG,KAAK,GAAGC,CAAC,IAAI,MAAM;IACxD,MAAMF,EAAE,GAAG,CAAC,KAAK,GAAGI,EAAE,GAAG,KAAK,GAAGH,CAAC,GAAG,MAAM,GAAGC,CAAC,IAAI,MAAM;IACzD,MAAM0C,MAAM,GAAG5E,IAAI,CAAC6E,GAAG,CAAC,CAAC,EAAG,KAAK,GAAG7E,IAAI,CAAC2B,GAAG,CAACG,EAAE,CAAC,IAAK,KAAK,GAAG9B,IAAI,CAAC2B,GAAG,CAACG,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAMZ,EAAE,GAAGrC,MAAM,CAACiD,EAAE,CAAC,IAAI,KAAK,GAAGvB,EAAE,CAACmB,EAAE,CAAC,GAAG1B,IAAI,CAACE,GAAG,CAAC0E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACtE,MAAME,MAAM,GAAG9E,IAAI,CAAC6E,GAAG,CAAC,CAAC,EAAG,KAAK,GAAG7E,IAAI,CAAC2B,GAAG,CAACI,EAAE,CAAC,IAAK,KAAK,GAAG/B,IAAI,CAAC2B,GAAG,CAACI,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAMZ,EAAE,GAAGtC,MAAM,CAACkD,EAAE,CAAC,IAAI,KAAK,GAAGxB,EAAE,CAACmB,EAAE,CAAC,GAAG1B,IAAI,CAACE,GAAG,CAAC4E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACtE,MAAMC,MAAM,GAAG/E,IAAI,CAAC6E,GAAG,CAAC,CAAC,EAAG,KAAK,GAAG7E,IAAI,CAAC2B,GAAG,CAACK,EAAE,CAAC,IAAK,KAAK,GAAGhC,IAAI,CAAC2B,GAAG,CAACK,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAMZ,EAAE,GAAGvC,MAAM,CAACmD,EAAE,CAAC,IAAI,KAAK,GAAGzB,EAAE,CAACmB,EAAE,CAAC,GAAG1B,IAAI,CAACE,GAAG,CAAC6E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACtE,MAAMC,EAAE,GAAG9D,EAAE,GAAGX,EAAE,CAACe,IAAI,CAAC,CAAC,CAAC;IAC1B,MAAM2D,EAAE,GAAG9D,EAAE,GAAGZ,EAAE,CAACe,IAAI,CAAC,CAAC,CAAC;IAC1B,MAAM4D,EAAE,GAAG9D,EAAE,GAAGb,EAAE,CAACe,IAAI,CAAC,CAAC,CAAC;IAC1B,MAAMR,CAAC,GAAG,UAAU,GAAGkE,EAAE,GAAG,UAAU,GAAGC,EAAE,GAAG,UAAU,GAAGC,EAAE;IAC7D,MAAMnE,CAAC,GAAG,UAAU,GAAGiE,EAAE,GAAG,UAAU,GAAGC,EAAE,GAAG,UAAU,GAAGC,EAAE;IAC7D,MAAMlE,CAAC,GAAG,CAAC,SAAS,GAAGgE,EAAE,GAAG,UAAU,GAAGC,EAAE,GAAG,UAAU,GAAGC,EAAE;IAC7D,OAAO,CAACpE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;EAClB;AACF","ignoreList":[]}