@wordpress/components 19.14.0 → 19.15.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 (506) hide show
  1. package/CHANGELOG.md +51 -12
  2. package/build/autocomplete/get-default-use-items.js +5 -1
  3. package/build/autocomplete/get-default-use-items.js.map +1 -1
  4. package/build/autocomplete/index.js +5 -1
  5. package/build/autocomplete/index.js.map +1 -1
  6. package/build/border-control/border-control/hook.js.map +1 -1
  7. package/build/box-control/index.js +1 -1
  8. package/build/box-control/index.js.map +1 -1
  9. package/build/color-picker/hex-input.js +5 -4
  10. package/build/color-picker/hex-input.js.map +1 -1
  11. package/build/color-picker/index.native.js +35 -34
  12. package/build/color-picker/index.native.js.map +1 -1
  13. package/build/color-picker/input-with-slider.js +3 -1
  14. package/build/color-picker/input-with-slider.js.map +1 -1
  15. package/build/color-picker/styles.js +31 -43
  16. package/build/color-picker/styles.js.map +1 -1
  17. package/build/color-picker/use-deprecated-props.js +22 -31
  18. package/build/color-picker/use-deprecated-props.js.map +1 -1
  19. package/build/combobox-control/index.js +14 -6
  20. package/build/combobox-control/index.js.map +1 -1
  21. package/build/combobox-control/styles.js +39 -0
  22. package/build/combobox-control/styles.js.map +1 -0
  23. package/build/dropdown-menu/index.js +5 -5
  24. package/build/dropdown-menu/index.js.map +1 -1
  25. package/build/dropdown-menu/index.native.js +5 -5
  26. package/build/dropdown-menu/index.native.js.map +1 -1
  27. package/build/elevation/hook.js +5 -5
  28. package/build/elevation/hook.js.map +1 -1
  29. package/build/external-link/index.js +1 -3
  30. package/build/external-link/index.js.map +1 -1
  31. package/build/focal-point-picker/grid.js +2 -7
  32. package/build/focal-point-picker/grid.js.map +1 -1
  33. package/build/focal-point-picker/index.native.js +8 -8
  34. package/build/focal-point-picker/index.native.js.map +1 -1
  35. package/build/focal-point-picker/tooltip/index.native.js +11 -12
  36. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  37. package/build/form-token-field/index.js +22 -7
  38. package/build/form-token-field/index.js.map +1 -1
  39. package/build/form-token-field/styles.js +40 -0
  40. package/build/form-token-field/styles.js.map +1 -0
  41. package/build/form-token-field/suggestions-list.js +2 -7
  42. package/build/form-token-field/suggestions-list.js.map +1 -1
  43. package/build/grid/component.js +7 -8
  44. package/build/grid/component.js.map +1 -1
  45. package/build/grid/hook.js +1 -5
  46. package/build/grid/hook.js.map +1 -1
  47. package/build/grid/index.js.map +1 -1
  48. package/build/grid/utils.js +4 -7
  49. package/build/grid/utils.js.map +1 -1
  50. package/build/h-stack/component.js +5 -9
  51. package/build/h-stack/component.js.map +1 -1
  52. package/build/h-stack/hook.js +8 -10
  53. package/build/h-stack/hook.js.map +1 -1
  54. package/build/h-stack/index.js.map +1 -1
  55. package/build/h-stack/utils.js +7 -18
  56. package/build/h-stack/utils.js.map +1 -1
  57. package/build/icon/index.js.map +1 -1
  58. package/build/menu-item/index.js +1 -3
  59. package/build/menu-item/index.js.map +1 -1
  60. package/build/mobile/focal-point-settings-panel/index.native.js +1 -1
  61. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  62. package/build/mobile/image/index.native.js +4 -2
  63. package/build/mobile/image/index.native.js.map +1 -1
  64. package/build/modal/index.js +17 -3
  65. package/build/modal/index.js.map +1 -1
  66. package/build/navigation/index.js +4 -1
  67. package/build/navigation/index.js.map +1 -1
  68. package/build/navigation/item/base.js +3 -0
  69. package/build/navigation/item/base.js.map +1 -1
  70. package/build/popover/index.js +4 -4
  71. package/build/popover/index.js.map +1 -1
  72. package/build/range-control/index.js +54 -40
  73. package/build/range-control/index.js.map +1 -1
  74. package/build/range-control/input-range.js +5 -7
  75. package/build/range-control/input-range.js.map +1 -1
  76. package/build/range-control/mark.js +5 -7
  77. package/build/range-control/mark.js.map +1 -1
  78. package/build/range-control/rail.js +10 -16
  79. package/build/range-control/rail.js.map +1 -1
  80. package/build/range-control/styles/range-control-styles.js +62 -62
  81. package/build/range-control/styles/range-control-styles.js.map +1 -1
  82. package/build/range-control/tooltip.js +5 -7
  83. package/build/range-control/tooltip.js.map +1 -1
  84. package/build/range-control/types.js +6 -0
  85. package/build/range-control/types.js.map +1 -0
  86. package/build/range-control/utils.js +22 -29
  87. package/build/range-control/utils.js.map +1 -1
  88. package/build/resizable-box/resize-tooltip/utils.js +2 -7
  89. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  90. package/build/scrollable/component.js +7 -8
  91. package/build/scrollable/component.js.map +1 -1
  92. package/build/scrollable/hook.js +0 -8
  93. package/build/scrollable/hook.js.map +1 -1
  94. package/build/scrollable/index.js.map +1 -1
  95. package/build/scrollable/styles.js +7 -7
  96. package/build/scrollable/styles.js.map +1 -1
  97. package/build/shortcut/index.js +2 -8
  98. package/build/shortcut/index.js.map +1 -1
  99. package/build/slot-fill/index.native.js +6 -8
  100. package/build/slot-fill/index.native.js.map +1 -1
  101. package/build/slot-fill/provider.js +4 -8
  102. package/build/slot-fill/provider.js.map +1 -1
  103. package/build/slot-fill/slot.js +4 -8
  104. package/build/slot-fill/slot.js.map +1 -1
  105. package/build/spacer/component.js.map +1 -1
  106. package/build/spacer/hook.js +2 -2
  107. package/build/spacer/hook.js.map +1 -1
  108. package/build/spacer/index.js.map +1 -1
  109. package/build/text-highlight/index.js +22 -5
  110. package/build/text-highlight/index.js.map +1 -1
  111. package/build/text-highlight/types.js +6 -0
  112. package/build/text-highlight/types.js.map +1 -0
  113. package/build/tip/index.js +5 -11
  114. package/build/tip/index.js.map +1 -1
  115. package/build/tip/types.js +6 -0
  116. package/build/tip/types.js.map +1 -0
  117. package/build/toolbar-group/index.js +3 -3
  118. package/build/toolbar-group/index.js.map +1 -1
  119. package/build/tree-select/index.js +2 -2
  120. package/build/tree-select/index.js.map +1 -1
  121. package/build/ui/utils/get-valid-children.js.map +1 -1
  122. package/build/visually-hidden/component.js +12 -13
  123. package/build/visually-hidden/component.js.map +1 -1
  124. package/build/visually-hidden/index.js.map +1 -1
  125. package/build/visually-hidden/styles.js +3 -1
  126. package/build/visually-hidden/styles.js.map +1 -1
  127. package/build/visually-hidden/types.js +6 -0
  128. package/build/visually-hidden/types.js.map +1 -0
  129. package/build-module/autocomplete/get-default-use-items.js +3 -2
  130. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  131. package/build-module/autocomplete/index.js +3 -2
  132. package/build-module/autocomplete/index.js.map +1 -1
  133. package/build-module/border-control/border-control/hook.js.map +1 -1
  134. package/build-module/box-control/index.js +1 -1
  135. package/build-module/box-control/index.js.map +1 -1
  136. package/build-module/color-picker/hex-input.js +4 -3
  137. package/build-module/color-picker/hex-input.js.map +1 -1
  138. package/build-module/color-picker/index.native.js +36 -35
  139. package/build-module/color-picker/index.native.js.map +1 -1
  140. package/build-module/color-picker/input-with-slider.js +3 -1
  141. package/build-module/color-picker/input-with-slider.js.map +1 -1
  142. package/build-module/color-picker/styles.js +23 -40
  143. package/build-module/color-picker/styles.js.map +1 -1
  144. package/build-module/color-picker/use-deprecated-props.js +22 -31
  145. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  146. package/build-module/combobox-control/index.js +14 -7
  147. package/build-module/combobox-control/index.js.map +1 -1
  148. package/build-module/combobox-control/styles.js +27 -0
  149. package/build-module/combobox-control/styles.js.map +1 -0
  150. package/build-module/dropdown-menu/index.js +5 -4
  151. package/build-module/dropdown-menu/index.js.map +1 -1
  152. package/build-module/dropdown-menu/index.native.js +5 -4
  153. package/build-module/dropdown-menu/index.native.js.map +1 -1
  154. package/build-module/elevation/hook.js +5 -5
  155. package/build-module/elevation/hook.js.map +1 -1
  156. package/build-module/external-link/index.js +1 -2
  157. package/build-module/external-link/index.js.map +1 -1
  158. package/build-module/focal-point-picker/grid.js +2 -6
  159. package/build-module/focal-point-picker/grid.js.map +1 -1
  160. package/build-module/focal-point-picker/index.native.js +8 -8
  161. package/build-module/focal-point-picker/index.native.js.map +1 -1
  162. package/build-module/focal-point-picker/tooltip/index.native.js +11 -12
  163. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  164. package/build-module/form-token-field/index.js +20 -6
  165. package/build-module/form-token-field/index.js.map +1 -1
  166. package/build-module/form-token-field/styles.js +28 -0
  167. package/build-module/form-token-field/styles.js.map +1 -0
  168. package/build-module/form-token-field/suggestions-list.js +2 -7
  169. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  170. package/build-module/grid/component.js +7 -8
  171. package/build-module/grid/component.js.map +1 -1
  172. package/build-module/grid/hook.js +1 -5
  173. package/build-module/grid/hook.js.map +1 -1
  174. package/build-module/grid/index.js.map +1 -1
  175. package/build-module/grid/utils.js +3 -8
  176. package/build-module/grid/utils.js.map +1 -1
  177. package/build-module/h-stack/component.js +3 -7
  178. package/build-module/h-stack/component.js.map +1 -1
  179. package/build-module/h-stack/hook.js +10 -12
  180. package/build-module/h-stack/hook.js.map +1 -1
  181. package/build-module/h-stack/index.js.map +1 -1
  182. package/build-module/h-stack/utils.js +7 -19
  183. package/build-module/h-stack/utils.js.map +1 -1
  184. package/build-module/icon/index.js.map +1 -1
  185. package/build-module/menu-item/index.js +1 -2
  186. package/build-module/menu-item/index.js.map +1 -1
  187. package/build-module/mobile/focal-point-settings-panel/index.native.js +2 -2
  188. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  189. package/build-module/mobile/image/index.native.js +3 -2
  190. package/build-module/mobile/image/index.native.js.map +1 -1
  191. package/build-module/modal/index.js +19 -5
  192. package/build-module/modal/index.js.map +1 -1
  193. package/build-module/navigation/index.js +4 -1
  194. package/build-module/navigation/index.js.map +1 -1
  195. package/build-module/navigation/item/base.js +3 -0
  196. package/build-module/navigation/item/base.js.map +1 -1
  197. package/build-module/popover/index.js +4 -4
  198. package/build-module/popover/index.js.map +1 -1
  199. package/build-module/range-control/index.js +54 -40
  200. package/build-module/range-control/index.js.map +1 -1
  201. package/build-module/range-control/input-range.js +5 -6
  202. package/build-module/range-control/input-range.js.map +1 -1
  203. package/build-module/range-control/mark.js +5 -6
  204. package/build-module/range-control/mark.js.map +1 -1
  205. package/build-module/range-control/rail.js +10 -15
  206. package/build-module/range-control/rail.js.map +1 -1
  207. package/build-module/range-control/styles/range-control-styles.js +62 -64
  208. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  209. package/build-module/range-control/tooltip.js +5 -6
  210. package/build-module/range-control/tooltip.js.map +1 -1
  211. package/build-module/range-control/types.js +2 -0
  212. package/build-module/range-control/types.js.map +1 -0
  213. package/build-module/range-control/utils.js +22 -29
  214. package/build-module/range-control/utils.js.map +1 -1
  215. package/build-module/resizable-box/resize-tooltip/utils.js +2 -6
  216. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  217. package/build-module/scrollable/component.js +7 -8
  218. package/build-module/scrollable/component.js.map +1 -1
  219. package/build-module/scrollable/hook.js +0 -8
  220. package/build-module/scrollable/hook.js.map +1 -1
  221. package/build-module/scrollable/index.js.map +1 -1
  222. package/build-module/scrollable/styles.js +7 -7
  223. package/build-module/scrollable/styles.js.map +1 -1
  224. package/build-module/shortcut/index.js +2 -7
  225. package/build-module/shortcut/index.js.map +1 -1
  226. package/build-module/slot-fill/index.native.js +6 -7
  227. package/build-module/slot-fill/index.native.js.map +1 -1
  228. package/build-module/slot-fill/provider.js +4 -7
  229. package/build-module/slot-fill/provider.js.map +1 -1
  230. package/build-module/slot-fill/slot.js +4 -7
  231. package/build-module/slot-fill/slot.js.map +1 -1
  232. package/build-module/spacer/component.js.map +1 -1
  233. package/build-module/spacer/hook.js +2 -2
  234. package/build-module/spacer/hook.js.map +1 -1
  235. package/build-module/spacer/index.js.map +1 -1
  236. package/build-module/text-highlight/index.js +23 -6
  237. package/build-module/text-highlight/index.js.map +1 -1
  238. package/build-module/text-highlight/types.js +2 -0
  239. package/build-module/text-highlight/types.js.map +1 -0
  240. package/build-module/tip/index.js +6 -10
  241. package/build-module/tip/index.js.map +1 -1
  242. package/build-module/tip/types.js +2 -0
  243. package/build-module/tip/types.js.map +1 -0
  244. package/build-module/toolbar-group/index.js +3 -2
  245. package/build-module/toolbar-group/index.js.map +1 -1
  246. package/build-module/tree-select/index.js +3 -3
  247. package/build-module/tree-select/index.js.map +1 -1
  248. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  249. package/build-module/visually-hidden/component.js +12 -13
  250. package/build-module/visually-hidden/component.js.map +1 -1
  251. package/build-module/visually-hidden/index.js.map +1 -1
  252. package/build-module/visually-hidden/styles.js +3 -1
  253. package/build-module/visually-hidden/styles.js.map +1 -1
  254. package/build-module/visually-hidden/types.js +2 -0
  255. package/build-module/visually-hidden/types.js.map +1 -0
  256. package/build-style/style-rtl.css +13 -19
  257. package/build-style/style.css +13 -19
  258. package/build-types/border-control/border-control/hook.d.ts +1 -1
  259. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  260. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  261. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  262. package/build-types/color-picker/styles.d.ts +30 -31
  263. package/build-types/color-picker/styles.d.ts.map +1 -1
  264. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  265. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  266. package/build-types/external-link/index.d.ts.map +1 -1
  267. package/build-types/form-token-field/index.d.ts.map +1 -1
  268. package/build-types/form-token-field/styles.d.ts +14 -0
  269. package/build-types/form-token-field/styles.d.ts.map +1 -0
  270. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  271. package/build-types/form-token-field/types.d.ts +7 -0
  272. package/build-types/form-token-field/types.d.ts.map +1 -1
  273. package/build-types/grid/component.d.ts +3 -3
  274. package/build-types/grid/component.d.ts.map +1 -1
  275. package/build-types/grid/hook.d.ts +5 -2
  276. package/build-types/grid/hook.d.ts.map +1 -1
  277. package/build-types/grid/index.d.ts +2 -2
  278. package/build-types/grid/index.d.ts.map +1 -1
  279. package/build-types/grid/stories/index.d.ts +9 -0
  280. package/build-types/grid/stories/index.d.ts.map +1 -0
  281. package/build-types/grid/test/grid.d.ts +2 -0
  282. package/build-types/grid/test/grid.d.ts.map +1 -0
  283. package/build-types/grid/types.d.ts +16 -15
  284. package/build-types/grid/types.d.ts.map +1 -1
  285. package/build-types/grid/utils.d.ts +50 -69
  286. package/build-types/grid/utils.d.ts.map +1 -1
  287. package/build-types/h-stack/component.d.ts +3 -2
  288. package/build-types/h-stack/component.d.ts.map +1 -1
  289. package/build-types/h-stack/hook.d.ts +5 -3
  290. package/build-types/h-stack/hook.d.ts.map +1 -1
  291. package/build-types/h-stack/index.d.ts +2 -2
  292. package/build-types/h-stack/index.d.ts.map +1 -1
  293. package/build-types/h-stack/stories/index.d.ts +9 -0
  294. package/build-types/h-stack/stories/index.d.ts.map +1 -0
  295. package/build-types/h-stack/test/index.d.ts +2 -0
  296. package/build-types/h-stack/test/index.d.ts.map +1 -0
  297. package/build-types/h-stack/utils.d.ts +8 -4
  298. package/build-types/h-stack/utils.d.ts.map +1 -1
  299. package/build-types/icon/index.d.ts +1 -1
  300. package/build-types/icon/index.d.ts.map +1 -1
  301. package/build-types/menu-item/index.d.ts.map +1 -1
  302. package/build-types/popover/index.d.ts.map +1 -1
  303. package/build-types/range-control/index.d.ts +54 -29
  304. package/build-types/range-control/index.d.ts.map +1 -1
  305. package/build-types/range-control/input-range.d.ts +7 -10
  306. package/build-types/range-control/input-range.d.ts.map +1 -1
  307. package/build-types/range-control/mark.d.ts +4 -7
  308. package/build-types/range-control/mark.d.ts.map +1 -1
  309. package/build-types/range-control/rail.d.ts +4 -9
  310. package/build-types/range-control/rail.d.ts.map +1 -1
  311. package/build-types/range-control/stories/index.d.ts +48 -0
  312. package/build-types/range-control/stories/index.d.ts.map +1 -0
  313. package/build-types/range-control/styles/range-control-styles.d.ts +32 -40
  314. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  315. package/build-types/range-control/test/index.d.ts +2 -0
  316. package/build-types/range-control/test/index.d.ts.map +1 -0
  317. package/build-types/range-control/tooltip.d.ts +4 -11
  318. package/build-types/range-control/tooltip.d.ts.map +1 -1
  319. package/build-types/range-control/types.d.ts +302 -0
  320. package/build-types/range-control/types.d.ts.map +1 -0
  321. package/build-types/range-control/utils.d.ts +15 -33
  322. package/build-types/range-control/utils.d.ts.map +1 -1
  323. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  324. package/build-types/scrollable/component.d.ts +3 -3
  325. package/build-types/scrollable/component.d.ts.map +1 -1
  326. package/build-types/scrollable/hook.d.ts +5 -2
  327. package/build-types/scrollable/hook.d.ts.map +1 -1
  328. package/build-types/scrollable/index.d.ts +2 -2
  329. package/build-types/scrollable/index.d.ts.map +1 -1
  330. package/build-types/scrollable/stories/index.d.ts +9 -0
  331. package/build-types/scrollable/stories/index.d.ts.map +1 -0
  332. package/build-types/scrollable/styles.d.ts +7 -7
  333. package/build-types/scrollable/styles.d.ts.map +1 -1
  334. package/build-types/scrollable/test/index.d.ts +2 -0
  335. package/build-types/scrollable/test/index.d.ts.map +1 -0
  336. package/build-types/scrollable/types.d.ts +9 -6
  337. package/build-types/scrollable/types.d.ts.map +1 -1
  338. package/build-types/shortcut/index.d.ts.map +1 -1
  339. package/build-types/slot-fill/provider.d.ts.map +1 -1
  340. package/build-types/slot-fill/slot.d.ts.map +1 -1
  341. package/build-types/spacer/component.d.ts +2 -2
  342. package/build-types/spacer/component.d.ts.map +1 -1
  343. package/build-types/spacer/hook.d.ts +2 -2
  344. package/build-types/spacer/hook.d.ts.map +1 -1
  345. package/build-types/spacer/index.d.ts +1 -1
  346. package/build-types/spacer/index.d.ts.map +1 -1
  347. package/build-types/spacer/test/index.d.ts +2 -0
  348. package/build-types/spacer/test/index.d.ts.map +1 -0
  349. package/build-types/spacer/types.d.ts +41 -29
  350. package/build-types/spacer/types.d.ts.map +1 -1
  351. package/build-types/text-highlight/index.d.ts +23 -0
  352. package/build-types/text-highlight/index.d.ts.map +1 -0
  353. package/build-types/text-highlight/stories/index.d.ts +12 -0
  354. package/build-types/text-highlight/stories/index.d.ts.map +1 -0
  355. package/build-types/text-highlight/test/index.d.ts +2 -0
  356. package/build-types/text-highlight/test/index.d.ts.map +1 -0
  357. package/build-types/text-highlight/types.d.ts +17 -0
  358. package/build-types/text-highlight/types.d.ts.map +1 -0
  359. package/build-types/tip/index.d.ts +5 -14
  360. package/build-types/tip/index.d.ts.map +1 -1
  361. package/build-types/tip/stories/index.d.ts +12 -0
  362. package/build-types/tip/stories/index.d.ts.map +1 -0
  363. package/build-types/tip/types.d.ts +11 -0
  364. package/build-types/tip/types.d.ts.map +1 -0
  365. package/build-types/ui/form-group/form-group.d.ts +1 -1
  366. package/build-types/ui/form-group/types.d.ts +1 -1
  367. package/build-types/ui/form-group/types.d.ts.map +1 -1
  368. package/build-types/ui/form-group/use-form-group.d.ts +3 -3
  369. package/build-types/ui/utils/get-valid-children.d.ts +2 -2
  370. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -1
  371. package/build-types/visually-hidden/component.d.ts +8 -10
  372. package/build-types/visually-hidden/component.d.ts.map +1 -1
  373. package/build-types/visually-hidden/index.d.ts +1 -1
  374. package/build-types/visually-hidden/index.d.ts.map +1 -1
  375. package/build-types/visually-hidden/stories/index.d.ts +14 -0
  376. package/build-types/visually-hidden/stories/index.d.ts.map +1 -0
  377. package/build-types/visually-hidden/styles.d.ts +5 -2
  378. package/build-types/visually-hidden/styles.d.ts.map +1 -1
  379. package/build-types/visually-hidden/test/index.d.ts +2 -0
  380. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  381. package/build-types/visually-hidden/types.d.ts +11 -0
  382. package/build-types/visually-hidden/types.d.ts.map +1 -0
  383. package/package.json +17 -17
  384. package/src/autocomplete/get-default-use-items.js +3 -2
  385. package/src/autocomplete/index.js +3 -2
  386. package/src/border-control/border-control/hook.ts +1 -1
  387. package/src/box-control/index.js +1 -1
  388. package/src/button/README.md +1 -1
  389. package/src/color-picker/hex-input.tsx +3 -2
  390. package/src/color-picker/index.native.js +20 -27
  391. package/src/color-picker/input-with-slider.tsx +2 -0
  392. package/src/color-picker/styles.ts +0 -5
  393. package/src/color-picker/use-deprecated-props.ts +24 -43
  394. package/src/combobox-control/index.js +15 -7
  395. package/src/combobox-control/stories/index.js +3 -2
  396. package/src/combobox-control/style.scss +1 -1
  397. package/src/combobox-control/styles.ts +27 -0
  398. package/src/dropdown-menu/index.js +3 -4
  399. package/src/dropdown-menu/index.native.js +3 -5
  400. package/src/elevation/hook.js +3 -3
  401. package/src/external-link/index.tsx +10 -4
  402. package/src/focal-point-picker/grid.js +2 -5
  403. package/src/focal-point-picker/index.native.js +8 -8
  404. package/src/focal-point-picker/tooltip/index.native.js +10 -11
  405. package/src/form-token-field/index.tsx +45 -24
  406. package/src/form-token-field/style.scss +2 -7
  407. package/src/form-token-field/styles.ts +32 -0
  408. package/src/form-token-field/suggestions-list.tsx +2 -4
  409. package/src/form-token-field/types.ts +7 -0
  410. package/src/grid/README.md +33 -19
  411. package/src/grid/{component.js → component.tsx} +13 -9
  412. package/src/grid/{hook.js → hook.ts} +5 -5
  413. package/src/grid/{index.js → index.ts} +0 -0
  414. package/src/grid/stories/index.tsx +72 -0
  415. package/src/grid/test/{grid.js → grid.tsx} +4 -4
  416. package/src/grid/types.ts +16 -17
  417. package/src/grid/{utils.js → utils.ts} +9 -7
  418. package/src/guide/style.scss +1 -0
  419. package/src/h-stack/{component.js → component.tsx} +8 -8
  420. package/src/h-stack/{hook.js → hook.tsx} +21 -16
  421. package/src/h-stack/{index.js → index.ts} +0 -0
  422. package/src/h-stack/stories/index.tsx +92 -0
  423. package/src/h-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  424. package/src/h-stack/test/{index.js → index.tsx} +0 -0
  425. package/src/h-stack/{utils.js → utils.ts} +14 -14
  426. package/src/higher-order/navigate-regions/README.md +4 -1
  427. package/src/icon/index.tsx +1 -1
  428. package/src/menu-item/index.js +1 -2
  429. package/src/mobile/focal-point-settings-panel/index.native.js +2 -2
  430. package/src/mobile/image/index.native.js +3 -2
  431. package/src/modal/index.js +21 -2
  432. package/src/modal/stories/index.js +17 -1
  433. package/src/modal/style.scss +9 -18
  434. package/src/navigation/index.js +3 -0
  435. package/src/navigation/item/base.js +2 -1
  436. package/src/popover/README.md +2 -2
  437. package/src/popover/index.js +7 -4
  438. package/src/range-control/README.md +107 -79
  439. package/src/range-control/{index.js → index.tsx} +78 -48
  440. package/src/range-control/{input-range.js → input-range.tsx} +11 -7
  441. package/src/range-control/{mark.js → mark.tsx} +15 -9
  442. package/src/range-control/{rail.js → rail.tsx} +40 -23
  443. package/src/range-control/stories/index.tsx +244 -0
  444. package/src/range-control/styles/{range-control-styles.js → range-control-styles.ts} +28 -24
  445. package/src/range-control/test/index.tsx +311 -0
  446. package/src/range-control/{tooltip.js → tooltip.tsx} +19 -14
  447. package/src/range-control/types.ts +326 -0
  448. package/src/range-control/utils.ts +132 -0
  449. package/src/resizable-box/resize-tooltip/utils.ts +2 -3
  450. package/src/scrollable/README.md +14 -8
  451. package/src/scrollable/{component.js → component.tsx} +13 -10
  452. package/src/scrollable/{hook.js → hook.ts} +5 -7
  453. package/src/scrollable/{index.js → index.ts} +0 -0
  454. package/src/scrollable/stories/{index.js → index.tsx} +29 -34
  455. package/src/scrollable/{styles.js → styles.ts} +0 -0
  456. package/src/scrollable/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  457. package/src/scrollable/test/index.tsx +34 -0
  458. package/src/scrollable/types.ts +10 -5
  459. package/src/select-control/test/select-control.tsx +22 -15
  460. package/src/shortcut/index.js +2 -7
  461. package/src/slot-fill/index.native.js +2 -7
  462. package/src/slot-fill/provider.js +3 -7
  463. package/src/slot-fill/slot.js +21 -24
  464. package/src/spacer/README.md +43 -37
  465. package/src/spacer/component.tsx +2 -2
  466. package/src/spacer/hook.ts +4 -2
  467. package/src/spacer/index.ts +1 -1
  468. package/src/spacer/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  469. package/src/spacer/test/index.tsx +149 -0
  470. package/src/spacer/types.ts +41 -29
  471. package/src/tab-panel/README.md +1 -1
  472. package/src/text-highlight/README.md +6 -6
  473. package/src/text-highlight/index.tsx +49 -0
  474. package/src/text-highlight/stories/index.tsx +33 -0
  475. package/src/text-highlight/test/index.tsx +93 -0
  476. package/src/text-highlight/types.ts +16 -0
  477. package/src/tip/index.tsx +22 -0
  478. package/src/tip/stories/index.tsx +33 -0
  479. package/src/tip/types.ts +11 -0
  480. package/src/toolbar-group/index.js +1 -2
  481. package/src/tree-select/index.tsx +3 -3
  482. package/src/ui/form-group/types.ts +1 -1
  483. package/src/ui/utils/get-valid-children.ts +4 -2
  484. package/src/visually-hidden/{component.js → component.tsx} +23 -15
  485. package/src/visually-hidden/{index.js → index.ts} +0 -0
  486. package/src/visually-hidden/stories/index.tsx +66 -0
  487. package/src/visually-hidden/{styles.js → styles.ts} +6 -2
  488. package/src/visually-hidden/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  489. package/src/visually-hidden/test/index.tsx +17 -0
  490. package/src/visually-hidden/types.ts +11 -0
  491. package/tsconfig.json +1 -0
  492. package/tsconfig.tsbuildinfo +1 -1
  493. package/src/grid/stories/index.js +0 -49
  494. package/src/h-stack/stories/index.js +0 -22
  495. package/src/range-control/stories/index.js +0 -180
  496. package/src/range-control/test/index.js +0 -320
  497. package/src/range-control/utils.js +0 -131
  498. package/src/scrollable/test/index.js +0 -31
  499. package/src/spacer/test/index.js +0 -146
  500. package/src/text-highlight/index.js +0 -28
  501. package/src/text-highlight/stories/index.js +0 -28
  502. package/src/text-highlight/test/index.js +0 -120
  503. package/src/tip/index.js +0 -24
  504. package/src/tip/stories/index.js +0 -26
  505. package/src/visually-hidden/stories/index.js +0 -42
  506. package/src/visually-hidden/test/index.js +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"get-valid-children.d.ts","sourceRoot":"","sources":["../../../src/ui/utils/get-valid-children.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOvD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAE,QAAQ,EAAE,SAAS,GAAI,cAAc,CAMtE"}
