@chipmobilesdk/rn-theme 1.1.0 → 1.3.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 (263) hide show
  1. package/CHANGELOG.md +124 -1
  2. package/README.md +17 -12
  3. package/lib/commonjs/color/categorical.js +35 -0
  4. package/lib/commonjs/color/categorical.js.map +1 -0
  5. package/lib/commonjs/color/contrast.js +199 -0
  6. package/lib/commonjs/color/contrast.js.map +1 -0
  7. package/lib/commonjs/color/parse.js +110 -0
  8. package/lib/commonjs/color/parse.js.map +1 -0
  9. package/lib/commonjs/color/roles.js +235 -0
  10. package/lib/commonjs/color/roles.js.map +1 -0
  11. package/lib/commonjs/index.js +94 -0
  12. package/lib/commonjs/index.js.map +1 -0
  13. package/lib/commonjs/integration/navigationTheme.js +43 -0
  14. package/lib/commonjs/integration/navigationTheme.js.map +1 -0
  15. package/lib/commonjs/package.json +1 -0
  16. package/lib/commonjs/presets/byTone.js +28 -0
  17. package/lib/commonjs/presets/byTone.js.map +1 -0
  18. package/lib/commonjs/presets/layout.js +67 -0
  19. package/lib/commonjs/presets/layout.js.map +1 -0
  20. package/lib/commonjs/presets/themePresets.js +115 -0
  21. package/lib/commonjs/presets/themePresets.js.map +1 -0
  22. package/lib/commonjs/theme/buildThemes.js +211 -0
  23. package/lib/commonjs/theme/buildThemes.js.map +1 -0
  24. package/lib/commonjs/theme/errors.js +49 -0
  25. package/lib/commonjs/theme/errors.js.map +1 -0
  26. package/lib/commonjs/theme/overrides.js +125 -0
  27. package/lib/commonjs/theme/overrides.js.map +1 -0
  28. package/lib/commonjs/theme/validateThemeConfig.js +157 -0
  29. package/lib/commonjs/theme/validateThemeConfig.js.map +1 -0
  30. package/lib/commonjs/tokens/defaults.js +132 -0
  31. package/lib/commonjs/tokens/defaults.js.map +1 -0
  32. package/lib/commonjs/tokens/typography.js +136 -0
  33. package/lib/commonjs/tokens/typography.js.map +1 -0
  34. package/lib/commonjs/types/brand.js +2 -0
  35. package/lib/commonjs/types/brand.js.map +1 -0
  36. package/lib/commonjs/types/colors.js +2 -0
  37. package/lib/commonjs/types/colors.js.map +1 -0
  38. package/lib/commonjs/types/index.js +2 -0
  39. package/lib/commonjs/types/index.js.map +1 -0
  40. package/lib/commonjs/types/theme.js +6 -0
  41. package/lib/commonjs/types/theme.js.map +1 -0
  42. package/lib/commonjs/types/tokens.js +2 -0
  43. package/lib/commonjs/types/tokens.js.map +1 -0
  44. package/lib/commonjs/types/typography.js +2 -0
  45. package/lib/commonjs/types/typography.js.map +1 -0
  46. package/lib/commonjs/unistyles/createUnistylesConfig.js +113 -0
  47. package/lib/commonjs/unistyles/createUnistylesConfig.js.map +1 -0
  48. package/lib/commonjs/unistyles/themeMode.js +39 -0
  49. package/lib/commonjs/unistyles/themeMode.js.map +1 -0
  50. package/lib/commonjs/vendor/mcu/LICENSE +191 -0
  51. package/lib/commonjs/vendor/mcu/hct/cam16.js +362 -0
  52. package/lib/commonjs/vendor/mcu/hct/cam16.js.map +1 -0
  53. package/lib/commonjs/vendor/mcu/hct/hct.js +183 -0
  54. package/lib/commonjs/vendor/mcu/hct/hct.js.map +1 -0
  55. package/lib/commonjs/vendor/mcu/hct/hct_solver.js +401 -0
  56. package/lib/commonjs/vendor/mcu/hct/hct_solver.js.map +1 -0
  57. package/lib/commonjs/vendor/mcu/hct/viewing_conditions.js +116 -0
  58. package/lib/commonjs/vendor/mcu/hct/viewing_conditions.js.map +1 -0
  59. package/lib/commonjs/vendor/mcu/index.js +27 -0
  60. package/lib/commonjs/vendor/mcu/index.js.map +1 -0
  61. package/lib/commonjs/vendor/mcu/palettes/tonal_palette.js +177 -0
  62. package/lib/commonjs/vendor/mcu/palettes/tonal_palette.js.map +1 -0
  63. package/lib/commonjs/vendor/mcu/utils/color_utils.js +298 -0
  64. package/lib/commonjs/vendor/mcu/utils/color_utils.js.map +1 -0
  65. package/lib/commonjs/vendor/mcu/utils/math_utils.js +158 -0
  66. package/lib/commonjs/vendor/mcu/utils/math_utils.js.map +1 -0
  67. package/lib/module/color/categorical.js +31 -0
  68. package/lib/module/color/categorical.js.map +1 -0
  69. package/lib/module/color/contrast.js +194 -0
  70. package/lib/module/color/contrast.js.map +1 -0
  71. package/lib/module/color/parse.js +101 -0
  72. package/lib/module/color/parse.js.map +1 -0
  73. package/lib/module/color/roles.js +229 -0
  74. package/lib/module/color/roles.js.map +1 -0
  75. package/lib/module/index.js +23 -0
  76. package/lib/module/index.js.map +1 -0
  77. package/lib/module/integration/navigationTheme.js +39 -0
  78. package/lib/module/integration/navigationTheme.js.map +1 -0
  79. package/lib/module/package.json +1 -0
  80. package/lib/module/presets/byTone.js +24 -0
  81. package/lib/module/presets/byTone.js.map +1 -0
  82. package/lib/module/presets/layout.js +63 -0
  83. package/lib/module/presets/layout.js.map +1 -0
  84. package/lib/module/presets/themePresets.js +110 -0
  85. package/lib/module/presets/themePresets.js.map +1 -0
  86. package/lib/module/theme/buildThemes.js +208 -0
  87. package/lib/module/theme/buildThemes.js.map +1 -0
  88. package/lib/module/theme/errors.js +43 -0
  89. package/lib/module/theme/errors.js.map +1 -0
  90. package/lib/module/theme/overrides.js +119 -0
  91. package/lib/module/theme/overrides.js.map +1 -0
  92. package/lib/module/theme/validateThemeConfig.js +152 -0
  93. package/lib/module/theme/validateThemeConfig.js.map +1 -0
  94. package/lib/module/tokens/defaults.js +120 -0
  95. package/lib/module/tokens/defaults.js.map +1 -0
  96. package/lib/module/tokens/typography.js +129 -0
  97. package/lib/module/tokens/typography.js.map +1 -0
  98. package/lib/module/types/brand.js +2 -0
  99. package/lib/module/types/brand.js.map +1 -0
  100. package/lib/module/types/colors.js +2 -0
  101. package/lib/module/types/colors.js.map +1 -0
  102. package/lib/module/types/index.js +2 -0
  103. package/lib/module/types/index.js.map +1 -0
  104. package/lib/module/types/theme.js +4 -0
  105. package/lib/module/types/theme.js.map +1 -0
  106. package/lib/module/types/tokens.js +2 -0
  107. package/lib/module/types/tokens.js.map +1 -0
  108. package/lib/module/types/typography.js +2 -0
  109. package/lib/module/types/typography.js.map +1 -0
  110. package/lib/module/unistyles/createUnistylesConfig.js +109 -0
  111. package/lib/module/unistyles/createUnistylesConfig.js.map +1 -0
  112. package/lib/module/unistyles/themeMode.js +36 -0
  113. package/lib/module/unistyles/themeMode.js.map +1 -0
  114. package/lib/module/vendor/mcu/LICENSE +191 -0
  115. package/lib/module/vendor/mcu/hct/cam16.js +356 -0
  116. package/lib/module/vendor/mcu/hct/cam16.js.map +1 -0
  117. package/lib/module/vendor/mcu/hct/hct.js +178 -0
  118. package/lib/module/vendor/mcu/hct/hct.js.map +1 -0
  119. package/lib/module/vendor/mcu/hct/hct_solver.js +396 -0
  120. package/lib/module/vendor/mcu/hct/hct_solver.js.map +1 -0
  121. package/lib/module/vendor/mcu/hct/viewing_conditions.js +110 -0
  122. package/lib/module/vendor/mcu/hct/viewing_conditions.js.map +1 -0
  123. package/lib/module/vendor/mcu/index.js +8 -0
  124. package/lib/module/vendor/mcu/index.js.map +1 -0
  125. package/lib/module/vendor/mcu/palettes/tonal_palette.js +172 -0
  126. package/lib/module/vendor/mcu/palettes/tonal_palette.js.map +1 -0
  127. package/lib/module/vendor/mcu/utils/color_utils.js +277 -0
  128. package/lib/module/vendor/mcu/utils/color_utils.js.map +1 -0
  129. package/lib/module/vendor/mcu/utils/math_utils.js +146 -0
  130. package/lib/module/vendor/mcu/utils/math_utils.js.map +1 -0
  131. package/lib/typescript/commonjs/color/categorical.d.ts +7 -0
  132. package/lib/typescript/commonjs/color/categorical.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/color/contrast.d.ts +26 -0
  134. package/lib/typescript/commonjs/color/contrast.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/color/parse.d.ts +25 -0
  136. package/lib/typescript/commonjs/color/parse.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/color/roles.d.ts +26 -0
  138. package/lib/typescript/commonjs/color/roles.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/index.d.ts +18 -0
  140. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/integration/navigationTheme.d.ts +30 -0
  142. package/lib/typescript/commonjs/integration/navigationTheme.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/package.json +1 -0
  144. package/lib/typescript/commonjs/presets/byTone.d.ts +19 -0
  145. package/lib/typescript/commonjs/presets/byTone.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/presets/layout.d.ts +63 -0
  147. package/lib/typescript/commonjs/presets/layout.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/presets/themePresets.d.ts +11 -0
  149. package/lib/typescript/commonjs/presets/themePresets.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/theme/buildThemes.d.ts +18 -0
  151. package/lib/typescript/commonjs/theme/buildThemes.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/theme/errors.d.ts +23 -0
  153. package/lib/typescript/commonjs/theme/errors.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/theme/overrides.d.ts +11 -0
  155. package/lib/typescript/commonjs/theme/overrides.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/theme/validateThemeConfig.d.ts +6 -0
  157. package/lib/typescript/commonjs/theme/validateThemeConfig.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/tokens/defaults.d.ts +23 -0
  159. package/lib/typescript/commonjs/tokens/defaults.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/tokens/typography.d.ts +14 -0
  161. package/lib/typescript/commonjs/tokens/typography.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/types/brand.d.ts +21 -0
  163. package/lib/typescript/commonjs/types/brand.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/types/colors.d.ts +76 -0
  165. package/lib/typescript/commonjs/types/colors.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/types/index.d.ts +6 -0
  167. package/lib/typescript/commonjs/types/index.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/types/theme.d.ts +140 -0
  169. package/lib/typescript/commonjs/types/theme.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/types/tokens.d.ts +79 -0
  171. package/lib/typescript/commonjs/types/tokens.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/types/typography.d.ts +53 -0
  173. package/lib/typescript/commonjs/types/typography.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/unistyles/createUnistylesConfig.d.ts +52 -0
  175. package/lib/typescript/commonjs/unistyles/createUnistylesConfig.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/unistyles/themeMode.d.ts +13 -0
  177. package/lib/typescript/commonjs/unistyles/themeMode.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/vendor/mcu/hct/cam16.d.ts +132 -0
  179. package/lib/typescript/commonjs/vendor/mcu/hct/cam16.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/vendor/mcu/hct/hct.d.ts +93 -0
  181. package/lib/typescript/commonjs/vendor/mcu/hct/hct.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/vendor/mcu/hct/hct_solver.d.ts +147 -0
  183. package/lib/typescript/commonjs/vendor/mcu/hct/hct_solver.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/vendor/mcu/hct/viewing_conditions.d.ts +75 -0
  185. package/lib/typescript/commonjs/vendor/mcu/hct/viewing_conditions.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/vendor/mcu/index.d.ts +4 -0
  187. package/lib/typescript/commonjs/vendor/mcu/index.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/vendor/mcu/palettes/tonal_palette.d.ts +56 -0
  189. package/lib/typescript/commonjs/vendor/mcu/palettes/tonal_palette.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/vendor/mcu/utils/color_utils.d.ts +129 -0
  191. package/lib/typescript/commonjs/vendor/mcu/utils/color_utils.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/vendor/mcu/utils/math_utils.d.ts +83 -0
  193. package/lib/typescript/commonjs/vendor/mcu/utils/math_utils.d.ts.map +1 -0
  194. package/lib/typescript/module/color/categorical.d.ts +7 -0
  195. package/lib/typescript/module/color/categorical.d.ts.map +1 -0
  196. package/lib/typescript/module/color/contrast.d.ts +26 -0
  197. package/lib/typescript/module/color/contrast.d.ts.map +1 -0
  198. package/lib/typescript/module/color/parse.d.ts +25 -0
  199. package/lib/typescript/module/color/parse.d.ts.map +1 -0
  200. package/lib/typescript/module/color/roles.d.ts +26 -0
  201. package/lib/typescript/module/color/roles.d.ts.map +1 -0
  202. package/lib/typescript/module/index.d.ts +18 -0
  203. package/lib/typescript/module/index.d.ts.map +1 -0
  204. package/lib/typescript/module/integration/navigationTheme.d.ts +30 -0
  205. package/lib/typescript/module/integration/navigationTheme.d.ts.map +1 -0
  206. package/lib/typescript/module/package.json +1 -0
  207. package/lib/typescript/module/presets/byTone.d.ts +19 -0
  208. package/lib/typescript/module/presets/byTone.d.ts.map +1 -0
  209. package/lib/typescript/module/presets/layout.d.ts +63 -0
  210. package/lib/typescript/module/presets/layout.d.ts.map +1 -0
  211. package/lib/typescript/module/presets/themePresets.d.ts +11 -0
  212. package/lib/typescript/module/presets/themePresets.d.ts.map +1 -0
  213. package/lib/typescript/module/theme/buildThemes.d.ts +18 -0
  214. package/lib/typescript/module/theme/buildThemes.d.ts.map +1 -0
  215. package/lib/typescript/module/theme/errors.d.ts +23 -0
  216. package/lib/typescript/module/theme/errors.d.ts.map +1 -0
  217. package/lib/typescript/module/theme/overrides.d.ts +11 -0
  218. package/lib/typescript/module/theme/overrides.d.ts.map +1 -0
  219. package/lib/typescript/module/theme/validateThemeConfig.d.ts +6 -0
  220. package/lib/typescript/module/theme/validateThemeConfig.d.ts.map +1 -0
  221. package/lib/typescript/module/tokens/defaults.d.ts +23 -0
  222. package/lib/typescript/module/tokens/defaults.d.ts.map +1 -0
  223. package/lib/typescript/module/tokens/typography.d.ts +14 -0
  224. package/lib/typescript/module/tokens/typography.d.ts.map +1 -0
  225. package/lib/typescript/module/types/brand.d.ts +21 -0
  226. package/lib/typescript/module/types/brand.d.ts.map +1 -0
  227. package/lib/typescript/module/types/colors.d.ts +76 -0
  228. package/lib/typescript/module/types/colors.d.ts.map +1 -0
  229. package/lib/typescript/module/types/index.d.ts +6 -0
  230. package/lib/typescript/module/types/index.d.ts.map +1 -0
  231. package/lib/typescript/module/types/theme.d.ts +140 -0
  232. package/lib/typescript/module/types/theme.d.ts.map +1 -0
  233. package/lib/typescript/module/types/tokens.d.ts +79 -0
  234. package/lib/typescript/module/types/tokens.d.ts.map +1 -0
  235. package/lib/typescript/module/types/typography.d.ts +53 -0
  236. package/lib/typescript/module/types/typography.d.ts.map +1 -0
  237. package/lib/typescript/module/unistyles/createUnistylesConfig.d.ts +52 -0
  238. package/lib/typescript/module/unistyles/createUnistylesConfig.d.ts.map +1 -0
  239. package/lib/typescript/module/unistyles/themeMode.d.ts +13 -0
  240. package/lib/typescript/module/unistyles/themeMode.d.ts.map +1 -0
  241. package/lib/typescript/module/vendor/mcu/hct/cam16.d.ts +132 -0
  242. package/lib/typescript/module/vendor/mcu/hct/cam16.d.ts.map +1 -0
  243. package/lib/typescript/module/vendor/mcu/hct/hct.d.ts +93 -0
  244. package/lib/typescript/module/vendor/mcu/hct/hct.d.ts.map +1 -0
  245. package/lib/typescript/module/vendor/mcu/hct/hct_solver.d.ts +147 -0
  246. package/lib/typescript/module/vendor/mcu/hct/hct_solver.d.ts.map +1 -0
  247. package/lib/typescript/module/vendor/mcu/hct/viewing_conditions.d.ts +75 -0
  248. package/lib/typescript/module/vendor/mcu/hct/viewing_conditions.d.ts.map +1 -0
  249. package/lib/typescript/module/vendor/mcu/index.d.ts +4 -0
  250. package/lib/typescript/module/vendor/mcu/index.d.ts.map +1 -0
  251. package/lib/typescript/module/vendor/mcu/palettes/tonal_palette.d.ts +56 -0
  252. package/lib/typescript/module/vendor/mcu/palettes/tonal_palette.d.ts.map +1 -0
  253. package/lib/typescript/module/vendor/mcu/utils/color_utils.d.ts +129 -0
  254. package/lib/typescript/module/vendor/mcu/utils/color_utils.d.ts.map +1 -0
  255. package/lib/typescript/module/vendor/mcu/utils/math_utils.d.ts +83 -0
  256. package/lib/typescript/module/vendor/mcu/utils/math_utils.d.ts.map +1 -0
  257. package/package.json +40 -16
  258. package/src/color/roles.ts +3 -1
  259. package/src/theme/buildThemes.ts +84 -26
  260. package/src/theme/validateThemeConfig.ts +28 -2
  261. package/src/tokens/defaults.ts +14 -8
  262. package/src/unistyles/createUnistylesConfig.ts +4 -1
  263. package/src/vendor/mcu/index.ts +1 -1
