@wordpress/components 20.0.1-next.d6164808d3.0 → 20.0.2-next.957ca95e4c.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 (434) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/CONTRIBUTING.md +12 -12
  3. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +12 -12
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  5. package/build/autocomplete/get-default-use-items.js +7 -1
  6. package/build/autocomplete/get-default-use-items.js.map +1 -1
  7. package/build/autocomplete/index.js +3 -1
  8. package/build/autocomplete/index.js.map +1 -1
  9. package/build/card/card/component.js +6 -11
  10. package/build/card/card/component.js.map +1 -1
  11. package/build/card/card/hook.js +0 -10
  12. package/build/card/card/hook.js.map +1 -1
  13. package/build/card/card/index.js.map +1 -1
  14. package/build/card/card-body/component.js +7 -8
  15. package/build/card/card-body/component.js.map +1 -1
  16. package/build/card/card-body/hook.js +0 -4
  17. package/build/card/card-body/hook.js.map +1 -1
  18. package/build/card/card-body/index.js.map +1 -1
  19. package/build/card/card-divider/component.js +7 -8
  20. package/build/card/card-divider/component.js.map +1 -1
  21. package/build/card/card-divider/hook.js +0 -4
  22. package/build/card/card-divider/hook.js.map +1 -1
  23. package/build/card/card-divider/index.js.map +1 -1
  24. package/build/card/card-footer/component.js +7 -8
  25. package/build/card/card-footer/component.js.map +1 -1
  26. package/build/card/card-footer/hook.js +0 -4
  27. package/build/card/card-footer/hook.js.map +1 -1
  28. package/build/card/card-footer/index.js.map +1 -1
  29. package/build/card/card-header/component.js +7 -8
  30. package/build/card/card-header/component.js.map +1 -1
  31. package/build/card/card-header/hook.js +0 -4
  32. package/build/card/card-header/hook.js.map +1 -1
  33. package/build/card/card-header/index.js.map +1 -1
  34. package/build/card/card-media/component.js +7 -7
  35. package/build/card/card-media/component.js.map +1 -1
  36. package/build/card/card-media/hook.js +0 -4
  37. package/build/card/card-media/hook.js.map +1 -1
  38. package/build/card/card-media/index.js.map +1 -1
  39. package/build/card/context.js.map +1 -1
  40. package/build/card/index.js.map +1 -1
  41. package/build/card/styles.js +17 -17
  42. package/build/card/styles.js.map +1 -1
  43. package/build/clipboard-button/index.js +16 -1
  44. package/build/clipboard-button/index.js.map +1 -1
  45. package/build/color-palette/index.js +6 -2
  46. package/build/color-palette/index.js.map +1 -1
  47. package/build/custom-gradient-picker/index.js +11 -0
  48. package/build/custom-gradient-picker/index.js.map +1 -1
  49. package/build/date-time/date/index.js +25 -6
  50. package/build/date-time/date/index.js.map +1 -1
  51. package/build/date-time/date/styles.js +22 -12
  52. package/build/date-time/date/styles.js.map +1 -1
  53. package/build/date-time/date-time/index.js +1 -3
  54. package/build/date-time/date-time/index.js.map +1 -1
  55. package/build/date-time/date-time/styles.js +19 -5
  56. package/build/date-time/date-time/styles.js.map +1 -1
  57. package/build/date-time/time/styles.js +12 -12
  58. package/build/date-time/time/styles.js.map +1 -1
  59. package/build/drop-zone/index.js +2 -4
  60. package/build/drop-zone/index.js.map +1 -1
  61. package/build/dropdown-menu/index.js +1 -3
  62. package/build/dropdown-menu/index.js.map +1 -1
  63. package/build/dropdown-menu/index.native.js +0 -17
  64. package/build/dropdown-menu/index.native.js.map +1 -1
  65. package/build/focal-point-picker/controls.js +4 -4
  66. package/build/focal-point-picker/controls.js.map +1 -1
  67. package/build/focal-point-picker/focal-point.js +4 -6
  68. package/build/focal-point-picker/focal-point.js.map +1 -1
  69. package/build/focal-point-picker/grid.js +6 -35
  70. package/build/focal-point-picker/grid.js.map +1 -1
  71. package/build/focal-point-picker/index.js +160 -330
  72. package/build/focal-point-picker/index.js.map +1 -1
  73. package/build/focal-point-picker/media.js +4 -34
  74. package/build/focal-point-picker/media.js.map +1 -1
  75. package/build/focal-point-picker/styles/focal-point-picker-style.js +14 -14
  76. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  77. package/build/focal-point-picker/utils.js +2 -6
  78. package/build/focal-point-picker/utils.js.map +1 -1
  79. package/build/focusable-iframe/index.js +6 -0
  80. package/build/focusable-iframe/index.js.map +1 -1
  81. package/build/form-token-field/index.js +18 -15
  82. package/build/form-token-field/index.js.map +1 -1
  83. package/build/gradient-picker/index.js +12 -1
  84. package/build/gradient-picker/index.js.map +1 -1
  85. package/build/guide/index.js +8 -6
  86. package/build/guide/index.js.map +1 -1
  87. package/build/higher-order/with-constrained-tabbing/index.js +1 -1
  88. package/build/higher-order/with-constrained-tabbing/index.js.map +1 -1
  89. package/build/higher-order/with-spoken-messages/index.js +2 -0
  90. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  91. package/build/isolated-event-container/index.js +4 -0
  92. package/build/isolated-event-container/index.js.map +1 -1
  93. package/build/mobile/global-styles-context/utils.native.js +1 -1
  94. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  95. package/build/navigable-container/menu.js +3 -9
  96. package/build/navigable-container/menu.js.map +1 -1
  97. package/build/navigation/menu/menu-title-search.js +1 -3
  98. package/build/navigation/menu/menu-title-search.js.map +1 -1
  99. package/build/palette-edit/index.js +6 -2
  100. package/build/palette-edit/index.js.map +1 -1
  101. package/build/popover/index.js +15 -35
  102. package/build/popover/index.js.map +1 -1
  103. package/build/text-highlight/index.js +4 -4
  104. package/build/text-highlight/index.js.map +1 -1
  105. package/build/toggle-group-control/toggle-group-control/component.js +1 -1
  106. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  107. package/build/toggle-group-control/toggle-group-control/styles.js +23 -8
  108. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  109. package/build/tooltip/index.js +1 -7
  110. package/build/tooltip/index.js.map +1 -1
  111. package/build/tree-grid/index.js +4 -10
  112. package/build/tree-grid/index.js.map +1 -1
  113. package/build/utils/strings.js +13 -0
  114. package/build/utils/strings.js.map +1 -1
  115. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +12 -12
  116. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  117. package/build-module/autocomplete/get-default-use-items.js +6 -1
  118. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  119. package/build-module/autocomplete/index.js +2 -1
  120. package/build-module/autocomplete/index.js.map +1 -1
  121. package/build-module/card/card/component.js +5 -10
  122. package/build-module/card/card/component.js.map +1 -1
  123. package/build-module/card/card/hook.js +0 -9
  124. package/build-module/card/card/hook.js.map +1 -1
  125. package/build-module/card/card/index.js.map +1 -1
  126. package/build-module/card/card-body/component.js +7 -8
  127. package/build-module/card/card-body/component.js.map +1 -1
  128. package/build-module/card/card-body/hook.js +0 -4
  129. package/build-module/card/card-body/hook.js.map +1 -1
  130. package/build-module/card/card-body/index.js.map +1 -1
  131. package/build-module/card/card-divider/component.js +7 -8
  132. package/build-module/card/card-divider/component.js.map +1 -1
  133. package/build-module/card/card-divider/hook.js +0 -4
  134. package/build-module/card/card-divider/hook.js.map +1 -1
  135. package/build-module/card/card-divider/index.js.map +1 -1
  136. package/build-module/card/card-footer/component.js +7 -8
  137. package/build-module/card/card-footer/component.js.map +1 -1
  138. package/build-module/card/card-footer/hook.js +0 -4
  139. package/build-module/card/card-footer/hook.js.map +1 -1
  140. package/build-module/card/card-footer/index.js.map +1 -1
  141. package/build-module/card/card-header/component.js +7 -8
  142. package/build-module/card/card-header/component.js.map +1 -1
  143. package/build-module/card/card-header/hook.js +0 -4
  144. package/build-module/card/card-header/hook.js.map +1 -1
  145. package/build-module/card/card-header/index.js.map +1 -1
  146. package/build-module/card/card-media/component.js +7 -7
  147. package/build-module/card/card-media/component.js.map +1 -1
  148. package/build-module/card/card-media/hook.js +0 -4
  149. package/build-module/card/card-media/hook.js.map +1 -1
  150. package/build-module/card/card-media/index.js.map +1 -1
  151. package/build-module/card/context.js.map +1 -1
  152. package/build-module/card/index.js.map +1 -1
  153. package/build-module/card/styles.js +17 -17
  154. package/build-module/card/styles.js.map +1 -1
  155. package/build-module/clipboard-button/index.js +17 -1
  156. package/build-module/clipboard-button/index.js.map +1 -1
  157. package/build-module/color-palette/index.js +5 -2
  158. package/build-module/color-palette/index.js.map +1 -1
  159. package/build-module/custom-gradient-picker/index.js +10 -0
  160. package/build-module/custom-gradient-picker/index.js.map +1 -1
  161. package/build-module/date-time/date/index.js +27 -8
  162. package/build-module/date-time/date/index.js.map +1 -1
  163. package/build-module/date-time/date/styles.js +21 -5
  164. package/build-module/date-time/date/styles.js.map +1 -1
  165. package/build-module/date-time/date-time/index.js +2 -3
  166. package/build-module/date-time/date-time/index.js.map +1 -1
  167. package/build-module/date-time/date-time/styles.js +20 -1
  168. package/build-module/date-time/date-time/styles.js.map +1 -1
  169. package/build-module/date-time/time/styles.js +12 -12
  170. package/build-module/date-time/time/styles.js.map +1 -1
  171. package/build-module/drop-zone/index.js +2 -3
  172. package/build-module/drop-zone/index.js.map +1 -1
  173. package/build-module/dropdown-menu/index.js +1 -2
  174. package/build-module/dropdown-menu/index.js.map +1 -1
  175. package/build-module/dropdown-menu/index.native.js +0 -16
  176. package/build-module/dropdown-menu/index.native.js.map +1 -1
  177. package/build-module/focal-point-picker/controls.js +4 -4
  178. package/build-module/focal-point-picker/controls.js.map +1 -1
  179. package/build-module/focal-point-picker/focal-point.js +4 -6
  180. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  181. package/build-module/focal-point-picker/grid.js +6 -34
  182. package/build-module/focal-point-picker/grid.js.map +1 -1
  183. package/build-module/focal-point-picker/index.js +158 -325
  184. package/build-module/focal-point-picker/index.js.map +1 -1
  185. package/build-module/focal-point-picker/media.js +4 -36
  186. package/build-module/focal-point-picker/media.js.map +1 -1
  187. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +13 -14
  188. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  189. package/build-module/focal-point-picker/utils.js +2 -6
  190. package/build-module/focal-point-picker/utils.js.map +1 -1
  191. package/build-module/focusable-iframe/index.js +6 -0
  192. package/build-module/focusable-iframe/index.js.map +1 -1
  193. package/build-module/form-token-field/index.js +18 -14
  194. package/build-module/form-token-field/index.js.map +1 -1
  195. package/build-module/gradient-picker/index.js +11 -1
  196. package/build-module/gradient-picker/index.js.map +1 -1
  197. package/build-module/guide/index.js +8 -5
  198. package/build-module/guide/index.js.map +1 -1
  199. package/build-module/higher-order/with-constrained-tabbing/index.js +1 -1
  200. package/build-module/higher-order/with-constrained-tabbing/index.js.map +1 -1
  201. package/build-module/higher-order/with-spoken-messages/index.js +2 -0
  202. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  203. package/build-module/isolated-event-container/index.js +3 -0
  204. package/build-module/isolated-event-container/index.js.map +1 -1
  205. package/build-module/mobile/global-styles-context/utils.native.js +2 -2
  206. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  207. package/build-module/navigable-container/menu.js +3 -8
  208. package/build-module/navigable-container/menu.js.map +1 -1
  209. package/build-module/navigation/menu/menu-title-search.js +1 -2
  210. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  211. package/build-module/palette-edit/index.js +6 -2
  212. package/build-module/palette-edit/index.js.map +1 -1
  213. package/build-module/popover/index.js +15 -35
  214. package/build-module/popover/index.js.map +1 -1
  215. package/build-module/text-highlight/index.js +2 -5
  216. package/build-module/text-highlight/index.js.map +1 -1
  217. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -1
  218. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  219. package/build-module/toggle-group-control/toggle-group-control/styles.js +20 -6
  220. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  221. package/build-module/tooltip/index.js +1 -6
  222. package/build-module/tooltip/index.js.map +1 -1
  223. package/build-module/tree-grid/index.js +4 -9
  224. package/build-module/tree-grid/index.js.map +1 -1
  225. package/build-module/utils/strings.js +11 -0
  226. package/build-module/utils/strings.js.map +1 -1
  227. package/build-style/style-rtl.css +2 -21
  228. package/build-style/style.css +2 -21
  229. package/build-types/animation/index.d.ts +2 -0
  230. package/build-types/animation/index.d.ts.map +1 -0
  231. package/build-types/card/card/component.d.ts +3 -3
  232. package/build-types/card/card/component.d.ts.map +1 -1
  233. package/build-types/card/card/hook.d.ts +7 -2
  234. package/build-types/card/card/hook.d.ts.map +1 -1
  235. package/build-types/card/card/index.d.ts +2 -2
  236. package/build-types/card/card/index.d.ts.map +1 -1
  237. package/build-types/card/card-body/component.d.ts +3 -3
  238. package/build-types/card/card-body/component.d.ts.map +1 -1
  239. package/build-types/card/card-body/hook.d.ts +5 -2
  240. package/build-types/card/card-body/hook.d.ts.map +1 -1
  241. package/build-types/card/card-body/index.d.ts +2 -2
  242. package/build-types/card/card-body/index.d.ts.map +1 -1
  243. package/build-types/card/card-divider/component.d.ts +3 -3
  244. package/build-types/card/card-divider/component.d.ts.map +1 -1
  245. package/build-types/card/card-divider/hook.d.ts +5 -2
  246. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  247. package/build-types/card/card-divider/index.d.ts +2 -2
  248. package/build-types/card/card-divider/index.d.ts.map +1 -1
  249. package/build-types/card/card-footer/component.d.ts +3 -3
  250. package/build-types/card/card-footer/component.d.ts.map +1 -1
  251. package/build-types/card/card-footer/hook.d.ts +5 -2
  252. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  253. package/build-types/card/card-footer/index.d.ts +2 -2
  254. package/build-types/card/card-footer/index.d.ts.map +1 -1
  255. package/build-types/card/card-header/component.d.ts +3 -3
  256. package/build-types/card/card-header/component.d.ts.map +1 -1
  257. package/build-types/card/card-header/hook.d.ts +5 -2
  258. package/build-types/card/card-header/hook.d.ts.map +1 -1
  259. package/build-types/card/card-header/index.d.ts +2 -2
  260. package/build-types/card/card-header/index.d.ts.map +1 -1
  261. package/build-types/card/card-media/component.d.ts +3 -4
  262. package/build-types/card/card-media/component.d.ts.map +1 -1
  263. package/build-types/card/card-media/hook.d.ts +6 -5
  264. package/build-types/card/card-media/hook.d.ts.map +1 -1
  265. package/build-types/card/card-media/index.d.ts +2 -2
  266. package/build-types/card/card-media/index.d.ts.map +1 -1
  267. package/build-types/card/context.d.ts +3 -2
  268. package/build-types/card/context.d.ts.map +1 -1
  269. package/build-types/card/index.d.ts +6 -6
  270. package/build-types/card/index.d.ts.map +1 -1
  271. package/build-types/card/stories/index.d.ts +12 -0
  272. package/build-types/card/stories/index.d.ts.map +1 -0
  273. package/build-types/card/styles.d.ts +20 -22
  274. package/build-types/card/styles.d.ts.map +1 -1
  275. package/build-types/card/test/index.d.ts +2 -0
  276. package/build-types/card/test/index.d.ts.map +1 -0
  277. package/build-types/card/types.d.ts +7 -1
  278. package/build-types/card/types.d.ts.map +1 -1
  279. package/build-types/clipboard-button/index.d.ts +16 -0
  280. package/build-types/clipboard-button/index.d.ts.map +1 -0
  281. package/build-types/color-palette/index.d.ts.map +1 -1
  282. package/build-types/composite/index.d.ts +2 -0
  283. package/build-types/composite/index.d.ts.map +1 -0
  284. package/build-types/date-time/date/index.d.ts +1 -1
  285. package/build-types/date-time/date/index.d.ts.map +1 -1
  286. package/build-types/date-time/date/styles.d.ts +4 -0
  287. package/build-types/date-time/date/styles.d.ts.map +1 -1
  288. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  289. package/build-types/date-time/date-time/styles.d.ts +13 -0
  290. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  291. package/build-types/date-time/time/styles.d.ts.map +1 -1
  292. package/build-types/disclosure/index.d.ts +2 -0
  293. package/build-types/disclosure/index.d.ts.map +1 -0
  294. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  295. package/build-types/focusable-iframe/index.d.ts +8 -0
  296. package/build-types/focusable-iframe/index.d.ts.map +1 -0
  297. package/build-types/form-token-field/index.d.ts.map +1 -1
  298. package/build-types/form-token-field/test/index.d.ts +2 -0
  299. package/build-types/form-token-field/test/index.d.ts.map +1 -0
  300. package/build-types/higher-order/with-constrained-tabbing/index.d.ts +3 -0
  301. package/build-types/higher-order/with-constrained-tabbing/index.d.ts.map +1 -0
  302. package/build-types/higher-order/with-spoken-messages/index.d.ts +4 -0
  303. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -0
  304. package/build-types/isolated-event-container/index.d.ts +3 -0
  305. package/build-types/isolated-event-container/index.d.ts.map +1 -0
  306. package/build-types/mobile/inserter-button/sparkles.d.ts +3 -0
  307. package/build-types/mobile/inserter-button/sparkles.d.ts.map +1 -0
  308. package/build-types/navigable-container/menu.d.ts.map +1 -1
  309. package/build-types/popover/index.d.ts +0 -1
  310. package/build-types/popover/index.d.ts.map +1 -1
  311. package/build-types/radio-context/index.d.ts +6 -0
  312. package/build-types/radio-context/index.d.ts.map +1 -0
  313. package/build-types/text-highlight/index.d.ts +0 -3
  314. package/build-types/text-highlight/index.d.ts.map +1 -1
  315. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  316. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +4 -0
  317. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  318. package/build-types/tooltip/index.d.ts.map +1 -1
  319. package/build-types/utils/strings.d.ts +8 -0
  320. package/build-types/utils/strings.d.ts.map +1 -1
  321. package/package.json +17 -17
  322. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -0
  323. package/src/autocomplete/get-default-use-items.js +6 -1
  324. package/src/autocomplete/index.js +2 -1
  325. package/src/card/card/{component.js → component.tsx} +13 -9
  326. package/src/card/card/{hook.js → hook.ts} +11 -11
  327. package/src/card/card/{index.js → index.ts} +0 -0
  328. package/src/card/card-body/{component.js → component.tsx} +13 -9
  329. package/src/card/card-body/{hook.js → hook.ts} +5 -5
  330. package/src/card/card-body/{index.js → index.ts} +0 -0
  331. package/src/card/card-divider/{component.js → component.tsx} +16 -10
  332. package/src/card/card-divider/{hook.js → hook.ts} +5 -5
  333. package/src/card/card-divider/{index.js → index.ts} +0 -0
  334. package/src/card/card-footer/{component.js → component.tsx} +13 -9
  335. package/src/card/card-footer/{hook.js → hook.ts} +5 -5
  336. package/src/card/card-footer/{index.js → index.ts} +0 -0
  337. package/src/card/card-header/{component.js → component.tsx} +13 -9
  338. package/src/card/card-header/{hook.js → hook.ts} +5 -5
  339. package/src/card/card-header/{index.js → index.ts} +0 -0
  340. package/src/card/card-media/{component.js → component.tsx} +13 -8
  341. package/src/card/card-media/{hook.js → hook.ts} +5 -5
  342. package/src/card/card-media/{index.js → index.ts} +0 -0
  343. package/src/card/{context.js → context.ts} +0 -0
  344. package/src/card/{index.js → index.ts} +0 -0
  345. package/src/card/stories/index.tsx +75 -0
  346. package/src/card/{styles.js → styles.ts} +0 -0
  347. package/src/card/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  348. package/src/card/test/{index.js → index.tsx} +3 -3
  349. package/src/card/types.ts +8 -1
  350. package/src/clipboard-button/index.js +13 -0
  351. package/src/color-palette/index.js +8 -5
  352. package/src/color-palette/style.scss +0 -14
  353. package/src/color-palette/test/__snapshots__/index.js.snap +11 -4
  354. package/src/custom-gradient-picker/index.js +12 -0
  355. package/src/custom-gradient-picker/stories/index.js +3 -0
  356. package/src/date-time/date/index.tsx +26 -6
  357. package/src/date-time/date/styles.ts +6 -0
  358. package/src/date-time/date/test/index.tsx +6 -2
  359. package/src/date-time/date-time/index.tsx +3 -4
  360. package/src/date-time/date-time/styles.ts +9 -0
  361. package/src/date-time/time/styles.ts +1 -0
  362. package/src/drop-zone/index.js +2 -3
  363. package/src/dropdown-menu/index.js +1 -2
  364. package/src/dropdown-menu/index.native.js +0 -13
  365. package/src/dropdown-menu/test/index.js +54 -58
  366. package/src/focal-point-picker/README.md +3 -6
  367. package/src/focal-point-picker/controls.js +4 -4
  368. package/src/focal-point-picker/focal-point.js +2 -8
  369. package/src/focal-point-picker/grid.js +5 -41
  370. package/src/focal-point-picker/index.js +161 -303
  371. package/src/focal-point-picker/media.js +4 -28
  372. package/src/focal-point-picker/styles/focal-point-picker-style.js +5 -8
  373. package/src/focal-point-picker/test/index.js +1 -1
  374. package/src/focal-point-picker/utils.js +2 -6
  375. package/src/focusable-iframe/index.js +5 -0
  376. package/src/form-token-field/index.tsx +17 -23
  377. package/src/form-token-field/test/index.tsx +2106 -0
  378. package/src/gradient-picker/README.md +9 -0
  379. package/src/gradient-picker/index.js +9 -0
  380. package/src/gradient-picker/stories/index.js +1 -0
  381. package/src/guide/index.js +6 -3
  382. package/src/guide/test/index.js +138 -1
  383. package/src/higher-order/with-constrained-tabbing/index.js +1 -1
  384. package/src/higher-order/with-spoken-messages/index.js +2 -0
  385. package/src/isolated-event-container/index.js +3 -0
  386. package/src/mobile/global-styles-context/utils.native.js +7 -2
  387. package/src/navigable-container/menu.js +3 -7
  388. package/src/navigation/menu/menu-title-search.js +1 -2
  389. package/src/palette-edit/index.js +14 -10
  390. package/src/palette-edit/style.scss +3 -11
  391. package/src/placeholder/style.scss +1 -4
  392. package/src/popover/index.js +17 -35
  393. package/src/popover/stories/index.js +0 -1
  394. package/src/text-highlight/index.tsx +1 -5
  395. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +62 -44
  396. package/src/toggle-group-control/toggle-group-control/component.tsx +3 -2
  397. package/src/toggle-group-control/toggle-group-control/styles.ts +5 -0
  398. package/src/tooltip/index.js +1 -5
  399. package/src/tree-grid/index.js +4 -9
  400. package/src/utils/strings.ts +11 -0
  401. package/tsconfig.json +45 -76
  402. package/tsconfig.tsbuildinfo +1 -1
  403. package/build/ui/__storybook-utils/example-grid.js +0 -88
  404. package/build/ui/__storybook-utils/example-grid.js.map +0 -1
  405. package/build/ui/__storybook-utils/index.js +0 -19
  406. package/build/ui/__storybook-utils/index.js.map +0 -1
  407. package/build/ui/__storybook-utils/page.js +0 -43
  408. package/build/ui/__storybook-utils/page.js.map +0 -1
  409. package/build/utils/keyboard.js +0 -41
  410. package/build/utils/keyboard.js.map +0 -1
  411. package/build-module/ui/__storybook-utils/example-grid.js +0 -69
  412. package/build-module/ui/__storybook-utils/example-grid.js.map +0 -1
  413. package/build-module/ui/__storybook-utils/index.js +0 -2
  414. package/build-module/ui/__storybook-utils/index.js.map +0 -1
  415. package/build-module/ui/__storybook-utils/page.js +0 -32
  416. package/build-module/ui/__storybook-utils/page.js.map +0 -1
  417. package/build-module/utils/keyboard.js +0 -33
  418. package/build-module/utils/keyboard.js.map +0 -1
  419. package/build-types/form-token-field/test/lib/fixtures.d.ts +0 -26
  420. package/build-types/form-token-field/test/lib/fixtures.d.ts.map +0 -1
  421. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +0 -21
  422. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +0 -1
  423. package/build-types/utils/keyboard.d.ts +0 -12
  424. package/build-types/utils/keyboard.d.ts.map +0 -1
  425. package/src/card/stories/index.js +0 -209
  426. package/src/form-token-field/test/index.js +0 -442
  427. package/src/form-token-field/test/lib/fixtures.js +0 -89
  428. package/src/form-token-field/test/lib/token-field-wrapper.tsx +0 -71
  429. package/src/guide/test/page-control.js +0 -40
  430. package/src/ui/__storybook-utils/example-grid.js +0 -61
  431. package/src/ui/__storybook-utils/index.js +0 -1
  432. package/src/ui/__storybook-utils/page.js +0 -29
  433. package/src/utils/keyboard.js +0 -28
  434. package/src/utils/test/keyboard.js +0 -34
