@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 @@
1
+ {"version":3,"names":["_react","require","ReactNative","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TextAncestorContext","exports","unstable_TextAncestorContext","createContext","useHasTextAncestor","useContext"],"sourceRoot":"../../../src","sources":["utils/textAncestor.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA4C,SAAAE,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMkB,mBAAqC,GAAAC,OAAA,CAAAD,mBAAA,GAC/CrB,WAAW,CACTuB,4BAA4B,iBAAI,IAAAC,oBAAa,EAAC,KAAK,CAAC;;AAEzD;AACO,SAASC,kBAAkBA,CAAA,EAAY;EAC5C,OAAO,IAAAC,iBAAU,EAACL,mBAAmB,CAAC;AACxC","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TextAncestorContext = void 0;
7
+ exports.useHasTextAncestor = useHasTextAncestor;
8
+ var _react = require("react");
9
+ var _TextAncestorContext = _interopRequireDefault(require("react-native-web/dist/exports/Text/TextAncestorContext"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /**
12
+ * React Native Web's text-ancestor context, which its `Text` provides. RNW does
13
+ * not export it, so this is a deep import. RNW's ESM and CommonJS builds each
14
+ * create their own context, so this must stay on the ESM path: it is the build
15
+ * bundlers resolve `react-native-web` to, and the path `babel-preset-expo`
16
+ * rewrites `react-native` imports to under Jest.
17
+ *
18
+ * Unlike native, RNW's `View` does not reset the context — CSS inherits through
19
+ * an inline `View` inside `Text`. DOM portals reset it in `createPortal.web.ts`.
20
+ */
21
+ const TextAncestorContext = exports.TextAncestorContext = _TextAncestorContext.default;
22
+
23
+ /** `true` when the calling component renders inside a host `Text`. */
24
+ function useHasTextAncestor() {
25
+ return (0, _react.useContext)(TextAncestorContext);
26
+ }
27
+ //# sourceMappingURL=textAncestor.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_TextAncestorContext","_interopRequireDefault","e","__esModule","default","TextAncestorContext","exports","RNWTextAncestorContext","useHasTextAncestor","useContext"],"sourceRoot":"../../../src","sources":["utils/textAncestor.web.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA4F,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,mBAAqC,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,4BAAsB;;AAE3E;AACO,SAASC,kBAAkBA,CAAA,EAAY;EAC5C,OAAO,IAAAC,iBAAU,EAACJ,mBAAmB,CAAC;AACxC","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import { parseColor as parseStatelyColor } from '@react-stately/color';
4
+ const NUMBER_PATTERN = '[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)';
5
+ const HEX_PATTERN = /^#[\da-f]{3}(?:[\da-f]{3})?$/iu;
6
+ const RGB_PATTERN = new RegExp(`^rgb\\(\\s*${NUMBER_PATTERN}\\s*,\\s*${NUMBER_PATTERN}\\s*,\\s*${NUMBER_PATTERN}\\s*\\)$`, 'iu');
7
+ const HSL_PATTERN = new RegExp(`^hsl\\(\\s*${NUMBER_PATTERN}\\s*,\\s*${NUMBER_PATTERN}%\\s*,\\s*${NUMBER_PATTERN}%\\s*\\)$`, 'iu');
8
+ function isSupportedOpaqueColor(value) {
9
+ return HEX_PATTERN.test(value) || RGB_PATTERN.test(value) || HSL_PATTERN.test(value);
10
+ }
11
+ function normalizeHue(value) {
12
+ if (!Number.isFinite(value)) {
13
+ return 0;
14
+ }
15
+ return (value % 360 + 360) % 360;
16
+ }
17
+ function normalizeChannelValue(color, channel, value) {
18
+ if (!Number.isFinite(value)) {
19
+ return color.getChannelValue(channel);
20
+ }
21
+ if (channel === 'hue') {
22
+ return normalizeHue(value);
23
+ }
24
+ const {
25
+ minValue,
26
+ maxValue
27
+ } = color.getChannelRange(channel);
28
+ const clampedValue = Math.min(maxValue, Math.max(minValue, value));
29
+ return channel === 'red' || channel === 'green' || channel === 'blue' ? Math.round(clampedValue) : clampedValue;
30
+ }
31
+ function createColor(color) {
32
+ return {
33
+ toString(format) {
34
+ const value = color.toString(format);
35
+ return format === 'hex' ? value.toUpperCase() : value;
36
+ },
37
+ getChannel(space, channel) {
38
+ const value = color.toFormat(space).getChannelValue(channel);
39
+ return channel === 'hue' ? normalizeHue(value) : value;
40
+ },
41
+ withChannel(space, channel, value) {
42
+ const convertedColor = color.toFormat(space);
43
+ const channelValue = normalizeChannelValue(convertedColor, channel, value);
44
+ return createColor(convertedColor.withChannelValue(channel, channelValue));
45
+ }
46
+ };
47
+ }
48
+ export function parseColor(value) {
49
+ const normalizedValue = value.trim().toLowerCase();
50
+ if (!isSupportedOpaqueColor(normalizedValue)) {
51
+ return undefined;
52
+ }
53
+ try {
54
+ let color = parseStatelyColor(normalizedValue);
55
+ if (RGB_PATTERN.test(normalizedValue)) {
56
+ color = color.withChannelValue('red', Math.round(color.getChannelValue('red'))).withChannelValue('green', Math.round(color.getChannelValue('green'))).withChannelValue('blue', Math.round(color.getChannelValue('blue')));
57
+ } else if (HSL_PATTERN.test(normalizedValue)) {
58
+ color = color.withChannelValue('hue', normalizeHue(color.getChannelValue('hue')));
59
+ }
60
+ return createColor(color);
61
+ } catch {
62
+ return undefined;
63
+ }
64
+ }
65
+ //# sourceMappingURL=Color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseColor","parseStatelyColor","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","normalizedValue","trim","toLowerCase","undefined"],"sourceRoot":"../../../src","sources":["color/Color.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { parseColor } from './Color';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseColor"],"sourceRoot":"../../../src","sources":["color/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,SAAS","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,96 @@
1
+ "use strict";
2
+
3
+ import { useCallback } from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { useColorAreaContext } from './context';
6
+ import { clampColorChannel, colorAreaValueText } from './utils';
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function ColorAreaAccessibility({
9
+ accessibilityLabel
10
+ }) {
11
+ const {
12
+ value,
13
+ xValue,
14
+ yValue,
15
+ step,
16
+ isDisabled,
17
+ setXValue,
18
+ setYValue
19
+ } = useColorAreaContext();
20
+ const handleSaturationAction = useCallback(event => {
21
+ if (event.nativeEvent.actionName === 'increment') {
22
+ setXValue(xValue + step, true);
23
+ } else if (event.nativeEvent.actionName === 'decrement') {
24
+ setXValue(xValue - step, true);
25
+ }
26
+ }, [setXValue, step, xValue]);
27
+ const handleBrightnessAction = useCallback(event => {
28
+ if (event.nativeEvent.actionName === 'increment') {
29
+ setYValue(yValue + step, true);
30
+ } else if (event.nativeEvent.actionName === 'decrement') {
31
+ setYValue(yValue - step, true);
32
+ }
33
+ }, [setYValue, step, yValue]);
34
+ const actionProps = {
35
+ accessibilityActions: [{
36
+ name: 'increment'
37
+ }, {
38
+ name: 'decrement'
39
+ }]
40
+ };
41
+ return /*#__PURE__*/_jsxs(_Fragment, {
42
+ children: [/*#__PURE__*/_jsx(View, {
43
+ ...actionProps,
44
+ accessible: true,
45
+ style: styles.saturationProxy,
46
+ accessibilityRole: "adjustable",
47
+ accessibilityLabel: accessibilityLabel ? `${accessibilityLabel}, Saturation` : 'Saturation',
48
+ accessibilityValue: {
49
+ min: 0,
50
+ max: 100,
51
+ now: Math.round(clampColorChannel(xValue)),
52
+ text: colorAreaValueText(value)
53
+ },
54
+ accessibilityState: {
55
+ disabled: isDisabled
56
+ },
57
+ onAccessibilityAction: handleSaturationAction
58
+ }), /*#__PURE__*/_jsx(View, {
59
+ ...actionProps,
60
+ accessible: true,
61
+ style: styles.brightnessProxy,
62
+ accessibilityRole: "adjustable",
63
+ accessibilityLabel: accessibilityLabel ? `${accessibilityLabel}, Brightness` : 'Brightness',
64
+ accessibilityValue: {
65
+ min: 0,
66
+ max: 100,
67
+ now: Math.round(clampColorChannel(yValue)),
68
+ text: colorAreaValueText(value)
69
+ },
70
+ accessibilityState: {
71
+ disabled: isDisabled
72
+ },
73
+ onAccessibilityAction: handleBrightnessAction
74
+ })]
75
+ });
76
+ }
77
+ ColorAreaAccessibility.displayName = 'ColorAreaAccessibility';
78
+ const styles = StyleSheet.create({
79
+ saturationProxy: {
80
+ position: 'absolute',
81
+ top: 0,
82
+ bottom: 0,
83
+ left: 0,
84
+ width: '50%',
85
+ pointerEvents: 'none'
86
+ },
87
+ brightnessProxy: {
88
+ position: 'absolute',
89
+ top: 0,
90
+ right: 0,
91
+ bottom: 0,
92
+ width: '50%',
93
+ pointerEvents: 'none'
94
+ }
95
+ });
96
+ //# sourceMappingURL=ColorAreaAccessibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","StyleSheet","View","useColorAreaContext","clampColorChannel","colorAreaValueText","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ColorAreaAccessibility","accessibilityLabel","value","xValue","yValue","step","isDisabled","setXValue","setYValue","handleSaturationAction","event","nativeEvent","actionName","handleBrightnessAction","actionProps","accessibilityActions","name","children","accessible","style","styles","saturationProxy","accessibilityRole","accessibilityValue","min","max","now","Math","round","text","accessibilityState","disabled","onAccessibilityAction","brightnessProxy","displayName","create","position","top","bottom","left","width","pointerEvents","right"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaAccessibility.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ import { VisuallyHidden } from '@react-aria/visually-hidden';
4
+ import { useColorAreaContext } from './context';
5
+ import { colorAreaValueText, snapColorChannel } from './utils';
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export function ColorAreaAccessibility({
8
+ accessibilityLabel
9
+ }) {
10
+ const {
11
+ value,
12
+ xValue,
13
+ yValue,
14
+ step,
15
+ isDisabled,
16
+ setXValue,
17
+ setYValue,
18
+ handleKeyDown
19
+ } = useColorAreaContext();
20
+ const handleInputKeyDown = event => {
21
+ handleKeyDown(event);
22
+ };
23
+ return /*#__PURE__*/_jsxs(_Fragment, {
24
+ children: [/*#__PURE__*/_jsx(VisuallyHidden, {
25
+ children: /*#__PURE__*/_jsx("input", {
26
+ type: "range",
27
+ min: 0,
28
+ max: 100,
29
+ step: step,
30
+ value: snapColorChannel(xValue, step),
31
+ disabled: isDisabled,
32
+ "aria-label": accessibilityLabel ? `${accessibilityLabel}, Saturation` : 'Saturation',
33
+ "aria-valuetext": colorAreaValueText(value),
34
+ onKeyDown: handleInputKeyDown,
35
+ onChange: event => setXValue(Number(event.currentTarget.value), true)
36
+ })
37
+ }), /*#__PURE__*/_jsx(VisuallyHidden, {
38
+ children: /*#__PURE__*/_jsx("input", {
39
+ type: "range",
40
+ min: 0,
41
+ max: 100,
42
+ step: step,
43
+ value: snapColorChannel(yValue, step),
44
+ disabled: isDisabled,
45
+ "aria-label": accessibilityLabel ? `${accessibilityLabel}, Brightness` : 'Brightness',
46
+ "aria-valuetext": colorAreaValueText(value),
47
+ onKeyDown: handleInputKeyDown,
48
+ onChange: event => setYValue(Number(event.currentTarget.value), true)
49
+ })
50
+ })]
51
+ });
52
+ }
53
+ ColorAreaAccessibility.displayName = 'ColorAreaAccessibility';
54
+ //# sourceMappingURL=ColorAreaAccessibility.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["VisuallyHidden","useColorAreaContext","colorAreaValueText","snapColorChannel","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ColorAreaAccessibility","accessibilityLabel","value","xValue","yValue","step","isDisabled","setXValue","setYValue","handleKeyDown","handleInputKeyDown","event","children","type","min","max","disabled","onKeyDown","onChange","Number","currentTarget","displayName"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaAccessibility.web.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAC5D,SAASC,mBAAmB,QAAQ,WAAW;AAE/C,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAM/D,OAAO,SAASC,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,GACpFlB,mBAAmB,CAAC,CAAC;EAEvB,MAAMmB,kBAAkB,GAAIC,KAA4C,IAAK;IAC3EF,aAAa,CAACE,KAA0C,CAAC;EAC3D,CAAC;EAED,oBACEZ,KAAA,CAAAF,SAAA;IAAAe,QAAA,gBACEjB,IAAA,CAACL,cAAc;MAAAsB,QAAA,eACbjB,IAAA;QACEkB,IAAI,EAAC,OAAO;QACZC,GAAG,EAAE,CAAE;QACPC,GAAG,EAAE,GAAI;QACTV,IAAI,EAAEA,IAAK;QACXH,KAAK,EAAET,gBAAgB,CAACU,MAAM,EAAEE,IAAI,CAAE;QACtCW,QAAQ,EAAEV,UAAW;QACrB,cAAYL,kBAAkB,GAAG,GAAGA,kBAAkB,cAAc,GAAG,YAAa;QACpF,kBAAgBT,kBAAkB,CAACU,KAAK,CAAE;QAC1Ce,SAAS,EAAEP,kBAAmB;QAC9BQ,QAAQ,EAAGP,KAAK,IAAKJ,SAAS,CAACY,MAAM,CAACR,KAAK,CAACS,aAAa,CAAClB,KAAK,CAAC,EAAE,IAAI;MAAE,CACzE;IAAC,CACY,CAAC,eACjBP,IAAA,CAACL,cAAc;MAAAsB,QAAA,eACbjB,IAAA;QACEkB,IAAI,EAAC,OAAO;QACZC,GAAG,EAAE,CAAE;QACPC,GAAG,EAAE,GAAI;QACTV,IAAI,EAAEA,IAAK;QACXH,KAAK,EAAET,gBAAgB,CAACW,MAAM,EAAEC,IAAI,CAAE;QACtCW,QAAQ,EAAEV,UAAW;QACrB,cAAYL,kBAAkB,GAAG,GAAGA,kBAAkB,cAAc,GAAG,YAAa;QACpF,kBAAgBT,kBAAkB,CAACU,KAAK,CAAE;QAC1Ce,SAAS,EAAEP,kBAAmB;QAC9BQ,QAAQ,EAAGP,KAAK,IAAKH,SAAS,CAACW,MAAM,CAACR,KAAK,CAACS,aAAa,CAAClB,KAAK,CAAC,EAAE,IAAI;MAAE,CACzE;IAAC,CACY,CAAC;EAAA,CACjB,CAAC;AAEP;AAEAF,sBAAsB,CAACqB,WAAW,GAAG,wBAAwB","ignoreList":[]}
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback, useMemo, useRef, useState } from 'react';
4
+ import { I18nManager, PanResponder, Platform, View } from 'react-native';
5
+ import { useControllableState } from '@cdx-ui/utils';
6
+ import { parseColor } from '../color';
7
+ import { useOptionalColorPickerContext } from '../color-picker';
8
+ import { Slot } from '../slot';
9
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
10
+ import { ColorAreaAccessibility } from './ColorAreaAccessibility';
11
+ import { ColorAreaProvider } from './context';
12
+ import { clampColorChannel, snapColorChannel } from './utils';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ function createDefaultColor() {
15
+ const color = parseColor('#FF0000');
16
+ if (!color) {
17
+ throw new Error('ColorArea default color could not be parsed');
18
+ }
19
+ return color;
20
+ }
21
+ const DEFAULT_COLOR = createDefaultColor();
22
+ const EMPTY_LAYOUT = {
23
+ width: 0,
24
+ height: 0
25
+ };
26
+ function getFinitePoint(event) {
27
+ const {
28
+ locationX: x,
29
+ locationY: y
30
+ } = event.nativeEvent;
31
+ return Number.isFinite(x) && Number.isFinite(y) ? {
32
+ x,
33
+ y
34
+ } : null;
35
+ }
36
+ export const ColorAreaRoot = /*#__PURE__*/forwardRef(({
37
+ asChild,
38
+ value: valueProp,
39
+ defaultValue,
40
+ onValueChange,
41
+ onValueChangeComplete,
42
+ colorSpace = 'hsb',
43
+ xChannel = 'saturation',
44
+ yChannel = 'brightness',
45
+ step = 1,
46
+ pageStep = 10,
47
+ isRTL = I18nManager.isRTL,
48
+ isDisabled = false,
49
+ accessibilityLabel,
50
+ children,
51
+ onLayout,
52
+ ...props
53
+ }, ref) => {
54
+ const picker = useOptionalColorPickerContext();
55
+ const usesPickerContext = picker !== null && valueProp === undefined && defaultValue === undefined;
56
+ const [localValue, setLocalValue] = useControllableState({
57
+ prop: valueProp,
58
+ defaultProp: defaultValue ?? DEFAULT_COLOR,
59
+ onChange: onValueChange
60
+ });
61
+ const value = (usesPickerContext ? picker.value : localValue) ?? DEFAULT_COLOR;
62
+ const [layout, setLayoutState] = useState(EMPTY_LAYOUT);
63
+ const [thumbSize, setThumbSizeState] = useState(EMPTY_LAYOUT);
64
+ const valueRef = useRef(value);
65
+ valueRef.current = value;
66
+ const layoutRef = useRef(layout);
67
+ layoutRef.current = layout;
68
+ const isDisabledRef = useRef(isDisabled);
69
+ isDisabledRef.current = isDisabled;
70
+ const setChannelsFromPointRef = useRef(undefined);
71
+ const lastValidPointRef = useRef(null);
72
+ const commitValue = useCallback((next, complete = false) => {
73
+ if (isDisabled) {
74
+ return;
75
+ }
76
+ valueRef.current = next;
77
+ if (usesPickerContext) {
78
+ onValueChange?.(next);
79
+ picker.onValueChange(next);
80
+ } else {
81
+ setLocalValue(next);
82
+ }
83
+ if (complete) {
84
+ onValueChangeComplete?.(next);
85
+ }
86
+ }, [isDisabled, onValueChange, onValueChangeComplete, picker, setLocalValue, usesPickerContext]);
87
+ const setXValue = useCallback((nextValue, complete = false) => {
88
+ commitValue(valueRef.current.withChannel(colorSpace, xChannel, snapColorChannel(nextValue, step)), complete);
89
+ }, [colorSpace, commitValue, step, xChannel]);
90
+ const setYValue = useCallback((nextValue, complete = false) => {
91
+ commitValue(valueRef.current.withChannel(colorSpace, yChannel, snapColorChannel(nextValue, step)), complete);
92
+ }, [colorSpace, commitValue, step, yChannel]);
93
+ const setChannelsFromPoint = useCallback((x, y, complete = false) => {
94
+ const currentLayout = layoutRef.current;
95
+ if (isDisabledRef.current || !Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(currentLayout.width) || !Number.isFinite(currentLayout.height) || currentLayout.width <= 0 || currentLayout.height <= 0) {
96
+ return;
97
+ }
98
+ const visualXRatio = clampColorChannel(x, 0, currentLayout.width) / currentLayout.width;
99
+ const xRatio = isRTL ? 1 - visualXRatio : visualXRatio;
100
+ const yRatio = 1 - clampColorChannel(y, 0, currentLayout.height) / currentLayout.height;
101
+ const next = valueRef.current.withChannel(colorSpace, xChannel, xRatio * 100).withChannel(colorSpace, yChannel, yRatio * 100);
102
+ commitValue(next, complete);
103
+ }, [colorSpace, commitValue, isRTL, xChannel, yChannel]);
104
+ setChannelsFromPointRef.current = setChannelsFromPoint;
105
+ const handleKeyDown = useCallback(event => {
106
+ if (isDisabled) {
107
+ return;
108
+ }
109
+ const key = event.nativeEvent?.key ?? event.key;
110
+ const shiftKey = event.nativeEvent?.shiftKey ?? event.shiftKey;
111
+ const increment = shiftKey ? pageStep : step;
112
+ const currentX = valueRef.current.getChannel(colorSpace, xChannel);
113
+ const currentY = valueRef.current.getChannel(colorSpace, yChannel);
114
+ let handled = true;
115
+ if (key === 'ArrowLeft') {
116
+ setXValue(currentX + (isRTL ? increment : -increment), true);
117
+ } else if (key === 'ArrowRight') {
118
+ setXValue(currentX + (isRTL ? -increment : increment), true);
119
+ } else if (key === 'ArrowUp') {
120
+ setYValue(currentY + increment, true);
121
+ } else if (key === 'ArrowDown') {
122
+ setYValue(currentY - increment, true);
123
+ } else if (key === 'PageUp') {
124
+ setYValue(currentY + pageStep, true);
125
+ } else if (key === 'PageDown') {
126
+ setYValue(currentY - pageStep, true);
127
+ } else if (key === 'Home') {
128
+ setXValue(currentX + (isRTL ? pageStep : -pageStep), true);
129
+ } else if (key === 'End') {
130
+ setXValue(currentX + (isRTL ? -pageStep : pageStep), true);
131
+ } else {
132
+ handled = false;
133
+ }
134
+ if (handled) {
135
+ event.preventDefault?.();
136
+ }
137
+ }, [colorSpace, isDisabled, isRTL, pageStep, setXValue, setYValue, step, xChannel, yChannel]);
138
+ const panResponder = useMemo(() => {
139
+ const updateFromEvent = (event, complete = false) => {
140
+ const point = getFinitePoint(event);
141
+ if (point) {
142
+ lastValidPointRef.current = point;
143
+ }
144
+ const resolvedPoint = point ?? lastValidPointRef.current;
145
+ if (resolvedPoint) {
146
+ setChannelsFromPointRef.current?.(resolvedPoint.x, resolvedPoint.y, complete);
147
+ }
148
+ };
149
+ return PanResponder.create({
150
+ onStartShouldSetPanResponder: () => !isDisabledRef.current,
151
+ onMoveShouldSetPanResponder: () => !isDisabledRef.current,
152
+ onPanResponderTerminationRequest: () => false,
153
+ onShouldBlockNativeResponder: () => true,
154
+ onPanResponderGrant: event => {
155
+ lastValidPointRef.current = null;
156
+ updateFromEvent(event);
157
+ },
158
+ onPanResponderMove: event => {
159
+ updateFromEvent(event);
160
+ },
161
+ onPanResponderRelease: event => {
162
+ updateFromEvent(event, true);
163
+ lastValidPointRef.current = null;
164
+ },
165
+ onPanResponderTerminate: event => {
166
+ updateFromEvent(event, true);
167
+ lastValidPointRef.current = null;
168
+ }
169
+ });
170
+ }, []);
171
+ const setLayout = useCallback(next => {
172
+ setLayoutState(previous => previous.width === next.width && previous.height === next.height ? previous : next);
173
+ }, []);
174
+ const setThumbSize = useCallback(next => {
175
+ setThumbSizeState(previous => previous.width === next.width && previous.height === next.height ? previous : next);
176
+ }, []);
177
+ const handleLayout = useCallback(event => {
178
+ const {
179
+ width,
180
+ height
181
+ } = event.nativeEvent.layout;
182
+ setLayout({
183
+ width,
184
+ height
185
+ });
186
+ onLayout?.(event);
187
+ }, [onLayout, setLayout]);
188
+ const xValue = value.getChannel(colorSpace, xChannel);
189
+ const yValue = value.getChannel(colorSpace, yChannel);
190
+ const contextValue = useMemo(() => ({
191
+ value,
192
+ xValue,
193
+ yValue,
194
+ xPercent: clampColorChannel(xValue),
195
+ yPercent: clampColorChannel(yValue),
196
+ layout,
197
+ thumbSize,
198
+ isRTL,
199
+ isDisabled,
200
+ step,
201
+ pageStep,
202
+ setLayout,
203
+ setThumbSize,
204
+ setChannelsFromPoint,
205
+ setXValue,
206
+ setYValue,
207
+ handleKeyDown
208
+ }), [handleKeyDown, isDisabled, isRTL, layout, pageStep, setChannelsFromPoint, setLayout, setThumbSize, setXValue, setYValue, step, thumbSize, value, xValue, yValue]);
209
+ const Comp = asChild ? Slot : View;
210
+ return /*#__PURE__*/_jsx(ColorAreaProvider, {
211
+ value: contextValue,
212
+ children: /*#__PURE__*/_jsxs(Comp, {
213
+ ref: ref,
214
+ ...props,
215
+ ...panResponder.panHandlers,
216
+ onLayout: handleLayout,
217
+ role: Platform.OS === 'web' ? 'group' : undefined,
218
+ "aria-label": props['aria-label'] ?? accessibilityLabel,
219
+ accessibilityLabel: accessibilityLabel,
220
+ accessibilityState: {
221
+ disabled: isDisabled
222
+ },
223
+ ...mergeDataAttributes(props, dataAttributes({
224
+ disabled: isDisabled,
225
+ colorSpace,
226
+ xChannel,
227
+ yChannel
228
+ })),
229
+ children: [children, /*#__PURE__*/_jsx(ColorAreaAccessibility, {
230
+ accessibilityLabel: accessibilityLabel
231
+ })]
232
+ })
233
+ });
234
+ });
235
+ ColorAreaRoot.displayName = 'ColorAreaRoot';
236
+ //# sourceMappingURL=ColorAreaRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useMemo","useRef","useState","I18nManager","PanResponder","Platform","View","useControllableState","parseColor","useOptionalColorPickerContext","Slot","dataAttributes","mergeDataAttributes","ColorAreaAccessibility","ColorAreaProvider","clampColorChannel","snapColorChannel","jsx","_jsx","jsxs","_jsxs","createDefaultColor","color","Error","DEFAULT_COLOR","EMPTY_LAYOUT","width","height","getFinitePoint","event","locationX","x","locationY","y","nativeEvent","Number","isFinite","ColorAreaRoot","asChild","value","valueProp","defaultValue","onValueChange","onValueChangeComplete","colorSpace","xChannel","yChannel","step","pageStep","isRTL","isDisabled","accessibilityLabel","children","onLayout","props","ref","picker","usesPickerContext","undefined","localValue","setLocalValue","prop","defaultProp","onChange","layout","setLayoutState","thumbSize","setThumbSizeState","valueRef","current","layoutRef","isDisabledRef","setChannelsFromPointRef","lastValidPointRef","commitValue","next","complete","setXValue","nextValue","withChannel","setYValue","setChannelsFromPoint","currentLayout","visualXRatio","xRatio","yRatio","handleKeyDown","key","shiftKey","increment","currentX","getChannel","currentY","handled","preventDefault","panResponder","updateFromEvent","point","resolvedPoint","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onShouldBlockNativeResponder","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","setLayout","previous","setThumbSize","handleLayout","xValue","yValue","contextValue","xPercent","yPercent","Comp","panHandlers","role","OS","accessibilityState","disabled","displayName"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback, useMemo } from 'react';
4
+ import { View } from 'react-native';
5
+ import { Slot } from '../slot';
6
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
7
+ import { useColorAreaContext } from './context';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export const ColorAreaThumb = /*#__PURE__*/forwardRef(({
10
+ asChild,
11
+ style,
12
+ onLayout,
13
+ children,
14
+ ...props
15
+ }, ref) => {
16
+ const {
17
+ xPercent,
18
+ yPercent,
19
+ layout,
20
+ thumbSize,
21
+ isRTL,
22
+ setThumbSize
23
+ } = useColorAreaContext();
24
+ const positionStyle = useMemo(() => {
25
+ const visualXPercent = isRTL ? 100 - xPercent : xPercent;
26
+ const translateX = visualXPercent / 100 * layout.width - thumbSize.width / 2;
27
+ const translateY = (100 - yPercent) / 100 * layout.height - thumbSize.height / 2;
28
+ return {
29
+ position: 'absolute',
30
+ top: 0,
31
+ left: 0,
32
+ pointerEvents: 'none',
33
+ transform: [{
34
+ translateX
35
+ }, {
36
+ translateY
37
+ }]
38
+ };
39
+ }, [isRTL, layout.height, layout.width, thumbSize.height, thumbSize.width, xPercent, yPercent]);
40
+ const handleLayout = useCallback(event => {
41
+ const {
42
+ width,
43
+ height
44
+ } = event.nativeEvent.layout;
45
+ setThumbSize({
46
+ width,
47
+ height
48
+ });
49
+ onLayout?.(event);
50
+ }, [onLayout, setThumbSize]);
51
+ const Comp = asChild ? Slot : View;
52
+ return /*#__PURE__*/_jsx(Comp, {
53
+ ref: ref,
54
+ ...props,
55
+ accessible: false,
56
+ accessibilityElementsHidden: true,
57
+ importantForAccessibility: "no-hide-descendants",
58
+ onLayout: handleLayout,
59
+ style: [positionStyle, style],
60
+ ...mergeDataAttributes(props, dataAttributes({
61
+ slot: 'color-area-thumb'
62
+ })),
63
+ children: children
64
+ });
65
+ });
66
+ ColorAreaThumb.displayName = 'ColorAreaThumb';
67
+ //# sourceMappingURL=ColorAreaThumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useMemo","View","Slot","dataAttributes","mergeDataAttributes","useColorAreaContext","jsx","_jsx","ColorAreaThumb","asChild","style","onLayout","children","props","ref","xPercent","yPercent","layout","thumbSize","isRTL","setThumbSize","positionStyle","visualXPercent","translateX","width","translateY","height","position","top","left","pointerEvents","transform","handleLayout","event","nativeEvent","Comp","accessible","accessibilityElementsHidden","importantForAccessibility","slot","displayName"],"sourceRoot":"../../../src","sources":["color-area/ColorAreaThumb.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACxD,SAASC,IAAI,QAAgD,cAAc;AAC3E,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC7E,SAASC,mBAAmB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKhD,OAAO,MAAMC,cAAc,gBAAGV,UAAU,CACtC,CAAC;EAAEW,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,GAAGf,mBAAmB,CAAC,CAAC;EAE5F,MAAMgB,aAAa,GAAGrB,OAAO,CAAY,MAAM;IAC7C,MAAMsB,cAAc,GAAGH,KAAK,GAAG,GAAG,GAAGJ,QAAQ,GAAGA,QAAQ;IACxD,MAAMQ,UAAU,GAAID,cAAc,GAAG,GAAG,GAAIL,MAAM,CAACO,KAAK,GAAGN,SAAS,CAACM,KAAK,GAAG,CAAC;IAC9E,MAAMC,UAAU,GAAI,CAAC,GAAG,GAAGT,QAAQ,IAAI,GAAG,GAAIC,MAAM,CAACS,MAAM,GAAGR,SAAS,CAACQ,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,CAACN,KAAK,EAAEF,MAAM,CAACS,MAAM,EAAET,MAAM,CAACO,KAAK,EAAEN,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACM,KAAK,EAAET,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAE/F,MAAMgB,YAAY,GAAGjC,WAAW,CAC7BkC,KAAwB,IAAK;IAC5B,MAAM;MAAET,KAAK;MAAEE;IAAO,CAAC,GAAGO,KAAK,CAACC,WAAW,CAACjB,MAAM;IAClDG,YAAY,CAAC;MAAEI,KAAK;MAAEE;IAAO,CAAC,CAAC;IAC/Bf,QAAQ,GAAGsB,KAAK,CAAC;EACnB,CAAC,EACD,CAACtB,QAAQ,EAAES,YAAY,CACzB,CAAC;EAED,MAAMe,IAAI,GAAG1B,OAAO,GAAGP,IAAI,GAAGD,IAAI;EAElC,oBACEM,IAAA,CAAC4B,IAAI;IACHrB,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACTuB,UAAU,EAAE,KAAM;IAClBC,2BAA2B;IAC3BC,yBAAyB,EAAC,qBAAqB;IAC/C3B,QAAQ,EAAEqB,YAAa;IACvBtB,KAAK,EAAE,CAACW,aAAa,EAAEX,KAAK,CAAE;IAAA,GAC1BN,mBAAmB,CAACS,KAAK,EAAEV,cAAc,CAAC;MAAEoC,IAAI,EAAE;IAAmB,CAAC,CAAC,CAAC;IAAA3B,QAAA,EAE3EA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDJ,cAAc,CAACgC,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { createContext } from '@cdx-ui/utils';
4
+ export const [ColorAreaProvider, useColorAreaContext] = createContext('ColorAreaContext');
5
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","ColorAreaProvider","useColorAreaContext"],"sourceRoot":"../../../src","sources":["color-area/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,eAAe;AAG7C,OAAO,MAAM,CAACC,iBAAiB,EAAEC,mBAAmB,CAAC,GACnDF,aAAa,CAAwB,kBAAkB,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export { ColorAreaRoot } from './ColorAreaRoot';
4
+ export { ColorAreaThumb } from './ColorAreaThumb';
5
+ export { useColorAreaContext } from './context';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ColorAreaRoot","ColorAreaThumb","useColorAreaContext"],"sourceRoot":"../../../src","sources":["color-area/index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAiC,iBAAiB;AACxE,SAASC,cAAc,QAAkC,kBAAkB;AAC3E,SAASC,mBAAmB,QAAQ,WAAW","ignoreList":[]}