@react-navigation/elements 3.0.0-alpha.5 → 3.0.0-alpha.51

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 (213) hide show
  1. package/lib/module/ActivityView.js +90 -0
  2. package/lib/module/ActivityView.js.map +1 -0
  3. package/lib/module/ActivityView.native.js +67 -0
  4. package/lib/module/ActivityView.native.js.map +1 -0
  5. package/lib/module/Badge.js +6 -7
  6. package/lib/module/Badge.js.map +1 -1
  7. package/lib/module/BlurEffectBackground.js +3 -3
  8. package/lib/module/BlurEffectBackground.js.map +1 -1
  9. package/lib/module/Button.js +99 -14
  10. package/lib/module/Button.js.map +1 -1
  11. package/lib/module/Color.js +565 -4
  12. package/lib/module/Color.js.map +1 -1
  13. package/lib/module/Container.js +23 -1
  14. package/lib/module/Container.js.map +1 -1
  15. package/lib/module/Header/Header.js +30 -18
  16. package/lib/module/Header/Header.js.map +1 -1
  17. package/lib/module/Header/HeaderBackButton.js +27 -13
  18. package/lib/module/Header/HeaderBackButton.js.map +1 -1
  19. package/lib/module/Header/HeaderButton.js +4 -5
  20. package/lib/module/Header/HeaderButton.js.map +1 -1
  21. package/lib/module/Header/HeaderButtonBackground.js +1 -2
  22. package/lib/module/Header/HeaderButtonBackground.js.map +1 -1
  23. package/lib/module/Header/HeaderIcon.js +14 -17
  24. package/lib/module/Header/HeaderIcon.js.map +1 -1
  25. package/lib/module/Header/HeaderSearchBar.js +36 -26
  26. package/lib/module/Header/HeaderSearchBar.js.map +1 -1
  27. package/lib/module/Header/getHeaderTitle.js.map +1 -1
  28. package/lib/module/Header/useHeaderHeight.js +1 -1
  29. package/lib/module/Header/useHeaderHeight.js.map +1 -1
  30. package/lib/module/Label/getLabel.js.map +1 -1
  31. package/lib/module/LiquidGlassView.ios.js +1 -2
  32. package/lib/module/LiquidGlassView.ios.js.map +1 -1
  33. package/lib/module/LiquidGlassView.js +0 -4
  34. package/lib/module/LiquidGlassView.js.map +1 -1
  35. package/lib/module/PlatformColor.js +1 -0
  36. package/lib/module/PlatformColor.js.map +1 -1
  37. package/lib/module/PlatformColor.native.js +1 -1
  38. package/lib/module/PlatformColor.native.js.map +1 -1
  39. package/lib/module/PlatformIcon.js +46 -0
  40. package/lib/module/PlatformIcon.js.map +1 -0
  41. package/lib/module/PlatformPressable.js +64 -21
  42. package/lib/module/PlatformPressable.js.map +1 -1
  43. package/lib/module/SafeAreaProviderCompat.js +2 -4
  44. package/lib/module/SafeAreaProviderCompat.js.map +1 -1
  45. package/lib/module/Screen.js +59 -20
  46. package/lib/module/Screen.js.map +1 -1
  47. package/lib/module/index.js +2 -7
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/internal.js +1 -1
  50. package/lib/module/internal.js.map +1 -1
  51. package/lib/module/useFrameSize.js +55 -5
  52. package/lib/module/useFrameSize.js.map +1 -1
  53. package/lib/typescript/src/ActivityView.d.ts +31 -0
  54. package/lib/typescript/src/ActivityView.d.ts.map +1 -0
  55. package/lib/typescript/src/ActivityView.native.d.ts +3 -0
  56. package/lib/typescript/src/ActivityView.native.d.ts.map +1 -0
  57. package/lib/typescript/src/Badge.d.ts +7 -6
  58. package/lib/typescript/src/Badge.d.ts.map +1 -1
  59. package/lib/typescript/src/BlurEffectBackground.d.ts +2 -2
  60. package/lib/typescript/src/BlurEffectBackground.d.ts.map +1 -1
  61. package/lib/typescript/src/Button.d.ts +54 -6
  62. package/lib/typescript/src/Button.d.ts.map +1 -1
  63. package/lib/typescript/src/Color.d.ts +4 -4
  64. package/lib/typescript/src/Color.d.ts.map +1 -1
  65. package/lib/typescript/src/Container.d.ts +8 -4
  66. package/lib/typescript/src/Container.d.ts.map +1 -1
  67. package/lib/typescript/src/Header/Header.d.ts +5 -4
  68. package/lib/typescript/src/Header/Header.d.ts.map +1 -1
  69. package/lib/typescript/src/Header/HeaderBackButton.d.ts +3 -2
  70. package/lib/typescript/src/Header/HeaderBackButton.d.ts.map +1 -1
  71. package/lib/typescript/src/Header/HeaderBackground.d.ts +5 -5
  72. package/lib/typescript/src/Header/HeaderBackground.d.ts.map +1 -1
  73. package/lib/typescript/src/Header/HeaderButton.d.ts +7 -2
  74. package/lib/typescript/src/Header/HeaderButton.d.ts.map +1 -1
  75. package/lib/typescript/src/Header/HeaderButtonBackground.d.ts +1 -1
  76. package/lib/typescript/src/Header/HeaderButtonBackground.d.ts.map +1 -1
  77. package/lib/typescript/src/Header/HeaderIcon.d.ts +10 -4
  78. package/lib/typescript/src/Header/HeaderIcon.d.ts.map +1 -1
  79. package/lib/typescript/src/Header/HeaderSearchBar.d.ts +10 -7
  80. package/lib/typescript/src/Header/HeaderSearchBar.d.ts.map +1 -1
  81. package/lib/typescript/src/Header/HeaderTitle.d.ts +4 -4
  82. package/lib/typescript/src/Header/HeaderTitle.d.ts.map +1 -1
  83. package/lib/typescript/src/Header/getHeaderTitle.d.ts +2 -2
  84. package/lib/typescript/src/Header/getHeaderTitle.d.ts.map +1 -1
  85. package/lib/typescript/src/Label/Label.d.ts +1 -1
  86. package/lib/typescript/src/Label/Label.d.ts.map +1 -1
  87. package/lib/typescript/src/Label/getLabel.d.ts +2 -2
  88. package/lib/typescript/src/Label/getLabel.d.ts.map +1 -1
  89. package/lib/typescript/src/LiquidGlassView.d.ts +7 -5
  90. package/lib/typescript/src/LiquidGlassView.d.ts.map +1 -1
  91. package/lib/typescript/src/LiquidGlassView.ios.d.ts +4 -2
  92. package/lib/typescript/src/LiquidGlassView.ios.d.ts.map +1 -1
  93. package/lib/typescript/src/MissingIcon.d.ts +3 -3
  94. package/lib/typescript/src/MissingIcon.d.ts.map +1 -1
  95. package/lib/typescript/src/PlatformColor.d.ts +1 -0
  96. package/lib/typescript/src/PlatformColor.d.ts.map +1 -1
  97. package/lib/typescript/src/PlatformColor.native.d.ts +1 -1
  98. package/lib/typescript/src/PlatformColor.native.d.ts.map +1 -1
  99. package/lib/typescript/src/PlatformIcon.d.ts +11 -0
  100. package/lib/typescript/src/PlatformIcon.d.ts.map +1 -0
  101. package/lib/typescript/src/PlatformPressable.d.ts +12 -15
  102. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  103. package/lib/typescript/src/SafeAreaProviderCompat.d.ts +1 -1
  104. package/lib/typescript/src/SafeAreaProviderCompat.d.ts.map +1 -1
  105. package/lib/typescript/src/Screen.d.ts +10 -7
  106. package/lib/typescript/src/Screen.d.ts.map +1 -1
  107. package/lib/typescript/src/Text.d.ts +1 -1
  108. package/lib/typescript/src/Text.d.ts.map +1 -1
  109. package/lib/typescript/src/index.d.ts +21 -21
  110. package/lib/typescript/src/index.d.ts.map +1 -1
  111. package/lib/typescript/src/internal.d.ts +6 -6
  112. package/lib/typescript/src/internal.d.ts.map +1 -1
  113. package/lib/typescript/src/types.d.ts +120 -70
  114. package/lib/typescript/src/types.d.ts.map +1 -1
  115. package/lib/typescript/src/useFrameSize.d.ts +2 -2
  116. package/lib/typescript/src/useFrameSize.d.ts.map +1 -1
  117. package/package.json +27 -22
  118. package/src/ActivityView.native.tsx +88 -0
  119. package/src/ActivityView.tsx +127 -0
  120. package/src/Badge.tsx +11 -10
  121. package/src/BlurEffectBackground.tsx +3 -3
  122. package/src/Button.tsx +177 -28
  123. package/src/Color.tsx +755 -8
  124. package/src/Container.tsx +27 -4
  125. package/src/Header/Header.tsx +47 -27
  126. package/src/Header/HeaderBackButton.tsx +34 -20
  127. package/src/Header/HeaderBackground.tsx +3 -3
  128. package/src/Header/HeaderButton.tsx +16 -18
  129. package/src/Header/HeaderButtonBackground.tsx +1 -4
  130. package/src/Header/HeaderIcon.tsx +26 -13
  131. package/src/Header/HeaderSearchBar.tsx +58 -49
  132. package/src/Header/HeaderTitle.tsx +3 -3
  133. package/src/Header/getHeaderTitle.tsx +4 -1
  134. package/src/Header/useHeaderHeight.tsx +1 -1
  135. package/src/Label/getLabel.tsx +1 -1
  136. package/src/LiquidGlassView.ios.tsx +14 -9
  137. package/src/LiquidGlassView.tsx +15 -11
  138. package/src/MissingIcon.tsx +2 -2
  139. package/src/PlatformColor.native.tsx +1 -1
  140. package/src/PlatformColor.tsx +4 -0
  141. package/src/PlatformIcon.tsx +70 -0
  142. package/src/PlatformPressable.tsx +108 -48
  143. package/src/SafeAreaProviderCompat.tsx +2 -3
  144. package/src/Screen.tsx +87 -29
  145. package/src/index.tsx +2 -16
  146. package/src/internal.tsx +1 -1
  147. package/src/types.tsx +153 -76
  148. package/src/useFrameSize.tsx +71 -7
  149. package/lib/module/Lazy.js +0 -42
  150. package/lib/module/Lazy.js.map +0 -1
  151. package/lib/module/assets/back-icon.ios.svg +0 -4
  152. package/lib/module/assets/back-icon@1x.android.png +0 -0
  153. package/lib/module/assets/back-icon@1x.ios.png +0 -0
  154. package/lib/module/assets/back-icon@2x.android.png +0 -0
  155. package/lib/module/assets/back-icon@2x.ios.png +0 -0
  156. package/lib/module/assets/back-icon@3x.android.png +0 -0
  157. package/lib/module/assets/back-icon@3x.ios.png +0 -0
  158. package/lib/module/assets/back-icon@4x.android.png +0 -0
  159. package/lib/module/assets/back-icon@4x.ios.png +0 -0
  160. package/lib/module/assets/clear-icon@1x.png +0 -0
  161. package/lib/module/assets/clear-icon@2x.png +0 -0
  162. package/lib/module/assets/clear-icon@3x.png +0 -0
  163. package/lib/module/assets/clear-icon@4x.png +0 -0
  164. package/lib/module/assets/close-icon@1x.png +0 -0
  165. package/lib/module/assets/close-icon@2x.png +0 -0
  166. package/lib/module/assets/close-icon@3x.png +0 -0
  167. package/lib/module/assets/close-icon@4x.png +0 -0
  168. package/lib/module/assets/search-icon-legacy@1x.ios.png +0 -0
  169. package/lib/module/assets/search-icon-legacy@2x.ios.png +0 -0
  170. package/lib/module/assets/search-icon-legacy@3x.ios.png +0 -0
  171. package/lib/module/assets/search-icon-legacy@4x.ios.png +0 -0
  172. package/lib/module/assets/search-icon.ios.svg +0 -4
  173. package/lib/module/assets/search-icon@1x.android.png +0 -0
  174. package/lib/module/assets/search-icon@1x.ios.png +0 -0
  175. package/lib/module/assets/search-icon@2x.android.png +0 -0
  176. package/lib/module/assets/search-icon@2x.ios.png +0 -0
  177. package/lib/module/assets/search-icon@3x.android.png +0 -0
  178. package/lib/module/assets/search-icon@3x.ios.png +0 -0
  179. package/lib/module/assets/search-icon@4x.android.png +0 -0
  180. package/lib/module/assets/search-icon@4x.ios.png +0 -0
  181. package/lib/typescript/src/Lazy.d.ts +0 -31
  182. package/lib/typescript/src/Lazy.d.ts.map +0 -1
  183. package/src/Lazy.tsx +0 -59
  184. package/src/assets/back-icon.ios.svg +0 -4
  185. package/src/assets/back-icon@1x.android.png +0 -0
  186. package/src/assets/back-icon@1x.ios.png +0 -0
  187. package/src/assets/back-icon@2x.android.png +0 -0
  188. package/src/assets/back-icon@2x.ios.png +0 -0
  189. package/src/assets/back-icon@3x.android.png +0 -0
  190. package/src/assets/back-icon@3x.ios.png +0 -0
  191. package/src/assets/back-icon@4x.android.png +0 -0
  192. package/src/assets/back-icon@4x.ios.png +0 -0
  193. package/src/assets/clear-icon@1x.png +0 -0
  194. package/src/assets/clear-icon@2x.png +0 -0
  195. package/src/assets/clear-icon@3x.png +0 -0
  196. package/src/assets/clear-icon@4x.png +0 -0
  197. package/src/assets/close-icon@1x.png +0 -0
  198. package/src/assets/close-icon@2x.png +0 -0
  199. package/src/assets/close-icon@3x.png +0 -0
  200. package/src/assets/close-icon@4x.png +0 -0
  201. package/src/assets/search-icon-legacy@1x.ios.png +0 -0
  202. package/src/assets/search-icon-legacy@2x.ios.png +0 -0
  203. package/src/assets/search-icon-legacy@3x.ios.png +0 -0
  204. package/src/assets/search-icon-legacy@4x.ios.png +0 -0
  205. package/src/assets/search-icon.ios.svg +0 -4
  206. package/src/assets/search-icon@1x.android.png +0 -0
  207. package/src/assets/search-icon@1x.ios.png +0 -0
  208. package/src/assets/search-icon@2x.android.png +0 -0
  209. package/src/assets/search-icon@2x.ios.png +0 -0
  210. package/src/assets/search-icon@3x.android.png +0 -0
  211. package/src/assets/search-icon@3x.ios.png +0 -0
  212. package/src/assets/search-icon@4x.android.png +0 -0
  213. package/src/assets/search-icon@4x.ios.png +0 -0
