@oxyhq/bloom 0.36.0 → 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 (235) hide show
  1. package/lib/commonjs/theme/build-theme.js +31 -43
  2. package/lib/commonjs/theme/build-theme.js.map +1 -1
  3. package/lib/commonjs/theme/color-engine/cam16.js +161 -0
  4. package/lib/commonjs/theme/color-engine/cam16.js.map +1 -0
  5. package/lib/commonjs/theme/color-engine/color-role.js +183 -0
  6. package/lib/commonjs/theme/color-engine/color-role.js.map +1 -0
  7. package/lib/commonjs/theme/color-engine/color-roles.js +416 -0
  8. package/lib/commonjs/theme/color-engine/color-roles.js.map +1 -0
  9. package/lib/commonjs/theme/color-engine/color-utils.js +157 -0
  10. package/lib/commonjs/theme/color-engine/color-utils.js.map +1 -0
  11. package/lib/commonjs/theme/color-engine/contrast-curve.js +32 -0
  12. package/lib/commonjs/theme/color-engine/contrast-curve.js.map +1 -0
  13. package/lib/commonjs/theme/color-engine/contrast.js +70 -0
  14. package/lib/commonjs/theme/color-engine/contrast.js.map +1 -0
  15. package/lib/commonjs/theme/color-engine/dislike-analyzer.js +26 -0
  16. package/lib/commonjs/theme/color-engine/dislike-analyzer.js.map +1 -0
  17. package/lib/commonjs/theme/color-engine/dynamic-scheme.js +70 -0
  18. package/lib/commonjs/theme/color-engine/dynamic-scheme.js.map +1 -0
  19. package/lib/commonjs/theme/color-engine/hct-solver.js +236 -0
  20. package/lib/commonjs/theme/color-engine/hct-solver.js.map +1 -0
  21. package/lib/commonjs/theme/color-engine/hct.js +67 -0
  22. package/lib/commonjs/theme/color-engine/hct.js.map +1 -0
  23. package/lib/commonjs/theme/color-engine/index.js +173 -0
  24. package/lib/commonjs/theme/color-engine/index.js.map +1 -0
  25. package/lib/commonjs/theme/color-engine/lab-point-provider.js +32 -0
  26. package/lib/commonjs/theme/color-engine/lab-point-provider.js.map +1 -0
  27. package/lib/commonjs/theme/color-engine/math-utils.js +77 -0
  28. package/lib/commonjs/theme/color-engine/math-utils.js.map +1 -0
  29. package/lib/commonjs/theme/color-engine/quantizer-map.js +24 -0
  30. package/lib/commonjs/theme/color-engine/quantizer-map.js.map +1 -0
  31. package/lib/commonjs/theme/color-engine/quantizer-wu.js +266 -0
  32. package/lib/commonjs/theme/color-engine/quantizer-wu.js.map +1 -0
  33. package/lib/commonjs/theme/color-engine/scheme-variants.js +102 -0
  34. package/lib/commonjs/theme/color-engine/scheme-variants.js.map +1 -0
  35. package/lib/commonjs/theme/color-engine/score.js +80 -0
  36. package/lib/commonjs/theme/color-engine/score.js.map +1 -0
  37. package/lib/commonjs/theme/color-engine/seed-from-image.js +73 -0
  38. package/lib/commonjs/theme/color-engine/seed-from-image.js.map +1 -0
  39. package/lib/commonjs/theme/color-engine/tonal-palette.js +95 -0
  40. package/lib/commonjs/theme/color-engine/tonal-palette.js.map +1 -0
  41. package/lib/commonjs/theme/color-engine/tone-delta-pair.js +26 -0
  42. package/lib/commonjs/theme/color-engine/tone-delta-pair.js.map +1 -0
  43. package/lib/commonjs/theme/color-engine/variant.js +26 -0
  44. package/lib/commonjs/theme/color-engine/variant.js.map +1 -0
  45. package/lib/commonjs/theme/color-engine/viewing-conditions.js +61 -0
  46. package/lib/commonjs/theme/color-engine/viewing-conditions.js.map +1 -0
  47. package/lib/commonjs/theme/color-presets.js +44 -572
  48. package/lib/commonjs/theme/color-presets.js.map +1 -1
  49. package/lib/commonjs/theme/preset-vars.js +64 -47
  50. package/lib/commonjs/theme/preset-vars.js.map +1 -1
  51. package/lib/module/theme/build-theme.js +32 -44
  52. package/lib/module/theme/build-theme.js.map +1 -1
  53. package/lib/module/theme/color-engine/cam16.js +155 -0
  54. package/lib/module/theme/color-engine/cam16.js.map +1 -0
  55. package/lib/module/theme/color-engine/color-role.js +177 -0
  56. package/lib/module/theme/color-engine/color-role.js.map +1 -0
  57. package/lib/module/theme/color-engine/color-roles.js +411 -0
  58. package/lib/module/theme/color-engine/color-roles.js.map +1 -0
  59. package/lib/module/theme/color-engine/color-utils.js +135 -0
  60. package/lib/module/theme/color-engine/color-utils.js.map +1 -0
  61. package/lib/module/theme/color-engine/contrast-curve.js +26 -0
  62. package/lib/module/theme/color-engine/contrast-curve.js.map +1 -0
  63. package/lib/module/theme/color-engine/contrast.js +61 -0
  64. package/lib/module/theme/color-engine/contrast.js.map +1 -0
  65. package/lib/module/theme/color-engine/dislike-analyzer.js +20 -0
  66. package/lib/module/theme/color-engine/dislike-analyzer.js.map +1 -0
  67. package/lib/module/theme/color-engine/dynamic-scheme.js +65 -0
  68. package/lib/module/theme/color-engine/dynamic-scheme.js.map +1 -0
  69. package/lib/module/theme/color-engine/hct-solver.js +231 -0
  70. package/lib/module/theme/color-engine/hct-solver.js.map +1 -0
  71. package/lib/module/theme/color-engine/hct.js +61 -0
  72. package/lib/module/theme/color-engine/hct.js.map +1 -0
  73. package/lib/module/theme/color-engine/index.js +57 -0
  74. package/lib/module/theme/color-engine/index.js.map +1 -0
  75. package/lib/module/theme/color-engine/lab-point-provider.js +25 -0
  76. package/lib/module/theme/color-engine/lab-point-provider.js.map +1 -0
  77. package/lib/module/theme/color-engine/math-utils.js +65 -0
  78. package/lib/module/theme/color-engine/math-utils.js.map +1 -0
  79. package/lib/module/theme/color-engine/quantizer-map.js +20 -0
  80. package/lib/module/theme/color-engine/quantizer-map.js.map +1 -0
  81. package/lib/module/theme/color-engine/quantizer-wu.js +261 -0
  82. package/lib/module/theme/color-engine/quantizer-wu.js.map +1 -0
  83. package/lib/module/theme/color-engine/scheme-variants.js +93 -0
  84. package/lib/module/theme/color-engine/scheme-variants.js.map +1 -0
  85. package/lib/module/theme/color-engine/score.js +75 -0
  86. package/lib/module/theme/color-engine/score.js.map +1 -0
  87. package/lib/module/theme/color-engine/seed-from-image.js +67 -0
  88. package/lib/module/theme/color-engine/seed-from-image.js.map +1 -0
  89. package/lib/module/theme/color-engine/tonal-palette.js +89 -0
  90. package/lib/module/theme/color-engine/tonal-palette.js.map +1 -0
  91. package/lib/module/theme/color-engine/tone-delta-pair.js +21 -0
  92. package/lib/module/theme/color-engine/tone-delta-pair.js.map +1 -0
  93. package/lib/module/theme/color-engine/variant.js +22 -0
  94. package/lib/module/theme/color-engine/variant.js.map +1 -0
  95. package/lib/module/theme/color-engine/viewing-conditions.js +55 -0
  96. package/lib/module/theme/color-engine/viewing-conditions.js.map +1 -0
  97. package/lib/module/theme/color-presets.js +44 -572
  98. package/lib/module/theme/color-presets.js.map +1 -1
  99. package/lib/module/theme/preset-vars.js +64 -46
  100. package/lib/module/theme/preset-vars.js.map +1 -1
  101. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/theme/color-engine/cam16.d.ts +26 -0
  103. package/lib/typescript/commonjs/theme/color-engine/cam16.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/theme/color-engine/color-role.d.ts +36 -0
  105. package/lib/typescript/commonjs/theme/color-engine/color-role.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/theme/color-engine/color-roles.d.ts +58 -0
  107. package/lib/typescript/commonjs/theme/color-engine/color-roles.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/theme/color-engine/color-utils.d.ts +32 -0
  109. package/lib/typescript/commonjs/theme/color-engine/color-utils.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/theme/color-engine/contrast-curve.d.ts +9 -0
  111. package/lib/typescript/commonjs/theme/color-engine/contrast-curve.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/theme/color-engine/contrast.d.ts +12 -0
  113. package/lib/typescript/commonjs/theme/color-engine/contrast.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/theme/color-engine/dislike-analyzer.d.ts +11 -0
  115. package/lib/typescript/commonjs/theme/color-engine/dislike-analyzer.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/theme/color-engine/dynamic-scheme.d.ts +47 -0
  117. package/lib/typescript/commonjs/theme/color-engine/dynamic-scheme.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/theme/color-engine/hct-solver.d.ts +6 -0
  119. package/lib/typescript/commonjs/theme/color-engine/hct-solver.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/theme/color-engine/hct.d.ts +20 -0
  121. package/lib/typescript/commonjs/theme/color-engine/hct.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/theme/color-engine/index.d.ts +44 -0
  123. package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/theme/color-engine/lab-point-provider.d.ts +6 -0
  125. package/lib/typescript/commonjs/theme/color-engine/lab-point-provider.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/theme/color-engine/math-utils.d.ts +46 -0
  127. package/lib/typescript/commonjs/theme/color-engine/math-utils.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/theme/color-engine/quantizer-map.d.ts +3 -0
  129. package/lib/typescript/commonjs/theme/color-engine/quantizer-map.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/theme/color-engine/quantizer-wu.d.ts +3 -0
  131. package/lib/typescript/commonjs/theme/color-engine/quantizer-wu.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +23 -0
  133. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/theme/color-engine/score.d.ts +8 -0
  135. package/lib/typescript/commonjs/theme/color-engine/score.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts +13 -0
  137. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/theme/color-engine/tonal-palette.d.ts +24 -0
  139. package/lib/typescript/commonjs/theme/color-engine/tonal-palette.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/theme/color-engine/tone-delta-pair.d.ts +19 -0
  141. package/lib/typescript/commonjs/theme/color-engine/tone-delta-pair.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/theme/color-engine/variant.d.ts +19 -0
  143. package/lib/typescript/commonjs/theme/color-engine/variant.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/theme/color-engine/viewing-conditions.d.ts +18 -0
  145. package/lib/typescript/commonjs/theme/color-engine/viewing-conditions.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/theme/color-presets.d.ts +25 -20
  147. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/theme/preset-vars.d.ts +16 -12
  149. package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
  150. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
  151. package/lib/typescript/module/theme/color-engine/cam16.d.ts +26 -0
  152. package/lib/typescript/module/theme/color-engine/cam16.d.ts.map +1 -0
  153. package/lib/typescript/module/theme/color-engine/color-role.d.ts +36 -0
  154. package/lib/typescript/module/theme/color-engine/color-role.d.ts.map +1 -0
  155. package/lib/typescript/module/theme/color-engine/color-roles.d.ts +58 -0
  156. package/lib/typescript/module/theme/color-engine/color-roles.d.ts.map +1 -0
  157. package/lib/typescript/module/theme/color-engine/color-utils.d.ts +32 -0
  158. package/lib/typescript/module/theme/color-engine/color-utils.d.ts.map +1 -0
  159. package/lib/typescript/module/theme/color-engine/contrast-curve.d.ts +9 -0
  160. package/lib/typescript/module/theme/color-engine/contrast-curve.d.ts.map +1 -0
  161. package/lib/typescript/module/theme/color-engine/contrast.d.ts +12 -0
  162. package/lib/typescript/module/theme/color-engine/contrast.d.ts.map +1 -0
  163. package/lib/typescript/module/theme/color-engine/dislike-analyzer.d.ts +11 -0
  164. package/lib/typescript/module/theme/color-engine/dislike-analyzer.d.ts.map +1 -0
  165. package/lib/typescript/module/theme/color-engine/dynamic-scheme.d.ts +47 -0
  166. package/lib/typescript/module/theme/color-engine/dynamic-scheme.d.ts.map +1 -0
  167. package/lib/typescript/module/theme/color-engine/hct-solver.d.ts +6 -0
  168. package/lib/typescript/module/theme/color-engine/hct-solver.d.ts.map +1 -0
  169. package/lib/typescript/module/theme/color-engine/hct.d.ts +20 -0
  170. package/lib/typescript/module/theme/color-engine/hct.d.ts.map +1 -0
  171. package/lib/typescript/module/theme/color-engine/index.d.ts +44 -0
  172. package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -0
  173. package/lib/typescript/module/theme/color-engine/lab-point-provider.d.ts +6 -0
  174. package/lib/typescript/module/theme/color-engine/lab-point-provider.d.ts.map +1 -0
  175. package/lib/typescript/module/theme/color-engine/math-utils.d.ts +46 -0
  176. package/lib/typescript/module/theme/color-engine/math-utils.d.ts.map +1 -0
  177. package/lib/typescript/module/theme/color-engine/quantizer-map.d.ts +3 -0
  178. package/lib/typescript/module/theme/color-engine/quantizer-map.d.ts.map +1 -0
  179. package/lib/typescript/module/theme/color-engine/quantizer-wu.d.ts +3 -0
  180. package/lib/typescript/module/theme/color-engine/quantizer-wu.d.ts.map +1 -0
  181. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +23 -0
  182. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -0
  183. package/lib/typescript/module/theme/color-engine/score.d.ts +8 -0
  184. package/lib/typescript/module/theme/color-engine/score.d.ts.map +1 -0
  185. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts +13 -0
  186. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts.map +1 -0
  187. package/lib/typescript/module/theme/color-engine/tonal-palette.d.ts +24 -0
  188. package/lib/typescript/module/theme/color-engine/tonal-palette.d.ts.map +1 -0
  189. package/lib/typescript/module/theme/color-engine/tone-delta-pair.d.ts +19 -0
  190. package/lib/typescript/module/theme/color-engine/tone-delta-pair.d.ts.map +1 -0
  191. package/lib/typescript/module/theme/color-engine/variant.d.ts +19 -0
  192. package/lib/typescript/module/theme/color-engine/variant.d.ts.map +1 -0
  193. package/lib/typescript/module/theme/color-engine/viewing-conditions.d.ts +18 -0
  194. package/lib/typescript/module/theme/color-engine/viewing-conditions.d.ts.map +1 -0
  195. package/lib/typescript/module/theme/color-presets.d.ts +25 -20
  196. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  197. package/lib/typescript/module/theme/preset-vars.d.ts +16 -12
  198. package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
  199. package/package.json +1 -1
  200. package/src/__tests__/BloomThemeProvider.test.tsx +9 -4
  201. package/src/__tests__/native-root-vars.test.ts +8 -4
  202. package/src/__tests__/preset-vars.test.ts +66 -37
  203. package/src/__tests__/theme.test.ts +20 -12
  204. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +509 -509
  205. package/src/theme/__tests__/__snapshots__/visual-gallery.test.tsx.snap +613 -613
  206. package/src/theme/__tests__/color-engine-golden.test.ts +81 -0
  207. package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
  208. package/src/theme/__tests__/golden-tokens.test.ts +6 -7
  209. package/src/theme/__tests__/runtime-contract.test.ts +8 -8
  210. package/src/theme/__tests__/theme-colors-parity.test.ts +44 -88
  211. package/src/theme/build-theme.ts +32 -44
  212. package/src/theme/color-engine/cam16.ts +179 -0
  213. package/src/theme/color-engine/color-role.ts +217 -0
  214. package/src/theme/color-engine/color-roles.ts +435 -0
  215. package/src/theme/color-engine/color-utils.ts +157 -0
  216. package/src/theme/color-engine/contrast-curve.ts +25 -0
  217. package/src/theme/color-engine/contrast.ts +59 -0
  218. package/src/theme/color-engine/dislike-analyzer.ts +19 -0
  219. package/src/theme/color-engine/dynamic-scheme.ts +90 -0
  220. package/src/theme/color-engine/hct-solver.ts +263 -0
  221. package/src/theme/color-engine/hct.ts +69 -0
  222. package/src/theme/color-engine/index.ts +73 -0
  223. package/src/theme/color-engine/lab-point-provider.ts +26 -0
  224. package/src/theme/color-engine/math-utils.ts +69 -0
  225. package/src/theme/color-engine/quantizer-map.ts +17 -0
  226. package/src/theme/color-engine/quantizer-wu.ts +320 -0
  227. package/src/theme/color-engine/scheme-variants.ts +113 -0
  228. package/src/theme/color-engine/score.ts +82 -0
  229. package/src/theme/color-engine/seed-from-image.ts +64 -0
  230. package/src/theme/color-engine/tonal-palette.ts +94 -0
  231. package/src/theme/color-engine/tone-delta-pair.ts +21 -0
  232. package/src/theme/color-engine/variant.ts +18 -0
  233. package/src/theme/color-engine/viewing-conditions.ts +77 -0
  234. package/src/theme/color-presets.ts +54 -631
  235. package/src/theme/preset-vars.ts +65 -49
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","light","dark","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;;;;;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;;AAGO,MAAMA,eAAwC,GAAAC,OAAA,CAAAD,eAAA,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;;AAEzK;AACO,MAAME,mBAA4C,GAAAD,OAAA,CAAAC,mBAAA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;AAExE,MAAMC,gBAA8C,GAAAF,OAAA,CAAAE,gBAAA,GAAG;EAC5D,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE;AACb,CAAC;AAEM,SAASC,iBAAiBA,CAACC,GAAW,EAAgB;EAC3D,OAAOF,gBAAgB,CAACE,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAuD,GAAAN,OAAA,CAAAM,iBAAA,GAAG;EACrEC,IAAI,EAAE;IAAEC,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DC,IAAI,EAAE;IAAEF,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DE,KAAK,EAAE;IAAEH,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC5DG,KAAK,EAAE;IAAEJ,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC5DI,MAAM,EAAE;IAAEL,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DK,GAAG,EAAE;IAAEN,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDM,MAAM,EAAE;IAAEP,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DO,IAAI,EAAE;IAAER,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DQ,GAAG,EAAE;IAAET,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDS,MAAM,EAAE;IAAEV,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DU,IAAI,EAAE;IAAEX,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DW,GAAG,EAAE;IAAEZ,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDY,QAAQ,EAAE;IAAEb,IAAI,EAAE,UAAU;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU;AACnE,CAAC","ignoreList":[]}
@@ -7,63 +7,80 @@ exports.applyPresetVarsToDocument = applyPresetVarsToDocument;
7
7
  exports.getPresetVars = getPresetVars;