1
+ {"version":3,"file":"get-valid-children.d.ts","sourceRoot":"","sources":["../../../src/ui/utils/get-valid-children.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAO/E;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAE,UAAU,GAAG,aAAa,GAAG,WAAW,CAAE,CAMnD"}
@@ -1,22 +1,20 @@
1
- export default ConnectedVisuallyHidden;
1
+ import type { VisuallyHiddenProps } from './types';
2
2
  /**
3
3
  * `VisuallyHidden` is a component used to render text intended to be visually
4
4
  * hidden, but will show for alternate devices, for example a screen reader.
5
5
  *
6
- * @example
7
6
  * ```jsx
8
7
  * import { VisuallyHidden } from `@wordpress/components`;
9
8
  *
10
9
  * function Example() {
11
- * return (
12
- * <VisuallyHidden>
13
- * <label>Code is Poetry</label>
14
- * </VisuallyHidden>
15
- * );
10
+ * return (
11
+ * <VisuallyHidden>
12
+ * <label>Code is Poetry</label>
13
+ * </VisuallyHidden>
14
+ * );
16
15
  * }
17
16
  * ```
18
17
  */
19
- declare const ConnectedVisuallyHidden: import("../ui/context").WordPressComponent<"div", {
20
- children: import('react').ReactNode;
21
- }, true>;
18
+ export declare const VisuallyHidden: import("../ui/context").WordPressComponent<"div", VisuallyHiddenProps, true>;
19
+ export default VisuallyHidden;
22
20
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/component.js"],"names":[],"mappings":";AAyBA;;;;;;;;;;;;;;;;GAgBG;AACH;cAlCuE,OAAO,OAAO,EAAE,SAAS;SAqC9F"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/component.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAmBnD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,8EAG1B,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,2 +1,2 @@
1
- export { default as VisuallyHidden } from "./component";
1
+ export { default as VisuallyHidden } from './component';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ComponentMeta, ComponentStory } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { VisuallyHidden } from '..';
9
+ declare const meta: ComponentMeta<typeof VisuallyHidden>;
10
+ export default meta;
11
+ export declare const Default: ComponentStory<typeof VisuallyHidden>;
12
+ export declare const WithForwardedProps: ComponentStory<typeof VisuallyHidden>;
13
+ export declare const WithAdditionalClassNames: ComponentStory<typeof VisuallyHidden>;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/visually-hidden/stories/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,aAAa,CAAE,OAAO,cAAc,CAa/C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,cAAc,CAAE,OAAO,cAAc,CAa1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAE,OAAO,cAAc,CAWrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAAc,CACpD,OAAO,cAAc,CAUrB,CAAC"}
@@ -1,3 +1,6 @@
1
- /** @type {import('react').CSSProperties} */
2
- export const visuallyHidden: import('react').CSSProperties;
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { CSSProperties } from 'react';
5
+ export declare const visuallyHidden: CSSProperties;
3
6
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/styles.js"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,6BADW,OAAO,OAAO,EAAE,aAAa,CAatC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,eAAO,MAAM,cAAc,EAAE,aAY5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/visually-hidden/test/index.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ReactNode } from 'react';
5
+ export declare type VisuallyHiddenProps = {
6
+ /**
7
+ * The children elements.
8
+ */
9
+ children: ReactNode;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,oBAAY,mBAAmB,GAAG;IACjC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/components",
3
- "version": "19.14.0",
3
+ "version": "19.15.0",
4
4
  "description": "UI components for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -38,21 +38,21 @@
38
38
  "@emotion/utils": "1.0.0",
39
39
  "@floating-ui/react-dom": "0.6.3",
40
40
  "@use-gesture/react": "^10.2.6",
41
- "@wordpress/a11y": "^3.12.0",
42
- "@wordpress/compose": "^5.10.0",
43
- "@wordpress/date": "^4.12.0",
44
- "@wordpress/deprecated": "^3.12.0",
45
- "@wordpress/dom": "^3.12.0",
46
- "@wordpress/element": "^4.10.0",
47
- "@wordpress/escape-html": "^2.12.0",
48
- "@wordpress/hooks": "^3.12.0",
49
- "@wordpress/i18n": "^4.12.0",
50
- "@wordpress/icons": "^9.3.0",
51
- "@wordpress/is-shallow-equal": "^4.12.0",
52
- "@wordpress/keycodes": "^3.12.0",
53
- "@wordpress/primitives": "^3.10.0",
54
- "@wordpress/rich-text": "^5.10.0",
55
- "@wordpress/warning": "^2.12.0",
41
+ "@wordpress/a11y": "^3.13.0",
42
+ "@wordpress/compose": "^5.11.0",
43
+ "@wordpress/date": "^4.13.0",
44
+ "@wordpress/deprecated": "^3.13.0",
45
+ "@wordpress/dom": "^3.13.0",
46
+ "@wordpress/element": "^4.11.0",
47
+ "@wordpress/escape-html": "^2.13.0",
48
+ "@wordpress/hooks": "^3.13.0",
49
+ "@wordpress/i18n": "^4.13.0",
50
+ "@wordpress/icons": "^9.4.0",
51
+ "@wordpress/is-shallow-equal": "^4.13.0",
52
+ "@wordpress/keycodes": "^3.13.0",
53
+ "@wordpress/primitives": "^3.11.0",
54
+ "@wordpress/rich-text": "^5.11.0",
55
+ "@wordpress/warning": "^2.13.0",
56
56
  "classnames": "^2.3.1",
57
57
  "colord": "^2.7.0",
58
58
  "dom-scroll-into-view": "^1.2.1",
@@ -77,5 +77,5 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  },
80
- "gitHead": "a80eeb62ec7cb1418b9915c277e084a29d6665e3"
80
+ "gitHead": "9d9d33bbdf317a4381b8ca1713e43bb50df653b3"
81
81
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { debounce, deburr, escapeRegExp } from 'lodash';
4
+ import { debounce, escapeRegExp } from 'lodash';
5
+ import removeAccents from 'remove-accents';
5
6
 