@@ -0,0 +1,79 @@
1
+ export interface SpacingTokens {
2
+ none: number;
3
+ xxs: number;
4
+ xs: number;
5
+ sm: number;
6
+ smPlus: number;
7
+ md: number;
8
+ mdPlus: number;
9
+ lg: number;
10
+ xl: number;
11
+ xlPlus: number;
12
+ xxl: number;
13
+ xxxl: number;
14
+ }
15
+ export type SpacingKey = keyof SpacingTokens;
16
+ export interface RadiusTokens {
17
+ none: number;
18
+ xs: number;
19
+ sm: number;
20
+ md: number;
21
+ lg: number;
22
+ xl: number;
23
+ full: number;
24
+ }
25
+ export interface BorderWidthTokens {
26
+ hairline: number;
27
+ thin: number;
28
+ thick: number;
29
+ }
30
+ export interface SizeTokens {
31
+ /** Minimum touch target side, in points (WCAG 2.5.8 / standards V). */
32
+ touchTarget: number;
33
+ icon: {
34
+ sm: number;
35
+ md: number;
36
+ lg: number;
37
+ };
38
+ }
39
+ /** Material 3 state-layer and disabled opacities. */
40
+ export interface OpacityTokens {
41
+ hover: number;
42
+ focus: number;
43
+ pressed: number;
44
+ dragged: number;
45
+ disabledContent: number;
46
+ disabledContainer: number;
47
+ }
48
+ /** Cubic-bezier control points `[x1, y1, x2, y2]`, e.g. for `Easing.bezier`. */
49
+ export type EasingCurve = [number, number, number, number];
50
+ export interface MotionTokens {
51
+ duration: {
52
+ short: number;
53
+ medium: number;
54
+ long: number;
55
+ };
56
+ easing: {
57
+ standard: EasingCurve;
58
+ emphasized: EasingCurve;
59
+ decelerate: EasingCurve;
60
+ accelerate: EasingCurve;
61
+ };
62
+ }
63
+ export interface ShadowToken {
64
+ /** CSS-style shadow list, rendered by React Native on iOS and Android. */
65
+ boxShadow: string;
66
+ }
67
+ export interface ShadowTokens {
68
+ sm: ShadowToken;
69
+ md: ShadowToken;
70
+ lg: ShadowToken;
71
+ }
72
+ export interface ZIndexTokens {
73
+ base: number;
74
+ raised: number;
75
+ modal: number;
76
+ overlay: number;
77
+ toast: number;
78
+ }
79
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/types/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IAC1B,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE;QACP,QAAQ,EAAE,WAAW,CAAC;QACtB,UAAU,EAAE,WAAW,CAAC;QACxB,UAAU,EAAE,WAAW,CAAC;QACxB,UAAU,EAAE,WAAW,CAAC;KACxB,CAAC;CACF;AAED,MAAM,WAAW,WAAW;IAC3B,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,53 @@
1
+ export type FontWeightName = 'regular' | 'medium' | 'semibold' | 'bold' | 'heavy';
2
+ /** The weight strings the package emits; each is a valid React Native `fontWeight`. */
3
+ export type FontWeightValue = 'normal' | '400' | '500' | '600' | '700' | '800' | '900';
4
+ /**
5
+ * Custom font files per weight. Android cannot pick a weight inside a family,
6
+ * so every weight needs its own family name there; iOS resolves weights within
7
+ * one family unless a per-weight name is given.
8
+ */
9
+ export interface FontConfig {
10
+ /** Family used where no per-weight name applies. */
11
+ family?: string;
12
+ ios?: Partial<Record<FontWeightName, string>>;
13
+ android?: Partial<Record<FontWeightName, string>>;
14
+ }
15
+ export interface TypographyConfig {
16
+ /** Single family for every weight (0.2.x behaviour). Defaults to `System`. */
17
+ fontFamily?: string;
18
+ fonts?: FontConfig;
19
+ baseFontSize?: number;
20
+ /** Design-time multiplier. It does not track the OS text-size setting. */
21
+ fontScale?: number;
22
+ /**
23
+ * Ceiling for the OS text-size multiplier, applied by the app's `Text`
24
+ * through `maxFontSizeMultiplier`. Defaults to 2 (WCAG 1.4.4).
25
+ */
26
+ maxFontScale?: number;
27
+ }
28
+ export type TypographyRole = 'display' | 'headline' | 'title' | 'body' | 'label' | 'caption';
29
+ export type TypographyStyleName = TypographyRole | `${TypographyRole}Small` | `${TypographyRole}Large`;
30
+ export interface TypographyToken {
31
+ fontSize: number;
32
+ lineHeight: number;
33
+ fontWeight: FontWeightValue;
34
+ fontFamily: string;
35
+ letterSpacing?: number;
36
+ }
37
+ /** The six 0.2.x role names resolve to the medium size. */
38
+ export type Typography = {
39
+ fontFamily: string;
40
+ } & Record<TypographyStyleName, TypographyToken>;
41
+ /** The fixed weight scale behind the weight names. */
42
+ export interface FontWeights {
43
+ regular: '400';
44
+ medium: '500';
45
+ semibold: '600';
46
+ bold: '700';
47
+ heavy: '800';
48
+ }
49
+ export interface FontToken {
50
+ fontFamily: string;
51
+ fontWeight: FontWeightValue;
52
+ }
53
+ //# sourceMappingURL=typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../../../src/types/typography.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAElF,uFAAuF;AACvF,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,gBAAgB;IAChC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7F,MAAM,MAAM,mBAAmB,GAC9B,cAAc,GAAG,GAAG,cAAc,OAAO,GAAG,GAAG,cAAc,OAAO,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAE/F,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;CAC5B"}
@@ -0,0 +1,52 @@
1
+ import { type BuildThemesOptions } from '../theme/buildThemes.js';
2
+ import { DEFAULT_BREAKPOINTS } from '../tokens/defaults.js';
3
+ import type { EmptyExtension, ThemeConfig, ThemeName, Themes } from '../types/theme.js';
4
+ type Breakpoints = Record<string, number>;
5
+ interface UnistylesBaseSettings {
6
+ CSSVars?: boolean;
7
+ nativeBreakpointsMode?: 'pixels' | 'points';
8
+ }
9
+ export type UnistylesConfigOptions<TName extends string = never, TBreakpoints extends Breakpoints = typeof DEFAULT_BREAKPOINTS> = UnistylesBaseSettings & BuildThemesOptions & {
10
+ /** Replaces the default `compact`/`medium`/`expanded` breakpoints; one must be 0. */
11
+ breakpoints?: TBreakpoints;
12
+ } & ({
13
+ /** Theme active on first launch. Defaults to 'light'. */
14
+ initialTheme?: ThemeName<TName> | (() => ThemeName<TName>);
15
+ adaptiveThemes?: false;
16
+ } | {
17
+ /** Follow the system colour scheme between light and dark. */
18
+ adaptiveThemes: boolean;
19
+ initialTheme?: never;
20
+ });
21
+ type UnistylesSettings<TName extends string> = UnistylesBaseSettings & ({
22
+ initialTheme: ThemeName<TName> | (() => ThemeName<TName>);
23
+ adaptiveThemes?: false;
24
+ } | {
25
+ adaptiveThemes: true;
26
+ initialTheme?: never;
27
+ });
28
+ export interface UnistylesConfig<TExt extends object = EmptyExtension, TTone extends string = never, TName extends string = never, TBreakpoints extends Breakpoints = typeof DEFAULT_BREAKPOINTS> {
29
+ themes: Themes<TExt, TTone, TName>;
30
+ settings: UnistylesSettings<TName>;
31
+ breakpoints: TBreakpoints;
32
+ }
33
+ /**
34
+ * Builds the object for `StyleSheet.configure`: every theme, settings and
35
+ * breakpoints.
36
+ *
37
+ * ```ts
38
+ * const config = createUnistylesConfig({ brandColors: BRAND_COLORS }, { initialTheme: 'light' });
39
+ *
40
+ * type AppThemes = typeof config.themes;
41
+ * type AppBreakpoints = typeof config.breakpoints;
42
+ * declare module 'react-native-unistyles' {
43
+ * export interface UnistylesThemes extends AppThemes {}
44
+ * export interface UnistylesBreakpoints extends AppBreakpoints {}
45
+ * }
46
+ *
47
+ * StyleSheet.configure(config);
48
+ * ```
49
+ */
50
+ export declare function createUnistylesConfig<TExt extends object = EmptyExtension, TTone extends string = never, TName extends string = never, TBreakpoints extends Breakpoints = typeof DEFAULT_BREAKPOINTS>(config: ThemeConfig<TExt, TTone, TName>, options?: UnistylesConfigOptions<NoInfer<TName>, TBreakpoints>): UnistylesConfig<TExt, TTone, TName, TBreakpoints>;
51
+ export {};
52
+ //# sourceMappingURL=createUnistylesConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnistylesConfig.d.ts","sourceRoot":"","sources":["../../../../src/unistyles/createUnistylesConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAI5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAgB,CAAC;AAErF,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,UAAU,qBAAqB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,CACjC,KAAK,SAAS,MAAM,GAAG,KAAK,EAC5B,YAAY,SAAS,WAAW,GAAG,OAAO,mBAAmB,IAC1D,qBAAqB,GACxB,kBAAkB,GAAG;IACpB,qFAAqF;IACrF,WAAW,CAAC,EAAE,YAAY,CAAC;CAC3B,GAAG,CACD;IACA,yDAAyD;IACzD,YAAY,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,KAAK,CAAC;CACtB,GACD;IACA,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,KAAK,CAAC;CACpB,CACH,CAAC;AAEH,KAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI,qBAAqB,GACnE,CACG;IAAE,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GACrF;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAChD,CAAC;AAEH,MAAM,WAAW,eAAe,CAC/B,IAAI,SAAS,MAAM,GAAG,cAAc,EACpC,KAAK,SAAS,MAAM,GAAG,KAAK,EAC5B,KAAK,SAAS,MAAM,GAAG,KAAK,EAC5B,YAAY,SAAS,WAAW,GAAG,OAAO,mBAAmB;IAE7D,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,WAAW,EAAE,YAAY,CAAC;CAC1B;AAsFD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,SAAS,MAAM,GAAG,cAAc,EACpC,KAAK,SAAS,MAAM,GAAG,KAAK,EAC5B,KAAK,SAAS,MAAM,GAAG,KAAK,EAC5B,YAAY,SAAS,WAAW,GAAG,OAAO,mBAAmB,EAE7D,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EACvC,OAAO,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,GAC5D,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAWnD"}
@@ -0,0 +1,13 @@
1
+ export type ThemeMode = 'system' | 'light' | 'dark';
2
+ /** The two runtime calls a mode change needs. */
3
+ export interface ThemeModeRuntime {
4
+ setAdaptiveThemes(enabled: boolean): void;
5
+ setTheme(name: string): void;
6
+ }
7
+ /**
8
+ * Applies a light/dark/system preference. Adaptive themes are switched off
9
+ * before a manual theme is set; in the other order the next OS colour-scheme
10
+ * change overrides the user's choice. Persisting the preference is the app's.
11
+ */
12
+ export declare function applyThemeMode(mode: ThemeMode, runtime?: ThemeModeRuntime): void;
13
+ //# sourceMappingURL=themeMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeMode.d.ts","sourceRoot":"","sources":["../../../../src/unistyles/themeMode.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpD,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAChC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,SAAS,EACf,OAAO,GAAE,gBAAmC,GAC1C,IAAI,CAQN"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { ViewingConditions } from './viewing_conditions.js';
18
+ /**
19
+ * CAM16, a color appearance model. Colors are not just defined by their hex
20
+ * code, but rather, a hex code and viewing conditions.
21
+ *
22
+ * CAM16 instances also have coordinates in the CAM16-UCS space, called J*, a*,
23
+ * b*, or jstar, astar, bstar in code. CAM16-UCS is included in the CAM16
24
+ * specification, and should be used when measuring distances between colors.
25
+ *
26
+ * In traditional color spaces, a color can be identified solely by the
27
+ * observer's measurement of the color. Color appearance models such as CAM16
28
+ * also use information about the environment where the color was
29
+ * observed, known as the viewing conditions.
30
+ *
31
+ * For example, white under the traditional assumption of a midday sun white
32
+ * point is accurately measured as a slightly chromatic blue by CAM16. (roughly,
33
+ * hue 203, chroma 3, lightness 100)
34
+ */
35
+ export declare class Cam16 {
36
+ readonly hue: number;
37
+ readonly chroma: number;
38
+ readonly j: number;
39
+ readonly q: number;
40
+ readonly m: number;
41
+ readonly s: number;
42
+ readonly jstar: number;
43
+ readonly astar: number;
44
+ readonly bstar: number;
45
+ /**
46
+ * All of the CAM16 dimensions can be calculated from 3 of the dimensions, in
47
+ * the following combinations:
48
+ * - {j or q} and {c, m, or s} and hue
49
+ * - jstar, astar, bstar
50
+ * Prefer using a static method that constructs from 3 of those dimensions.
51
+ * This constructor is intended for those methods to use to return all
52
+ * possible dimensions.
53
+ *
54
+ * @param hue
55
+ * @param chroma informally, colorfulness / color intensity. like saturation
56
+ * in HSL, except perceptually accurate.
57
+ * @param j lightness
58
+ * @param q brightness; ratio of lightness to white point's lightness
59
+ * @param m colorfulness
60
+ * @param s saturation; ratio of chroma to white point's chroma
61
+ * @param jstar CAM16-UCS J coordinate
62
+ * @param astar CAM16-UCS a coordinate
63
+ * @param bstar CAM16-UCS b coordinate
64
+ */
65
+ constructor(hue: number, chroma: number, j: number, q: number, m: number, s: number, jstar: number, astar: number, bstar: number);
66
+ /**
67
+ * CAM16 instances also have coordinates in the CAM16-UCS space, called J*,
68
+ * a*, b*, or jstar, astar, bstar in code. CAM16-UCS is included in the CAM16
69
+ * specification, and is used to measure distances between colors.
70
+ */
71
+ distance(other: Cam16): number;
72
+ /**
73
+ * @param argb ARGB representation of a color.
74
+ * @return CAM16 color, assuming the color was viewed in default viewing
75
+ * conditions.
76
+ */
77
+ static fromInt(argb: number): Cam16;
78
+ /**
79
+ * @param argb ARGB representation of a color.
80
+ * @param viewingConditions Information about the environment where the color
81
+ * was observed.
82
+ * @return CAM16 color.
83
+ */
84
+ static fromIntInViewingConditions(argb: number, viewingConditions: ViewingConditions): Cam16;
85
+ /**
86
+ * @param j CAM16 lightness
87
+ * @param c CAM16 chroma
88
+ * @param h CAM16 hue
89
+ */
90
+ static fromJch(j: number, c: number, h: number): Cam16;
91
+ /**
92
+ * @param j CAM16 lightness
93
+ * @param c CAM16 chroma
94
+ * @param h CAM16 hue
95
+ * @param viewingConditions Information about the environment where the color
96
+ * was observed.
97
+ */
98
+ static fromJchInViewingConditions(j: number, c: number, h: number, viewingConditions: ViewingConditions): Cam16;
99
+ /**
100
+ * @param jstar CAM16-UCS lightness.
101
+ * @param astar CAM16-UCS a dimension. Like a* in L*a*b*, it is a Cartesian
102
+ * coordinate on the Y axis.
103
+ * @param bstar CAM16-UCS b dimension. Like a* in L*a*b*, it is a Cartesian
104
+ * coordinate on the X axis.
105
+ */
106
+ static fromUcs(jstar: number, astar: number, bstar: number): Cam16;
107
+ /**
108
+ * @param jstar CAM16-UCS lightness.
109
+ * @param astar CAM16-UCS a dimension. Like a* in L*a*b*, it is a Cartesian
110
+ * coordinate on the Y axis.
111
+ * @param bstar CAM16-UCS b dimension. Like a* in L*a*b*, it is a Cartesian
112
+ * coordinate on the X axis.
113
+ * @param viewingConditions Information about the environment where the color
114
+ * was observed.
115
+ */
116
+ static fromUcsInViewingConditions(jstar: number, astar: number, bstar: number, viewingConditions: ViewingConditions): Cam16;
117
+ /**
118
+ * @return ARGB representation of color, assuming the color was viewed in
119
+ * default viewing conditions, which are near-identical to the default
120
+ * viewing conditions for sRGB.
121
+ */
122
+ toInt(): number;
123
+ /**
124
+ * @param viewingConditions Information about the environment where the color
125
+ * will be viewed.
126
+ * @return ARGB representation of color
127
+ */
128
+ viewed(viewingConditions: ViewingConditions): number;
129
+ static fromXyzInViewingConditions(x: number, y: number, z: number, viewingConditions: ViewingConditions): Cam16;
130
+ xyzInViewingConditions(viewingConditions: ViewingConditions): number[];
131
+ }
132
+ //# sourceMappingURL=cam16.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cam16.d.ts","sourceRoot":"","sources":["../../../../../../src/vendor/mcu/hct/cam16.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAsB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,KAAK;IAsBZ,QAAQ,CAAC,GAAG,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM;IACjE,QAAQ,CAAC,CAAC,EAAE,MAAM;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM;IAvB1E;;;;;;;;;;;;;;;;;;;OAmBG;gBAEU,GAAG,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM,EAAW,CAAC,EAAE,MAAM,EACxD,CAAC,EAAE,MAAM,EAAW,CAAC,EAAE,MAAM,EAAW,CAAC,EAAE,MAAM,EACjD,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,MAAM;IAE1E;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAS9B;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAInC;;;;;OAKG;IACH,MAAM,CAAC,0BAA0B,CAC7B,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,KAAK;IA8D9D;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK;IAItD;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAC7B,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC/B,iBAAiB,EAAE,iBAAiB,GAAG,KAAK;IAehD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK;IAKlE;;;;;;;;OAQG;IACH,MAAM,CAAC,0BAA0B,CAC7B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAC3C,iBAAiB,EAAE,iBAAiB,GAAG,KAAK;IAchD;;;;OAIG;IACH,KAAK,IAAI,MAAM;IAIf;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM;IAoDpD,MAAM,CAAC,0BAA0B,CAC7B,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC/B,iBAAiB,EAAE,iBAAiB,GAAG,KAAK;IAuEhD,sBAAsB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM,EAAE;CAiDvE"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { ViewingConditions } from './viewing_conditions.js';
18
+ /**
19
+ * HCT, hue, chroma, and tone. A color system that provides a perceptually
20
+ * accurate color measurement system that can also accurately render what colors
21
+ * will appear as in different lighting environments.
22
+ */
23
+ export declare class Hct {
24
+ private argb;
25
+ /**
26
+ * @param hue 0 <= hue < 360; invalid values are corrected.
27
+ * @param chroma 0 <= chroma < ?; Informally, colorfulness. The color
28
+ * returned may be lower than the requested chroma. Chroma has a different
29
+ * maximum for any given hue and tone.
30
+ * @param tone 0 <= tone <= 100; invalid values are corrected.
31
+ * @return HCT representation of a color in default viewing conditions.
32
+ */
33
+ internalHue: number;
34
+ internalChroma: number;
35
+ internalTone: number;
36
+ static from(hue: number, chroma: number, tone: number): Hct;
37
+ /**
38
+ * @param argb ARGB representation of a color.
39
+ * @return HCT representation of a color in default viewing conditions
40
+ */
41
+ static fromInt(argb: number): Hct;
42
+ toInt(): number;
43
+ /**
44
+ * A number, in degrees, representing ex. red, orange, yellow, etc.
45
+ * Ranges from 0 <= hue < 360.
46
+ */
47
+ get hue(): number;
48
+ /**
49
+ * @param newHue 0 <= newHue < 360; invalid values are corrected.
50
+ * Chroma may decrease because chroma has a different maximum for any given
51
+ * hue and tone.
52
+ */
53
+ set hue(newHue: number);
54
+ get chroma(): number;
55
+ /**
56
+ * @param newChroma 0 <= newChroma < ?
57
+ * Chroma may decrease because chroma has a different maximum for any given
58
+ * hue and tone.
59
+ */
60
+ set chroma(newChroma: number);
61
+ /** Lightness. Ranges from 0 to 100. */
62
+ get tone(): number;
63
+ /**
64
+ * @param newTone 0 <= newTone <= 100; invalid valids are corrected.
65
+ * Chroma may decrease because chroma has a different maximum for any given
66
+ * hue and tone.
67
+ */
68
+ set tone(newTone: number);
69
+ /** Sets a property of the Hct object. */
70
+ setValue(propertyName: string, value: number): void;
71
+ toString(): string;
72
+ static isBlue(hue: number): boolean;
73
+ static isYellow(hue: number): boolean;
74
+ static isCyan(hue: number): boolean;
75
+ private constructor();
76
+ private setInternalState;
77
+ /**
78
+ * Translates a color into different [ViewingConditions].
79
+ *
80
+ * Colors change appearance. They look different with lights on versus off,
81
+ * the same color, as in hex code, on white looks different when on black.
82
+ * This is called color relativity, most famously explicated by Josef Albers
83
+ * in Interaction of Color.
84
+ *
85
+ * In color science, color appearance models can account for this and
86
+ * calculate the appearance of a color in different settings. HCT is based on
87
+ * CAM16, a color appearance model, and uses it to make these calculations.
88
+ *
89
+ * See [ViewingConditions.make] for parameters affecting color appearance.
90
+ */
91
+ inViewingConditions(vc: ViewingConditions): Hct;
92
+ }
93
+ //# sourceMappingURL=hct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hct.d.ts","sourceRoot":"","sources":["../../../../../../src/vendor/mcu/hct/hct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAyBH,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAsB,CAAC;AAGvD;;;;GAIG;AACH,qBAAa,GAAG;IAkHM,OAAO,CAAC,IAAI;IAjHhC;;;;;;;OAOG;IAEH,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAIrD;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;IAI3B,KAAK,IAAI,MAAM;IAIf;;;OAGG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IACH,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAQrB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAQ3B;IAED,uCAAuC;IACvC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAQvB;IAED,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI5C,QAAQ,IAAI,MAAM;IAKlB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIrC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC,OAAO;IAQP,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,EAAE,iBAAiB,GAAG,GAAG;CAuBhD"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Cam16 } from './cam16.js';
18
+ /**
19
+ * A class that solves the HCT equation.
20
+ */
21
+ export declare class HctSolver {
22
+ static SCALED_DISCOUNT_FROM_LINRGB: number[][];
23
+ static LINRGB_FROM_SCALED_DISCOUNT: number[][];
24
+ static Y_FROM_LINRGB: number[];
25
+ static CRITICAL_PLANES: number[];
26
+ /**
27
+ * Sanitizes a small enough angle in radians.
28
+ *
29
+ * @param angle An angle in radians; must not deviate too much
30
+ * from 0.
31
+ * @return A coterminal angle between 0 and 2pi.
32
+ */
33
+ private static sanitizeRadians;
34
+ /**
35
+ * Delinearizes an RGB component, returning a floating-point
36
+ * number.
37
+ *
38
+ * @param rgbComponent 0.0 <= rgb_component <= 100.0, represents
39
+ * linear R/G/B channel
40
+ * @return 0.0 <= output <= 255.0, color channel converted to
41
+ * regular RGB space
42
+ */
43
+ private static trueDelinearized;
44
+ private static chromaticAdaptation;
45
+ /**
46
+ * Returns the hue of a linear RGB color in CAM16.
47
+ *
48
+ * @param linrgb The linear RGB coordinates of a color.
49
+ * @return The hue of the color in CAM16, in radians.
50
+ */
51
+ private static hueOf;
52
+ private static areInCyclicOrder;
53
+ /**
54
+ * Solves the lerp equation.
55
+ *
56
+ * @param source The starting number.
57
+ * @param mid The number in the middle.
58
+ * @param target The ending number.
59
+ * @return A number t such that lerp(source, target, t) = mid.
60
+ */
61
+ private static intercept;
62
+ private static lerpPoint;
63
+ /**
64
+ * Intersects a segment with a plane.
65
+ *
66
+ * @param source The coordinates of point A.
67
+ * @param coordinate The R-, G-, or B-coordinate of the plane.
68
+ * @param target The coordinates of point B.
69
+ * @param axis The axis the plane is perpendicular with. (0: R, 1:
70
+ * G, 2: B)
71
+ * @return The intersection point of the segment AB with the plane
72
+ * R=coordinate, G=coordinate, or B=coordinate
73
+ */
74
+ private static setCoordinate;
75
+ private static isBounded;
76
+ /**
77
+ * Returns the nth possible vertex of the polygonal intersection.
78
+ *
79
+ * @param y The Y value of the plane.
80
+ * @param n The zero-based index of the point. 0 <= n <= 11.
81
+ * @return The nth possible vertex of the polygonal intersection
82
+ * of the y plane and the RGB cube, in linear RGB coordinates, if
83
+ * it exists. If this possible vertex lies outside of the cube,
84
+ * [-1.0, -1.0, -1.0] is returned.
85
+ */
86
+ private static nthVertex;
87
+ /**
88
+ * Finds the segment containing the desired color.
89
+ *
90
+ * @param y The Y value of the color.
91
+ * @param targetHue The hue of the color.
92
+ * @return A list of two sets of linear RGB coordinates, each
93
+ * corresponding to an endpoint of the segment containing the
94
+ * desired color.
95
+ */
96
+ private static bisectToSegment;
97
+ private static midpoint;
98
+ private static criticalPlaneBelow;
99
+ private static criticalPlaneAbove;
100
+ /**
101
+ * Finds a color with the given Y and hue on the boundary of the
102
+ * cube.
103
+ *
104
+ * @param y The Y value of the color.
105
+ * @param targetHue The hue of the color.
106
+ * @return The desired color, in linear RGB coordinates.
107
+ */
108
+ private static bisectToLimit;
109
+ private static inverseChromaticAdaptation;
110
+ /**
111
+ * Finds a color with the given hue, chroma, and Y.
112
+ *
113
+ * @param hueRadians The desired hue in radians.
114
+ * @param chroma The desired chroma.
115
+ * @param y The desired Y.
116
+ * @return The desired color as a hexadecimal integer, if found; 0
117
+ * otherwise.
118
+ */
119
+ private static findResultByJ;
120
+ /**
121
+ * Finds an sRGB color with the given hue, chroma, and L*, if
122
+ * possible.
123
+ *
124
+ * @param hueDegrees The desired hue, in degrees.
125
+ * @param chroma The desired chroma.
126
+ * @param lstar The desired L*.
127
+ * @return A hexadecimal representing the sRGB color. The color
128
+ * has sufficiently close hue, chroma, and L* to the desired
129
+ * values, if possible; otherwise, the hue and L* will be
130
+ * sufficiently close, and chroma will be maximized.
131
+ */
132
+ static solveToInt(hueDegrees: number, chroma: number, lstar: number): number;
133
+ /**
134
+ * Finds an sRGB color with the given hue, chroma, and L*, if
135
+ * possible.
136
+ *
137
+ * @param hueDegrees The desired hue, in degrees.
138
+ * @param chroma The desired chroma.
139
+ * @param lstar The desired L*.
140
+ * @return An CAM16 object representing the sRGB color. The color
141
+ * has sufficiently close hue, chroma, and L* to the desired
142
+ * values, if possible; otherwise, the hue and L* will be
143
+ * sufficiently close, and chroma will be maximized.
144
+ */
145
+ static solveToCam(hueDegrees: number, chroma: number, lstar: number): Cam16;
146
+ }
147
+ //# sourceMappingURL=hct_solver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hct_solver.d.ts","sourceRoot":"","sources":["../../../../../../src/vendor/mcu/hct/hct_solver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,EAAC,KAAK,EAAC,MAAM,YAAS,CAAC;AAS9B;;GAEG;AACH,qBAAa,SAAS;IACpB,MAAM,CAAC,2BAA2B,aAgBhC;IAEF,MAAM,CAAC,2BAA2B,aAgBhC;IAEF,MAAM,CAAC,aAAa,WAA4B;IAEhD,MAAM,CAAC,eAAe,WAsFpB;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK;IAapB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAM/B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAKxB,OAAO,CAAC,MAAM,CAAC,SAAS;IASxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAU5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAoCxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAmC9B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA4C5B,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAMzC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAqE5B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAe5E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK;CAG5E"}