@wordpress/components 19.15.0 → 20.0.1-next.d6164808d3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1147) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/build/alignment-matrix-control/index.js +1 -1
  3. package/build/alignment-matrix-control/index.js.map +1 -1
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  5. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  6. package/build/angle-picker-control/index.js +5 -2
  7. package/build/angle-picker-control/index.js.map +1 -1
  8. package/build/angle-picker-control/styles/angle-picker-control-styles.js +14 -4
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  10. package/build/autocomplete/index.js +9 -11
  11. package/build/autocomplete/index.js.map +1 -1
  12. package/build/base-control/index.js +6 -3
  13. package/build/base-control/index.js.map +1 -1
  14. package/build/base-control/styles/base-control-styles.js +8 -8
  15. package/build/base-control/styles/base-control-styles.js.map +1 -1
  16. package/build/base-field/styles.js +5 -5
  17. package/build/base-field/styles.js.map +1 -1
  18. package/build/border-control/border-control/component.js +38 -25
  19. package/build/border-control/border-control/component.js.map +1 -1
  20. package/build/border-control/border-control/hook.js +4 -7
  21. package/build/border-control/border-control/hook.js.map +1 -1
  22. package/build/border-control/border-control-dropdown/component.js +13 -7
  23. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  24. package/build/border-control/border-control-dropdown/hook.js +0 -4
  25. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  26. package/build/border-control/styles.js +29 -60
  27. package/build/border-control/styles.js.map +1 -1
  28. package/build/box-control/all-input-control.js +2 -27
  29. package/build/box-control/all-input-control.js.map +1 -1
  30. package/build/box-control/axial-input-controls.js +1 -1
  31. package/build/box-control/axial-input-controls.js.map +1 -1
  32. package/build/box-control/index.js +10 -5
  33. package/build/box-control/index.js.map +1 -1
  34. package/build/box-control/styles/box-control-styles.js +17 -9
  35. package/build/box-control/styles/box-control-styles.js.map +1 -1
  36. package/build/box-control/styles/box-control-visualizer-styles.js +8 -8
  37. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  38. package/build/box-control/utils.js +37 -8
  39. package/build/box-control/utils.js.map +1 -1
  40. package/build/color-list-picker/index.js +16 -5
  41. package/build/color-list-picker/index.js.map +1 -1
  42. package/build/color-palette/index.js +36 -14
  43. package/build/color-palette/index.js.map +1 -1
  44. package/build/color-palette/index.native.js +3 -3
  45. package/build/color-palette/index.native.js.map +1 -1
  46. package/build/color-picker/hex-input.js +2 -1
  47. package/build/color-picker/hex-input.js.map +1 -1
  48. package/build/color-picker/input-with-slider.js +3 -2
  49. package/build/color-picker/input-with-slider.js.map +1 -1
  50. package/build/color-picker/styles.js +10 -15
  51. package/build/color-picker/styles.js.map +1 -1
  52. package/build/combobox-control/index.js +26 -17
  53. package/build/combobox-control/index.js.map +1 -1
  54. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  55. package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
  56. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
  57. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
  58. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
  59. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -0
  60. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  61. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
  62. package/build/custom-gradient-picker/index.js +19 -4
  63. package/build/custom-gradient-picker/index.js.map +1 -1
  64. package/build/custom-select-control/index.js +43 -13
  65. package/build/custom-select-control/index.js.map +1 -1
  66. package/build/custom-select-control/styles.js +34 -0
  67. package/build/custom-select-control/styles.js.map +1 -0
  68. package/build/date-time/constants.js +9 -0
  69. package/build/date-time/constants.js.map +1 -0
  70. package/build/date-time/date/index.js +175 -186
  71. package/build/date-time/date/index.js.map +1 -1
  72. package/build/date-time/date/styles.js +59 -40
  73. package/build/date-time/date/styles.js.map +1 -1
  74. package/build/date-time/date-time/index.js +5 -2
  75. package/build/date-time/date-time/index.js.map +1 -1
  76. package/build/date-time/time/index.js +28 -19
  77. package/build/date-time/time/index.js.map +1 -1
  78. package/build/date-time/time/styles.js +17 -24
  79. package/build/date-time/time/styles.js.map +1 -1
  80. package/build/date-time/utils.js +27 -0
  81. package/build/date-time/utils.js.map +1 -0
  82. package/build/dimension-control/index.js +2 -6
  83. package/build/dimension-control/index.js.map +1 -1
  84. package/build/disabled/index.js +28 -11
  85. package/build/disabled/index.js.map +1 -1
  86. package/build/disabled/styles/disabled-styles.js +3 -3
  87. package/build/disabled/styles/disabled-styles.js.map +1 -1
  88. package/build/disabled/types.js +6 -0
  89. package/build/disabled/types.js.map +1 -0
  90. package/build/divider/component.js +0 -1
  91. package/build/divider/component.js.map +1 -1
  92. package/build/divider/index.js.map +1 -1
  93. package/build/divider/styles.js +5 -5
  94. package/build/divider/styles.js.map +1 -1
  95. package/build/dropdown/dropdown-content-wrapper.js +60 -0
  96. package/build/dropdown/dropdown-content-wrapper.js.map +1 -0
  97. package/build/dropdown/index.js +5 -6
  98. package/build/dropdown/index.js.map +1 -1
  99. package/build/dropdown/styles.js +42 -0
  100. package/build/dropdown/styles.js.map +1 -0
  101. package/build/dropdown/types.js +6 -0
  102. package/build/dropdown/types.js.map +1 -0
  103. package/build/duotone-picker/custom-duotone-bar.js +2 -2
  104. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  105. package/build/duotone-picker/duotone-picker.js +9 -1
  106. package/build/duotone-picker/duotone-picker.js.map +1 -1
  107. package/build/duotone-picker/duotone-swatch.js +13 -3
  108. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  109. package/build/elevation/component.js +15 -15
  110. package/build/elevation/component.js.map +1 -1
  111. package/build/elevation/hook.js +5 -17
  112. package/build/elevation/hook.js.map +1 -1
  113. package/build/elevation/index.js.map +1 -1
  114. package/build/elevation/styles.js +1 -1
  115. package/build/elevation/styles.js.map +1 -1
  116. package/build/external-link/index.js +6 -0
  117. package/build/external-link/index.js.map +1 -1
  118. package/build/flex/flex/component.js +20 -26
  119. package/build/flex/flex/component.js.map +1 -1
  120. package/build/flex/flex/hook.js +6 -16
  121. package/build/flex/flex/hook.js.map +1 -1
  122. package/build/flex/flex/index.js.map +1 -1
  123. package/build/flex/flex-block/component.js +18 -12
  124. package/build/flex/flex-block/component.js.map +1 -1
  125. package/build/flex/flex-block/hook.js +0 -4
  126. package/build/flex/flex-block/hook.js.map +1 -1
  127. package/build/flex/flex-block/index.js.map +1 -1
  128. package/build/flex/flex-item/component.js +18 -12
  129. package/build/flex/flex-item/component.js.map +1 -1
  130. package/build/flex/flex-item/hook.js +1 -5
  131. package/build/flex/flex-item/hook.js.map +1 -1
  132. package/build/flex/flex-item/index.js.map +1 -1
  133. package/build/flex/index.js.map +1 -1
  134. package/build/flex/styles.js +5 -5
  135. package/build/flex/styles.js.map +1 -1
  136. package/build/focal-point-picker/index.js +4 -6
  137. package/build/focal-point-picker/index.js.map +1 -1
  138. package/build/focal-point-picker/styles/focal-point-picker-style.js +22 -22
  139. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  140. package/build/focal-point-picker/styles/focal-point-style.js +5 -5
  141. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  142. package/build/font-size-picker/index.js +56 -18
  143. package/build/font-size-picker/index.js.map +1 -1
  144. package/build/font-size-picker/utils.js +32 -22
  145. package/build/font-size-picker/utils.js.map +1 -1
  146. package/build/form-token-field/index.js +17 -7
  147. package/build/form-token-field/index.js.map +1 -1
  148. package/build/form-token-field/suggestions-list.js +19 -6
  149. package/build/form-token-field/suggestions-list.js.map +1 -1
  150. package/build/gradient-picker/index.js +15 -3
  151. package/build/gradient-picker/index.js.map +1 -1
  152. package/build/guide/index.js +5 -3
  153. package/build/guide/index.js.map +1 -1
  154. package/build/guide/page-control.js +3 -7
  155. package/build/guide/page-control.js.map +1 -1
  156. package/build/index.js +31 -1
  157. package/build/index.js.map +1 -1
  158. package/build/input-control/index.js +7 -0
  159. package/build/input-control/index.js.map +1 -1
  160. package/build/input-control/input-base.js +24 -3
  161. package/build/input-control/input-base.js.map +1 -1
  162. package/build/input-control/input-prefix-wrapper.js +54 -0
  163. package/build/input-control/input-prefix-wrapper.js.map +1 -0
  164. package/build/input-control/input-suffix-wrapper.js +54 -0
  165. package/build/input-control/input-suffix-wrapper.js.map +1 -0
  166. package/build/input-control/reducer/actions.js +3 -1
  167. package/build/input-control/reducer/actions.js.map +1 -1
  168. package/build/input-control/reducer/reducer.js +28 -11
  169. package/build/input-control/reducer/reducer.js.map +1 -1
  170. package/build/input-control/reducer/state.js.map +1 -1
  171. package/build/input-control/styles/input-control-styles.js +61 -42
  172. package/build/input-control/styles/input-control-styles.js.map +1 -1
  173. package/build/item-group/styles.js +10 -10
  174. package/build/item-group/styles.js.map +1 -1
  175. package/build/mobile/bottom-sheet/index.native.js +3 -6
  176. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  177. package/build/mobile/global-styles-context/utils.native.js +26 -4
  178. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  179. package/build/mobile/image/index.native.js +9 -5
  180. package/build/mobile/image/index.native.js.map +1 -1
  181. package/build/mobile/link-picker/link-picker-screen.native.js +10 -4
  182. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  183. package/build/mobile/media-edit/index.native.js +1 -7
  184. package/build/mobile/media-edit/index.native.js.map +1 -1
  185. package/build/mobile/picker/index.android.js +3 -3
  186. package/build/mobile/picker/index.android.js.map +1 -1
  187. package/build/mobile/picker/index.ios.js +16 -3
  188. package/build/mobile/picker/index.ios.js.map +1 -1
  189. package/build/modal/index.js +1 -3
  190. package/build/modal/index.js.map +1 -1
  191. package/build/navigable-container/container.js +9 -8
  192. package/build/navigable-container/container.js.map +1 -1
  193. package/build/navigator/navigator-back-button/hook.js +0 -4
  194. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  195. package/build/navigator/navigator-button/hook.js +0 -4
  196. package/build/navigator/navigator-button/hook.js.map +1 -1
  197. package/build/notice/list.js +10 -6
  198. package/build/notice/list.js.map +1 -1
  199. package/build/palette-edit/index.js +1 -0
  200. package/build/palette-edit/index.js.map +1 -1
  201. package/build/palette-edit/styles.js +10 -10
  202. package/build/palette-edit/styles.js.map +1 -1
  203. package/build/placeholder/index.js +11 -14
  204. package/build/placeholder/index.js.map +1 -1
  205. package/build/placeholder/types.js +6 -0
  206. package/build/placeholder/types.js.map +1 -0
  207. package/build/popover/index.js +202 -145
  208. package/build/popover/index.js.map +1 -1
  209. package/build/popover/utils.js +178 -0
  210. package/build/popover/utils.js.map +1 -0
  211. package/build/radio-control/index.js +1 -3
  212. package/build/radio-control/index.js.map +1 -1
  213. package/build/range-control/index.js +3 -0
  214. package/build/range-control/index.js.map +1 -1
  215. package/build/range-control/styles/range-control-styles.js +51 -45
  216. package/build/range-control/styles/range-control-styles.js.map +1 -1
  217. package/build/range-control/utils.js +1 -1
  218. package/build/range-control/utils.js.map +1 -1
  219. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  220. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  221. package/build/sandbox/index.native.js +13 -2
  222. package/build/sandbox/index.native.js.map +1 -1
  223. package/build/scroll-lock/index.js +35 -6
  224. package/build/scroll-lock/index.js.map +1 -1
  225. package/build/select-control/chevron-down.js +30 -0
  226. package/build/select-control/chevron-down.js.map +1 -0
  227. package/build/select-control/index.js +8 -10
  228. package/build/select-control/index.js.map +1 -1
  229. package/build/select-control/styles/select-control-styles.js +54 -19
  230. package/build/select-control/styles/select-control-styles.js.map +1 -1
  231. package/build/shortcut/index.js +4 -13
  232. package/build/shortcut/index.js.map +1 -1
  233. package/build/shortcut/types.js +6 -0
  234. package/build/shortcut/types.js.map +1 -0
  235. package/build/snackbar/list.js +5 -3
  236. package/build/snackbar/list.js.map +1 -1
  237. package/build/spacer/component.js +3 -1
  238. package/build/spacer/component.js.map +1 -1
  239. package/build/spinner/index.js +2 -0
  240. package/build/spinner/index.js.map +1 -1
  241. package/build/style-provider/index.js +10 -7
  242. package/build/style-provider/index.js.map +1 -1
  243. package/build/style-provider/types.js +6 -0
  244. package/build/style-provider/types.js.map +1 -0
  245. package/build/text/hook.js +5 -8
  246. package/build/text/hook.js.map +1 -1
  247. package/build/text/styles.js +7 -7
  248. package/build/text/styles.js.map +1 -1
  249. package/build/toggle-group-control/toggle-group-control/component.js +19 -8
  250. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  251. package/build/toggle-group-control/toggle-group-control/styles.js +22 -4
  252. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  253. package/build/toggle-group-control/toggle-group-control-option/component.js +15 -5
  254. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  255. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
  256. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  257. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +20 -9
  258. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  259. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +26 -7
  260. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  261. package/build/tools-panel/styles.js +13 -10
  262. package/build/tools-panel/styles.js.map +1 -1
  263. package/build/tools-panel/tools-panel/hook.js +1 -1
  264. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  265. package/build/tooltip/index.js +51 -14
  266. package/build/tooltip/index.js.map +1 -1
  267. package/build/tree-select/index.js +2 -2
  268. package/build/tree-select/index.js.map +1 -1
  269. package/build/ui/context/context-connect.js +1 -3
  270. package/build/ui/context/context-connect.js.map +1 -1
  271. package/build/ui/context/use-context-system.js +7 -2
  272. package/build/ui/context/use-context-system.js.map +1 -1
  273. package/build/ui/tooltip/styles.js +4 -4
  274. package/build/ui/tooltip/styles.js.map +1 -1
  275. package/build/ui/utils/space.js +7 -1
  276. package/build/ui/utils/space.js.map +1 -1
  277. package/build/unit-control/index.js +2 -3
  278. package/build/unit-control/index.js.map +1 -1
  279. package/build/unit-control/styles/unit-control-styles.js +38 -29
  280. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  281. package/build/utils/base-label.js +24 -0
  282. package/build/utils/base-label.js.map +1 -0
  283. package/build/utils/box-sizing.js +22 -0
  284. package/build/utils/box-sizing.js.map +1 -0
  285. package/build/utils/colors-values.js +52 -142
  286. package/build/utils/colors-values.js.map +1 -1
  287. package/build/utils/config-values.js +1 -1
  288. package/build/utils/config-values.js.map +1 -1
  289. package/build/utils/input/input-control.js +1 -1
  290. package/build/utils/input/input-control.js.map +1 -1
  291. package/build/utils/rtl.js +6 -5
  292. package/build/utils/rtl.js.map +1 -1
  293. package/build/utils/strings.js +50 -0
  294. package/build/utils/strings.js.map +1 -0
  295. package/build/utils/style-mixins.js +16 -0
  296. package/build/utils/style-mixins.js.map +1 -1
  297. package/build-module/alignment-matrix-control/index.js +1 -1
  298. package/build-module/alignment-matrix-control/index.js.map +1 -1
  299. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  300. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  301. package/build-module/angle-picker-control/index.js +5 -2
  302. package/build-module/angle-picker-control/index.js.map +1 -1
  303. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -4
  304. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  305. package/build-module/autocomplete/index.js +9 -10
  306. package/build-module/autocomplete/index.js.map +1 -1
  307. package/build-module/base-control/index.js +7 -5
  308. package/build-module/base-control/index.js.map +1 -1
  309. package/build-module/base-control/styles/base-control-styles.js +9 -9
  310. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  311. package/build-module/base-field/styles.js +5 -5
  312. package/build-module/base-field/styles.js.map +1 -1
  313. package/build-module/border-control/border-control/component.js +37 -25
  314. package/build-module/border-control/border-control/component.js.map +1 -1
  315. package/build-module/border-control/border-control/hook.js +4 -7
  316. package/build-module/border-control/border-control/hook.js.map +1 -1
  317. package/build-module/border-control/border-control-dropdown/component.js +12 -7
  318. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  319. package/build-module/border-control/border-control-dropdown/hook.js +0 -4
  320. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  321. package/build-module/border-control/styles.js +30 -54
  322. package/build-module/border-control/styles.js.map +1 -1
  323. package/build-module/box-control/all-input-control.js +3 -28
  324. package/build-module/box-control/all-input-control.js.map +1 -1
  325. package/build-module/box-control/axial-input-controls.js +1 -1
  326. package/build-module/box-control/axial-input-controls.js.map +1 -1
  327. package/build-module/box-control/index.js +4 -4
  328. package/build-module/box-control/index.js.map +1 -1
  329. package/build-module/box-control/styles/box-control-styles.js +18 -10
  330. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  331. package/build-module/box-control/styles/box-control-visualizer-styles.js +8 -8
  332. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  333. package/build-module/box-control/utils.js +35 -7
  334. package/build-module/box-control/utils.js.map +1 -1
  335. package/build-module/color-list-picker/index.js +13 -5
  336. package/build-module/color-list-picker/index.js.map +1 -1
  337. package/build-module/color-palette/index.js +32 -12
  338. package/build-module/color-palette/index.js.map +1 -1
  339. package/build-module/color-palette/index.native.js +4 -4
  340. package/build-module/color-palette/index.native.js.map +1 -1
  341. package/build-module/color-picker/hex-input.js +2 -1
  342. package/build-module/color-picker/hex-input.js.map +1 -1
  343. package/build-module/color-picker/input-with-slider.js +3 -2
  344. package/build-module/color-picker/input-with-slider.js.map +1 -1
  345. package/build-module/color-picker/styles.js +10 -16
  346. package/build-module/color-picker/styles.js.map +1 -1
  347. package/build-module/combobox-control/index.js +24 -15
  348. package/build-module/combobox-control/index.js.map +1 -1
  349. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  350. package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
  351. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
  352. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
  353. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
  354. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -0
  355. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  356. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
  357. package/build-module/custom-gradient-picker/index.js +16 -3
  358. package/build-module/custom-gradient-picker/index.js.map +1 -1
  359. package/build-module/custom-select-control/index.js +41 -16
  360. package/build-module/custom-select-control/index.js.map +1 -1
  361. package/build-module/custom-select-control/styles.js +22 -0
  362. package/build-module/custom-select-control/styles.js.map +1 -0
  363. package/build-module/date-time/constants.js +2 -0
  364. package/build-module/date-time/constants.js.map +1 -0
  365. package/build-module/date-time/date/index.js +178 -184
  366. package/build-module/date-time/date/index.js.map +1 -1
  367. package/build-module/date-time/date/styles.js +47 -38
  368. package/build-module/date-time/date/styles.js.map +1 -1
  369. package/build-module/date-time/date-time/index.js +4 -2
  370. package/build-module/date-time/date-time/index.js.map +1 -1
  371. package/build-module/date-time/time/index.js +26 -19
  372. package/build-module/date-time/time/index.js.map +1 -1
  373. package/build-module/date-time/time/styles.js +15 -21
  374. package/build-module/date-time/time/styles.js.map +1 -1
  375. package/build-module/date-time/utils.js +19 -0
  376. package/build-module/date-time/utils.js.map +1 -0
  377. package/build-module/dimension-control/index.js +1 -5
  378. package/build-module/dimension-control/index.js.map +1 -1
  379. package/build-module/disabled/index.js +28 -11
  380. package/build-module/disabled/index.js.map +1 -1
  381. package/build-module/disabled/styles/disabled-styles.js +3 -3
  382. package/build-module/disabled/styles/disabled-styles.js.map +1 -1
  383. package/build-module/disabled/types.js +2 -0
  384. package/build-module/disabled/types.js.map +1 -0
  385. package/build-module/divider/component.js +0 -1
  386. package/build-module/divider/component.js.map +1 -1
  387. package/build-module/divider/index.js.map +1 -1
  388. package/build-module/divider/styles.js +5 -5
  389. package/build-module/divider/styles.js.map +1 -1
  390. package/build-module/dropdown/dropdown-content-wrapper.js +47 -0
  391. package/build-module/dropdown/dropdown-content-wrapper.js.map +1 -0
  392. package/build-module/dropdown/index.js +5 -6
  393. package/build-module/dropdown/index.js.map +1 -1
  394. package/build-module/dropdown/styles.js +31 -0
  395. package/build-module/dropdown/styles.js.map +1 -0
  396. package/build-module/dropdown/types.js +2 -0
  397. package/build-module/dropdown/types.js.map +1 -0
  398. package/build-module/duotone-picker/custom-duotone-bar.js +1 -1
  399. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  400. package/build-module/duotone-picker/duotone-picker.js +7 -1
  401. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  402. package/build-module/duotone-picker/duotone-swatch.js +11 -3
  403. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  404. package/build-module/elevation/component.js +15 -15
  405. package/build-module/elevation/component.js.map +1 -1
  406. package/build-module/elevation/hook.js +5 -17
  407. package/build-module/elevation/hook.js.map +1 -1
  408. package/build-module/elevation/index.js.map +1 -1
  409. package/build-module/elevation/styles.js +1 -1
  410. package/build-module/elevation/styles.js.map +1 -1
  411. package/build-module/external-link/index.js +6 -0
  412. package/build-module/external-link/index.js.map +1 -1
  413. package/build-module/flex/flex/component.js +20 -26
  414. package/build-module/flex/flex/component.js.map +1 -1
  415. package/build-module/flex/flex/hook.js +6 -15
  416. package/build-module/flex/flex/hook.js.map +1 -1
  417. package/build-module/flex/flex/index.js.map +1 -1
  418. package/build-module/flex/flex-block/component.js +18 -12
  419. package/build-module/flex/flex-block/component.js.map +1 -1
  420. package/build-module/flex/flex-block/hook.js +0 -4
  421. package/build-module/flex/flex-block/hook.js.map +1 -1
  422. package/build-module/flex/flex-block/index.js.map +1 -1
  423. package/build-module/flex/flex-item/component.js +18 -12
  424. package/build-module/flex/flex-item/component.js.map +1 -1
  425. package/build-module/flex/flex-item/hook.js +1 -5
  426. package/build-module/flex/flex-item/hook.js.map +1 -1
  427. package/build-module/flex/flex-item/index.js.map +1 -1
  428. package/build-module/flex/index.js.map +1 -1
  429. package/build-module/flex/styles.js +5 -5
  430. package/build-module/flex/styles.js.map +1 -1
  431. package/build-module/focal-point-picker/index.js +4 -5
  432. package/build-module/focal-point-picker/index.js.map +1 -1
  433. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +22 -22
  434. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  435. package/build-module/focal-point-picker/styles/focal-point-style.js +5 -5
  436. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  437. package/build-module/font-size-picker/index.js +51 -18
  438. package/build-module/font-size-picker/index.js.map +1 -1
  439. package/build-module/font-size-picker/utils.js +31 -23
  440. package/build-module/font-size-picker/utils.js.map +1 -1
  441. package/build-module/form-token-field/index.js +17 -8
  442. package/build-module/form-token-field/index.js.map +1 -1
  443. package/build-module/form-token-field/suggestions-list.js +19 -6
  444. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  445. package/build-module/gradient-picker/index.js +14 -3
  446. package/build-module/gradient-picker/index.js.map +1 -1
  447. package/build-module/guide/index.js +5 -3
  448. package/build-module/guide/index.js.map +1 -1
  449. package/build-module/guide/page-control.js +3 -6
  450. package/build-module/guide/page-control.js.map +1 -1
  451. package/build-module/index.js +4 -1
  452. package/build-module/index.js.map +1 -1
  453. package/build-module/input-control/index.js +6 -0
  454. package/build-module/input-control/index.js.map +1 -1
  455. package/build-module/input-control/input-base.js +25 -5
  456. package/build-module/input-control/input-base.js.map +1 -1
  457. package/build-module/input-control/input-prefix-wrapper.js +41 -0
  458. package/build-module/input-control/input-prefix-wrapper.js.map +1 -0
  459. package/build-module/input-control/input-suffix-wrapper.js +41 -0
  460. package/build-module/input-control/input-suffix-wrapper.js.map +1 -0
  461. package/build-module/input-control/reducer/actions.js +1 -0
  462. package/build-module/input-control/reducer/actions.js.map +1 -1
  463. package/build-module/input-control/reducer/reducer.js +28 -11
  464. package/build-module/input-control/reducer/reducer.js.map +1 -1
  465. package/build-module/input-control/reducer/state.js.map +1 -1
  466. package/build-module/input-control/styles/input-control-styles.js +58 -42
  467. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  468. package/build-module/item-group/styles.js +10 -10
  469. package/build-module/item-group/styles.js.map +1 -1
  470. package/build-module/mobile/bottom-sheet/index.native.js +3 -5
  471. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  472. package/build-module/mobile/global-styles-context/utils.native.js +24 -4
  473. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  474. package/build-module/mobile/image/index.native.js +12 -8
  475. package/build-module/mobile/image/index.native.js.map +1 -1
  476. package/build-module/mobile/link-picker/link-picker-screen.native.js +11 -4
  477. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  478. package/build-module/mobile/media-edit/index.native.js +1 -6
  479. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  480. package/build-module/mobile/picker/index.android.js +3 -3
  481. package/build-module/mobile/picker/index.android.js.map +1 -1
  482. package/build-module/mobile/picker/index.ios.js +14 -3
  483. package/build-module/mobile/picker/index.ios.js.map +1 -1
  484. package/build-module/modal/index.js +1 -2
  485. package/build-module/modal/index.js.map +1 -1
  486. package/build-module/navigable-container/container.js +9 -7
  487. package/build-module/navigable-container/container.js.map +1 -1
  488. package/build-module/navigator/navigator-back-button/hook.js +0 -4
  489. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  490. package/build-module/navigator/navigator-button/hook.js +0 -4
  491. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  492. package/build-module/notice/list.js +10 -5
  493. package/build-module/notice/list.js.map +1 -1
  494. package/build-module/palette-edit/index.js +1 -0
  495. package/build-module/palette-edit/index.js.map +1 -1
  496. package/build-module/palette-edit/styles.js +10 -10
  497. package/build-module/palette-edit/styles.js.map +1 -1
  498. package/build-module/placeholder/index.js +10 -15
  499. package/build-module/placeholder/index.js.map +1 -1
  500. package/build-module/placeholder/types.js +2 -0
  501. package/build-module/placeholder/types.js.map +1 -0
  502. package/build-module/popover/index.js +202 -147
  503. package/build-module/popover/index.js.map +1 -1
  504. package/build-module/popover/utils.js +164 -0
  505. package/build-module/popover/utils.js.map +1 -0
  506. package/build-module/radio-control/index.js +1 -2
  507. package/build-module/radio-control/index.js.map +1 -1
  508. package/build-module/range-control/index.js +3 -0
  509. package/build-module/range-control/index.js.map +1 -1
  510. package/build-module/range-control/styles/range-control-styles.js +51 -45
  511. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  512. package/build-module/range-control/utils.js +1 -1
  513. package/build-module/range-control/utils.js.map +1 -1
  514. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  515. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  516. package/build-module/sandbox/index.native.js +13 -3
  517. package/build-module/sandbox/index.native.js.map +1 -1
  518. package/build-module/scroll-lock/index.js +32 -6
  519. package/build-module/scroll-lock/index.js.map +1 -1
  520. package/build-module/select-control/chevron-down.js +21 -0
  521. package/build-module/select-control/chevron-down.js.map +1 -0
  522. package/build-module/select-control/index.js +8 -9
  523. package/build-module/select-control/index.js.map +1 -1
  524. package/build-module/select-control/styles/select-control-styles.js +48 -17
  525. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  526. package/build-module/shortcut/index.js +4 -13
  527. package/build-module/shortcut/index.js.map +1 -1
  528. package/build-module/shortcut/types.js +2 -0
  529. package/build-module/shortcut/types.js.map +1 -0
  530. package/build-module/snackbar/list.js +5 -2
  531. package/build-module/snackbar/list.js.map +1 -1
  532. package/build-module/spacer/component.js +3 -1
  533. package/build-module/spacer/component.js.map +1 -1
  534. package/build-module/spinner/index.js +2 -0
  535. package/build-module/spinner/index.js.map +1 -1
  536. package/build-module/style-provider/index.js +10 -5
  537. package/build-module/style-provider/index.js.map +1 -1
  538. package/build-module/style-provider/types.js +2 -0
  539. package/build-module/style-provider/types.js.map +1 -0
  540. package/build-module/text/hook.js +5 -7
  541. package/build-module/text/hook.js.map +1 -1
  542. package/build-module/text/styles.js +7 -7
  543. package/build-module/text/styles.js.map +1 -1
  544. package/build-module/toggle-group-control/toggle-group-control/component.js +17 -7
  545. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  546. package/build-module/toggle-group-control/toggle-group-control/styles.js +16 -3
  547. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  548. package/build-module/toggle-group-control/toggle-group-control-option/component.js +17 -3
  549. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  550. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
  551. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  552. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +16 -7
  553. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  554. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +27 -5
  555. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  556. package/build-module/tools-panel/styles.js +12 -11
  557. package/build-module/tools-panel/styles.js.map +1 -1
  558. package/build-module/tools-panel/tools-panel/hook.js +1 -1
  559. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  560. package/build-module/tooltip/index.js +53 -16
  561. package/build-module/tooltip/index.js.map +1 -1
  562. package/build-module/tree-select/index.js +3 -3
  563. package/build-module/tree-select/index.js.map +1 -1
  564. package/build-module/ui/context/context-connect.js +1 -2
  565. package/build-module/ui/context/context-connect.js.map +1 -1
  566. package/build-module/ui/context/use-context-system.js +7 -2
  567. package/build-module/ui/context/use-context-system.js.map +1 -1
  568. package/build-module/ui/tooltip/styles.js +4 -4
  569. package/build-module/ui/tooltip/styles.js.map +1 -1
  570. package/build-module/ui/utils/space.js +7 -1
  571. package/build-module/ui/utils/space.js.map +1 -1
  572. package/build-module/unit-control/index.js +2 -2
  573. package/build-module/unit-control/index.js.map +1 -1
  574. package/build-module/unit-control/styles/unit-control-styles.js +39 -30
  575. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  576. package/build-module/utils/base-label.js +18 -0
  577. package/build-module/utils/base-label.js.map +1 -0
  578. package/build-module/utils/box-sizing.js +16 -0
  579. package/build-module/utils/box-sizing.js.map +1 -0
  580. package/build-module/utils/colors-values.js +52 -141
  581. package/build-module/utils/colors-values.js.map +1 -1
  582. package/build-module/utils/config-values.js +1 -1
  583. package/build-module/utils/config-values.js.map +1 -1
  584. package/build-module/utils/input/input-control.js +1 -1
  585. package/build-module/utils/input/input-control.js.map +1 -1
  586. package/build-module/utils/rtl.js +6 -4
  587. package/build-module/utils/rtl.js.map +1 -1
  588. package/build-module/utils/strings.js +37 -0
  589. package/build-module/utils/strings.js.map +1 -0
  590. package/build-module/utils/style-mixins.js +2 -0
  591. package/build-module/utils/style-mixins.js.map +1 -1
  592. package/build-style/style-rtl.css +236 -1281
  593. package/build-style/style.css +237 -1281
  594. package/build-types/base-control/index.d.ts +4 -3
  595. package/build-types/base-control/index.d.ts.map +1 -1
  596. package/build-types/base-control/stories/index.d.ts +1 -1
  597. package/build-types/base-control/stories/index.d.ts.map +1 -1
  598. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  599. package/build-types/base-control/types.d.ts +0 -1
  600. package/build-types/base-control/types.d.ts.map +1 -1
  601. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  602. package/build-types/border-control/border-control/hook.d.ts +1 -1
  603. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  604. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  605. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  606. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  607. package/build-types/border-control/stories/index.d.ts.map +1 -1
  608. package/build-types/border-control/styles.d.ts +1 -4
  609. package/build-types/border-control/styles.d.ts.map +1 -1
  610. package/build-types/card/card-divider/hook.d.ts +1 -1
  611. package/build-types/color-palette/index.d.ts +3 -1
  612. package/build-types/color-palette/index.d.ts.map +1 -1
  613. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  614. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  615. package/build-types/color-picker/styles.d.ts +2 -2
  616. package/build-types/color-picker/styles.d.ts.map +1 -1
  617. package/build-types/date-time/constants.d.ts +2 -0
  618. package/build-types/date-time/constants.d.ts.map +1 -0
  619. package/build-types/date-time/date/index.d.ts +3 -1
  620. package/build-types/date-time/date/index.d.ts.map +1 -1
  621. package/build-types/date-time/date/styles.d.ts +22 -8
  622. package/build-types/date-time/date/styles.d.ts.map +1 -1
  623. package/build-types/date-time/date/test/index.d.ts +1 -1
  624. package/build-types/date-time/date/test/index.d.ts.map +1 -1
  625. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  626. package/build-types/date-time/time/index.d.ts.map +1 -1
  627. package/build-types/date-time/time/styles.d.ts +0 -4
  628. package/build-types/date-time/time/styles.d.ts.map +1 -1
  629. package/build-types/date-time/utils.d.ts +8 -0
  630. package/build-types/date-time/utils.d.ts.map +1 -0
  631. package/build-types/disabled/index.d.ts +35 -28
  632. package/build-types/disabled/index.d.ts.map +1 -1
  633. package/build-types/disabled/stories/index.d.ts +13 -0
  634. package/build-types/disabled/stories/index.d.ts.map +1 -0
  635. package/build-types/disabled/styles/disabled-styles.d.ts +2 -1
  636. package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
  637. package/build-types/disabled/test/index.d.ts +2 -0
  638. package/build-types/disabled/test/index.d.ts.map +1 -0
  639. package/build-types/disabled/types.d.ts +14 -0
  640. package/build-types/disabled/types.d.ts.map +1 -0
  641. package/build-types/divider/component.d.ts +2 -3
  642. package/build-types/divider/component.d.ts.map +1 -1
  643. package/build-types/divider/index.d.ts +1 -1
  644. package/build-types/divider/index.d.ts.map +1 -1
  645. package/build-types/divider/styles.d.ts +6 -2
  646. package/build-types/divider/styles.d.ts.map +1 -1
  647. package/build-types/divider/test/index.d.ts +2 -0
  648. package/build-types/divider/test/index.d.ts.map +1 -0
  649. package/build-types/divider/types.d.ts +18 -10
  650. package/build-types/divider/types.d.ts.map +1 -1
  651. package/build-types/dropdown/dropdown-content-wrapper.d.ts +23 -0
  652. package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -0
  653. package/build-types/dropdown/index.d.ts.map +1 -1
  654. package/build-types/dropdown/styles.d.ts +7 -0
  655. package/build-types/dropdown/styles.d.ts.map +1 -0
  656. package/build-types/dropdown/types.d.ts +9 -0
  657. package/build-types/dropdown/types.d.ts.map +1 -0
  658. package/build-types/elevation/component.d.ts +11 -10
  659. package/build-types/elevation/component.d.ts.map +1 -1
  660. package/build-types/elevation/hook.d.ts +6 -7
  661. package/build-types/elevation/hook.d.ts.map +1 -1
  662. package/build-types/elevation/index.d.ts +2 -2
  663. package/build-types/elevation/index.d.ts.map +1 -1
  664. package/build-types/elevation/stories/index.d.ts +22 -0
  665. package/build-types/elevation/stories/index.d.ts.map +1 -0
  666. package/build-types/elevation/styles.d.ts +1 -1
  667. package/build-types/elevation/styles.d.ts.map +1 -1
  668. package/build-types/elevation/test/index.d.ts +2 -0
  669. package/build-types/elevation/test/index.d.ts.map +1 -0
  670. package/build-types/elevation/types.d.ts +12 -19
  671. package/build-types/elevation/types.d.ts.map +1 -1
  672. package/build-types/external-link/index.d.ts.map +1 -1
  673. package/build-types/flex/flex/component.d.ts +16 -21
  674. package/build-types/flex/flex/component.d.ts.map +1 -1
  675. package/build-types/flex/flex/hook.d.ts +5 -2
  676. package/build-types/flex/flex/hook.d.ts.map +1 -1
  677. package/build-types/flex/flex/index.d.ts +2 -2
  678. package/build-types/flex/flex/index.d.ts.map +1 -1
  679. package/build-types/flex/flex-block/component.d.ts +14 -7
  680. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  681. package/build-types/flex/flex-block/hook.d.ts +6 -3
  682. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  683. package/build-types/flex/flex-block/index.d.ts +2 -2
  684. package/build-types/flex/flex-block/index.d.ts.map +1 -1
  685. package/build-types/flex/flex-item/component.d.ts +14 -7
  686. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  687. package/build-types/flex/flex-item/hook.d.ts +6 -3
  688. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  689. package/build-types/flex/flex-item/index.d.ts +2 -2
  690. package/build-types/flex/flex-item/index.d.ts.map +1 -1
  691. package/build-types/flex/index.d.ts +3 -3
  692. package/build-types/flex/index.d.ts.map +1 -1
  693. package/build-types/flex/stories/index.d.ts +13 -0
  694. package/build-types/flex/stories/index.d.ts.map +1 -0
  695. package/build-types/flex/styles.d.ts +5 -5
  696. package/build-types/flex/styles.d.ts.map +1 -1
  697. package/build-types/flex/test/index.d.ts +2 -0
  698. package/build-types/flex/test/index.d.ts.map +1 -0
  699. package/build-types/flex/types.d.ts +17 -10
  700. package/build-types/flex/types.d.ts.map +1 -1
  701. package/build-types/form-token-field/index.d.ts.map +1 -1
  702. package/build-types/form-token-field/stories/index.d.ts +7 -0
  703. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  704. package/build-types/form-token-field/suggestions-list.d.ts +1 -1
  705. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  706. package/build-types/form-token-field/types.d.ts +22 -3
  707. package/build-types/form-token-field/types.d.ts.map +1 -1
  708. package/build-types/input-control/index.d.ts +1 -1
  709. package/build-types/input-control/index.d.ts.map +1 -1
  710. package/build-types/input-control/input-base.d.ts +1 -1
  711. package/build-types/input-control/input-base.d.ts.map +1 -1
  712. package/build-types/input-control/input-prefix-wrapper.d.ts +19 -0
  713. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -0
  714. package/build-types/input-control/input-suffix-wrapper.d.ts +19 -0
  715. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -0
  716. package/build-types/input-control/reducer/actions.d.ts +3 -1
  717. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  718. package/build-types/input-control/reducer/reducer.d.ts +2 -2
  719. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  720. package/build-types/input-control/reducer/state.d.ts +2 -2
  721. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  722. package/build-types/input-control/stories/index.d.ts +10 -0
  723. package/build-types/input-control/stories/index.d.ts.map +1 -1
  724. package/build-types/input-control/styles/input-control-styles.d.ts +21 -0
  725. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  726. package/build-types/input-control/types.d.ts +45 -3
  727. package/build-types/input-control/types.d.ts.map +1 -1
  728. package/build-types/navigator/navigator-back-button/hook.d.ts +0 -3
  729. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  730. package/build-types/navigator/navigator-button/hook.d.ts +0 -3
  731. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  732. package/build-types/placeholder/index.d.ts +16 -0
  733. package/build-types/placeholder/index.d.ts.map +1 -0
  734. package/build-types/placeholder/stories/index.d.ts +12 -0
  735. package/build-types/placeholder/stories/index.d.ts.map +1 -0
  736. package/build-types/placeholder/test/index.d.ts +2 -0
  737. package/build-types/placeholder/test/index.d.ts.map +1 -0
  738. package/build-types/placeholder/types.d.ts +47 -0
  739. package/build-types/placeholder/types.d.ts.map +1 -0
  740. package/build-types/popover/index.d.ts +2 -2
  741. package/build-types/popover/index.d.ts.map +1 -1
  742. package/build-types/popover/utils.d.ts +27 -0
  743. package/build-types/popover/utils.d.ts.map +1 -0
  744. package/build-types/radio-control/index.d.ts.map +1 -1
  745. package/build-types/range-control/index.d.ts +2 -2
  746. package/build-types/range-control/index.d.ts.map +1 -1
  747. package/build-types/range-control/styles/range-control-styles.d.ts +5 -2
  748. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  749. package/build-types/range-control/types.d.ts +6 -4
  750. package/build-types/range-control/types.d.ts.map +1 -1
  751. package/build-types/range-control/utils.d.ts.map +1 -1
  752. package/build-types/scroll-lock/index.d.ts +32 -3
  753. package/build-types/scroll-lock/index.d.ts.map +1 -1
  754. package/build-types/scroll-lock/stories/index.d.ts +9 -0
  755. package/build-types/scroll-lock/stories/index.d.ts.map +1 -0
  756. package/build-types/scroll-lock/test/index.d.ts +2 -0
  757. package/build-types/scroll-lock/test/index.d.ts.map +1 -0
  758. package/build-types/select-control/chevron-down.d.ts +4 -0
  759. package/build-types/select-control/chevron-down.d.ts.map +1 -0
  760. package/build-types/select-control/index.d.ts.map +1 -1
  761. package/build-types/select-control/styles/select-control-styles.d.ts +9 -1
  762. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  763. package/build-types/select-control/types.d.ts +1 -1
  764. package/build-types/select-control/types.d.ts.map +1 -1
  765. package/build-types/shortcut/index.d.ts +5 -24
  766. package/build-types/shortcut/index.d.ts.map +1 -1
  767. package/build-types/shortcut/test/index.d.ts +2 -0
  768. package/build-types/shortcut/test/index.d.ts.map +1 -0
  769. package/build-types/shortcut/types.d.ts +14 -0
  770. package/build-types/shortcut/types.d.ts.map +1 -0
  771. package/build-types/spacer/component.d.ts +3 -1
  772. package/build-types/spacer/component.d.ts.map +1 -1
  773. package/build-types/spinner/index.d.ts.map +1 -1
  774. package/build-types/style-provider/index.d.ts +7 -4
  775. package/build-types/style-provider/index.d.ts.map +1 -1
  776. package/build-types/style-provider/types.d.ts +15 -0
  777. package/build-types/style-provider/types.d.ts.map +1 -0
  778. package/build-types/text/hook.d.ts.map +1 -1
  779. package/build-types/toggle-group-control/stories/index.d.ts +25 -0
  780. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -0
  781. package/build-types/toggle-group-control/test/index.d.ts +2 -0
  782. package/build-types/toggle-group-control/test/index.d.ts.map +1 -0
  783. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -3
  784. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  785. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +6 -1
  786. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  787. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -7
  788. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  789. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  790. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -1
  791. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  792. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +11 -9
  793. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  794. package/build-types/toggle-group-control/types.d.ts +27 -8
  795. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  796. package/build-types/tools-panel/styles.d.ts +1 -1
  797. package/build-types/tools-panel/styles.d.ts.map +1 -1
  798. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  799. package/build-types/tooltip/index.d.ts.map +1 -1
  800. package/build-types/tree-select/index.d.ts.map +1 -1
  801. package/build-types/tree-select/types.d.ts +1 -0
  802. package/build-types/tree-select/types.d.ts.map +1 -1
  803. package/build-types/ui/context/context-connect.d.ts +3 -0
  804. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  805. package/build-types/ui/context/use-context-system.d.ts.map +1 -1
  806. package/build-types/ui/form-group/use-form-group.d.ts +2 -2
  807. package/build-types/ui/tooltip/styles.d.ts.map +1 -1
  808. package/build-types/ui/utils/space.d.ts +7 -1
  809. package/build-types/ui/utils/space.d.ts.map +1 -1
  810. package/build-types/unit-control/index.d.ts +4 -3
  811. package/build-types/unit-control/index.d.ts.map +1 -1
  812. package/build-types/unit-control/stories/index.d.ts.map +1 -1
  813. package/build-types/unit-control/styles/unit-control-styles.d.ts +0 -1
  814. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  815. package/build-types/unit-control/types.d.ts +7 -9
  816. package/build-types/unit-control/types.d.ts.map +1 -1
  817. package/build-types/utils/base-label.d.ts +2 -0
  818. package/build-types/utils/base-label.d.ts.map +1 -0
  819. package/build-types/utils/box-sizing.d.ts +2 -0
  820. package/build-types/utils/box-sizing.d.ts.map +1 -0
  821. package/build-types/utils/colors-values.d.ts +18 -97
  822. package/build-types/utils/colors-values.d.ts.map +1 -1
  823. package/build-types/utils/rtl.d.ts.map +1 -1
  824. package/build-types/utils/strings.d.ts +2 -0
  825. package/build-types/utils/strings.d.ts.map +1 -0
  826. package/build-types/utils/style-mixins.d.ts +2 -0
  827. package/package.json +22 -21
  828. package/src/alignment-matrix-control/index.js +1 -1
  829. package/src/alignment-matrix-control/stories/index.js +49 -24
  830. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -3
  831. package/src/angle-picker-control/index.js +7 -2
  832. package/src/angle-picker-control/stories/index.js +8 -5
  833. package/src/angle-picker-control/styles/angle-picker-control-styles.js +12 -3
  834. package/src/autocomplete/index.js +9 -18
  835. package/src/base-control/index.tsx +5 -3
  836. package/src/base-control/stories/index.tsx +1 -0
  837. package/src/base-control/styles/base-control-styles.ts +11 -2
  838. package/src/base-control/types.ts +0 -1
  839. package/src/base-field/styles.js +1 -1
  840. package/src/base-field/test/__snapshots__/index.js.snap +2 -2
  841. package/src/border-control/border-control/component.tsx +41 -32
  842. package/src/border-control/border-control/hook.ts +4 -9
  843. package/src/border-control/border-control-dropdown/component.tsx +50 -45
  844. package/src/border-control/border-control-dropdown/hook.ts +0 -5
  845. package/src/border-control/stories/index.tsx +3 -0
  846. package/src/border-control/styles.ts +25 -70
  847. package/src/border-control/test/index.js +19 -8
  848. package/src/box-control/all-input-control.js +3 -27
  849. package/src/box-control/axial-input-controls.js +1 -1
  850. package/src/box-control/index.js +5 -6
  851. package/src/box-control/styles/box-control-styles.js +1 -2
  852. package/src/box-control/styles/box-control-visualizer-styles.js +0 -1
  853. package/src/box-control/test/index.js +8 -8
  854. package/src/box-control/utils.js +38 -13
  855. package/src/button/test/index.js +188 -146
  856. package/src/card/test/__snapshots__/index.js.snap +8 -8
  857. package/src/color-list-picker/index.js +15 -3
  858. package/src/color-list-picker/style.scss +11 -0
  859. package/src/color-palette/index.js +51 -24
  860. package/src/color-palette/index.native.js +10 -6
  861. package/src/color-palette/stories/index.js +1 -1
  862. package/src/color-palette/style.scss +5 -0
  863. package/src/color-palette/test/__snapshots__/index.js.snap +17 -3
  864. package/src/color-palette/test/utils.ts +19 -1
  865. package/src/color-picker/hex-input.tsx +2 -1
  866. package/src/color-picker/input-with-slider.tsx +2 -1
  867. package/src/color-picker/styles.ts +3 -11
  868. package/src/combobox-control/README.md +7 -0
  869. package/src/combobox-control/index.js +25 -15
  870. package/src/combobox-control/stories/index.js +57 -7
  871. package/src/combobox-control/style.scss +0 -1
  872. package/src/confirm-dialog/README.md +1 -1
  873. package/src/confirm-dialog/test/index.js +85 -62
  874. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  875. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +54 -50
  876. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -3
  877. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/test/utils.js +0 -0
  878. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  879. package/src/custom-gradient-picker/index.js +18 -3
  880. package/src/custom-gradient-picker/stories/index.js +4 -3
  881. package/src/custom-gradient-picker/style.scss +30 -39
  882. package/src/custom-select-control/README.md +10 -0
  883. package/src/custom-select-control/index.js +54 -29
  884. package/src/custom-select-control/stories/index.js +7 -2
  885. package/src/custom-select-control/style.scss +2 -43
  886. package/src/custom-select-control/styles.ts +28 -0
  887. package/src/custom-select-control/test/index.js +4 -1
  888. package/src/date-time/constants.ts +1 -0
  889. package/src/date-time/date/index.tsx +289 -184
  890. package/src/date-time/date/styles.ts +86 -27
  891. package/src/date-time/date/test/index.tsx +18 -28
  892. package/src/date-time/date-time/index.tsx +3 -2
  893. package/src/date-time/time/index.tsx +30 -24
  894. package/src/date-time/time/styles.ts +3 -6
  895. package/src/date-time/utils.ts +17 -0
  896. package/src/dimension-control/index.js +1 -5
  897. package/src/disabled/index.tsx +80 -0
  898. package/src/disabled/stories/index.tsx +87 -0
  899. package/src/disabled/styles/{disabled-styles.js → disabled-styles.tsx} +0 -0
  900. package/src/disabled/test/index.tsx +174 -0
  901. package/src/disabled/types.ts +13 -0
  902. package/src/divider/README.md +12 -5
  903. package/src/divider/component.tsx +2 -3
  904. package/src/divider/index.ts +1 -1
  905. package/src/divider/stories/index.tsx +4 -4
  906. package/src/divider/styles.ts +7 -7
  907. package/src/divider/test/__snapshots__/{index.js.snap → index.tsx.snap} +7 -7
  908. package/src/divider/test/index.tsx +40 -0
  909. package/src/divider/types.ts +21 -15
  910. package/src/draggable/README.md +1 -1
  911. package/src/dropdown/dropdown-content-wrapper.tsx +59 -0
  912. package/src/dropdown/index.js +3 -5
  913. package/src/dropdown/stories/index.js +60 -69
  914. package/src/dropdown/styles.ts +38 -0
  915. package/src/dropdown/types.ts +8 -0
  916. package/src/dropdown-menu/stories/index.js +13 -2
  917. package/src/duotone-picker/custom-duotone-bar.js +1 -1
  918. package/src/duotone-picker/duotone-picker.js +34 -26
  919. package/src/duotone-picker/duotone-swatch.js +12 -5
  920. package/src/duotone-picker/stories/duotone-picker.js +66 -0
  921. package/src/duotone-picker/stories/duotone-swatch.js +32 -0
  922. package/src/elevation/README.md +16 -14
  923. package/src/elevation/component.tsx +48 -0
  924. package/src/elevation/{hook.js → hook.ts} +20 -17
  925. package/src/elevation/{index.js → index.ts} +0 -0
  926. package/src/elevation/stories/index.tsx +85 -0
  927. package/src/elevation/{styles.js → styles.ts} +0 -0
  928. package/src/elevation/test/__snapshots__/{index.js.snap → index.tsx.snap} +19 -13
  929. package/src/elevation/test/index.tsx +64 -0
  930. package/src/elevation/types.ts +12 -19
  931. package/src/external-link/index.tsx +10 -0
  932. package/src/flex/flex/README.md +20 -18
  933. package/src/flex/flex/component.tsx +59 -0
  934. package/src/flex/flex/{hook.js → hook.ts} +14 -13
  935. package/src/flex/flex/{index.js → index.ts} +0 -0
  936. package/src/flex/flex-block/README.md +3 -7
  937. package/src/flex/flex-block/component.tsx +41 -0
  938. package/src/flex/flex-block/{hook.js → hook.ts} +5 -5
  939. package/src/flex/flex-block/{index.js → index.ts} +0 -0
  940. package/src/flex/flex-item/README.md +6 -9
  941. package/src/flex/flex-item/component.tsx +41 -0
  942. package/src/flex/flex-item/{hook.js → hook.ts} +10 -7
  943. package/src/flex/flex-item/{index.js → index.ts} +0 -0
  944. package/src/flex/{index.js → index.ts} +0 -0
  945. package/src/flex/stories/index.tsx +81 -0
  946. package/src/flex/{styles.js → styles.ts} +0 -0
  947. package/src/flex/test/__snapshots__/{index.js.snap → index.tsx.snap} +49 -9
  948. package/src/flex/test/index.tsx +84 -0
  949. package/src/flex/types.ts +17 -10
  950. package/src/focal-point-picker/index.js +10 -5
  951. package/src/focal-point-picker/styles/focal-point-picker-style.js +0 -5
  952. package/src/focal-point-picker/styles/focal-point-style.js +0 -2
  953. package/src/focal-point-picker/test/index.js +78 -45
  954. package/src/font-size-picker/index.js +160 -132
  955. package/src/font-size-picker/stories/index.js +7 -0
  956. package/src/font-size-picker/style.scss +8 -5
  957. package/src/font-size-picker/test/index.js +13 -6
  958. package/src/font-size-picker/test/{util.js → utils.js} +77 -1
  959. package/src/font-size-picker/utils.js +38 -23
  960. package/src/form-token-field/README.md +3 -1
  961. package/src/form-token-field/index.tsx +29 -12
  962. package/src/form-token-field/stories/index.tsx +22 -0
  963. package/src/form-token-field/style.scss +0 -5
  964. package/src/form-token-field/suggestions-list.tsx +21 -12
  965. package/src/form-token-field/test/index.js +32 -1
  966. package/src/form-token-field/types.ts +23 -2
  967. package/src/gradient-picker/index.js +22 -7
  968. package/src/gradient-picker/stories/index.js +56 -81
  969. package/src/guide/index.js +3 -1
  970. package/src/guide/page-control.js +1 -6
  971. package/src/guide/stories/index.js +12 -11
  972. package/src/guide/test/index.js +54 -37
  973. package/src/guide/test/page-control.js +14 -17
  974. package/src/higher-order/with-notices/test/index.js +4 -2
  975. package/src/higher-order/with-spoken-messages/test/index.js +1 -1
  976. package/src/index.js +7 -1
  977. package/src/input-control/index.tsx +6 -0
  978. package/src/input-control/input-base.tsx +28 -13
  979. package/src/input-control/input-prefix-wrapper.tsx +48 -0
  980. package/src/input-control/input-suffix-wrapper.tsx +48 -0
  981. package/src/input-control/reducer/actions.ts +3 -1
  982. package/src/input-control/reducer/reducer.ts +27 -10
  983. package/src/input-control/reducer/state.ts +7 -2
  984. package/src/input-control/stories/index.tsx +15 -2
  985. package/src/input-control/styles/input-control-styles.tsx +28 -12
  986. package/src/input-control/test/index.js +20 -4
  987. package/src/input-control/types.ts +52 -3
  988. package/src/item-group/styles.ts +3 -3
  989. package/src/menu-group/test/index.js +18 -7
  990. package/src/mobile/bottom-sheet/index.native.js +2 -4
  991. package/src/mobile/global-styles-context/utils.native.js +22 -4
  992. package/src/mobile/image/index.native.js +17 -8
  993. package/src/mobile/link-picker/link-picker-screen.native.js +12 -4
  994. package/src/mobile/media-edit/index.native.js +2 -7
  995. package/src/mobile/picker/index.android.js +10 -4
  996. package/src/mobile/picker/index.ios.js +16 -0
  997. package/src/mobile/picker/styles.native.scss +12 -4
  998. package/src/modal/index.js +1 -2
  999. package/src/modal/style.scss +5 -1
  1000. package/src/modal/test/index.js +11 -9
  1001. package/src/navigable-container/container.js +12 -18
  1002. package/src/navigable-container/test/menu.js +14 -11
  1003. package/src/navigator/navigator-back-button/hook.ts +0 -3
  1004. package/src/navigator/navigator-button/hook.ts +0 -3
  1005. package/src/notice/list.js +12 -10
  1006. package/src/palette-edit/index.js +1 -0
  1007. package/src/palette-edit/styles.js +6 -5
  1008. package/src/panel/style.scss +4 -1
  1009. package/src/placeholder/README.md +49 -9
  1010. package/src/placeholder/{index.js → index.tsx} +27 -23
  1011. package/src/placeholder/stories/index.tsx +64 -0
  1012. package/src/placeholder/style.scss +65 -24
  1013. package/src/placeholder/test/index.tsx +174 -0
  1014. package/src/placeholder/types.ts +48 -0
  1015. package/src/popover/README.md +7 -0
  1016. package/src/popover/index.js +256 -157
  1017. package/src/popover/stories/index.js +213 -96
  1018. package/src/popover/style.scss +61 -7
  1019. package/src/popover/test/__snapshots__/index.js.snap +6 -6
  1020. package/src/popover/test/index.js +138 -23
  1021. package/src/popover/utils.js +107 -0
  1022. package/src/radio-control/index.tsx +1 -2
  1023. package/src/range-control/README.md +1 -1
  1024. package/src/range-control/index.tsx +3 -0
  1025. package/src/range-control/styles/range-control-styles.ts +9 -16
  1026. package/src/range-control/test/index.tsx +30 -0
  1027. package/src/range-control/types.ts +9 -4
  1028. package/src/range-control/utils.ts +4 -1
  1029. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  1030. package/src/sandbox/index.native.js +14 -1
  1031. package/src/scroll-lock/README.md +1 -1
  1032. package/src/scroll-lock/{index.js → index.tsx} +34 -7
  1033. package/src/scroll-lock/stories/index.tsx +96 -0
  1034. package/src/scroll-lock/test/index.tsx +26 -0
  1035. package/src/select-control/chevron-down.tsx +25 -0
  1036. package/src/select-control/index.tsx +7 -11
  1037. package/src/select-control/styles/select-control-styles.ts +54 -22
  1038. package/src/select-control/types.ts +1 -0
  1039. package/src/shortcut/{index.js → index.tsx} +5 -9
  1040. package/src/shortcut/test/__snapshots__/index.tsx.snap +15 -0
  1041. package/src/shortcut/test/index.tsx +41 -0
  1042. package/src/shortcut/types.ts +10 -0
  1043. package/src/slot-fill/test/slot.js +5 -5
  1044. package/src/snackbar/list.js +3 -2
  1045. package/src/spacer/component.tsx +3 -1
  1046. package/src/spinner/index.tsx +2 -0
  1047. package/src/style-provider/index.tsx +41 -0
  1048. package/src/style-provider/types.ts +15 -0
  1049. package/src/style.scss +0 -2
  1050. package/src/text/hook.js +5 -3
  1051. package/src/text/styles.js +1 -1
  1052. package/src/text/test/index.tsx +1 -1
  1053. package/src/toggle-group-control/stories/index.tsx +127 -0
  1054. package/src/toggle-group-control/test/__snapshots__/{index.js.snap → index.tsx.snap} +56 -26
  1055. package/src/toggle-group-control/test/{index.js → index.tsx} +2 -4
  1056. package/src/toggle-group-control/toggle-group-control/README.md +2 -0
  1057. package/src/toggle-group-control/toggle-group-control/component.tsx +20 -11
  1058. package/src/toggle-group-control/toggle-group-control/styles.ts +30 -7
  1059. package/src/toggle-group-control/toggle-group-control-option/component.tsx +19 -3
  1060. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -0
  1061. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +17 -3
  1062. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +6 -8
  1063. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +30 -7
  1064. package/src/toggle-group-control/types.ts +74 -53
  1065. package/src/toolbar/test/index.js +4 -4
  1066. package/src/toolbar-group/test/index.js +9 -15
  1067. package/src/tools-panel/styles.ts +9 -18
  1068. package/src/tools-panel/test/index.js +3 -2
  1069. package/src/tools-panel/tools-panel/README.md +94 -21
  1070. package/src/tools-panel/tools-panel/hook.ts +6 -1
  1071. package/src/tooltip/index.js +56 -10
  1072. package/src/tooltip/stories/index.js +28 -13
  1073. package/src/tooltip/style.scss +1 -1
  1074. package/src/tooltip/test/index.js +188 -172
  1075. package/src/tree-select/index.tsx +5 -4
  1076. package/src/tree-select/types.ts +4 -0
  1077. package/src/ui/context/context-connect.ts +3 -2
  1078. package/src/ui/context/test/context-system-provider.js +101 -1
  1079. package/src/ui/context/use-context-system.js +7 -2
  1080. package/src/ui/tooltip/styles.js +1 -0
  1081. package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -0
  1082. package/src/ui/utils/space.ts +7 -1
  1083. package/src/unit-control/index.tsx +2 -2
  1084. package/src/unit-control/stories/index.tsx +16 -23
  1085. package/src/unit-control/styles/unit-control-styles.ts +100 -46
  1086. package/src/unit-control/test/__snapshots__/index.tsx.snap +4 -4
  1087. package/src/unit-control/types.ts +12 -9
  1088. package/src/utils/base-label.ts +13 -0
  1089. package/src/utils/box-sizing.ts +14 -0
  1090. package/src/utils/colors-values.js +42 -137
  1091. package/src/utils/config-values.js +1 -1
  1092. package/src/utils/input/input-control.js +6 -6
  1093. package/src/utils/rtl.js +6 -2
  1094. package/src/utils/strings.ts +72 -0
  1095. package/src/utils/style-mixins.js +2 -0
  1096. package/src/utils/test/strings.js +15 -0
  1097. package/tsconfig.json +1 -0
  1098. package/tsconfig.tsbuildinfo +1 -1
  1099. package/build/custom-gradient-bar/constants.js.map +0 -1
  1100. package/build/custom-gradient-bar/control-points.js.map +0 -1
  1101. package/build/custom-gradient-bar/index.js.map +0 -1
  1102. package/build/custom-gradient-bar/utils.js.map +0 -1
  1103. package/build/date-time/date/utils.js +0 -34
  1104. package/build/date-time/date/utils.js.map +0 -1
  1105. package/build/swatch/index.js +0 -39
  1106. package/build/swatch/index.js.map +0 -1
  1107. package/build-module/custom-gradient-bar/constants.js.map +0 -1
  1108. package/build-module/custom-gradient-bar/control-points.js.map +0 -1
  1109. package/build-module/custom-gradient-bar/index.js.map +0 -1
  1110. package/build-module/custom-gradient-bar/utils.js.map +0 -1
  1111. package/build-module/date-time/date/utils.js +0 -22
  1112. package/build-module/date-time/date/utils.js.map +0 -1
  1113. package/build-module/swatch/index.js +0 -28
  1114. package/build-module/swatch/index.js.map +0 -1
  1115. package/build-types/date-time/date/test/utils.d.ts +0 -2
  1116. package/build-types/date-time/date/test/utils.d.ts.map +0 -1
  1117. package/build-types/date-time/date/utils.d.ts +0 -15
  1118. package/build-types/date-time/date/utils.d.ts.map +0 -1
  1119. package/src/date-time/date/datepicker.scss +0 -863
  1120. package/src/date-time/date/style.scss +0 -85
  1121. package/src/date-time/date/test/utils.ts +0 -32
  1122. package/src/date-time/date/utils.ts +0 -20
  1123. package/src/date-time/style.scss +0 -1
  1124. package/src/disabled/index.js +0 -55
  1125. package/src/disabled/stories/index.js +0 -61
  1126. package/src/disabled/test/index.js +0 -240
  1127. package/src/divider/test/index.js +0 -41
  1128. package/src/elevation/component.js +0 -43
  1129. package/src/elevation/stories/index.js +0 -148
  1130. package/src/elevation/test/index.js +0 -51
  1131. package/src/flex/flex/component.js +0 -60
  1132. package/src/flex/flex-block/component.js +0 -30
  1133. package/src/flex/flex-item/component.js +0 -30
  1134. package/src/flex/stories/index.js +0 -29
  1135. package/src/flex/test/index.js +0 -77
  1136. package/src/menu-group/test/__snapshots__/index.js.snap +0 -23
  1137. package/src/placeholder/stories/index.js +0 -44
  1138. package/src/placeholder/test/index.js +0 -163
  1139. package/src/popover/stories/_utils.js +0 -64
  1140. package/src/scroll-lock/stories/index.js +0 -71
  1141. package/src/scroll-lock/test/index.js +0 -53
  1142. package/src/shortcut/test/index.js +0 -37
  1143. package/src/style-provider/index.js +0 -31
  1144. package/src/swatch/index.js +0 -19
  1145. package/src/swatch/style.scss +0 -21
  1146. package/src/toggle-group-control/stories/index.js +0 -187
  1147. package/src/tools-panel/test/__snapshots__/index.js.snap +0 -219
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/combobox-control/index.js"],"names":["classnames","removeAccents","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","ENTER","UP","DOWN","ESCAPE","speak","closeSmall","InputWrapperFlex","TokenInput","SuggestionsList","BaseControl","Button","FlexBlock","FlexItem","withFocusOutside","noop","DetectOutside","handleFocusOutside","event","props","onFocusOutside","render","children","ComboboxControl","__next36pxDefaultSize","value","label","options","onChange","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","currentOption","find","option","currentLabel","instanceId","selectedSuggestion","setSelectedSuggestion","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","matchingSuggestions","startsWithMatch","containsMatch","match","toLocaleLowerCase","forEach","index","indexOf","push","concat","onSuggestionSelected","newSelectedSuggestion","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","keyCode","onBlur","onFocus","onInputChange","text","handleOnReset","current","focus","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","suggestion"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { ENTER, UP, DOWN, ESCAPE } from '@wordpress/keycodes';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock, FlexItem } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\n\nconst noop = () => {};\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component {\n\t\thandleFocusOutside( event ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nfunction ComboboxControl( {\n\t__next36pxDefaultSize,\n\tvalue,\n\tlabel,\n\toptions,\n\tonChange,\n\tonFilterValueChange = noop,\n\thideLabelFromVision,\n\thelp,\n\tallowReset = true,\n\tclassName,\n\tmessages = {\n\t\tselected: __( 'Item selected.' ),\n\t},\n} ) {\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef();\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\t\tconst match = removeAccents( inputValue.toLocaleLowerCase() );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = removeAccents( option.label )\n\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t.indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options, value ] );\n\n\tconst onSuggestionSelected = ( newSelectedSuggestion ) => {\n\t\tonChange( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = matchingSuggestions.indexOf( selectedSuggestion );\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown = ( event ) => {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase ENTER:\n\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tsetIsExpanded( false );\n\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tsetIsExpanded( true );\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tonChange( null );\n\t\tinputContainer.current.focus();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tmatchingSuggestions.indexOf( selectedSuggestion ) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'components-combobox-control'\n\t\t\t\t) }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\tcurrentLabel\n\t\t\t\t\t\t\t\t\t\t? `${ currentLabel }, ${ label }`\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ { label: inputValue } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/combobox-control/index.js"],"names":["classnames","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","speak","closeSmall","InputWrapperFlex","TokenInput","SuggestionsList","BaseControl","Button","FlexBlock","FlexItem","withFocusOutside","useControlledValue","normalizeTextString","noop","DetectOutside","handleFocusOutside","event","props","onFocusOutside","render","children","ComboboxControl","__nextHasNoMarginBottom","__next36pxDefaultSize","value","valueProp","label","options","onChange","onChangeProp","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","__experimentalRenderItem","setValue","currentOption","find","option","currentLabel","instanceId","selectedSuggestion","setSelectedSuggestion","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","matchingSuggestions","startsWithMatch","containsMatch","match","forEach","index","indexOf","push","concat","onSuggestionSelected","newSelectedSuggestion","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","code","onBlur","onFocus","onInputChange","text","handleOnReset","current","focus","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","suggestion"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock, FlexItem } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport { useControlledValue } from '../utils/hooks';\nimport { normalizeTextString } from '../utils/strings';\n\nconst noop = () => {};\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component {\n\t\thandleFocusOutside( event ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nfunction ComboboxControl( {\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMarginBottom = false,\n\t__next36pxDefaultSize,\n\tvalue: valueProp,\n\tlabel,\n\toptions,\n\tonChange: onChangeProp,\n\tonFilterValueChange = noop,\n\thideLabelFromVision,\n\thelp,\n\tallowReset = true,\n\tclassName,\n\tmessages = {\n\t\tselected: __( 'Item selected.' ),\n\t},\n\t__experimentalRenderItem,\n} ) {\n\tconst [ value, setValue ] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange: onChangeProp,\n\t} );\n\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef();\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\t\tconst match = normalizeTextString( inputValue );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = normalizeTextString( option.label ).indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options, value ] );\n\n\tconst onSuggestionSelected = ( newSelectedSuggestion ) => {\n\t\tsetValue( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = matchingSuggestions.indexOf( selectedSuggestion );\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown = ( event ) => {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.code ) {\n\t\t\tcase 'Enter':\n\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tsetIsExpanded( false );\n\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tsetIsExpanded( true );\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tsetValue( null );\n\t\tinputContainer.current.focus();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tmatchingSuggestions.indexOf( selectedSuggestion ) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'components-combobox-control'\n\t\t\t\t) }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\tcurrentLabel\n\t\t\t\t\t\t\t\t\t\t? `${ currentLabel }, ${ label }`\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ { label: inputValue } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t\t__experimentalRenderItem={\n\t\t\t\t\t\t\t\t__experimentalRenderItem\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</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/gradient-bar/constants.js"],"names":["GRADIENT_MARKERS_WIDTH","INSERT_POINT_WIDTH","MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT","MINIMUM_DISTANCE_BETWEEN_POINTS","MINIMUM_SIGNIFICANT_MOVE","KEYBOARD_CONTROL_POINT_VARIATION","MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_MARKER"],"mappings":"AAAA,OAAO,MAAMA,sBAAsB,GAAG,EAA/B;AACP,OAAO,MAAMC,kBAAkB,GAAG,EAA3B;AACP,OAAO,MAAMC,2CAA2C,GAAG,EAApD;AACP,OAAO,MAAMC,+BAA+B,GAAG,CAAxC;AACP,OAAO,MAAMC,wBAAwB,GAAG,CAAjC;AAEP,OAAO,MAAMC,gCAAgC,GAC5CH,2CADM;AAEP,OAAO,MAAMI,4CAA4C,GACxD,CAAEL,kBAAkB,GAAGD,sBAAvB,IAAkD,CAD5C","sourcesContent":["export const GRADIENT_MARKERS_WIDTH = 16;\nexport const INSERT_POINT_WIDTH = 16;\nexport const MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT = 10;\nexport const MINIMUM_DISTANCE_BETWEEN_POINTS = 0;\nexport const MINIMUM_SIGNIFICANT_MOVE = 5;\n\nexport const KEYBOARD_CONTROL_POINT_VARIATION =\n\tMINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT;\nexport const MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_MARKER =\n\t( INSERT_POINT_WIDTH + GRADIENT_MARKERS_WIDTH ) / 2;\n"]}
@@ -14,15 +14,15 @@ import { useInstanceId } from '@wordpress/compose';
14
14
  import { useEffect, useRef, useState, useMemo } from '@wordpress/element';
15
15
  import { __, sprintf } from '@wordpress/i18n';
16
16
  import { plus } from '@wordpress/icons';
17
- import { LEFT, RIGHT } from '@wordpress/keycodes';
18
17
  /**
19
18
  * Internal dependencies
20
19
  */
21
20
 
22
- import Button from '../button';
23
- import { ColorPicker } from '../color-picker';
24
- import { VisuallyHidden } from '../visually-hidden';
25
- import { CustomColorPickerDropdown } from '../color-palette';
21
+ import Button from '../../button';
22
+ import { HStack } from '../../h-stack';
23
+ import { ColorPicker } from '../../color-picker';
24
+ import { VisuallyHidden } from '../../visually-hidden';
25
+ import { CustomColorPickerDropdown } from '../../color-palette';
26
26
  import { addControlPoint, clampPercent, removeControlPoint, updateControlPointColor, updateControlPointColorByPosition, updateControlPointPosition, getHorizontalRelativeGradientPosition } from './utils';
27
27
  import { MINIMUM_SIGNIFICANT_MOVE, KEYBOARD_CONTROL_POINT_VARIATION } from './constants';
28
28
 
@@ -43,11 +43,7 @@ function ControlPointButton(_ref) {
43
43
  "aria-expanded": isOpen,
44
44
  className: classnames('components-custom-gradient-picker__control-point-button', {
45
45
  'is-active': isOpen
46
- }),
47
- style: {
48
- left: `${position}%`,
49
- transform: 'translateX( -50% )'
50
- }
46
+ })
51
47
  }, additionalProps)), createElement(VisuallyHidden, {
52
48
  id: descriptionId
53
49
  }, __('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.')));