6
7
  /**
7
8
  * WordPress dependencies
@@ -20,7 +21,7 @@ function filterOptions( search, options = [], maxResults = 10 ) {
20
21
  }
21
22
 
22
23
  const isMatch = keywords.some( ( keyword ) =>
23
- search.test( deburr( keyword ) )
24
+ search.test( removeAccents( keyword ) )
24
25
  );
25
26
  if ( ! isMatch ) {
26
27
  continue;
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { escapeRegExp, find, deburr } from 'lodash';
4
+ import { escapeRegExp, find } from 'lodash';
5
+ import removeAccents from 'remove-accents';
5
6
 
6
7
  /**
7
8
  * WordPress dependencies
@@ -284,7 +285,7 @@ function useAutocomplete( {
284
285
  return;
285
286
  }
286
287
 
287
- const text = deburr( textContent );
288
+ const text = removeAccents( textContent );
288
289
  const textAfterSelection = getTextContent(
289
290
  slice( record, undefined, getTextContent( record ).length )
290
291
  );
@@ -106,7 +106,7 @@ export function useBorderControl(
106
106
  );
107
107
 
108
108
  const onSliderChange = useCallback(
109
- ( value: string ) => {
109
+ ( value?: number ) => {
110
110
  onWidthChange( `${ value }${ widthUnit }` );
111
111
  },
112
112
  [ onWidthChange, widthUnit ]
@@ -117,7 +117,7 @@ export default function BoxControl( {
117
117
  };
118
118
 
119
119
  return (
120
- <Root id={ id } role="region" aria-labelledby={ headingId }>
120
+ <Root id={ id } role="group" aria-labelledby={ headingId }>
121
121
  <Header className="component-box-control__header">
122
122
  <FlexItem>
123
123
  <Text
@@ -62,7 +62,7 @@ Since a high-emphasis button commands the most attention, a layout should contai
62
62
 
63
63
  #### Text label
64
64
 
65
- All button types use text labels to describe the action that happens when a user taps a button. If there’s no text label, there should be an icon to signify what the button does.
65
+ All button types use text labels to describe the action that happens when a user taps a button. If there’s no text label, there needs to be a [label](#label) added and an icon to signify what the button does.
66
66
 
67
67
  ![](https://make.wordpress.org/design/files/2019/03/do-link-button.png)
68
68
 
@@ -11,10 +11,10 @@ import { __ } from '@wordpress/i18n';
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
+ import { InputControl } from '../input-control';
14
15
  import { Text } from '../text';
15
16
  import { Spacer } from '../spacer';
16
17
  import { space } from '../ui/utils/space';
17
- import { ColorHexInputControl } from './styles';
18
18
  import { COLORS } from '../utils/colors-values';
19
19
  import type { StateReducer } from '../input-control/reducer/state';
20
20
 
@@ -49,7 +49,7 @@ export const HexInput = ( { color, onChange, enableAlpha }: HexInputProps ) => {
49
49
  };
50
50
 
51
51
  return (
52
- <ColorHexInputControl
52
+ <InputControl
53
53
  prefix={
54
54
  <Spacer
55
55
  as={ Text }
@@ -66,6 +66,7 @@ export const HexInput = ( { color, onChange, enableAlpha }: HexInputProps ) => {
66
66
  label={ __( 'Hex color' ) }
67
67
  hideLabelFromVision
68
68
  __unstableStateReducer={ stateReducer }
69
+ __unstableInputWidth="9em"
69
70
  />
70
71
  );
71
72
  };
@@ -8,7 +8,7 @@ import namesPlugin from 'colord/plugins/names';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
11
- import { useState, useEffect, useRef } from '@wordpress/element';
11
+ import { useState, useEffect } from '@wordpress/element';
12
12
  import { __ } from '@wordpress/i18n';
13
13
  import { BottomSheet } from '@wordpress/components';
14
14
  import { usePreferredColorSchemeStyle } from '@wordpress/compose';
@@ -33,7 +33,6 @@ function ColorPicker( {
33
33
  onHandleHardwareButtonPress,
34
34
  bottomLabelText,
35
35
  } ) {
36
- const didMount = useRef( false );
37
36
  const isIOS = Platform.OS === 'ios';
38
37
  const hitSlop = { top: 22, bottom: 22, left: 22, right: 22 };
39
38
  const {
@@ -77,19 +76,17 @@ function ColorPicker( {
77
76
  styles.footerDark
78
77
  );
79
78
 
80
- const currentColor = colord( {
81
- h: hue,
82
- s: sat * 100,
83
- v: val * 100,
84
- } ).toHex();
79
+ const combineToHex = ( h = hue, s = sat, v = val ) =>
80
+ colord( { h, s: s * 100, v: v * 100 } ).toHex();
85
81
 
86
- useEffect( () => {
87
- if ( ! didMount.current ) {
88
- didMount.current = true;
89
- return;
90
- }
91
- setColor( currentColor );
92
- }, [ currentColor ] );
82
+ const currentColor = combineToHex();
83
+
84
+ const updateColor = ( { hue: h, saturation: s, value: v } ) => {
85
+ if ( h !== undefined ) setHue( h );
86
+ if ( s !== undefined ) setSaturation( s );
87
+ if ( v !== undefined ) setValue( v );
88
+ setColor( combineToHex( h, s, v ) );
89
+ };
93
90
 
94
91
  useEffect( () => {
95
92
  shouldEnableBottomSheetMaxHeight( false );
@@ -104,17 +101,13 @@ function ColorPicker( {
104
101
  if ( onHandleHardwareButtonPress ) {
105
102
  onHandleHardwareButtonPress( onButtonPress );
106
103
  }
104
+ // TODO: Revisit this to discover if there's a good reason for omitting
105
+ // the hook’s dependencies and running it a single time. Ideally there
106
+ // may be a way to refactor and obviate the disabled lint rule. If not,
107
+ // this comment should be replaced by one that explains the reasoning.
108
+ // eslint-disable-next-line react-hooks/exhaustive-deps
107
109
  }, [] );
108
110
 
109
- function onHuePickerChange( { hue: h } ) {
110
- setHue( h );
111
- }
112
-
113
- function onSatValPickerChange( { saturation: s, value: v } ) {
114
- setSaturation( s );
115
- setValue( v );
116
- }
117
-
118
111
  function onButtonPress( action ) {
119
112
  onNavigationBack();
120
113
  onHandleClosingBottomSheet( null );
@@ -129,16 +122,16 @@ function ColorPicker( {
129
122
  <>
130
123
  <HsvColorPicker
131
124
  huePickerHue={ hue }
132
- onHuePickerDragMove={ onHuePickerChange }
125
+ onHuePickerDragMove={ updateColor }
133
126
  onHuePickerPress={
134
- ! isBottomSheetContentScrolling && onHuePickerChange
127
+ ! isBottomSheetContentScrolling && updateColor
135
128
  }
136
129
  satValPickerHue={ hue }
137
130
  satValPickerSaturation={ sat }
138
131
  satValPickerValue={ val }
139
- onSatValPickerDragMove={ onSatValPickerChange }
132
+ onSatValPickerDragMove={ updateColor }
140
133
  onSatValPickerPress={
141
- ! isBottomSheetContentScrolling && onSatValPickerChange
134
+ ! isBottomSheetContentScrolling && updateColor
142
135
  }
143
136
  onSatValPickerDragStart={ () => {
144
137
  shouldEnableBottomSheetScroll( false );
@@ -52,6 +52,8 @@ export const InputWithSlider = ( {
52
52
  min={ min }
53
53
  max={ max }
54
54
  value={ value }
55
+ // @ts-expect-error
56
+ // See: https://github.com/WordPress/gutenberg/pull/40535#issuecomment-1172418185
55
57
  onChange={ onChange }
56
58
  withInputField={ false }
57
59
  />
@@ -19,7 +19,6 @@ import {
19
19
  Container as InputControlContainer,
20
20
  Input,
21
21
  } from '../input-control/styles/input-control-styles';
22
- import InputControl from '../input-control';
23
22
  import CONFIG from '../utils/config-values';
24
23
 
25
24
  export const NumberControlWrapper = styled( NumberControl )`
@@ -140,7 +139,3 @@ export const CopyButton = styled( Button )`
140
139
  }
141
140
  }
142
141
  `;
143
-
144
- export const ColorHexInputControl = styled( InputControl )`
145
- width: 8em;
146
- `;
@@ -16,7 +16,7 @@ import memoize from 'memize';
16
16
  /**
17
17
  * WordPress dependencies
18
18
  */