8
8
  var _reactNative = require("react-native");
9
9
  var _colorPresets = require("./color-presets.js");
10
+ var _index = require("./color-engine/index.js");
10
11
  var _tokenRegistry = require("./token-registry.js");
11
12
  // Circular at the module graph level (`token-registry` imports `getPresetVars`
12
13
  // from here), but safe: `getResolvedTokens` is only referenced inside the
13
14
  // `applyPresetVarsToDocument` function body — i.e. at call time, after both
14
15
  // modules have finished evaluating — never during module initialization.
15
16
 
16
- function extractHue(hslVar) {
17
- return parseInt(hslVar.split(' ')[0] ?? '0', 10);
18
- }
19
- function extractSat(hslVar) {
20
- return parseInt(hslVar.split(' ')[1] ?? '0', 10);
21
- }
22
-
23
17
  /**
24
- * Bloom's base preset tokens extended with the surface/card/chart/sidebar
25
- * tokens that apps layer on top of the core shadcn palette. Synthesized from
26
- * the preset's primary hue so every preset stays in sync automatically.
18
+ * Map a preset (seed + variant) and mode onto Bloom's canonical CSS-var token
19
+ * set, sourcing EVERY colour from the colour engine's Material-3 role output.
20
+ *
21
+ * This replaces the old hand-authored HSL triples: the engine derives a full,
22
+ * self-consistent, WCAG-legible role set from the seed for light and dark, and
23
+ * this function assigns those roles to Bloom's token names. The token NAMES are
24
+ * unchanged (see `CANONICAL_TOKENS` in `token-registry.ts`) — only the SOURCE of
25
+ * each colour moved to the engine, so every downstream consumer keeps working.
26
+ *
27
+ * Values are full `rgb(r g b)` strings straight from the engine. `getResolvedTokens`
28
+ * passes non-HSL-triple values through untouched, so these flow through the whole
29
+ * pipeline (web document writes, native `rootVariables`, JS `ThemeColors`) unchanged.
27
30
  *
28
31
  * This is the single source of truth for extended theming vars — consumer apps
29
32
  * must not redefine these per-app.
30
- *
31
- * Values are platform-agnostic **raw HSL triples** (`'185 100% 20%'`, optionally
32
- * with a `/ A` alpha tail). The single canonical resolver `getResolvedTokens`
33
- * (in `token-registry.ts`) converts these to sRGB `rgb(...)` for BOTH web and
34
- * native runtime writes — this function only produces the raw triple map.
35
33
  */