@@ -56,25 +52,19 @@ function ControlPointButton(_ref) {
56
52
  function GradientColorPickerDropdown(_ref2) {
57
53
  let {
58
54
  isRenderedInSidebar,
59
- gradientPickerDomRef,
55
+ className,
60
56
  ...props
61
57
  } = _ref2;
62
- const popoverProps = useMemo(() => {
63
- const result = {
64
- className: 'components-custom-gradient-picker__color-picker-popover',
65
- position: 'top'
66
- };
67
-
68
- if (isRenderedInSidebar) {
69
- result.anchorRef = gradientPickerDomRef.current;
70
- result.position = 'bottom left';
71
- }
72
-
73
- return result;
74
- }, [gradientPickerDomRef, isRenderedInSidebar]);
58
+ // Open the popover below the gradient control/insertion point
59
+ const popoverProps = useMemo(() => ({
60
+ placement: 'bottom',
61
+ offset: 8
62
+ }), []);
63
+ const mergedClassName = classnames('components-custom-gradient-picker__control-point-dropdown', className);
75
64
  return createElement(CustomColorPickerDropdown, _extends({
76
65
  isRenderedInSidebar: isRenderedInSidebar,
77
- popoverProps: popoverProps
66
+ popoverProps: popoverProps,
67
+ className: mergedClassName
78
68
  }, props));
79
69
  }
80
70
 
@@ -129,7 +119,6 @@ function ControlPoints(_ref3) {
129
119
  return controlPoints.map((point, index) => {
130
120
  const initialPosition = point === null || point === void 0 ? void 0 : point.position;
131
121
  return ignoreMarkerPosition !== initialPosition && createElement(GradientColorPickerDropdown, {
132
- gradientPickerDomRef: gradientPickerDomRef,
133
122
  isRenderedInSidebar: __experimentalIsRenderedInSidebar,
134
123
  key: index,
135
124
  onClose: onStopControlPointChange,
@@ -167,12 +156,12 @@ function ControlPoints(_ref3) {
167
156
  }
168
157
  },
169
158
  onKeyDown: event => {
170
- if (event.keyCode === LEFT) {
159
+ if (event.code === 'ArrowLeft') {
171
160
  // Stop propagation of the key press event to avoid focus moving
172
161
  // to another editor area.
173
162
  event.stopPropagation();
174
163
  onChange(updateControlPointPosition(controlPoints, index, clampPercent(point.position - KEYBOARD_CONTROL_POINT_VARIATION)));
175
- } else if (event.keyCode === RIGHT) {
164
+ } else if (event.code === 'ArrowRight') {
176
165
  // Stop propagation of the key press event to avoid focus moving
177
166
  // to another editor area.
178
167
  event.stopPropagation();
@@ -194,14 +183,20 @@ function ControlPoints(_ref3) {
194
183
  onChange: color => {
195
184
  onChange(updateControlPointColor(controlPoints, index, colord(color).toRgbString()));
196
185
  }
197
- }), !disableRemove && controlPoints.length > 2 && createElement(Button, {
198
- className: "components-custom-gradient-picker__remove-control-point",
186
+ }), !disableRemove && controlPoints.length > 2 && createElement(HStack, {
187
+ className: "components-custom-gradient-picker__remove-control-point-wrapper",
188
+ alignment: "center"
189
+ }, createElement(Button, {
199
190
  onClick: () => {
200
191
  onChange(removeControlPoint(controlPoints, index));
201
192
  onClose();
202
193
  },
203
194
  variant: "link"
204
- }, __('Remove Control Point')));
195
+ }, __('Remove Control Point'))));
196
+ },
197
+ style: {
198
+ left: `${point.position}%`,
199
+ transform: 'translateX( -50% )'
205
200
  }
206
201
  });
