@cdx-ui/primitives 0.1.7 → 0.2.1

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 (321) hide show
  1. package/lib/commonjs/calendar/CalendarRoot.js +3 -1
  2. package/lib/commonjs/calendar/CalendarRoot.js.map +1 -1
  3. package/lib/commonjs/calendar/context.js.map +1 -1
  4. package/lib/commonjs/color/Color.js +69 -0
  5. package/lib/commonjs/color/Color.js.map +1 -0
  6. package/lib/commonjs/color/index.js +13 -0
  7. package/lib/commonjs/color/index.js.map +1 -0
  8. package/lib/commonjs/color/types.js +2 -0
  9. package/lib/commonjs/color/types.js.map +1 -0
  10. package/lib/commonjs/color-area/ColorAreaAccessibility.js +100 -0
  11. package/lib/commonjs/color-area/ColorAreaAccessibility.js.map +1 -0
  12. package/lib/commonjs/color-area/ColorAreaAccessibility.web.js +58 -0
  13. package/lib/commonjs/color-area/ColorAreaAccessibility.web.js.map +1 -0
  14. package/lib/commonjs/color-area/ColorAreaRoot.js +240 -0
  15. package/lib/commonjs/color-area/ColorAreaRoot.js.map +1 -0
  16. package/lib/commonjs/color-area/ColorAreaThumb.js +71 -0
  17. package/lib/commonjs/color-area/ColorAreaThumb.js.map +1 -0
  18. package/lib/commonjs/color-area/context.js +11 -0
  19. package/lib/commonjs/color-area/context.js.map +1 -0
  20. package/lib/commonjs/color-area/index.js +27 -0
  21. package/lib/commonjs/color-area/index.js.map +1 -0
  22. package/lib/commonjs/color-area/types.js +6 -0
  23. package/lib/commonjs/color-area/types.js.map +1 -0
  24. package/lib/commonjs/color-area/utils.js +51 -0
  25. package/lib/commonjs/color-area/utils.js.map +1 -0
  26. package/lib/commonjs/color-field/ColorFieldInput.js +67 -0
  27. package/lib/commonjs/color-field/ColorFieldInput.js.map +1 -0
  28. package/lib/commonjs/color-field/ColorFieldRoot.js +104 -0
  29. package/lib/commonjs/color-field/ColorFieldRoot.js.map +1 -0
  30. package/lib/commonjs/color-field/context.js +11 -0
  31. package/lib/commonjs/color-field/context.js.map +1 -0
  32. package/lib/commonjs/color-field/index.js +27 -0
  33. package/lib/commonjs/color-field/index.js.map +1 -0
  34. package/lib/commonjs/color-field/types.js +6 -0
  35. package/lib/commonjs/color-field/types.js.map +1 -0
  36. package/lib/commonjs/color-field/utils.js +60 -0
  37. package/lib/commonjs/color-field/utils.js.map +1 -0
  38. package/lib/commonjs/color-picker/ColorPickerRoot.js +69 -0
  39. package/lib/commonjs/color-picker/ColorPickerRoot.js.map +1 -0
  40. package/lib/commonjs/color-picker/ColorPickerTrigger.js +98 -0
  41. package/lib/commonjs/color-picker/ColorPickerTrigger.js.map +1 -0
  42. package/lib/commonjs/color-picker/context.js +32 -0
  43. package/lib/commonjs/color-picker/context.js.map +1 -0
  44. package/lib/commonjs/color-picker/index.js +51 -0
  45. package/lib/commonjs/color-picker/index.js.map +1 -0
  46. package/lib/commonjs/color-picker/types.js +6 -0
  47. package/lib/commonjs/color-picker/types.js.map +1 -0
  48. package/lib/commonjs/color-slider/ColorSliderRail.js +119 -0
  49. package/lib/commonjs/color-slider/ColorSliderRail.js.map +1 -0
  50. package/lib/commonjs/color-slider/ColorSliderRoot.js +153 -0
  51. package/lib/commonjs/color-slider/ColorSliderRoot.js.map +1 -0
  52. package/lib/commonjs/color-slider/ColorSliderThumb.js +265 -0
  53. package/lib/commonjs/color-slider/ColorSliderThumb.js.map +1 -0
  54. package/lib/commonjs/color-slider/context.js +11 -0
  55. package/lib/commonjs/color-slider/context.js.map +1 -0
  56. package/lib/commonjs/color-slider/index.js +34 -0
  57. package/lib/commonjs/color-slider/index.js.map +1 -0
  58. package/lib/commonjs/color-slider/types.js +6 -0
  59. package/lib/commonjs/color-slider/types.js.map +1 -0
  60. package/lib/commonjs/color-slider/utils.js +75 -0
  61. package/lib/commonjs/color-slider/utils.js.map +1 -0
  62. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerItem.js +46 -0
  63. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerItem.js.map +1 -0
  64. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerRoot.js +71 -0
  65. package/lib/commonjs/color-swatch-picker/ColorSwatchPickerRoot.js.map +1 -0
  66. package/lib/commonjs/color-swatch-picker/context.js +22 -0
  67. package/lib/commonjs/color-swatch-picker/context.js.map +1 -0
  68. package/lib/commonjs/color-swatch-picker/index.js +33 -0
  69. package/lib/commonjs/color-swatch-picker/index.js.map +1 -0
  70. package/lib/commonjs/color-swatch-picker/types.js +6 -0
  71. package/lib/commonjs/color-swatch-picker/types.js.map +1 -0
  72. package/lib/commonjs/date-field/DateFieldRoot.js +5 -1
  73. package/lib/commonjs/date-field/DateFieldRoot.js.map +1 -1
  74. package/lib/commonjs/date-field/DateFieldSegment.js +7 -1
  75. package/lib/commonjs/date-field/DateFieldSegment.js.map +1 -1
  76. package/lib/commonjs/date-field/context.js.map +1 -1
  77. package/lib/commonjs/date-picker/DatePickerRoot.js +59 -13
  78. package/lib/commonjs/date-picker/DatePickerRoot.js.map +1 -1
  79. package/lib/commonjs/date-picker/context.js.map +1 -1
  80. package/lib/commonjs/index.js +80 -0
  81. package/lib/commonjs/index.js.map +1 -1
  82. package/lib/commonjs/react-native-web.d.js +2 -0
  83. package/lib/commonjs/react-native-web.d.js.map +1 -0
  84. package/lib/commonjs/slider/useSliderPointer.js +2 -0
  85. package/lib/commonjs/slider/useSliderPointer.js.map +1 -1
  86. package/lib/commonjs/utils/createPortal.web.js +10 -1
  87. package/lib/commonjs/utils/createPortal.web.js.map +1 -1
  88. package/lib/commonjs/utils/textAncestor.js +25 -0
  89. package/lib/commonjs/utils/textAncestor.js.map +1 -0
  90. package/lib/commonjs/utils/textAncestor.web.js +27 -0
  91. package/lib/commonjs/utils/textAncestor.web.js.map +1 -0
  92. package/lib/module/calendar/CalendarRoot.js +3 -1
  93. package/lib/module/calendar/CalendarRoot.js.map +1 -1
  94. package/lib/module/calendar/context.js.map +1 -1
  95. package/lib/module/color/Color.js +65 -0
  96. package/lib/module/color/Color.js.map +1 -0
  97. package/lib/module/color/index.js +4 -0
  98. package/lib/module/color/index.js.map +1 -0
  99. package/lib/module/color/types.js +2 -0
  100. package/lib/module/color/types.js.map +1 -0
  101. package/lib/module/color-area/ColorAreaAccessibility.js +96 -0
  102. package/lib/module/color-area/ColorAreaAccessibility.js.map +1 -0
  103. package/lib/module/color-area/ColorAreaAccessibility.web.js +54 -0
  104. package/lib/module/color-area/ColorAreaAccessibility.web.js.map +1 -0
  105. package/lib/module/color-area/ColorAreaRoot.js +236 -0
  106. package/lib/module/color-area/ColorAreaRoot.js.map +1 -0
  107. package/lib/module/color-area/ColorAreaThumb.js +67 -0
  108. package/lib/module/color-area/ColorAreaThumb.js.map +1 -0
  109. package/lib/module/color-area/context.js +5 -0
  110. package/lib/module/color-area/context.js.map +1 -0
  111. package/lib/module/color-area/index.js +6 -0
  112. package/lib/module/color-area/index.js.map +1 -0
  113. package/lib/module/color-area/types.js +4 -0
  114. package/lib/module/color-area/types.js.map +1 -0
  115. package/lib/module/color-area/utils.js +45 -0
  116. package/lib/module/color-area/utils.js.map +1 -0
  117. package/lib/module/color-field/ColorFieldInput.js +63 -0
  118. package/lib/module/color-field/ColorFieldInput.js.map +1 -0
  119. package/lib/module/color-field/ColorFieldRoot.js +100 -0
  120. package/lib/module/color-field/ColorFieldRoot.js.map +1 -0
  121. package/lib/module/color-field/context.js +5 -0
  122. package/lib/module/color-field/context.js.map +1 -0
  123. package/lib/module/color-field/index.js +6 -0
  124. package/lib/module/color-field/index.js.map +1 -0
  125. package/lib/module/color-field/types.js +4 -0
  126. package/lib/module/color-field/types.js.map +1 -0
  127. package/lib/module/color-field/utils.js +55 -0
  128. package/lib/module/color-field/utils.js.map +1 -0
  129. package/lib/module/color-picker/ColorPickerRoot.js +65 -0
  130. package/lib/module/color-picker/ColorPickerRoot.js.map +1 -0
  131. package/lib/module/color-picker/ColorPickerTrigger.js +94 -0
  132. package/lib/module/color-picker/ColorPickerTrigger.js.map +1 -0
  133. package/lib/module/color-picker/context.js +25 -0
  134. package/lib/module/color-picker/context.js.map +1 -0
  135. package/lib/module/color-picker/index.js +6 -0
  136. package/lib/module/color-picker/index.js.map +1 -0
  137. package/lib/module/color-picker/types.js +4 -0
  138. package/lib/module/color-picker/types.js.map +1 -0
  139. package/lib/module/color-slider/ColorSliderRail.js +115 -0
  140. package/lib/module/color-slider/ColorSliderRail.js.map +1 -0
  141. package/lib/module/color-slider/ColorSliderRoot.js +149 -0
  142. package/lib/module/color-slider/ColorSliderRoot.js.map +1 -0
  143. package/lib/module/color-slider/ColorSliderThumb.js +261 -0
  144. package/lib/module/color-slider/ColorSliderThumb.js.map +1 -0
  145. package/lib/module/color-slider/context.js +5 -0
  146. package/lib/module/color-slider/context.js.map +1 -0
  147. package/lib/module/color-slider/index.js +7 -0
  148. package/lib/module/color-slider/index.js.map +1 -0
  149. package/lib/module/color-slider/types.js +4 -0
  150. package/lib/module/color-slider/types.js.map +1 -0
  151. package/lib/module/color-slider/utils.js +66 -0
  152. package/lib/module/color-slider/utils.js.map +1 -0
  153. package/lib/module/color-swatch-picker/ColorSwatchPickerItem.js +42 -0
  154. package/lib/module/color-swatch-picker/ColorSwatchPickerItem.js.map +1 -0
  155. package/lib/module/color-swatch-picker/ColorSwatchPickerRoot.js +67 -0
  156. package/lib/module/color-swatch-picker/ColorSwatchPickerRoot.js.map +1 -0
  157. package/lib/module/color-swatch-picker/context.js +15 -0
  158. package/lib/module/color-swatch-picker/context.js.map +1 -0
  159. package/lib/module/color-swatch-picker/index.js +6 -0
  160. package/lib/module/color-swatch-picker/index.js.map +1 -0
  161. package/lib/module/color-swatch-picker/types.js +4 -0
  162. package/lib/module/color-swatch-picker/types.js.map +1 -0
  163. package/lib/module/date-field/DateFieldRoot.js +6 -2
  164. package/lib/module/date-field/DateFieldRoot.js.map +1 -1
  165. package/lib/module/date-field/DateFieldSegment.js +7 -1
  166. package/lib/module/date-field/DateFieldSegment.js.map +1 -1
  167. package/lib/module/date-field/context.js.map +1 -1
  168. package/lib/module/date-picker/DatePickerRoot.js +62 -16
  169. package/lib/module/date-picker/DatePickerRoot.js.map +1 -1
  170. package/lib/module/date-picker/context.js.map +1 -1
  171. package/lib/module/index.js +7 -0
  172. package/lib/module/index.js.map +1 -1
  173. package/lib/module/react-native-web.d.js +2 -0
  174. package/lib/module/react-native-web.d.js.map +1 -0
  175. package/lib/module/slider/useSliderPointer.js +2 -0
  176. package/lib/module/slider/useSliderPointer.js.map +1 -1
  177. package/lib/module/utils/createPortal.web.js +9 -1
  178. package/lib/module/utils/createPortal.web.js.map +1 -1
  179. package/lib/module/utils/textAncestor.js +20 -0
  180. package/lib/module/utils/textAncestor.js.map +1 -0
  181. package/lib/module/utils/textAncestor.web.js +22 -0
  182. package/lib/module/utils/textAncestor.web.js.map +1 -0
  183. package/lib/typescript/calendar/CalendarRoot.d.ts.map +1 -1
  184. package/lib/typescript/calendar/context.d.ts +1 -0
  185. package/lib/typescript/calendar/context.d.ts.map +1 -1
  186. package/lib/typescript/calendar/types.d.ts +7 -0
  187. package/lib/typescript/calendar/types.d.ts.map +1 -1
  188. package/lib/typescript/color/Color.d.ts +3 -0
  189. package/lib/typescript/color/Color.d.ts.map +1 -0
  190. package/lib/typescript/color/index.d.ts +3 -0
  191. package/lib/typescript/color/index.d.ts.map +1 -0
  192. package/lib/typescript/color/types.d.ts +13 -0
  193. package/lib/typescript/color/types.d.ts.map +1 -0
  194. package/lib/typescript/color-area/ColorAreaAccessibility.d.ts +8 -0
  195. package/lib/typescript/color-area/ColorAreaAccessibility.d.ts.map +1 -0
  196. package/lib/typescript/color-area/ColorAreaAccessibility.web.d.ts +8 -0
  197. package/lib/typescript/color-area/ColorAreaAccessibility.web.d.ts.map +1 -0
  198. package/lib/typescript/color-area/ColorAreaRoot.d.ts +7 -0
  199. package/lib/typescript/color-area/ColorAreaRoot.d.ts.map +1 -0
  200. package/lib/typescript/color-area/ColorAreaThumb.d.ts +6 -0
  201. package/lib/typescript/color-area/ColorAreaThumb.d.ts.map +1 -0
  202. package/lib/typescript/color-area/context.d.ts +6 -0
  203. package/lib/typescript/color-area/context.d.ts.map +1 -0
  204. package/lib/typescript/color-area/index.d.ts +5 -0
  205. package/lib/typescript/color-area/index.d.ts.map +1 -0
  206. package/lib/typescript/color-area/types.d.ts +65 -0
  207. package/lib/typescript/color-area/types.d.ts.map +1 -0
  208. package/lib/typescript/color-area/utils.d.ts +5 -0
  209. package/lib/typescript/color-area/utils.d.ts.map +1 -0
  210. package/lib/typescript/color-field/ColorFieldInput.d.ts +5 -0
  211. package/lib/typescript/color-field/ColorFieldInput.d.ts.map +1 -0
  212. package/lib/typescript/color-field/ColorFieldRoot.d.ts +7 -0
  213. package/lib/typescript/color-field/ColorFieldRoot.d.ts.map +1 -0
  214. package/lib/typescript/color-field/context.d.ts +6 -0
  215. package/lib/typescript/color-field/context.d.ts.map +1 -0
  216. package/lib/typescript/color-field/index.d.ts +7 -0
  217. package/lib/typescript/color-field/index.d.ts.map +1 -0
  218. package/lib/typescript/color-field/types.d.ts +39 -0
  219. package/lib/typescript/color-field/types.d.ts.map +1 -0
  220. package/lib/typescript/color-field/utils.d.ts +5 -0
  221. package/lib/typescript/color-field/utils.d.ts.map +1 -0
  222. package/lib/typescript/color-picker/ColorPickerRoot.d.ts +7 -0
  223. package/lib/typescript/color-picker/ColorPickerRoot.d.ts.map +1 -0
  224. package/lib/typescript/color-picker/ColorPickerTrigger.d.ts +4 -0
  225. package/lib/typescript/color-picker/ColorPickerTrigger.d.ts.map +1 -0
  226. package/lib/typescript/color-picker/context.d.ts +19 -0
  227. package/lib/typescript/color-picker/context.d.ts.map +1 -0
  228. package/lib/typescript/color-picker/index.d.ts +5 -0
  229. package/lib/typescript/color-picker/index.d.ts.map +1 -0
  230. package/lib/typescript/color-picker/types.d.ts +24 -0
  231. package/lib/typescript/color-picker/types.d.ts.map +1 -0
  232. package/lib/typescript/color-slider/ColorSliderRail.d.ts +6 -0
  233. package/lib/typescript/color-slider/ColorSliderRail.d.ts.map +1 -0
  234. package/lib/typescript/color-slider/ColorSliderRoot.d.ts +7 -0
  235. package/lib/typescript/color-slider/ColorSliderRoot.d.ts.map +1 -0
  236. package/lib/typescript/color-slider/ColorSliderThumb.d.ts +6 -0
  237. package/lib/typescript/color-slider/ColorSliderThumb.d.ts.map +1 -0
  238. package/lib/typescript/color-slider/context.d.ts +6 -0
  239. package/lib/typescript/color-slider/context.d.ts.map +1 -0
  240. package/lib/typescript/color-slider/index.d.ts +6 -0
  241. package/lib/typescript/color-slider/index.d.ts.map +1 -0
  242. package/lib/typescript/color-slider/types.d.ts +82 -0
  243. package/lib/typescript/color-slider/types.d.ts.map +1 -0
  244. package/lib/typescript/color-slider/utils.d.ts +12 -0
  245. package/lib/typescript/color-slider/utils.d.ts.map +1 -0
  246. package/lib/typescript/color-swatch-picker/ColorSwatchPickerItem.d.ts +6 -0
  247. package/lib/typescript/color-swatch-picker/ColorSwatchPickerItem.d.ts.map +1 -0
  248. package/lib/typescript/color-swatch-picker/ColorSwatchPickerRoot.d.ts +7 -0
  249. package/lib/typescript/color-swatch-picker/ColorSwatchPickerRoot.d.ts.map +1 -0
  250. package/lib/typescript/color-swatch-picker/context.d.ts +8 -0
  251. package/lib/typescript/color-swatch-picker/context.d.ts.map +1 -0
  252. package/lib/typescript/color-swatch-picker/index.d.ts +5 -0
  253. package/lib/typescript/color-swatch-picker/index.d.ts.map +1 -0
  254. package/lib/typescript/color-swatch-picker/types.d.ts +26 -0
  255. package/lib/typescript/color-swatch-picker/types.d.ts.map +1 -0
  256. package/lib/typescript/date-field/DateFieldRoot.d.ts.map +1 -1
  257. package/lib/typescript/date-field/DateFieldSegment.d.ts.map +1 -1
  258. package/lib/typescript/date-field/context.d.ts +2 -0
  259. package/lib/typescript/date-field/context.d.ts.map +1 -1
  260. package/lib/typescript/date-picker/DatePickerRoot.d.ts +29 -3
  261. package/lib/typescript/date-picker/DatePickerRoot.d.ts.map +1 -1
  262. package/lib/typescript/date-picker/context.d.ts +1 -0
  263. package/lib/typescript/date-picker/context.d.ts.map +1 -1
  264. package/lib/typescript/index.d.ts +7 -0
  265. package/lib/typescript/index.d.ts.map +1 -1
  266. package/lib/typescript/slider/useSliderPointer.d.ts.map +1 -1
  267. package/lib/typescript/utils/createPortal.web.d.ts +6 -2
  268. package/lib/typescript/utils/createPortal.web.d.ts.map +1 -1
  269. package/lib/typescript/utils/textAncestor.d.ts +13 -0
  270. package/lib/typescript/utils/textAncestor.d.ts.map +1 -0
  271. package/lib/typescript/utils/textAncestor.web.d.ts +15 -0
  272. package/lib/typescript/utils/textAncestor.web.d.ts.map +1 -0
  273. package/package.json +4 -3
  274. package/src/calendar/CalendarRoot.tsx +3 -0
  275. package/src/calendar/context.tsx +1 -0
  276. package/src/calendar/types.ts +7 -0
  277. package/src/color/Color.ts +95 -0
  278. package/src/color/index.ts +2 -0
  279. package/src/color/types.ts +19 -0
  280. package/src/color-area/ColorAreaAccessibility.tsx +94 -0
  281. package/src/color-area/ColorAreaAccessibility.web.tsx +52 -0
  282. package/src/color-area/ColorAreaRoot.tsx +326 -0
  283. package/src/color-area/ColorAreaThumb.tsx +56 -0
  284. package/src/color-area/context.tsx +5 -0
  285. package/src/color-area/index.ts +10 -0
  286. package/src/color-area/types.ts +69 -0
  287. package/src/color-area/utils.ts +51 -0
  288. package/src/color-field/ColorFieldInput.tsx +66 -0
  289. package/src/color-field/ColorFieldRoot.tsx +132 -0
  290. package/src/color-field/context.tsx +5 -0
  291. package/src/color-field/index.ts +11 -0
  292. package/src/color-field/types.ts +46 -0
  293. package/src/color-field/utils.ts +75 -0
  294. package/src/color-picker/ColorPickerRoot.tsx +91 -0
  295. package/src/color-picker/ColorPickerTrigger.tsx +96 -0
  296. package/src/color-picker/context.tsx +47 -0
  297. package/src/color-picker/index.ts +12 -0
  298. package/src/color-picker/types.ts +25 -0
  299. package/src/color-slider/ColorSliderRail.tsx +130 -0
  300. package/src/color-slider/ColorSliderRoot.tsx +222 -0
  301. package/src/color-slider/ColorSliderThumb.tsx +294 -0
  302. package/src/color-slider/context.tsx +5 -0
  303. package/src/color-slider/index.ts +16 -0
  304. package/src/color-slider/types.ts +94 -0
  305. package/src/color-slider/utils.ts +79 -0
  306. package/src/color-swatch-picker/ColorSwatchPickerItem.tsx +54 -0
  307. package/src/color-swatch-picker/ColorSwatchPickerRoot.tsx +94 -0
  308. package/src/color-swatch-picker/context.tsx +22 -0
  309. package/src/color-swatch-picker/index.ts +4 -0
  310. package/src/color-swatch-picker/types.ts +29 -0
  311. package/src/date-field/DateFieldRoot.tsx +4 -1
  312. package/src/date-field/DateFieldSegment.tsx +19 -3
  313. package/src/date-field/context.tsx +2 -0
  314. package/src/date-picker/DatePickerRoot.tsx +127 -18
  315. package/src/date-picker/context.tsx +1 -0
  316. package/src/index.ts +7 -0
  317. package/src/react-native-web.d.ts +6 -0
  318. package/src/slider/useSliderPointer.ts +3 -0
  319. package/src/utils/createPortal.web.ts +9 -3
  320. package/src/utils/textAncestor.ts +19 -0
  321. package/src/utils/textAncestor.web.ts +19 -0
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorSliderThumb = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _utils = require("@cdx-ui/utils");
10
+ var _focus = require("@react-native-aria/focus");
11
+ var _interactions = require("@react-native-aria/interactions");
12
+ var _slot = require("../slot");
13
+ var _useSliderPointer = require("../slider/useSliderPointer");
14
+ var _utils2 = require("../slider/utils");
15
+ var _dataAttributes = require("../utils/dataAttributes");
16
+ var _context = require("./context");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ const ColorSliderThumb = exports.ColorSliderThumb = /*#__PURE__*/(0, _react.forwardRef)(({
19
+ asChild,
20
+ style,
21
+ accessibilityLabel: accessibilityLabelProp,
22
+ onLayout,
23
+ onFocus,
24
+ onBlur,
25
+ onHoverIn,
26
+ onHoverOut,
27
+ children,
28
+ ...props
29
+ }, ref) => {
30
+ const {
31
+ channel,
32
+ channelValue,
33
+ valueLabel,
34
+ min,
35
+ max,
36
+ step,
37
+ pageStep,
38
+ percent,
39
+ orientation,
40
+ isDisabled,
41
+ isDragging,
42
+ layout,
43
+ thumbSize,
44
+ accessibilityLabel: rootAccessibilityLabel,
45
+ setThumbSize,
46
+ setIsDragging,
47
+ setChannelValue,
48
+ setValueFromRatio
49
+ } = (0, _context.useColorSliderContext)();
50
+ const {
51
+ focusProps,
52
+ isFocused
53
+ } = (0, _focus.useFocus)();
54
+ const {
55
+ focusProps: focusRingProps,
56
+ isFocusVisible
57
+ } = (0, _focus.useFocusRing)();
58
+ const {
59
+ hoverProps,
60
+ isHovered
61
+ } = (0, _interactions.useHover)();
62
+ const percentRef = (0, _react.useRef)(percent);
63
+ percentRef.current = percent;
64
+ const dragStartRatioRef = (0, _react.useRef)(0);
65
+ const lastRatioRef = (0, _react.useRef)(percent / 100);
66
+ const orientationRef = (0, _react.useRef)(orientation);
67
+ orientationRef.current = orientation;
68
+ const layoutRef = (0, _react.useRef)(layout);
69
+ layoutRef.current = layout;
70
+ const thumbSizeRef = (0, _react.useRef)(thumbSize);
71
+ thumbSizeRef.current = thumbSize;
72
+ const isDisabledRef = (0, _react.useRef)(isDisabled);
73
+ isDisabledRef.current = isDisabled;
74
+ const setIsDraggingRef = (0, _react.useRef)(setIsDragging);
75
+ setIsDraggingRef.current = setIsDragging;
76
+ const setValueFromRatioRef = (0, _react.useRef)(setValueFromRatio);
77
+ setValueFromRatioRef.current = setValueFromRatio;
78
+ const thumbAxisSize = orientation === 'horizontal' ? thumbSize.width : thumbSize.height;
79
+ const {
80
+ startDrag
81
+ } = (0, _useSliderPointer.useWebSliderDrag)({
82
+ isDisabled,
83
+ setIsDragging,
84
+ setValueFromRatio,
85
+ trackLayout: layout,
86
+ orientation,
87
+ thumbSize: thumbAxisSize
88
+ });
89
+ const panResponder = (0, _react.useMemo)(() => _reactNative.PanResponder.create({
90
+ onStartShouldSetPanResponder: () => !isDisabledRef.current,
91
+ onMoveShouldSetPanResponder: () => !isDisabledRef.current,
92
+ onPanResponderTerminationRequest: () => false,
93
+ onShouldBlockNativeResponder: () => true,
94
+ onPanResponderGrant: () => {
95
+ if (isDisabledRef.current) {
96
+ return;
97
+ }
98
+ setIsDraggingRef.current(true);
99
+ dragStartRatioRef.current = percentRef.current / 100;
100
+ lastRatioRef.current = dragStartRatioRef.current;
101
+ },
102
+ onPanResponderMove: (_event, gestureState) => {
103
+ const currentLayout = layoutRef.current;
104
+ if (!currentLayout) {
105
+ return;
106
+ }
107
+ const isHorizontal = orientationRef.current === 'horizontal';
108
+ const trackSize = isHorizontal ? currentLayout.width : currentLayout.height;
109
+ const currentThumbSize = isHorizontal ? thumbSizeRef.current.width : thumbSizeRef.current.height;
110
+ const travel = (0, _utils2.getThumbTravel)(trackSize, currentThumbSize);
111
+ if (travel <= 0) {
112
+ return;
113
+ }
114
+ const delta = isHorizontal ? gestureState.dx : -gestureState.dy;
115
+ const nextRatio = (0, _utils2.clamp)(dragStartRatioRef.current + delta / travel, 0, 1);
116
+ lastRatioRef.current = nextRatio;
117
+ setValueFromRatioRef.current(nextRatio);
118
+ },
119
+ onPanResponderRelease: () => {
120
+ setIsDraggingRef.current(false);
121
+ setValueFromRatioRef.current(lastRatioRef.current, true);
122
+ },
123
+ onPanResponderTerminate: () => {
124
+ setIsDraggingRef.current(false);
125
+ setValueFromRatioRef.current(lastRatioRef.current, true);
126
+ }
127
+ }), []);
128
+ const positionStyle = (0, _react.useMemo)(() => {
129
+ const trackWidth = layout?.width ?? 0;
130
+ const trackHeight = layout?.height ?? 0;
131
+ if (orientation === 'vertical') {
132
+ return {
133
+ position: 'absolute',
134
+ left: '50%',
135
+ bottom: (0, _utils2.percentToThumbOffset)(percent, trackHeight, thumbSize.height),
136
+ marginLeft: -thumbSize.width / 2
137
+ };
138
+ }
139
+ return {
140
+ position: 'absolute',
141
+ top: '50%',
142
+ left: (0, _utils2.percentToThumbOffset)(percent, trackWidth, thumbSize.width),
143
+ transform: [{
144
+ translateY: -thumbSize.height / 2
145
+ }]
146
+ };
147
+ }, [layout, orientation, percent, thumbSize.height, thumbSize.width]);
148
+ const handleKeyDown = (0, _react.useCallback)(event => {
149
+ if (isDisabled) {
150
+ return;
151
+ }
152
+ const key = event.nativeEvent?.key ?? event.key;
153
+ const shiftKey = event.nativeEvent?.shiftKey ?? event.shiftKey;
154
+ const increment = shiftKey ? pageStep : step;
155
+ let next = channelValue;
156
+ let handled = true;
157
+ if (key === 'ArrowUp' || key === 'ArrowRight') {
158
+ next += increment;
159
+ } else if (key === 'ArrowDown' || key === 'ArrowLeft') {
160
+ next -= increment;
161
+ } else if (key === 'PageUp') {
162
+ next += pageStep;
163
+ } else if (key === 'PageDown') {
164
+ next -= pageStep;
165
+ } else if (key === 'Home') {
166
+ next = min;
167
+ } else if (key === 'End') {
168
+ next = max;
169
+ } else {
170
+ handled = false;
171
+ }
172
+ if (handled) {
173
+ event.preventDefault?.();
174
+ setChannelValue(next, true);
175
+ }
176
+ }, [channelValue, isDisabled, max, min, pageStep, setChannelValue, step]);
177
+ const handleAccessibilityAction = (0, _react.useCallback)(event => {
178
+ if (event.nativeEvent.actionName === 'increment') {
179
+ setChannelValue(channelValue + step, true);
180
+ } else if (event.nativeEvent.actionName === 'decrement') {
181
+ setChannelValue(channelValue - step, true);
182
+ }
183
+ }, [channelValue, setChannelValue, step]);
184
+ const handleLayout = (0, _react.useCallback)(event => {
185
+ const {
186
+ width,
187
+ height
188
+ } = event.nativeEvent.layout;
189
+ setThumbSize({
190
+ width,
191
+ height
192
+ });
193
+ onLayout?.(event);
194
+ }, [onLayout, setThumbSize]);
195
+ const isWeb = _reactNative.Platform.OS === 'web';
196
+ const Comp = asChild ? _slot.Slot : isWeb ? _reactNative.Pressable : _reactNative.View;
197
+ const accessibilityLabel = accessibilityLabelProp ?? rootAccessibilityLabel ?? channel;
198
+ const handlePointerDown = (0, _react.useCallback)(event => {
199
+ if (_reactNative.Platform.OS !== 'web' || isDisabled) {
200
+ return;
201
+ }
202
+ event.preventDefault();
203
+ event.stopPropagation();
204
+ const {
205
+ x,
206
+ y
207
+ } = (0, _useSliderPointer.getPointerCoords)(event.nativeEvent);
208
+ startDrag(x, y, percentRef.current / 100);
209
+ }, [isDisabled, startDrag]);
210
+ const pointerProps = _reactNative.Platform.OS === 'web' ? {
211
+ onPointerDown: handlePointerDown,
212
+ disabled: isDisabled
213
+ } : panResponder.panHandlers;
214
+ const webAccessibilityProps = isWeb ? {
215
+ onKeyDown: handleKeyDown,
216
+ tabIndex: isDisabled ? -1 : 0,
217
+ role: 'slider',
218
+ 'aria-valuemin': min,
219
+ 'aria-valuemax': max,
220
+ 'aria-valuenow': channelValue,
221
+ 'aria-valuetext': valueLabel,
222
+ 'aria-orientation': orientation,
223
+ 'aria-disabled': isDisabled
224
+ } : {};
225
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
226
+ ref: ref,
227
+ ...props,
228
+ ...pointerProps,
229
+ ...webAccessibilityProps,
230
+ onLayout: handleLayout,
231
+ onFocus: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(onFocus, focusProps.onFocus), focusRingProps.onFocus),
232
+ onBlur: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(onBlur, focusProps.onBlur), focusRingProps.onBlur),
233
+ onHoverIn: (0, _utils.composeEventHandlers)(onHoverIn, hoverProps.onHoverIn),
234
+ onHoverOut: (0, _utils.composeEventHandlers)(onHoverOut, hoverProps.onHoverOut),
235
+ accessibilityRole: "adjustable",
236
+ accessibilityLabel: accessibilityLabel,
237
+ accessibilityValue: {
238
+ min,
239
+ max,
240
+ now: Math.round(channelValue),
241
+ text: valueLabel
242
+ },
243
+ accessibilityState: {
244
+ disabled: isDisabled
245
+ },
246
+ accessibilityActions: [{
247
+ name: 'increment'
248
+ }, {
249
+ name: 'decrement'
250
+ }],
251
+ onAccessibilityAction: handleAccessibilityAction,
252
+ style: [positionStyle, style],
253
+ ...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
254
+ slot: 'color-slider-thumb',
255
+ disabled: isDisabled,
256
+ hover: isHovered,
257
+ focus: isFocused,
258
+ focusVisible: isFocusVisible,
259
+ dragging: isDragging
260
+ })),
261
+ children: children
262
+ });
263
+ });
264
+ ColorSliderThumb.displayName = 'ColorSliderThumb';
265
+ //# sourceMappingURL=ColorSliderThumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_slot","_useSliderPointer","_utils2","_dataAttributes","_context","_jsxRuntime","ColorSliderThumb","exports","forwardRef","asChild","style","accessibilityLabel","accessibilityLabelProp","onLayout","onFocus","onBlur","onHoverIn","onHoverOut","children","props","ref","channel","channelValue","valueLabel","min","max","step","pageStep","percent","orientation","isDisabled","isDragging","layout","thumbSize","rootAccessibilityLabel","setThumbSize","setIsDragging","setChannelValue","setValueFromRatio","useColorSliderContext","focusProps","isFocused","useFocus","focusRingProps","isFocusVisible","useFocusRing","hoverProps","isHovered","useHover","percentRef","useRef","current","dragStartRatioRef","lastRatioRef","orientationRef","layoutRef","thumbSizeRef","isDisabledRef","setIsDraggingRef","setValueFromRatioRef","thumbAxisSize","width","height","startDrag","useWebSliderDrag","trackLayout","panResponder","useMemo","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onShouldBlockNativeResponder","onPanResponderGrant","onPanResponderMove","_event","gestureState","currentLayout","isHorizontal","trackSize","currentThumbSize","travel","getThumbTravel","delta","dx","dy","nextRatio","clamp","onPanResponderRelease","onPanResponderTerminate","positionStyle","trackWidth","trackHeight","position","left","bottom","percentToThumbOffset","marginLeft","top","transform","translateY","handleKeyDown","useCallback","event","key","nativeEvent","shiftKey","increment","next","handled","preventDefault","handleAccessibilityAction","actionName","handleLayout","isWeb","Platform","OS","Comp","Slot","Pressable","View","handlePointerDown","stopPropagation","x","y","getPointerCoords","pointerProps","onPointerDown","disabled","panHandlers","webAccessibilityProps","onKeyDown","tabIndex","role","jsx","composeEventHandlers","accessibilityRole","accessibilityValue","now","Math","round","text","accessibilityState","accessibilityActions","name","onAccessibilityAction","mergeDataAttributes","dataAttributes","slot","hover","focus","focusVisible","dragging","displayName"],"sourceRoot":"../../../src","sources":["color-slider/ColorSliderThumb.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useColorSliderContext = exports.ColorSliderProvider = void 0;
7
+ var _utils = require("@cdx-ui/utils");
8
+ const [ColorSliderProvider, useColorSliderContext] = (0, _utils.createContext)('ColorSliderContext');
9
+ exports.useColorSliderContext = useColorSliderContext;
10
+ exports.ColorSliderProvider = ColorSliderProvider;
11
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","ColorSliderProvider","useColorSliderContext","createContext","exports"],"sourceRoot":"../../../src","sources":["color-slider/context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAM,CAACC,mBAAmB,EAAEC,qBAAqB,CAAC,GACvD,IAAAC,oBAAa,EAA0B,oBAAoB,CAAC;AAACC,OAAA,CAAAF,qBAAA,GAAAA,qBAAA;AAAAE,OAAA,CAAAH,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ColorSliderRail", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ColorSliderRail.ColorSliderRail;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ColorSliderRoot", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ColorSliderRoot.ColorSliderRoot;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ColorSliderThumb", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ColorSliderThumb.ColorSliderThumb;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useColorSliderContext", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _context.useColorSliderContext;
28
+ }
29
+ });
30
+ var _ColorSliderRoot = require("./ColorSliderRoot");
31
+ var _ColorSliderRail = require("./ColorSliderRail");
32
+ var _ColorSliderThumb = require("./ColorSliderThumb");
33
+ var _context = require("./context");
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ColorSliderRoot","require","_ColorSliderRail","_ColorSliderThumb","_context"],"sourceRoot":"../../../src","sources":["color-slider/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["color-slider/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clampColorSliderValue = clampColorSliderValue;
7
+ exports.formatColorSliderValue = formatColorSliderValue;
8
+ exports.getColorSliderChannelValue = getColorSliderChannelValue;
9
+ exports.getColorSliderGradientColors = getColorSliderGradientColors;
10
+ exports.getColorSliderRange = getColorSliderRange;
11
+ exports.withColorSliderChannel = withColorSliderChannel;
12
+ const HUE_STOPS = [0, 60, 120, 180, 240, 300, 360];
13
+ function clampColorSliderValue(value, min, max) {
14
+ return Math.min(max, Math.max(min, value));
15
+ }
16
+ function getColorSliderRange({
17
+ colorSpace,
18
+ channel
19
+ }) {
20
+ if (colorSpace === 'rgb') {
21
+ return {
22
+ min: 0,
23
+ max: 255
24
+ };
25
+ }
26
+ if (channel === 'hue') {
27
+ return {
28
+ min: 0,
29
+ max: 360
30
+ };
31
+ }
32
+ return {
33
+ min: 0,
34
+ max: 100
35
+ };
36
+ }
37
+ function getColorSliderChannelValue(color, configuration) {
38
+ if (configuration.colorSpace === 'rgb') {
39
+ return color.getChannel('rgb', configuration.channel);
40
+ }
41
+ if (configuration.colorSpace === 'hsl') {
42
+ return color.getChannel('hsl', configuration.channel);
43
+ }
44
+ return color.getChannel('hsb', configuration.channel);
45
+ }
46
+ function withColorSliderChannel(color, configuration, value) {
47
+ if (configuration.colorSpace === 'rgb') {
48
+ return color.withChannel('rgb', configuration.channel, value);
49
+ }
50
+ if (configuration.colorSpace === 'hsl') {
51
+ return color.withChannel('hsl', configuration.channel, value);
52
+ }
53
+ return color.withChannel('hsb', configuration.channel, value);
54
+ }
55
+ function formatColorSliderValue(value, configuration) {
56
+ const formatted = Number.isInteger(value) ? String(value) : value.toFixed(1);
57
+ if (configuration.channel === 'hue') {
58
+ return `${formatted}°`;
59
+ }
60
+ if (configuration.colorSpace !== 'rgb') {
61
+ return `${formatted}%`;
62
+ }
63
+ return formatted;
64
+ }
65
+ function getColorSliderGradientColors(color, configuration) {
66
+ if (configuration.channel === 'hue') {
67
+ return HUE_STOPS.map(value => withColorSliderChannel(color, configuration, value).toString('hex'));
68
+ }
69
+ const {
70
+ min,
71
+ max
72
+ } = getColorSliderRange(configuration);
73
+ return [withColorSliderChannel(color, configuration, min).toString('hex'), withColorSliderChannel(color, configuration, max).toString('hex')];
74
+ }
75
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HUE_STOPS","clampColorSliderValue","value","min","max","Math","getColorSliderRange","colorSpace","channel","getColorSliderChannelValue","color","configuration","getChannel","withColorSliderChannel","withChannel","formatColorSliderValue","formatted","Number","isInteger","String","toFixed","getColorSliderGradientColors","map","toString"],"sourceRoot":"../../../src","sources":["color-slider/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorSwatchPickerItem = void 0;
7
+ var _react = require("react");
8
+ var _radio = require("../radio");
9
+ var _context = require("./context");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ const ColorSwatchPickerItem = exports.ColorSwatchPickerItem = /*#__PURE__*/(0, _react.forwardRef)(({
12
+ asChild,
13
+ color,
14
+ isDisabled,
15
+ disabled,
16
+ accessibilityLabel,
17
+ 'aria-label': ariaLabelProp,
18
+ children,
19
+ ...props
20
+ }, ref) => {
21
+ const {
22
+ registerColor
23
+ } = (0, _context.useColorSwatchPickerContext)();
24
+ const colorValue = color.toString('hex');
25
+ const label = ariaLabelProp ?? accessibilityLabel ?? colorValue;
26
+ const contextValue = (0, _react.useMemo)(() => ({
27
+ color
28
+ }), [color]);
29
+ (0, _react.useEffect)(() => registerColor(color), [color, registerColor]);
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ColorSwatchPickerItemProvider, {
31
+ value: contextValue,
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.RadioRoot, {
33
+ ref: ref,
34
+ asChild: asChild,
35
+ value: colorValue,
36
+ isDisabled: !!(isDisabled || disabled),
37
+ disabled: disabled,
38
+ "aria-label": label,
39
+ accessibilityLabel: label,
40
+ ...props,
41
+ children: children
42
+ })
43
+ });
44
+ });
45
+ ColorSwatchPickerItem.displayName = 'ColorSwatchPickerItem';
46
+ //# sourceMappingURL=ColorSwatchPickerItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_radio","_context","_jsxRuntime","ColorSwatchPickerItem","exports","forwardRef","asChild","color","isDisabled","disabled","accessibilityLabel","ariaLabelProp","children","props","ref","registerColor","useColorSwatchPickerContext","colorValue","toString","label","contextValue","useMemo","useEffect","jsx","ColorSwatchPickerItemProvider","value","RadioRoot","displayName"],"sourceRoot":"../../../src","sources":["color-swatch-picker/ColorSwatchPickerItem.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAAuF,IAAAG,WAAA,GAAAH,OAAA;AAOhF,MAAMI,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,gBAAG,IAAAE,iBAAU,EAI7C,CACE;EACEC,OAAO;EACPC,KAAK;EACLC,UAAU;EACVC,QAAQ;EACRC,kBAAkB;EAClB,YAAY,EAAEC,aAAa;EAC3BC,QAAQ;EACR,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,oCAA2B,EAAC,CAAC;EACvD,MAAMC,UAAU,GAAGV,KAAK,CAACW,QAAQ,CAAC,KAAK,CAAC;EACxC,MAAMC,KAAK,GAAGR,aAAa,IAAID,kBAAkB,IAAIO,UAAU;EAC/D,MAAMG,YAAY,GAAG,IAAAC,cAAO,EAAC,OAAO;IAAEd;EAAM,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAExD,IAAAe,gBAAS,EAAC,MAAMP,aAAa,CAACR,KAAK,CAAC,EAAE,CAACA,KAAK,EAAEQ,aAAa,CAAC,CAAC;EAE7D,oBACE,IAAAb,WAAA,CAAAqB,GAAA,EAACtB,QAAA,CAAAuB,6BAA6B;IAACC,KAAK,EAAEL,YAAa;IAAAR,QAAA,eACjD,IAAAV,WAAA,CAAAqB,GAAA,EAACvB,MAAA,CAAA0B,SAAS;MACRZ,GAAG,EAAEA,GAAI;MACTR,OAAO,EAAEA,OAAQ;MACjBmB,KAAK,EAAER,UAAW;MAClBT,UAAU,EAAE,CAAC,EAAEA,UAAU,IAAIC,QAAQ,CAAE;MACvCA,QAAQ,EAAEA,QAAS;MACnB,cAAYU,KAAM;MAClBT,kBAAkB,EAAES,KAAM;MAAA,GACtBN,KAAK;MAAAD,QAAA,EAERA;IAAQ,CACA;EAAC,CACiB,CAAC;AAEpC,CACF,CAAC;AAEDT,qBAAqB,CAACwB,WAAW,GAAG,uBAAuB","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ColorSwatchPickerRoot = void 0;
7
+ var _react = require("react");
8
+ var _utils = require("@cdx-ui/utils");
9
+ var _radio = require("../radio");
10
+ var _colorPicker = require("../color-picker");
11
+ var _context = require("./context");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ const ColorSwatchPickerRoot = exports.ColorSwatchPickerRoot = /*#__PURE__*/(0, _react.forwardRef)(({
14
+ asChild,
15
+ value: valueProp,
16
+ defaultValue,
17
+ onValueChange,
18
+ isDisabled,
19
+ accessibilityLabel,
20
+ children,
21
+ ...props
22
+ }, ref) => {
23
+ const picker = (0, _colorPicker.useOptionalColorPickerContext)();
24
+ const usesPickerContext = picker !== null && valueProp === undefined && defaultValue === undefined;
25
+ const [localValue, setLocalValue] = (0, _utils.useControllableState)({
26
+ prop: valueProp,
27
+ defaultProp: defaultValue,
28
+ onChange: onValueChange
29
+ });
30
+ const value = usesPickerContext ? picker.value : localValue;
31
+ const colorsRef = (0, _react.useRef)(new Map());
32
+ const registerColor = (0, _react.useCallback)(color => {
33
+ const key = color.toString('hex');
34
+ colorsRef.current.set(key, color);
35
+ return () => {
36
+ if (colorsRef.current.get(key) === color) {
37
+ colorsRef.current.delete(key);
38
+ }
39
+ };
40
+ }, []);
41
+ const handleValueChange = (0, _react.useCallback)(key => {
42
+ const color = colorsRef.current.get(key);
43
+ if (!color) {
44
+ return;
45
+ }
46
+ if (usesPickerContext) {
47
+ onValueChange?.(color);
48
+ picker.onValueChange(color);
49
+ return;
50
+ }
51
+ setLocalValue(color);
52
+ }, [onValueChange, picker, setLocalValue, usesPickerContext]);
53
+ const contextValue = (0, _react.useMemo)(() => ({
54
+ registerColor
55
+ }), [registerColor]);
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ColorSwatchPickerProvider, {
57
+ value: contextValue,
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.RadioGroup, {
59
+ ref: ref,
60
+ asChild: asChild,
61
+ value: value?.toString('hex'),
62
+ onChange: handleValueChange,
63
+ isDisabled: isDisabled,
64
+ "aria-label": props['aria-label'] ?? accessibilityLabel,
65
+ ...props,
66
+ children: children
67
+ })
68
+ });
69
+ });
70
+ ColorSwatchPickerRoot.displayName = 'ColorSwatchPickerRoot';
71
+ //# sourceMappingURL=ColorSwatchPickerRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_utils","_radio","_colorPicker","_context","_jsxRuntime","ColorSwatchPickerRoot","exports","forwardRef","asChild","value","valueProp","defaultValue","onValueChange","isDisabled","accessibilityLabel","children","props","ref","picker","useOptionalColorPickerContext","usesPickerContext","undefined","localValue","setLocalValue","useControllableState","prop","defaultProp","onChange","colorsRef","useRef","Map","registerColor","useCallback","color","key","toString","current","set","get","delete","handleValueChange","contextValue","useMemo","jsx","ColorSwatchPickerProvider","RadioGroup","displayName"],"sourceRoot":"../../../src","sources":["color-swatch-picker/ColorSwatchPickerRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useColorSwatchPickerContext = exports.ColorSwatchPickerProvider = exports.ColorSwatchPickerItemProvider = void 0;
7
+ exports.useColorSwatchPickerItemContext = useColorSwatchPickerItemContext;
8
+ var _react = require("react");
9
+ var _utils = require("@cdx-ui/utils");
10
+ const [ColorSwatchPickerProvider, useColorSwatchPickerContext] = (0, _utils.createContext)('ColorSwatchPickerContext');
11
+ exports.useColorSwatchPickerContext = useColorSwatchPickerContext;
12
+ exports.ColorSwatchPickerProvider = ColorSwatchPickerProvider;
13
+ const ColorSwatchPickerItemContext = /*#__PURE__*/(0, _react.createContext)(null);
14
+ const ColorSwatchPickerItemProvider = exports.ColorSwatchPickerItemProvider = ColorSwatchPickerItemContext.Provider;
15
+ function useColorSwatchPickerItemContext() {
16
+ const context = (0, _react.useContext)(ColorSwatchPickerItemContext);
17
+ if (!context) {
18
+ throw new Error('ColorSwatchPicker item slots must be used within ColorSwatchPicker.Item');
19
+ }
20
+ return context;
21
+ }
22
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_utils","ColorSwatchPickerProvider","useColorSwatchPickerContext","createContext","exports","ColorSwatchPickerItemContext","createReactContext","ColorSwatchPickerItemProvider","Provider","useColorSwatchPickerItemContext","context","useContext","Error"],"sourceRoot":"../../../src","sources":["color-swatch-picker/context.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,MAAM,CAACE,yBAAyB,EAAEC,2BAA2B,CAAC,GACnE,IAAAC,oBAAa,EAAgC,0BAA0B,CAAC;AAACC,OAAA,CAAAF,2BAAA,GAAAA,2BAAA;AAAAE,OAAA,CAAAH,yBAAA,GAAAA,yBAAA;AAE3E,MAAMI,4BAA4B,gBAAG,IAAAC,oBAAkB,EACrD,IACF,CAAC;AAEM,MAAMC,6BAA6B,GAAAH,OAAA,CAAAG,6BAAA,GAAGF,4BAA4B,CAACG,QAAQ;AAE3E,SAASC,+BAA+BA,CAAA,EAAsC;EACnF,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACN,4BAA4B,CAAC;EAExD,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,yEAAyE,CAAC;EAC5F;EAEA,OAAOF,OAAO;AAChB","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ColorSwatchPickerItem", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ColorSwatchPickerItem.ColorSwatchPickerItem;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ColorSwatchPickerRoot", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ColorSwatchPickerRoot.ColorSwatchPickerRoot;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useColorSwatchPickerContext", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _context.useColorSwatchPickerContext;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useColorSwatchPickerItemContext", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _context.useColorSwatchPickerItemContext;
28
+ }
29
+ });
30
+ var _ColorSwatchPickerRoot = require("./ColorSwatchPickerRoot");
31
+ var _ColorSwatchPickerItem = require("./ColorSwatchPickerItem");
32
+ var _context = require("./context");
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ColorSwatchPickerRoot","require","_ColorSwatchPickerItem","_context"],"sourceRoot":"../../../src","sources":["color-swatch-picker/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["color-swatch-picker/types.ts"],"mappings":"","ignoreList":[]}