@cdx-ui/primitives 0.1.7 → 0.2.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 (278) hide show
  1. package/lib/commonjs/color/Color.js +69 -0
  2. package/lib/commonjs/color/Color.js.map +1 -0
  3. package/lib/commonjs/color/index.js +13 -0
  4. package/lib/commonjs/color/index.js.map +1 -0
  5. package/lib/commonjs/color/types.js +2 -0
  6. package/lib/commonjs/color/types.js.map +1 -0
  7. package/lib/commonjs/color-area/ColorAreaAccessibility.js +100 -0
  8. package/lib/commonjs/color-area/ColorAreaAccessibility.js.map +1 -0
  9. package/lib/commonjs/color-area/ColorAreaAccessibility.web.js +58 -0
  10. package/lib/commonjs/color-area/ColorAreaAccessibility.web.js.map +1 -0
  11. package/lib/commonjs/color-area/ColorAreaRoot.js +240 -0
  12. package/lib/commonjs/color-area/ColorAreaRoot.js.map +1 -0
  13. package/lib/commonjs/color-area/ColorAreaThumb.js +71 -0
  14. package/lib/commonjs/color-area/ColorAreaThumb.js.map +1 -0
  15. package/lib/commonjs/color-area/context.js +11 -0
  16. package/lib/commonjs/color-area/context.js.map +1 -0
  17. package/lib/commonjs/color-area/index.js +27 -0
  18. package/lib/commonjs/color-area/index.js.map +1 -0
  19. package/lib/commonjs/color-area/types.js +6 -0
  20. package/lib/commonjs/color-area/types.js.map +1 -0
  21. package/lib/commonjs/color-area/utils.js +51 -0
  22. package/lib/commonjs/color-area/utils.js.map +1 -0
  23. package/lib/commonjs/color-field/ColorFieldInput.js +67 -0
  24. package/lib/commonjs/color-field/ColorFieldInput.js.map +1 -0
  25. package/lib/commonjs/color-field/ColorFieldRoot.js +104 -0
  26. package/lib/commonjs/color-field/ColorFieldRoot.js.map +1 -0
  27. package/lib/commonjs/color-field/context.js +11 -0
  28. package/lib/commonjs/color-field/context.js.map +1 -0
  29. package/lib/commonjs/color-field/index.js +27 -0
  30. package/lib/commonjs/color-field/index.js.map +1 -0
  31. package/lib/commonjs/color-field/types.js +6 -0
  32. package/lib/commonjs/color-field/types.js.map +1 -0
  33. package/lib/commonjs/color-field/utils.js +60 -0
  34. package/lib/commonjs/color-field/utils.js.map +1 -0
  35. package/lib/commonjs/color-picker/ColorPickerRoot.js +69 -0
  36. package/lib/commonjs/color-picker/ColorPickerRoot.js.map +1 -0
  37. package/lib/commonjs/color-picker/ColorPickerTrigger.js +98 -0
  38. package/lib/commonjs/color-picker/ColorPickerTrigger.js.map +1 -0
  39. package/lib/commonjs/color-picker/context.js +32 -0
  40. package/lib/commonjs/color-picker/context.js.map +1 -0
  41. package/lib/commonjs/color-picker/index.js +51 -0
  42. package/lib/commonjs/color-picker/index.js.map +1 -0
  43. package/lib/commonjs/color-picker/types.js +6 -0
  44. package/lib/commonjs/color-picker/types.js.map +1 -0
  45. package/lib/commonjs/color-slider/ColorSliderRail.js +119 -0
  46. package/lib/commonjs/color-slider/ColorSliderRail.js.map +1 -0
  47. package/lib/commonjs/color-slider/ColorSliderRoot.js +153 -0
  48. package/lib/commonjs/color-slider/ColorSliderRoot.js.map +1 -0
  49. package/lib/commonjs/color-slider/ColorSliderThumb.js +265 -0
  50. package/lib/commonjs/color-slider/ColorSliderThumb.js.map +1 -0
  51. package/lib/commonjs/color-slider/context.js +11 -0
  52. package/lib/commonjs/color-slider/context.js.map +1 -0
  53. package/lib/commonjs/color-slider/index.js +34 -0
  54. package/lib/commonjs/color-slider/index.js.map +1 -0
  55. package/lib/commonjs/color-slider/types.js +6 -0
  56. package/lib/commonjs/color-slider/types.js.map +1 -0
  57. package/lib/commonjs/color-slider/utils.js +75 -0
  58. package/lib/commonjs/color-slider/utils.js.map +1 -0
  59. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerItem.js +46 -0
  60. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerItem.js.map +1 -0
  61. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerRoot.js +71 -0
  62. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerRoot.js.map +1 -0
  63. package/lib/commonjs/color-swatch-picker/context.js +22 -0
  64. package/lib/commonjs/color-swatch-picker/context.js.map +1 -0
  65. package/lib/commonjs/color-swatch-picker/index.js +33 -0
  66. package/lib/commonjs/color-swatch-picker/index.js.map +1 -0
  67. package/lib/commonjs/color-swatch-picker/types.js +6 -0
  68. package/lib/commonjs/color-swatch-picker/types.js.map +1 -0
  69. package/lib/commonjs/index.js +80 -0
  70. package/lib/commonjs/index.js.map +1 -1
  71. package/lib/commonjs/react-native-web.d.js +2 -0
  72. package/lib/commonjs/react-native-web.d.js.map +1 -0
  73. package/lib/commonjs/slider/useSliderPointer.js +2 -0
  74. package/lib/commonjs/slider/useSliderPointer.js.map +1 -1
  75. package/lib/commonjs/utils/createPortal.web.js +10 -1
  76. package/lib/commonjs/utils/createPortal.web.js.map +1 -1
  77. package/lib/commonjs/utils/textAncestor.js +25 -0
  78. package/lib/commonjs/utils/textAncestor.js.map +1 -0
  79. package/lib/commonjs/utils/textAncestor.web.js +27 -0
  80. package/lib/commonjs/utils/textAncestor.web.js.map +1 -0
  81. package/lib/module/color/Color.js +65 -0
  82. package/lib/module/color/Color.js.map +1 -0
  83. package/lib/module/color/index.js +4 -0
  84. package/lib/module/color/index.js.map +1 -0
  85. package/lib/module/color/types.js +2 -0
  86. package/lib/module/color/types.js.map +1 -0
  87. package/lib/module/color-area/ColorAreaAccessibility.js +96 -0
  88. package/lib/module/color-area/ColorAreaAccessibility.js.map +1 -0
  89. package/lib/module/color-area/ColorAreaAccessibility.web.js +54 -0
  90. package/lib/module/color-area/ColorAreaAccessibility.web.js.map +1 -0
  91. package/lib/module/color-area/ColorAreaRoot.js +236 -0
  92. package/lib/module/color-area/ColorAreaRoot.js.map +1 -0
  93. package/lib/module/color-area/ColorAreaThumb.js +67 -0
  94. package/lib/module/color-area/ColorAreaThumb.js.map +1 -0
  95. package/lib/module/color-area/context.js +5 -0
  96. package/lib/module/color-area/context.js.map +1 -0
  97. package/lib/module/color-area/index.js +6 -0
  98. package/lib/module/color-area/index.js.map +1 -0
  99. package/lib/module/color-area/types.js +4 -0
  100. package/lib/module/color-area/types.js.map +1 -0
  101. package/lib/module/color-area/utils.js +45 -0
  102. package/lib/module/color-area/utils.js.map +1 -0
  103. package/lib/module/color-field/ColorFieldInput.js +63 -0
  104. package/lib/module/color-field/ColorFieldInput.js.map +1 -0
  105. package/lib/module/color-field/ColorFieldRoot.js +100 -0
  106. package/lib/module/color-field/ColorFieldRoot.js.map +1 -0
  107. package/lib/module/color-field/context.js +5 -0
  108. package/lib/module/color-field/context.js.map +1 -0
  109. package/lib/module/color-field/index.js +6 -0
  110. package/lib/module/color-field/index.js.map +1 -0
  111. package/lib/module/color-field/types.js +4 -0
  112. package/lib/module/color-field/types.js.map +1 -0
  113. package/lib/module/color-field/utils.js +55 -0
  114. package/lib/module/color-field/utils.js.map +1 -0
  115. package/lib/module/color-picker/ColorPickerRoot.js +65 -0
  116. package/lib/module/color-picker/ColorPickerRoot.js.map +1 -0
  117. package/lib/module/color-picker/ColorPickerTrigger.js +94 -0
  118. package/lib/module/color-picker/ColorPickerTrigger.js.map +1 -0
  119. package/lib/module/color-picker/context.js +25 -0
  120. package/lib/module/color-picker/context.js.map +1 -0
  121. package/lib/module/color-picker/index.js +6 -0
  122. package/lib/module/color-picker/index.js.map +1 -0
  123. package/lib/module/color-picker/types.js +4 -0
  124. package/lib/module/color-picker/types.js.map +1 -0
  125. package/lib/module/color-slider/ColorSliderRail.js +115 -0
  126. package/lib/module/color-slider/ColorSliderRail.js.map +1 -0
  127. package/lib/module/color-slider/ColorSliderRoot.js +149 -0
  128. package/lib/module/color-slider/ColorSliderRoot.js.map +1 -0
  129. package/lib/module/color-slider/ColorSliderThumb.js +261 -0
  130. package/lib/module/color-slider/ColorSliderThumb.js.map +1 -0
  131. package/lib/module/color-slider/context.js +5 -0
  132. package/lib/module/color-slider/context.js.map +1 -0
  133. package/lib/module/color-slider/index.js +7 -0
  134. package/lib/module/color-slider/index.js.map +1 -0
  135. package/lib/module/color-slider/types.js +4 -0
  136. package/lib/module/color-slider/types.js.map +1 -0
  137. package/lib/module/color-slider/utils.js +66 -0
  138. package/lib/module/color-slider/utils.js.map +1 -0
  139. package/lib/module/color-swatch-picker/ColorSwatchPickerItem.js +42 -0
  140. package/lib/module/color-swatch-picker/ColorSwatchPickerItem.js.map +1 -0
  141. package/lib/module/color-swatch-picker/ColorSwatchPickerRoot.js +67 -0
  142. package/lib/module/color-swatch-picker/ColorSwatchPickerRoot.js.map +1 -0
  143. package/lib/module/color-swatch-picker/context.js +15 -0
  144. package/lib/module/color-swatch-picker/context.js.map +1 -0
  145. package/lib/module/color-swatch-picker/index.js +6 -0
  146. package/lib/module/color-swatch-picker/index.js.map +1 -0
  147. package/lib/module/color-swatch-picker/types.js +4 -0
  148. package/lib/module/color-swatch-picker/types.js.map +1 -0
  149. package/lib/module/index.js +7 -0
  150. package/lib/module/index.js.map +1 -1
  151. package/lib/module/react-native-web.d.js +2 -0
  152. package/lib/module/react-native-web.d.js.map +1 -0
  153. package/lib/module/slider/useSliderPointer.js +2 -0
  154. package/lib/module/slider/useSliderPointer.js.map +1 -1
  155. package/lib/module/utils/createPortal.web.js +9 -1
  156. package/lib/module/utils/createPortal.web.js.map +1 -1
  157. package/lib/module/utils/textAncestor.js +20 -0
  158. package/lib/module/utils/textAncestor.js.map +1 -0
  159. package/lib/module/utils/textAncestor.web.js +22 -0
  160. package/lib/module/utils/textAncestor.web.js.map +1 -0
  161. package/lib/typescript/color/Color.d.ts +3 -0
  162. package/lib/typescript/color/Color.d.ts.map +1 -0
  163. package/lib/typescript/color/index.d.ts +3 -0
  164. package/lib/typescript/color/index.d.ts.map +1 -0
  165. package/lib/typescript/color/types.d.ts +13 -0
  166. package/lib/typescript/color/types.d.ts.map +1 -0
  167. package/lib/typescript/color-area/ColorAreaAccessibility.d.ts +8 -0
  168. package/lib/typescript/color-area/ColorAreaAccessibility.d.ts.map +1 -0
  169. package/lib/typescript/color-area/ColorAreaAccessibility.web.d.ts +8 -0
  170. package/lib/typescript/color-area/ColorAreaAccessibility.web.d.ts.map +1 -0
  171. package/lib/typescript/color-area/ColorAreaRoot.d.ts +7 -0
  172. package/lib/typescript/color-area/ColorAreaRoot.d.ts.map +1 -0
  173. package/lib/typescript/color-area/ColorAreaThumb.d.ts +6 -0
  174. package/lib/typescript/color-area/ColorAreaThumb.d.ts.map +1 -0
  175. package/lib/typescript/color-area/context.d.ts +6 -0
  176. package/lib/typescript/color-area/context.d.ts.map +1 -0
  177. package/lib/typescript/color-area/index.d.ts +5 -0
  178. package/lib/typescript/color-area/index.d.ts.map +1 -0
  179. package/lib/typescript/color-area/types.d.ts +65 -0
  180. package/lib/typescript/color-area/types.d.ts.map +1 -0
  181. package/lib/typescript/color-area/utils.d.ts +5 -0
  182. package/lib/typescript/color-area/utils.d.ts.map +1 -0
  183. package/lib/typescript/color-field/ColorFieldInput.d.ts +5 -0
  184. package/lib/typescript/color-field/ColorFieldInput.d.ts.map +1 -0
  185. package/lib/typescript/color-field/ColorFieldRoot.d.ts +7 -0
  186. package/lib/typescript/color-field/ColorFieldRoot.d.ts.map +1 -0
  187. package/lib/typescript/color-field/context.d.ts +6 -0
  188. package/lib/typescript/color-field/context.d.ts.map +1 -0
  189. package/lib/typescript/color-field/index.d.ts +7 -0
  190. package/lib/typescript/color-field/index.d.ts.map +1 -0
  191. package/lib/typescript/color-field/types.d.ts +39 -0
  192. package/lib/typescript/color-field/types.d.ts.map +1 -0
  193. package/lib/typescript/color-field/utils.d.ts +5 -0
  194. package/lib/typescript/color-field/utils.d.ts.map +1 -0
  195. package/lib/typescript/color-picker/ColorPickerRoot.d.ts +7 -0
  196. package/lib/typescript/color-picker/ColorPickerRoot.d.ts.map +1 -0
  197. package/lib/typescript/color-picker/ColorPickerTrigger.d.ts +4 -0
  198. package/lib/typescript/color-picker/ColorPickerTrigger.d.ts.map +1 -0
  199. package/lib/typescript/color-picker/context.d.ts +19 -0
  200. package/lib/typescript/color-picker/context.d.ts.map +1 -0
  201. package/lib/typescript/color-picker/index.d.ts +5 -0
  202. package/lib/typescript/color-picker/index.d.ts.map +1 -0
  203. package/lib/typescript/color-picker/types.d.ts +24 -0
  204. package/lib/typescript/color-picker/types.d.ts.map +1 -0
  205. package/lib/typescript/color-slider/ColorSliderRail.d.ts +6 -0
  206. package/lib/typescript/color-slider/ColorSliderRail.d.ts.map +1 -0
  207. package/lib/typescript/color-slider/ColorSliderRoot.d.ts +7 -0
  208. package/lib/typescript/color-slider/ColorSliderRoot.d.ts.map +1 -0
  209. package/lib/typescript/color-slider/ColorSliderThumb.d.ts +6 -0
  210. package/lib/typescript/color-slider/ColorSliderThumb.d.ts.map +1 -0
  211. package/lib/typescript/color-slider/context.d.ts +6 -0
  212. package/lib/typescript/color-slider/context.d.ts.map +1 -0
  213. package/lib/typescript/color-slider/index.d.ts +6 -0
  214. package/lib/typescript/color-slider/index.d.ts.map +1 -0
  215. package/lib/typescript/color-slider/types.d.ts +82 -0
  216. package/lib/typescript/color-slider/types.d.ts.map +1 -0
  217. package/lib/typescript/color-slider/utils.d.ts +12 -0
  218. package/lib/typescript/color-slider/utils.d.ts.map +1 -0
  219. package/lib/typescript/color-swatch-picker/ColorSwatchPickerItem.d.ts +6 -0
  220. package/lib/typescript/color-swatch-picker/ColorSwatchPickerItem.d.ts.map +1 -0
  221. package/lib/typescript/color-swatch-picker/ColorSwatchPickerRoot.d.ts +7 -0
  222. package/lib/typescript/color-swatch-picker/ColorSwatchPickerRoot.d.ts.map +1 -0
  223. package/lib/typescript/color-swatch-picker/context.d.ts +8 -0
  224. package/lib/typescript/color-swatch-picker/context.d.ts.map +1 -0
  225. package/lib/typescript/color-swatch-picker/index.d.ts +5 -0
  226. package/lib/typescript/color-swatch-picker/index.d.ts.map +1 -0
  227. package/lib/typescript/color-swatch-picker/types.d.ts +26 -0
  228. package/lib/typescript/color-swatch-picker/types.d.ts.map +1 -0
  229. package/lib/typescript/index.d.ts +7 -0
  230. package/lib/typescript/index.d.ts.map +1 -1
  231. package/lib/typescript/slider/useSliderPointer.d.ts.map +1 -1
  232. package/lib/typescript/utils/createPortal.web.d.ts +6 -2
  233. package/lib/typescript/utils/createPortal.web.d.ts.map +1 -1
  234. package/lib/typescript/utils/textAncestor.d.ts +13 -0
  235. package/lib/typescript/utils/textAncestor.d.ts.map +1 -0
  236. package/lib/typescript/utils/textAncestor.web.d.ts +15 -0
  237. package/lib/typescript/utils/textAncestor.web.d.ts.map +1 -0
  238. package/package.json +4 -3
  239. package/src/color/Color.ts +95 -0
  240. package/src/color/index.ts +2 -0
  241. package/src/color/types.ts +19 -0
  242. package/src/color-area/ColorAreaAccessibility.tsx +94 -0
  243. package/src/color-area/ColorAreaAccessibility.web.tsx +52 -0
  244. package/src/color-area/ColorAreaRoot.tsx +326 -0
  245. package/src/color-area/ColorAreaThumb.tsx +56 -0
  246. package/src/color-area/context.tsx +5 -0
  247. package/src/color-area/index.ts +10 -0
  248. package/src/color-area/types.ts +69 -0
  249. package/src/color-area/utils.ts +51 -0
  250. package/src/color-field/ColorFieldInput.tsx +66 -0
  251. package/src/color-field/ColorFieldRoot.tsx +132 -0
  252. package/src/color-field/context.tsx +5 -0
  253. package/src/color-field/index.ts +11 -0
  254. package/src/color-field/types.ts +46 -0
  255. package/src/color-field/utils.ts +75 -0
  256. package/src/color-picker/ColorPickerRoot.tsx +91 -0
  257. package/src/color-picker/ColorPickerTrigger.tsx +96 -0
  258. package/src/color-picker/context.tsx +47 -0
  259. package/src/color-picker/index.ts +12 -0
  260. package/src/color-picker/types.ts +25 -0
  261. package/src/color-slider/ColorSliderRail.tsx +130 -0
  262. package/src/color-slider/ColorSliderRoot.tsx +222 -0
  263. package/src/color-slider/ColorSliderThumb.tsx +294 -0
  264. package/src/color-slider/context.tsx +5 -0
  265. package/src/color-slider/index.ts +16 -0
  266. package/src/color-slider/types.ts +94 -0
  267. package/src/color-slider/utils.ts +79 -0
  268. package/src/color-swatch-picker/ColorSwatchPickerItem.tsx +54 -0
  269. package/src/color-swatch-picker/ColorSwatchPickerRoot.tsx +94 -0
  270. package/src/color-swatch-picker/context.tsx +22 -0
  271. package/src/color-swatch-picker/index.ts +4 -0
  272. package/src/color-swatch-picker/types.ts +29 -0
  273. package/src/index.ts +7 -0
  274. package/src/react-native-web.d.ts +6 -0
  275. package/src/slider/useSliderPointer.ts +3 -0
  276. package/src/utils/createPortal.web.ts +9 -3
  277. package/src/utils/textAncestor.ts +19 -0
  278. package/src/utils/textAncestor.web.ts +19 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseColor = parseColor;