207
202
  });
@@ -215,12 +210,10 @@ function InsertPoint(_ref6) {
215
210
  onCloseInserter,
216
211
  insertPosition,
217
212
  disableAlpha,
218
- __experimentalIsRenderedInSidebar,
219
- gradientPickerDomRef
213
+ __experimentalIsRenderedInSidebar
220
214
  } = _ref6;
221
215
  const [alreadyInsertedPoint, setAlreadyInsertedPoint] = useState(false);
222
216
  return createElement(GradientColorPickerDropdown, {
223
- gradientPickerDomRef: gradientPickerDomRef,
224
217
  isRenderedInSidebar: __experimentalIsRenderedInSidebar,
225
218
  className: "components-custom-gradient-picker__inserter",
226
219
  onClose: () => {
@@ -244,12 +237,8 @@ function InsertPoint(_ref6) {
244
237
 
245
238
  onToggle();
246
239
  },
247
- className: "components-custom-gradient-picker__insert-point",
248
- icon: plus,
249
- style: insertPosition !== null ? {
250
- left: `${insertPosition}%`,
251
- transform: 'translateX( -50% )'
252
- } : undefined
240
+ className: "components-custom-gradient-picker__insert-point-dropdown",
241
+ icon: plus
253
242
  });
254
243
  },
