@wordpress/components 19.0.0 → 19.0.4

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 (1440) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CONTRIBUTING.md +12 -12
  3. package/README.md +1 -0
  4. package/build/alignment-matrix-control/cell.js +6 -5
  5. package/build/alignment-matrix-control/cell.js.map +1 -1
  6. package/build/alignment-matrix-control/icon.js +9 -8
  7. package/build/alignment-matrix-control/icon.js.map +1 -1
  8. package/build/alignment-matrix-control/index.js +11 -10
  9. package/build/alignment-matrix-control/index.js.map +1 -1
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +9 -7
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -7
  13. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  14. package/build/alignment-matrix-control/utils.js +5 -4
  15. package/build/alignment-matrix-control/utils.js.map +1 -1
  16. package/build/angle-picker-control/angle-circle.js +6 -5
  17. package/build/angle-picker-control/angle-circle.js.map +1 -1
  18. package/build/angle-picker-control/index.js +11 -7
  19. package/build/angle-picker-control/index.js.map +1 -1
  20. package/build/angle-picker-control/styles/angle-picker-control-styles.js +5 -5
  21. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  22. package/build/animate/index.js +7 -6
  23. package/build/animate/index.js.map +1 -1
  24. package/build/animation/index.js +6 -6
  25. package/build/autocomplete/autocompleter-ui.js +13 -12
  26. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  27. package/build/autocomplete/autocompleter-ui.native.js +15 -12
  28. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  29. package/build/autocomplete/background-view.android.js +4 -3
  30. package/build/autocomplete/background-view.android.js.map +1 -1
  31. package/build/autocomplete/background-view.ios.js +4 -3
  32. package/build/autocomplete/background-view.ios.js.map +1 -1
  33. package/build/autocomplete/get-default-use-items.js +3 -1
  34. package/build/autocomplete/get-default-use-items.js.map +1 -1
  35. package/build/autocomplete/index.js +20 -17
  36. package/build/autocomplete/index.js.map +1 -1
  37. package/build/base-control/index.js +15 -13
  38. package/build/base-control/index.js.map +1 -1
  39. package/build/base-control/index.native.js +6 -5
  40. package/build/base-control/index.native.js.map +1 -1
  41. package/build/base-control/styles/base-control-styles.js +1 -1
  42. package/build/base-field/hook.js +4 -2
  43. package/build/base-field/hook.js.map +1 -1
  44. package/build/base-field/styles.js +1 -1
  45. package/build/box-control/all-input-control.js +12 -11
  46. package/build/box-control/all-input-control.js.map +1 -1
  47. package/build/box-control/axial-input-controls.js +13 -11
  48. package/build/box-control/axial-input-controls.js.map +1 -1
  49. package/build/box-control/icon.js +8 -6
  50. package/build/box-control/icon.js.map +1 -1
  51. package/build/box-control/index.js +22 -18
  52. package/build/box-control/index.js.map +1 -1
  53. package/build/box-control/input-controls.js +17 -14
  54. package/build/box-control/input-controls.js.map +1 -1
  55. package/build/box-control/linked-button.js +5 -4
  56. package/build/box-control/linked-button.js.map +1 -1
  57. package/build/box-control/styles/box-control-icon-styles.js +5 -4
  58. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  59. package/build/box-control/styles/box-control-styles.js +13 -10
  60. package/build/box-control/styles/box-control-styles.js.map +1 -1
  61. package/build/box-control/styles/box-control-visualizer-styles.js +12 -8
  62. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  63. package/build/box-control/unit-control.js +22 -18
  64. package/build/box-control/unit-control.js.map +1 -1
  65. package/build/box-control/utils.js +10 -6
  66. package/build/box-control/utils.js.map +1 -1
  67. package/build/box-control/visualizer.js +32 -26
  68. package/build/box-control/visualizer.js.map +1 -1
  69. package/build/button/deprecated.js +8 -7
  70. package/build/button/deprecated.js.map +1 -1
  71. package/build/button/index.js +10 -9
  72. package/build/button/index.js.map +1 -1
  73. package/build/button-group/index.js +5 -4
  74. package/build/button-group/index.js.map +1 -1
  75. package/build/card/card/component.js +4 -2
  76. package/build/card/card/component.js.map +1 -1
  77. package/build/card/card/hook.js +11 -7
  78. package/build/card/card/hook.js.map +1 -1
  79. package/build/card/card-body/hook.js +4 -2
  80. package/build/card/card-body/hook.js.map +1 -1
  81. package/build/card/card-divider/hook.js +4 -2
  82. package/build/card/card-divider/hook.js.map +1 -1
  83. package/build/card/card-footer/hook.js +4 -2
  84. package/build/card/card-footer/hook.js.map +1 -1
  85. package/build/card/card-header/hook.js +4 -2
  86. package/build/card/card-header/hook.js.map +1 -1
  87. package/build/card/card-media/hook.js +4 -2
  88. package/build/card/card-media/hook.js.map +1 -1
  89. package/build/card/index.js +24 -22
  90. package/build/card/index.js.map +1 -1
  91. package/build/card/styles.js +1 -1
  92. package/build/card/types.js +4 -0
  93. package/build/checkbox-control/index.js +11 -9
  94. package/build/checkbox-control/index.js.map +1 -1
  95. package/build/circular-option-picker/index.js +40 -33
  96. package/build/circular-option-picker/index.js.map +1 -1
  97. package/build/clipboard-button/index.js +9 -8
  98. package/build/clipboard-button/index.js.map +1 -1
  99. package/build/color-control/index.native.js +8 -7
  100. package/build/color-control/index.native.js.map +1 -1
  101. package/build/color-edit/index.js +203 -209
  102. package/build/color-edit/index.js.map +1 -1
  103. package/build/color-edit/styles.js +112 -0
  104. package/build/color-edit/styles.js.map +1 -0
  105. package/build/color-indicator/index.js +13 -10
  106. package/build/color-indicator/index.js.map +1 -1
  107. package/build/color-indicator/index.native.js +12 -10
  108. package/build/color-indicator/index.native.js.map +1 -1
  109. package/build/color-list-picker/index.js +22 -15
  110. package/build/color-list-picker/index.js.map +1 -1
  111. package/build/color-palette/index.js +102 -29
  112. package/build/color-palette/index.js.map +1 -1
  113. package/build/color-palette/index.native.js +23 -20
  114. package/build/color-palette/index.native.js.map +1 -1
  115. package/build/color-palette/styles.js +31 -0
  116. package/build/color-palette/styles.js.map +1 -0
  117. package/build/color-picker/color-display.js +35 -27
  118. package/build/color-picker/color-display.js.map +1 -1
  119. package/build/color-picker/color-input.js +7 -6
  120. package/build/color-picker/color-input.js.map +1 -1
  121. package/build/color-picker/component.js +7 -18
  122. package/build/color-picker/component.js.map +1 -1
  123. package/build/color-picker/hex-input.js +7 -5
  124. package/build/color-picker/hex-input.js.map +1 -1
  125. package/build/color-picker/hsl-input.js +6 -5
  126. package/build/color-picker/hsl-input.js.map +1 -1
  127. package/build/color-picker/index.native.js +23 -20
  128. package/build/color-picker/index.native.js.map +1 -1
  129. package/build/color-picker/input-with-slider.js +9 -8
  130. package/build/color-picker/input-with-slider.js.map +1 -1
  131. package/build/color-picker/picker.js +9 -8
  132. package/build/color-picker/picker.js.map +1 -1
  133. package/build/color-picker/rgb-input.js +6 -5
  134. package/build/color-picker/rgb-input.js.map +1 -1
  135. package/build/color-picker/styles.js +1 -1
  136. package/build/color-picker/types.js +4 -0
  137. package/build/combobox-control/index.js +17 -15
  138. package/build/combobox-control/index.js.map +1 -1
  139. package/build/custom-gradient-bar/constants.js +1 -1
  140. package/build/custom-gradient-bar/control-points.js +120 -108
  141. package/build/custom-gradient-bar/control-points.js.map +1 -1
  142. package/build/custom-gradient-bar/index.js +13 -11
  143. package/build/custom-gradient-bar/index.js.map +1 -1
  144. package/build/custom-gradient-bar/utils.js +9 -7
  145. package/build/custom-gradient-bar/utils.js.map +1 -1
  146. package/build/custom-gradient-picker/constants.js +1 -1
  147. package/build/custom-gradient-picker/index.js +17 -14
  148. package/build/custom-gradient-picker/index.js.map +1 -1
  149. package/build/custom-gradient-picker/index.native.js +6 -5
  150. package/build/custom-gradient-picker/index.native.js.map +1 -1
  151. package/build/custom-gradient-picker/serializer.js +20 -16
  152. package/build/custom-gradient-picker/serializer.js.map +1 -1
  153. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
  154. package/build/custom-gradient-picker/utils.js +7 -6
  155. package/build/custom-gradient-picker/utils.js.map +1 -1
  156. package/build/custom-select-control/index.js +22 -18
  157. package/build/custom-select-control/index.js.map +1 -1
  158. package/build/dashicon/index.js +6 -5
  159. package/build/dashicon/index.js.map +1 -1
  160. package/build/dashicon/index.native.js +9 -6
  161. package/build/dashicon/index.native.js.map +1 -1
  162. package/build/dashicon/types.js +4 -0
  163. package/build/date-time/date.js +5 -4
  164. package/build/date-time/date.js.map +1 -1
  165. package/build/date-time/index.js +9 -8
  166. package/build/date-time/index.js.map +1 -1
  167. package/build/date-time/time.js +14 -11
  168. package/build/date-time/time.js.map +1 -1
  169. package/build/dimension-control/index.js +14 -9
  170. package/build/dimension-control/index.js.map +1 -1
  171. package/build/dimension-control/sizes.js +1 -1
  172. package/build/disabled/index.js +8 -6
  173. package/build/disabled/index.js.map +1 -1
  174. package/build/disabled/index.native.js +4 -3
  175. package/build/disabled/index.native.js.map +1 -1
  176. package/build/divider/styles.js +7 -5
  177. package/build/divider/styles.js.map +1 -1
  178. package/build/divider/types.js +4 -0
  179. package/build/draggable/index.js +13 -11
  180. package/build/draggable/index.js.map +1 -1
  181. package/build/drop-zone/index.js +8 -7
  182. package/build/drop-zone/index.js.map +1 -1
  183. package/build/drop-zone/provider.js +4 -3
  184. package/build/drop-zone/provider.js.map +1 -1
  185. package/build/dropdown/index.js +14 -13
  186. package/build/dropdown/index.js.map +1 -1
  187. package/build/dropdown-menu/index.js +9 -5
  188. package/build/dropdown-menu/index.js.map +1 -1
  189. package/build/dropdown-menu/index.native.js +26 -19
  190. package/build/dropdown-menu/index.native.js.map +1 -1
  191. package/build/duotone-picker/custom-duotone-bar.js +5 -5
  192. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  193. package/build/duotone-picker/duotone-picker.js +16 -13
  194. package/build/duotone-picker/duotone-picker.js.map +1 -1
  195. package/build/duotone-picker/duotone-swatch.js +4 -3
  196. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  197. package/build/duotone-picker/utils.js +29 -16
  198. package/build/duotone-picker/utils.js.map +1 -1
  199. package/build/elevation/hook.js +4 -2
  200. package/build/elevation/hook.js.map +1 -1
  201. package/build/elevation/types.js +4 -0
  202. package/build/external-link/index.js +8 -7
  203. package/build/external-link/index.js.map +1 -1
  204. package/build/external-link/index.native.js +5 -4
  205. package/build/external-link/index.native.js.map +1 -1
  206. package/build/flex/flex/hook.js +10 -6
  207. package/build/flex/flex/hook.js.map +1 -1
  208. package/build/flex/flex-item/hook.js +4 -2
  209. package/build/flex/flex-item/hook.js.map +1 -1
  210. package/build/flex/index.js +12 -10
  211. package/build/flex/index.js.map +1 -1
  212. package/build/flex/styles.js +1 -1
  213. package/build/flex/types.js +4 -0
  214. package/build/flyout/styles.js +5 -3
  215. package/build/flyout/styles.js.map +1 -1
  216. package/build/flyout/types.js +4 -0
  217. package/build/flyout/utils.js +4 -3
  218. package/build/flyout/utils.js.map +1 -1
  219. package/build/focal-point-picker/controls.js +8 -7
  220. package/build/focal-point-picker/controls.js.map +1 -1
  221. package/build/focal-point-picker/focal-point.js +8 -7
  222. package/build/focal-point-picker/focal-point.js.map +1 -1
  223. package/build/focal-point-picker/focal-point.native.js +6 -5
  224. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  225. package/build/focal-point-picker/grid.js +6 -5
  226. package/build/focal-point-picker/grid.js.map +1 -1
  227. package/build/focal-point-picker/index.js +2 -1
  228. package/build/focal-point-picker/index.js.map +1 -1
  229. package/build/focal-point-picker/media.js +19 -16
  230. package/build/focal-point-picker/media.js.map +1 -1
  231. package/build/focal-point-picker/styles/focal-point-picker-style.js +8 -5
  232. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  233. package/build/focal-point-picker/styles/focal-point-style.js +7 -4
  234. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  235. package/build/focal-point-picker/tooltip/index.native.js +18 -15
  236. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  237. package/build/focal-point-picker/utils.js +6 -4
  238. package/build/focal-point-picker/utils.js.map +1 -1
  239. package/build/focusable-iframe/index.js +5 -4
  240. package/build/focusable-iframe/index.js.map +1 -1
  241. package/build/font-size-picker/index.js +24 -17
  242. package/build/font-size-picker/index.js.map +1 -1
  243. package/build/font-size-picker/index.native.js +11 -8
  244. package/build/font-size-picker/index.native.js.map +1 -1
  245. package/build/font-size-picker/utils.js +22 -18
  246. package/build/font-size-picker/utils.js.map +1 -1
  247. package/build/footer-message-control/index.native.js +3 -2
  248. package/build/footer-message-control/index.native.js.map +1 -1
  249. package/build/form-file-upload/index.js +9 -8
  250. package/build/form-file-upload/index.js.map +1 -1
  251. package/build/form-toggle/index.js +9 -8
  252. package/build/form-toggle/index.js.map +1 -1
  253. package/build/form-token-field/index.js +8 -2
  254. package/build/form-token-field/index.js.map +1 -1
  255. package/build/form-token-field/token.js +15 -14
  256. package/build/form-token-field/token.js.map +1 -1
  257. package/build/gradient-picker/index.js +99 -32
  258. package/build/gradient-picker/index.js.map +1 -1
  259. package/build/grid/types.js +4 -0
  260. package/build/guide/icons.js +16 -13
  261. package/build/guide/icons.js.map +1 -1
  262. package/build/guide/index.js +9 -8
  263. package/build/guide/index.js.map +1 -1
  264. package/build/guide/page-control.js +6 -5
  265. package/build/guide/page-control.js.map +1 -1
  266. package/build/h-stack/types.js +4 -0
  267. package/build/h-stack/utils.js +3 -1
  268. package/build/h-stack/utils.js.map +1 -1
  269. package/build/higher-order/navigate-regions/index.js +20 -14
  270. package/build/higher-order/navigate-regions/index.js.map +1 -1
  271. package/build/higher-order/with-focus-return/index.js +18 -14
  272. package/build/higher-order/with-focus-return/index.js.map +1 -1
  273. package/build/icon/index.js +7 -5
  274. package/build/icon/index.js.map +1 -1
  275. package/build/index.js +314 -312
  276. package/build/index.js.map +1 -1
  277. package/build/index.native.js +227 -216
  278. package/build/index.native.js.map +1 -1
  279. package/build/input-control/backdrop.js +5 -4
  280. package/build/input-control/backdrop.js.map +1 -1
  281. package/build/input-control/index.js +20 -19
  282. package/build/input-control/index.js.map +1 -1
  283. package/build/input-control/input-base.js +16 -15
  284. package/build/input-control/input-base.js.map +1 -1
  285. package/build/input-control/input-field.js +24 -23
  286. package/build/input-control/input-field.js.map +1 -1
  287. package/build/input-control/label.js +7 -6
  288. package/build/input-control/label.js.map +1 -1
  289. package/build/input-control/reducer/actions.js +1 -1
  290. package/build/input-control/reducer/reducer.js +20 -7
  291. package/build/input-control/reducer/reducer.js.map +1 -1
  292. package/build/input-control/reducer/state.js +1 -1
  293. package/build/input-control/styles/input-control-styles.js +49 -37
  294. package/build/input-control/styles/input-control-styles.js.map +1 -1
  295. package/build/input-control/types.js +4 -0
  296. package/build/isolated-event-container/index.js +5 -4
  297. package/build/isolated-event-container/index.js.map +1 -1
  298. package/build/item-group/item/hook.js +4 -2
  299. package/build/item-group/item/hook.js.map +1 -1
  300. package/build/item-group/item-group/hook.js +4 -2
  301. package/build/item-group/item-group/hook.js.map +1 -1
  302. package/build/item-group/styles.js +1 -1
  303. package/build/item-group/types.js +4 -0
  304. package/build/keyboard-shortcuts/index.js +15 -13
  305. package/build/keyboard-shortcuts/index.js.map +1 -1
  306. package/build/menu-items-choice/index.js +7 -6
  307. package/build/menu-items-choice/index.js.map +1 -1
  308. package/build/mobile/audio-player/index.native.js +8 -7
  309. package/build/mobile/audio-player/index.native.js.map +1 -1
  310. package/build/mobile/badge/index.native.js +6 -5
  311. package/build/mobile/badge/index.native.js.map +1 -1
  312. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +1 -1
  313. package/build/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +1 -1
  314. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
  315. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  316. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
  317. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  318. package/build/mobile/bottom-sheet/button.native.js +21 -18
  319. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  320. package/build/mobile/bottom-sheet/cell.native.js +4 -2
  321. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  322. package/build/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
  323. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  324. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
  325. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  326. package/build/mobile/bottom-sheet/index.native.js +24 -17
  327. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  328. package/build/mobile/bottom-sheet/link-cell.native.js +9 -7
  329. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  330. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
  331. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  332. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
  333. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  334. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
  335. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  336. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
  337. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  338. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
  339. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  340. package/build/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
  341. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  342. package/build/mobile/bottom-sheet/range-text-input.native.js +6 -5
  343. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  344. package/build/mobile/bottom-sheet/ripple.native.js +11 -10
  345. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  346. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
  347. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  348. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
  349. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  350. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
  351. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  352. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
  353. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  354. package/build/mobile/bottom-sheet-select-control/index.native.js +8 -7
  355. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  356. package/build/mobile/bottom-sheet-text-control/index.native.js +9 -8
  357. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  358. package/build/mobile/clipboard/index.native.js +1 -1
  359. package/build/mobile/color-settings/index.native.js +11 -10
  360. package/build/mobile/color-settings/index.native.js.map +1 -1
  361. package/build/mobile/cycle-select-control/index.native.js +12 -11
  362. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  363. package/build/mobile/dashicons/index.native.js +1 -1
  364. package/build/mobile/focal-point-settings-panel/index.native.js +7 -6
  365. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  366. package/build/mobile/global-styles-context/index.native.js +1 -1
  367. package/build/mobile/global-styles-context/utils.native.js +9 -7
  368. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  369. package/build/mobile/gradient/index.native.js +14 -13
  370. package/build/mobile/gradient/index.native.js.map +1 -1
  371. package/build/mobile/gridicons/index.native.js +1 -1
  372. package/build/mobile/html-text-input/container.android.js +12 -9
  373. package/build/mobile/html-text-input/container.android.js.map +1 -1
  374. package/build/mobile/image/image-editing-button.native.js +26 -22
  375. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  376. package/build/mobile/image/index.native.js +23 -22
  377. package/build/mobile/image/index.native.js.map +1 -1
  378. package/build/mobile/keyboard-avoiding-view/index.ios.js +29 -22
  379. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  380. package/build/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
  381. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  382. package/build/mobile/layout-animation/index.native.js +3 -1
  383. package/build/mobile/layout-animation/index.native.js.map +1 -1
  384. package/build/mobile/link-picker/index.native.js +13 -11
  385. package/build/mobile/link-picker/index.native.js.map +1 -1
  386. package/build/mobile/link-picker/link-picker-results.native.js +48 -34
  387. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  388. package/build/mobile/link-picker/link-picker-screen.native.js +9 -7
  389. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  390. package/build/mobile/link-settings/image-link-destinations-screen.native.js +141 -0
  391. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  392. package/build/mobile/link-settings/index.native.js +59 -57
  393. package/build/mobile/link-settings/index.native.js.map +1 -1
  394. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
  395. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  396. package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
  397. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  398. package/build/mobile/media-edit/index.native.js +1 -1
  399. package/build/mobile/picker/index.android.js +4 -2
  400. package/build/mobile/picker/index.android.js.map +1 -1
  401. package/build/mobile/picker/index.ios.js +6 -3
  402. package/build/mobile/picker/index.ios.js.map +1 -1
  403. package/build/mobile/readable-content-view/index.native.js +12 -9
  404. package/build/mobile/readable-content-view/index.native.js.map +1 -1
  405. package/build/mobile/segmented-control/index.native.js +16 -14
  406. package/build/mobile/segmented-control/index.native.js.map +1 -1
  407. package/build/mobile/utils/alignments.native.js +1 -1
  408. package/build/mobile/utils/index.native.js +2 -1
  409. package/build/mobile/utils/index.native.js.map +1 -1
  410. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +5 -4
  411. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  412. package/build/modal/aria-helper.js +1 -1
  413. package/build/modal/index.js +40 -30
  414. package/build/modal/index.js.map +1 -1
  415. package/build/navigable-container/menu.js +7 -5
  416. package/build/navigable-container/menu.js.map +1 -1
  417. package/build/navigable-container/tabbable.js +6 -4
  418. package/build/navigable-container/tabbable.js.map +1 -1
  419. package/build/navigation/back-button/index.js +8 -7
  420. package/build/navigation/back-button/index.js.map +1 -1
  421. package/build/navigation/group/index.js +7 -7
  422. package/build/navigation/group/index.js.map +1 -1
  423. package/build/navigation/index.js +11 -8
  424. package/build/navigation/index.js.map +1 -1
  425. package/build/navigation/menu/menu-title-search.js +16 -34
  426. package/build/navigation/menu/menu-title-search.js.map +1 -1
  427. package/build/navigation/menu/menu-title.js +10 -9
  428. package/build/navigation/menu/menu-title.js.map +1 -1
  429. package/build/navigation/menu/search-no-results-found.js +4 -3
  430. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  431. package/build/navigation/styles/navigation-styles.js +34 -29
  432. package/build/navigation/styles/navigation-styles.js.map +1 -1
  433. package/build/navigator/types.js +4 -0
  434. package/build/notice/index.js +26 -24
  435. package/build/notice/index.js.map +1 -1
  436. package/build/notice/index.native.js +7 -6
  437. package/build/notice/index.native.js.map +1 -1
  438. package/build/notice/list.js +8 -6
  439. package/build/notice/list.js.map +1 -1
  440. package/build/number-control/index.js +22 -19
  441. package/build/number-control/index.js.map +1 -1
  442. package/build/number-control/styles/number-control-styles.js +4 -3
  443. package/build/number-control/styles/number-control-styles.js.map +1 -1
  444. package/build/panel/actions.native.js +10 -8
  445. package/build/panel/actions.native.js.map +1 -1
  446. package/build/panel/body.js +19 -17
  447. package/build/panel/body.js.map +1 -1
  448. package/build/panel/body.native.js +7 -6
  449. package/build/panel/body.native.js.map +1 -1
  450. package/build/panel/bottom-separator-cover.native.js +4 -3
  451. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  452. package/build/panel/header.js +5 -4
  453. package/build/panel/header.js.map +1 -1
  454. package/build/panel/index.js +6 -5
  455. package/build/panel/index.js.map +1 -1
  456. package/build/panel/row.js +10 -7
  457. package/build/panel/row.js.map +1 -1
  458. package/build/placeholder/index.js +12 -11
  459. package/build/placeholder/index.js.map +1 -1
  460. package/build/popover/index.js +49 -39
  461. package/build/popover/index.js.map +1 -1
  462. package/build/popover/utils.js +10 -2
  463. package/build/popover/utils.js.map +1 -1
  464. package/build/query-controls/author-select.js +8 -7
  465. package/build/query-controls/author-select.js.map +1 -1
  466. package/build/query-controls/category-select.js +9 -8
  467. package/build/query-controls/category-select.js.map +1 -1
  468. package/build/query-controls/index.js +19 -18
  469. package/build/query-controls/index.js.map +1 -1
  470. package/build/query-controls/index.native.js +14 -13
  471. package/build/query-controls/index.native.js.map +1 -1
  472. package/build/radio/index.js +6 -5
  473. package/build/radio/index.js.map +1 -1
  474. package/build/radio-control/index.js +11 -10
  475. package/build/radio-control/index.js.map +1 -1
  476. package/build/radio-control/index.native.js +7 -6
  477. package/build/radio-control/index.native.js.map +1 -1
  478. package/build/radio-group/index.js +9 -8
  479. package/build/radio-group/index.js.map +1 -1
  480. package/build/range-control/index.js +33 -32
  481. package/build/range-control/index.js.map +1 -1
  482. package/build/range-control/index.native.js +20 -18
  483. package/build/range-control/index.native.js.map +1 -1
  484. package/build/range-control/input-range.js +11 -10
  485. package/build/range-control/input-range.js.map +1 -1
  486. package/build/range-control/mark.js +8 -7
  487. package/build/range-control/mark.js.map +1 -1
  488. package/build/range-control/rail.js +29 -24
  489. package/build/range-control/rail.js.map +1 -1
  490. package/build/range-control/styles/range-control-styles.js +81 -63
  491. package/build/range-control/styles/range-control-styles.js.map +1 -1
  492. package/build/range-control/tooltip.js +17 -15
  493. package/build/range-control/tooltip.js.map +1 -1
  494. package/build/range-control/utils.js +15 -13
  495. package/build/range-control/utils.js.map +1 -1
  496. package/build/resizable-box/index.js +9 -8
  497. package/build/resizable-box/index.js.map +1 -1
  498. package/build/resizable-box/resize-tooltip/index.js +13 -12
  499. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  500. package/build/resizable-box/resize-tooltip/label.js +7 -6
  501. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  502. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  503. package/build/resizable-box/resize-tooltip/utils.js +20 -17
  504. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  505. package/build/responsive-wrapper/index.js +7 -6
  506. package/build/responsive-wrapper/index.js.map +1 -1
  507. package/build/sandbox/index.js +12 -9
  508. package/build/sandbox/index.js.map +1 -1
  509. package/build/sandbox/index.native.js +15 -13
  510. package/build/sandbox/index.native.js.map +1 -1
  511. package/build/scrollable/hook.js +4 -2
  512. package/build/scrollable/hook.js.map +1 -1
  513. package/build/scrollable/styles.js +1 -1
  514. package/build/scrollable/types.js +4 -0
  515. package/build/search-control/index.js +45 -21
  516. package/build/search-control/index.js.map +1 -1
  517. package/build/search-control/index.native.js +6 -5
  518. package/build/search-control/index.native.js.map +1 -1
  519. package/build/select-control/index.js +33 -26
  520. package/build/select-control/index.js.map +1 -1
  521. package/build/select-control/index.native.js +12 -11
  522. package/build/select-control/index.native.js.map +1 -1
  523. package/build/select-control/styles/select-control-styles.js +13 -10
  524. package/build/select-control/styles/select-control-styles.js.map +1 -1
  525. package/build/select-control/types.js +4 -0
  526. package/build/shortcut/index.js +6 -4
  527. package/build/shortcut/index.js.map +1 -1
  528. package/build/slot-fill/bubbles-virtually/fill.js +5 -4
  529. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  530. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
  531. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  532. package/build/slot-fill/bubbles-virtually/slot.js +7 -6
  533. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  534. package/build/slot-fill/fill.js +17 -13
  535. package/build/slot-fill/fill.js.map +1 -1
  536. package/build/slot-fill/index.js +12 -9
  537. package/build/slot-fill/index.js.map +1 -1
  538. package/build/slot-fill/index.native.js +2 -2
  539. package/build/slot-fill/slot.js +12 -9
  540. package/build/slot-fill/slot.js.map +1 -1
  541. package/build/snackbar/index.js +22 -20
  542. package/build/snackbar/index.js.map +1 -1
  543. package/build/snackbar/list.js +7 -6
  544. package/build/snackbar/list.js.map +1 -1
  545. package/build/spacer/types.js +4 -0
  546. package/build/style-provider/index.js +10 -6
  547. package/build/style-provider/index.js.map +1 -1
  548. package/build/style-provider/index.native.js +4 -3
  549. package/build/style-provider/index.native.js.map +1 -1
  550. package/build/surface/hook.js +4 -2
  551. package/build/surface/hook.js.map +1 -1
  552. package/build/surface/styles.js +9 -7
  553. package/build/surface/styles.js.map +1 -1
  554. package/build/surface/types.js +4 -0
  555. package/build/swatch/index.js +4 -3
  556. package/build/swatch/index.js.map +1 -1
  557. package/build/tab-panel/index.js +27 -23
  558. package/build/tab-panel/index.js.map +1 -1
  559. package/build/text/hook.js +4 -2
  560. package/build/text/hook.js.map +1 -1
  561. package/build/text/styles/text-mixins.native.js +3 -1
  562. package/build/text/styles/text-mixins.native.js.map +1 -1
  563. package/build/text/styles.js +8 -8
  564. package/build/text/styles.js.map +1 -1
  565. package/build/text/types.js +4 -0
  566. package/build/text/utils.js +17 -16
  567. package/build/text/utils.js.map +1 -1
  568. package/build/text-control/index.js +13 -12
  569. package/build/text-control/index.js.map +1 -1
  570. package/build/text-control/index.native.js +13 -12
  571. package/build/text-control/index.native.js.map +1 -1
  572. package/build/text-highlight/index.js +5 -4
  573. package/build/text-highlight/index.js.map +1 -1
  574. package/build/textarea-control/index.js +11 -10
  575. package/build/textarea-control/index.js.map +1 -1
  576. package/build/textarea-control/index.native.js +8 -7
  577. package/build/textarea-control/index.native.js.map +1 -1
  578. package/build/toggle-control/index.js +10 -8
  579. package/build/toggle-control/index.js.map +1 -1
  580. package/build/toggle-control/index.native.js +10 -9
  581. package/build/toggle-control/index.native.js.map +1 -1
  582. package/build/toggle-group-control/context.js +1 -1
  583. package/build/toggle-group-control/toggle-group-control/component.js +4 -2
  584. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  585. package/build/toggle-group-control/toggle-group-control/styles.js +1 -1
  586. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
  587. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  588. package/build/toggle-group-control/toggle-group-control-option/component.js +4 -2
  589. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  590. package/build/toggle-group-control/toggle-group-control-option/styles.js +1 -1
  591. package/build/toggle-group-control/types.js +4 -0
  592. package/build/toolbar/index.js +7 -5
  593. package/build/toolbar/index.js.map +1 -1
  594. package/build/toolbar/toolbar-container.js +5 -4
  595. package/build/toolbar/toolbar-container.js.map +1 -1
  596. package/build/toolbar/toolbar-container.native.js +6 -3
  597. package/build/toolbar/toolbar-container.native.js.map +1 -1
  598. package/build/toolbar-button/index.js +11 -10
  599. package/build/toolbar-button/index.js.map +1 -1
  600. package/build/toolbar-group/index.js +9 -8
  601. package/build/toolbar-group/index.js.map +1 -1
  602. package/build/toolbar-group/toolbar-group-collapsed.js +6 -5
  603. package/build/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  604. package/build/toolbar-group/toolbar-group-collapsed.native.js +7 -6
  605. package/build/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  606. package/build/toolbar-group/toolbar-group-container.js +10 -7
  607. package/build/toolbar-group/toolbar-group-container.js.map +1 -1
  608. package/build/toolbar-group/toolbar-group-container.native.js +10 -7
  609. package/build/toolbar-group/toolbar-group-container.native.js.map +1 -1
  610. package/build/toolbar-item/index.js +6 -5
  611. package/build/toolbar-item/index.js.map +1 -1
  612. package/build/toolbar-item/index.native.js +6 -4
  613. package/build/toolbar-item/index.native.js.map +1 -1
  614. package/build/tools-panel/index.js +4 -4
  615. package/build/tools-panel/styles.js +19 -24
  616. package/build/tools-panel/styles.js.map +1 -1
  617. package/build/tools-panel/tools-panel/component.js +10 -7
  618. package/build/tools-panel/tools-panel/component.js.map +1 -1
  619. package/build/tools-panel/tools-panel/hook.js +24 -14
  620. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  621. package/build/tools-panel/tools-panel-header/component.js +41 -29
  622. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  623. package/build/tools-panel/tools-panel-header/hook.js +4 -2
  624. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  625. package/build/tools-panel/tools-panel-item/hook.js +4 -2
  626. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  627. package/build/tools-panel/types.js +4 -0
  628. package/build/tooltip/index.js +52 -41
  629. package/build/tooltip/index.js.map +1 -1
  630. package/build/tooltip/index.native.js +16 -13
  631. package/build/tooltip/index.native.js.map +1 -1
  632. package/build/tree-grid/cell.js +6 -5
  633. package/build/tree-grid/cell.js.map +1 -1
  634. package/build/tree-grid/index.js +13 -12
  635. package/build/tree-grid/index.js.map +1 -1
  636. package/build/tree-grid/item.js +5 -4
  637. package/build/tree-grid/item.js.map +1 -1
  638. package/build/tree-grid/roving-tab-index-context.js +1 -1
  639. package/build/tree-grid/roving-tab-index-item.js +6 -5
  640. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  641. package/build/tree-grid/roving-tab-index.js +4 -3
  642. package/build/tree-grid/roving-tab-index.js.map +1 -1
  643. package/build/tree-grid/row.js +9 -8
  644. package/build/tree-grid/row.js.map +1 -1
  645. package/build/tree-select/index.js +11 -9
  646. package/build/tree-select/index.js.map +1 -1
  647. package/build/truncate/hook.js +4 -2
  648. package/build/truncate/hook.js.map +1 -1
  649. package/build/truncate/types.js +4 -0
  650. package/build/truncate/utils.js +5 -3
  651. package/build/truncate/utils.js.map +1 -1
  652. package/build/ui/__storybook-utils/example-grid.js +40 -30
  653. package/build/ui/__storybook-utils/example-grid.js.map +1 -1
  654. package/build/ui/__storybook-utils/page.js +5 -4
  655. package/build/ui/__storybook-utils/page.js.map +1 -1
  656. package/build/ui/context/constants.js +1 -1
  657. package/build/ui/context/context-connect.js +3 -1
  658. package/build/ui/context/context-connect.js.map +1 -1
  659. package/build/ui/context/context-system-provider.js +10 -8
  660. package/build/ui/context/context-system-provider.js.map +1 -1
  661. package/build/ui/context/index.js +6 -6
  662. package/build/ui/context/utils.js +1 -1
  663. package/build/ui/context/wordpress-component.js +4 -0
  664. package/build/ui/control-group/hook.js +4 -2
  665. package/build/ui/control-group/hook.js.map +1 -1
  666. package/build/ui/control-group/styles.js +1 -1
  667. package/build/ui/control-group/types.js +4 -0
  668. package/build/ui/control-label/hook.js +4 -2
  669. package/build/ui/control-label/hook.js.map +1 -1
  670. package/build/ui/control-label/styles.js +1 -1
  671. package/build/ui/control-label/types.js +4 -0
  672. package/build/ui/form-group/form-group-content.js +13 -12
  673. package/build/ui/form-group/form-group-content.js.map +1 -1
  674. package/build/ui/form-group/form-group-help.js +4 -3
  675. package/build/ui/form-group/form-group-help.js.map +1 -1
  676. package/build/ui/form-group/form-group-label.js +7 -6
  677. package/build/ui/form-group/form-group-label.js.map +1 -1
  678. package/build/ui/form-group/types.js +4 -0
  679. package/build/ui/form-group/use-form-group.js +4 -2
  680. package/build/ui/form-group/use-form-group.js.map +1 -1
  681. package/build/ui/spinner/styles.js +1 -1
  682. package/build/ui/tooltip/content.js +4 -2
  683. package/build/ui/tooltip/content.js.map +1 -1
  684. package/build/ui/tooltip/styles.js +5 -3
  685. package/build/ui/tooltip/styles.js.map +1 -1
  686. package/build/ui/tooltip/types.js +4 -0
  687. package/build/ui/utils/font-size.js +7 -3
  688. package/build/ui/utils/font-size.js.map +1 -1
  689. package/build/ui/utils/get-high-dpi.js +5 -1
  690. package/build/ui/utils/get-high-dpi.js.map +1 -1
  691. package/build/ui/utils/types.js +4 -0
  692. package/build/ui/utils/use-responsive-value.js +5 -3
  693. package/build/ui/utils/use-responsive-value.js.map +1 -1
  694. package/build/unit-control/index.js +25 -22
  695. package/build/unit-control/index.js.map +1 -1
  696. package/build/unit-control/index.native.js +17 -16
  697. package/build/unit-control/index.native.js.map +1 -1
  698. package/build/unit-control/styles/unit-control-styles.js +13 -10
  699. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  700. package/build/unit-control/types.js +4 -0
  701. package/build/unit-control/unit-select-control.js +11 -9
  702. package/build/unit-control/unit-select-control.js.map +1 -1
  703. package/build/unit-control/utils.js +20 -13
  704. package/build/unit-control/utils.js.map +1 -1
  705. package/build/utils/browsers.js +10 -2
  706. package/build/utils/browsers.js.map +1 -1
  707. package/build/utils/colors-values.js +1 -1
  708. package/build/utils/colors.js +3 -1
  709. package/build/utils/colors.js.map +1 -1
  710. package/build/utils/hooks/emotion.d.js +4 -0
  711. package/build/utils/hooks/index.js +12 -4
  712. package/build/utils/hooks/index.js.map +1 -1
  713. package/build/utils/hooks/use-combined-ref.js +32 -0
  714. package/build/utils/hooks/use-combined-ref.js.map +1 -0
  715. package/build/utils/hooks/use-controlled-state.js +2 -1
  716. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  717. package/build/utils/hooks/use-controlled-value.js +6 -5
  718. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  719. package/build/utils/hooks/use-cx.js +5 -1
  720. package/build/utils/hooks/use-cx.js.map +1 -1
  721. package/build/utils/input/base.js +1 -1
  722. package/build/utils/math.js +19 -7
  723. package/build/utils/math.js.map +1 -1
  724. package/build/utils/reduce-motion.js +2 -1
  725. package/build/utils/reduce-motion.js.map +1 -1
  726. package/build/utils/rtl.js +6 -3
  727. package/build/utils/rtl.js.map +1 -1
  728. package/build/utils/style-mixins.js +12 -12
  729. package/build/utils/types.js +4 -0
  730. package/build/utils/unit-values.js +1 -1
  731. package/build/utils/values.js +10 -6
  732. package/build/utils/values.js.map +1 -1
  733. package/build/v-stack/types.js +4 -0
  734. package/build/z-stack/styles.js +24 -15
  735. package/build/z-stack/styles.js.map +1 -1
  736. package/build-module/alignment-matrix-control/cell.js +6 -5
  737. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  738. package/build-module/alignment-matrix-control/icon.js +9 -8
  739. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  740. package/build-module/alignment-matrix-control/index.js +11 -10
  741. package/build-module/alignment-matrix-control/index.js.map +1 -1
  742. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +8 -6
  743. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  744. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -6
  745. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  746. package/build-module/alignment-matrix-control/utils.js +2 -1
  747. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  748. package/build-module/angle-picker-control/angle-circle.js +6 -5
  749. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  750. package/build-module/angle-picker-control/index.js +11 -7
  751. package/build-module/angle-picker-control/index.js.map +1 -1
  752. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  753. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  754. package/build-module/animate/index.js +6 -5
  755. package/build-module/animate/index.js.map +1 -1
  756. package/build-module/autocomplete/autocompleter-ui.js +13 -12
  757. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  758. package/build-module/autocomplete/autocompleter-ui.native.js +14 -11
  759. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  760. package/build-module/autocomplete/background-view.android.js +4 -3
  761. package/build-module/autocomplete/background-view.android.js.map +1 -1
  762. package/build-module/autocomplete/background-view.ios.js +4 -3
  763. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  764. package/build-module/autocomplete/get-default-use-items.js +3 -1
  765. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  766. package/build-module/autocomplete/index.js +19 -16
  767. package/build-module/autocomplete/index.js.map +1 -1
  768. package/build-module/base-control/index.js +15 -13
  769. package/build-module/base-control/index.js.map +1 -1
  770. package/build-module/base-control/index.native.js +6 -5
  771. package/build-module/base-control/index.native.js.map +1 -1
  772. package/build-module/box-control/all-input-control.js +12 -11
  773. package/build-module/box-control/all-input-control.js.map +1 -1
  774. package/build-module/box-control/axial-input-controls.js +13 -11
  775. package/build-module/box-control/axial-input-controls.js.map +1 -1
  776. package/build-module/box-control/icon.js +8 -6
  777. package/build-module/box-control/icon.js.map +1 -1
  778. package/build-module/box-control/index.js +22 -18
  779. package/build-module/box-control/index.js.map +1 -1
  780. package/build-module/box-control/input-controls.js +17 -14
  781. package/build-module/box-control/input-controls.js.map +1 -1
  782. package/build-module/box-control/linked-button.js +5 -4
  783. package/build-module/box-control/linked-button.js.map +1 -1
  784. package/build-module/box-control/styles/box-control-icon-styles.js +4 -3
  785. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  786. package/build-module/box-control/styles/box-control-styles.js +12 -9
  787. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  788. package/build-module/box-control/styles/box-control-visualizer-styles.js +11 -7
  789. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  790. package/build-module/box-control/unit-control.js +22 -18
  791. package/build-module/box-control/unit-control.js.map +1 -1
  792. package/build-module/box-control/utils.js +6 -2
  793. package/build-module/box-control/utils.js.map +1 -1
  794. package/build-module/box-control/visualizer.js +32 -26
  795. package/build-module/box-control/visualizer.js.map +1 -1
  796. package/build-module/button/deprecated.js +8 -7
  797. package/build-module/button/deprecated.js.map +1 -1
  798. package/build-module/button/index.js +10 -9
  799. package/build-module/button/index.js.map +1 -1
  800. package/build-module/button-group/index.js +5 -4
  801. package/build-module/button-group/index.js.map +1 -1
  802. package/build-module/card/card/hook.js +7 -5
  803. package/build-module/card/card/hook.js.map +1 -1
  804. package/build-module/card/types.js +1 -1
  805. package/build-module/checkbox-control/index.js +11 -9
  806. package/build-module/checkbox-control/index.js.map +1 -1
  807. package/build-module/circular-option-picker/index.js +40 -33
  808. package/build-module/circular-option-picker/index.js.map +1 -1
  809. package/build-module/clipboard-button/index.js +9 -8
  810. package/build-module/clipboard-button/index.js.map +1 -1
  811. package/build-module/color-control/index.native.js +8 -7
  812. package/build-module/color-control/index.native.js.map +1 -1
  813. package/build-module/color-edit/index.js +197 -210
  814. package/build-module/color-edit/index.js.map +1 -1
  815. package/build-module/color-edit/styles.js +90 -0
  816. package/build-module/color-edit/styles.js.map +1 -0
  817. package/build-module/color-indicator/index.js +13 -10
  818. package/build-module/color-indicator/index.js.map +1 -1
  819. package/build-module/color-indicator/index.native.js +12 -10
  820. package/build-module/color-indicator/index.native.js.map +1 -1
  821. package/build-module/color-list-picker/index.js +22 -15
  822. package/build-module/color-list-picker/index.js.map +1 -1
  823. package/build-module/color-palette/index.js +101 -30
  824. package/build-module/color-palette/index.js.map +1 -1
  825. package/build-module/color-palette/index.native.js +23 -20
  826. package/build-module/color-palette/index.native.js.map +1 -1
  827. package/build-module/color-palette/styles.js +27 -0
  828. package/build-module/color-palette/styles.js.map +1 -0
  829. package/build-module/color-picker/color-display.js +35 -27
  830. package/build-module/color-picker/color-display.js.map +1 -1
  831. package/build-module/color-picker/color-input.js +7 -6
  832. package/build-module/color-picker/color-input.js.map +1 -1
  833. package/build-module/color-picker/component.js +7 -16
  834. package/build-module/color-picker/component.js.map +1 -1
  835. package/build-module/color-picker/hex-input.js +7 -5
  836. package/build-module/color-picker/hex-input.js.map +1 -1
  837. package/build-module/color-picker/hsl-input.js +6 -5
  838. package/build-module/color-picker/hsl-input.js.map +1 -1
  839. package/build-module/color-picker/index.native.js +23 -20
  840. package/build-module/color-picker/index.native.js.map +1 -1
  841. package/build-module/color-picker/input-with-slider.js +9 -8
  842. package/build-module/color-picker/input-with-slider.js.map +1 -1
  843. package/build-module/color-picker/picker.js +10 -9
  844. package/build-module/color-picker/picker.js.map +1 -1
  845. package/build-module/color-picker/rgb-input.js +6 -5
  846. package/build-module/color-picker/rgb-input.js.map +1 -1
  847. package/build-module/color-picker/types.js +1 -1
  848. package/build-module/combobox-control/index.js +17 -15
  849. package/build-module/combobox-control/index.js.map +1 -1
  850. package/build-module/custom-gradient-bar/control-points.js +118 -106
  851. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  852. package/build-module/custom-gradient-bar/index.js +13 -11
  853. package/build-module/custom-gradient-bar/index.js.map +1 -1
  854. package/build-module/custom-gradient-bar/utils.js +6 -4
  855. package/build-module/custom-gradient-bar/utils.js.map +1 -1
  856. package/build-module/custom-gradient-picker/index.js +17 -14
  857. package/build-module/custom-gradient-picker/index.js.map +1 -1
  858. package/build-module/custom-gradient-picker/index.native.js +6 -5
  859. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  860. package/build-module/custom-gradient-picker/serializer.js +18 -14
  861. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  862. package/build-module/custom-gradient-picker/utils.js +5 -4
  863. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  864. package/build-module/custom-select-control/index.js +22 -18
  865. package/build-module/custom-select-control/index.js.map +1 -1
  866. package/build-module/dashicon/index.js +6 -5
  867. package/build-module/dashicon/index.js.map +1 -1
  868. package/build-module/dashicon/index.native.js +5 -4
  869. package/build-module/dashicon/index.native.js.map +1 -1
  870. package/build-module/dashicon/types.js +1 -1
  871. package/build-module/date-time/date.js +5 -4
  872. package/build-module/date-time/date.js.map +1 -1
  873. package/build-module/date-time/index.js +9 -8
  874. package/build-module/date-time/index.js.map +1 -1
  875. package/build-module/date-time/time.js +14 -11
  876. package/build-module/date-time/time.js.map +1 -1
  877. package/build-module/dimension-control/index.js +10 -7
  878. package/build-module/dimension-control/index.js.map +1 -1
  879. package/build-module/disabled/index.js +8 -6
  880. package/build-module/disabled/index.js.map +1 -1
  881. package/build-module/disabled/index.native.js +4 -3
  882. package/build-module/disabled/index.native.js.map +1 -1
  883. package/build-module/divider/styles.js +7 -5
  884. package/build-module/divider/styles.js.map +1 -1
  885. package/build-module/divider/types.js +1 -1
  886. package/build-module/draggable/index.js +13 -11
  887. package/build-module/draggable/index.js.map +1 -1
  888. package/build-module/drop-zone/index.js +8 -7
  889. package/build-module/drop-zone/index.js.map +1 -1
  890. package/build-module/drop-zone/provider.js +4 -3
  891. package/build-module/drop-zone/provider.js.map +1 -1
  892. package/build-module/dropdown/index.js +14 -13
  893. package/build-module/dropdown/index.js.map +1 -1
  894. package/build-module/dropdown-menu/index.js +9 -5
  895. package/build-module/dropdown-menu/index.js.map +1 -1
  896. package/build-module/dropdown-menu/index.native.js +26 -19
  897. package/build-module/dropdown-menu/index.native.js.map +1 -1
  898. package/build-module/duotone-picker/custom-duotone-bar.js +5 -5
  899. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  900. package/build-module/duotone-picker/duotone-picker.js +16 -13
  901. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  902. package/build-module/duotone-picker/duotone-swatch.js +4 -3
  903. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  904. package/build-module/duotone-picker/utils.js +27 -14
  905. package/build-module/duotone-picker/utils.js.map +1 -1
  906. package/build-module/elevation/types.js +1 -1
  907. package/build-module/external-link/index.js +8 -7
  908. package/build-module/external-link/index.js.map +1 -1
  909. package/build-module/external-link/index.native.js +5 -4
  910. package/build-module/external-link/index.native.js.map +1 -1
  911. package/build-module/flex/flex/hook.js +6 -4
  912. package/build-module/flex/flex/hook.js.map +1 -1
  913. package/build-module/flex/types.js +1 -1
  914. package/build-module/flyout/types.js +1 -1
  915. package/build-module/flyout/utils.js +4 -3
  916. package/build-module/flyout/utils.js.map +1 -1
  917. package/build-module/focal-point-picker/controls.js +8 -7
  918. package/build-module/focal-point-picker/controls.js.map +1 -1
  919. package/build-module/focal-point-picker/focal-point.js +8 -7
  920. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  921. package/build-module/focal-point-picker/focal-point.native.js +6 -5
  922. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  923. package/build-module/focal-point-picker/grid.js +6 -5
  924. package/build-module/focal-point-picker/grid.js.map +1 -1
  925. package/build-module/focal-point-picker/index.js +2 -1
  926. package/build-module/focal-point-picker/index.js.map +1 -1
  927. package/build-module/focal-point-picker/media.js +19 -16
  928. package/build-module/focal-point-picker/media.js.map +1 -1
  929. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +7 -4
  930. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  931. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -3
  932. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  933. package/build-module/focal-point-picker/tooltip/index.native.js +18 -15
  934. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  935. package/build-module/focal-point-picker/utils.js +4 -2
  936. package/build-module/focal-point-picker/utils.js.map +1 -1
  937. package/build-module/focusable-iframe/index.js +5 -4
  938. package/build-module/focusable-iframe/index.js.map +1 -1
  939. package/build-module/font-size-picker/index.js +20 -15
  940. package/build-module/font-size-picker/index.js.map +1 -1
  941. package/build-module/font-size-picker/index.native.js +7 -6
  942. package/build-module/font-size-picker/index.native.js.map +1 -1
  943. package/build-module/font-size-picker/utils.js +19 -15
  944. package/build-module/font-size-picker/utils.js.map +1 -1
  945. package/build-module/footer-message-control/index.native.js +3 -2
  946. package/build-module/footer-message-control/index.native.js.map +1 -1
  947. package/build-module/form-file-upload/index.js +9 -8
  948. package/build-module/form-file-upload/index.js.map +1 -1
  949. package/build-module/form-toggle/index.js +9 -8
  950. package/build-module/form-toggle/index.js.map +1 -1
  951. package/build-module/form-token-field/index.js +8 -2
  952. package/build-module/form-token-field/index.js.map +1 -1
  953. package/build-module/form-token-field/token.js +15 -14
  954. package/build-module/form-token-field/token.js.map +1 -1
  955. package/build-module/gradient-picker/index.js +97 -32
  956. package/build-module/gradient-picker/index.js.map +1 -1
  957. package/build-module/grid/types.js +1 -1
  958. package/build-module/guide/icons.js +16 -13
  959. package/build-module/guide/icons.js.map +1 -1
  960. package/build-module/guide/index.js +9 -8
  961. package/build-module/guide/index.js.map +1 -1
  962. package/build-module/guide/page-control.js +6 -5
  963. package/build-module/guide/page-control.js.map +1 -1
  964. package/build-module/h-stack/types.js +1 -1
  965. package/build-module/h-stack/utils.js +3 -1
  966. package/build-module/h-stack/utils.js.map +1 -1
  967. package/build-module/higher-order/navigate-regions/index.js +19 -13
  968. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  969. package/build-module/higher-order/with-focus-return/index.js +17 -13
  970. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  971. package/build-module/icon/index.js +7 -5
  972. package/build-module/icon/index.js.map +1 -1
  973. package/build-module/index.native.js +1 -0
  974. package/build-module/index.native.js.map +1 -1
  975. package/build-module/input-control/backdrop.js +5 -4
  976. package/build-module/input-control/backdrop.js.map +1 -1
  977. package/build-module/input-control/index.js +20 -19
  978. package/build-module/input-control/index.js.map +1 -1
  979. package/build-module/input-control/input-base.js +16 -15
  980. package/build-module/input-control/input-base.js.map +1 -1
  981. package/build-module/input-control/input-field.js +24 -23
  982. package/build-module/input-control/input-field.js.map +1 -1
  983. package/build-module/input-control/label.js +7 -6
  984. package/build-module/input-control/label.js.map +1 -1
  985. package/build-module/input-control/reducer/reducer.js +15 -4
  986. package/build-module/input-control/reducer/reducer.js.map +1 -1
  987. package/build-module/input-control/styles/input-control-styles.js +48 -36
  988. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  989. package/build-module/input-control/types.js +1 -1
  990. package/build-module/isolated-event-container/index.js +5 -4
  991. package/build-module/isolated-event-container/index.js.map +1 -1
  992. package/build-module/item-group/types.js +1 -1
  993. package/build-module/keyboard-shortcuts/index.js +15 -13
  994. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  995. package/build-module/menu-items-choice/index.js +7 -6
  996. package/build-module/menu-items-choice/index.js.map +1 -1
  997. package/build-module/mobile/audio-player/index.native.js +8 -7
  998. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  999. package/build-module/mobile/badge/index.native.js +6 -5
  1000. package/build-module/mobile/badge/index.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
  1002. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
  1004. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/button.native.js +21 -18
  1006. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
  1008. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
  1010. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
  1012. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/index.native.js +24 -17
  1014. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet/link-cell.native.js +9 -7
  1016. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
  1018. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  1019. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
  1020. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  1021. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
  1022. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  1023. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
  1024. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  1025. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
  1026. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  1027. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
  1028. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  1029. package/build-module/mobile/bottom-sheet/range-text-input.native.js +6 -5
  1030. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1031. package/build-module/mobile/bottom-sheet/ripple.native.js +11 -10
  1032. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1033. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
  1034. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1035. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
  1036. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1037. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
  1038. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1039. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
  1040. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1041. package/build-module/mobile/bottom-sheet-select-control/index.native.js +8 -7
  1042. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1043. package/build-module/mobile/bottom-sheet-text-control/index.native.js +9 -8
  1044. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1045. package/build-module/mobile/color-settings/index.native.js +11 -10
  1046. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1047. package/build-module/mobile/cycle-select-control/index.native.js +12 -11
  1048. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1049. package/build-module/mobile/focal-point-settings-panel/index.native.js +7 -6
  1050. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1051. package/build-module/mobile/global-styles-context/utils.native.js +5 -3
  1052. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1053. package/build-module/mobile/gradient/index.native.js +11 -10
  1054. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1055. package/build-module/mobile/html-text-input/container.android.js +12 -9
  1056. package/build-module/mobile/html-text-input/container.android.js.map +1 -1
  1057. package/build-module/mobile/image/image-editing-button.native.js +26 -22
  1058. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1059. package/build-module/mobile/image/index.native.js +23 -22
  1060. package/build-module/mobile/image/index.native.js.map +1 -1
  1061. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +29 -22
  1062. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1063. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
  1064. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1065. package/build-module/mobile/layout-animation/index.native.js +2 -1
  1066. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1067. package/build-module/mobile/link-picker/index.native.js +12 -10
  1068. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1069. package/build-module/mobile/link-picker/link-picker-results.native.js +48 -34
  1070. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1071. package/build-module/mobile/link-picker/link-picker-screen.native.js +9 -7
  1072. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1073. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +122 -0
  1074. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  1075. package/build-module/mobile/link-settings/index.native.js +59 -57
  1076. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1077. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1078. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  1079. package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
  1080. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  1081. package/build-module/mobile/picker/index.android.js +4 -2
  1082. package/build-module/mobile/picker/index.android.js.map +1 -1
  1083. package/build-module/mobile/picker/index.ios.js +6 -3
  1084. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1085. package/build-module/mobile/readable-content-view/index.native.js +11 -9
  1086. package/build-module/mobile/readable-content-view/index.native.js.map +1 -1
  1087. package/build-module/mobile/segmented-control/index.native.js +16 -14
  1088. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1089. package/build-module/mobile/utils/index.native.js +2 -1
  1090. package/build-module/mobile/utils/index.native.js.map +1 -1
  1091. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -3
  1092. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1093. package/build-module/modal/index.js +35 -28
  1094. package/build-module/modal/index.js.map +1 -1
  1095. package/build-module/navigable-container/menu.js +7 -5
  1096. package/build-module/navigable-container/menu.js.map +1 -1
  1097. package/build-module/navigable-container/tabbable.js +6 -4
  1098. package/build-module/navigable-container/tabbable.js.map +1 -1
  1099. package/build-module/navigation/back-button/index.js +8 -7
  1100. package/build-module/navigation/back-button/index.js.map +1 -1
  1101. package/build-module/navigation/group/index.js +7 -7
  1102. package/build-module/navigation/group/index.js.map +1 -1
  1103. package/build-module/navigation/index.js +11 -8
  1104. package/build-module/navigation/index.js.map +1 -1
  1105. package/build-module/navigation/menu/menu-title-search.js +16 -31
  1106. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1107. package/build-module/navigation/menu/menu-title.js +11 -10
  1108. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1109. package/build-module/navigation/menu/search-no-results-found.js +4 -3
  1110. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1111. package/build-module/navigation/styles/navigation-styles.js +31 -27
  1112. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  1113. package/build-module/navigator/types.js +1 -1
  1114. package/build-module/notice/index.js +26 -24
  1115. package/build-module/notice/index.js.map +1 -1
  1116. package/build-module/notice/index.native.js +7 -6
  1117. package/build-module/notice/index.native.js.map +1 -1
  1118. package/build-module/notice/list.js +8 -6
  1119. package/build-module/notice/list.js.map +1 -1
  1120. package/build-module/number-control/index.js +18 -17
  1121. package/build-module/number-control/index.js.map +1 -1
  1122. package/build-module/number-control/styles/number-control-styles.js +4 -3
  1123. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1124. package/build-module/panel/actions.native.js +10 -8
  1125. package/build-module/panel/actions.native.js.map +1 -1
  1126. package/build-module/panel/body.js +19 -17
  1127. package/build-module/panel/body.js.map +1 -1
  1128. package/build-module/panel/body.native.js +7 -6
  1129. package/build-module/panel/body.native.js.map +1 -1
  1130. package/build-module/panel/bottom-separator-cover.native.js +4 -3
  1131. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1132. package/build-module/panel/header.js +5 -4
  1133. package/build-module/panel/header.js.map +1 -1
  1134. package/build-module/panel/index.js +6 -5
  1135. package/build-module/panel/index.js.map +1 -1
  1136. package/build-module/panel/row.js +10 -7
  1137. package/build-module/panel/row.js.map +1 -1
  1138. package/build-module/placeholder/index.js +12 -11
  1139. package/build-module/placeholder/index.js.map +1 -1
  1140. package/build-module/popover/index.js +49 -39
  1141. package/build-module/popover/index.js.map +1 -1
  1142. package/build-module/popover/utils.js +9 -1
  1143. package/build-module/popover/utils.js.map +1 -1
  1144. package/build-module/query-controls/author-select.js +8 -7
  1145. package/build-module/query-controls/author-select.js.map +1 -1
  1146. package/build-module/query-controls/category-select.js +9 -8
  1147. package/build-module/query-controls/category-select.js.map +1 -1
  1148. package/build-module/query-controls/index.js +19 -18
  1149. package/build-module/query-controls/index.js.map +1 -1
  1150. package/build-module/query-controls/index.native.js +14 -13
  1151. package/build-module/query-controls/index.native.js.map +1 -1
  1152. package/build-module/radio/index.js +6 -5
  1153. package/build-module/radio/index.js.map +1 -1
  1154. package/build-module/radio-control/index.js +11 -10
  1155. package/build-module/radio-control/index.js.map +1 -1
  1156. package/build-module/radio-control/index.native.js +7 -6
  1157. package/build-module/radio-control/index.native.js.map +1 -1
  1158. package/build-module/radio-group/index.js +9 -8
  1159. package/build-module/radio-group/index.js.map +1 -1
  1160. package/build-module/range-control/index.js +33 -32
  1161. package/build-module/range-control/index.js.map +1 -1
  1162. package/build-module/range-control/index.native.js +20 -18
  1163. package/build-module/range-control/index.native.js.map +1 -1
  1164. package/build-module/range-control/input-range.js +11 -10
  1165. package/build-module/range-control/input-range.js.map +1 -1
  1166. package/build-module/range-control/mark.js +8 -7
  1167. package/build-module/range-control/mark.js.map +1 -1
  1168. package/build-module/range-control/rail.js +29 -24
  1169. package/build-module/range-control/rail.js.map +1 -1
  1170. package/build-module/range-control/styles/range-control-styles.js +81 -63
  1171. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1172. package/build-module/range-control/tooltip.js +17 -15
  1173. package/build-module/range-control/tooltip.js.map +1 -1
  1174. package/build-module/range-control/utils.js +15 -13
  1175. package/build-module/range-control/utils.js.map +1 -1
  1176. package/build-module/resizable-box/index.js +9 -8
  1177. package/build-module/resizable-box/index.js.map +1 -1
  1178. package/build-module/resizable-box/resize-tooltip/index.js +13 -12
  1179. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1180. package/build-module/resizable-box/resize-tooltip/label.js +7 -6
  1181. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1182. package/build-module/resizable-box/resize-tooltip/utils.js +19 -16
  1183. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1184. package/build-module/responsive-wrapper/index.js +7 -6
  1185. package/build-module/responsive-wrapper/index.js.map +1 -1
  1186. package/build-module/sandbox/index.js +12 -9
  1187. package/build-module/sandbox/index.js.map +1 -1
  1188. package/build-module/sandbox/index.native.js +15 -13
  1189. package/build-module/sandbox/index.native.js.map +1 -1
  1190. package/build-module/scrollable/types.js +1 -1
  1191. package/build-module/search-control/index.js +44 -22
  1192. package/build-module/search-control/index.js.map +1 -1
  1193. package/build-module/search-control/index.native.js +6 -5
  1194. package/build-module/search-control/index.native.js.map +1 -1
  1195. package/build-module/select-control/index.js +33 -26
  1196. package/build-module/select-control/index.js.map +1 -1
  1197. package/build-module/select-control/index.native.js +12 -11
  1198. package/build-module/select-control/index.native.js.map +1 -1
  1199. package/build-module/select-control/styles/select-control-styles.js +12 -9
  1200. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1201. package/build-module/select-control/types.js +1 -1
  1202. package/build-module/shortcut/index.js +6 -4
  1203. package/build-module/shortcut/index.js.map +1 -1
  1204. package/build-module/slot-fill/bubbles-virtually/fill.js +5 -4
  1205. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1206. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
  1207. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1208. package/build-module/slot-fill/bubbles-virtually/slot.js +7 -6
  1209. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1210. package/build-module/slot-fill/fill.js +17 -13
  1211. package/build-module/slot-fill/fill.js.map +1 -1
  1212. package/build-module/slot-fill/index.js +11 -8
  1213. package/build-module/slot-fill/index.js.map +1 -1
  1214. package/build-module/slot-fill/slot.js +12 -9
  1215. package/build-module/slot-fill/slot.js.map +1 -1
  1216. package/build-module/snackbar/index.js +22 -20
  1217. package/build-module/snackbar/index.js.map +1 -1
  1218. package/build-module/snackbar/list.js +7 -6
  1219. package/build-module/snackbar/list.js.map +1 -1
  1220. package/build-module/spacer/types.js +1 -1
  1221. package/build-module/style-provider/index.js +6 -4
  1222. package/build-module/style-provider/index.js.map +1 -1
  1223. package/build-module/style-provider/index.native.js +4 -3
  1224. package/build-module/style-provider/index.native.js.map +1 -1
  1225. package/build-module/surface/styles.js +7 -6
  1226. package/build-module/surface/styles.js.map +1 -1
  1227. package/build-module/surface/types.js +1 -1
  1228. package/build-module/swatch/index.js +4 -3
  1229. package/build-module/swatch/index.js.map +1 -1
  1230. package/build-module/tab-panel/index.js +26 -22
  1231. package/build-module/tab-panel/index.js.map +1 -1
  1232. package/build-module/text/styles/text-mixins.native.js +3 -1
  1233. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1234. package/build-module/text/styles.js +7 -7
  1235. package/build-module/text/styles.js.map +1 -1
  1236. package/build-module/text/types.js +1 -1
  1237. package/build-module/text/utils.js +17 -16
  1238. package/build-module/text/utils.js.map +1 -1
  1239. package/build-module/text-control/index.js +13 -12
  1240. package/build-module/text-control/index.js.map +1 -1
  1241. package/build-module/text-control/index.native.js +13 -12
  1242. package/build-module/text-control/index.native.js.map +1 -1
  1243. package/build-module/text-highlight/index.js +5 -4
  1244. package/build-module/text-highlight/index.js.map +1 -1
  1245. package/build-module/textarea-control/index.js +11 -10
  1246. package/build-module/textarea-control/index.js.map +1 -1
  1247. package/build-module/textarea-control/index.native.js +8 -7
  1248. package/build-module/textarea-control/index.native.js.map +1 -1
  1249. package/build-module/toggle-control/index.js +10 -8
  1250. package/build-module/toggle-control/index.js.map +1 -1
  1251. package/build-module/toggle-control/index.native.js +10 -9
  1252. package/build-module/toggle-control/index.native.js.map +1 -1
  1253. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
  1254. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1255. package/build-module/toggle-group-control/types.js +1 -1
  1256. package/build-module/toolbar/index.js +7 -5
  1257. package/build-module/toolbar/index.js.map +1 -1
  1258. package/build-module/toolbar/toolbar-container.js +5 -4
  1259. package/build-module/toolbar/toolbar-container.js.map +1 -1
  1260. package/build-module/toolbar/toolbar-container.native.js +6 -3
  1261. package/build-module/toolbar/toolbar-container.native.js.map +1 -1
  1262. package/build-module/toolbar-button/index.js +11 -10
  1263. package/build-module/toolbar-button/index.js.map +1 -1
  1264. package/build-module/toolbar-group/index.js +9 -8
  1265. package/build-module/toolbar-group/index.js.map +1 -1
  1266. package/build-module/toolbar-group/toolbar-group-collapsed.js +6 -5
  1267. package/build-module/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1268. package/build-module/toolbar-group/toolbar-group-collapsed.native.js +7 -6
  1269. package/build-module/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1270. package/build-module/toolbar-group/toolbar-group-container.js +10 -7
  1271. package/build-module/toolbar-group/toolbar-group-container.js.map +1 -1
  1272. package/build-module/toolbar-group/toolbar-group-container.native.js +10 -7
  1273. package/build-module/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1274. package/build-module/toolbar-item/index.js +6 -5
  1275. package/build-module/toolbar-item/index.js.map +1 -1
  1276. package/build-module/toolbar-item/index.native.js +6 -4
  1277. package/build-module/toolbar-item/index.native.js.map +1 -1
  1278. package/build-module/tools-panel/styles.js +16 -23
  1279. package/build-module/tools-panel/styles.js.map +1 -1
  1280. package/build-module/tools-panel/tools-panel/component.js +10 -6
  1281. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  1282. package/build-module/tools-panel/tools-panel/hook.js +19 -12
  1283. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1284. package/build-module/tools-panel/tools-panel-header/component.js +41 -29
  1285. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1286. package/build-module/tools-panel/types.js +1 -1
  1287. package/build-module/tooltip/index.js +52 -41
  1288. package/build-module/tooltip/index.js.map +1 -1
  1289. package/build-module/tooltip/index.native.js +16 -13
  1290. package/build-module/tooltip/index.native.js.map +1 -1
  1291. package/build-module/tree-grid/cell.js +6 -5
  1292. package/build-module/tree-grid/cell.js.map +1 -1
  1293. package/build-module/tree-grid/index.js +7 -6
  1294. package/build-module/tree-grid/index.js.map +1 -1
  1295. package/build-module/tree-grid/item.js +5 -4
  1296. package/build-module/tree-grid/item.js.map +1 -1
  1297. package/build-module/tree-grid/roving-tab-index-item.js +6 -5
  1298. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1299. package/build-module/tree-grid/roving-tab-index.js +4 -3
  1300. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1301. package/build-module/tree-grid/row.js +9 -8
  1302. package/build-module/tree-grid/row.js.map +1 -1
  1303. package/build-module/tree-select/index.js +11 -9
  1304. package/build-module/tree-select/index.js.map +1 -1
  1305. package/build-module/truncate/types.js +1 -1
  1306. package/build-module/truncate/utils.js +3 -1
  1307. package/build-module/truncate/utils.js.map +1 -1
  1308. package/build-module/ui/__storybook-utils/example-grid.js +40 -30
  1309. package/build-module/ui/__storybook-utils/example-grid.js.map +1 -1
  1310. package/build-module/ui/__storybook-utils/page.js +5 -4
  1311. package/build-module/ui/__storybook-utils/page.js.map +1 -1
  1312. package/build-module/ui/context/context-connect.js +3 -1
  1313. package/build-module/ui/context/context-connect.js.map +1 -1
  1314. package/build-module/ui/context/context-system-provider.js +9 -7
  1315. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1316. package/build-module/ui/context/wordpress-component.js +1 -1
  1317. package/build-module/ui/control-group/types.js +1 -1
  1318. package/build-module/ui/control-label/types.js +1 -1
  1319. package/build-module/ui/form-group/form-group-content.js +13 -12
  1320. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1321. package/build-module/ui/form-group/form-group-help.js +4 -3
  1322. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1323. package/build-module/ui/form-group/form-group-label.js +7 -6
  1324. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1325. package/build-module/ui/form-group/types.js +1 -1
  1326. package/build-module/ui/tooltip/types.js +1 -1
  1327. package/build-module/ui/utils/font-size.js +6 -2
  1328. package/build-module/ui/utils/font-size.js.map +1 -1
  1329. package/build-module/ui/utils/get-high-dpi.js +5 -1
  1330. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1331. package/build-module/ui/utils/types.js +1 -1
  1332. package/build-module/ui/utils/use-responsive-value.js +4 -2
  1333. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1334. package/build-module/unit-control/index.js +20 -19
  1335. package/build-module/unit-control/index.js.map +1 -1
  1336. package/build-module/unit-control/index.native.js +16 -15
  1337. package/build-module/unit-control/index.native.js.map +1 -1
  1338. package/build-module/unit-control/styles/unit-control-styles.js +12 -9
  1339. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1340. package/build-module/unit-control/types.js +1 -1
  1341. package/build-module/unit-control/unit-select-control.js +11 -9
  1342. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1343. package/build-module/unit-control/utils.js +14 -8
  1344. package/build-module/unit-control/utils.js.map +1 -1
  1345. package/build-module/utils/browsers.js +10 -2
  1346. package/build-module/utils/browsers.js.map +1 -1
  1347. package/build-module/utils/colors.js +3 -1
  1348. package/build-module/utils/colors.js.map +1 -1
  1349. package/build-module/utils/hooks/emotion.d.js +1 -1
  1350. package/build-module/utils/hooks/index.js +1 -0
  1351. package/build-module/utils/hooks/index.js.map +1 -1
  1352. package/build-module/utils/hooks/use-combined-ref.js +29 -0
  1353. package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
  1354. package/build-module/utils/hooks/use-controlled-state.js +2 -1
  1355. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1356. package/build-module/utils/hooks/use-controlled-value.js +6 -5
  1357. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1358. package/build-module/utils/hooks/use-cx.js +5 -1
  1359. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1360. package/build-module/utils/math.js +17 -5
  1361. package/build-module/utils/math.js.map +1 -1
  1362. package/build-module/utils/reduce-motion.js +2 -1
  1363. package/build-module/utils/reduce-motion.js.map +1 -1
  1364. package/build-module/utils/rtl.js +5 -2
  1365. package/build-module/utils/rtl.js.map +1 -1
  1366. package/build-module/utils/types.js +1 -1
  1367. package/build-module/utils/values.js +9 -5
  1368. package/build-module/utils/values.js.map +1 -1
  1369. package/build-module/v-stack/types.js +1 -1
  1370. package/build-module/z-stack/styles.js +23 -14
  1371. package/build-module/z-stack/styles.js.map +1 -1
  1372. package/build-style/style-rtl.css +39 -51
  1373. package/build-style/style.css +39 -51
  1374. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  1375. package/build-types/tools-panel/styles.d.ts +1 -1
  1376. package/build-types/tools-panel/styles.d.ts.map +1 -1
  1377. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  1378. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  1379. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  1380. package/build-types/utils/hooks/index.d.ts +1 -0
  1381. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  1382. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  1383. package/package.json +16 -16
  1384. package/src/angle-picker-control/index.js +3 -1
  1385. package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
  1386. package/src/base-control/index.js +1 -1
  1387. package/src/circular-option-picker/style.scss +3 -5
  1388. package/src/color-edit/index.js +248 -274
  1389. package/src/color-edit/style.scss +4 -45
  1390. package/src/color-edit/styles.js +97 -0
  1391. package/src/color-list-picker/index.js +5 -0
  1392. package/src/color-list-picker/style.scss +4 -0
  1393. package/src/color-palette/index.js +90 -26
  1394. package/src/color-palette/style.scss +18 -0
  1395. package/src/color-palette/styles.js +19 -0
  1396. package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
  1397. package/src/color-picker/component.tsx +6 -17
  1398. package/src/color-picker/picker.tsx +6 -4
  1399. package/src/color-picker/test/index.js +0 -15
  1400. package/src/duotone-picker/custom-duotone-bar.js +0 -1
  1401. package/src/duotone-picker/duotone-picker.js +1 -0
  1402. package/src/gradient-picker/index.js +79 -11
  1403. package/src/heading/test/__snapshots__/index.js.snap +1 -1
  1404. package/src/index.native.js +1 -0
  1405. package/src/mobile/bottom-sheet/cell.native.js +7 -2
  1406. package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
  1407. package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
  1408. package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
  1409. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +4 -4
  1410. package/src/mobile/global-styles-context/utils.native.js +1 -1
  1411. package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
  1412. package/src/mobile/link-settings/index.native.js +3 -2
  1413. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1414. package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
  1415. package/src/mobile/link-settings/style.native.scss +17 -0
  1416. package/src/mobile/picker/index.android.js +2 -1
  1417. package/src/modal/README.md +8 -0
  1418. package/src/modal/index.js +60 -45
  1419. package/src/modal/style.scss +5 -0
  1420. package/src/navigation/group/index.js +1 -2
  1421. package/src/navigation/menu/menu-title-search.js +11 -26
  1422. package/src/navigation/menu/menu-title.js +4 -4
  1423. package/src/navigation/styles/navigation-styles.js +29 -52
  1424. package/src/popover/index.js +2 -2
  1425. package/src/range-control/styles/range-control-styles.js +4 -1
  1426. package/src/resizable-box/style.scss +5 -0
  1427. package/src/search-control/index.js +47 -23
  1428. package/src/style.scss +1 -0
  1429. package/src/text/styles.js +1 -1
  1430. package/src/text/test/__snapshots__/index.js.snap +2 -2
  1431. package/src/tools-panel/stories/index.js +21 -19
  1432. package/src/tools-panel/styles.ts +18 -26
  1433. package/src/tools-panel/tools-panel/component.tsx +7 -4
  1434. package/src/tools-panel/tools-panel/hook.ts +4 -1
  1435. package/src/tools-panel/tools-panel-header/component.tsx +1 -0
  1436. package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
  1437. package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
  1438. package/src/utils/hooks/index.js +1 -0
  1439. package/src/utils/hooks/use-combined-ref.ts +29 -0
  1440. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-bar/control-points.js"],"names":["ControlPointButton","isOpen","position","color","additionalProps","instanceId","descriptionId","left","ControlPoints","disableRemove","disableAlpha","gradientPickerDomRef","ignoreMarkerPosition","value","controlPoints","onChange","onStartControlPointChange","onStopControlPointChange","controlPointMoveState","onMouseMove","event","relativePosition","clientX","current","GRADIENT_MARKERS_WIDTH","initialPosition","index","significantMoveHappened","Math","abs","MINIMUM_SIGNIFICANT_MOVE","cleanEventListeners","window","removeEventListener","listenersActivated","map","point","onToggle","addEventListener","keyCode","LEFT","stopPropagation","KEYBOARD_CONTROL_POINT_VARIATION","RIGHT","onClose","toRgbString","COLOR_POPOVER_PROPS","InsertPoint","onOpenInserter","onCloseInserter","insertPosition","alreadyInsertedPoint","setAlreadyInsertedPoint","plus","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\nimport { LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport Dropdown from '../dropdown';\nimport { VisuallyHidden } from '../visually-hidden';\n\nimport {\n\taddControlPoint,\n\tclampPercent,\n\tremoveControlPoint,\n\tupdateControlPointColor,\n\tupdateControlPointColorByPosition,\n\tupdateControlPointPosition,\n\tgetHorizontalRelativeGradientPosition,\n} from './utils';\nimport {\n\tCOLOR_POPOVER_PROPS,\n\tGRADIENT_MARKERS_WIDTH,\n\tMINIMUM_SIGNIFICANT_MOVE,\n\tKEYBOARD_CONTROL_POINT_VARIATION,\n} from './constants';\n\nfunction ControlPointButton( { isOpen, position, color, ...additionalProps } ) {\n\tconst instanceId = useInstanceId( ControlPointButton );\n\tconst descriptionId = `components-custom-gradient-picker__control-point-button-description-${ instanceId }`;\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t// translators: %1$s: gradient position e.g: 70, %2$s: gradient color code e.g: rgb(52,121,151).\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Gradient control point at position %1$s%% with color code %2$s.'\n\t\t\t\t\t),\n\t\t\t\t\tposition,\n\t\t\t\t\tcolor\n\t\t\t\t) }\n\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'components-custom-gradient-picker__control-point-button',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isOpen,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tleft: `${ position }%`,\n\t\t\t\t} }\n\t\t\t\t{ ...additionalProps }\n\t\t\t/>\n\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t{ __(\n\t\t\t\t\t'Use your left or right arrow keys or drag and drop with the mouse to change the gradient position. Press the button to change the color or remove the control point.'\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n\nfunction ControlPoints( {\n\tdisableRemove,\n\tdisableAlpha,\n\tgradientPickerDomRef,\n\tignoreMarkerPosition,\n\tvalue: controlPoints,\n\tonChange,\n\tonStartControlPointChange,\n\tonStopControlPointChange,\n} ) {\n\tconst controlPointMoveState = useRef();\n\n\tconst onMouseMove = ( event ) => {\n\t\tconst relativePosition = getHorizontalRelativeGradientPosition(\n\t\t\tevent.clientX,\n\t\t\tgradientPickerDomRef.current,\n\t\t\tGRADIENT_MARKERS_WIDTH\n\t\t);\n\t\tconst {\n\t\t\tinitialPosition,\n\t\t\tindex,\n\t\t\tsignificantMoveHappened,\n\t\t} = controlPointMoveState.current;\n\t\tif (\n\t\t\t! significantMoveHappened &&\n\t\t\tMath.abs( initialPosition - relativePosition ) >=\n\t\t\t\tMINIMUM_SIGNIFICANT_MOVE\n\t\t) {\n\t\t\tcontrolPointMoveState.current.significantMoveHappened = true;\n\t\t}\n\n\t\tonChange(\n\t\t\tupdateControlPointPosition( controlPoints, index, relativePosition )\n\t\t);\n\t};\n\n\tconst cleanEventListeners = () => {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.removeEventListener &&\n\t\t\tcontrolPointMoveState.current &&\n\t\t\tcontrolPointMoveState.current.listenersActivated\n\t\t) {\n\t\t\twindow.removeEventListener( 'mousemove', onMouseMove );\n\t\t\twindow.removeEventListener( 'mouseup', cleanEventListeners );\n\t\t\tonStopControlPointChange();\n\t\t\tcontrolPointMoveState.current.listenersActivated = false;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tcleanEventListeners();\n\t\t};\n\t}, [] );\n\n\treturn controlPoints.map( ( point, index ) => {\n\t\tconst initialPosition = point?.position;\n\t\treturn (\n\t\t\tignoreMarkerPosition !== initialPosition && (\n\t\t\t\t<Dropdown\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tonClose={ onStopControlPointChange }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<ControlPointButton\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current &&\n\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current\n\t\t\t\t\t\t\t\t\t\t.significantMoveHappened\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\t\t\tonStopControlPointChange();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseDown={ () => {\n\t\t\t\t\t\t\t\tif ( window && window.addEventListener ) {\n\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current = {\n\t\t\t\t\t\t\t\t\t\tinitialPosition,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tsignificantMoveHappened: false,\n\t\t\t\t\t\t\t\t\t\tlistenersActivated: true,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t'mousemove',\n\t\t\t\t\t\t\t\t\t\tonMouseMove\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t'mouseup',\n\t\t\t\t\t\t\t\t\t\tcleanEventListeners\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( event.keyCode === LEFT ) {\n\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\tpoint.position -\n\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else if ( event.keyCode === RIGHT ) {\n\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\tpoint.position +\n\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\tposition={ point.position }\n\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\tupdateControlPointColor(\n\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! disableRemove && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-custom-gradient-picker__remove-control-point\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\tremoveControlPoint(\n\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove Control Point' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\tpopoverProps={ COLOR_POPOVER_PROPS }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t} );\n}\n\nfunction InsertPoint( {\n\tvalue: controlPoints,\n\tonChange,\n\tonOpenInserter,\n\tonCloseInserter,\n\tinsertPosition,\n\tdisableAlpha,\n} ) {\n\tconst [ alreadyInsertedPoint, setAlreadyInsertedPoint ] = useState( false );\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"components-custom-gradient-picker__inserter\"\n\t\t\tonClose={ () => {\n\t\t\t\tonCloseInserter();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\tonCloseInserter();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( false );\n\t\t\t\t\t\t\tonOpenInserter();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"components-custom-gradient-picker__insert-point\"\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\tinsertPosition !== null\n\t\t\t\t\t\t\t\t? `${ insertPosition }%`\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\tif ( ! alreadyInsertedPoint ) {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\taddControlPoint(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( true );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tupdateControlPointColorByPosition(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tpopoverProps={ COLOR_POPOVER_PROPS }\n\t\t/>\n\t);\n}\nControlPoints.InsertPoint = InsertPoint;\n\nexport default ControlPoints;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-bar/control-points.js"],"names":["ControlPointButton","isOpen","position","color","additionalProps","instanceId","descriptionId","left","ControlPoints","disableRemove","disableAlpha","gradientPickerDomRef","ignoreMarkerPosition","value","controlPoints","onChange","onStartControlPointChange","onStopControlPointChange","controlPointMoveState","onMouseMove","event","relativePosition","clientX","current","GRADIENT_MARKERS_WIDTH","initialPosition","index","significantMoveHappened","Math","abs","MINIMUM_SIGNIFICANT_MOVE","cleanEventListeners","window","removeEventListener","listenersActivated","map","point","onToggle","addEventListener","keyCode","LEFT","stopPropagation","KEYBOARD_CONTROL_POINT_VARIATION","RIGHT","onClose","toRgbString","COLOR_POPOVER_PROPS","InsertPoint","onOpenInserter","onCloseInserter","insertPosition","alreadyInsertedPoint","setAlreadyInsertedPoint","plus","undefined"],"mappings":";;;;;;;;;AAUA;;;;AAPA;;AACA;;AAKA;;AAEA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAEA;;AASA;;AAhCA;AACA;AACA;;AAIA;AACA;AACA;;AAOA;AACA;AACA;AAsBA,SAASA,kBAAT,OAA+E;AAAA,MAAlD;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,QAAV;AAAoBC,IAAAA,KAApB;AAA2B,OAAGC;AAA9B,GAAkD;AAC9E,QAAMC,UAAU,GAAG,4BAAeL,kBAAf,CAAnB;AACA,QAAMM,aAAa,GAAI,uEAAuED,UAAY,EAA1G;AACA,SACC,qDACC,4BAAC,eAAD;AACC,kBAAa,oBACZ;AACA,kBACC,iEADD,CAFY,EAKZH,QALY,EAMZC,KANY,CADd;AASC,wBAAmBG,aATpB;AAUC,qBAAc,MAVf;AAWC,qBAAgBL,MAXjB;AAYC,IAAA,SAAS,EAAG,yBACX,yDADW,EAEX;AACC,mBAAaA;AADd,KAFW,CAZb;AAkBC,IAAA,KAAK,EAAG;AACPM,MAAAA,IAAI,EAAG,GAAGL,QAAU;AADb;AAlBT,KAqBME,eArBN,EADD,EAwBC,4BAAC,8BAAD;AAAgB,IAAA,EAAE,EAAGE;AAArB,KACG,cACD,sKADC,CADH,CAxBD,CADD;AAgCA;;AAED,SAASE,aAAT,QASI;AAAA,MAToB;AACvBC,IAAAA,aADuB;AAEvBC,IAAAA,YAFuB;AAGvBC,IAAAA,oBAHuB;AAIvBC,IAAAA,oBAJuB;AAKvBC,IAAAA,KAAK,EAAEC,aALgB;AAMvBC,IAAAA,QANuB;AAOvBC,IAAAA,yBAPuB;AAQvBC,IAAAA;AARuB,GASpB;AACH,QAAMC,qBAAqB,GAAG,sBAA9B;;AAEA,QAAMC,WAAW,GAAKC,KAAF,IAAa;AAChC,UAAMC,gBAAgB,GAAG,kDACxBD,KAAK,CAACE,OADkB,EAExBX,oBAAoB,CAACY,OAFG,EAGxBC,iCAHwB,CAAzB;AAKA,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,KAFK;AAGLC,MAAAA;AAHK,QAIFT,qBAAqB,CAACK,OAJ1B;;AAKA,QACC,CAAEI,uBAAF,IACAC,IAAI,CAACC,GAAL,CAAUJ,eAAe,GAAGJ,gBAA5B,KACCS,mCAHF,EAIE;AACDZ,MAAAA,qBAAqB,CAACK,OAAtB,CAA8BI,uBAA9B,GAAwD,IAAxD;AACA;;AAEDZ,IAAAA,QAAQ,CACP,uCAA4BD,aAA5B,EAA2CY,KAA3C,EAAkDL,gBAAlD,CADO,CAAR;AAGA,GAtBD;;AAwBA,QAAMU,mBAAmB,GAAG,MAAM;AACjC,QACCC,MAAM,IACNA,MAAM,CAACC,mBADP,IAEAf,qBAAqB,CAACK,OAFtB,IAGAL,qBAAqB,CAACK,OAAtB,CAA8BW,kBAJ/B,EAKE;AACDF,MAAAA,MAAM,CAACC,mBAAP,CAA4B,WAA5B,EAAyCd,WAAzC;AACAa,MAAAA,MAAM,CAACC,mBAAP,CAA4B,SAA5B,EAAuCF,mBAAvC;AACAd,MAAAA,wBAAwB;AACxBC,MAAAA,qBAAqB,CAACK,OAAtB,CAA8BW,kBAA9B,GAAmD,KAAnD;AACA;AACD,GAZD;;AAcA,0BAAW,MAAM;AAChB,WAAO,MAAM;AACZH,MAAAA,mBAAmB;AACnB,KAFD;AAGA,GAJD,EAIG,EAJH;AAMA,SAAOjB,aAAa,CAACqB,GAAd,CAAmB,CAAEC,KAAF,EAASV,KAAT,KAAoB;AAC7C,UAAMD,eAAe,GAAGW,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAElC,QAA/B;AACA,WACCU,oBAAoB,KAAKa,eAAzB,IACC,4BAAC,iBAAD;AACC,MAAA,GAAG,EAAGC,KADP;AAEC,MAAA,OAAO,EAAGT,wBAFX;AAGC,MAAA,YAAY,EAAG;AAAA,YAAE;AAAEhB,UAAAA,MAAF;AAAUoC,UAAAA;AAAV,SAAF;AAAA,eACd,4BAAC,kBAAD;AACC,UAAA,GAAG,EAAGX,KADP;AAEC,UAAA,OAAO,EAAG,MAAM;AACf,gBACCR,qBAAqB,CAACK,OAAtB,IACAL,qBAAqB,CAACK,OAAtB,CACEI,uBAHH,EAIE;AACD;AACA;;AACD,gBAAK1B,MAAL,EAAc;AACbgB,cAAAA,wBAAwB;AACxB,aAFD,MAEO;AACND,cAAAA,yBAAyB;AACzB;;AACDqB,YAAAA,QAAQ;AACR,WAhBF;AAiBC,UAAA,WAAW,EAAG,MAAM;AACnB,gBAAKL,MAAM,IAAIA,MAAM,CAACM,gBAAtB,EAAyC;AACxCpB,cAAAA,qBAAqB,CAACK,OAAtB,GAAgC;AAC/BE,gBAAAA,eAD+B;AAE/BC,gBAAAA,KAF+B;AAG/BC,gBAAAA,uBAAuB,EAAE,KAHM;AAI/BO,gBAAAA,kBAAkB,EAAE;AAJW,eAAhC;AAMAlB,cAAAA,yBAAyB;AACzBgB,cAAAA,MAAM,CAACM,gBAAP,CACC,WADD,EAECnB,WAFD;AAIAa,cAAAA,MAAM,CAACM,gBAAP,CACC,SADD,EAECP,mBAFD;AAIA;AACD,WAnCF;AAoCC,UAAA,SAAS,EAAKX,KAAF,IAAa;AACxB,gBAAKA,KAAK,CAACmB,OAAN,KAAkBC,cAAvB,EAA8B;AAC7B;AACA;AACApB,cAAAA,KAAK,CAACqB,eAAN;AACA1B,cAAAA,QAAQ,CACP,uCACCD,aADD,EAECY,KAFD,EAGC,yBACCU,KAAK,CAAClC,QAAN,GACCwC,2CAFF,CAHD,CADO,CAAR;AAUA,aAdD,MAcO,IAAKtB,KAAK,CAACmB,OAAN,KAAkBI,eAAvB,EAA+B;AACrC;AACA;AACAvB,cAAAA,KAAK,CAACqB,eAAN;AACA1B,cAAAA,QAAQ,CACP,uCACCD,aADD,EAECY,KAFD,EAGC,yBACCU,KAAK,CAAClC,QAAN,GACCwC,2CAFF,CAHD,CADO,CAAR;AAUA;AACD,WAlEF;AAmEC,UAAA,MAAM,EAAGzC,MAnEV;AAoEC,UAAA,QAAQ,EAAGmC,KAAK,CAAClC,QApElB;AAqEC,UAAA,KAAK,EAAGkC,KAAK,CAACjC;AArEf,UADc;AAAA,OAHhB;AA4EC,MAAA,aAAa,EAAG;AAAA,YAAE;AAAEyC,UAAAA;AAAF,SAAF;AAAA,eACf,qDACC,4BAAC,wBAAD;AACC,UAAA,WAAW,EAAG,CAAElC,YADjB;AAEC,UAAA,KAAK,EAAG0B,KAAK,CAACjC,KAFf;AAGC,UAAA,QAAQ,EAAKA,KAAF,IAAa;AACvBY,YAAAA,QAAQ,CACP,oCACCD,aADD,EAECY,KAFD,EAGC,oBAAQvB,KAAR,EAAgB0C,WAAhB,EAHD,CADO,CAAR;AAOA;AAXF,UADD,EAcG,CAAEpC,aAAF,IACD,4BAAC,eAAD;AACC,UAAA,SAAS,EAAC,yDADX;AAEC,UAAA,OAAO,EAAG,MAAM;AACfM,YAAAA,QAAQ,CACP,+BACCD,aADD,EAECY,KAFD,CADO,CAAR;AAMAkB,YAAAA,OAAO;AACP,WAVF;AAWC,UAAA,OAAO,EAAC;AAXT,WAaG,cAAI,sBAAJ,CAbH,CAfF,CADe;AAAA,OA5EjB;AA8GC,MAAA,YAAY,EAAGE;AA9GhB,MAFF;AAoHA,GAtHM,CAAP;AAuHA;;AAED,SAASC,WAAT,QAOI;AAAA,MAPkB;AACrBlC,IAAAA,KAAK,EAAEC,aADc;AAErBC,IAAAA,QAFqB;AAGrBiC,IAAAA,cAHqB;AAIrBC,IAAAA,eAJqB;AAKrBC,IAAAA,cALqB;AAMrBxC,IAAAA;AANqB,GAOlB;AACH,QAAM,CAAEyC,oBAAF,EAAwBC,uBAAxB,IAAoD,uBAAU,KAAV,CAA1D;AACA,SACC,4BAAC,iBAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,OAAO,EAAG,MAAM;AACfH,MAAAA,eAAe;AACf,KAJF;AAKC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEhD,QAAAA,MAAF;AAAUoC,QAAAA;AAAV,OAAF;AAAA,aACd,4BAAC,eAAD;AACC,yBAAgBpC,MADjB;AAEC,yBAAc,MAFf;AAGC,QAAA,OAAO,EAAG,MAAM;AACf,cAAKA,MAAL,EAAc;AACbgD,YAAAA,eAAe;AACf,WAFD,MAEO;AACNG,YAAAA,uBAAuB,CAAE,KAAF,CAAvB;AACAJ,YAAAA,cAAc;AACd;;AACDX,UAAAA,QAAQ;AACR,SAXF;AAYC,QAAA,SAAS,EAAC,iDAZX;AAaC,QAAA,IAAI,EAAGgB,WAbR;AAcC,QAAA,KAAK,EAAG;AACP9C,UAAAA,IAAI,EACH2C,cAAc,KAAK,IAAnB,GACI,GAAGA,cAAgB,GADvB,GAEGI;AAJG;AAdT,QADc;AAAA,KALhB;AA4BC,IAAA,aAAa,EAAG,MACf,4BAAC,wBAAD;AACC,MAAA,WAAW,EAAG,CAAE5C,YADjB;AAEC,MAAA,QAAQ,EAAKP,KAAF,IAAa;AACvB,YAAK,CAAEgD,oBAAP,EAA8B;AAC7BpC,UAAAA,QAAQ,CACP,4BACCD,aADD,EAECoC,cAFD,EAGC,oBAAQ/C,KAAR,EAAgB0C,WAAhB,EAHD,CADO,CAAR;AAOAO,UAAAA,uBAAuB,CAAE,IAAF,CAAvB;AACA,SATD,MASO;AACNrC,UAAAA,QAAQ,CACP,8CACCD,aADD,EAECoC,cAFD,EAGC,oBAAQ/C,KAAR,EAAgB0C,WAAhB,EAHD,CADO,CAAR;AAOA;AACD;AArBF,MA7BF;AAqDC,IAAA,YAAY,EAAGC;AArDhB,IADD;AAyDA;;AACDtC,aAAa,CAACuC,WAAd,GAA4BA,WAA5B;eAEevC,a","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\nimport { LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport Dropdown from '../dropdown';\nimport { VisuallyHidden } from '../visually-hidden';\n\nimport {\n\taddControlPoint,\n\tclampPercent,\n\tremoveControlPoint,\n\tupdateControlPointColor,\n\tupdateControlPointColorByPosition,\n\tupdateControlPointPosition,\n\tgetHorizontalRelativeGradientPosition,\n} from './utils';\nimport {\n\tCOLOR_POPOVER_PROPS,\n\tGRADIENT_MARKERS_WIDTH,\n\tMINIMUM_SIGNIFICANT_MOVE,\n\tKEYBOARD_CONTROL_POINT_VARIATION,\n} from './constants';\n\nfunction ControlPointButton( { isOpen, position, color, ...additionalProps } ) {\n\tconst instanceId = useInstanceId( ControlPointButton );\n\tconst descriptionId = `components-custom-gradient-picker__control-point-button-description-${ instanceId }`;\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t// translators: %1$s: gradient position e.g: 70, %2$s: gradient color code e.g: rgb(52,121,151).\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Gradient control point at position %1$s%% with color code %2$s.'\n\t\t\t\t\t),\n\t\t\t\t\tposition,\n\t\t\t\t\tcolor\n\t\t\t\t) }\n\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'components-custom-gradient-picker__control-point-button',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isOpen,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tleft: `${ position }%`,\n\t\t\t\t} }\n\t\t\t\t{ ...additionalProps }\n\t\t\t/>\n\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t{ __(\n\t\t\t\t\t'Use your left or right arrow keys or drag and drop with the mouse to change the gradient position. Press the button to change the color or remove the control point.'\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n\nfunction ControlPoints( {\n\tdisableRemove,\n\tdisableAlpha,\n\tgradientPickerDomRef,\n\tignoreMarkerPosition,\n\tvalue: controlPoints,\n\tonChange,\n\tonStartControlPointChange,\n\tonStopControlPointChange,\n} ) {\n\tconst controlPointMoveState = useRef();\n\n\tconst onMouseMove = ( event ) => {\n\t\tconst relativePosition = getHorizontalRelativeGradientPosition(\n\t\t\tevent.clientX,\n\t\t\tgradientPickerDomRef.current,\n\t\t\tGRADIENT_MARKERS_WIDTH\n\t\t);\n\t\tconst {\n\t\t\tinitialPosition,\n\t\t\tindex,\n\t\t\tsignificantMoveHappened,\n\t\t} = controlPointMoveState.current;\n\t\tif (\n\t\t\t! significantMoveHappened &&\n\t\t\tMath.abs( initialPosition - relativePosition ) >=\n\t\t\t\tMINIMUM_SIGNIFICANT_MOVE\n\t\t) {\n\t\t\tcontrolPointMoveState.current.significantMoveHappened = true;\n\t\t}\n\n\t\tonChange(\n\t\t\tupdateControlPointPosition( controlPoints, index, relativePosition )\n\t\t);\n\t};\n\n\tconst cleanEventListeners = () => {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.removeEventListener &&\n\t\t\tcontrolPointMoveState.current &&\n\t\t\tcontrolPointMoveState.current.listenersActivated\n\t\t) {\n\t\t\twindow.removeEventListener( 'mousemove', onMouseMove );\n\t\t\twindow.removeEventListener( 'mouseup', cleanEventListeners );\n\t\t\tonStopControlPointChange();\n\t\t\tcontrolPointMoveState.current.listenersActivated = false;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tcleanEventListeners();\n\t\t};\n\t}, [] );\n\n\treturn controlPoints.map( ( point, index ) => {\n\t\tconst initialPosition = point?.position;\n\t\treturn (\n\t\t\tignoreMarkerPosition !== initialPosition && (\n\t\t\t\t<Dropdown\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tonClose={ onStopControlPointChange }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<ControlPointButton\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current &&\n\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current\n\t\t\t\t\t\t\t\t\t\t.significantMoveHappened\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\t\t\tonStopControlPointChange();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseDown={ () => {\n\t\t\t\t\t\t\t\tif ( window && window.addEventListener ) {\n\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current = {\n\t\t\t\t\t\t\t\t\t\tinitialPosition,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tsignificantMoveHappened: false,\n\t\t\t\t\t\t\t\t\t\tlistenersActivated: true,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t'mousemove',\n\t\t\t\t\t\t\t\t\t\tonMouseMove\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t'mouseup',\n\t\t\t\t\t\t\t\t\t\tcleanEventListeners\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( event.keyCode === LEFT ) {\n\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\tpoint.position -\n\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else if ( event.keyCode === RIGHT ) {\n\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\tpoint.position +\n\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\tposition={ point.position }\n\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\tupdateControlPointColor(\n\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! disableRemove && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-custom-gradient-picker__remove-control-point\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\tremoveControlPoint(\n\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove Control Point' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\tpopoverProps={ COLOR_POPOVER_PROPS }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t} );\n}\n\nfunction InsertPoint( {\n\tvalue: controlPoints,\n\tonChange,\n\tonOpenInserter,\n\tonCloseInserter,\n\tinsertPosition,\n\tdisableAlpha,\n} ) {\n\tconst [ alreadyInsertedPoint, setAlreadyInsertedPoint ] = useState( false );\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"components-custom-gradient-picker__inserter\"\n\t\t\tonClose={ () => {\n\t\t\t\tonCloseInserter();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\tonCloseInserter();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( false );\n\t\t\t\t\t\t\tonOpenInserter();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"components-custom-gradient-picker__insert-point\"\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\tinsertPosition !== null\n\t\t\t\t\t\t\t\t? `${ insertPosition }%`\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\tif ( ! alreadyInsertedPoint ) {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\taddControlPoint(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( true );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tupdateControlPointColorByPosition(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tpopoverProps={ COLOR_POPOVER_PROPS }\n\t\t/>\n\t);\n}\nControlPoints.InsertPoint = InsertPoint;\n\nexport default ControlPoints;\n"]}
@@ -96,23 +96,25 @@ const customGradientBarReducerInitialState = {
96
96
  id: 'IDLE'
97
97
  };
98
98
 
99
- function CustomGradientBar({
100
- background,
101
- hasGradient,
102
- value: controlPoints,
103
- onChange,
104
- disableInserter = false,
105
- disableAlpha = false
106
- }) {
99
+ function CustomGradientBar(_ref) {
100
+ let {
101
+ background,
102
+ hasGradient,
103
+ value: controlPoints,
104
+ onChange,
105
+ disableInserter = false,
106
+ disableAlpha = false
107
+ } = _ref;
107
108
  const gradientPickerDomRef = (0, _element.useRef)();
108
109
  const [gradientBarState, gradientBarStateDispatch] = (0, _element.useReducer)(customGradientBarReducer, customGradientBarReducerInitialState);
109
110
 
110
111
  const onMouseEnterAndMove = event => {
111
112
  const insertPosition = (0, _utils.getHorizontalRelativeGradientPosition)(event.clientX, gradientPickerDomRef.current, _constants.INSERT_POINT_WIDTH); // If the insert point is close to an existing control point don't show it.
112
113
 
113
- if ((0, _lodash.some)(controlPoints, ({
114
- position
115
- }) => {
114
+ if ((0, _lodash.some)(controlPoints, _ref2 => {
115
+ let {
116
+ position
117
+ } = _ref2;
116
118
  return Math.abs(insertPosition - position) < _constants.MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT;
117
119
  })) {
118
120
  if (gradientBarState.id === 'MOVING_INSERTER') {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-bar/index.js"],"names":["customGradientBarReducer","state","action","type","id","insertPosition","customGradientBarReducerInitialState","CustomGradientBar","background","hasGradient","value","controlPoints","onChange","disableInserter","disableAlpha","gradientPickerDomRef","gradientBarState","gradientBarStateDispatch","onMouseEnterAndMove","event","clientX","current","INSERT_POINT_WIDTH","position","Math","abs","MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT","onMouseLeave","isMovingInserter","isInsertingControlPoint","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\n\nimport { some } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ControlPoints from './control-points';\nimport { getHorizontalRelativeGradientPosition } from './utils';\nimport {\n\tINSERT_POINT_WIDTH,\n\tMINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT,\n} from './constants';\n\nfunction customGradientBarReducer( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'MOVE_INSERTER':\n\t\t\tif ( state.id === 'IDLE' || state.id === 'MOVING_INSERTER' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'MOVING_INSERTER',\n\t\t\t\t\tinsertPosition: action.insertPosition,\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'STOP_INSERTER_MOVE':\n\t\t\tif ( state.id === 'MOVING_INSERTER' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'IDLE',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'OPEN_INSERTER':\n\t\t\tif ( state.id === 'MOVING_INSERTER' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'INSERTING_CONTROL_POINT',\n\t\t\t\t\tinsertPosition: state.insertPosition,\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'CLOSE_INSERTER':\n\t\t\tif ( state.id === 'INSERTING_CONTROL_POINT' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'IDLE',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'START_CONTROL_CHANGE':\n\t\t\tif ( state.id === 'IDLE' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'MOVING_CONTROL_POINT',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'STOP_CONTROL_CHANGE':\n\t\t\tif ( state.id === 'MOVING_CONTROL_POINT' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'IDLE',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn state;\n}\nconst customGradientBarReducerInitialState = { id: 'IDLE' };\n\nexport default function CustomGradientBar( {\n\tbackground,\n\thasGradient,\n\tvalue: controlPoints,\n\tonChange,\n\tdisableInserter = false,\n\tdisableAlpha = false,\n} ) {\n\tconst gradientPickerDomRef = useRef();\n\n\tconst [ gradientBarState, gradientBarStateDispatch ] = useReducer(\n\t\tcustomGradientBarReducer,\n\t\tcustomGradientBarReducerInitialState\n\t);\n\tconst onMouseEnterAndMove = ( event ) => {\n\t\tconst insertPosition = getHorizontalRelativeGradientPosition(\n\t\t\tevent.clientX,\n\t\t\tgradientPickerDomRef.current,\n\t\t\tINSERT_POINT_WIDTH\n\t\t);\n\n\t\t// If the insert point is close to an existing control point don't show it.\n\t\tif (\n\t\t\tsome( controlPoints, ( { position } ) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.abs( insertPosition - position ) <\n\t\t\t\t\tMINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT\n\t\t\t\t);\n\t\t\t} )\n\t\t) {\n\t\t\tif ( gradientBarState.id === 'MOVING_INSERTER' ) {\n\t\t\t\tgradientBarStateDispatch( { type: 'STOP_INSERTER_MOVE' } );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tgradientBarStateDispatch( { type: 'MOVE_INSERTER', insertPosition } );\n\t};\n\n\tconst onMouseLeave = () => {\n\t\tgradientBarStateDispatch( { type: 'STOP_INSERTER_MOVE' } );\n\t};\n\n\tconst isMovingInserter = gradientBarState.id === 'MOVING_INSERTER';\n\tconst isInsertingControlPoint =\n\t\tgradientBarState.id === 'INSERTING_CONTROL_POINT';\n\n\treturn (\n\t\t<div\n\t\t\tref={ gradientPickerDomRef }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-custom-gradient-picker__gradient-bar',\n\t\t\t\t{ 'has-gradient': hasGradient }\n\t\t\t) }\n\t\t\tonMouseEnter={ onMouseEnterAndMove }\n\t\t\tonMouseMove={ onMouseEnterAndMove }\n\t\t\tstyle={ { background } }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t>\n\t\t\t<div className=\"components-custom-gradient-picker__markers-container\">\n\t\t\t\t{ ! disableInserter &&\n\t\t\t\t\t( isMovingInserter || isInsertingControlPoint ) && (\n\t\t\t\t\t\t<ControlPoints.InsertPoint\n\t\t\t\t\t\t\tdisableAlpha={ disableAlpha }\n\t\t\t\t\t\t\tinsertPosition={ gradientBarState.insertPosition }\n\t\t\t\t\t\t\tvalue={ controlPoints }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonOpenInserter={ () => {\n\t\t\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\t\t\ttype: 'OPEN_INSERTER',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCloseInserter={ () => {\n\t\t\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\t\t\ttype: 'CLOSE_INSERTER',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ControlPoints\n\t\t\t\t\tdisableAlpha={ disableAlpha }\n\t\t\t\t\tdisableRemove={ disableInserter }\n\t\t\t\t\tgradientPickerDomRef={ gradientPickerDomRef }\n\t\t\t\t\tignoreMarkerPosition={\n\t\t\t\t\t\tisInsertingControlPoint\n\t\t\t\t\t\t\t? gradientBarState.insertPosition\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ controlPoints }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonStartControlPointChange={ () => {\n\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\ttype: 'START_CONTROL_CHANGE',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonStopControlPointChange={ () => {\n\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\ttype: 'STOP_CONTROL_CHANGE',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-bar/index.js"],"names":["customGradientBarReducer","state","action","type","id","insertPosition","customGradientBarReducerInitialState","CustomGradientBar","background","hasGradient","value","controlPoints","onChange","disableInserter","disableAlpha","gradientPickerDomRef","gradientBarState","gradientBarStateDispatch","onMouseEnterAndMove","event","clientX","current","INSERT_POINT_WIDTH","position","Math","abs","MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT","onMouseLeave","isMovingInserter","isInsertingControlPoint","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\n\nimport { some } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ControlPoints from './control-points';\nimport { getHorizontalRelativeGradientPosition } from './utils';\nimport {\n\tINSERT_POINT_WIDTH,\n\tMINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT,\n} from './constants';\n\nfunction customGradientBarReducer( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'MOVE_INSERTER':\n\t\t\tif ( state.id === 'IDLE' || state.id === 'MOVING_INSERTER' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'MOVING_INSERTER',\n\t\t\t\t\tinsertPosition: action.insertPosition,\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'STOP_INSERTER_MOVE':\n\t\t\tif ( state.id === 'MOVING_INSERTER' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'IDLE',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'OPEN_INSERTER':\n\t\t\tif ( state.id === 'MOVING_INSERTER' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'INSERTING_CONTROL_POINT',\n\t\t\t\t\tinsertPosition: state.insertPosition,\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'CLOSE_INSERTER':\n\t\t\tif ( state.id === 'INSERTING_CONTROL_POINT' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'IDLE',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'START_CONTROL_CHANGE':\n\t\t\tif ( state.id === 'IDLE' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'MOVING_CONTROL_POINT',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'STOP_CONTROL_CHANGE':\n\t\t\tif ( state.id === 'MOVING_CONTROL_POINT' ) {\n\t\t\t\treturn {\n\t\t\t\t\tid: 'IDLE',\n\t\t\t\t};\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn state;\n}\nconst customGradientBarReducerInitialState = { id: 'IDLE' };\n\nexport default function CustomGradientBar( {\n\tbackground,\n\thasGradient,\n\tvalue: controlPoints,\n\tonChange,\n\tdisableInserter = false,\n\tdisableAlpha = false,\n} ) {\n\tconst gradientPickerDomRef = useRef();\n\n\tconst [ gradientBarState, gradientBarStateDispatch ] = useReducer(\n\t\tcustomGradientBarReducer,\n\t\tcustomGradientBarReducerInitialState\n\t);\n\tconst onMouseEnterAndMove = ( event ) => {\n\t\tconst insertPosition = getHorizontalRelativeGradientPosition(\n\t\t\tevent.clientX,\n\t\t\tgradientPickerDomRef.current,\n\t\t\tINSERT_POINT_WIDTH\n\t\t);\n\n\t\t// If the insert point is close to an existing control point don't show it.\n\t\tif (\n\t\t\tsome( controlPoints, ( { position } ) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.abs( insertPosition - position ) <\n\t\t\t\t\tMINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT\n\t\t\t\t);\n\t\t\t} )\n\t\t) {\n\t\t\tif ( gradientBarState.id === 'MOVING_INSERTER' ) {\n\t\t\t\tgradientBarStateDispatch( { type: 'STOP_INSERTER_MOVE' } );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tgradientBarStateDispatch( { type: 'MOVE_INSERTER', insertPosition } );\n\t};\n\n\tconst onMouseLeave = () => {\n\t\tgradientBarStateDispatch( { type: 'STOP_INSERTER_MOVE' } );\n\t};\n\n\tconst isMovingInserter = gradientBarState.id === 'MOVING_INSERTER';\n\tconst isInsertingControlPoint =\n\t\tgradientBarState.id === 'INSERTING_CONTROL_POINT';\n\n\treturn (\n\t\t<div\n\t\t\tref={ gradientPickerDomRef }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-custom-gradient-picker__gradient-bar',\n\t\t\t\t{ 'has-gradient': hasGradient }\n\t\t\t) }\n\t\t\tonMouseEnter={ onMouseEnterAndMove }\n\t\t\tonMouseMove={ onMouseEnterAndMove }\n\t\t\tstyle={ { background } }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t>\n\t\t\t<div className=\"components-custom-gradient-picker__markers-container\">\n\t\t\t\t{ ! disableInserter &&\n\t\t\t\t\t( isMovingInserter || isInsertingControlPoint ) && (\n\t\t\t\t\t\t<ControlPoints.InsertPoint\n\t\t\t\t\t\t\tdisableAlpha={ disableAlpha }\n\t\t\t\t\t\t\tinsertPosition={ gradientBarState.insertPosition }\n\t\t\t\t\t\t\tvalue={ controlPoints }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonOpenInserter={ () => {\n\t\t\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\t\t\ttype: 'OPEN_INSERTER',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCloseInserter={ () => {\n\t\t\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\t\t\ttype: 'CLOSE_INSERTER',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ControlPoints\n\t\t\t\t\tdisableAlpha={ disableAlpha }\n\t\t\t\t\tdisableRemove={ disableInserter }\n\t\t\t\t\tgradientPickerDomRef={ gradientPickerDomRef }\n\t\t\t\t\tignoreMarkerPosition={\n\t\t\t\t\t\tisInsertingControlPoint\n\t\t\t\t\t\t\t? gradientBarState.insertPosition\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ controlPoints }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonStartControlPointChange={ () => {\n\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\ttype: 'START_CONTROL_CHANGE',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonStopControlPointChange={ () => {\n\t\t\t\t\t\tgradientBarStateDispatch( {\n\t\t\t\t\t\t\ttype: 'STOP_CONTROL_CHANGE',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.addControlPoint = addControlPoint;
6
7
  exports.clampPercent = clampPercent;
8
+ exports.getHorizontalRelativeGradientPosition = getHorizontalRelativeGradientPosition;
7
9
  exports.isOverlapping = isOverlapping;
8
- exports.addControlPoint = addControlPoint;
9
10
  exports.removeControlPoint = removeControlPoint;
10
11
  exports.updateControlPoint = updateControlPoint;
11
- exports.updateControlPointPosition = updateControlPointPosition;
12
12
  exports.updateControlPointColor = updateControlPointColor;
13
13
  exports.updateControlPointColorByPosition = updateControlPointColorByPosition;
14
- exports.getHorizontalRelativeGradientPosition = getHorizontalRelativeGradientPosition;
14
+ exports.updateControlPointPosition = updateControlPointPosition;
15
15
 
16
16
  var _constants = require("./constants");
17
17
 
@@ -59,13 +59,15 @@ function clampPercent(value) {
59
59
  */
60
60
 
61
61
 
62
- function isOverlapping(value, initialIndex, newPosition, minDistance = _constants.MINIMUM_DISTANCE_BETWEEN_POINTS) {
62
+ function isOverlapping(value, initialIndex, newPosition) {
63
+ let minDistance = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants.MINIMUM_DISTANCE_BETWEEN_POINTS;
63
64
  const initialPosition = value[initialIndex].position;
64
65
  const minPosition = Math.min(initialPosition, newPosition);
65
66
  const maxPosition = Math.max(initialPosition, newPosition);
66
- return value.some(({
67
- position
68
- }, index) => {
67
+ return value.some((_ref, index) => {
68
+ let {
69
+ position
70
+ } = _ref;
69
71
  return index !== initialIndex && (Math.abs(position - newPosition) < minDistance || minPosition < position && position < maxPosition);
70
72
  });
71
73
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-bar/utils.js"],"names":["clampPercent","value","Math","max","min","isOverlapping","initialIndex","newPosition","minDistance","MINIMUM_DISTANCE_BETWEEN_POINTS","initialPosition","position","minPosition","maxPosition","some","index","abs","addControlPoint","points","color","nextIndex","findIndex","point","newPoint","newPoints","slice","splice","removeControlPoint","filter","pointIndex","updateControlPoint","newValue","updateControlPointPosition","updateControlPointColor","newColor","updateControlPointColorByPosition","getHorizontalRelativeGradientPosition","mouseXCoordinate","containerElement","positionedElementWidth","x","width","getBoundingClientRect","absolutePositionValue","MINIMUM_ABSOLUTE_LEFT_POSITION","availableWidth","INSERT_POINT_WIDTH","round"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,YAAT,CAAuBC,KAAvB,EAA+B;AACrC,SAAOC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaD,IAAI,CAACE,GAAL,CAAU,GAAV,EAAeH,KAAf,CAAb,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASI,aAAT,CACNJ,KADM,EAENK,YAFM,EAGNC,WAHM,EAINC,WAAW,GAAGC,0CAJR,EAKL;AACD,QAAMC,eAAe,GAAGT,KAAK,CAAEK,YAAF,CAAL,CAAsBK,QAA9C;AACA,QAAMC,WAAW,GAAGV,IAAI,CAACE,GAAL,CAAUM,eAAV,EAA2BH,WAA3B,CAApB;AACA,QAAMM,WAAW,GAAGX,IAAI,CAACC,GAAL,CAAUO,eAAV,EAA2BH,WAA3B,CAApB;AAEA,SAAON,KAAK,CAACa,IAAN,CAAY,CAAE;AAAEH,IAAAA;AAAF,GAAF,EAAgBI,KAAhB,KAA2B;AAC7C,WACCA,KAAK,KAAKT,YAAV,KACEJ,IAAI,CAACc,GAAL,CAAUL,QAAQ,GAAGJ,WAArB,IAAqCC,WAArC,IACCI,WAAW,GAAGD,QAAd,IAA0BA,QAAQ,GAAGE,WAFxC,CADD;AAKA,GANM,CAAP;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASI,eAAT,CAA0BC,MAA1B,EAAkCP,QAAlC,EAA4CQ,KAA5C,EAAoD;AAC1D,QAAMC,SAAS,GAAGF,MAAM,CAACG,SAAP,CACfC,KAAF,IAAaA,KAAK,CAACX,QAAN,GAAiBA,QADb,CAAlB;AAGA,QAAMY,QAAQ,GAAG;AAAEJ,IAAAA,KAAF;AAASR,IAAAA;AAAT,GAAjB;AACA,QAAMa,SAAS,GAAGN,MAAM,CAACO,KAAP,EAAlB;AACAD,EAAAA,SAAS,CAACE,MAAV,CAAkBN,SAAS,GAAG,CAA9B,EAAiC,CAAjC,EAAoCG,QAApC;AACA,SAAOC,SAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,kBAAT,CAA6BT,MAA7B,EAAqCH,KAArC,EAA6C;AACnD,SAAOG,MAAM,CAACU,MAAP,CAAe,CAAEN,KAAF,EAASO,UAAT,KAAyB;AAC9C,WAAOA,UAAU,KAAKd,KAAtB;AACA,GAFM,CAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASe,kBAAT,CAA6BZ,MAA7B,EAAqCH,KAArC,EAA4CQ,QAA5C,EAAuD;AAC7D,QAAMQ,QAAQ,GAAGb,MAAM,CAACO,KAAP,EAAjB;AACAM,EAAAA,QAAQ,CAAEhB,KAAF,CAAR,GAAoBQ,QAApB;AACA,SAAOQ,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,0BAAT,CAAqCd,MAArC,EAA6CH,KAA7C,EAAoDR,WAApD,EAAkE;AACxE,MAAKF,aAAa,CAAEa,MAAF,EAAUH,KAAV,EAAiBR,WAAjB,CAAlB,EAAmD;AAClD,WAAOW,MAAP;AACA;;AACD,QAAMK,QAAQ,GAAG,EAChB,GAAGL,MAAM,CAAEH,KAAF,CADO;AAEhBJ,IAAAA,QAAQ,EAAEJ;AAFM,GAAjB;AAIA,SAAOuB,kBAAkB,CAAEZ,MAAF,EAAUH,KAAV,EAAiBQ,QAAjB,CAAzB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASU,uBAAT,CAAkCf,MAAlC,EAA0CH,KAA1C,EAAiDmB,QAAjD,EAA4D;AAClE,QAAMX,QAAQ,GAAG,EAChB,GAAGL,MAAM,CAAEH,KAAF,CADO;AAEhBI,IAAAA,KAAK,EAAEe;AAFS,GAAjB;AAIA,SAAOJ,kBAAkB,CAAEZ,MAAF,EAAUH,KAAV,EAAiBQ,QAAjB,CAAzB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASY,iCAAT,CACNjB,MADM,EAENP,QAFM,EAGNuB,QAHM,EAIL;AACD,QAAMnB,KAAK,GAAGG,MAAM,CAACG,SAAP,CAAoBC,KAAF,IAAaA,KAAK,CAACX,QAAN,KAAmBA,QAAlD,CAAd;AACA,SAAOsB,uBAAuB,CAAEf,MAAF,EAAUH,KAAV,EAAiBmB,QAAjB,CAA9B;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,qCAAT,CACNC,gBADM,EAENC,gBAFM,EAGNC,sBAHM,EAIL;AACD,MAAK,CAAED,gBAAP,EAA0B;AACzB;AACA;;AACD,QAAM;AAAEE,IAAAA,CAAF;AAAKC,IAAAA;AAAL,MAAeH,gBAAgB,CAACI,qBAAjB,EAArB;AACA,QAAMC,qBAAqB,GAC1BN,gBAAgB,GAChBG,CADA,GAEAI,yCAFA,GAGAL,sBAAsB,GAAG,CAJ1B;AAKA,QAAMM,cAAc,GACnBJ,KAAK,GAAGG,yCAAR,GAAyCE,6BAD1C;AAEA,SAAO5C,IAAI,CAAC6C,KAAL,CACN/C,YAAY,CAAI2C,qBAAqB,GAAG,GAA1B,GAAkCE,cAApC,CADN,CAAP;AAGA","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tMINIMUM_DISTANCE_BETWEEN_POINTS,\n\tMINIMUM_ABSOLUTE_LEFT_POSITION,\n\tINSERT_POINT_WIDTH,\n} from './constants';\n\n/**\n * Control point for the gradient bar.\n *\n * @typedef {Object} ControlPoint\n * @property {string} color Color of the control point.\n * @property {number} position Integer position of the control point as a percentage.\n */\n\n/**\n * Color as parsed from the gradient by gradient-parser.\n *\n * @typedef {Object} Color\n * @property {string} r Red component.\n * @property {string} g Green component.\n * @property {string} b Green component.\n * @property {string} [a] Optional alpha component.\n */\n\n/**\n * Clamps a number between 0 and 100.\n *\n * @param {number} value Value to clamp.\n *\n * @return {number} Value clamped between 0 and 100.\n */\nexport function clampPercent( value ) {\n\treturn Math.max( 0, Math.min( 100, value ) );\n}\n\n/**\n * Check if a control point is overlapping with another.\n *\n * @param {ControlPoint[]} value Array of control points.\n * @param {number} initialIndex Index of the position to test.\n * @param {number} newPosition New position of the control point.\n * @param {number} minDistance Distance considered to be overlapping.\n *\n * @return {boolean} True if the point is overlapping.\n */\nexport function isOverlapping(\n\tvalue,\n\tinitialIndex,\n\tnewPosition,\n\tminDistance = MINIMUM_DISTANCE_BETWEEN_POINTS\n) {\n\tconst initialPosition = value[ initialIndex ].position;\n\tconst minPosition = Math.min( initialPosition, newPosition );\n\tconst maxPosition = Math.max( initialPosition, newPosition );\n\n\treturn value.some( ( { position }, index ) => {\n\t\treturn (\n\t\t\tindex !== initialIndex &&\n\t\t\t( Math.abs( position - newPosition ) < minDistance ||\n\t\t\t\t( minPosition < position && position < maxPosition ) )\n\t\t);\n\t} );\n}\n\n/**\n * Adds a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} position Position to insert the new point.\n * @param {Color} color Color to update the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function addControlPoint( points, position, color ) {\n\tconst nextIndex = points.findIndex(\n\t\t( point ) => point.position > position\n\t);\n\tconst newPoint = { color, position };\n\tconst newPoints = points.slice();\n\tnewPoints.splice( nextIndex - 1, 0, newPoint );\n\treturn newPoints;\n}\n\n/**\n * Removes a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to remove.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function removeControlPoint( points, index ) {\n\treturn points.filter( ( point, pointIndex ) => {\n\t\treturn pointIndex !== index;\n\t} );\n}\n\n/**\n * Updates a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to update.\n * @param {ControlPoint[]} newPoint New control point to replace the index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPoint( points, index, newPoint ) {\n\tconst newValue = points.slice();\n\tnewValue[ index ] = newPoint;\n\treturn newValue;\n}\n\n/**\n * Updates the position of a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to update.\n * @param {number} newPosition Position to move the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPointPosition( points, index, newPosition ) {\n\tif ( isOverlapping( points, index, newPosition ) ) {\n\t\treturn points;\n\t}\n\tconst newPoint = {\n\t\t...points[ index ],\n\t\tposition: newPosition,\n\t};\n\treturn updateControlPoint( points, index, newPoint );\n}\n\n/**\n * Updates the position of a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to update.\n * @param {Color} newColor Color to update the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPointColor( points, index, newColor ) {\n\tconst newPoint = {\n\t\t...points[ index ],\n\t\tcolor: newColor,\n\t};\n\treturn updateControlPoint( points, index, newPoint );\n}\n\n/**\n * Updates the position of a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} position Position of the color stop.\n * @param {string} newColor Color to update the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPointColorByPosition(\n\tpoints,\n\tposition,\n\tnewColor\n) {\n\tconst index = points.findIndex( ( point ) => point.position === position );\n\treturn updateControlPointColor( points, index, newColor );\n}\n\n/**\n * Gets the horizontal coordinate when dragging a control point with the mouse.\n *\n * @param {number} mouseXCoordinate Horizontal coordinate of the mouse position.\n * @param {Element} containerElement Container for the gradient picker.\n * @param {number} positionedElementWidth Width of the positioned element.\n *\n * @return {number} Whole number percentage from the left.\n */\nexport function getHorizontalRelativeGradientPosition(\n\tmouseXCoordinate,\n\tcontainerElement,\n\tpositionedElementWidth\n) {\n\tif ( ! containerElement ) {\n\t\treturn;\n\t}\n\tconst { x, width } = containerElement.getBoundingClientRect();\n\tconst absolutePositionValue =\n\t\tmouseXCoordinate -\n\t\tx -\n\t\tMINIMUM_ABSOLUTE_LEFT_POSITION -\n\t\tpositionedElementWidth / 2;\n\tconst availableWidth =\n\t\twidth - MINIMUM_ABSOLUTE_LEFT_POSITION - INSERT_POINT_WIDTH;\n\treturn Math.round(\n\t\tclampPercent( ( absolutePositionValue * 100 ) / availableWidth )\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-bar/utils.js"],"names":["clampPercent","value","Math","max","min","isOverlapping","initialIndex","newPosition","minDistance","MINIMUM_DISTANCE_BETWEEN_POINTS","initialPosition","position","minPosition","maxPosition","some","index","abs","addControlPoint","points","color","nextIndex","findIndex","point","newPoint","newPoints","slice","splice","removeControlPoint","filter","pointIndex","updateControlPoint","newValue","updateControlPointPosition","updateControlPointColor","newColor","updateControlPointColorByPosition","getHorizontalRelativeGradientPosition","mouseXCoordinate","containerElement","positionedElementWidth","x","width","getBoundingClientRect","absolutePositionValue","MINIMUM_ABSOLUTE_LEFT_POSITION","availableWidth","INSERT_POINT_WIDTH","round"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tMINIMUM_DISTANCE_BETWEEN_POINTS,\n\tMINIMUM_ABSOLUTE_LEFT_POSITION,\n\tINSERT_POINT_WIDTH,\n} from './constants';\n\n/**\n * Control point for the gradient bar.\n *\n * @typedef {Object} ControlPoint\n * @property {string} color Color of the control point.\n * @property {number} position Integer position of the control point as a percentage.\n */\n\n/**\n * Color as parsed from the gradient by gradient-parser.\n *\n * @typedef {Object} Color\n * @property {string} r Red component.\n * @property {string} g Green component.\n * @property {string} b Green component.\n * @property {string} [a] Optional alpha component.\n */\n\n/**\n * Clamps a number between 0 and 100.\n *\n * @param {number} value Value to clamp.\n *\n * @return {number} Value clamped between 0 and 100.\n */\nexport function clampPercent( value ) {\n\treturn Math.max( 0, Math.min( 100, value ) );\n}\n\n/**\n * Check if a control point is overlapping with another.\n *\n * @param {ControlPoint[]} value Array of control points.\n * @param {number} initialIndex Index of the position to test.\n * @param {number} newPosition New position of the control point.\n * @param {number} minDistance Distance considered to be overlapping.\n *\n * @return {boolean} True if the point is overlapping.\n */\nexport function isOverlapping(\n\tvalue,\n\tinitialIndex,\n\tnewPosition,\n\tminDistance = MINIMUM_DISTANCE_BETWEEN_POINTS\n) {\n\tconst initialPosition = value[ initialIndex ].position;\n\tconst minPosition = Math.min( initialPosition, newPosition );\n\tconst maxPosition = Math.max( initialPosition, newPosition );\n\n\treturn value.some( ( { position }, index ) => {\n\t\treturn (\n\t\t\tindex !== initialIndex &&\n\t\t\t( Math.abs( position - newPosition ) < minDistance ||\n\t\t\t\t( minPosition < position && position < maxPosition ) )\n\t\t);\n\t} );\n}\n\n/**\n * Adds a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} position Position to insert the new point.\n * @param {Color} color Color to update the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function addControlPoint( points, position, color ) {\n\tconst nextIndex = points.findIndex(\n\t\t( point ) => point.position > position\n\t);\n\tconst newPoint = { color, position };\n\tconst newPoints = points.slice();\n\tnewPoints.splice( nextIndex - 1, 0, newPoint );\n\treturn newPoints;\n}\n\n/**\n * Removes a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to remove.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function removeControlPoint( points, index ) {\n\treturn points.filter( ( point, pointIndex ) => {\n\t\treturn pointIndex !== index;\n\t} );\n}\n\n/**\n * Updates a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to update.\n * @param {ControlPoint[]} newPoint New control point to replace the index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPoint( points, index, newPoint ) {\n\tconst newValue = points.slice();\n\tnewValue[ index ] = newPoint;\n\treturn newValue;\n}\n\n/**\n * Updates the position of a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to update.\n * @param {number} newPosition Position to move the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPointPosition( points, index, newPosition ) {\n\tif ( isOverlapping( points, index, newPosition ) ) {\n\t\treturn points;\n\t}\n\tconst newPoint = {\n\t\t...points[ index ],\n\t\tposition: newPosition,\n\t};\n\treturn updateControlPoint( points, index, newPoint );\n}\n\n/**\n * Updates the position of a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} index Index to update.\n * @param {Color} newColor Color to update the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPointColor( points, index, newColor ) {\n\tconst newPoint = {\n\t\t...points[ index ],\n\t\tcolor: newColor,\n\t};\n\treturn updateControlPoint( points, index, newPoint );\n}\n\n/**\n * Updates the position of a control point from an array and returns the new array.\n *\n * @param {ControlPoint[]} points Array of control points.\n * @param {number} position Position of the color stop.\n * @param {string} newColor Color to update the control point at index.\n *\n * @return {ControlPoint[]} New array of control points.\n */\nexport function updateControlPointColorByPosition(\n\tpoints,\n\tposition,\n\tnewColor\n) {\n\tconst index = points.findIndex( ( point ) => point.position === position );\n\treturn updateControlPointColor( points, index, newColor );\n}\n\n/**\n * Gets the horizontal coordinate when dragging a control point with the mouse.\n *\n * @param {number} mouseXCoordinate Horizontal coordinate of the mouse position.\n * @param {Element} containerElement Container for the gradient picker.\n * @param {number} positionedElementWidth Width of the positioned element.\n *\n * @return {number} Whole number percentage from the left.\n */\nexport function getHorizontalRelativeGradientPosition(\n\tmouseXCoordinate,\n\tcontainerElement,\n\tpositionedElementWidth\n) {\n\tif ( ! containerElement ) {\n\t\treturn;\n\t}\n\tconst { x, width } = containerElement.getBoundingClientRect();\n\tconst absolutePositionValue =\n\t\tmouseXCoordinate -\n\t\tx -\n\t\tMINIMUM_ABSOLUTE_LEFT_POSITION -\n\t\tpositionedElementWidth / 2;\n\tconst availableWidth =\n\t\twidth - MINIMUM_ABSOLUTE_LEFT_POSITION - INSERT_POINT_WIDTH;\n\treturn Math.round(\n\t\tclampPercent( ( absolutePositionValue * 100 ) / availableWidth )\n\t);\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DIRECTIONAL_ORIENTATION_ANGLE_MAP = exports.GRADIENT_OPTIONS = exports.HORIZONTAL_GRADIENT_ORIENTATION = exports.DEFAULT_LINEAR_GRADIENT_ANGLE = exports.DEFAULT_GRADIENT = void 0;
6
+ exports.HORIZONTAL_GRADIENT_ORIENTATION = exports.GRADIENT_OPTIONS = exports.DIRECTIONAL_ORIENTATION_ANGLE_MAP = exports.DEFAULT_LINEAR_GRADIENT_ANGLE = exports.DEFAULT_GRADIENT = void 0;
7
7
 
8
8
  var _i18n = require("@wordpress/i18n");
9
9
 
@@ -40,11 +40,12 @@ var _customGradientPickerStyles = require("./styles/custom-gradient-picker-style
40
40
  /**
41
41
  * Internal dependencies
42
42
  */
43
- const GradientAnglePicker = ({
44
- gradientAST,
45
- hasGradient,
46
- onChange
47
- }) => {
43
+ const GradientAnglePicker = _ref => {
44
+ let {
45
+ gradientAST,
46
+ hasGradient,
47
+ onChange
48
+ } = _ref;
48
49
  const angle = (0, _lodash.get)(gradientAST, ['orientation', 'value'], _constants.DEFAULT_LINEAR_GRADIENT_ANGLE);
49
50
 
50
51
  const onAngleChange = newAngle => {
@@ -63,11 +64,12 @@ const GradientAnglePicker = ({
63
64
  });
64
65
  };
65
66
 
66
- const GradientTypePicker = ({
67
- gradientAST,
68
- hasGradient,
69
- onChange
70
- }) => {
67
+ const GradientTypePicker = _ref2 => {
68
+ let {
69
+ gradientAST,
70
+ hasGradient,
71
+ onChange
72
+ } = _ref2;
71
73
  const {
72
74
  type
73
75
  } = gradientAST;
@@ -107,10 +109,11 @@ const GradientTypePicker = ({
107
109
  });
108
110
  };
109
111
 
110
- function CustomGradientPicker({
111
- value,
112
- onChange
113
- }) {
112
+ function CustomGradientPicker(_ref3) {
113
+ let {
114
+ value,
115
+ onChange
116
+ } = _ref3;
114
117
  const gradientAST = (0, _utils.getGradientAstWithDefault)(value); // On radial gradients the bar should display a linear gradient.
115
118
  // On radial gradients the bar represents a slice of the gradient from the center until the outside.
116
119
  // On liner gradients the bar represents the color stops from left to right independently of the angle.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/index.js"],"names":["GradientAnglePicker","gradientAST","hasGradient","onChange","angle","DEFAULT_LINEAR_GRADIENT_ANGLE","onAngleChange","newAngle","orientation","type","value","GradientTypePicker","onSetLinearGradient","HORIZONTAL_GRADIENT_ORIENTATION","onSetRadialGradient","handleOnChange","next","GRADIENT_OPTIONS","CustomGradientPicker","background","DEFAULT_GRADIENT","controlPoints","colorStops","map","colorStop","color","position","parseInt","length","newControlPoints"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AnglePickerControl from '../angle-picker-control';\nimport CustomGradientBar from '../custom-gradient-bar';\nimport { Flex } from '../flex';\nimport SelectControl from '../select-control';\nimport {\n\tgetGradientAstWithDefault,\n\tgetLinearGradientRepresentation,\n\tgetGradientAstWithControlPoints,\n\tgetStopCssColor,\n} from './utils';\nimport { serializeGradient } from './serializer';\nimport {\n\tDEFAULT_LINEAR_GRADIENT_ANGLE,\n\tHORIZONTAL_GRADIENT_ORIENTATION,\n\tGRADIENT_OPTIONS,\n\tDEFAULT_GRADIENT,\n} from './constants';\nimport {\n\tAccessoryWrapper,\n\tSelectWrapper,\n} from './styles/custom-gradient-picker-styles';\n\nconst GradientAnglePicker = ( { gradientAST, hasGradient, onChange } ) => {\n\tconst angle = get(\n\t\tgradientAST,\n\t\t[ 'orientation', 'value' ],\n\t\tDEFAULT_LINEAR_GRADIENT_ANGLE\n\t);\n\tconst onAngleChange = ( newAngle ) => {\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...gradientAST,\n\t\t\t\torientation: {\n\t\t\t\t\ttype: 'angular',\n\t\t\t\t\tvalue: newAngle,\n\t\t\t\t},\n\t\t\t} )\n\t\t);\n\t};\n\treturn (\n\t\t<AnglePickerControl\n\t\t\tonChange={ onAngleChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\tvalue={ hasGradient ? angle : '' }\n\t\t/>\n\t);\n};\n\nconst GradientTypePicker = ( { gradientAST, hasGradient, onChange } ) => {\n\tconst { type } = gradientAST;\n\tconst onSetLinearGradient = () => {\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...gradientAST,\n\t\t\t\t...( gradientAST.orientation\n\t\t\t\t\t? {}\n\t\t\t\t\t: { orientation: HORIZONTAL_GRADIENT_ORIENTATION } ),\n\t\t\t\ttype: 'linear-gradient',\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst onSetRadialGradient = () => {\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...omit( gradientAST, [ 'orientation' ] ),\n\t\t\t\ttype: 'radial-gradient',\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst handleOnChange = ( next ) => {\n\t\tif ( next === 'linear-gradient' ) {\n\t\t\tonSetLinearGradient();\n\t\t}\n\t\tif ( next === 'radial-gradient' ) {\n\t\t\tonSetRadialGradient();\n\t\t}\n\t};\n\n\treturn (\n\t\t<SelectControl\n\t\t\tclassName=\"components-custom-gradient-picker__type-picker\"\n\t\t\tlabel={ __( 'Type' ) }\n\t\t\tlabelPosition=\"top\"\n\t\t\tonChange={ handleOnChange }\n\t\t\toptions={ GRADIENT_OPTIONS }\n\t\t\tvalue={ hasGradient && type }\n\t\t/>\n\t);\n};\n\nexport default function CustomGradientPicker( { value, onChange } ) {\n\tconst gradientAST = getGradientAstWithDefault( value );\n\t// On radial gradients the bar should display a linear gradient.\n\t// On radial gradients the bar represents a slice of the gradient from the center until the outside.\n\t// On liner gradients the bar represents the color stops from left to right independently of the angle.\n\tconst background = getLinearGradientRepresentation( gradientAST );\n\tconst hasGradient = gradientAST.value !== DEFAULT_GRADIENT;\n\t// Control points color option may be hex from presets, custom colors will be rgb.\n\t// The position should always be a percentage.\n\tconst controlPoints = gradientAST.colorStops.map( ( colorStop ) => ( {\n\t\tcolor: getStopCssColor( colorStop ),\n\t\tposition: parseInt( colorStop.length.value ),\n\t} ) );\n\n\treturn (\n\t\t<div className=\"components-custom-gradient-picker\">\n\t\t\t<CustomGradientBar\n\t\t\t\tbackground={ background }\n\t\t\t\thasGradient={ hasGradient }\n\t\t\t\tvalue={ controlPoints }\n\t\t\t\tonChange={ ( newControlPoints ) => {\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tserializeGradient(\n\t\t\t\t\t\t\tgetGradientAstWithControlPoints(\n\t\t\t\t\t\t\t\tgradientAST,\n\t\t\t\t\t\t\t\tnewControlPoints\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Flex\n\t\t\t\tgap={ 3 }\n\t\t\t\tclassName=\"components-custom-gradient-picker__ui-line\"\n\t\t\t>\n\t\t\t\t<SelectWrapper>\n\t\t\t\t\t<GradientTypePicker\n\t\t\t\t\t\tgradientAST={ gradientAST }\n\t\t\t\t\t\thasGradient={ hasGradient }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t</SelectWrapper>\n\t\t\t\t<AccessoryWrapper>\n\t\t\t\t\t{ gradientAST.type === 'linear-gradient' && (\n\t\t\t\t\t\t<GradientAnglePicker\n\t\t\t\t\t\t\tgradientAST={ gradientAST }\n\t\t\t\t\t\t\thasGradient={ hasGradient }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AccessoryWrapper>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/index.js"],"names":["GradientAnglePicker","gradientAST","hasGradient","onChange","angle","DEFAULT_LINEAR_GRADIENT_ANGLE","onAngleChange","newAngle","orientation","type","value","GradientTypePicker","onSetLinearGradient","HORIZONTAL_GRADIENT_ORIENTATION","onSetRadialGradient","handleOnChange","next","GRADIENT_OPTIONS","CustomGradientPicker","background","DEFAULT_GRADIENT","controlPoints","colorStops","map","colorStop","color","position","parseInt","length","newControlPoints"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AnglePickerControl from '../angle-picker-control';\nimport CustomGradientBar from '../custom-gradient-bar';\nimport { Flex } from '../flex';\nimport SelectControl from '../select-control';\nimport {\n\tgetGradientAstWithDefault,\n\tgetLinearGradientRepresentation,\n\tgetGradientAstWithControlPoints,\n\tgetStopCssColor,\n} from './utils';\nimport { serializeGradient } from './serializer';\nimport {\n\tDEFAULT_LINEAR_GRADIENT_ANGLE,\n\tHORIZONTAL_GRADIENT_ORIENTATION,\n\tGRADIENT_OPTIONS,\n\tDEFAULT_GRADIENT,\n} from './constants';\nimport {\n\tAccessoryWrapper,\n\tSelectWrapper,\n} from './styles/custom-gradient-picker-styles';\n\nconst GradientAnglePicker = ( { gradientAST, hasGradient, onChange } ) => {\n\tconst angle = get(\n\t\tgradientAST,\n\t\t[ 'orientation', 'value' ],\n\t\tDEFAULT_LINEAR_GRADIENT_ANGLE\n\t);\n\tconst onAngleChange = ( newAngle ) => {\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...gradientAST,\n\t\t\t\torientation: {\n\t\t\t\t\ttype: 'angular',\n\t\t\t\t\tvalue: newAngle,\n\t\t\t\t},\n\t\t\t} )\n\t\t);\n\t};\n\treturn (\n\t\t<AnglePickerControl\n\t\t\tonChange={ onAngleChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\tvalue={ hasGradient ? angle : '' }\n\t\t/>\n\t);\n};\n\nconst GradientTypePicker = ( { gradientAST, hasGradient, onChange } ) => {\n\tconst { type } = gradientAST;\n\tconst onSetLinearGradient = () => {\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...gradientAST,\n\t\t\t\t...( gradientAST.orientation\n\t\t\t\t\t? {}\n\t\t\t\t\t: { orientation: HORIZONTAL_GRADIENT_ORIENTATION } ),\n\t\t\t\ttype: 'linear-gradient',\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst onSetRadialGradient = () => {\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...omit( gradientAST, [ 'orientation' ] ),\n\t\t\t\ttype: 'radial-gradient',\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst handleOnChange = ( next ) => {\n\t\tif ( next === 'linear-gradient' ) {\n\t\t\tonSetLinearGradient();\n\t\t}\n\t\tif ( next === 'radial-gradient' ) {\n\t\t\tonSetRadialGradient();\n\t\t}\n\t};\n\n\treturn (\n\t\t<SelectControl\n\t\t\tclassName=\"components-custom-gradient-picker__type-picker\"\n\t\t\tlabel={ __( 'Type' ) }\n\t\t\tlabelPosition=\"top\"\n\t\t\tonChange={ handleOnChange }\n\t\t\toptions={ GRADIENT_OPTIONS }\n\t\t\tvalue={ hasGradient && type }\n\t\t/>\n\t);\n};\n\nexport default function CustomGradientPicker( { value, onChange } ) {\n\tconst gradientAST = getGradientAstWithDefault( value );\n\t// On radial gradients the bar should display a linear gradient.\n\t// On radial gradients the bar represents a slice of the gradient from the center until the outside.\n\t// On liner gradients the bar represents the color stops from left to right independently of the angle.\n\tconst background = getLinearGradientRepresentation( gradientAST );\n\tconst hasGradient = gradientAST.value !== DEFAULT_GRADIENT;\n\t// Control points color option may be hex from presets, custom colors will be rgb.\n\t// The position should always be a percentage.\n\tconst controlPoints = gradientAST.colorStops.map( ( colorStop ) => ( {\n\t\tcolor: getStopCssColor( colorStop ),\n\t\tposition: parseInt( colorStop.length.value ),\n\t} ) );\n\n\treturn (\n\t\t<div className=\"components-custom-gradient-picker\">\n\t\t\t<CustomGradientBar\n\t\t\t\tbackground={ background }\n\t\t\t\thasGradient={ hasGradient }\n\t\t\t\tvalue={ controlPoints }\n\t\t\t\tonChange={ ( newControlPoints ) => {\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tserializeGradient(\n\t\t\t\t\t\t\tgetGradientAstWithControlPoints(\n\t\t\t\t\t\t\t\tgradientAST,\n\t\t\t\t\t\t\t\tnewControlPoints\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Flex\n\t\t\t\tgap={ 3 }\n\t\t\t\tclassName=\"components-custom-gradient-picker__ui-line\"\n\t\t\t>\n\t\t\t\t<SelectWrapper>\n\t\t\t\t\t<GradientTypePicker\n\t\t\t\t\t\tgradientAST={ gradientAST }\n\t\t\t\t\t\thasGradient={ hasGradient }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t</SelectWrapper>\n\t\t\t\t<AccessoryWrapper>\n\t\t\t\t\t{ gradientAST.type === 'linear-gradient' && (\n\t\t\t\t\t\t<GradientAnglePicker\n\t\t\t\t\t\t\tgradientAST={ gradientAST }\n\t\t\t\t\t\t\thasGradient={ hasGradient }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AccessoryWrapper>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n"]}
@@ -36,11 +36,12 @@ var _style = _interopRequireDefault(require("./style.scss"));
36
36
  /**
37
37
  * Internal dependencies
38
38
  */
39
- function CustomGradientPicker({
40
- setColor,
41
- currentValue,
42
- isGradientColor
43
- }) {
39
+ function CustomGradientPicker(_ref) {
40
+ let {
41
+ setColor,
42
+ currentValue,
43
+ isGradientColor
44
+ } = _ref;
44
45
  const [gradientOrientation, setGradientOrientation] = (0, _element.useState)(_constants.HORIZONTAL_GRADIENT_ORIENTATION);
45
46
  const [currentColor, setCurrentColor] = (0, _element.useState)(currentValue);
46
47
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/index.native.js"],"names":["CustomGradientPicker","setColor","currentValue","isGradientColor","gradientOrientation","setGradientOrientation","HORIZONTAL_GRADIENT_ORIENTATION","currentColor","setCurrentColor","getGradientType","gradients","gradientOptions","colorsUtils","gradientAST","gradientType","isLinearGradient","type","linear","getGradientColor","orientation","onGradientTypeChange","gradientColor","setGradientAngle","value","getGradientAngle","DEFAULT_LINEAR_GRADIENT_ANGLE","styles","angleControl"],"mappings":";;;;;;;;;AASA;;AANA;;AAIA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAIA;;AArBA;AACA;AACA;;AAEA;AACA;AACA;;AAKA;AACA;AACA;AAUA,SAASA,oBAAT,CAA+B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,YAAZ;AAA0BC,EAAAA;AAA1B,CAA/B,EAA6E;AAC5E,QAAM,CAAEC,mBAAF,EAAuBC,sBAAvB,IAAkD,uBACvDC,0CADuD,CAAxD;AAIA,QAAM,CAAEC,YAAF,EAAgBC,eAAhB,IAAoC,uBAAUN,YAAV,CAA1C;AAEA,QAAM;AAAEO,IAAAA,eAAF;AAAmBC,IAAAA,SAAnB;AAA8BC,IAAAA;AAA9B,MAAkDC,kBAAxD;AACA,QAAMC,WAAW,GAAG,uCAA2BN,YAA3B,CAApB;AACA,QAAMO,YAAY,GAAGL,eAAe,CAAEF,YAAF,CAApC;;AAEA,WAASQ,gBAAT,CAA2BC,IAA3B,EAAkC;AACjC,WAAOA,IAAI,KAAKN,SAAS,CAACO,MAA1B;AACA;;AAED,WAASC,gBAAT,CAA2BF,IAA3B,EAAkC;AACjC,UAAMG,WAAW,GAAG,iBAAKN,WAAL,EAAkB,CAAE,aAAF,CAAlB,CAApB;;AAEA,QAAKM,WAAL,EAAmB;AAClBd,MAAAA,sBAAsB,CAAEc,WAAF,CAAtB;AACA;;AAED,WAAO,mCACNJ,gBAAgB,CAAEC,IAAF,CAAhB,GACG,EACA,GAAGH,WADH;AAEA,UAAKA,WAAW,CAACM,WAAZ,GACF,EADE,GAEF;AACAA,QAAAA,WAAW,EAAEf;AADb,OAFH,CAFA;AAOAY,MAAAA;AAPA,KADH,GAUG,EACA,GAAG,kBAAMH,WAAN,EAAmB,CAAE,aAAF,CAAnB,CADH;AAEAG,MAAAA;AAFA,KAXG,CAAP;AAgBA;;AAED,WAASI,oBAAT,CAA+BJ,IAA/B,EAAsC;AACrC,UAAMK,aAAa,GAAGH,gBAAgB,CAAEF,IAAF,CAAtC;AACAR,IAAAA,eAAe,CAAEa,aAAF,CAAf;AACApB,IAAAA,QAAQ,CAAEoB,aAAF,CAAR;AACA;;AAED,WAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AAClC,UAAMF,aAAa,GAAG,mCAAmB,EACxC,GAAGR,WADqC;AAExCM,MAAAA,WAAW,EAAE;AACZH,QAAAA,IAAI,EAAE,SADM;AAEZO,QAAAA;AAFY;AAF2B,KAAnB,CAAtB;;AAQA,QAAKpB,eAAe,IAAIkB,aAAa,KAAKd,YAA1C,EAAyD;AACxDC,MAAAA,eAAe,CAAEa,aAAF,CAAf;AACApB,MAAAA,QAAQ,CAAEoB,aAAF,CAAR;AACA;AACD;;AAED,WAASG,gBAAT,GAA4B;AAC3B,WAAO,iBACNX,WADM,EAEN,CAAE,aAAF,EAAiB,OAAjB,CAFM,EAGNY,wCAHM,CAAP;AAKA;;AACD,SACC,qDACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,wBAAD;AACC,IAAA,QAAQ,EAAGX,YADZ;AAEC,IAAA,OAAO,EAAGH,eAFX;AAGC,IAAA,QAAQ,EAAGS;AAHZ,IADD,CADD,EAQGL,gBAAgB,CAAED,YAAF,CAAhB,IACD,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAGY,eAAOC;AAA1B,KACC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,YAAY,EAAG,CAFhB;AAGC,IAAA,YAAY,EAAG,GAHhB;AAIC,IAAA,KAAK,EAAGH,gBAAgB,EAJzB;AAKC,IAAA,QAAQ,EAAGF;AALZ,IADD,CATF,CADD;AAsBA;;eAEctB,oB","sourcesContent":["/**\n * External dependencies\n */\nimport { get, omit } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { PanelBody, RadioControl, RangeControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { colorsUtils } from '../mobile/color-settings/utils';\nimport { getGradientAstWithDefault } from './utils';\nimport { serializeGradient } from './serializer';\nimport {\n\tDEFAULT_LINEAR_GRADIENT_ANGLE,\n\tHORIZONTAL_GRADIENT_ORIENTATION,\n} from './constants';\nimport styles from './style.scss';\n\nfunction CustomGradientPicker( { setColor, currentValue, isGradientColor } ) {\n\tconst [ gradientOrientation, setGradientOrientation ] = useState(\n\t\tHORIZONTAL_GRADIENT_ORIENTATION\n\t);\n\n\tconst [ currentColor, setCurrentColor ] = useState( currentValue );\n\n\tconst { getGradientType, gradients, gradientOptions } = colorsUtils;\n\tconst gradientAST = getGradientAstWithDefault( currentColor );\n\tconst gradientType = getGradientType( currentColor );\n\n\tfunction isLinearGradient( type ) {\n\t\treturn type === gradients.linear;\n\t}\n\n\tfunction getGradientColor( type ) {\n\t\tconst orientation = get( gradientAST, [ 'orientation' ] );\n\n\t\tif ( orientation ) {\n\t\t\tsetGradientOrientation( orientation );\n\t\t}\n\n\t\treturn serializeGradient(\n\t\t\tisLinearGradient( type )\n\t\t\t\t? {\n\t\t\t\t\t\t...gradientAST,\n\t\t\t\t\t\t...( gradientAST.orientation\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\torientation: gradientOrientation,\n\t\t\t\t\t\t\t } ),\n\t\t\t\t\t\ttype,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...omit( gradientAST, [ 'orientation' ] ),\n\t\t\t\t\t\ttype,\n\t\t\t\t }\n\t\t);\n\t}\n\n\tfunction onGradientTypeChange( type ) {\n\t\tconst gradientColor = getGradientColor( type );\n\t\tsetCurrentColor( gradientColor );\n\t\tsetColor( gradientColor );\n\t}\n\n\tfunction setGradientAngle( value ) {\n\t\tconst gradientColor = serializeGradient( {\n\t\t\t...gradientAST,\n\t\t\torientation: {\n\t\t\t\ttype: 'angular',\n\t\t\t\tvalue,\n\t\t\t},\n\t\t} );\n\n\t\tif ( isGradientColor && gradientColor !== currentColor ) {\n\t\t\tsetCurrentColor( gradientColor );\n\t\t\tsetColor( gradientColor );\n\t\t}\n\t}\n\n\tfunction getGradientAngle() {\n\t\treturn get(\n\t\t\tgradientAST,\n\t\t\t[ 'orientation', 'value' ],\n\t\t\tDEFAULT_LINEAR_GRADIENT_ANGLE\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Gradient Type' ) }>\n\t\t\t\t<RadioControl\n\t\t\t\t\tselected={ gradientType }\n\t\t\t\t\toptions={ gradientOptions }\n\t\t\t\t\tonChange={ onGradientTypeChange }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t{ isLinearGradient( gradientType ) && (\n\t\t\t\t<PanelBody style={ styles.angleControl }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Angle' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 360 }\n\t\t\t\t\t\tvalue={ getGradientAngle() }\n\t\t\t\t\t\tonChange={ setGradientAngle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default CustomGradientPicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/index.native.js"],"names":["CustomGradientPicker","setColor","currentValue","isGradientColor","gradientOrientation","setGradientOrientation","HORIZONTAL_GRADIENT_ORIENTATION","currentColor","setCurrentColor","getGradientType","gradients","gradientOptions","colorsUtils","gradientAST","gradientType","isLinearGradient","type","linear","getGradientColor","orientation","onGradientTypeChange","gradientColor","setGradientAngle","value","getGradientAngle","DEFAULT_LINEAR_GRADIENT_ANGLE","styles","angleControl"],"mappings":";;;;;;;;;AASA;;AANA;;AAIA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAIA;;AArBA;AACA;AACA;;AAEA;AACA;AACA;;AAKA;AACA;AACA;AAUA,SAASA,oBAAT,OAA6E;AAAA,MAA9C;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,YAAZ;AAA0BC,IAAAA;AAA1B,GAA8C;AAC5E,QAAM,CAAEC,mBAAF,EAAuBC,sBAAvB,IAAkD,uBACvDC,0CADuD,CAAxD;AAIA,QAAM,CAAEC,YAAF,EAAgBC,eAAhB,IAAoC,uBAAUN,YAAV,CAA1C;AAEA,QAAM;AAAEO,IAAAA,eAAF;AAAmBC,IAAAA,SAAnB;AAA8BC,IAAAA;AAA9B,MAAkDC,kBAAxD;AACA,QAAMC,WAAW,GAAG,uCAA2BN,YAA3B,CAApB;AACA,QAAMO,YAAY,GAAGL,eAAe,CAAEF,YAAF,CAApC;;AAEA,WAASQ,gBAAT,CAA2BC,IAA3B,EAAkC;AACjC,WAAOA,IAAI,KAAKN,SAAS,CAACO,MAA1B;AACA;;AAED,WAASC,gBAAT,CAA2BF,IAA3B,EAAkC;AACjC,UAAMG,WAAW,GAAG,iBAAKN,WAAL,EAAkB,CAAE,aAAF,CAAlB,CAApB;;AAEA,QAAKM,WAAL,EAAmB;AAClBd,MAAAA,sBAAsB,CAAEc,WAAF,CAAtB;AACA;;AAED,WAAO,mCACNJ,gBAAgB,CAAEC,IAAF,CAAhB,GACG,EACA,GAAGH,WADH;AAEA,UAAKA,WAAW,CAACM,WAAZ,GACF,EADE,GAEF;AACAA,QAAAA,WAAW,EAAEf;AADb,OAFH,CAFA;AAOAY,MAAAA;AAPA,KADH,GAUG,EACA,GAAG,kBAAMH,WAAN,EAAmB,CAAE,aAAF,CAAnB,CADH;AAEAG,MAAAA;AAFA,KAXG,CAAP;AAgBA;;AAED,WAASI,oBAAT,CAA+BJ,IAA/B,EAAsC;AACrC,UAAMK,aAAa,GAAGH,gBAAgB,CAAEF,IAAF,CAAtC;AACAR,IAAAA,eAAe,CAAEa,aAAF,CAAf;AACApB,IAAAA,QAAQ,CAAEoB,aAAF,CAAR;AACA;;AAED,WAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AAClC,UAAMF,aAAa,GAAG,mCAAmB,EACxC,GAAGR,WADqC;AAExCM,MAAAA,WAAW,EAAE;AACZH,QAAAA,IAAI,EAAE,SADM;AAEZO,QAAAA;AAFY;AAF2B,KAAnB,CAAtB;;AAQA,QAAKpB,eAAe,IAAIkB,aAAa,KAAKd,YAA1C,EAAyD;AACxDC,MAAAA,eAAe,CAAEa,aAAF,CAAf;AACApB,MAAAA,QAAQ,CAAEoB,aAAF,CAAR;AACA;AACD;;AAED,WAASG,gBAAT,GAA4B;AAC3B,WAAO,iBACNX,WADM,EAEN,CAAE,aAAF,EAAiB,OAAjB,CAFM,EAGNY,wCAHM,CAAP;AAKA;;AACD,SACC,qDACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,wBAAD;AACC,IAAA,QAAQ,EAAGX,YADZ;AAEC,IAAA,OAAO,EAAGH,eAFX;AAGC,IAAA,QAAQ,EAAGS;AAHZ,IADD,CADD,EAQGL,gBAAgB,CAAED,YAAF,CAAhB,IACD,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAGY,eAAOC;AAA1B,KACC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,YAAY,EAAG,CAFhB;AAGC,IAAA,YAAY,EAAG,GAHhB;AAIC,IAAA,KAAK,EAAGH,gBAAgB,EAJzB;AAKC,IAAA,QAAQ,EAAGF;AALZ,IADD,CATF,CADD;AAsBA;;eAEctB,oB","sourcesContent":["/**\n * External dependencies\n */\nimport { get, omit } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { PanelBody, RadioControl, RangeControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { colorsUtils } from '../mobile/color-settings/utils';\nimport { getGradientAstWithDefault } from './utils';\nimport { serializeGradient } from './serializer';\nimport {\n\tDEFAULT_LINEAR_GRADIENT_ANGLE,\n\tHORIZONTAL_GRADIENT_ORIENTATION,\n} from './constants';\nimport styles from './style.scss';\n\nfunction CustomGradientPicker( { setColor, currentValue, isGradientColor } ) {\n\tconst [ gradientOrientation, setGradientOrientation ] = useState(\n\t\tHORIZONTAL_GRADIENT_ORIENTATION\n\t);\n\n\tconst [ currentColor, setCurrentColor ] = useState( currentValue );\n\n\tconst { getGradientType, gradients, gradientOptions } = colorsUtils;\n\tconst gradientAST = getGradientAstWithDefault( currentColor );\n\tconst gradientType = getGradientType( currentColor );\n\n\tfunction isLinearGradient( type ) {\n\t\treturn type === gradients.linear;\n\t}\n\n\tfunction getGradientColor( type ) {\n\t\tconst orientation = get( gradientAST, [ 'orientation' ] );\n\n\t\tif ( orientation ) {\n\t\t\tsetGradientOrientation( orientation );\n\t\t}\n\n\t\treturn serializeGradient(\n\t\t\tisLinearGradient( type )\n\t\t\t\t? {\n\t\t\t\t\t\t...gradientAST,\n\t\t\t\t\t\t...( gradientAST.orientation\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\torientation: gradientOrientation,\n\t\t\t\t\t\t\t } ),\n\t\t\t\t\t\ttype,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...omit( gradientAST, [ 'orientation' ] ),\n\t\t\t\t\t\ttype,\n\t\t\t\t }\n\t\t);\n\t}\n\n\tfunction onGradientTypeChange( type ) {\n\t\tconst gradientColor = getGradientColor( type );\n\t\tsetCurrentColor( gradientColor );\n\t\tsetColor( gradientColor );\n\t}\n\n\tfunction setGradientAngle( value ) {\n\t\tconst gradientColor = serializeGradient( {\n\t\t\t...gradientAST,\n\t\t\torientation: {\n\t\t\t\ttype: 'angular',\n\t\t\t\tvalue,\n\t\t\t},\n\t\t} );\n\n\t\tif ( isGradientColor && gradientColor !== currentColor ) {\n\t\t\tsetCurrentColor( gradientColor );\n\t\t\tsetColor( gradientColor );\n\t\t}\n\t}\n\n\tfunction getGradientAngle() {\n\t\treturn get(\n\t\t\tgradientAST,\n\t\t\t[ 'orientation', 'value' ],\n\t\t\tDEFAULT_LINEAR_GRADIENT_ANGLE\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Gradient Type' ) }>\n\t\t\t\t<RadioControl\n\t\t\t\t\tselected={ gradientType }\n\t\t\t\t\toptions={ gradientOptions }\n\t\t\t\t\tonChange={ onGradientTypeChange }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t{ isLinearGradient( gradientType ) && (\n\t\t\t\t<PanelBody style={ styles.angleControl }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Angle' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 360 }\n\t\t\t\t\t\tvalue={ getGradientAngle() }\n\t\t\t\t\t\tonChange={ setGradientAngle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default CustomGradientPicker;\n"]}
@@ -3,21 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.serializeGradient = serializeGradient;
6
7
  exports.serializeGradientColor = serializeGradientColor;
7
- exports.serializeGradientPosition = serializeGradientPosition;
8
8
  exports.serializeGradientColorStop = serializeGradientColorStop;
9
9
  exports.serializeGradientOrientation = serializeGradientOrientation;
10
- exports.serializeGradient = serializeGradient;
10
+ exports.serializeGradientPosition = serializeGradientPosition;
11
11
 
12
12
  var _lodash = require("lodash");
13
13
 
14
14
  /**
15
15
  * External dependencies
16
16
  */
17
- function serializeGradientColor({
18
- type,
19
- value
20
- }) {
17
+ function serializeGradientColor(_ref) {
18
+ let {
19
+ type,
20
+ value
21
+ } = _ref;
22
+
21
23
  if (type === 'literal') {
22
24
  return value;
23
25
  }
@@ -41,11 +43,12 @@ function serializeGradientPosition(position) {
41
43
  return `${value}${type}`;
42
44
  }
43
45
 
44
- function serializeGradientColorStop({
45
- type,
46
- value,
47
- length
48
- }) {
46
+ function serializeGradientColorStop(_ref2) {
47
+ let {
48
+ type,
49
+ value,
50
+ length
51
+ } = _ref2;
49
52
  return `${serializeGradientColor({
50
53
  type,
51
54
  value
@@ -60,11 +63,12 @@ function serializeGradientOrientation(orientation) {
60
63
  return `${orientation.value}deg`;
61
64
  }
62
65
 
63
- function serializeGradient({
64
- type,
65
- orientation,
66
- colorStops
67
- }) {
66
+ function serializeGradient(_ref3) {
67
+ let {
68
+ type,
69
+ orientation,
70
+ colorStops
71
+ } = _ref3;
68
72
  const serializedOrientation = serializeGradientOrientation(orientation);
69
73
  const serializedColorStops = colorStops.sort((colorStop1, colorStop2) => {
70
74
  return (0, _lodash.get)(colorStop1, ['length', 'value'], 0) - (0, _lodash.get)(colorStop2, ['length', 'value'], 0);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/serializer.js"],"names":["serializeGradientColor","type","value","join","serializeGradientPosition","position","serializeGradientColorStop","length","serializeGradientOrientation","orientation","serializeGradient","colorStops","serializedOrientation","serializedColorStops","sort","colorStop1","colorStop2","map"],"mappings":";;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,sBAAT,CAAiC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAAjC,EAAmD;AACzD,MAAKD,IAAI,KAAK,SAAd,EAA0B;AACzB,WAAOC,KAAP;AACA;;AACD,MAAKD,IAAI,KAAK,KAAd,EAAsB;AACrB,WAAQ,IAAIC,KAAO,EAAnB;AACA;;AACD,SAAQ,GAAGD,IAAM,IAAIC,KAAK,CAACC,IAAN,CAAY,GAAZ,CAAmB,GAAxC;AACA;;AAEM,SAASC,yBAAT,CAAoCC,QAApC,EAA+C;AACrD,MAAK,CAAEA,QAAP,EAAkB;AACjB,WAAO,EAAP;AACA;;AACD,QAAM;AAAEH,IAAAA,KAAF;AAASD,IAAAA;AAAT,MAAkBI,QAAxB;AACA,SAAQ,GAAGH,KAAO,GAAGD,IAAM,EAA3B;AACA;;AAEM,SAASK,0BAAT,CAAqC;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,KAAR;AAAeK,EAAAA;AAAf,CAArC,EAA+D;AACrE,SAAQ,GAAGP,sBAAsB,CAAE;AAClCC,IAAAA,IADkC;AAElCC,IAAAA;AAFkC,GAAF,CAG5B,IAAIE,yBAAyB,CAAEG,MAAF,CAAY,EAH9C;AAIA;;AAEM,SAASC,4BAAT,CAAuCC,WAAvC,EAAqD;AAC3D,MAAK,CAAEA,WAAF,IAAiBA,WAAW,CAACR,IAAZ,KAAqB,SAA3C,EAAuD;AACtD;AACA;;AACD,SAAQ,GAAGQ,WAAW,CAACP,KAAO,KAA9B;AACA;;AAEM,SAASQ,iBAAT,CAA4B;AAAET,EAAAA,IAAF;AAAQQ,EAAAA,WAAR;AAAqBE,EAAAA;AAArB,CAA5B,EAAgE;AACtE,QAAMC,qBAAqB,GAAGJ,4BAA4B,CAAEC,WAAF,CAA1D;AACA,QAAMI,oBAAoB,GAAGF,UAAU,CACrCG,IAD2B,CACrB,CAAEC,UAAF,EAAcC,UAAd,KAA8B;AACpC,WACC,iBAAKD,UAAL,EAAiB,CAAE,QAAF,EAAY,OAAZ,CAAjB,EAAwC,CAAxC,IACA,iBAAKC,UAAL,EAAiB,CAAE,QAAF,EAAY,OAAZ,CAAjB,EAAwC,CAAxC,CAFD;AAIA,GAN2B,EAO3BC,GAP2B,CAOtBX,0BAPsB,CAA7B;AAQA,SAAQ,GAAGL,IAAM,IAAI,qBAAS,CAC7BW,qBAD6B,EAE7B,GAAGC,oBAF0B,CAAT,EAGjBV,IAHiB,CAGX,GAHW,CAGJ,GAHjB;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport { compact, get } from 'lodash';\n\nexport function serializeGradientColor( { type, value } ) {\n\tif ( type === 'literal' ) {\n\t\treturn value;\n\t}\n\tif ( type === 'hex' ) {\n\t\treturn `#${ value }`;\n\t}\n\treturn `${ type }(${ value.join( ',' ) })`;\n}\n\nexport function serializeGradientPosition( position ) {\n\tif ( ! position ) {\n\t\treturn '';\n\t}\n\tconst { value, type } = position;\n\treturn `${ value }${ type }`;\n}\n\nexport function serializeGradientColorStop( { type, value, length } ) {\n\treturn `${ serializeGradientColor( {\n\t\ttype,\n\t\tvalue,\n\t} ) } ${ serializeGradientPosition( length ) }`;\n}\n\nexport function serializeGradientOrientation( orientation ) {\n\tif ( ! orientation || orientation.type !== 'angular' ) {\n\t\treturn;\n\t}\n\treturn `${ orientation.value }deg`;\n}\n\nexport function serializeGradient( { type, orientation, colorStops } ) {\n\tconst serializedOrientation = serializeGradientOrientation( orientation );\n\tconst serializedColorStops = colorStops\n\t\t.sort( ( colorStop1, colorStop2 ) => {\n\t\t\treturn (\n\t\t\t\tget( colorStop1, [ 'length', 'value' ], 0 ) -\n\t\t\t\tget( colorStop2, [ 'length', 'value' ], 0 )\n\t\t\t);\n\t\t} )\n\t\t.map( serializeGradientColorStop );\n\treturn `${ type }(${ compact( [\n\t\tserializedOrientation,\n\t\t...serializedColorStops,\n\t] ).join( ',' ) })`;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/serializer.js"],"names":["serializeGradientColor","type","value","join","serializeGradientPosition","position","serializeGradientColorStop","length","serializeGradientOrientation","orientation","serializeGradient","colorStops","serializedOrientation","serializedColorStops","sort","colorStop1","colorStop2","map"],"mappings":";;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,sBAAT,OAAmD;AAAA,MAAlB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAkB;;AACzD,MAAKD,IAAI,KAAK,SAAd,EAA0B;AACzB,WAAOC,KAAP;AACA;;AACD,MAAKD,IAAI,KAAK,KAAd,EAAsB;AACrB,WAAQ,IAAIC,KAAO,EAAnB;AACA;;AACD,SAAQ,GAAGD,IAAM,IAAIC,KAAK,CAACC,IAAN,CAAY,GAAZ,CAAmB,GAAxC;AACA;;AAEM,SAASC,yBAAT,CAAoCC,QAApC,EAA+C;AACrD,MAAK,CAAEA,QAAP,EAAkB;AACjB,WAAO,EAAP;AACA;;AACD,QAAM;AAAEH,IAAAA,KAAF;AAASD,IAAAA;AAAT,MAAkBI,QAAxB;AACA,SAAQ,GAAGH,KAAO,GAAGD,IAAM,EAA3B;AACA;;AAEM,SAASK,0BAAT,QAA+D;AAAA,MAA1B;AAAEL,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeK,IAAAA;AAAf,GAA0B;AACrE,SAAQ,GAAGP,sBAAsB,CAAE;AAClCC,IAAAA,IADkC;AAElCC,IAAAA;AAFkC,GAAF,CAG5B,IAAIE,yBAAyB,CAAEG,MAAF,CAAY,EAH9C;AAIA;;AAEM,SAASC,4BAAT,CAAuCC,WAAvC,EAAqD;AAC3D,MAAK,CAAEA,WAAF,IAAiBA,WAAW,CAACR,IAAZ,KAAqB,SAA3C,EAAuD;AACtD;AACA;;AACD,SAAQ,GAAGQ,WAAW,CAACP,KAAO,KAA9B;AACA;;AAEM,SAASQ,iBAAT,QAAgE;AAAA,MAApC;AAAET,IAAAA,IAAF;AAAQQ,IAAAA,WAAR;AAAqBE,IAAAA;AAArB,GAAoC;AACtE,QAAMC,qBAAqB,GAAGJ,4BAA4B,CAAEC,WAAF,CAA1D;AACA,QAAMI,oBAAoB,GAAGF,UAAU,CACrCG,IAD2B,CACrB,CAAEC,UAAF,EAAcC,UAAd,KAA8B;AACpC,WACC,iBAAKD,UAAL,EAAiB,CAAE,QAAF,EAAY,OAAZ,CAAjB,EAAwC,CAAxC,IACA,iBAAKC,UAAL,EAAiB,CAAE,QAAF,EAAY,OAAZ,CAAjB,EAAwC,CAAxC,CAFD;AAIA,GAN2B,EAO3BC,GAP2B,CAOtBX,0BAPsB,CAA7B;AAQA,SAAQ,GAAGL,IAAM,IAAI,qBAAS,CAC7BW,qBAD6B,EAE7B,GAAGC,oBAF0B,CAAT,EAGjBV,IAHiB,CAGX,GAHW,CAGJ,GAHjB;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport { compact, get } from 'lodash';\n\nexport function serializeGradientColor( { type, value } ) {\n\tif ( type === 'literal' ) {\n\t\treturn value;\n\t}\n\tif ( type === 'hex' ) {\n\t\treturn `#${ value }`;\n\t}\n\treturn `${ type }(${ value.join( ',' ) })`;\n}\n\nexport function serializeGradientPosition( position ) {\n\tif ( ! position ) {\n\t\treturn '';\n\t}\n\tconst { value, type } = position;\n\treturn `${ value }${ type }`;\n}\n\nexport function serializeGradientColorStop( { type, value, length } ) {\n\treturn `${ serializeGradientColor( {\n\t\ttype,\n\t\tvalue,\n\t} ) } ${ serializeGradientPosition( length ) }`;\n}\n\nexport function serializeGradientOrientation( orientation ) {\n\tif ( ! orientation || orientation.type !== 'angular' ) {\n\t\treturn;\n\t}\n\treturn `${ orientation.value }deg`;\n}\n\nexport function serializeGradient( { type, orientation, colorStops } ) {\n\tconst serializedOrientation = serializeGradientOrientation( orientation );\n\tconst serializedColorStops = colorStops\n\t\t.sort( ( colorStop1, colorStop2 ) => {\n\t\t\treturn (\n\t\t\t\tget( colorStop1, [ 'length', 'value' ], 0 ) -\n\t\t\t\tget( colorStop2, [ 'length', 'value' ], 0 )\n\t\t\t);\n\t\t} )\n\t\t.map( serializeGradientColorStop );\n\treturn `${ type }(${ compact( [\n\t\tserializedOrientation,\n\t\t...serializedColorStops,\n\t] ).join( ',' ) })`;\n}\n"]}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.AccessoryWrapper = exports.SelectWrapper = void 0;
8
+ exports.SelectWrapper = exports.AccessoryWrapper = void 0;
9
9
 
10
10
  var _base = _interopRequireDefault(require("@emotion/styled/base"));
11
11
 
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getLinearGradientRepresentation = getLinearGradientRepresentation;
9
- exports.getGradientAstWithDefault = getGradientAstWithDefault;
10
8
  exports.getGradientAstWithControlPoints = getGradientAstWithControlPoints;
9
+ exports.getGradientAstWithDefault = getGradientAstWithDefault;
10
+ exports.getLinearGradientRepresentation = getLinearGradientRepresentation;
11
11
  exports.getStopCssColor = getStopCssColor;
12
12
 
13
13
  var _gradientParser = _interopRequireDefault(require("gradient-parser"));
@@ -80,10 +80,11 @@ function getGradientAstWithDefault(value) {
80
80
 
81
81
  function getGradientAstWithControlPoints(gradientAST, newControlPoints) {
82
82
  return { ...gradientAST,
83
- colorStops: newControlPoints.map(({
84
- position,
85
- color
86
- }) => {
83
+ colorStops: newControlPoints.map(_ref => {
84
+ let {
85
+ position,
86
+ color
87
+ } = _ref;
87
88
  const {
88
89
  r,
89
90
  g,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/utils.js"],"names":["namesPlugin","getLinearGradientRepresentation","gradientAST","type","orientation","HORIZONTAL_GRADIENT_ORIENTATION","colorStops","hasUnsupportedLength","item","length","undefined","getGradientAstWithDefault","value","gradientParser","parse","error","DEFAULT_GRADIENT","DIRECTIONAL_ORIENTATION_ANGLE_MAP","toString","some","step","forEach","stop","index","getGradientAstWithControlPoints","newControlPoints","map","position","color","r","g","b","a","toRgb","getStopCssColor","colorStop","join"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport gradientParser from 'gradient-parser';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * Internal dependencies\n */\nimport {\n\tDEFAULT_GRADIENT,\n\tHORIZONTAL_GRADIENT_ORIENTATION,\n\tDIRECTIONAL_ORIENTATION_ANGLE_MAP,\n} from './constants';\nimport { serializeGradient } from './serializer';\n\nextend( [ namesPlugin ] );\n\nexport function getLinearGradientRepresentation( gradientAST ) {\n\treturn serializeGradient( {\n\t\ttype: 'linear-gradient',\n\t\torientation: HORIZONTAL_GRADIENT_ORIENTATION,\n\t\tcolorStops: gradientAST.colorStops,\n\t} );\n}\n\nfunction hasUnsupportedLength( item ) {\n\treturn item.length === undefined || item.length.type !== '%';\n}\n\nexport function getGradientAstWithDefault( value ) {\n\t// gradientAST will contain the gradient AST as parsed by gradient-parser npm module.\n\t// More information of its structure available at https://www.npmjs.com/package/gradient-parser#ast.\n\tlet gradientAST;\n\n\ttry {\n\t\tgradientAST = gradientParser.parse( value )[ 0 ];\n\t\tgradientAST.value = value;\n\t} catch ( error ) {\n\t\tgradientAST = gradientParser.parse( DEFAULT_GRADIENT )[ 0 ];\n\t\tgradientAST.value = DEFAULT_GRADIENT;\n\t}\n\n\tif ( gradientAST.orientation?.type === 'directional' ) {\n\t\tgradientAST.orientation.type = 'angular';\n\t\tgradientAST.orientation.value = DIRECTIONAL_ORIENTATION_ANGLE_MAP[\n\t\t\tgradientAST.orientation.value\n\t\t].toString();\n\t}\n\n\tif ( gradientAST.colorStops.some( hasUnsupportedLength ) ) {\n\t\tconst { colorStops } = gradientAST;\n\t\tconst step = 100 / ( colorStops.length - 1 );\n\t\tcolorStops.forEach( ( stop, index ) => {\n\t\t\tstop.length = {\n\t\t\t\tvalue: step * index,\n\t\t\t\ttype: '%',\n\t\t\t};\n\t\t} );\n\t\tgradientAST.value = serializeGradient( gradientAST );\n\t}\n\n\treturn gradientAST;\n}\n\nexport function getGradientAstWithControlPoints(\n\tgradientAST,\n\tnewControlPoints\n) {\n\treturn {\n\t\t...gradientAST,\n\t\tcolorStops: newControlPoints.map( ( { position, color } ) => {\n\t\t\tconst { r, g, b, a } = colord( color ).toRgb();\n\t\t\treturn {\n\t\t\t\tlength: {\n\t\t\t\t\ttype: '%',\n\t\t\t\t\tvalue: position.toString(),\n\t\t\t\t},\n\t\t\t\ttype: a < 1 ? 'rgba' : 'rgb',\n\t\t\t\tvalue: a < 1 ? [ r, g, b, a ] : [ r, g, b ],\n\t\t\t};\n\t\t} ),\n\t};\n}\n\nexport function getStopCssColor( colorStop ) {\n\tswitch ( colorStop.type ) {\n\t\tcase 'hex':\n\t\t\treturn `#${ colorStop.value }`;\n\t\tcase 'literal':\n\t\t\treturn colorStop.value;\n\t\tcase 'rgb':\n\t\tcase 'rgba':\n\t\t\treturn `${ colorStop.type }(${ colorStop.value.join( ',' ) })`;\n\t\tdefault:\n\t\t\t// Should be unreachable if passing an AST from gradient-parser.\n\t\t\t// See https://github.com/rafaelcaricio/gradient-parser#ast.\n\t\t\treturn 'transparent';\n\t}\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/utils.js"],"names":["namesPlugin","getLinearGradientRepresentation","gradientAST","type","orientation","HORIZONTAL_GRADIENT_ORIENTATION","colorStops","hasUnsupportedLength","item","length","undefined","getGradientAstWithDefault","value","gradientParser","parse","error","DEFAULT_GRADIENT","DIRECTIONAL_ORIENTATION_ANGLE_MAP","toString","some","step","forEach","stop","index","getGradientAstWithControlPoints","newControlPoints","map","position","color","r","g","b","a","toRgb","getStopCssColor","colorStop","join"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport gradientParser from 'gradient-parser';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * Internal dependencies\n */\nimport {\n\tDEFAULT_GRADIENT,\n\tHORIZONTAL_GRADIENT_ORIENTATION,\n\tDIRECTIONAL_ORIENTATION_ANGLE_MAP,\n} from './constants';\nimport { serializeGradient } from './serializer';\n\nextend( [ namesPlugin ] );\n\nexport function getLinearGradientRepresentation( gradientAST ) {\n\treturn serializeGradient( {\n\t\ttype: 'linear-gradient',\n\t\torientation: HORIZONTAL_GRADIENT_ORIENTATION,\n\t\tcolorStops: gradientAST.colorStops,\n\t} );\n}\n\nfunction hasUnsupportedLength( item ) {\n\treturn item.length === undefined || item.length.type !== '%';\n}\n\nexport function getGradientAstWithDefault( value ) {\n\t// gradientAST will contain the gradient AST as parsed by gradient-parser npm module.\n\t// More information of its structure available at https://www.npmjs.com/package/gradient-parser#ast.\n\tlet gradientAST;\n\n\ttry {\n\t\tgradientAST = gradientParser.parse( value )[ 0 ];\n\t\tgradientAST.value = value;\n\t} catch ( error ) {\n\t\tgradientAST = gradientParser.parse( DEFAULT_GRADIENT )[ 0 ];\n\t\tgradientAST.value = DEFAULT_GRADIENT;\n\t}\n\n\tif ( gradientAST.orientation?.type === 'directional' ) {\n\t\tgradientAST.orientation.type = 'angular';\n\t\tgradientAST.orientation.value = DIRECTIONAL_ORIENTATION_ANGLE_MAP[\n\t\t\tgradientAST.orientation.value\n\t\t].toString();\n\t}\n\n\tif ( gradientAST.colorStops.some( hasUnsupportedLength ) ) {\n\t\tconst { colorStops } = gradientAST;\n\t\tconst step = 100 / ( colorStops.length - 1 );\n\t\tcolorStops.forEach( ( stop, index ) => {\n\t\t\tstop.length = {\n\t\t\t\tvalue: step * index,\n\t\t\t\ttype: '%',\n\t\t\t};\n\t\t} );\n\t\tgradientAST.value = serializeGradient( gradientAST );\n\t}\n\n\treturn gradientAST;\n}\n\nexport function getGradientAstWithControlPoints(\n\tgradientAST,\n\tnewControlPoints\n) {\n\treturn {\n\t\t...gradientAST,\n\t\tcolorStops: newControlPoints.map( ( { position, color } ) => {\n\t\t\tconst { r, g, b, a } = colord( color ).toRgb();\n\t\t\treturn {\n\t\t\t\tlength: {\n\t\t\t\t\ttype: '%',\n\t\t\t\t\tvalue: position.toString(),\n\t\t\t\t},\n\t\t\t\ttype: a < 1 ? 'rgba' : 'rgb',\n\t\t\t\tvalue: a < 1 ? [ r, g, b, a ] : [ r, g, b ],\n\t\t\t};\n\t\t} ),\n\t};\n}\n\nexport function getStopCssColor( colorStop ) {\n\tswitch ( colorStop.type ) {\n\t\tcase 'hex':\n\t\t\treturn `#${ colorStop.value }`;\n\t\tcase 'literal':\n\t\t\treturn colorStop.value;\n\t\tcase 'rgb':\n\t\tcase 'rgba':\n\t\t\treturn `${ colorStop.type }(${ colorStop.value.join( ',' ) })`;\n\t\tdefault:\n\t\t\t// Should be unreachable if passing an AST from gradient-parser.\n\t\t\t// See https://github.com/rafaelcaricio/gradient-parser#ast.\n\t\t\treturn 'transparent';\n\t}\n}\n"]}