@@ -1,11 +1,572 @@
1
1
  "use strict";
2
2
 
3
- // eslint-disable-next-line no-restricted-imports
4
- import OriginalColor from 'color';
3
+ import { Platform } from 'react-native';
4
+ import { DynamicColorIOS, PlatformColor } from './PlatformColor';
5
5
  export function Color(value) {
6
- if (typeof value === 'string' && !value.startsWith('var(')) {
7
- return OriginalColor(value);
6
+ if (typeof value === 'string') {
7
+ const parsed = parse(value);
8
+ if (parsed) {
9
+ return build(parsed);
10
+ }
8
11
  }
9
12
  return undefined;
10
13
  }
14
+ Color.foreground = color => {
15
+ const value = color;
16
+ if (typeof value === 'object' && value != null) {
17
+ // Special case for Android platform colors
18
+ // Available colors: https://developer.android.com/reference/android/R.color
19
+ if (Platform.OS === 'android' && PlatformColor && 'resource_paths' in value && Array.isArray(value.resource_paths) && typeof value.resource_paths[0] === 'string') {
20
+ const name = value.resource_paths[0].replace('@android:color/', '');
21
+ const foreground = ANDROID_COLOR_MAP[name];
22
+ if (foreground != null) {
23
+ return PlatformColor(`@android:color/${foreground}`);
24
+ }
25
+ }
26
+
27
+ // Special case for iOS platform colors
28
+ if (Platform.OS === 'ios' && PlatformColor && 'semantic' in value && Array.isArray(value.semantic) && typeof value.semantic[0] === 'string') {
29
+ const name = value.semantic[0];
30
+ const foreground = IOS_COLOR_MAP[name];
31
+ if (foreground != null) {
32
+ return foreground === 'white' || foreground === 'black' ? foreground : PlatformColor(foreground);
33
+ }
34
+ }
35
+
36
+ // Special case for iOS dynamic colors
37
+ if (Platform.OS === 'ios' && DynamicColorIOS && 'dynamic' in value && typeof value.dynamic === 'object' && value.dynamic != null && 'light' in value.dynamic && typeof value.dynamic.light === 'string' && 'dark' in value.dynamic && typeof value.dynamic.dark === 'string') {
38
+ const lightForeground = Color.foreground(value.dynamic.light);
39
+ const darkForeground = Color.foreground(value.dynamic.dark);
40
+ if (lightForeground && darkForeground) {
41
+ return DynamicColorIOS({
42
+ light: lightForeground,
43
+ dark: darkForeground
44
+ });
45
+ }
46
+ }
47
+ } else if (typeof color === 'string') {
48
+ const parsed = parse(color);
49
+ if (parsed && isLight(parsed)) {
50
+ return darken(parsed, 0.71).string();
51
+ }
52
+ }
53
+ return '#fff';
54
+ };
55
+ function build(parsed) {
56
+ function alpha(amount) {
57
+ if (amount === undefined) {
58
+ return clamp(parsed.parts[3], 0, 1);
59
+ }
60
+ const newParts = [...parsed.parts];
61
+ newParts[3] = amount;
62
+ return build({
63
+ type: parsed.type,
64
+ parts: newParts
65
+ });
66
+ }
67
+ function fade(amount) {
68
+ const newParts = [...parsed.parts];
69
+ newParts[3] = parsed.parts[3] * (1 - amount);
70
+ return build({
71
+ type: parsed.type,
72
+ parts: newParts
73
+ });
74
+ }
75
+ function string() {
76
+ return stringify(parsed);
77
+ }
78
+ return {
79
+ alpha,
80
+ fade,
81
+ string
82
+ };
83
+ }
84
+ function parse(color) {
85
+ if (color.toLowerCase() === 'transparent') {
86
+ return {
87
+ type: 'rgb',
88
+ parts: [0, 0, 0, 0]
89
+ };
90
+ }
91
+ const named = NAMED_COLORS[color.toLowerCase()];
92
+ if (named) {
93
+ return {
94
+ type: 'rgb',
95
+ parts: [named[0], named[1], named[2], 1]
96
+ };
97
+ }
98
+ const hex = color.match(/^#([\da-f]+)$/i);
99
+ if (hex) {
100
+ const hexValue = hex[1];
101
+ if (hexValue == null) {
102
+ return undefined;
103
+ }
104
+
105
+ // Normalize 3-digit (#rgb) and 4-digit (#rgba) hex to 6-digit (#rrggbb) and 8-digit (#rrggbbaa)
106
+ const digits = hexValue.length === 3 || hexValue.length === 4 ? Array.from(hexValue, d => d + d).join('') : hexValue;
107
+ if (digits.length !== 6 && digits.length !== 8) {
108
+ return undefined;
109
+ }
110
+ return {
111
+ type: 'rgb',
112
+ parts: [parseInt(digits.slice(0, 2), 16), parseInt(digits.slice(2, 4), 16), parseInt(digits.slice(4, 6), 16), digits.length === 8 ? parseInt(digits.slice(6, 8), 16) / 255 : 1]
113
+ };
114
+ }
115
+ const matched = color.match(/^([a-z]+)\(([^)]*)\)$/i);
116
+ if (!matched) {
117
+ return undefined;
118
+ }
119
+
120
+ // Get the color function name (e.g., "rgb", "hsl", "lab", etc.) and the color values
121
+ const matchedName = matched[1];
122
+ const argStr = matched[2];
123
+ if (matchedName == null || argStr == null) {
124
+ return undefined;
125
+ }
126
+ const fnName = matchedName.toLowerCase();
127
+ const type = fnName === 'rgba' ? 'rgb' : fnName === 'hsla' ? 'hsl' : COLOR_TYPES.find(t => t === fnName);
128
+ if (!type) {
129
+ return undefined;
130
+ }
131
+
132
+ // Get values and optional alpha value based on the color format
133
+ // e.g. CSS L4 (rgb(255 0 0 / 0.5) or rgb(255 0 0 / 50%)) or CSS L3 (rgba(255, 0, 0, 0.5))
134
+ const slashIdx = argStr.indexOf('/');
135
+ const valuesStr = slashIdx >= 0 ? argStr.slice(0, slashIdx) : argStr;
136
+ let alphaStr = slashIdx >= 0 ? argStr.slice(slashIdx + 1).trim() : undefined;
137
+ const tokens = valuesStr.split(/[,\s]+/).filter(Boolean);
138
+ if (alphaStr === undefined && tokens.length === 4) {
139
+ alphaStr = tokens.pop();
140
+ }
141
+ if (tokens.length !== 3) {
142
+ return undefined;
143
+ }
144
+ const percent = max => value => parsePercent(value, max);
145
+ const parsers = {
146
+ rgb: [percent(255), percent(255), percent(255)],
147
+ hsl: [parseAngle, percent(100), percent(100)],
148
+ hwb: [parseAngle, percent(100), percent(100)],
149
+ lab: [percent(100), percent(125), percent(125)],
150
+ lch: [percent(100), percent(150), parseAngle],
151
+ oklch: [percent(1), percent(0.4), parseAngle],
152
+ oklab: [percent(1), percent(0.4), percent(0.4)]
153
+ };
154
+ try {
155
+ const [first, second, third] = tokens;
156
+ if (first == null || second == null || third == null) {
157
+ return undefined;
158
+ }
159
+ const parser = parsers[type];
160
+ const parts = [parser[0](first), parser[1](second), parser[2](third), alphaStr == null ? 1 : parseAlpha(alphaStr)];
161
+ return {
162
+ type,
163
+ parts
164
+ };
165
+ } catch {
166
+ return undefined;
167
+ }
168
+ }
169
+ function stringify(color) {
170
+ const [p0, p1, p2, rawA] = color.parts;
171
+ const a = trim(clamp(rawA, 0, 1));
172
+
173
+ // Legacy CSS L3: name(v1, v2, v3) / namea(v1, v2, v3, alpha)
174
+ const legacy = (name, v1, v2, v3) => a < 1 ? `${name}a(${v1}, ${v2}, ${v3}, ${a})` : `${name}(${v1}, ${v2}, ${v3})`;
175
+
176
+ // Modern CSS L4: name(v1 v2 v3) / name(v1 v2 v3 / alpha)
177
+ const modern = (name, v1, v2, v3) => a < 1 ? `${name}(${v1} ${v2} ${v3} / ${a})` : `${name}(${v1} ${v2} ${v3})`;
178
+ switch (color.type) {
179
+ case 'rgb':
180
+ return legacy('rgb', clamp(Math.round(p0), 0, 255), clamp(Math.round(p1), 0, 255), clamp(Math.round(p2), 0, 255));
181
+ case 'hsl':
182
+ return legacy('hsl', trim(p0), `${trim(clamp(p1, 0, 100))}%`, `${trim(clamp(p2, 0, 100))}%`);
183
+ case 'hwb':
184
+ return modern('hwb', trim(p0), `${trim(clamp(p1, 0, 100))}%`, `${trim(clamp(p2, 0, 100))}%`);
185
+ case 'lab':
186
+ return modern('lab', trim(clamp(p0, 0, 100)), trim(clamp(p1, -125, 125)), trim(clamp(p2, -125, 125)));
187
+ case 'oklab':
188
+ return modern('oklab', trim(clamp(p0, 0, 1)), trim(clamp(p1, -0.4, 0.4)), trim(clamp(p2, -0.4, 0.4)));
189
+ case 'lch':
190
+ return modern('lch', trim(clamp(p0, 0, 100)), trim(clamp(p1, 0, 150)), trim(p2));
191
+ case 'oklch':
192
+ return modern('oklch', trim(clamp(p0, 0, 1)), trim(clamp(p1, 0, 0.4)), trim(p2));
193
+ default:
194
+ {
195
+ const _exhaustiveCheck = color.type;
196
+ return _exhaustiveCheck;
197
+ }
198
+ }
199
+ }
200
+ function darken(color, amount) {
201
+ const factor = 1 - amount;
202
+ const parts = [...color.parts];
203
+ switch (color.type) {
204
+ case 'lab':
205
+ case 'lch':
206
+ case 'oklab':
207
+ case 'oklch':
208
+ parts[0] *= factor;
209
+ return build({
210
+ type: color.type,
211
+ parts
212
+ });
213
+ case 'hsl':
214
+ parts[2] *= factor;
215
+ return build({
216
+ type: 'hsl',
217
+ parts
218
+ });
219
+ case 'rgb':
220
+ case 'hwb':
221
+ {
222
+ const [r, g, b] = color.type === 'hwb' ? hwbToRgb(parts[0], parts[1], parts[2]) : parts;
223
+ const [h, s, l] = rgbToHsl(r, g, b);
224
+ return build({
225
+ type: 'hsl',
226
+ parts: [h, s, l * factor, parts[3]]
227
+ });
228
+ }
229
+ default:
230
+ {
231
+ const _exhaustiveCheck = color.type;
232
+ return _exhaustiveCheck;
233
+ }
234
+ }
235
+ }
236
+
237
+ // YIQ luma midpoint (0-255)
238
+ // https://en.wikipedia.org/wiki/YIQ
239
+ const YIQ_LIGHT_THRESHOLD = 128;
240
+
241
+ // Rec. 601 luma coefficients (sum to 1.0)
242
+ const YIQ_WEIGHT_R = 0.299;
243
+ const YIQ_WEIGHT_G = 0.587;
244
+ const YIQ_WEIGHT_B = 0.114;
245
+ function isLight(color) {
246
+ let rgb;
247
+ switch (color.type) {
248
+ case 'lab':
249
+ case 'lch':
250
+ return color.parts[0] > 50;
251
+ case 'oklab':
252
+ case 'oklch':
253
+ return color.parts[0] > 0.5;
254
+ case 'rgb':
255
+ rgb = [color.parts[0], color.parts[1], color.parts[2]];
256
+ break;
257
+ case 'hsl':
258
+ rgb = hslToRgb(color.parts[0], color.parts[1], color.parts[2]);
259
+ break;
260
+ case 'hwb':
261
+ rgb = hwbToRgb(color.parts[0], color.parts[1], color.parts[2]);
262
+ break;
263
+ default:
264
+ {
265
+ const _exhaustiveCheck = color.type;
266
+ return _exhaustiveCheck;
267
+ }
268
+ }
269
+ const yiq = YIQ_WEIGHT_R * rgb[0] + YIQ_WEIGHT_G * rgb[1] + YIQ_WEIGHT_B * rgb[2];
270
+ return yiq > YIQ_LIGHT_THRESHOLD;
271
+ }
272
+ function trim(n) {
273
+ return Number(n.toFixed(3));
274
+ }
275
+ function clamp(n, min, max) {
276
+ return n < min ? min : n > max ? max : n;
277
+ }
278
+ function parseNumber(s) {
279
+ const n = Number(s);
280
+ if (s === '' || Number.isNaN(n)) {
281
+ throw new Error(`Invalid number: ${s}`);
282
+ }
283
+ return n;
284
+ }
285
+ function parsePercent(s, max) {
286
+ if (s.endsWith('%')) {
287
+ return parseNumber(s.slice(0, -1)) / 100 * max;
288
+ }
289
+ return parseNumber(s);
290
+ }
291
+ function parseAngle(s) {
292
+ let degrees;
293
+ if (s.endsWith('grad')) {
294
+ degrees = parseNumber(s.slice(0, -4)) * 0.9;
295
+ } else if (s.endsWith('turn')) {
296
+ degrees = parseNumber(s.slice(0, -4)) * 360;
297
+ } else if (s.endsWith('rad')) {
298
+ degrees = parseNumber(s.slice(0, -3)) * 180 / Math.PI;
299
+ } else if (s.endsWith('deg')) {
300
+ degrees = parseNumber(s.slice(0, -3));
301
+ } else {
302
+ degrees = parseNumber(s);
303
+ }
304
+ return (degrees % 360 + 360) % 360;
305
+ }
306
+ function parseAlpha(s) {
307
+ return s.endsWith('%') ? parseNumber(s.slice(0, -1)) / 100 : parseNumber(s);
308
+ }
309
+ function rgbToHsl(r, g, b) {
310
+ r /= 255;
311
+ g /= 255;
312
+ b /= 255;
313
+ const max = Math.max(r, g, b);
314
+ const min = Math.min(r, g, b);
315
+ const l = (max + min) / 2;
316
+ if (max === min) {
317
+ return [0, 0, l * 100];
318
+ }
319
+ const d = max - min;
320
+ const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
321
+ let h;
322
+ if (max === r) {
323
+ h = (g - b) / d + (g < b ? 6 : 0);
324
+ } else if (max === g) {
325
+ h = (b - r) / d + 2;
326
+ } else {
327
+ h = (r - g) / d + 4;
328
+ }
329
+ return [h * 60, s * 100, l * 100];
330
+ }
331
+ function hslToRgb(h, s, l) {
332
+ s /= 100;
333
+ l /= 100;
334
+ const chroma = (1 - Math.abs(2 * l - 1)) * s;
335
+ const huePrime = (h % 360 + 360) % 360 / 60;
336
+ const secondary = chroma * (1 - Math.abs(huePrime % 2 - 1));
337
+ const lightnessOffset = l - chroma / 2;
338
+ let redPrime;
339
+ let greenPrime;
340
+ let bluePrime;
341
+ if (huePrime < 1) {
342
+ [redPrime, greenPrime, bluePrime] = [chroma, secondary, 0];
343
+ } else if (huePrime < 2) {
344
+ [redPrime, greenPrime, bluePrime] = [secondary, chroma, 0];
345
+ } else if (huePrime < 3) {
346
+ [redPrime, greenPrime, bluePrime] = [0, chroma, secondary];
347
+ } else if (huePrime < 4) {
348
+ [redPrime, greenPrime, bluePrime] = [0, secondary, chroma];
349
+ } else if (huePrime < 5) {
350
+ [redPrime, greenPrime, bluePrime] = [secondary, 0, chroma];
351
+ } else {
352
+ [redPrime, greenPrime, bluePrime] = [chroma, 0, secondary];
353
+ }
354
+ return [(redPrime + lightnessOffset) * 255, (greenPrime + lightnessOffset) * 255, (bluePrime + lightnessOffset) * 255];
355
+ }
356
+ function hwbToRgb(h, w, b) {
357
+ const whiteRatio = w / 100;
358
+ const blackRatio = b / 100;
359
+ if (whiteRatio + blackRatio >= 1) {
360
+ const gray = whiteRatio / (whiteRatio + blackRatio) * 255;
361
+ return [gray, gray, gray];
362
+ }
363
+ const [pureRed, pureGreen, pureBlue] = hslToRgb(h, 100, 50);
364
+ const factor = 1 - whiteRatio - blackRatio;
365
+ return [pureRed * factor + whiteRatio * 255, pureGreen * factor + whiteRatio * 255, pureBlue * factor + whiteRatio * 255];
366
+ }
367
+ const COLOR_TYPES = ['rgb', 'hsl', 'hwb', 'lab', 'lch', 'oklch', 'oklab'];
368
+ const NAMED_COLORS = {
369
+ aliceblue: [240, 248, 255],
370
+ antiquewhite: [250, 235, 215],
371
+ aqua: [0, 255, 255],
372
+ aquamarine: [127, 255, 212],
373
+ azure: [240, 255, 255],
374
+ beige: [245, 245, 220],
375
+ bisque: [255, 228, 196],
376
+ black: [0, 0, 0],
377
+ blanchedalmond: [255, 235, 205],
378
+ blue: [0, 0, 255],
379
+ blueviolet: [138, 43, 226],
380
+ brown: [165, 42, 42],
381
+ burntsienna: [234, 126, 93],
382
+ burlywood: [222, 184, 135],
383
+ cadetblue: [95, 158, 160],
384
+ chartreuse: [127, 255, 0],
385
+ chocolate: [210, 105, 30],
386
+ coral: [255, 127, 80],
387
+ cornflowerblue: [100, 149, 237],
388
+ cornsilk: [255, 248, 220],
389
+ crimson: [220, 20, 60],
390
+ cyan: [0, 255, 255],
391
+ darkblue: [0, 0, 139],
392
+ darkcyan: [0, 139, 139],
393
+ darkgoldenrod: [184, 134, 11],
394
+ darkgray: [169, 169, 169],
395
+ darkgreen: [0, 100, 0],
396
+ darkgrey: [169, 169, 169],
397
+ darkkhaki: [189, 183, 107],
398
+ darkmagenta: [139, 0, 139],
399
+ darkolivegreen: [85, 107, 47],
400
+ darkorange: [255, 140, 0],
401
+ darkorchid: [153, 50, 204],
402
+ darkred: [139, 0, 0],
403
+ darksalmon: [233, 150, 122],
404
+ darkseagreen: [143, 188, 143],
405
+ darkslateblue: [72, 61, 139],
406
+ darkslategray: [47, 79, 79],
407
+ darkslategrey: [47, 79, 79],
408
+ darkturquoise: [0, 206, 209],
409
+ darkviolet: [148, 0, 211],
410
+ deeppink: [255, 20, 147],
411
+ deepskyblue: [0, 191, 255],
412
+ dimgray: [105, 105, 105],
413
+ dimgrey: [105, 105, 105],
414
+ dodgerblue: [30, 144, 255],
415
+ firebrick: [178, 34, 34],
416
+ floralwhite: [255, 250, 240],
417
+ forestgreen: [34, 139, 34],
418
+ fuchsia: [255, 0, 255],
419
+ gainsboro: [220, 220, 220],
420
+ ghostwhite: [248, 248, 255],
421
+ gold: [255, 215, 0],
422
+ goldenrod: [218, 165, 32],
423
+ gray: [128, 128, 128],
424
+ green: [0, 128, 0],
425
+ greenyellow: [173, 255, 47],
426
+ grey: [128, 128, 128],
427
+ honeydew: [240, 255, 240],
428
+ hotpink: [255, 105, 180],
429
+ indianred: [205, 92, 92],
430
+ indigo: [75, 0, 130],
431
+ ivory: [255, 255, 240],
432
+ khaki: [240, 230, 140],
433
+ lavender: [230, 230, 250],
434
+ lavenderblush: [255, 240, 245],
435
+ lawngreen: [124, 252, 0],
436
+ lemonchiffon: [255, 250, 205],
437
+ lightblue: [173, 216, 230],
438
+ lightcoral: [240, 128, 128],
439
+ lightcyan: [224, 255, 255],
440
+ lightgoldenrodyellow: [250, 250, 210],
441
+ lightgray: [211, 211, 211],
442
+ lightgreen: [144, 238, 144],
443
+ lightgrey: [211, 211, 211],
444
+ lightpink: [255, 182, 193],
445
+ lightsalmon: [255, 160, 122],
446
+ lightseagreen: [32, 178, 170],
447
+ lightskyblue: [135, 206, 250],
448
+ lightslategray: [119, 136, 153],
449
+ lightslategrey: [119, 136, 153],
450
+ lightsteelblue: [176, 196, 222],
451
+ lightyellow: [255, 255, 224],
452
+ lime: [0, 255, 0],
453
+ limegreen: [50, 205, 50],
454
+ linen: [250, 240, 230],
455
+ magenta: [255, 0, 255],
456
+ maroon: [128, 0, 0],
457
+ mediumaquamarine: [102, 205, 170],
458
+ mediumblue: [0, 0, 205],
459
+ mediumorchid: [186, 85, 211],
460
+ mediumpurple: [147, 112, 219],
461
+ mediumseagreen: [60, 179, 113],
462
+ mediumslateblue: [123, 104, 238],
463
+ mediumspringgreen: [0, 250, 154],
464
+ mediumturquoise: [72, 209, 204],
465
+ mediumvioletred: [199, 21, 133],
466
+ midnightblue: [25, 25, 112],
467
+ mintcream: [245, 255, 250],
468
+ mistyrose: [255, 228, 225],
469
+ moccasin: [255, 228, 181],
470
+ navajowhite: [255, 222, 173],
471
+ navy: [0, 0, 128],
472
+ oldlace: [253, 245, 230],
473
+ olive: [128, 128, 0],
474
+ olivedrab: [107, 142, 35],
475
+ orange: [255, 165, 0],
476
+ orangered: [255, 69, 0],
477
+ orchid: [218, 112, 214],
478
+ palegoldenrod: [238, 232, 170],
479
+ palegreen: [152, 251, 152],
480
+ paleturquoise: [175, 238, 238],
481
+ palevioletred: [219, 112, 147],
482
+ papayawhip: [255, 239, 213],
483
+ peachpuff: [255, 218, 185],
484
+ peru: [205, 133, 63],
485
+ pink: [255, 192, 203],
486
+ plum: [221, 160, 221],
487
+ powderblue: [176, 224, 230],
488
+ purple: [128, 0, 128],
489
+ rebeccapurple: [102, 51, 153],
490
+ red: [255, 0, 0],
491
+ rosybrown: [188, 143, 143],
492
+ royalblue: [65, 105, 225],
493
+ saddlebrown: [139, 69, 19],
494
+ salmon: [250, 128, 114],
495
+ sandybrown: [244, 164, 96],
496
+ seagreen: [46, 139, 87],
497
+ seashell: [255, 245, 238],
498
+ sienna: [160, 82, 45],
499
+ silver: [192, 192, 192],
500
+ skyblue: [135, 206, 235],
501
+ slateblue: [106, 90, 205],
502
+ slategray: [112, 128, 144],
503
+ slategrey: [112, 128, 144],
504
+ snow: [255, 250, 250],
505
+ springgreen: [0, 255, 127],
506
+ steelblue: [70, 130, 180],
507
+ tan: [210, 180, 140],
508
+ teal: [0, 128, 128],
509
+ thistle: [216, 191, 216],
510
+ tomato: [255, 99, 71],
511
+ turquoise: [64, 224, 208],
512
+ violet: [238, 130, 238],
513
+ wheat: [245, 222, 179],
514
+ white: [255, 255, 255],
515
+ whitesmoke: [245, 245, 245],
516
+ yellow: [255, 255, 0],
517
+ yellowgreen: [154, 205, 50]
518
+ };
519
+ const ANDROID_COLOR_MAP = {
520
+ system_background_dark: 'system_on_background_dark',
521
+ system_background_light: 'system_on_background_light',
522
+ system_error_container_dark: 'system_on_error_container_dark',
523
+ system_error_container_light: 'system_on_error_container_light',
524
+ system_error_dark: 'system_on_error_dark',
525
+ system_error_light: 'system_on_error_light',
526
+ system_primary_container_dark: 'system_on_primary_container_dark',
527
+ system_primary_container_light: 'system_on_primary_container_light',
528
+ system_primary_dark: 'system_on_primary_dark',
529
+ system_primary_fixed: 'system_on_primary_fixed',
530
+ system_primary_light: 'system_on_primary_light',
531
+ system_secondary_container_dark: 'system_on_secondary_container_dark',
532
+ system_secondary_container_light: 'system_on_secondary_container_light',
533
+ system_secondary_dark: 'system_on_secondary_dark',
534
+ system_secondary_fixed: 'system_on_secondary_fixed',
535
+ system_secondary_light: 'system_on_secondary_light',
536
+ system_surface_dark: 'system_on_surface_dark',
537
+ system_surface_disabled: 'system_on_surface_disabled',
538
+ system_surface_light: 'system_on_surface_light',
539
+ system_surface_variant_dark: 'system_on_surface_variant_dark',
540
+ system_surface_variant_light: 'system_on_surface_variant_light'
541
+ };
542
+ const IOS_COLOR_MAP = {
543
+ systemBackground: 'label',
544
+ secondarySystemBackground: 'label',
545
+ tertiarySystemBackground: 'label',
546
+ systemGroupedBackground: 'label',
547
+ secondarySystemGroupedBackground: 'label',
548
+ tertiarySystemGroupedBackground: 'label',
549
+ systemFill: 'label',
550
+ secondarySystemFill: 'label',
551
+ tertiarySystemFill: 'label',
552
+ quaternarySystemFill: 'label',
553
+ systemRed: 'white',
554
+ systemGreen: 'white',
555
+ systemBlue: 'white',
556
+ systemIndigo: 'white',
557
+ systemPurple: 'white',
558
+ systemBrown: 'white',
559
+ systemOrange: 'black',
560
+ systemYellow: 'black',
561
+ systemMint: 'black',
562
+ systemTeal: 'black',
563
+ systemCyan: 'black',
564
+ systemPink: 'black',
565
+ systemGray: 'label',
566
+ systemGray2: 'label',
567
+ systemGray3: 'label',
568
+ systemGray4: 'label',
569
+ systemGray5: 'label',
570
+ systemGray6: 'label'
571
+ };
11
572
  //# sourceMappingURL=Color.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OriginalColor","Color","value","startsWith","undefined"],"sourceRoot":"../../src","sources":["Color.tsx"],"mappings":";;AAAA;AACA,OAAOA,aAAa,MAAM,OAAO;AAajC,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAyB;EAC9D,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACA,KAAK,CAACC,UAAU,CAAC,MAAM,CAAC,EAAE;IAC1D,OAAOH,aAAa,CAACE,KAAK,CAAC;EAC7B;EAEA,OAAOE,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["Platform","DynamicColorIOS","PlatformColor","Color","value","parsed","parse","build","undefined","foreground","color","OS","Array","isArray","resource_paths","name","replace","ANDROID_COLOR_MAP","semantic","IOS_COLOR_MAP","dynamic","light","dark","lightForeground","darkForeground","isLight","darken","string","alpha","amount","clamp","parts","newParts","type","fade","stringify","toLowerCase","named","NAMED_COLORS","hex","match","hexValue","digits","length","from","d","join","parseInt","slice","matched","matchedName","argStr","fnName","COLOR_TYPES","find","t","slashIdx","indexOf","valuesStr","alphaStr","trim","tokens","split","filter","Boolean","pop","percent","max","parsePercent","parsers","rgb","hsl","parseAngle","hwb","lab","lch","oklch","oklab","first","second","third","parser","parseAlpha","p0","p1","p2","rawA","a","legacy","v1","v2","v3","modern","Math","round","_exhaustiveCheck","factor","r","g","b","hwbToRgb","h","s","l","rgbToHsl","YIQ_LIGHT_THRESHOLD","YIQ_WEIGHT_R","YIQ_WEIGHT_G","YIQ_WEIGHT_B","hslToRgb","yiq","n","Number","toFixed","min","parseNumber","isNaN","Error","endsWith","degrees","PI","chroma","abs","huePrime","secondary","lightnessOffset","redPrime","greenPrime","bluePrime","w","whiteRatio","blackRatio","gray","pureRed","pureGreen","pureBlue","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burntsienna","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","system_background_dark","system_background_light","system_error_container_dark","system_error_container_light","system_error_dark","system_error_light","system_primary_container_dark","system_primary_container_light","system_primary_dark","system_primary_fixed","system_primary_light","system_secondary_container_dark","system_secondary_container_light","system_secondary_dark","system_secondary_fixed","system_secondary_light","system_surface_dark","system_surface_disabled","system_surface_light","system_surface_variant_dark","system_surface_variant_light","systemBackground","secondarySystemBackground","tertiarySystemBackground","systemGroupedBackground","secondarySystemGroupedBackground","tertiarySystemGroupedBackground","systemFill","secondarySystemFill","tertiarySystemFill","quaternarySystemFill","systemRed","systemGreen","systemBlue","systemIndigo","systemPurple","systemBrown","systemOrange","systemYellow","systemMint","systemTeal","systemCyan","systemPink","systemGray","systemGray2","systemGray3","systemGray4","systemGray5","systemGray6"],"sourceRoot":"../../src","sources":["Color.tsx"],"mappings":"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","ignoreList":[]}