@@ -17,6 +17,7 @@ const myGradientPicker = () => {
17
17
 
18
18
  return (
19
19
  <GradientPicker
20
+ __nextHasNoMargin
20
21
  value={ gradient }
21
22
  onChange={ ( currentGradient ) => setGradient( currentGradient ) }
22
23
  gradients={ [
@@ -92,3 +93,11 @@ If true, the gradient picker will not be displayed and only defined gradients fr
92
93
  - Type: `Boolean`
93
94
  - Required: No
94
95
  - Default: false
96
+
97
+ ### __nextHasNoMargin
98
+
99
+ Start opting into the new margin-free styles that will become the default in a future version, currently scheduled to be WordPress 6.4. (The prop can be safely removed once this happens.)
100
+
101
+ - Type: `Boolean`
102
+ - Required: No
103
+ - Default: `false`
@@ -8,6 +8,7 @@ import { map } from 'lodash';
8
8
  */
9
9
  import { __, sprintf } from '@wordpress/i18n';
10
10
  import { useCallback, useMemo } from '@wordpress/element';
11
+ import deprecated from '@wordpress/deprecated';
11
12
 
12
13
  /**
13
14
  * Internal dependencies
@@ -120,6 +121,14 @@ export default function GradientPicker( {
120
121
  ? MultipleOrigin
121
122
  : SingleOrigin;
122
123
 
124
+ if ( ! __nextHasNoMargin ) {
125
+ deprecated( 'Outer margin styles for wp.components.GradientPicker', {
126
+ since: '6.1',
127
+ version: '6.4',
128
+ hint: 'Set the `__nextHasNoMargin` prop to true to start opting into the new styles, which will become the default in a future version',
129
+ } );
130
+ }
131
+
123
132
  // Can be removed when deprecation period is over
124
133
  const deprecatedMarginSpacerProps = ! __nextHasNoMargin
125
134
  ? { marginTop: 3 }
@@ -74,6 +74,7 @@ const Template = ( { onChange, ...props } ) => {
74
74
 
75
75
  export const Default = Template.bind( {} );
76
76
  Default.args = {
77
+ __nextHasNoMargin: true,
77
78
  gradients: GRADIENTS,
78
79
  };
79
80
 
@@ -9,7 +9,6 @@ import classnames from 'classnames';
9
9
  import { useState, useEffect, Children, useRef } from '@wordpress/element';
10
10
  import deprecated from '@wordpress/deprecated';
11
11
  import { __ } from '@wordpress/i18n';
12
- import { LEFT, RIGHT } from '@wordpress/keycodes';
13
12
  import { focus } from '@wordpress/dom';
14
13
 
15
14
  /**
@@ -76,10 +75,14 @@ export default function Guide( {
76
75
  contentLabel={ contentLabel }
77
76
  onRequestClose={ onFinish }
78
77
  onKeyDown={ ( event ) => {
79
- if ( event.keyCode === LEFT ) {
78
+ if ( event.code === 'ArrowLeft' ) {
80
79
  goBack();
81
- } else if ( event.keyCode === RIGHT ) {
80
+ // Do not scroll the modal's contents.
81
+ event.preventDefault();
82
+ } else if ( event.code === 'ArrowRight' ) {
82
83
  goForward();
84
+ // Do not scroll the modal's contents.
85
+ event.preventDefault();
83
86
  }
84
87
  } }
85
88
  ref={ guideContainer }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { render, screen } from '@testing-library/react';
4
+ import { render, screen, within } from '@testing-library/react';
5
5
  import userEvent from '@testing-library/user-event';
6
6
 
7
7
  /**
@@ -118,4 +118,141 @@ describe( 'Guide', () => {
118
118
 
119
119
  expect( onFinish ).toHaveBeenCalled();
120
120
  } );
121
+
122
+ describe( 'page navigation', () => {
123
+ it( 'renders an empty list when there are no pages', () => {
124
+ render( <Guide pages={ [] } /> );
125
+ expect(
126
+ screen.queryByRole( 'list', {
127
+ name: 'Guide controls',
128
+ } )
129
+ ).not.toBeInTheDocument();
130
+ expect(
131
+ screen.queryByRole( 'button', {
132
+ name: /page \d of \d/i,
133
+ } )
134
+ ).not.toBeInTheDocument();
135
+ } );
136
+
137
+ it( 'renders a button for each page', () => {
138
+ render(
139
+ <Guide
140
+ pages={ [
141
+ { content: <p>Page 1</p> },
142
+ { content: <p>Page 2</p> },
143
+ { content: <p>Page 3</p> },
144
+ { content: <p>Page 4</p> },
145
+ ] }
146
+ />
147
+ );
148
+ const listContainer = screen.getByRole( 'list', {
149
+ name: 'Guide controls',
150
+ } );
151
+ expect(
152
+ within( listContainer ).getAllByRole( 'button', {
153
+ name: /page \d of \d/i,
154
+ } )
155
+ ).toHaveLength( 4 );
156
+ } );
157
+
158
+ it( 'sets the current page when a button is clicked', async () => {
159
+ const user = userEvent.setup( {
160
+ advanceTimers: jest.advanceTimersByTime,
161
+ } );
162
+
163
+ render(
164
+ <Guide
165
+ pages={ [
166
+ { content: <p>Page 1</p> },
167
+ { content: <p>Page 2</p> },
168
+ { content: <p>Page 3</p> },
169
+ ] }
170
+ />
171
+ );
172
+
173
+ expect( screen.getByText( 'Page 1' ) ).toBeVisible();
174
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
175
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
176
+
177
+ await user.click(
178
+ screen.getByRole( 'button', { name: 'Page 2 of 3' } )
179
+ );
180
+
181
+ expect( screen.getByText( 'Page 2' ) ).toBeVisible();
182
+ expect( screen.queryByText( 'Page 1' ) ).not.toBeInTheDocument();
183
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
184
+
185
+ await user.click(
186
+ screen.getByRole( 'button', { name: 'Page 3 of 3' } )
187
+ );
188
+
189
+ expect( screen.getByText( 'Page 3' ) ).toBeVisible();
190
+ expect( screen.queryByText( 'Page 1' ) ).not.toBeInTheDocument();
191
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
192
+
193
+ await user.click(
194
+ screen.getByRole( 'button', { name: 'Page 1 of 3' } )
195
+ );
196
+
197
+ expect( screen.getByText( 'Page 1' ) ).toBeVisible();
198
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
199
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
200
+ } );
201
+
202
+ it( 'allows navigating through the pages with the left and right arrows', async () => {
203
+ const user = userEvent.setup( {
204
+ advanceTimers: jest.advanceTimersByTime,
205
+ } );
206
+
207
+ render(
208
+ <Guide
209
+ pages={ [
210
+ { content: <p>Page 1</p> },
211
+ { content: <p>Page 2</p> },
212
+ { content: <p>Page 3</p> },
213
+ ] }
214
+ />
215
+ );
216
+
217
+ expect( screen.getByText( 'Page 1' ) ).toBeVisible();
218
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
219
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
220
+
221
+ await user.keyboard( '[ArrowLeft]' );
222
+
223
+ expect( screen.getByText( 'Page 1' ) ).toBeVisible();
224
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
225
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
226
+
227
+ await user.keyboard( '[ArrowRight]' );
228
+
229
+ expect( screen.getByText( 'Page 2' ) ).toBeVisible();
230
+ expect( screen.queryByText( 'Page 1' ) ).not.toBeInTheDocument();
231
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
232
+
233
+ await user.keyboard( '[ArrowRight]' );
234
+
235
+ expect( screen.getByText( 'Page 3' ) ).toBeVisible();
236
+ expect( screen.queryByText( 'Page 1' ) ).not.toBeInTheDocument();
237
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
238
+
239
+ await user.keyboard( '[ArrowRight]' );
240
+
241
+ expect( screen.getByText( 'Page 3' ) ).toBeVisible();
242
+ expect( screen.queryByText( 'Page 1' ) ).not.toBeInTheDocument();
243
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
244
+
245
+ await user.keyboard( '[ArrowLeft]' );
246
+
247
+ expect( screen.getByText( 'Page 2' ) ).toBeVisible();
248
+ expect( screen.queryByText( 'Page 1' ) ).not.toBeInTheDocument();
249
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
250
+
251
+ await user.keyboard( '[ArrowLeft]' );
252
+
253
+ expect( screen.getByText( 'Page 1' ) ).toBeVisible();
254
+ expect( screen.queryByText( 'Page 2' ) ).not.toBeInTheDocument();
255
+ expect( screen.queryByText( 'Page 3' ) ).not.toBeInTheDocument();
256
+ } );
257
+ } );
121
258
  } );
@@ -11,7 +11,7 @@ const withConstrainedTabbing = createHigherOrderComponent(
11
11
  function ComponentWithConstrainedTabbing( props ) {
12
12
  const ref = useConstrainedTabbing();
13
13
  return (
14
- <div ref={ ref } tabIndex="-1">
14
+ <div ref={ ref } tabIndex={ -1 }>
15
15
  <WrappedComponent { ...props } />
16
16
  </div>
17
17
  );
@@ -4,6 +4,8 @@
4
4
  import { createHigherOrderComponent, useDebounce } from '@wordpress/compose';
5
5
  import { speak } from '@wordpress/a11y';
6
6
 
7
+ /** @typedef {import('@wordpress/element').WPComponent} WPComponent */
8
+
7
9
  /**
8
10
  * A Higher Order Component used to be provide speak and debounced speak
9
11
  * functions.
@@ -4,6 +4,9 @@
4
4
  import { forwardRef } from '@wordpress/element';
5
5
  import deprecated from '@wordpress/deprecated';
6
6
 
7
+ /**
8
+ * @type {import('react').MouseEventHandler<HTMLDivElement>}
9
+ */
7
10
  function stopPropagation( event ) {
8
11
  event.stopPropagation();
9
12
  }
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { camelCase } from 'change-case';
5
- import { find, get, has } from 'lodash';
5
+ import { find, get } from 'lodash';
6
6
  import { Dimensions } from 'react-native';
7
7
 
8
8
  /**
@@ -224,7 +224,12 @@ export function parseStylesVariables( styles, mappedValues, customValues ) {
224
224
  const customValuesData = customValues ?? JSON.parse( stylesBase );
225
225
  stylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {
226
226
  const path = $2.split( '--' );
227
- if ( has( customValuesData, path ) ) {
227
+ if (
228
+ path.reduce(
229
+ ( prev, curr ) => prev && prev[ curr ],
230
+ customValuesData
231
+ )
232
+ ) {
228
233
  return get( customValuesData, path );
229
234
  }
230
235
 
@@ -1,8 +1,4 @@
1
1
  // @ts-nocheck
2
- /**
3
- * External dependencies
4
- */
5
- import { includes } from 'lodash';
6
2
 
7
3
  /**
8
4
  * WordPress dependencies
@@ -35,11 +31,11 @@ export function NavigableMenu(
35
31
  previous = [ LEFT, UP ];
36
32
  }
37
33
 
38
- if ( includes( next, keyCode ) ) {
34
+ if ( next.includes( keyCode ) ) {
39
35
  return 1;
40
- } else if ( includes( previous, keyCode ) ) {
36
+ } else if ( previous.includes( keyCode ) ) {
41
37
  return -1;
42
- } else if ( includes( [ DOWN, UP, LEFT, RIGHT ], keyCode ) ) {
38
+ } else if ( [ DOWN, UP, LEFT, RIGHT ].includes( keyCode ) ) {
43
39
  // Key press should be handled, e.g. have event propagation and
44
40
  // default behavior handled by NavigableContainer but not result
45
41
  // in an offset.
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import { useEffect, useRef } from '@wordpress/element';
5
5
  import { __, _n, sprintf } from '@wordpress/i18n';
6
- import { ESCAPE } from '@wordpress/keycodes';
7
6
 
8
7
  /**
9
8
  * Internal dependencies
@@ -61,7 +60,7 @@ function MenuTitleSearch( {
61
60
  };
62
61
 
63
62
  function onKeyDown( event ) {
64
- if ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {
63
+ if ( event.code === 'Escape' && ! event.defaultPrevented ) {
65
64
  event.preventDefault();
66
65
  onClose();
67
66
  }
@@ -173,16 +173,19 @@ function Option( {
173
173
  />
174
174
  ) }
175
175
  { isGradient && (
176
- <CustomGradientPicker
177
- __experimentalIsRenderedInSidebar
178
- value={ value }
179
- onChange={ ( newGradient ) =>
180
- onChange( {
181
- ...element,
182
- gradient: newGradient,
183
- } )
184
- }
185
- />
176
+ <div className="components-palette-edit__popover-gradient-picker">
177
+ <CustomGradientPicker
178
+ __nextHasNoMargin
179
+ __experimentalIsRenderedInSidebar
180
+ value={ value }
181
+ onChange={ ( newGradient ) =>
182
+ onChange( {
183
+ ...element,
184
+ gradient: newGradient,
185
+ } )
186
+ }
187
+ />
188
+ </div>
186
189
  ) }
187
190
  </Popover>
188
191
  ) }
@@ -451,6 +454,7 @@ export default function PaletteEdit( {
451
454
  { ! isEditing &&
452
455
  ( isGradient ? (
453
456
  <GradientPicker
457
+ __nextHasNoMargin
454
458
  gradients={ gradients }
455
459
  onChange={ () => {} }
456
460
  clearable={ false }
@@ -1,14 +1,6 @@
1
- .components-palette-edit__popover {
2
- .components-custom-gradient-picker__gradient-bar {
3
- margin-top: 0;
4
- }
5
- .components-custom-gradient-picker__ui-line {
6
- margin-bottom: 0;
7
- }
8
- .components-custom-gradient-picker {
9
- width: 280px;
10
- padding: 8px;
11
- }
1
+ .components-palette-edit__popover-gradient-picker {
2
+ width: 280px;
3
+ padding: 8px;
12
4
  }
13
5
  .components-dropdown-menu__menu {
14
6
  .components-palette-edit__menu-button {
@@ -177,9 +177,6 @@
177
177
  box-shadow: none;
178
178
  min-width: 100px;
179
179
 
180
- // Radius fallback value.
181
- border-radius: $radius-block-ui;
182
-
183
180
  // Blur the background so layered dashed placeholders are still visually separate.
184
181
  // We also provide a semitransparent background so as to allow duotones to sheen through.
185
182
  backdrop-filter: blur(100px);
@@ -213,7 +210,7 @@
213
210
  }
214
211
 
215
212
  // By painting the borders here, we enable them to be replaced by the Border control.
216
- border: $border-width dashed currentColor;
213
+ @include placeholder-style();
217
214
  overflow: hidden;
218
215
  }
219
216
 
@@ -143,7 +143,6 @@ const Popover = (
143
143
  expandOnMobile,
144
144
  onFocusOutside,
145
145
  __unstableSlotName = SLOT_NAME,
146
- __unstableObserveElement,
147
146
  __unstableForcePosition = false,
148
147
  __unstableShift = false,
149
148
  ...contentProps
@@ -374,59 +373,42 @@ const Popover = (
374
373
  return autoUpdate(
375
374
  resultingReferenceRef,
376
375
  refs.floating.current,
377
- update
376
+ update,
377
+ {
378
+ animationFrame: true,
379
+ }
378
380
  );
379
381
  // 'reference' and 'refs.floating' are refs and don't need to be listed
380
382
  // as dependencies (see https://github.com/WordPress/gutenberg/pull/41612)
381
383
  // eslint-disable-next-line react-hooks/exhaustive-deps
382
384
  }, [ anchorRef, anchorRect, getAnchorRect, update ] );
383
385
 
384
- // This is only needed for a smooth transition when moving blocks.
385
- useLayoutEffect( () => {
386
- if ( ! __unstableObserveElement ) {
387
- return;
388
- }
389
- const observer = new window.MutationObserver( update );
390
- observer.observe( __unstableObserveElement, { attributes: true } );
391
-
392
- return () => {
393
- observer.disconnect();
394
- };
395
- }, [ __unstableObserveElement, update ] );
396
-
397
386
  // If the reference element is in a different ownerDocument (e.g. iFrame),
398
387
  // we need to manually update the floating's position as the reference's owner
399
388
  // document scrolls. Also update the frame offset if the view resizes.
400
389
  useLayoutEffect( () => {
401
- if ( referenceOwnerDocument === document ) {
390
+ const referenceAndFloatingHaveSameDocument =
391
+ referenceOwnerDocument === document;
392
+ const hasFrameElement =
393
+ !! referenceOwnerDocument?.defaultView?.frameElement;
394
+
395
+ if ( referenceAndFloatingHaveSameDocument || ! hasFrameElement ) {
402
396
  frameOffsetRef.current = undefined;
403
397
  return;
404
398
  }
405
399
 
406
400
  const { defaultView } = referenceOwnerDocument;
407
401
 
408
- referenceOwnerDocument.addEventListener( 'scroll', update );
402
+ const updateFrameOffset = () => {
403
+ frameOffsetRef.current = getFrameOffset( referenceOwnerDocument );
404
+ update();
405
+ };
406
+ defaultView.addEventListener( 'resize', updateFrameOffset );
409
407
 
410
- let updateFrameOffset;
411
- const hasFrameElement =
412
- !! referenceOwnerDocument?.defaultView?.frameElement;
413
- if ( hasFrameElement ) {
414
- updateFrameOffset = () => {
415
- frameOffsetRef.current = getFrameOffset(
416
- referenceOwnerDocument
417
- );
418
- update();
419
- };
420
- updateFrameOffset();
421
- defaultView.addEventListener( 'resize', updateFrameOffset );
422
- }
408
+ updateFrameOffset();
423
409
 
424
410
  return () => {
425
- referenceOwnerDocument.removeEventListener( 'scroll', update );
426
-
427
- if ( updateFrameOffset ) {
428
- defaultView.removeEventListener( 'resize', updateFrameOffset );
429
- }
411
+ defaultView.removeEventListener( 'resize', updateFrameOffset );
430
412
  };
431
413
  }, [ referenceOwnerDocument, update ] );
432
414
 
@@ -73,7 +73,6 @@ export default {
73
73
  options: AVAILABLE_POSITIONS,
74
74
  },
75
75
  __unstableSlotName: { control: { type: null } },
76
- __unstableObserveElement: { control: { type: null } },
77
76
  __unstableForcePosition: { control: { type: 'boolean' } },
78
77
  __unstableShift: { control: { type: 'boolean' } },
79
78
  },
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { escapeRegExp } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -11,6 +6,7 @@ import { createInterpolateElement } from '@wordpress/element';
11
6
  /**
12
7
  * Internal dependencies
13
8
  */
9
+ import { escapeRegExp } from '../utils/strings';
14
10
  import type { TextHighlightProps } from './types';
15
11
 
16
12
  /**