19
- import { useCallback, useMemo } from '@wordpress/element';
19
+ import { useCallback } from '@wordpress/element';
20
20
 
21
21
  /**
22
22
  * Internal dependencies
@@ -73,16 +73,14 @@ function isLegacyProps( props: any ): props is LegacyProps {
73
73
  );
74
74
  }
75
75
 
76
- function getColorFromLegacyProps( props: LegacyProps ): string | undefined {
77
- if ( typeof props?.color === 'undefined' ) {
78
- return undefined;
79
- }
80
- if ( typeof props.color === 'string' ) {
81
- return props.color;
82
- }
83
- if ( props.color.hex ) {
84
- return props.color.hex;
85
- }
76
+ function getColorFromLegacyProps(
77
+ color: LegacyProps[ 'color' ]
78
+ ): string | undefined {
79
+ if ( color === undefined ) return;
80
+
81
+ if ( typeof color === 'string' ) return color;
82
+
83
+ if ( color.hex ) return color.hex;
86
84
 
87
85
  return undefined;
88
86
  }
@@ -109,41 +107,24 @@ const transformColorStringToLegacyColor = memoize(
109
107
  export function useDeprecatedProps(
110
108
  props: LegacyProps | ColorPickerProps
111
109
  ): ColorPickerProps {
112
- const onChange = useCallback(
110
+ const { onChangeComplete } = props as LegacyProps;
111
+ const legacyChangeHandler = useCallback(
113
112
  ( color: string ) => {
114
- if ( isLegacyProps( props ) ) {
115
- return props.onChangeComplete(
116
- transformColorStringToLegacyColor( color )
117
- );
118
- }
119
-
120
- return props.onChange?.( color );
113
+ onChangeComplete( transformColorStringToLegacyColor( color ) );
121
114
  },
122
- [
123
- ( props as LegacyProps ).onChangeComplete,
124
- ( props as ColorPickerProps ).onChange,
125
- ]
115
+ [ onChangeComplete ]
126
116
  );
127
-
128
- const color = useMemo( () => {
129
- return isLegacyProps( props )
130
- ? getColorFromLegacyProps( props )
131
- : props.color;
132
- }, [ props.color ] );
133
-
134
- const enableAlpha = useMemo( () => {
135
- return isLegacyProps( props )
136
- ? ! props.disableAlpha
137
- : props.enableAlpha;
138
- }, [
139
- ( props as LegacyProps ).disableAlpha,
140
- ( props as ColorPickerProps ).enableAlpha,
141
- ] );
142
-
117
+ if ( isLegacyProps( props ) ) {
118
+ return {
119
+ color: getColorFromLegacyProps( props.color ),
120
+ enableAlpha: ! props.disableAlpha,
121
+ onChange: legacyChangeHandler,
122
+ };
123
+ }
143
124
  return {
144
- ...( isLegacyProps( props ) ? {} : props ),
145
- onChange,
146
- color,
147
- enableAlpha,
125
+ ...props,
126
+ color: props.color as ColorPickerProps[ 'color' ],
127
+ enableAlpha: ( props as ColorPickerProps ).enableAlpha,
128
+ onChange: ( props as ColorPickerProps ).onChange,
148
129
  };
149
130
  }
@@ -2,7 +2,8 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { deburr } from 'lodash';
5
+ import removeAccents from 'remove-accents';
6
+
6
7
  /**
7
8
  * WordPress dependencies
8
9
  */