255
244
  renderContent: () => createElement(ColorPicker, {
@@ -262,7 +251,11 @@ function InsertPoint(_ref6) {
262
251
  onChange(updateControlPointColorByPosition(controlPoints, insertPosition, colord(color).toRgbString()));
263
252
  }
264
253
  }
265
- })
254
+ }),
255
+ style: insertPosition !== null ? {
256
+ left: `${insertPosition}%`,
257
+ transform: 'translateX( -50% )'
258
+ } : undefined
266
259
  });
267
260
  }
268
261
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/gradient-bar/control-points.js"],"names":["classnames","colord","useInstanceId","useEffect","useRef","useState","useMemo","__","sprintf","plus","Button","HStack","ColorPicker","VisuallyHidden","CustomColorPickerDropdown","addControlPoint","clampPercent","removeControlPoint","updateControlPointColor","updateControlPointColorByPosition","updateControlPointPosition","getHorizontalRelativeGradientPosition","MINIMUM_SIGNIFICANT_MOVE","KEYBOARD_CONTROL_POINT_VARIATION","ControlPointButton","isOpen","position","color","additionalProps","instanceId","descriptionId","GradientColorPickerDropdown","isRenderedInSidebar","className","props","popoverProps","placement","offset","mergedClassName","ControlPoints","disableRemove","disableAlpha","gradientPickerDomRef","ignoreMarkerPosition","value","controlPoints","onChange","onStartControlPointChange","onStopControlPointChange","__experimentalIsRenderedInSidebar","controlPointMoveState","onMouseMove","event","relativePosition","clientX","current","initialPosition","index","significantMoveHappened","Math","abs","cleanEventListeners","window","removeEventListener","listenersActivated","cleanEventListenersRef","map","point","onToggle","addEventListener","code","stopPropagation","onClose","toRgbString","length","left","transform","InsertPoint","onOpenInserter","onCloseInserter","insertPosition","alreadyInsertedPoint","setAlreadyInsertedPoint","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,MAAT,QAAuB,QAAvB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,oBAA9B;AACA,SAASC,SAAT,EAAoBC,MAApB,EAA4BC,QAA5B,EAAsCC,OAAtC,QAAqD,oBAArD;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,IAAT,QAAqB,kBAArB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,SAASC,MAAT,QAAuB,eAAvB;AACA,SAASC,WAAT,QAA4B,oBAA5B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,yBAAT,QAA0C,qBAA1C;AAEA,SACCC,eADD,EAECC,YAFD,EAGCC,kBAHD,EAICC,uBAJD,EAKCC,iCALD,EAMCC,0BAND,EAOCC,qCAPD,QAQO,SARP;AASA,SACCC,wBADD,EAECC,gCAFD,QAGO,aAHP;;AAKA,SAASC,kBAAT,OAA+E;AAAA,MAAlD;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,QAAV;AAAoBC,IAAAA,KAApB;AAA2B,OAAGC;AAA9B,GAAkD;AAC9E,QAAMC,UAAU,GAAG3B,aAAa,CAAEsB,kBAAF,CAAhC;AACA,QAAMM,aAAa,GAAI,uEAAuED,UAAY,EAA1G;AACA,SACC,8BACC,cAAC,MAAD;AACC,kBAAarB,OAAO,EACnB;AACAD,IAAAA,EAAE,CACD,iEADC,CAFiB,EAKnBmB,QALmB,EAMnBC,KANmB,CADrB;AASC,wBAAmBG,aATpB;AAUC,qBAAc,MAVf;AAWC,qBAAgBL,MAXjB;AAYC,IAAA,SAAS,EAAGzB,UAAU,CACrB,yDADqB,EAErB;AACC,mBAAayB;AADd,KAFqB;AAZvB,KAkBMG,eAlBN,EADD,EAqBC,cAAC,cAAD;AAAgB,IAAA,EAAE,EAAGE;AAArB,KACGvB,EAAE,CACH,sKADG,CADL,CArBD,CADD;AA6BA;;AAED,SAASwB,2BAAT,QAII;AAAA,MAJkC;AACrCC,IAAAA,mBADqC;AAErCC,IAAAA,SAFqC;AAGrC,OAAGC;AAHkC,GAIlC;AACH;AACA,QAAMC,YAAY,GAAG7B,OAAO,CAC3B,OAAQ;AACP8B,IAAAA,SAAS,EAAE,QADJ;AAEPC,IAAAA,MAAM,EAAE;AAFD,GAAR,CAD2B,EAK3B,EAL2B,CAA5B;AAQA,QAAMC,eAAe,GAAGtC,UAAU,CACjC,2DADiC,EAEjCiC,SAFiC,CAAlC;AAKA,SACC,cAAC,yBAAD;AACC,IAAA,mBAAmB,EAAGD,mBADvB;AAEC,IAAA,YAAY,EAAGG,YAFhB;AAGC,IAAA,SAAS,EAAGG;AAHb,KAIMJ,KAJN,EADD;AAQA;;AAED,SAASK,aAAT,QAUI;AAAA,MAVoB;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,wBARuB;AASvBC,IAAAA;AATuB,GAUpB;AACH,QAAMC,qBAAqB,GAAG9C,MAAM,EAApC;;AAEA,QAAM+C,WAAW,GAAKC,KAAF,IAAa;AAChC,UAAMC,gBAAgB,GAAGhC,qCAAqC,CAC7D+B,KAAK,CAACE,OADuD,EAE7DZ,oBAAoB,CAACa,OAFwC,CAA9D;AAIA,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA,KAAnB;AAA0BC,MAAAA;AAA1B,QACLR,qBAAqB,CAACK,OADvB;;AAEA,QACC,CAAEG,uBAAF,IACAC,IAAI,CAACC,GAAL,CAAUJ,eAAe,GAAGH,gBAA5B,KACC/B,wBAHF,EAIE;AACD4B,MAAAA,qBAAqB,CAACK,OAAtB,CAA8BG,uBAA9B,GAAwD,IAAxD;AACA;;AAEDZ,IAAAA,QAAQ,CACP1B,0BAA0B,CAAEyB,aAAF,EAAiBY,KAAjB,EAAwBJ,gBAAxB,CADnB,CAAR;AAGA,GAlBD;;AAoBA,QAAMQ,mBAAmB,GAAG,MAAM;AACjC,QACCC,MAAM,IACNA,MAAM,CAACC,mBADP,IAEAb,qBAAqB,CAACK,OAFtB,IAGAL,qBAAqB,CAACK,OAAtB,CAA8BS,kBAJ/B,EAKE;AACDF,MAAAA,MAAM,CAACC,mBAAP,CAA4B,WAA5B,EAAyCZ,WAAzC;AACAW,MAAAA,MAAM,CAACC,mBAAP,CAA4B,SAA5B,EAAuCF,mBAAvC;AACAb,MAAAA,wBAAwB;AACxBE,MAAAA,qBAAqB,CAACK,OAAtB,CAA8BS,kBAA9B,GAAmD,KAAnD;AACA;AACD,GAZD,CAvBG,CAqCH;AACA;AACA;;;AACA,QAAMC,sBAAsB,GAAG7D,MAAM,EAArC;AACA6D,EAAAA,sBAAsB,CAACV,OAAvB,GAAiCM,mBAAjC;AAEA1D,EAAAA,SAAS,CAAE,MAAM;AAChB,WAAO,MAAM;AACZ8D,MAAAA,sBAAsB,CAACV,OAAvB;AACA,KAFD;AAGA,GAJQ,EAIN,EAJM,CAAT;AAMA,SAAOV,aAAa,CAACqB,GAAd,CAAmB,CAAEC,KAAF,EAASV,KAAT,KAAoB;AAC7C,UAAMD,eAAe,GAAGW,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEzC,QAA/B;AACA,WACCiB,oBAAoB,KAAKa,eAAzB,IACC,cAAC,2BAAD;AACC,MAAA,mBAAmB,EAAGP,iCADvB;AAEC,MAAA,GAAG,EAAGQ,KAFP;AAGC,MAAA,OAAO,EAAGT,wBAHX;AAIC,MAAA,YAAY,EAAG;AAAA,YAAE;AAAEvB,UAAAA,MAAF;AAAU2C,UAAAA;AAAV,SAAF;AAAA,eACd,cAAC,kBAAD;AACC,UAAA,GAAG,EAAGX,KADP;AAEC,UAAA,OAAO,EAAG,MAAM;AACf,gBACCP,qBAAqB,CAACK,OAAtB,IACAL,qBAAqB,CAACK,OAAtB,CACEG,uBAHH,EAIE;AACD;AACA;;AACD,gBAAKjC,MAAL,EAAc;AACbuB,cAAAA,wBAAwB;AACxB,aAFD,MAEO;AACND,cAAAA,yBAAyB;AACzB;;AACDqB,YAAAA,QAAQ;AACR,WAhBF;AAiBC,UAAA,WAAW,EAAG,MAAM;AACnB,gBAAKN,MAAM,IAAIA,MAAM,CAACO,gBAAtB,EAAyC;AACxCnB,cAAAA,qBAAqB,CAACK,OAAtB,GAAgC;AAC/BC,gBAAAA,eAD+B;AAE/BC,gBAAAA,KAF+B;AAG/BC,gBAAAA,uBAAuB,EAAE,KAHM;AAI/BM,gBAAAA,kBAAkB,EAAE;AAJW,eAAhC;AAMAjB,cAAAA,yBAAyB;AACzBe,cAAAA,MAAM,CAACO,gBAAP,CACC,WADD,EAEClB,WAFD;AAIAW,cAAAA,MAAM,CAACO,gBAAP,CACC,SADD,EAECR,mBAFD;AAIA;AACD,WAnCF;AAoCC,UAAA,SAAS,EAAKT,KAAF,IAAa;AACxB,gBAAKA,KAAK,CAACkB,IAAN,KAAe,WAApB,EAAkC;AACjC;AACA;AACAlB,cAAAA,KAAK,CAACmB,eAAN;AACAzB,cAAAA,QAAQ,CACP1B,0BAA0B,CACzByB,aADyB,EAEzBY,KAFyB,EAGzBzC,YAAY,CACXmD,KAAK,CAACzC,QAAN,GACCH,gCAFU,CAHa,CADnB,CAAR;AAUA,aAdD,MAcO,IAAK6B,KAAK,CAACkB,IAAN,KAAe,YAApB,EAAmC;AACzC;AACA;AACAlB,cAAAA,KAAK,CAACmB,eAAN;AACAzB,cAAAA,QAAQ,CACP1B,0BAA0B,CACzByB,aADyB,EAEzBY,KAFyB,EAGzBzC,YAAY,CACXmD,KAAK,CAACzC,QAAN,GACCH,gCAFU,CAHa,CADnB,CAAR;AAUA;AACD,WAlEF;AAmEC,UAAA,MAAM,EAAGE,MAnEV;AAoEC,UAAA,QAAQ,EAAG0C,KAAK,CAACzC,QApElB;AAqEC,UAAA,KAAK,EAAGyC,KAAK,CAACxC;AArEf,UADc;AAAA,OAJhB;AA6EC,MAAA,aAAa,EAAG;AAAA,YAAE;AAAE6C,UAAAA;AAAF,SAAF;AAAA,eACf,8BACC,cAAC,WAAD;AACC,UAAA,WAAW,EAAG,CAAE/B,YADjB;AAEC,UAAA,KAAK,EAAG0B,KAAK,CAACxC,KAFf;AAGC,UAAA,QAAQ,EAAKA,KAAF,IAAa;AACvBmB,YAAAA,QAAQ,CACP5B,uBAAuB,CACtB2B,aADsB,EAEtBY,KAFsB,EAGtBxD,MAAM,CAAE0B,KAAF,CAAN,CAAgB8C,WAAhB,EAHsB,CADhB,CAAR;AAOA;AAXF,UADD,EAcG,CAAEjC,aAAF,IAAmBK,aAAa,CAAC6B,MAAd,GAAuB,CAA1C,IACD,cAAC,MAAD;AACC,UAAA,SAAS,EAAC,iEADX;AAEC,UAAA,SAAS,EAAC;AAFX,WAIC,cAAC,MAAD;AACC,UAAA,OAAO,EAAG,MAAM;AACf5B,YAAAA,QAAQ,CACP7B,kBAAkB,CACjB4B,aADiB,EAEjBY,KAFiB,CADX,CAAR;AAMAe,YAAAA,OAAO;AACP,WATF;AAUC,UAAA,OAAO,EAAC;AAVT,WAYGjE,EAAE,CAAE,sBAAF,CAZL,CAJD,CAfF,CADe;AAAA,OA7EjB;AAmHC,MAAA,KAAK,EAAG;AACPoE,QAAAA,IAAI,EAAG,GAAGR,KAAK,CAACzC,QAAU,GADnB;AAEPkD,QAAAA,SAAS,EAAE;AAFJ;AAnHT,MAFF;AA4HA,GA9HM,CAAP;AA+HA;;AAED,SAASC,WAAT,QAQI;AAAA,MARkB;AACrBjC,IAAAA,KAAK,EAAEC,aADc;AAErBC,IAAAA,QAFqB;AAGrBgC,IAAAA,cAHqB;AAIrBC,IAAAA,eAJqB;AAKrBC,IAAAA,cALqB;AAMrBvC,IAAAA,YANqB;AAOrBQ,IAAAA;AAPqB,GAQlB;AACH,QAAM,CAAEgC,oBAAF,EAAwBC,uBAAxB,IAAoD7E,QAAQ,CAAE,KAAF,CAAlE;AACA,SACC,cAAC,2BAAD;AACC,IAAA,mBAAmB,EAAG4C,iCADvB;AAEC,IAAA,SAAS,EAAC,6CAFX;AAGC,IAAA,OAAO,EAAG,MAAM;AACf8B,MAAAA,eAAe;AACf,KALF;AAMC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEtD,QAAAA,MAAF;AAAU2C,QAAAA;AAAV,OAAF;AAAA,aACd,cAAC,MAAD;AACC,yBAAgB3C,MADjB;AAEC,yBAAc,MAFf;AAGC,QAAA,OAAO,EAAG,MAAM;AACf,cAAKA,MAAL,EAAc;AACbsD,YAAAA,eAAe;AACf,WAFD,MAEO;AACNG,YAAAA,uBAAuB,CAAE,KAAF,CAAvB;AACAJ,YAAAA,cAAc;AACd;;AACDV,UAAAA,QAAQ;AACR,SAXF;AAYC,QAAA,SAAS,EAAC,0DAZX;AAaC,QAAA,IAAI,EAAG3D;AAbR,QADc;AAAA,KANhB;AAuBC,IAAA,aAAa,EAAG,MACf,cAAC,WAAD;AACC,MAAA,WAAW,EAAG,CAAEgC,YADjB;AAEC,MAAA,QAAQ,EAAKd,KAAF,IAAa;AACvB,YAAK,CAAEsD,oBAAP,EAA8B;AAC7BnC,UAAAA,QAAQ,CACP/B,eAAe,CACd8B,aADc,EAEdmC,cAFc,EAGd/E,MAAM,CAAE0B,KAAF,CAAN,CAAgB8C,WAAhB,EAHc,CADR,CAAR;AAOAS,UAAAA,uBAAuB,CAAE,IAAF,CAAvB;AACA,SATD,MASO;AACNpC,UAAAA,QAAQ,CACP3B,iCAAiC,CAChC0B,aADgC,EAEhCmC,cAFgC,EAGhC/E,MAAM,CAAE0B,KAAF,CAAN,CAAgB8C,WAAhB,EAHgC,CAD1B,CAAR;AAOA;AACD;AArBF,MAxBF;AAgDC,IAAA,KAAK,EACJO,cAAc,KAAK,IAAnB,GACG;AACAL,MAAAA,IAAI,EAAG,GAAGK,cAAgB,GAD1B;AAEAJ,MAAAA,SAAS,EAAE;AAFX,KADH,GAKGO;AAtDL,IADD;AA2DA;;AACD5C,aAAa,CAACsC,WAAd,GAA4BA,WAA5B;AAEA,eAAetC,aAAf","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, useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport { HStack } from '../../h-stack';\nimport { ColorPicker } from '../../color-picker';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { CustomColorPickerDropdown } from '../../color-palette';\n\nimport {\n\taddControlPoint,\n\tclampPercent,\n\tremoveControlPoint,\n\tupdateControlPointColor,\n\tupdateControlPointColorByPosition,\n\tupdateControlPointPosition,\n\tgetHorizontalRelativeGradientPosition,\n} from './utils';\nimport {\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\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 GradientColorPickerDropdown( {\n\tisRenderedInSidebar,\n\tclassName,\n\t...props\n} ) {\n\t// Open the popover below the gradient control/insertion point\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\tplacement: 'bottom',\n\t\t\toffset: 8,\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst mergedClassName = classnames(\n\t\t'components-custom-gradient-picker__control-point-dropdown',\n\t\tclassName\n\t);\n\n\treturn (\n\t\t<CustomColorPickerDropdown\n\t\t\tisRenderedInSidebar={ isRenderedInSidebar }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName={ mergedClassName }\n\t\t\t{ ...props }\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\t__experimentalIsRenderedInSidebar,\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);\n\t\tconst { initialPosition, index, significantMoveHappened } =\n\t\t\tcontrolPointMoveState.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\t// Adding `cleanEventListeners` to the dependency array below requires the function itself to be wrapped in a `useCallback`\n\t// This memoization would prevent the event listeners from being properly cleaned.\n\t// Instead, we'll pass a ref to the function in our `useEffect` so `cleanEventListeners` itself is no longer a dependency.\n\tconst cleanEventListenersRef = useRef();\n\tcleanEventListenersRef.current = cleanEventListeners;\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tcleanEventListenersRef.current();\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<GradientColorPickerDropdown\n\t\t\t\t\tisRenderedInSidebar={ __experimentalIsRenderedInSidebar }\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.code === 'ArrowLeft' ) {\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.code === 'ArrowRight' ) {\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 && controlPoints.length > 2 && (\n\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\tclassName=\"components-custom-gradient-picker__remove-control-point-wrapper\"\n\t\t\t\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tremoveControlPoint(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Remove Control Point' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</HStack>\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\tstyle={ {\n\t\t\t\t\t\tleft: `${ point.position }%`,\n\t\t\t\t\t\ttransform: 'translateX( -50% )',\n\t\t\t\t\t} }\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\t__experimentalIsRenderedInSidebar,\n} ) {\n\tconst [ alreadyInsertedPoint, setAlreadyInsertedPoint ] = useState( false );\n\treturn (\n\t\t<GradientColorPickerDropdown\n\t\t\tisRenderedInSidebar={ __experimentalIsRenderedInSidebar }\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-dropdown\"\n\t\t\t\t\ticon={ plus }\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\tstyle={\n\t\t\t\tinsertPosition !== null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tleft: `${ insertPosition }%`,\n\t\t\t\t\t\t\ttransform: 'translateX( -50% )',\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\nControlPoints.InsertPoint = InsertPoint;\n\nexport default ControlPoints;\n"]}
@@ -143,7 +143,6 @@ export default function CustomGradientBar(_ref) {
143
143
  className: "components-custom-gradient-picker__markers-container"
144
144
  }, !disableInserter && (isMovingInserter || isInsertingControlPoint) && createElement(ControlPoints.InsertPoint, {
145
145
  __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar,
146
- gradientPickerDomRef: gradientMarkersContainerDomRef,
147
146
  disableAlpha: disableAlpha,
148
147
  insertPosition: gradientBarState.insertPosition,
149
148
  value: controlPoints,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/gradient-bar/index.js"],"names":["some","classnames","useRef","useReducer","ControlPoints","getHorizontalRelativeGradientPosition","MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT","customGradientBarReducer","state","action","type","id","insertPosition","customGradientBarReducerInitialState","CustomGradientBar","background","hasGradient","value","controlPoints","onChange","disableInserter","disableAlpha","__experimentalIsRenderedInSidebar","gradientMarkersContainerDomRef","gradientBarState","gradientBarStateDispatch","onMouseEnterAndMove","event","clientX","current","position","Math","abs","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 { MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT } 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\t__experimentalIsRenderedInSidebar,\n} ) {\n\tconst gradientMarkersContainerDomRef = 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\tgradientMarkersContainerDomRef.current\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\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\n\t\t\t\tref={ gradientMarkersContainerDomRef }\n\t\t\t\tclassName=\"components-custom-gradient-picker__markers-container\"\n\t\t\t>\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\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t}\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\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t}\n\t\t\t\t\tdisableAlpha={ disableAlpha }\n\t\t\t\t\tdisableRemove={ disableInserter }\n\t\t\t\t\tgradientPickerDomRef={ gradientMarkersContainerDomRef }\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"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/gradient-bar/utils.js"],"names":["MINIMUM_DISTANCE_BETWEEN_POINTS","clampPercent","value","Math","max","min","isOverlapping","initialIndex","newPosition","minDistance","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","x","width","getBoundingClientRect","absolutePositionValue","round"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { MINIMUM_DISTANCE_BETWEEN_POINTS } 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 *\n * @return {number} Whole number percentage from the left.\n */\nexport function getHorizontalRelativeGradientPosition(\n\tmouseXCoordinate,\n\tcontainerElement\n) {\n\tif ( ! containerElement ) {\n\t\treturn;\n\t}\n\tconst { x, width } = containerElement.getBoundingClientRect();\n\tconst absolutePositionValue = mouseXCoordinate - x;\n\treturn Math.round(\n\t\tclampPercent( ( absolutePositionValue * 100 ) / width )\n\t);\n}\n"]}
@@ -1,17 +1,23 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import classnames from 'classnames';
3
7
  /**
4
8
  * WordPress dependencies
5
9
  */
10
+
6
11
  import { __ } from '@wordpress/i18n';
7
12
  /**
8
13
  * Internal dependencies
9
14
  */
10
15
 
11
16
  import AnglePickerControl from '../angle-picker-control';
12
- import CustomGradientBar from '../custom-gradient-bar';
17
+ import CustomGradientBar from './gradient-bar';
13
18
  import { Flex } from '../flex';
14
19
  import SelectControl from '../select-control';
20
+ import { VStack } from '../v-stack';
15
21
  import { getGradientAstWithDefault, getLinearGradientRepresentation, getGradientAstWithControlPoints, getStopCssColor } from './utils';
16
22
  import { serializeGradient } from './serializer';
17
23
  import { DEFAULT_LINEAR_GRADIENT_ANGLE, HORIZONTAL_GRADIENT_ORIENTATION, GRADIENT_OPTIONS, DEFAULT_GRADIENT } from './constants';
@@ -37,6 +43,7 @@ const GradientAnglePicker = _ref => {
37
43
  };
38
44
 
39
45
  return createElement(AnglePickerControl, {
46
+ __nextHasNoMarginBottom: true,
40
47
  onChange: onAngleChange,
41
48
  labelPosition: "top",
42
49
  value: hasGradient ? angle : ''
@@ -83,6 +90,7 @@ const GradientTypePicker = _ref2 => {
83
90
  };
84
91
 
85
92
  return createElement(SelectControl, {
93
+ __nextHasNoMarginBottom: true,
86
94
  className: "components-custom-gradient-picker__type-picker",
87
95
  label: __('Type'),
88
96
  labelPosition: "top",
@@ -95,6 +103,8 @@ const GradientTypePicker = _ref2 => {
95
103
 
96
104
  export default function CustomGradientPicker(_ref3) {
97
105
  let {
106
+ /** Start opting into the new margin-free styles that will become the default in a future version. */
107
+ __nextHasNoMargin = false,
98
108
  value,
99
109
  onChange,
100
110
  __experimentalIsRenderedInSidebar
@@ -111,8 +121,11 @@ export default function CustomGradientPicker(_ref3) {
111
121
  color: getStopCssColor(colorStop),
112
122
  position: parseInt(colorStop.length.value)
113
123
  }));
114
- return createElement("div", {
115
- className: "components-custom-gradient-picker"
124
+ return createElement(VStack, {
125
+ spacing: 5,
126
+ className: classnames('components-custom-gradient-picker', {
127
+ 'is-next-has-no-margin': __nextHasNoMargin
128
+ })
116
129
  }, createElement(CustomGradientBar, {
117
130
  __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar,
118
131
  background: background,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-gradient-picker/index.js"],"names":["__","AnglePickerControl","CustomGradientBar","Flex","SelectControl","getGradientAstWithDefault","getLinearGradientRepresentation","getGradientAstWithControlPoints","getStopCssColor","serializeGradient","DEFAULT_LINEAR_GRADIENT_ANGLE","HORIZONTAL_GRADIENT_ORIENTATION","GRADIENT_OPTIONS","DEFAULT_GRADIENT","AccessoryWrapper","SelectWrapper","GradientAnglePicker","gradientAST","hasGradient","onChange","angle","orientation","value","onAngleChange","newAngle","type","GradientTypePicker","onSetLinearGradient","onSetRadialGradient","restGradientAST","handleOnChange","next","CustomGradientPicker","__experimentalIsRenderedInSidebar","background","controlPoints","colorStops","map","colorStop","color","position","parseInt","length","newControlPoints"],"mappings":"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","sourcesContent":["/**\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 =\n\t\tgradientAST?.orientation?.value ?? DEFAULT_LINEAR_GRADIENT_ANGLE;\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\tconst { orientation, ...restGradientAST } = gradientAST;\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...restGradientAST,\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\tsize=\"__unstable-large\"\n\t\t\tvalue={ hasGradient && type }\n\t\t/>\n\t);\n};\n\nexport default function CustomGradientPicker( {\n\tvalue,\n\tonChange,\n\t__experimentalIsRenderedInSidebar,\n} ) {\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\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\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":["classnames","__","AnglePickerControl","CustomGradientBar","Flex","SelectControl","VStack","getGradientAstWithDefault","getLinearGradientRepresentation","getGradientAstWithControlPoints","getStopCssColor","serializeGradient","DEFAULT_LINEAR_GRADIENT_ANGLE","HORIZONTAL_GRADIENT_ORIENTATION","GRADIENT_OPTIONS","DEFAULT_GRADIENT","AccessoryWrapper","SelectWrapper","GradientAnglePicker","gradientAST","hasGradient","onChange","angle","orientation","value","onAngleChange","newAngle","type","GradientTypePicker","onSetLinearGradient","onSetRadialGradient","restGradientAST","handleOnChange","next","CustomGradientPicker","__nextHasNoMargin","__experimentalIsRenderedInSidebar","background","controlPoints","colorStops","map","colorStop","color","position","parseInt","length","newControlPoints"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 './gradient-bar';\nimport { Flex } from '../flex';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\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 =\n\t\tgradientAST?.orientation?.value ?? DEFAULT_LINEAR_GRADIENT_ANGLE;\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\t__nextHasNoMarginBottom\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\tconst { orientation, ...restGradientAST } = gradientAST;\n\t\tonChange(\n\t\t\tserializeGradient( {\n\t\t\t\t...restGradientAST,\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\t__nextHasNoMarginBottom\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\tsize=\"__unstable-large\"\n\t\t\tvalue={ hasGradient && type }\n\t\t/>\n\t);\n};\n\nexport default function CustomGradientPicker( {\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMargin = false,\n\tvalue,\n\tonChange,\n\t__experimentalIsRenderedInSidebar,\n} ) {\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<VStack\n\t\t\tspacing={ 5 }\n\t\t\tclassName={ classnames( 'components-custom-gradient-picker', {\n\t\t\t\t'is-next-has-no-margin': __nextHasNoMargin,\n\t\t\t} ) }\n\t\t>\n\t\t\t<CustomGradientBar\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\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</VStack>\n\t);\n}\n"]}
@@ -10,14 +10,19 @@ import classnames from 'classnames';
10
10
  * WordPress dependencies
11
11
  */
12
12
 
13
- import { Icon, check, chevronDown } from '@wordpress/icons';
13
+ import { Icon, check } from '@wordpress/icons';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
- import { useCallback } from '@wordpress/element';
15
+ import { useCallback, useState } from '@wordpress/element';
16
+ import deprecated from '@wordpress/deprecated';
16
17
  /**
17
18
  * Internal dependencies
18
19
  */
19
20
 
20
- import { Button, VisuallyHidden } from '../';
21
+ import { VisuallyHidden } from '../';
22
+ import { Select as SelectControlSelect } from '../select-control/styles/select-control-styles';
23
+ import SelectControlChevronDown from '../select-control/chevron-down';
24
+ import { InputBaseWithBackCompatMinWidth } from './styles';
25
+ import { StyledLabel } from '../base-control/styles/base-control-styles';
21
26
 
22
27
  const itemToString = item => item === null || item === void 0 ? void 0 : item.name; // This is needed so that in Windows, where
23
28
  // the menu does not necessarily open on
@@ -63,12 +68,18 @@ export default function CustomSelectControl(_ref3) {
63
68
  let {
64
69
  /** Start opting into the larger default height that will become the default size in a future version. */
65
70
  __next36pxDefaultSize = false,
71
+
72
+ /** Start opting into the unconstrained width that will become the default in a future version. */
73
+ __nextUnconstrainedWidth = false,
66
74
  className,
67
75
  hideLabelFromVision,
68
76
  label,
69
77
  describedBy,
70
78
  options: items,
71
79
  onChange: onSelectedItemChange,
80
+
81
+ /** @type {import('../select-control/types').SelectControlProps.size} */
82
+ size = 'default',
72
83
  value: _selectedItem
73
84
  } = _ref3;
74
85
  const {
@@ -89,6 +100,15 @@ export default function CustomSelectControl(_ref3) {
89
100
  } : undefined),
90
101
  stateReducer
91
102
  });
103
+ const [isFocused, setIsFocused] = useState(false);
104
+
105
+ if (!__nextUnconstrainedWidth) {
106
+ deprecated('Constrained width styles for wp.components.CustomSelectControl', {
107
+ since: '6.1',
108
+ version: '6.4',
109
+ hint: 'Set the `__nextUnconstrainedWidth` prop to true to start opting into the new styles, which will become the default in a future version'
110
+ });
111
+ }
92
112
 
93
113
  function getDescribedBy() {
94
114
  if (describedBy) {
@@ -124,24 +144,29 @@ export default function CustomSelectControl(_ref3) {
124
144
  as: "label"
125
145
  }, getLabelProps()), label) :
126
146
  /* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */
127
- createElement("label", getLabelProps({
147
+ createElement(StyledLabel, getLabelProps({
128
148
  className: 'components-custom-select-control__label'
129
- }), label), createElement(Button, getToggleButtonProps({
149
+ }), label), createElement(InputBaseWithBackCompatMinWidth, {
150
+ __next36pxDefaultSize: __next36pxDefaultSize,
151
+ __nextUnconstrainedWidth: __nextUnconstrainedWidth,
152
+ isFocused: isOpen || isFocused,
153
+ __unstableInputWidth: __nextUnconstrainedWidth ? undefined : 'auto',
154
+ labelPosition: __nextUnconstrainedWidth ? undefined : 'top',
155
+ size: size,
156
+ suffix: createElement(SelectControlChevronDown, null)
157
+ }, createElement(SelectControlSelect, _extends({
158
+ as: "button",
159
+ onFocus: () => setIsFocused(true),
160
+ onBlur: () => setIsFocused(false),
161
+ selectSize: size,
162
+ __next36pxDefaultSize: __next36pxDefaultSize
163
+ }, getToggleButtonProps({
130
164
  // This is needed because some speech recognition software don't support `aria-labelledby`.
131
165
  'aria-label': label,
132
166
  'aria-labelledby': undefined,
133
- className: classnames('components-custom-select-control__button', {
134
- 'is-next-36px-default-size': __next36pxDefaultSize
135
- }),
136
- isSmall: !__next36pxDefaultSize,
167
+ className: 'components-custom-select-control__button',
137
168
  describedBy: getDescribedBy()
138
- }), itemToString(selectedItem), createElement(Icon, {
139
- icon: chevronDown,
140
- className: classnames('components-custom-select-control__button-icon', {
141
- 'is-next-36px-default-size': __next36pxDefaultSize
142
- }),
143
- size: 18
144
- })), createElement("ul", _extends({}, menuProps, {
169
+ })), itemToString(selectedItem))), createElement("ul", _extends({}, menuProps, {
145
170
  onKeyDown: onKeyDownHandler
146
171
  }), isOpen && items.map((item, index) => // eslint-disable-next-line react/jsx-key
147
172
  createElement("li", getItemProps({