7
+ var _color = require("@react-stately/color");
8
+ const NUMBER_PATTERN = '[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)';
9
+ const HEX_PATTERN = /^#[\da-f]{3}(?:[\da-f]{3})?$/iu;
10
+ const RGB_PATTERN = new RegExp(`^rgb\\(\\s*${NUMBER_PATTERN}\\s*,\\s*${NUMBER_PATTERN}\\s*,\\s*${NUMBER_PATTERN}\\s*\\)$`, 'iu');
11
+ const HSL_PATTERN = new RegExp(`^hsl\\(\\s*${NUMBER_PATTERN}\\s*,\\s*${NUMBER_PATTERN}%\\s*,\\s*${NUMBER_PATTERN}%\\s*\\)$`, 'iu');
12
+ function isSupportedOpaqueColor(value) {
13
+ return HEX_PATTERN.test(value) || RGB_PATTERN.test(value) || HSL_PATTERN.test(value);
14
+ }
15
+ function normalizeHue(value) {
16
+ if (!Number.isFinite(value)) {
17
+ return 0;
18
+ }
19
+ return (value % 360 + 360) % 360;
20
+ }
21
+ function normalizeChannelValue(color, channel, value) {
22
+ if (!Number.isFinite(value)) {
23
+ return color.getChannelValue(channel);
24
+ }
25
+ if (channel === 'hue') {
26
+ return normalizeHue(value);
27
+ }
28
+ const {
29
+ minValue,
30
+ maxValue
31
+ } = color.getChannelRange(channel);
32
+ const clampedValue = Math.min(maxValue, Math.max(minValue, value));
33
+ return channel === 'red' || channel === 'green' || channel === 'blue' ? Math.round(clampedValue) : clampedValue;
34
+ }
35
+ function createColor(color) {
36
+ return {
37
+ toString(format) {
38
+ const value = color.toString(format);
39
+ return format === 'hex' ? value.toUpperCase() : value;
40
+ },
41
+ getChannel(space, channel) {
42
+ const value = color.toFormat(space).getChannelValue(channel);
43
+ return channel === 'hue' ? normalizeHue(value) : value;
44
+ },
45
+ withChannel(space, channel, value) {
46
+ const convertedColor = color.toFormat(space);
47
+ const channelValue = normalizeChannelValue(convertedColor, channel, value);
48
+ return createColor(convertedColor.withChannelValue(channel, channelValue));
49
+ }
50
+ };
51
+ }
52
+ function parseColor(value) {
53
+ const normalizedValue = value.trim().toLowerCase();
54
+ if (!isSupportedOpaqueColor(normalizedValue)) {
55
+ return undefined;
56
+ }
57
+ try {
58
+ let color = (0, _color.parseColor)(normalizedValue);
59
+ if (RGB_PATTERN.test(normalizedValue)) {
60
+ color = color.withChannelValue('red', Math.round(color.getChannelValue('red'))).withChannelValue('green', Math.round(color.getChannelValue('green'))).withChannelValue('blue', Math.round(color.getChannelValue('blue')));
61
+ } else if (HSL_PATTERN.test(normalizedValue)) {
62
+ color = color.withChannelValue('hue', normalizeHue(color.getChannelValue('hue')));
63
+ }
64
+ return createColor(color);
65
+ } catch {
66
+ return undefined;
67
+ }
68
+ }
69
+ //# sourceMappingURL=Color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_color","require","NUMBER_PATTERN","HEX_PATTERN","RGB_PATTERN","RegExp","HSL_PATTERN","isSupportedOpaqueColor","value","test","normalizeHue","Number","isFinite","normalizeChannelValue","color","channel","getChannelValue","minValue","maxValue","getChannelRange","clampedValue","Math","min","max","round","createColor","toString","format","toUpperCase","getChannel","space","toFormat","withChannel","convertedColor","channelValue","withChannelValue","parseColor","normalizedValue","trim","toLowerCase","undefined","parseStatelyColor"],"sourceRoot":"../../../src","sources":["color/Color.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "parseColor", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Color.parseColor;
10
+ }
11
+ });
12
+ var _Color = require("./Color");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Color","require"],"sourceRoot":"../../../src","sources":["color/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["color/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorAreaAccessibility = ColorAreaAccessibility;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _context = require("./context");
10
+ var _utils = require("./utils");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function ColorAreaAccessibility({
13
+ accessibilityLabel
14
+ }) {
15
+ const {
16
+ value,
17
+ xValue,
18
+ yValue,
19
+ step,
20
+ isDisabled,
21
+ setXValue,
22
+ setYValue
23
+ } = (0, _context.useColorAreaContext)();
24
+ const handleSaturationAction = (0, _react.useCallback)(event => {
25
+ if (event.nativeEvent.actionName === 'increment') {
26
+ setXValue(xValue + step, true);
27
+ } else if (event.nativeEvent.actionName === 'decrement') {
28
+ setXValue(xValue - step, true);
29
+ }
30
+ }, [setXValue, step, xValue]);
31
+ const handleBrightnessAction = (0, _react.useCallback)(event => {
32
+ if (event.nativeEvent.actionName === 'increment') {
33
+ setYValue(yValue + step, true);
34
+ } else if (event.nativeEvent.actionName === 'decrement') {
35
+ setYValue(yValue - step, true);
36
+ }
37
+ }, [setYValue, step, yValue]);
38
+ const actionProps = {
39
+ accessibilityActions: [{
40
+ name: 'increment'
41
+ }, {
42
+ name: 'decrement'
43
+ }]
44
+ };
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
46
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
47
+ ...actionProps,
48
+ accessible: true,
49
+ style: styles.saturationProxy,
50
+ accessibilityRole: "adjustable",
51
+ accessibilityLabel: accessibilityLabel ? `${accessibilityLabel}, Saturation` : 'Saturation',
52
+ accessibilityValue: {
53
+ min: 0,
54
+ max: 100,
55
+ now: Math.round((0, _utils.clampColorChannel)(xValue)),
56
+ text: (0, _utils.colorAreaValueText)(value)
57
+ },
58
+ accessibilityState: {
59
+ disabled: isDisabled
60
+ },
61
+ onAccessibilityAction: handleSaturationAction
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
63
+ ...actionProps,
64
+ accessible: true,
65
+ style: styles.brightnessProxy,
66
+ accessibilityRole: "adjustable",
67
+ accessibilityLabel: accessibilityLabel ? `${accessibilityLabel}, Brightness` : 'Brightness',
68
+ accessibilityValue: {
69
+ min: 0,
70
+ max: 100,
71
+ now: Math.round((0, _utils.clampColorChannel)(yValue)),
72
+ text: (0, _utils.colorAreaValueText)(value)
73
+ },
74
+ accessibilityState: {
75
+ disabled: isDisabled
76
+ },
77
+ onAccessibilityAction: handleBrightnessAction
78
+ })]
79
+ });
80
+ }
81
+ ColorAreaAccessibility.displayName = 'ColorAreaAccessibility';
82
+ const styles = _reactNative.StyleSheet.create({
83
+ saturationProxy: {
84
+ position: 'absolute',
85
+ top: 0,
86
+ bottom: 0,
87
+ left: 0,
88
+ width: '50%',
89
+ pointerEvents: 'none'
90
+ },
91
+ brightnessProxy: {
92
+ position: 'absolute',
93
+ top: 0,
94
+ right: 0,
95
+ bottom: 0,
96
+ width: '50%',
97
+ pointerEvents: 'none'
98
+ }
99
+ });
100
+ //# sourceMappingURL=ColorAreaAccessibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_context","_utils","_jsxRuntime","ColorAreaAccessibility","accessibilityLabel","value","xValue","yValue","step","isDisabled","setXValue","setYValue","useColorAreaContext","handleSaturationAction","useCallback","event","nativeEvent","actionName","handleBrightnessAction","actionProps","accessibilityActions","name","jsxs","Fragment","children","jsx","View","accessible","style","styles","saturationProxy","accessibilityRole","accessibilityValue","min","max","now","Math","round","clampColorChannel","text","colorAreaValueText","accessibilityState","disabled","onAccessibilityAction","brightnessProxy","displayName","StyleSheet","create","position","top","bottom","left","width","pointerEvents","right"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaAccessibility.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorAreaAccessibility = ColorAreaAccessibility;
7
+ var _visuallyHidden = require("@react-aria/visually-hidden");
8
+ var _context = require("./context");
9
+ var _utils = require("./utils");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function ColorAreaAccessibility({
12
+ accessibilityLabel
13
+ }) {
14
+ const {
15
+ value,
16
+ xValue,
17
+ yValue,
18
+ step,
19
+ isDisabled,
20
+ setXValue,
21
+ setYValue,
22
+ handleKeyDown
23
+ } = (0, _context.useColorAreaContext)();
24
+ const handleInputKeyDown = event => {
25
+ handleKeyDown(event);
26
+ };
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_visuallyHidden.VisuallyHidden, {
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
30
+ type: "range",
31
+ min: 0,
32
+ max: 100,
33
+ step: step,
34
+ value: (0, _utils.snapColorChannel)(xValue, step),
35
+ disabled: isDisabled,
36
+ "aria-label": accessibilityLabel ? `${accessibilityLabel}, Saturation` : 'Saturation',
37
+ "aria-valuetext": (0, _utils.colorAreaValueText)(value),
38
+ onKeyDown: handleInputKeyDown,
39
+ onChange: event => setXValue(Number(event.currentTarget.value), true)
40
+ })
41
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_visuallyHidden.VisuallyHidden, {
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
43
+ type: "range",
44
+ min: 0,
45
+ max: 100,
46
+ step: step,
47
+ value: (0, _utils.snapColorChannel)(yValue, step),
48
+ disabled: isDisabled,
49
+ "aria-label": accessibilityLabel ? `${accessibilityLabel}, Brightness` : 'Brightness',
50
+ "aria-valuetext": (0, _utils.colorAreaValueText)(value),
51
+ onKeyDown: handleInputKeyDown,
52
+ onChange: event => setYValue(Number(event.currentTarget.value), true)
53
+ })
54
+ })]
55
+ });
56
+ }
57
+ ColorAreaAccessibility.displayName = 'ColorAreaAccessibility';
58
+ //# sourceMappingURL=ColorAreaAccessibility.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_visuallyHidden","require","_context","_utils","_jsxRuntime","ColorAreaAccessibility","accessibilityLabel","value","xValue","yValue","step","isDisabled","setXValue","setYValue","handleKeyDown","useColorAreaContext","handleInputKeyDown","event","jsxs","Fragment","children","jsx","VisuallyHidden","type","min","max","snapColorChannel","disabled","colorAreaValueText","onKeyDown","onChange","Number","currentTarget","displayName"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaAccessibility.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAMxD,SAASI,sBAAsBA,CAAC;EAAEC;AAAgD,CAAC,EAAE;EAC1F,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,UAAU;IAAEC,SAAS;IAAEC,SAAS;IAAEC;EAAc,CAAC,GACpF,IAAAC,4BAAmB,EAAC,CAAC;EAEvB,MAAMC,kBAAkB,GAAIC,KAA4C,IAAK;IAC3EH,aAAa,CAACG,KAA0C,CAAC;EAC3D,CAAC;EAED,oBACE,IAAAb,WAAA,CAAAc,IAAA,EAAAd,WAAA,CAAAe,QAAA;IAAAC,QAAA,gBACE,IAAAhB,WAAA,CAAAiB,GAAA,EAACrB,eAAA,CAAAsB,cAAc;MAAAF,QAAA,eACb,IAAAhB,WAAA,CAAAiB,GAAA;QACEE,IAAI,EAAC,OAAO;QACZC,GAAG,EAAE,CAAE;QACPC,GAAG,EAAE,GAAI;QACTf,IAAI,EAAEA,IAAK;QACXH,KAAK,EAAE,IAAAmB,uBAAgB,EAAClB,MAAM,EAAEE,IAAI,CAAE;QACtCiB,QAAQ,EAAEhB,UAAW;QACrB,cAAYL,kBAAkB,GAAG,GAAGA,kBAAkB,cAAc,GAAG,YAAa;QACpF,kBAAgB,IAAAsB,yBAAkB,EAACrB,KAAK,CAAE;QAC1CsB,SAAS,EAAEb,kBAAmB;QAC9Bc,QAAQ,EAAGb,KAAK,IAAKL,SAAS,CAACmB,MAAM,CAACd,KAAK,CAACe,aAAa,CAACzB,KAAK,CAAC,EAAE,IAAI;MAAE,CACzE;IAAC,CACY,CAAC,eACjB,IAAAH,WAAA,CAAAiB,GAAA,EAACrB,eAAA,CAAAsB,cAAc;MAAAF,QAAA,eACb,IAAAhB,WAAA,CAAAiB,GAAA;QACEE,IAAI,EAAC,OAAO;QACZC,GAAG,EAAE,CAAE;QACPC,GAAG,EAAE,GAAI;QACTf,IAAI,EAAEA,IAAK;QACXH,KAAK,EAAE,IAAAmB,uBAAgB,EAACjB,MAAM,EAAEC,IAAI,CAAE;QACtCiB,QAAQ,EAAEhB,UAAW;QACrB,cAAYL,kBAAkB,GAAG,GAAGA,kBAAkB,cAAc,GAAG,YAAa;QACpF,kBAAgB,IAAAsB,yBAAkB,EAACrB,KAAK,CAAE;QAC1CsB,SAAS,EAAEb,kBAAmB;QAC9Bc,QAAQ,EAAGb,KAAK,IAAKJ,SAAS,CAACkB,MAAM,CAACd,KAAK,CAACe,aAAa,CAACzB,KAAK,CAAC,EAAE,IAAI;MAAE,CACzE;IAAC,CACY,CAAC;EAAA,CACjB,CAAC;AAEP;AAEAF,sBAAsB,CAAC4B,WAAW,GAAG,wBAAwB","ignoreList":[]}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorAreaRoot = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _utils = require("@cdx-ui/utils");
10
+ var _color = require("../color");
11
+ var _colorPicker = require("../color-picker");
12
+ var _slot = require("../slot");
13
+ var _dataAttributes = require("../utils/dataAttributes");
14
+ var _ColorAreaAccessibility = require("./ColorAreaAccessibility");
15
+ var _context = require("./context");
16
+ var _utils2 = require("./utils");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function createDefaultColor() {
19
+ const color = (0, _color.parseColor)('#FF0000');
20
+ if (!color) {
21
+ throw new Error('ColorArea default color could not be parsed');
22
+ }
23
+ return color;
24
+ }
25
+ const DEFAULT_COLOR = createDefaultColor();
26
+ const EMPTY_LAYOUT = {
27
+ width: 0,
28
+ height: 0
29
+ };
30
+ function getFinitePoint(event) {
31
+ const {
32
+ locationX: x,
33
+ locationY: y
34
+ } = event.nativeEvent;
35
+ return Number.isFinite(x) && Number.isFinite(y) ? {
36
+ x,
37
+ y
38
+ } : null;
39
+ }
40
+ const ColorAreaRoot = exports.ColorAreaRoot = /*#__PURE__*/(0, _react.forwardRef)(({
41
+ asChild,
42
+ value: valueProp,
43
+ defaultValue,
44
+ onValueChange,
45
+ onValueChangeComplete,
46
+ colorSpace = 'hsb',
47
+ xChannel = 'saturation',
48
+ yChannel = 'brightness',
49
+ step = 1,
50
+ pageStep = 10,
51
+ isRTL = _reactNative.I18nManager.isRTL,
52
+ isDisabled = false,
53
+ accessibilityLabel,
54
+ children,
55
+ onLayout,
56
+ ...props
57
+ }, ref) => {
58
+ const picker = (0, _colorPicker.useOptionalColorPickerContext)();
59
+ const usesPickerContext = picker !== null && valueProp === undefined && defaultValue === undefined;
60
+ const [localValue, setLocalValue] = (0, _utils.useControllableState)({
61
+ prop: valueProp,
62
+ defaultProp: defaultValue ?? DEFAULT_COLOR,
63
+ onChange: onValueChange
64
+ });
65
+ const value = (usesPickerContext ? picker.value : localValue) ?? DEFAULT_COLOR;
66
+ const [layout, setLayoutState] = (0, _react.useState)(EMPTY_LAYOUT);
67
+ const [thumbSize, setThumbSizeState] = (0, _react.useState)(EMPTY_LAYOUT);
68
+ const valueRef = (0, _react.useRef)(value);
69
+ valueRef.current = value;
70
+ const layoutRef = (0, _react.useRef)(layout);
71
+ layoutRef.current = layout;
72
+ const isDisabledRef = (0, _react.useRef)(isDisabled);
73
+ isDisabledRef.current = isDisabled;
74
+ const setChannelsFromPointRef = (0, _react.useRef)(undefined);
75
+ const lastValidPointRef = (0, _react.useRef)(null);
76
+ const commitValue = (0, _react.useCallback)((next, complete = false) => {
77
+ if (isDisabled) {
78
+ return;
79
+ }
80
+ valueRef.current = next;
81
+ if (usesPickerContext) {
82
+ onValueChange?.(next);
83
+ picker.onValueChange(next);
84
+ } else {
85
+ setLocalValue(next);
86
+ }
87
+ if (complete) {
88
+ onValueChangeComplete?.(next);
89
+ }
90
+ }, [isDisabled, onValueChange, onValueChangeComplete, picker, setLocalValue, usesPickerContext]);
91
+ const setXValue = (0, _react.useCallback)((nextValue, complete = false) => {
92
+ commitValue(valueRef.current.withChannel(colorSpace, xChannel, (0, _utils2.snapColorChannel)(nextValue, step)), complete);
93
+ }, [colorSpace, commitValue, step, xChannel]);
94
+ const setYValue = (0, _react.useCallback)((nextValue, complete = false) => {
95
+ commitValue(valueRef.current.withChannel(colorSpace, yChannel, (0, _utils2.snapColorChannel)(nextValue, step)), complete);
96
+ }, [colorSpace, commitValue, step, yChannel]);
97
+ const setChannelsFromPoint = (0, _react.useCallback)((x, y, complete = false) => {
98
+ const currentLayout = layoutRef.current;
99
+ if (isDisabledRef.current || !Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(currentLayout.width) || !Number.isFinite(currentLayout.height) || currentLayout.width <= 0 || currentLayout.height <= 0) {
100
+ return;
101
+ }
102
+ const visualXRatio = (0, _utils2.clampColorChannel)(x, 0, currentLayout.width) / currentLayout.width;
103
+ const xRatio = isRTL ? 1 - visualXRatio : visualXRatio;
104
+ const yRatio = 1 - (0, _utils2.clampColorChannel)(y, 0, currentLayout.height) / currentLayout.height;
105
+ const next = valueRef.current.withChannel(colorSpace, xChannel, xRatio * 100).withChannel(colorSpace, yChannel, yRatio * 100);
106
+ commitValue(next, complete);
107
+ }, [colorSpace, commitValue, isRTL, xChannel, yChannel]);
108
+ setChannelsFromPointRef.current = setChannelsFromPoint;
109
+ const handleKeyDown = (0, _react.useCallback)(event => {
110
+ if (isDisabled) {
111
+ return;
112
+ }
113
+ const key = event.nativeEvent?.key ?? event.key;
114
+ const shiftKey = event.nativeEvent?.shiftKey ?? event.shiftKey;
115
+ const increment = shiftKey ? pageStep : step;
116
+ const currentX = valueRef.current.getChannel(colorSpace, xChannel);
117
+ const currentY = valueRef.current.getChannel(colorSpace, yChannel);
118
+ let handled = true;
119
+ if (key === 'ArrowLeft') {
120
+ setXValue(currentX + (isRTL ? increment : -increment), true);
121
+ } else if (key === 'ArrowRight') {
122
+ setXValue(currentX + (isRTL ? -increment : increment), true);
123
+ } else if (key === 'ArrowUp') {
124
+ setYValue(currentY + increment, true);
125
+ } else if (key === 'ArrowDown') {
126
+ setYValue(currentY - increment, true);
127
+ } else if (key === 'PageUp') {
128
+ setYValue(currentY + pageStep, true);
129
+ } else if (key === 'PageDown') {
130
+ setYValue(currentY - pageStep, true);
131
+ } else if (key === 'Home') {
132
+ setXValue(currentX + (isRTL ? pageStep : -pageStep), true);
133
+ } else if (key === 'End') {
134
+ setXValue(currentX + (isRTL ? -pageStep : pageStep), true);
135
+ } else {
136
+ handled = false;
137
+ }
138
+ if (handled) {
139
+ event.preventDefault?.();
140
+ }
141
+ }, [colorSpace, isDisabled, isRTL, pageStep, setXValue, setYValue, step, xChannel, yChannel]);
142
+ const panResponder = (0, _react.useMemo)(() => {
143
+ const updateFromEvent = (event, complete = false) => {
144
+ const point = getFinitePoint(event);
145
+ if (point) {
146
+ lastValidPointRef.current = point;
147
+ }
148
+ const resolvedPoint = point ?? lastValidPointRef.current;
149
+ if (resolvedPoint) {
150
+ setChannelsFromPointRef.current?.(resolvedPoint.x, resolvedPoint.y, complete);
151
+ }
152
+ };
153
+ return _reactNative.PanResponder.create({
154
+ onStartShouldSetPanResponder: () => !isDisabledRef.current,
155
+ onMoveShouldSetPanResponder: () => !isDisabledRef.current,
156
+ onPanResponderTerminationRequest: () => false,
157
+ onShouldBlockNativeResponder: () => true,
158
+ onPanResponderGrant: event => {
159
+ lastValidPointRef.current = null;
160
+ updateFromEvent(event);
161
+ },
162
+ onPanResponderMove: event => {
163
+ updateFromEvent(event);
164
+ },
165
+ onPanResponderRelease: event => {
166
+ updateFromEvent(event, true);
167
+ lastValidPointRef.current = null;
168
+ },
169
+ onPanResponderTerminate: event => {
170
+ updateFromEvent(event, true);
171
+ lastValidPointRef.current = null;
172
+ }
173
+ });
174
+ }, []);
175
+ const setLayout = (0, _react.useCallback)(next => {
176
+ setLayoutState(previous => previous.width === next.width && previous.height === next.height ? previous : next);
177
+ }, []);
178
+ const setThumbSize = (0, _react.useCallback)(next => {
179
+ setThumbSizeState(previous => previous.width === next.width && previous.height === next.height ? previous : next);
180
+ }, []);
181
+ const handleLayout = (0, _react.useCallback)(event => {
182
+ const {
183
+ width,
184
+ height
185
+ } = event.nativeEvent.layout;
186
+ setLayout({
187
+ width,
188
+ height
189
+ });
190
+ onLayout?.(event);
191
+ }, [onLayout, setLayout]);
192
+ const xValue = value.getChannel(colorSpace, xChannel);
193
+ const yValue = value.getChannel(colorSpace, yChannel);
194
+ const contextValue = (0, _react.useMemo)(() => ({
195
+ value,
196
+ xValue,
197
+ yValue,
198
+ xPercent: (0, _utils2.clampColorChannel)(xValue),
199
+ yPercent: (0, _utils2.clampColorChannel)(yValue),
200
+ layout,
201
+ thumbSize,
202
+ isRTL,
203
+ isDisabled,
204
+ step,
205
+ pageStep,
206
+ setLayout,
207
+ setThumbSize,
208
+ setChannelsFromPoint,
209
+ setXValue,
210
+ setYValue,
211
+ handleKeyDown
212
+ }), [handleKeyDown, isDisabled, isRTL, layout, pageStep, setChannelsFromPoint, setLayout, setThumbSize, setXValue, setYValue, step, thumbSize, value, xValue, yValue]);
213
+ const Comp = asChild ? _slot.Slot : _reactNative.View;
214
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ColorAreaProvider, {
215
+ value: contextValue,
216
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Comp, {
217
+ ref: ref,
218
+ ...props,
219
+ ...panResponder.panHandlers,
220
+ onLayout: handleLayout,
221
+ role: _reactNative.Platform.OS === 'web' ? 'group' : undefined,
222
+ "aria-label": props['aria-label'] ?? accessibilityLabel,
223
+ accessibilityLabel: accessibilityLabel,
224
+ accessibilityState: {
225
+ disabled: isDisabled
226
+ },
227
+ ...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
228
+ disabled: isDisabled,
229
+ colorSpace,
230
+ xChannel,
231
+ yChannel
232
+ })),
233
+ children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ColorAreaAccessibility.ColorAreaAccessibility, {
234
+ accessibilityLabel: accessibilityLabel
235
+ })]
236
+ })
237
+ });
238
+ });
239
+ ColorAreaRoot.displayName = 'ColorAreaRoot';
240
+ //# sourceMappingURL=ColorAreaRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_color","_colorPicker","_slot","_dataAttributes","_ColorAreaAccessibility","_context","_utils2","_jsxRuntime","createDefaultColor","color","parseColor","Error","DEFAULT_COLOR","EMPTY_LAYOUT","width","height","getFinitePoint","event","locationX","x","locationY","y","nativeEvent","Number","isFinite","ColorAreaRoot","exports","forwardRef","asChild","value","valueProp","defaultValue","onValueChange","onValueChangeComplete","colorSpace","xChannel","yChannel","step","pageStep","isRTL","I18nManager","isDisabled","accessibilityLabel","children","onLayout","props","ref","picker","useOptionalColorPickerContext","usesPickerContext","undefined","localValue","setLocalValue","useControllableState","prop","defaultProp","onChange","layout","setLayoutState","useState","thumbSize","setThumbSizeState","valueRef","useRef","current","layoutRef","isDisabledRef","setChannelsFromPointRef","lastValidPointRef","commitValue","useCallback","next","complete","setXValue","nextValue","withChannel","snapColorChannel","setYValue","setChannelsFromPoint","currentLayout","visualXRatio","clampColorChannel","xRatio","yRatio","handleKeyDown","key","shiftKey","increment","currentX","getChannel","currentY","handled","preventDefault","panResponder","useMemo","updateFromEvent","point","resolvedPoint","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onShouldBlockNativeResponder","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","setLayout","previous","setThumbSize","handleLayout","xValue","yValue","contextValue","xPercent","yPercent","Comp","Slot","View","jsx","ColorAreaProvider","jsxs","panHandlers","role","Platform","OS","accessibilityState","disabled","mergeDataAttributes","dataAttributes","ColorAreaAccessibility","displayName"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorAreaThumb = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _slot = require("../slot");
10
+ var _dataAttributes = require("../utils/dataAttributes");
11
+ var _context = require("./context");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ const ColorAreaThumb = exports.ColorAreaThumb = /*#__PURE__*/(0, _react.forwardRef)(({
14
+ asChild,
15
+ style,
16
+ onLayout,
17
+ children,
18
+ ...props
19
+ }, ref) => {
20
+ const {
21
+ xPercent,
22
+ yPercent,
23
+ layout,
24
+ thumbSize,
25
+ isRTL,
26
+ setThumbSize
27
+ } = (0, _context.useColorAreaContext)();
28
+ const positionStyle = (0, _react.useMemo)(() => {
29
+ const visualXPercent = isRTL ? 100 - xPercent : xPercent;
30
+ const translateX = visualXPercent / 100 * layout.width - thumbSize.width / 2;
31
+ const translateY = (100 - yPercent) / 100 * layout.height - thumbSize.height / 2;
32
+ return {
33
+ position: 'absolute',
34
+ top: 0,
35
+ left: 0,
36
+ pointerEvents: 'none',
37
+ transform: [{
38
+ translateX
39
+ }, {
40
+ translateY
41
+ }]
42
+ };
43
+ }, [isRTL, layout.height, layout.width, thumbSize.height, thumbSize.width, xPercent, yPercent]);
44
+ const handleLayout = (0, _react.useCallback)(event => {
45
+ const {
46
+ width,
47
+ height
48
+ } = event.nativeEvent.layout;
49
+ setThumbSize({
50
+ width,
51
+ height
52
+ });
53
+ onLayout?.(event);
54
+ }, [onLayout, setThumbSize]);
55
+ const Comp = asChild ? _slot.Slot : _reactNative.View;
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
57
+ ref: ref,
58
+ ...props,
59
+ accessible: false,
60
+ accessibilityElementsHidden: true,
61
+ importantForAccessibility: "no-hide-descendants",
62
+ onLayout: handleLayout,
63
+ style: [positionStyle, style],
64
+ ...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
65
+ slot: 'color-area-thumb'
66
+ })),
67
+ children: children
68
+ });
69
+ });
70
+ ColorAreaThumb.displayName = 'ColorAreaThumb';
71
+ //# sourceMappingURL=ColorAreaThumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_slot","_dataAttributes","_context","_jsxRuntime","ColorAreaThumb","exports","forwardRef","asChild","style","onLayout","children","props","ref","xPercent","yPercent","layout","thumbSize","isRTL","setThumbSize","useColorAreaContext","positionStyle","useMemo","visualXPercent","translateX","width","translateY","height","position","top","left","pointerEvents","transform","handleLayout","useCallback","event","nativeEvent","Comp","Slot","View","jsx","accessible","accessibilityElementsHidden","importantForAccessibility","mergeDataAttributes","dataAttributes","slot","displayName"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaThumb.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAgD,IAAAK,WAAA,GAAAL,OAAA;AAKzC,MAAMM,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,iBAAU,EACtC,CAAC;EAAEC,OAAO;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACzD,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAa,CAAC,GAAG,IAAAC,4BAAmB,EAAC,CAAC;EAE5F,MAAMC,aAAa,GAAG,IAAAC,cAAO,EAAY,MAAM;IAC7C,MAAMC,cAAc,GAAGL,KAAK,GAAG,GAAG,GAAGJ,QAAQ,GAAGA,QAAQ;IACxD,MAAMU,UAAU,GAAID,cAAc,GAAG,GAAG,GAAIP,MAAM,CAACS,KAAK,GAAGR,SAAS,CAACQ,KAAK,GAAG,CAAC;IAC9E,MAAMC,UAAU,GAAI,CAAC,GAAG,GAAGX,QAAQ,IAAI,GAAG,GAAIC,MAAM,CAACW,MAAM,GAAGV,SAAS,CAACU,MAAM,GAAG,CAAC;IAElF,OAAO;MACLC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,aAAa,EAAE,MAAM;MACrBC,SAAS,EAAE,CAAC;QAAER;MAAW,CAAC,EAAE;QAAEE;MAAW,CAAC;IAC5C,CAAC;EACH,CAAC,EAAE,CAACR,KAAK,EAAEF,MAAM,CAACW,MAAM,EAAEX,MAAM,CAACS,KAAK,EAAER,SAAS,CAACU,MAAM,EAAEV,SAAS,CAACQ,KAAK,EAAEX,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAE/F,MAAMkB,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,KAAwB,IAAK;IAC5B,MAAM;MAAEV,KAAK;MAAEE;IAAO,CAAC,GAAGQ,KAAK,CAACC,WAAW,CAACpB,MAAM;IAClDG,YAAY,CAAC;MAAEM,KAAK;MAAEE;IAAO,CAAC,CAAC;IAC/BjB,QAAQ,GAAGyB,KAAK,CAAC;EACnB,CAAC,EACD,CAACzB,QAAQ,EAAES,YAAY,CACzB,CAAC;EAED,MAAMkB,IAAI,GAAG7B,OAAO,GAAG8B,UAAI,GAAGC,iBAAI;EAElC,oBACE,IAAAnC,WAAA,CAAAoC,GAAA,EAACH,IAAI;IACHxB,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACT6B,UAAU,EAAE,KAAM;IAClBC,2BAA2B;IAC3BC,yBAAyB,EAAC,qBAAqB;IAC/CjC,QAAQ,EAAEuB,YAAa;IACvBxB,KAAK,EAAE,CAACY,aAAa,EAAEZ,KAAK,CAAE;IAAA,GAC1B,IAAAmC,mCAAmB,EAAChC,KAAK,EAAE,IAAAiC,8BAAc,EAAC;MAAEC,IAAI,EAAE;IAAmB,CAAC,CAAC,CAAC;IAAAnC,QAAA,EAE3EA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDN,cAAc,CAAC0C,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useColorAreaContext = exports.ColorAreaProvider = void 0;
7
+ var _utils = require("@cdx-ui/utils");
8
+ const [ColorAreaProvider, useColorAreaContext] = (0, _utils.createContext)('ColorAreaContext');
9
+ exports.useColorAreaContext = useColorAreaContext;
10
+ exports.ColorAreaProvider = ColorAreaProvider;
11
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","ColorAreaProvider","useColorAreaContext","createContext","exports"],"sourceRoot":"../../../src","sources":["color-area/context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAM,CAACC,iBAAiB,EAAEC,mBAAmB,CAAC,GACnD,IAAAC,oBAAa,EAAwB,kBAAkB,CAAC;AAACC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA;AAAAE,OAAA,CAAAH,iBAAA,GAAAA,iBAAA","ignoreList":[]}