@@ -22,11 +23,12 @@ import { closeSmall } from '@wordpress/icons';
22
23
  /**
23
24
  * Internal dependencies
24
25
  */
26
+ import { InputWrapperFlex } from './styles';
25
27
  import TokenInput from '../form-token-field/token-input';
26
28
  import SuggestionsList from '../form-token-field/suggestions-list';
27
29
  import BaseControl from '../base-control';
28
30
  import Button from '../button';
29
- import { Flex, FlexBlock, FlexItem } from '../flex';
31
+ import { FlexBlock, FlexItem } from '../flex';
30
32
  import withFocusOutside from '../higher-order/with-focus-outside';
31
33
 
32
34
  const noop = () => {};
@@ -44,6 +46,7 @@ const DetectOutside = withFocusOutside(
44
46
  );
45
47
 
46
48
  function ComboboxControl( {
49
+ __next36pxDefaultSize,
47
50
  value,
48
51
  label,
49
52
  options,
@@ -59,7 +62,10 @@ function ComboboxControl( {
59
62
  } ) {
60
63
  const currentOption = options.find( ( option ) => option.value === value );
61
64
  const currentLabel = currentOption?.label ?? '';
62
- const instanceId = useInstanceId( ComboboxControl );
65
+ // Use a custom prefix when generating the `instanceId` to avoid having
66
+ // duplicate input IDs when rendering this component and `FormTokenField`
67
+ // in the same page (see https://github.com/WordPress/gutenberg/issues/42112).
68
+ const instanceId = useInstanceId( ComboboxControl, 'combobox-control' );
63
69
  const [ selectedSuggestion, setSelectedSuggestion ] = useState(
64
70
  currentOption || null
65
71
  );
@@ -71,9 +77,9 @@ function ComboboxControl( {
71
77
  const matchingSuggestions = useMemo( () => {
72
78
  const startsWithMatch = [];
73
79
  const containsMatch = [];
74
- const match = deburr( inputValue.toLocaleLowerCase() );
80
+ const match = removeAccents( inputValue.toLocaleLowerCase() );
75
81
  options.forEach( ( option ) => {
76
- const index = deburr( option.label )
82
+ const index = removeAccents( option.label )
77
83
  .toLocaleLowerCase()
78
84
  .indexOf( match );
79
85
  if ( index === 0 ) {
@@ -225,7 +231,9 @@ function ComboboxControl( {
225
231
  tabIndex="-1"
226
232
  onKeyDown={ onKeyDown }
227
233
  >
228
- <Flex>
234
+ <InputWrapperFlex
235
+ __next36pxDefaultSize={ __next36pxDefaultSize }
236
+ >
229
237
  <FlexBlock>
230
238
  <TokenInput
231
239
  className="components-combobox-control__input"
@@ -257,7 +265,7 @@ function ComboboxControl( {
257
265
  />
258
266
  </FlexItem>
259
267
  ) }
260
- </Flex>
268
+ </InputWrapperFlex>
261
269
  { isExpanded && (
262
270
  <SuggestionsList
263
271
  instanceId={ instanceId }
@@ -266,17 +266,17 @@ const mapCountryOption = ( country ) => ( {
266
266
 
267
267
  const countryOptions = countries.map( mapCountryOption );
268
268
 
269
- function CountryCodeComboboxControl( { allowReset } ) {
269
+ function CountryCodeComboboxControl( args ) {
270
270
  const [ value, setValue ] = useState( null );
271
271
 
272
272
  return (
273
273
  <>
274
274
  <ComboboxControl
275
+ { ...args }
275
276
  value={ value }
276
277
  onChange={ setValue }
277
278
  label="Select a country"
278
279
  options={ countryOptions }
279
- allowReset={ allowReset }
280
280
  />
281
281
  <p>Value: { value }</p>
282
282
  </>
@@ -284,5 +284,6 @@ function CountryCodeComboboxControl( { allowReset } ) {
284
284
  }
285
285
  export const _default = CountryCodeComboboxControl.bind( {} );
286
286
  _default.args = {
287
+ __next36pxDefaultSize: false,
287
288
  allowReset: false,
288
289
  };
@@ -32,7 +32,7 @@ input.components-combobox-control__input[type="text"] {
32
32
  align-items: flex-start;
33
33
  width: 100%;
34
34
  margin: 0 0 $grid-unit-10 0;
35
- padding: $grid-unit-05;
35
+ padding: 0;
36
36
 
37
37
  &:focus-within {
38
38
  @include input-style__focus();
@@ -0,0 +1,27 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import styled from '@emotion/styled';
5
+ import { css } from '@emotion/react';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { Flex } from '../flex';
11
+ import { space } from '../ui/utils/space';
12
+
13
+ const deprecatedDefaultSize = ( { __next36pxDefaultSize } ) =>
14
+ ! __next36pxDefaultSize &&
15
+ css`
16
+ height: 28px; // 30px - 2px vertical borders on parent container
17
+ padding-left: ${ space( 1 ) };
18
+ padding-right: ${ space( 1 ) };
19
+ `;
20
+
21
+ export const InputWrapperFlex = styled( Flex )`
22
+ height: 34px; // 36px - 2px vertical borders on parent container
23
+ padding-left: ${ space( 2 ) };
24
+ padding-right: ${ space( 2 ) };
25
+
26
+ ${ deprecatedDefaultSize }
27
+ `;
@@ -3,7 +3,6 @@
3
3
  * External dependencies
4
4
  */
5
5
  import classnames from 'classnames';
6
- import { flatMap, isEmpty } from 'lodash';
7
6
 
8
7
  /**
9
8
  * WordPress dependencies
@@ -59,13 +58,13 @@ function DropdownMenu( dropdownMenuProps ) {
59
58
  noIcons,
60
59
  } = dropdownMenuProps;
61
60
 
62
- if ( isEmpty( controls ) && ! isFunction( children ) ) {
61
+ if ( ! controls?.length && ! isFunction( children ) ) {
63
62
  return null;
64
63
  }
65
64
 
66
65
  // Normalize controls to nested array of objects (sets of controls)
67
66
  let controlSets;
68
- if ( ! isEmpty( controls ) ) {
67
+ if ( controls?.length ) {
69
68
  controlSets = controls;
70
69
  if ( ! Array.isArray( controlSets[ 0 ] ) ) {
71
70
  controlSets = [ controlSets ];
@@ -146,7 +145,7 @@ function DropdownMenu( dropdownMenuProps ) {
146
145
  return (
147
146
  <NavigableMenu { ...mergedMenuProps } role="menu">
148
147
  { isFunction( children ) ? children( props ) : null }
149
- { flatMap( controlSets, ( controlSet, indexOfSet ) =>
148
+ { controlSets?.flatMap( ( controlSet, indexOfSet ) =>
150
149
  controlSet.map( ( control, indexOfControl ) => (
151
150
  <Button
152
151
  key={ [