36
34
  function getPresetVars(colorName, mode) {
37
35
  const preset = _colorPresets.APP_COLOR_PRESETS[colorName];
38
- const base = mode === 'light' ? preset.light : preset.dark;
39
- const get = key => base[key] ?? '0 0% 0%';
40
- const primary = get('--primary');
41
- const foreground = get('--foreground');
42
- const hue = extractHue(primary);
43
- const sat = Math.min(extractSat(primary), 80);
44
- const isDark = mode === 'dark';
45
- const extended = {
46
- ...base,
47
- // Light cards carry the same bold preset tint as `--popover` (H 55% 97%)
48
- // so they read as part of the preset family rather than a pure-white slab —
49
- // mirroring how dark cards (H 30% 10%) carry the accent hue into near-black.
50
- '--card': isDark ? `${hue} 30% 10%` : `${hue} 55% 97%`,
51
- '--card-foreground': foreground,
52
- '--chart-1': `${hue} ${sat}% 85%`,
53
- '--chart-2': `${hue} ${sat}% 75%`,
54
- '--chart-3': `${hue} ${sat}% 65%`,
55
- '--chart-4': `${hue} ${sat}% ${isDark ? 55 : 75}%`,
56
- '--chart-5': `${hue} ${sat}% ${isDark ? 45 : 65}%`,
57
- '--content-area': isDark ? `${hue} 30% 8%` : get('--surface'),
58
- '--sidebar-foreground': foreground,
59
- '--sidebar-primary': primary,
60
- '--sidebar-primary-foreground': get('--primary-foreground'),
61
- '--sidebar-accent': isDark ? get('--sidebar') : get('--accent'),
62
- '--sidebar-accent-foreground': isDark ? foreground : get('--accent-foreground'),
63
- '--sidebar-border': get('--border'),
64
- '--sidebar-ring': get('--ring')
36
+ const r = (0, _index.generateRoleColors)({
37
+ seed: preset.hex,
38
+ variant: preset.variant,
39
+ isDark: mode === 'dark'
40
+ });
41
+ return {
42
+ // --- base shadcn palette ---
43
+ '--background': r.background,
44
+ '--foreground': r.onBackground,
45
+ '--surface': r.surfaceContainerLow,
46
+ '--surface-foreground': r.onSurface,
47
+ '--popover': r.surfaceContainer,
48
+ '--popover-foreground': r.onSurface,
49
+ '--primary': r.primary,
50
+ '--primary-foreground': r.onPrimary,
51
+ // The FIX: `secondary` is now a REAL contrast colour (the engine's secondary
52
+ // role), not a mirror of `primary`.
53
+ '--secondary': r.secondary,
54
+ '--secondary-foreground': r.onSecondary,
55
+ '--muted': r.surfaceContainerHigh,
56
+ '--muted-foreground': r.onSurfaceVariant,
57
+ '--accent': r.secondaryContainer,
58
+ '--accent-foreground': r.onSecondaryContainer,
59
+ '--destructive': r.error,
60
+ '--border': r.outlineVariant,
61
+ '--input': r.outlineVariant,
62
+ '--ring': r.primary,
63
+ '--sidebar': r.surfaceContainerLow,
64
+ // --- extended tokens ---
65
+ // The FIX: `card` is the LIGHTEST surface (lighter than `background` in
66
+ // light, correctly darker than `background` in dark) via `surfaceContainerLowest`.
67
+ '--card': r.surfaceContainerLowest,
68
+ '--card-foreground': r.onSurface,
69
+ // Chart series: a sensible 5-step ramp across the accent trio + containers.
70
+ '--chart-1': r.primary,
71
+ '--chart-2': r.secondary,
72
+ '--chart-3': r.tertiary,
73
+ '--chart-4': r.primaryContainer,
74
+ '--chart-5': r.tertiaryContainer,
75
+ '--content-area': r.background,
76
+ '--sidebar-foreground': r.onSurface,
77
+ '--sidebar-primary': r.primary,
78
+ '--sidebar-primary-foreground': r.onPrimary,
79
+ '--sidebar-accent': r.secondaryContainer,
80
+ '--sidebar-accent-foreground': r.onSecondaryContainer,
81
+ '--sidebar-border': r.outlineVariant,
82
+ '--sidebar-ring': r.primary
65
83
  };
66
- return extended;
67
84
  }
68
85
 
69
86
  /**
@@ -72,10 +89,10 @@ function getPresetVars(colorName, mode) {
72
89
  * call this only when an app needs the extended (card/chart/sidebar) tokens on
73
90
  * the document root.
74
91
  *
75
- * Tokens are resolved to sRGB `rgb(...)` via the single canonical
76
- * `getResolvedTokens` pipeline, so `var(--x)` — the form Tailwind v4
77
- * `@theme inline` compiles its color utilities to — resolves directly to a
78
- * valid color on web.
92
+ * Tokens are resolved via the single canonical `getResolvedTokens` pipeline
93
+ * (already full `rgb(...)` colours from the engine), so `var(--x)` — the form
94
+ * Tailwind v4 `@theme inline` compiles its color utilities to — resolves
95
+ * directly to a valid color on web.
79
96
  */
80
97
  function applyPresetVarsToDocument(colorName, mode) {
81
98
  if (_reactNative.Platform.OS !== 'web' || typeof document === 'undefined') return;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_colorPresets","_tokenRegistry","extractHue","hslVar","parseInt","split","extractSat","getPresetVars","colorName","mode","preset","APP_COLOR_PRESETS","base","light","dark","get","key","primary","foreground","hue","sat","Math","min","isDark","extended","applyPresetVarsToDocument","Platform","OS","document","vars","getResolvedTokens","root","documentElement","style","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_colorPresets","_index","_tokenRegistry","getPresetVars","colorName","mode","preset","APP_COLOR_PRESETS","r","generateRoleColors","seed","hex","variant","isDark","background","onBackground","surfaceContainerLow","onSurface","surfaceContainer","primary","onPrimary","secondary","onSecondary","surfaceContainerHigh","onSurfaceVariant","secondaryContainer","onSecondaryContainer","error","outlineVariant","surfaceContainerLowest","tertiary","primaryContainer","tertiaryContainer","applyPresetVarsToDocument","Platform","OS","document","vars","getResolvedTokens","root","documentElement","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.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":[]}