@wordpress/components 23.5.0 → 23.6.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 (898) hide show
  1. package/CHANGELOG.md +40 -7
  2. package/build/animate/index.js +3 -1
  3. package/build/animate/index.js.map +1 -1
  4. package/build/animation/index.js.map +1 -1
  5. package/build/autocomplete/autocompleter-ui.js +5 -5
  6. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  7. package/build/autocomplete/get-default-use-items.js.map +1 -1
  8. package/build/autocomplete/index.js +25 -91
  9. package/build/autocomplete/index.js.map +1 -1
  10. package/build/autocomplete/types.js +6 -0
  11. package/build/autocomplete/types.js.map +1 -0
  12. package/build/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  13. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  14. package/build/custom-gradient-picker/gradient-bar/index.js +2 -0
  15. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  16. package/build/custom-gradient-picker/gradient-bar/utils.js +2 -0
  17. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  18. package/build/custom-gradient-picker/index.js +2 -0
  19. package/build/custom-gradient-picker/index.js.map +1 -1
  20. package/build/custom-gradient-picker/serializer.js +1 -0
  21. package/build/custom-gradient-picker/serializer.js.map +1 -1
  22. package/build/custom-gradient-picker/utils.js +2 -0
  23. package/build/custom-gradient-picker/utils.js.map +1 -1
  24. package/build/dimension-control/index.js +31 -5
  25. package/build/dimension-control/index.js.map +1 -1
  26. package/build/dimension-control/sizes.js +2 -4
  27. package/build/dimension-control/sizes.js.map +1 -1
  28. package/build/dimension-control/types.js +6 -0
  29. package/build/dimension-control/types.js.map +1 -0
  30. package/build/flex/flex/hook.js +3 -3
  31. package/build/flex/flex/hook.js.map +1 -1
  32. package/build/font-size-picker/index.js +2 -1
  33. package/build/font-size-picker/index.js.map +1 -1
  34. package/build/form-token-field/index.js +1 -1
  35. package/build/form-token-field/index.js.map +1 -1
  36. package/build/gradient-picker/index.js +2 -0
  37. package/build/gradient-picker/index.js.map +1 -1
  38. package/build/guide/icons.js.map +1 -1
  39. package/build/guide/index.js +46 -8
  40. package/build/guide/index.js.map +1 -1
  41. package/build/guide/page-control.js.map +1 -1
  42. package/build/guide/page.js.map +1 -1
  43. package/build/guide/types.js +6 -0
  44. package/build/guide/types.js.map +1 -0
  45. package/build/h-stack/utils.js +5 -5
  46. package/build/h-stack/utils.js.map +1 -1
  47. package/build/higher-order/navigate-regions/index.js +33 -3
  48. package/build/higher-order/navigate-regions/index.js.map +1 -1
  49. package/build/higher-order/with-fallback-styles/index.js +2 -2
  50. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  51. package/build/higher-order/with-filters/index.js +31 -7
  52. package/build/higher-order/with-filters/index.js.map +1 -1
  53. package/build/higher-order/with-focus-return/index.js +10 -10
  54. package/build/higher-order/with-focus-return/index.js.map +1 -1
  55. package/build/higher-order/with-notices/index.js +28 -25
  56. package/build/higher-order/with-notices/index.js.map +1 -1
  57. package/build/higher-order/with-notices/types.js +6 -0
  58. package/build/higher-order/with-notices/types.js.map +1 -0
  59. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  60. package/build/icon/index.js +1 -8
  61. package/build/icon/index.js.map +1 -1
  62. package/build/index.native.js +18 -9
  63. package/build/index.native.js.map +1 -1
  64. package/build/mobile/bottom-sheet/cell.native.js +1 -1
  65. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  66. package/build/mobile/bottom-sheet-text-control/index.native.js +4 -3
  67. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  68. package/build/navigation/back-button/index.js +6 -5
  69. package/build/navigation/back-button/index.js.map +1 -1
  70. package/build/navigation/constants.js.map +1 -1
  71. package/build/navigation/context.js +7 -4
  72. package/build/navigation/context.js.map +1 -1
  73. package/build/navigation/group/context.js.map +1 -1
  74. package/build/navigation/group/index.js +5 -1
  75. package/build/navigation/group/index.js.map +1 -1
  76. package/build/navigation/index.js +49 -3
  77. package/build/navigation/index.js.map +1 -1
  78. package/build/navigation/item/base-content.js +0 -1
  79. package/build/navigation/item/base-content.js.map +1 -1
  80. package/build/navigation/item/base.js.map +1 -1
  81. package/build/navigation/item/index.js +5 -1
  82. package/build/navigation/item/index.js.map +1 -1
  83. package/build/navigation/item/use-navigation-tree-item.js +1 -1
  84. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  85. package/build/navigation/menu/context.js.map +1 -1
  86. package/build/navigation/menu/index.js +5 -1
  87. package/build/navigation/menu/index.js.map +1 -1
  88. package/build/navigation/menu/menu-title-search.js +8 -6
  89. package/build/navigation/menu/menu-title-search.js.map +1 -1
  90. package/build/navigation/menu/menu-title.js +4 -2
  91. package/build/navigation/menu/menu-title.js.map +1 -1
  92. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  93. package/build/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  94. package/build/navigation/styles/navigation-styles.js +36 -36
  95. package/build/navigation/styles/navigation-styles.js.map +1 -1
  96. package/build/navigation/types.js +6 -0
  97. package/build/navigation/types.js.map +1 -0
  98. package/build/navigation/use-create-navigation-tree.js +7 -0
  99. package/build/navigation/use-create-navigation-tree.js.map +1 -1
  100. package/build/navigation/use-navigation-tree-nodes.js +3 -5
  101. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  102. package/build/navigation/utils.js.map +1 -1
  103. package/build/navigator/navigator-screen/component.js +5 -3
  104. package/build/navigator/navigator-screen/component.js.map +1 -1
  105. package/build/number-control/index.js +1 -3
  106. package/build/number-control/index.js.map +1 -1
  107. package/build/palette-edit/index.js +67 -27
  108. package/build/palette-edit/index.js.map +1 -1
  109. package/build/palette-edit/types.js +6 -0
  110. package/build/palette-edit/types.js.map +1 -0
  111. package/build/panel/body.js +15 -17
  112. package/build/panel/body.js.map +1 -1
  113. package/build/placeholder/index.js.map +1 -1
  114. package/build/query-controls/author-select.js +0 -4
  115. package/build/query-controls/author-select.js.map +1 -1
  116. package/build/query-controls/category-select.js +0 -4
  117. package/build/query-controls/category-select.js.map +1 -1
  118. package/build/query-controls/terms.js +30 -15
  119. package/build/query-controls/terms.js.map +1 -1
  120. package/build/range-control/index.js.map +1 -1
  121. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  122. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  123. package/build/responsive-wrapper/index.js +12 -13
  124. package/build/responsive-wrapper/index.js.map +1 -1
  125. package/build/select-control/index.js +19 -16
  126. package/build/select-control/index.js.map +1 -1
  127. package/build/toolbar/toolbar-button/index.js +32 -10
  128. package/build/toolbar/toolbar-button/index.js.map +1 -1
  129. package/build/toolbar/toolbar-button/toolbar-button-container.js +12 -4
  130. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  131. package/build/toolbar/toolbar-button/types.js +6 -0
  132. package/build/toolbar/toolbar-button/types.js.map +1 -0
  133. package/build/toolbar/toolbar-context/index.js +4 -2
  134. package/build/toolbar/toolbar-context/index.js.map +1 -1
  135. package/build/tooltip/index.js +18 -6
  136. package/build/tooltip/index.js.map +1 -1
  137. package/build/tree-select/index.js.map +1 -1
  138. package/build/ui/context/get-styled-class-name-from-key.js +2 -2
  139. package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
  140. package/build/utils/font.js +3 -7
  141. package/build/utils/font.js.map +1 -1
  142. package/build/v-stack/hook.js +2 -0
  143. package/build/v-stack/hook.js.map +1 -1
  144. package/build-module/animate/index.js +3 -1
  145. package/build-module/animate/index.js.map +1 -1
  146. package/build-module/animation/index.js.map +1 -1
  147. package/build-module/autocomplete/autocompleter-ui.js +6 -6
  148. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  149. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  150. package/build-module/autocomplete/index.js +28 -94
  151. package/build-module/autocomplete/index.js.map +1 -1
  152. package/build-module/autocomplete/types.js +2 -0
  153. package/build-module/autocomplete/types.js.map +1 -0
  154. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +1 -0
  155. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  156. package/build-module/custom-gradient-picker/gradient-bar/index.js +1 -0
  157. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  158. package/build-module/custom-gradient-picker/gradient-bar/utils.js +2 -0
  159. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  160. package/build-module/custom-gradient-picker/index.js +1 -0
  161. package/build-module/custom-gradient-picker/index.js.map +1 -1
  162. package/build-module/custom-gradient-picker/serializer.js +1 -0
  163. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  164. package/build-module/custom-gradient-picker/utils.js +2 -0
  165. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  166. package/build-module/dimension-control/index.js +28 -3
  167. package/build-module/dimension-control/index.js.map +1 -1
  168. package/build-module/dimension-control/sizes.js +6 -5
  169. package/build-module/dimension-control/sizes.js.map +1 -1
  170. package/build-module/dimension-control/types.js +2 -0
  171. package/build-module/dimension-control/types.js.map +1 -0
  172. package/build-module/flex/flex/hook.js +3 -3
  173. package/build-module/flex/flex/hook.js.map +1 -1
  174. package/build-module/font-size-picker/index.js +2 -1
  175. package/build-module/font-size-picker/index.js.map +1 -1
  176. package/build-module/form-token-field/index.js +1 -1
  177. package/build-module/form-token-field/index.js.map +1 -1
  178. package/build-module/gradient-picker/index.js +1 -0
  179. package/build-module/gradient-picker/index.js.map +1 -1
  180. package/build-module/guide/icons.js.map +1 -1
  181. package/build-module/guide/index.js +45 -8
  182. package/build-module/guide/index.js.map +1 -1
  183. package/build-module/guide/page-control.js.map +1 -1
  184. package/build-module/guide/page.js +4 -0
  185. package/build-module/guide/page.js.map +1 -1
  186. package/build-module/guide/types.js +2 -0
  187. package/build-module/guide/types.js.map +1 -0
  188. package/build-module/h-stack/utils.js +5 -5
  189. package/build-module/h-stack/utils.js.map +1 -1
  190. package/build-module/higher-order/navigate-regions/index.js +33 -3
  191. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  192. package/build-module/higher-order/with-fallback-styles/index.js +2 -2
  193. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  194. package/build-module/higher-order/with-filters/index.js +31 -7
  195. package/build-module/higher-order/with-filters/index.js.map +1 -1
  196. package/build-module/higher-order/with-focus-return/index.js +10 -10
  197. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  198. package/build-module/higher-order/with-notices/index.js +29 -26
  199. package/build-module/higher-order/with-notices/index.js.map +1 -1
  200. package/build-module/higher-order/with-notices/types.js +2 -0
  201. package/build-module/higher-order/with-notices/types.js.map +1 -0
  202. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  203. package/build-module/icon/index.js +2 -9
  204. package/build-module/icon/index.js.map +1 -1
  205. package/build-module/index.native.js +1 -0
  206. package/build-module/index.native.js.map +1 -1
  207. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  208. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  209. package/build-module/mobile/bottom-sheet-text-control/index.native.js +4 -3
  210. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  211. package/build-module/navigation/back-button/index.js +4 -3
  212. package/build-module/navigation/back-button/index.js.map +1 -1
  213. package/build-module/navigation/constants.js.map +1 -1
  214. package/build-module/navigation/context.js +7 -4
  215. package/build-module/navigation/context.js.map +1 -1
  216. package/build-module/navigation/group/context.js +4 -0
  217. package/build-module/navigation/group/context.js.map +1 -1
  218. package/build-module/navigation/group/index.js +2 -1
  219. package/build-module/navigation/group/index.js.map +1 -1
  220. package/build-module/navigation/index.js +46 -3
  221. package/build-module/navigation/index.js.map +1 -1
  222. package/build-module/navigation/item/base-content.js +0 -1
  223. package/build-module/navigation/item/base-content.js.map +1 -1
  224. package/build-module/navigation/item/base.js.map +1 -1
  225. package/build-module/navigation/item/index.js +2 -1
  226. package/build-module/navigation/item/index.js.map +1 -1
  227. package/build-module/navigation/item/use-navigation-tree-item.js +1 -1
  228. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  229. package/build-module/navigation/menu/context.js +4 -0
  230. package/build-module/navigation/menu/context.js.map +1 -1
  231. package/build-module/navigation/menu/index.js +2 -1
  232. package/build-module/navigation/menu/index.js.map +1 -1
  233. package/build-module/navigation/menu/menu-title-search.js +8 -6
  234. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  235. package/build-module/navigation/menu/menu-title.js +4 -2
  236. package/build-module/navigation/menu/menu-title.js.map +1 -1
  237. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  238. package/build-module/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  239. package/build-module/navigation/styles/navigation-styles.js +36 -36
  240. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  241. package/build-module/navigation/types.js +2 -0
  242. package/build-module/navigation/types.js.map +1 -0
  243. package/build-module/navigation/use-create-navigation-tree.js +7 -0
  244. package/build-module/navigation/use-create-navigation-tree.js.map +1 -1
  245. package/build-module/navigation/use-navigation-tree-nodes.js +2 -2
  246. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  247. package/build-module/navigation/utils.js.map +1 -1
  248. package/build-module/navigator/navigator-screen/component.js +5 -3
  249. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  250. package/build-module/number-control/index.js +1 -3
  251. package/build-module/number-control/index.js.map +1 -1
  252. package/build-module/palette-edit/index.js +65 -27
  253. package/build-module/palette-edit/index.js.map +1 -1
  254. package/build-module/palette-edit/types.js +2 -0
  255. package/build-module/palette-edit/types.js.map +1 -0
  256. package/build-module/panel/body.js +12 -12
  257. package/build-module/panel/body.js.map +1 -1
  258. package/build-module/placeholder/index.js.map +1 -1
  259. package/build-module/query-controls/author-select.js +0 -4
  260. package/build-module/query-controls/author-select.js.map +1 -1
  261. package/build-module/query-controls/category-select.js +1 -5
  262. package/build-module/query-controls/category-select.js.map +1 -1
  263. package/build-module/query-controls/terms.js +29 -16
  264. package/build-module/query-controls/terms.js.map +1 -1
  265. package/build-module/range-control/index.js.map +1 -1
  266. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  267. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  268. package/build-module/responsive-wrapper/index.js +12 -12
  269. package/build-module/responsive-wrapper/index.js.map +1 -1
  270. package/build-module/select-control/index.js +20 -17
  271. package/build-module/select-control/index.js.map +1 -1
  272. package/build-module/toolbar/toolbar-button/index.js +32 -9
  273. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  274. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +12 -4
  275. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  276. package/build-module/toolbar/toolbar-button/types.js +2 -0
  277. package/build-module/toolbar/toolbar-button/types.js.map +1 -0
  278. package/build-module/toolbar/toolbar-context/index.js +4 -2
  279. package/build-module/toolbar/toolbar-context/index.js.map +1 -1
  280. package/build-module/tooltip/index.js +16 -6
  281. package/build-module/tooltip/index.js.map +1 -1
  282. package/build-module/tree-select/index.js.map +1 -1
  283. package/build-module/ui/context/get-styled-class-name-from-key.js +1 -1
  284. package/build-module/ui/context/get-styled-class-name-from-key.js.map +1 -1
  285. package/build-module/utils/font.js +3 -6
  286. package/build-module/utils/font.js.map +1 -1
  287. package/build-module/v-stack/hook.js +2 -0
  288. package/build-module/v-stack/hook.js.map +1 -1
  289. package/build-style/style-rtl.css +14 -11
  290. package/build-style/style.css +14 -11
  291. package/build-types/alignment-matrix-control/types.d.ts +4 -4
  292. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  293. package/build-types/angle-picker-control/types.d.ts +2 -2
  294. package/build-types/angle-picker-control/types.d.ts.map +1 -1
  295. package/build-types/animate/index.d.ts +2 -2
  296. package/build-types/animate/index.d.ts.map +1 -1
  297. package/build-types/animation/index.d.ts +8 -1
  298. package/build-types/animation/index.d.ts.map +1 -1
  299. package/build-types/autocomplete/autocompleter-ui.d.ts +4 -0
  300. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -0
  301. package/build-types/autocomplete/get-default-use-items.d.ts +3 -0
  302. package/build-types/autocomplete/get-default-use-items.d.ts.map +1 -0
  303. package/build-types/autocomplete/index.d.ts +23 -0
  304. package/build-types/autocomplete/index.d.ts.map +1 -0
  305. package/build-types/autocomplete/test/index.d.ts +2 -0
  306. package/build-types/autocomplete/test/index.d.ts.map +1 -0
  307. package/build-types/autocomplete/types.d.ts +201 -0
  308. package/build-types/autocomplete/types.d.ts.map +1 -0
  309. package/build-types/base-control/types.d.ts +2 -2
  310. package/build-types/base-control/types.d.ts.map +1 -1
  311. package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
  312. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  313. package/build-types/border-box-control/styles.d.ts +3 -3
  314. package/build-types/border-box-control/styles.d.ts.map +1 -1
  315. package/build-types/border-box-control/types.d.ts +8 -8
  316. package/build-types/border-box-control/types.d.ts.map +1 -1
  317. package/build-types/border-box-control/utils.d.ts +5 -5
  318. package/build-types/border-box-control/utils.d.ts.map +1 -1
  319. package/build-types/border-control/border-control/hook.d.ts +3 -3
  320. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  321. package/build-types/border-control/border-control-dropdown/hook.d.ts +2 -2
  322. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  323. package/build-types/border-control/styles.d.ts +4 -4
  324. package/build-types/border-control/styles.d.ts.map +1 -1
  325. package/build-types/border-control/types.d.ts +6 -6
  326. package/build-types/border-control/types.d.ts.map +1 -1
  327. package/build-types/box-control/types.d.ts +6 -6
  328. package/build-types/box-control/types.d.ts.map +1 -1
  329. package/build-types/button/deprecated.d.ts +6 -6
  330. package/build-types/button/types.d.ts +10 -10
  331. package/build-types/button/types.d.ts.map +1 -1
  332. package/build-types/button-group/types.d.ts +1 -1
  333. package/build-types/button-group/types.d.ts.map +1 -1
  334. package/build-types/card/card/hook.d.ts +1 -1
  335. package/build-types/card/card/hook.d.ts.map +1 -1
  336. package/build-types/card/types.d.ts +10 -10
  337. package/build-types/card/types.d.ts.map +1 -1
  338. package/build-types/checkbox-control/types.d.ts +1 -1
  339. package/build-types/checkbox-control/types.d.ts.map +1 -1
  340. package/build-types/circular-option-picker/types.d.ts +4 -4
  341. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  342. package/build-types/color-indicator/types.d.ts +1 -1
  343. package/build-types/color-indicator/types.d.ts.map +1 -1
  344. package/build-types/color-list-picker/types.d.ts +2 -2
  345. package/build-types/color-list-picker/types.d.ts.map +1 -1
  346. package/build-types/color-palette/types.d.ts +7 -7
  347. package/build-types/color-palette/types.d.ts.map +1 -1
  348. package/build-types/color-palette/utils.d.ts +1 -1
  349. package/build-types/color-palette/utils.d.ts.map +1 -1
  350. package/build-types/color-picker/legacy-adapter.d.ts +1 -1
  351. package/build-types/color-picker/legacy-adapter.d.ts.map +1 -1
  352. package/build-types/color-picker/styles.d.ts +3 -3
  353. package/build-types/color-picker/types.d.ts +2 -2
  354. package/build-types/color-picker/types.d.ts.map +1 -1
  355. package/build-types/color-picker/use-deprecated-props.d.ts +2 -2
  356. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  357. package/build-types/combobox-control/types.d.ts +2 -2
  358. package/build-types/combobox-control/types.d.ts.map +1 -1
  359. package/build-types/confirm-dialog/component.d.ts +4 -4
  360. package/build-types/confirm-dialog/types.d.ts +5 -5
  361. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  362. package/build-types/custom-gradient-picker/constants.d.ts +25 -0
  363. package/build-types/custom-gradient-picker/constants.d.ts.map +1 -0
  364. package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts +8 -0
  365. package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts.map +1 -0
  366. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +25 -0
  367. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -0
  368. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +10 -0
  369. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -0
  370. package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts +138 -0
  371. package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts.map +1 -0
  372. package/build-types/custom-gradient-picker/index.d.ts +7 -0
  373. package/build-types/custom-gradient-picker/index.d.ts.map +1 -0
  374. package/build-types/custom-gradient-picker/serializer.d.ts +17 -0
  375. package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -0
  376. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +11 -0
  377. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts.map +1 -0
  378. package/build-types/custom-gradient-picker/utils.d.ts +5 -0
  379. package/build-types/custom-gradient-picker/utils.d.ts.map +1 -0
  380. package/build-types/custom-select-control/styles.d.ts +1 -1
  381. package/build-types/custom-select-control/styles.d.ts.map +1 -1
  382. package/build-types/dashicon/types.d.ts +2 -2
  383. package/build-types/dashicon/types.d.ts.map +1 -1
  384. package/build-types/date-time/date-time/styles.d.ts +1 -4
  385. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  386. package/build-types/date-time/time/styles.d.ts +1 -1
  387. package/build-types/date-time/types.d.ts +4 -4
  388. package/build-types/date-time/types.d.ts.map +1 -1
  389. package/build-types/dimension-control/index.d.ts +28 -0
  390. package/build-types/dimension-control/index.d.ts.map +1 -0
  391. package/build-types/dimension-control/sizes.d.ts +26 -0
  392. package/build-types/dimension-control/sizes.d.ts.map +1 -0
  393. package/build-types/dimension-control/stories/index.d.ts +12 -0
  394. package/build-types/dimension-control/stories/index.d.ts.map +1 -0
  395. package/build-types/dimension-control/types.d.ts +47 -0
  396. package/build-types/dimension-control/types.d.ts.map +1 -0
  397. package/build-types/divider/types.d.ts +1 -1
  398. package/build-types/divider/types.d.ts.map +1 -1
  399. package/build-types/draggable/types.d.ts +1 -1
  400. package/build-types/draggable/types.d.ts.map +1 -1
  401. package/build-types/drop-zone/types.d.ts +2 -2
  402. package/build-types/drop-zone/types.d.ts.map +1 -1
  403. package/build-types/dropdown/types.d.ts +3 -3
  404. package/build-types/dropdown/types.d.ts.map +1 -1
  405. package/build-types/elevation/types.d.ts +1 -1
  406. package/build-types/elevation/types.d.ts.map +1 -1
  407. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  408. package/build-types/external-link/types.d.ts +1 -1
  409. package/build-types/external-link/types.d.ts.map +1 -1
  410. package/build-types/flex/types.d.ts +4 -4
  411. package/build-types/flex/types.d.ts.map +1 -1
  412. package/build-types/focal-point-picker/types.d.ts +7 -7
  413. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  414. package/build-types/font-size-picker/index.d.ts.map +1 -1
  415. package/build-types/font-size-picker/stories/index.d.ts.map +1 -1
  416. package/build-types/font-size-picker/types.d.ts +9 -5
  417. package/build-types/font-size-picker/types.d.ts.map +1 -1
  418. package/build-types/form-file-upload/types.d.ts +1 -1
  419. package/build-types/form-file-upload/types.d.ts.map +1 -1
  420. package/build-types/form-toggle/types.d.ts +1 -1
  421. package/build-types/form-toggle/types.d.ts.map +1 -1
  422. package/build-types/form-token-field/index.d.ts.map +1 -1
  423. package/build-types/form-token-field/stories/index.d.ts +6 -0
  424. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  425. package/build-types/form-token-field/styles.d.ts +1 -1
  426. package/build-types/form-token-field/styles.d.ts.map +1 -1
  427. package/build-types/form-token-field/types.d.ts +1 -1
  428. package/build-types/form-token-field/types.d.ts.map +1 -1
  429. package/build-types/gradient-picker/index.d.ts +12 -0
  430. package/build-types/gradient-picker/index.d.ts.map +1 -0
  431. package/build-types/grid/types.d.ts +2 -2
  432. package/build-types/grid/types.d.ts.map +1 -1
  433. package/build-types/guide/icons.d.ts +5 -0
  434. package/build-types/guide/icons.d.ts.map +1 -0
  435. package/build-types/guide/index.d.ts +37 -0
  436. package/build-types/guide/index.d.ts.map +1 -0
  437. package/build-types/guide/page-control.d.ts +4 -0
  438. package/build-types/guide/page-control.d.ts.map +1 -0
  439. package/build-types/guide/page.d.ts +7 -0
  440. package/build-types/guide/page.d.ts.map +1 -0
  441. package/build-types/guide/stories/index.d.ts +9 -0
  442. package/build-types/guide/stories/index.d.ts.map +1 -0
  443. package/build-types/guide/test/index.d.ts +2 -0
  444. package/build-types/guide/test/index.d.ts.map +1 -0
  445. package/build-types/guide/types.d.ts +65 -0
  446. package/build-types/guide/types.d.ts.map +1 -0
  447. package/build-types/h-stack/types.d.ts +6 -6
  448. package/build-types/h-stack/types.d.ts.map +1 -1
  449. package/build-types/heading/hook.d.ts +1 -1
  450. package/build-types/heading/types.d.ts +2 -2
  451. package/build-types/heading/types.d.ts.map +1 -1
  452. package/build-types/higher-order/navigate-regions/index.d.ts +46 -0
  453. package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -0
  454. package/build-types/higher-order/with-fallback-styles/index.d.ts +44 -0
  455. package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -0
  456. package/build-types/higher-order/with-filters/index.d.ts +89 -0
  457. package/build-types/higher-order/with-filters/index.d.ts.map +1 -0
  458. package/build-types/higher-order/with-filters/test/index.d.ts +2 -0
  459. package/build-types/higher-order/with-filters/test/index.d.ts.map +1 -0
  460. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
  461. package/build-types/higher-order/with-focus-return/index.d.ts +20 -0
  462. package/build-types/higher-order/with-focus-return/index.d.ts.map +1 -0
  463. package/build-types/higher-order/with-focus-return/test/index.d.ts +2 -0
  464. package/build-types/higher-order/with-focus-return/test/index.d.ts.map +1 -0
  465. package/build-types/higher-order/with-notices/index.d.ts +37 -0
  466. package/build-types/higher-order/with-notices/index.d.ts.map +1 -0
  467. package/build-types/higher-order/with-notices/test/index.d.ts +2 -0
  468. package/build-types/higher-order/with-notices/test/index.d.ts.map +1 -0
  469. package/build-types/higher-order/with-notices/types.d.ts +34 -0
  470. package/build-types/higher-order/with-notices/types.d.ts.map +1 -0
  471. package/build-types/higher-order/with-spoken-messages/index.d.ts +13 -2
  472. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
  473. package/build-types/higher-order/with-spoken-messages/test/index.d.ts +2 -0
  474. package/build-types/higher-order/with-spoken-messages/test/index.d.ts.map +1 -0
  475. package/build-types/icon/index.d.ts +10 -6
  476. package/build-types/icon/index.d.ts.map +1 -1
  477. package/build-types/icon/test/index.d.ts +2 -0
  478. package/build-types/icon/test/index.d.ts.map +1 -0
  479. package/build-types/input-control/reducer/actions.d.ts +15 -15
  480. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  481. package/build-types/input-control/reducer/state.d.ts +1 -1
  482. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  483. package/build-types/input-control/styles/input-control-styles.d.ts +4 -4
  484. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  485. package/build-types/input-control/types.d.ts +7 -7
  486. package/build-types/input-control/types.d.ts.map +1 -1
  487. package/build-types/item-group/item/hook.d.ts +1 -1
  488. package/build-types/item-group/types.d.ts +2 -2
  489. package/build-types/item-group/types.d.ts.map +1 -1
  490. package/build-types/keyboard-shortcuts/types.d.ts +3 -3
  491. package/build-types/keyboard-shortcuts/types.d.ts.map +1 -1
  492. package/build-types/menu-group/types.d.ts +1 -1
  493. package/build-types/menu-group/types.d.ts.map +1 -1
  494. package/build-types/menu-item/index.d.ts +1 -1
  495. package/build-types/menu-items-choice/types.d.ts +2 -2
  496. package/build-types/menu-items-choice/types.d.ts.map +1 -1
  497. package/build-types/modal/types.d.ts +1 -1
  498. package/build-types/modal/types.d.ts.map +1 -1
  499. package/build-types/navigable-container/container.d.ts +1 -1
  500. package/build-types/navigable-container/menu.d.ts +1 -1
  501. package/build-types/navigable-container/tabbable.d.ts +1 -1
  502. package/build-types/navigation/back-button/index.d.ts +5 -0
  503. package/build-types/navigation/back-button/index.d.ts.map +1 -0
  504. package/build-types/navigation/constants.d.ts +3 -0
  505. package/build-types/navigation/constants.d.ts.map +1 -0
  506. package/build-types/navigation/context.d.ts +5 -0
  507. package/build-types/navigation/context.d.ts.map +1 -0
  508. package/build-types/navigation/group/context.d.ts +8 -0
  509. package/build-types/navigation/group/context.d.ts.map +1 -0
  510. package/build-types/navigation/group/index.d.ts +5 -0
  511. package/build-types/navigation/group/index.d.ts.map +1 -0
  512. package/build-types/navigation/index.d.ts +46 -0
  513. package/build-types/navigation/index.d.ts.map +1 -0
  514. package/build-types/navigation/item/base-content.d.ts +4 -0
  515. package/build-types/navigation/item/base-content.d.ts.map +1 -0
  516. package/build-types/navigation/item/base.d.ts +4 -0
  517. package/build-types/navigation/item/base.d.ts.map +1 -0
  518. package/build-types/navigation/item/index.d.ts +5 -0
  519. package/build-types/navigation/item/index.d.ts.map +1 -0
  520. package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
  521. package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
  522. package/build-types/navigation/menu/context.d.ts +8 -0
  523. package/build-types/navigation/menu/context.d.ts.map +1 -0
  524. package/build-types/navigation/menu/index.d.ts +5 -0
  525. package/build-types/navigation/menu/index.d.ts.map +1 -0
  526. package/build-types/navigation/menu/menu-title-search.d.ts +4 -0
  527. package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
  528. package/build-types/navigation/menu/menu-title.d.ts +4 -0
  529. package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
  530. package/build-types/navigation/menu/search-no-results-found.d.ts +4 -0
  531. package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
  532. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
  533. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
  534. package/build-types/navigation/stories/index.d.ts +18 -0
  535. package/build-types/navigation/stories/index.d.ts.map +1 -0
  536. package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
  537. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
  538. package/build-types/navigation/stories/utils/default.d.ts +10 -0
  539. package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
  540. package/build-types/navigation/stories/utils/group.d.ts +10 -0
  541. package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
  542. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
  543. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
  544. package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
  545. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
  546. package/build-types/navigation/stories/utils/search.d.ts +10 -0
  547. package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
  548. package/build-types/navigation/styles/navigation-styles.d.ts +58 -0
  549. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
  550. package/build-types/navigation/test/index.d.ts +2 -0
  551. package/build-types/navigation/test/index.d.ts.map +1 -0
  552. package/build-types/navigation/types.d.ts +267 -0
  553. package/build-types/navigation/types.d.ts.map +1 -0
  554. package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
  555. package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
  556. package/build-types/navigation/use-navigation-tree-nodes.d.ts +11 -0
  557. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
  558. package/build-types/navigation/utils.d.ts +3 -0
  559. package/build-types/navigation/utils.d.ts.map +1 -0
  560. package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
  561. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -1
  562. package/build-types/navigator/navigator-button/component.d.ts +1 -1
  563. package/build-types/navigator/navigator-button/hook.d.ts +1 -1
  564. package/build-types/navigator/navigator-screen/component.d.ts +1 -1
  565. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  566. package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -1
  567. package/build-types/navigator/types.d.ts +12 -12
  568. package/build-types/navigator/types.d.ts.map +1 -1
  569. package/build-types/notice/types.d.ts +7 -7
  570. package/build-types/notice/types.d.ts.map +1 -1
  571. package/build-types/number-control/index.d.ts.map +1 -1
  572. package/build-types/number-control/types.d.ts +1 -1
  573. package/build-types/number-control/types.d.ts.map +1 -1
  574. package/build-types/palette-edit/index.d.ts +37 -0
  575. package/build-types/palette-edit/index.d.ts.map +1 -0
  576. package/build-types/palette-edit/stories/index.d.ts +13 -0
  577. package/build-types/palette-edit/stories/index.d.ts.map +1 -0
  578. package/build-types/palette-edit/styles.d.ts +51 -0
  579. package/build-types/palette-edit/styles.d.ts.map +1 -0
  580. package/build-types/palette-edit/test/index.d.ts +2 -0
  581. package/build-types/palette-edit/test/index.d.ts.map +1 -0
  582. package/build-types/palette-edit/types.d.ts +114 -0
  583. package/build-types/palette-edit/types.d.ts.map +1 -0
  584. package/build-types/panel/body.d.ts +9 -0
  585. package/build-types/panel/body.d.ts.map +1 -0
  586. package/build-types/panel/stories/index.d.ts +19 -0
  587. package/build-types/panel/stories/index.d.ts.map +1 -0
  588. package/build-types/panel/test/body.d.ts +2 -0
  589. package/build-types/panel/test/body.d.ts.map +1 -0
  590. package/build-types/panel/types.d.ts +73 -3
  591. package/build-types/panel/types.d.ts.map +1 -1
  592. package/build-types/placeholder/index.d.ts +1 -1
  593. package/build-types/placeholder/index.d.ts.map +1 -1
  594. package/build-types/placeholder/types.d.ts +2 -2
  595. package/build-types/placeholder/types.d.ts.map +1 -1
  596. package/build-types/popover/limit-shift.d.ts +2 -2
  597. package/build-types/popover/limit-shift.d.ts.map +1 -1
  598. package/build-types/popover/types.d.ts +10 -10
  599. package/build-types/popover/types.d.ts.map +1 -1
  600. package/build-types/popover/utils.d.ts +2 -2
  601. package/build-types/popover/utils.d.ts.map +1 -1
  602. package/build-types/query-controls/author-select.d.ts.map +1 -1
  603. package/build-types/query-controls/category-select.d.ts.map +1 -1
  604. package/build-types/query-controls/terms.d.ts.map +1 -1
  605. package/build-types/query-controls/types.d.ts +12 -12
  606. package/build-types/query-controls/types.d.ts.map +1 -1
  607. package/build-types/radio-control/types.d.ts +1 -1
  608. package/build-types/radio-control/types.d.ts.map +1 -1
  609. package/build-types/radio-group/index.d.ts +1 -1
  610. package/build-types/radio-group/radio/index.d.ts +1 -1
  611. package/build-types/range-control/index.d.ts +2 -2
  612. package/build-types/range-control/index.d.ts.map +1 -1
  613. package/build-types/range-control/types.d.ts +17 -17
  614. package/build-types/range-control/types.d.ts.map +1 -1
  615. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  616. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  617. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  618. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
  619. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  620. package/build-types/resizable-box/resize-tooltip/utils.d.ts +2 -2
  621. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  622. package/build-types/responsive-wrapper/index.d.ts.map +1 -1
  623. package/build-types/responsive-wrapper/stories/index.d.ts +10 -0
  624. package/build-types/responsive-wrapper/stories/index.d.ts.map +1 -1
  625. package/build-types/responsive-wrapper/types.d.ts +3 -3
  626. package/build-types/responsive-wrapper/types.d.ts.map +1 -1
  627. package/build-types/sandbox/types.d.ts +1 -1
  628. package/build-types/sandbox/types.d.ts.map +1 -1
  629. package/build-types/scrollable/types.d.ts +2 -2
  630. package/build-types/scrollable/types.d.ts.map +1 -1
  631. package/build-types/search-control/types.d.ts +1 -1
  632. package/build-types/search-control/types.d.ts.map +1 -1
  633. package/build-types/select-control/index.d.ts +2 -1
  634. package/build-types/select-control/index.d.ts.map +1 -1
  635. package/build-types/select-control/stories/index.d.ts +3 -3
  636. package/build-types/select-control/stories/index.d.ts.map +1 -1
  637. package/build-types/select-control/types.d.ts +44 -20
  638. package/build-types/select-control/types.d.ts.map +1 -1
  639. package/build-types/shortcut/types.d.ts +1 -1
  640. package/build-types/shortcut/types.d.ts.map +1 -1
  641. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -1
  642. package/build-types/slot-fill/provider.d.ts +1 -0
  643. package/build-types/slot-fill/provider.d.ts.map +1 -1
  644. package/build-types/snackbar/types.d.ts +3 -3
  645. package/build-types/snackbar/types.d.ts.map +1 -1
  646. package/build-types/spacer/types.d.ts +1 -1
  647. package/build-types/spacer/types.d.ts.map +1 -1
  648. package/build-types/spinner/index.d.ts +1 -1
  649. package/build-types/style-provider/types.d.ts +1 -1
  650. package/build-types/style-provider/types.d.ts.map +1 -1
  651. package/build-types/surface/types.d.ts +2 -2
  652. package/build-types/surface/types.d.ts.map +1 -1
  653. package/build-types/tab-panel/types.d.ts +5 -5
  654. package/build-types/tab-panel/types.d.ts.map +1 -1
  655. package/build-types/text/types.d.ts +3 -3
  656. package/build-types/text/types.d.ts.map +1 -1
  657. package/build-types/text-control/types.d.ts +1 -1
  658. package/build-types/text-control/types.d.ts.map +1 -1
  659. package/build-types/text-highlight/types.d.ts +1 -1
  660. package/build-types/text-highlight/types.d.ts.map +1 -1
  661. package/build-types/textarea-control/types.d.ts +1 -1
  662. package/build-types/textarea-control/types.d.ts.map +1 -1
  663. package/build-types/theme/types.d.ts +3 -3
  664. package/build-types/theme/types.d.ts.map +1 -1
  665. package/build-types/tip/types.d.ts +1 -1
  666. package/build-types/tip/types.d.ts.map +1 -1
  667. package/build-types/toggle-control/types.d.ts +1 -1
  668. package/build-types/toggle-control/types.d.ts.map +1 -1
  669. package/build-types/toggle-group-control/types.d.ts +10 -10
  670. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  671. package/build-types/toolbar/toolbar/types.d.ts +1 -1
  672. package/build-types/toolbar/toolbar/types.d.ts.map +1 -1
  673. package/build-types/toolbar/toolbar-button/index.d.ts +165 -11
  674. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  675. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +6 -1
  676. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -1
  677. package/build-types/toolbar/toolbar-button/types.d.ts +45 -0
  678. package/build-types/toolbar/toolbar-button/types.d.ts.map +1 -0
  679. package/build-types/toolbar/toolbar-context/index.d.ts +6 -1
  680. package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -1
  681. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +1 -1
  682. package/build-types/toolbar/toolbar-item/index.d.ts +1 -1
  683. package/build-types/tools-panel/types.d.ts +11 -11
  684. package/build-types/tools-panel/types.d.ts.map +1 -1
  685. package/build-types/tooltip/index.d.ts.map +1 -1
  686. package/build-types/tree-grid/types.d.ts +5 -5
  687. package/build-types/tree-grid/types.d.ts.map +1 -1
  688. package/build-types/tree-select/index.d.ts.map +1 -1
  689. package/build-types/tree-select/types.d.ts +4 -10
  690. package/build-types/tree-select/types.d.ts.map +1 -1
  691. package/build-types/truncate/types.d.ts +2 -2
  692. package/build-types/truncate/types.d.ts.map +1 -1
  693. package/build-types/ui/context/context-connect.d.ts +1 -1
  694. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  695. package/build-types/ui/context/wordpress-component.d.ts +3 -3
  696. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  697. package/build-types/ui/control-group/types.d.ts +2 -2
  698. package/build-types/ui/control-group/types.d.ts.map +1 -1
  699. package/build-types/ui/control-label/types.d.ts +1 -1
  700. package/build-types/ui/control-label/types.d.ts.map +1 -1
  701. package/build-types/ui/form-group/form-group-content.d.ts +1 -1
  702. package/build-types/ui/form-group/form-group-help.d.ts +1 -1
  703. package/build-types/ui/form-group/form-group-label.d.ts +1 -1
  704. package/build-types/ui/form-group/types.d.ts +5 -5
  705. package/build-types/ui/form-group/types.d.ts.map +1 -1
  706. package/build-types/ui/form-group/use-form-group.d.ts +3 -3
  707. package/build-types/ui/spinner/component.d.ts +1 -1
  708. package/build-types/ui/tooltip/content.d.ts +1 -1
  709. package/build-types/ui/tooltip/types.d.ts +2 -2
  710. package/build-types/ui/tooltip/types.d.ts.map +1 -1
  711. package/build-types/ui/utils/font-size.d.ts +1 -1
  712. package/build-types/ui/utils/font-size.d.ts.map +1 -1
  713. package/build-types/ui/utils/space.d.ts +1 -1
  714. package/build-types/ui/utils/space.d.ts.map +1 -1
  715. package/build-types/ui/utils/types.d.ts +4 -4
  716. package/build-types/ui/utils/types.d.ts.map +1 -1
  717. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  718. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  719. package/build-types/unit-control/types.d.ts +5 -5
  720. package/build-types/unit-control/types.d.ts.map +1 -1
  721. package/build-types/utils/breakpoint-values.d.ts +1 -1
  722. package/build-types/utils/colors-values.d.ts +1 -1
  723. package/build-types/utils/config-values.d.ts +9 -9
  724. package/build-types/utils/events.d.ts +1 -1
  725. package/build-types/utils/events.d.ts.map +1 -1
  726. package/build-types/utils/font-values.d.ts +1 -1
  727. package/build-types/utils/font.d.ts.map +1 -1
  728. package/build-types/utils/hooks/use-controlled-value.d.ts +1 -1
  729. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  730. package/build-types/utils/types.d.ts +4 -4
  731. package/build-types/utils/types.d.ts.map +1 -1
  732. package/build-types/v-stack/component.d.ts +1 -4
  733. package/build-types/v-stack/component.d.ts.map +1 -1
  734. package/build-types/v-stack/hook.d.ts.map +1 -1
  735. package/build-types/v-stack/stories/index.d.ts +1 -4
  736. package/build-types/v-stack/stories/index.d.ts.map +1 -1
  737. package/build-types/v-stack/types.d.ts +5 -3
  738. package/build-types/v-stack/types.d.ts.map +1 -1
  739. package/build-types/view/types.d.ts +1 -1
  740. package/build-types/view/types.d.ts.map +1 -1
  741. package/build-types/visually-hidden/types.d.ts +1 -1
  742. package/build-types/visually-hidden/types.d.ts.map +1 -1
  743. package/build-types/z-stack/types.d.ts +1 -1
  744. package/build-types/z-stack/types.d.ts.map +1 -1
  745. package/package.json +20 -20
  746. package/src/animate/index.js +3 -1
  747. package/src/autocomplete/README.md +51 -0
  748. package/src/autocomplete/{autocompleter-ui.js → autocompleter-ui.tsx} +21 -10
  749. package/src/autocomplete/{get-default-use-items.js → get-default-use-items.tsx} +11 -6
  750. package/src/autocomplete/{index.js → index.tsx} +77 -111
  751. package/src/autocomplete/test/{index.js → index.tsx} +31 -20
  752. package/src/autocomplete/types.ts +220 -0
  753. package/src/border-control/test/index.js +0 -2
  754. package/src/button/style.scss +12 -1
  755. package/src/button/types.ts +2 -2
  756. package/src/circular-option-picker/types.ts +1 -1
  757. package/src/color-palette/test/__snapshots__/index.tsx.snap +16 -14
  758. package/src/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  759. package/src/custom-gradient-picker/gradient-bar/index.js +2 -0
  760. package/src/custom-gradient-picker/gradient-bar/utils.js +2 -0
  761. package/src/custom-gradient-picker/index.js +2 -0
  762. package/src/custom-gradient-picker/serializer.js +2 -0
  763. package/src/custom-gradient-picker/utils.js +2 -0
  764. package/src/dimension-control/README.md +22 -55
  765. package/src/dimension-control/index.tsx +101 -0
  766. package/src/dimension-control/{sizes.js → sizes.ts} +8 -5
  767. package/src/dimension-control/stories/index.tsx +48 -0
  768. package/src/dimension-control/types.ts +48 -0
  769. package/src/flex/flex/hook.ts +2 -2
  770. package/src/font-size-picker/README.md +26 -20
  771. package/src/font-size-picker/index.tsx +2 -1
  772. package/src/font-size-picker/stories/index.tsx +1 -0
  773. package/src/font-size-picker/test/index.tsx +23 -0
  774. package/src/font-size-picker/types.ts +4 -0
  775. package/src/form-token-field/index.tsx +4 -1
  776. package/src/form-token-field/stories/index.tsx +13 -0
  777. package/src/form-token-field/test/index.tsx +80 -0
  778. package/src/gradient-picker/index.js +2 -0
  779. package/src/guide/README.md +17 -15
  780. package/src/guide/{icons.js → icons.tsx} +1 -1
  781. package/src/guide/{index.js → index.tsx} +47 -7
  782. package/src/guide/{page-control.js → page-control.tsx} +2 -1
  783. package/src/guide/{page.js → page.tsx} +8 -1
  784. package/src/guide/stories/{index.js → index.tsx} +11 -5
  785. package/src/guide/test/{index.js → index.tsx} +22 -4
  786. package/src/guide/types.ts +68 -0
  787. package/src/h-stack/README.md +2 -2
  788. package/src/h-stack/types.ts +2 -2
  789. package/src/h-stack/utils.ts +3 -3
  790. package/src/higher-order/navigate-regions/{index.js → index.tsx} +47 -11
  791. package/src/higher-order/with-fallback-styles/{index.js → index.tsx} +22 -5
  792. package/src/higher-order/with-filters/{index.js → index.tsx} +44 -12
  793. package/src/higher-order/with-filters/test/{index.js → index.tsx} +5 -1
  794. package/src/higher-order/with-focus-return/index.tsx +74 -0
  795. package/src/higher-order/with-focus-return/test/{index.js → index.tsx} +2 -2
  796. package/src/higher-order/with-notices/README.md +4 -1
  797. package/src/higher-order/with-notices/index.tsx +116 -0
  798. package/src/higher-order/with-notices/test/{index.js → index.tsx} +11 -6
  799. package/src/higher-order/with-notices/types.ts +35 -0
  800. package/src/higher-order/with-spoken-messages/test/{index.js → index.tsx} +2 -1
  801. package/src/icon/index.tsx +11 -15
  802. package/src/icon/test/{index.js → index.tsx} +6 -2
  803. package/src/index.native.js +1 -0
  804. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +1 -1
  805. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  806. package/src/mobile/bottom-sheet-text-control/README.md +8 -1
  807. package/src/mobile/bottom-sheet-text-control/index.native.js +2 -1
  808. package/src/mobile/link-settings/test/link-settings-navigation.native.js +1 -1
  809. package/src/navigation/README.md +16 -2
  810. package/src/navigation/back-button/{index.js → index.tsx} +22 -6
  811. package/src/navigation/{context.js → context.tsx} +8 -5
  812. package/src/navigation/group/context.tsx +15 -0
  813. package/src/navigation/group/{index.js → index.tsx} +9 -1
  814. package/src/navigation/{index.js → index.tsx} +63 -7
  815. package/src/navigation/item/{base-content.js → base-content.tsx} +5 -2
  816. package/src/navigation/item/{base.js → base.tsx} +3 -1
  817. package/src/navigation/item/{index.js → index.tsx} +8 -2
  818. package/src/navigation/item/{use-navigation-tree-item.js → use-navigation-tree-item.tsx} +9 -2
  819. package/src/navigation/menu/context.tsx +18 -0
  820. package/src/navigation/menu/{index.js → index.tsx} +5 -1
  821. package/src/navigation/menu/{menu-title-search.js → menu-title-search.tsx} +11 -7
  822. package/src/navigation/menu/{menu-title.js → menu-title.tsx} +5 -3
  823. package/src/navigation/menu/{search-no-results-found.js → search-no-results-found.tsx} +5 -1
  824. package/src/navigation/menu/{use-navigation-tree-menu.js → use-navigation-tree-menu.tsx} +3 -1
  825. package/src/navigation/stories/index.tsx +53 -0
  826. package/src/navigation/stories/utils/{controlled-state.js → controlled-state.tsx} +32 -13
  827. package/src/navigation/stories/utils/{default.js → default.tsx} +20 -6
  828. package/src/navigation/stories/utils/{group.js → group.tsx} +21 -7
  829. package/src/navigation/stories/utils/{hide-if-empty.js → hide-if-empty.tsx} +19 -6
  830. package/src/navigation/stories/utils/{more-examples.js → more-examples.tsx} +30 -12
  831. package/src/navigation/stories/utils/{search.js → search.tsx} +21 -7
  832. package/src/navigation/test/{index.js → index.tsx} +17 -4
  833. package/src/navigation/types.ts +325 -0
  834. package/src/navigation/{use-create-navigation-tree.js → use-create-navigation-tree.tsx} +37 -25
  835. package/src/navigation/{use-navigation-tree-nodes.js → use-navigation-tree-nodes.tsx} +10 -6
  836. package/src/navigation/{utils.js → utils.tsx} +2 -2
  837. package/src/navigator/navigator-screen/component.tsx +13 -7
  838. package/src/navigator/test/index.tsx +65 -22
  839. package/src/number-control/index.tsx +0 -2
  840. package/src/palette-edit/{index.js → index.tsx} +115 -48
  841. package/src/palette-edit/stories/index.tsx +82 -0
  842. package/src/palette-edit/test/{index.js → index.tsx} +15 -3
  843. package/src/palette-edit/types.ts +126 -0
  844. package/src/panel/README.md +53 -35
  845. package/src/panel/{body.js → body.tsx} +31 -17
  846. package/src/panel/stories/{index.js → index.tsx} +16 -6
  847. package/src/panel/test/{body.js → body.tsx} +12 -17
  848. package/src/panel/types.ts +78 -0
  849. package/src/placeholder/index.tsx +2 -6
  850. package/src/placeholder/test/index.tsx +1 -1
  851. package/src/placeholder/types.ts +2 -2
  852. package/src/popover/test/index.tsx +5 -2
  853. package/src/query-controls/author-select.tsx +1 -6
  854. package/src/query-controls/category-select.tsx +1 -6
  855. package/src/query-controls/terms.ts +29 -18
  856. package/src/range-control/index.tsx +2 -6
  857. package/src/range-control/types.ts +3 -3
  858. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -1
  859. package/src/responsive-wrapper/README.md +8 -2
  860. package/src/responsive-wrapper/index.tsx +18 -17
  861. package/src/responsive-wrapper/stories/index.tsx +41 -0
  862. package/src/responsive-wrapper/style.scss +5 -11
  863. package/src/responsive-wrapper/types.ts +2 -2
  864. package/src/select-control/index.tsx +16 -16
  865. package/src/select-control/stories/index.tsx +24 -12
  866. package/src/select-control/types.ts +68 -40
  867. package/src/tab-panel/types.ts +4 -4
  868. package/src/toolbar/toolbar-button/README.md +13 -1
  869. package/src/toolbar/toolbar-button/{index.js → index.tsx} +55 -20
  870. package/src/toolbar/toolbar-button/toolbar-button-container.tsx +13 -0
  871. package/src/toolbar/toolbar-button/types.ts +46 -0
  872. package/src/toolbar/toolbar-context/index.ts +15 -0
  873. package/src/tooltip/index.js +11 -1
  874. package/src/tree-select/index.tsx +5 -2
  875. package/src/tree-select/types.ts +6 -13
  876. package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
  877. package/src/utils/font.js +1 -6
  878. package/src/v-stack/README.md +2 -2
  879. package/src/v-stack/hook.ts +6 -4
  880. package/src/v-stack/stories/index.tsx +28 -7
  881. package/src/v-stack/test/__snapshots__/index.tsx.snap +20 -18
  882. package/src/v-stack/types.ts +5 -3
  883. package/tsconfig.json +1 -14
  884. package/tsconfig.tsbuildinfo +1 -1
  885. package/src/dimension-control/index.js +0 -73
  886. package/src/higher-order/with-focus-return/index.js +0 -64
  887. package/src/higher-order/with-notices/index.js +0 -104
  888. package/src/navigation/group/context.js +0 -9
  889. package/src/navigation/menu/context.js +0 -11
  890. package/src/navigation/stories/index.js +0 -33
  891. package/src/toolbar/toolbar-button/toolbar-button-container.js +0 -6
  892. package/src/toolbar/toolbar-context/index.js +0 -10
  893. /package/src/animation/{index.js → index.tsx} +0 -0
  894. /package/src/higher-order/with-filters/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  895. /package/src/higher-order/with-spoken-messages/{index.js → index.tsx} +0 -0
  896. /package/src/navigation/{constants.js → constants.tsx} +0 -0
  897. /package/src/navigation/styles/{navigation-styles.js → navigation-styles.tsx} +0 -0
  898. /package/src/panel/test/__snapshots__/{body.js.snap → body.tsx.snap} +0 -0
@@ -0,0 +1,68 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ReactNode } from 'react';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import type { ModalProps } from '../modal/types';
10
+
11
+ export type Page = {
12
+ /**
13
+ * Content of the page.
14
+ */
15
+ content: ReactNode;
16
+ /**
17
+ * Image displayed above the page content.
18
+ */
19
+ image?: ReactNode;
20
+ };
21
+
22
+ export type GuideProps = {
23
+ /**
24
+ * Deprecated. Use `pages` prop instead.
25
+ *
26
+ * @deprecated since 5.5
27
+ */
28
+ children?: ReactNode;
29
+ /**
30
+ * A custom class to add to the modal.
31
+ */
32
+ className?: string;
33
+ /**
34
+ * Used as the modal's accessibility label.
35
+ */
36
+ contentLabel: ModalProps[ 'contentLabel' ];
37
+ /**
38
+ * Use this to customize the label of the _Finish_ button shown at the end of the guide.
39
+ *
40
+ * @default 'Finish'
41
+ */
42
+ finishButtonText?: string;
43
+ /**
44
+ * A function which is called when the guide is finished.
45
+ */
46
+ onFinish: ModalProps[ 'onRequestClose' ];
47
+ /**
48
+ * A list of objects describing each page in the guide. Each object **must** contain a `'content'` property and may optionally contain a `'image'` property.
49
+ *
50
+ * @default []
51
+ */
52
+ pages?: Page[];
53
+ };
54
+
55
+ export type PageControlProps = {
56
+ /**
57
+ * Current page index.
58
+ */
59
+ currentPage: number;
60
+ /**
61
+ * Total number of pages.
62
+ */
63
+ numberOfPages: number;
64
+ /**
65
+ * Called when user clicks on a `PageControlIcon` button.
66
+ */
67
+ setCurrentPage: ( page: number ) => void;
68
+ };
@@ -44,8 +44,8 @@ Determines how the child elements are aligned.
44
44
  - `bottom`: Aligns content to the bottom.
45
45
  - `bottomLeft`: Aligns content to the bottom/left.
46
46
  - `bottomRight`: Aligns content to the bottom/right.
47
- - `edge`: Aligns content to the edges of the container.
48
- - `stretch`: Stretches content to the edges of the container.
47
+ - `edge`: Justifies content to be evenly spread out up to the main axis edges of the container.
48
+ - `stretch`: Stretches content to the cross axis edges of the container.
49
49
 
50
50
  ##### direction
51
51
 
@@ -41,8 +41,8 @@ export type Props = Omit< FlexProps, 'align' | 'gap' > & {
41
41
  * * `bottom`: Aligns content to the bottom.
42
42
  * * `bottomLeft`: Aligns content to the bottom/left.
43
43
  * * `bottomRight`: Aligns content to the bottom/right.
44
- * * `edge`: Aligns content to the edges of the container.
45
- * * `stretch`: Stretches content to the edges of the container.
44
+ * * `edge`: Justifies content to be evenly spread out up to the main axis edges of the container.
45
+ * * `stretch`: Stretches content to the cross axis edges of the container.
46
46
  *
47
47
  * @default 'edge'
48
48
  */
@@ -11,7 +11,7 @@ import { isValueDefined } from '../utils/values';
11
11
 
12
12
  const H_ALIGNMENTS: Alignments = {
13
13
  bottom: { align: 'flex-end', justify: 'center' },
14
- bottomLeft: { align: 'flex-start', justify: 'flex-end' },
14
+ bottomLeft: { align: 'flex-end', justify: 'flex-start' },
15
15
  bottomRight: { align: 'flex-end', justify: 'flex-end' },
16
16
  center: { align: 'center', justify: 'center' },
17
17
  edge: { align: 'center', justify: 'space-between' },
@@ -25,13 +25,13 @@ const H_ALIGNMENTS: Alignments = {
25
25
 
26
26
  const V_ALIGNMENTS: Alignments = {
27
27
  bottom: { justify: 'flex-end', align: 'center' },
28
- bottomLeft: { justify: 'flex-start', align: 'flex-end' },
28
+ bottomLeft: { justify: 'flex-end', align: 'flex-start' },
29
29
  bottomRight: { justify: 'flex-end', align: 'flex-end' },
30
30
  center: { justify: 'center', align: 'center' },
31
31
  edge: { justify: 'space-between', align: 'center' },
32
32
  left: { justify: 'center', align: 'flex-start' },
33
33
  right: { justify: 'center', align: 'flex-end' },
34
- stretch: { justify: 'stretch' },
34
+ stretch: { align: 'stretch' },
35
35
  top: { justify: 'flex-start', align: 'center' },
36
36
  topLeft: { justify: 'flex-start', align: 'flex-start' },
37
37
  topRight: { justify: 'flex-start', align: 'flex-end' },
@@ -8,6 +8,7 @@ import {
8
8
  useMergeRefs,
9
9
  } from '@wordpress/compose';
10
10
  import { isKeyboardEvent } from '@wordpress/keycodes';
11
+ import type { WPKeycodeModifier } from '@wordpress/keycodes';
11
12
 
12
13
  const defaultShortcuts = {
13
14
  previous: [
@@ -23,7 +24,7 @@ const defaultShortcuts = {
23
24
  modifier: 'access',
24
25
  character: 'p',
25
26
  },
26
- ],
27
+ ] as const,
27
28
  next: [
28
29
  {
29
30
  modifier: 'ctrl',
@@ -33,27 +34,36 @@ const defaultShortcuts = {
33
34
  modifier: 'access',
34
35
  character: 'n',
35
36
  },
36
- ],
37
+ ] as const,
37
38
  };
38
39
 
39
- export function useNavigateRegions( shortcuts = defaultShortcuts ) {
40
- const ref = useRef();
40
+ type Shortcuts = {
41
+ previous: readonly { modifier: WPKeycodeModifier; character: string }[];
42
+ next: readonly { modifier: WPKeycodeModifier; character: string }[];
43
+ };
44
+
45
+ export function useNavigateRegions( shortcuts: Shortcuts = defaultShortcuts ) {
46
+ const ref = useRef< HTMLDivElement >( null );
41
47
  const [ isFocusingRegions, setIsFocusingRegions ] = useState( false );
42
48
 
43
- function focusRegion( offset ) {
49
+ function focusRegion( offset: number ) {
44
50
  const regions = Array.from(
45
- ref.current.querySelectorAll( '[role="region"][tabindex="-1"]' )
51
+ ref.current?.querySelectorAll< HTMLElement >(
52
+ '[role="region"][tabindex="-1"]'
53
+ ) ?? []
46
54
  );
47
55
  if ( ! regions.length ) {
48
56
  return;
49
57
  }
50
58
  let nextRegion = regions[ 0 ];
51
59
  // Based off the current element, use closest to determine the wrapping region since this operates up the DOM. Also, match tabindex to avoid edge cases with regions we do not want.
52
- const selectedIndex = regions.indexOf(
53
- ref.current.ownerDocument.activeElement.closest(
60
+ const wrappingRegion =
61
+ ref.current?.ownerDocument?.activeElement?.closest< HTMLElement >(
54
62
  '[role="region"][tabindex="-1"]'
55
- )
56
- );
63
+ );
64
+ const selectedIndex = wrappingRegion
65
+ ? regions.indexOf( wrappingRegion )
66
+ : -1;
57
67
  if ( selectedIndex !== -1 ) {
58
68
  let nextIndex = selectedIndex + offset;
59
69
  nextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;
@@ -83,7 +93,7 @@ export function useNavigateRegions( shortcuts = defaultShortcuts ) {
83
93
  return {
84
94
  ref: useMergeRefs( [ ref, clickRef ] ),
85
95
  className: isFocusingRegions ? 'is-focusing-regions' : '',
86
- onKeyDown( event ) {
96
+ onKeyDown( event: React.KeyboardEvent< HTMLDivElement > ) {
87
97
  if (
88
98
  shortcuts.previous.some( ( { modifier, character } ) => {
89
99
  return isKeyboardEvent[ modifier ]( event, character );
@@ -101,6 +111,32 @@ export function useNavigateRegions( shortcuts = defaultShortcuts ) {
101
111
  };
102
112
  }
103
113
 
114
+ /**
115
+ * `navigateRegions` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html)
116
+ * adding keyboard navigation to switch between the different DOM elements marked as "regions" (role="region").
117
+ * These regions should be focusable (By adding a tabIndex attribute for example). For better accessibility,
118
+ * these elements must be properly labelled to briefly describe the purpose of the content in the region.
119
+ * For more details, see "Landmark Roles" in the [WAI-ARIA specification](https://www.w3.org/TR/wai-aria/)
120
+ * and "Landmark Regions" in the [ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/).
121
+ *
122
+ * ```jsx
123
+ * import { navigateRegions } from '@wordpress/components';
124
+ *
125
+ * const MyComponentWithNavigateRegions = navigateRegions( () => (
126
+ * <div>
127
+ * <div role="region" tabIndex="-1" aria-label="Header">
128
+ * Header
129
+ * </div>
130
+ * <div role="region" tabIndex="-1" aria-label="Content">
131
+ * Content
132
+ * </div>
133
+ * <div role="region" tabIndex="-1" aria-label="Sidebar">
134
+ * Sidebar
135
+ * </div>
136
+ * </div>
137
+ * ) );
138
+ * ```
139
+ */
104
140
  export default createHigherOrderComponent(
105
141
  ( Component ) =>
106
142
  ( { shortcuts, ...props } ) =>
@@ -9,11 +9,28 @@ import fastDeepEqual from 'fast-deep-equal/es6';
9
9
  import { Component } from '@wordpress/element';
10
10
  import { createHigherOrderComponent } from '@wordpress/compose';
11
11
 
12
- export default ( mapNodeToProps ) =>
12
+ type Props = {
13
+ node?: HTMLElement;
14
+ [ key: string ]: any;
15
+ };
16
+
17
+ type State = {
18
+ fallbackStyles?: { [ key: string ]: any };
19
+ grabStylesCompleted: boolean;
20
+ };
21
+
22
+ export default (
23
+ mapNodeToProps: (
24
+ node: HTMLElement,
25
+ props: Props
26
+ ) => { [ key: string ]: any }
27
+ ) =>
13
28
  createHigherOrderComponent( ( WrappedComponent ) => {
14
- return class extends Component {
15
- constructor() {
16
- super( ...arguments );
29
+ return class extends Component< Props, State > {
30
+ nodeRef?: HTMLElement;
31
+
32
+ constructor( props: Props ) {
33
+ super( props );
17
34
  this.nodeRef = this.props.node;
18
35
  this.state = {
19
36
  fallbackStyles: undefined,
@@ -23,7 +40,7 @@ export default ( mapNodeToProps ) =>
23
40
  this.bindRef = this.bindRef.bind( this );
24
41
  }
25
42
 
26
- bindRef( node ) {
43
+ bindRef( node: HTMLDivElement ) {
27
44
  if ( ! node ) {
28
45
  return;
29
46
  }
@@ -13,11 +13,37 @@ const ANIMATION_FRAME_PERIOD = 16;
13
13
  * to be mounted. When a filter is added or removed that matches the hook name,
14
14
  * the wrapped component re-renders.
15
15
  *
16
- * @param {string} hookName Hook name exposed to be used by filters.
16
+ * @param hookName Hook name exposed to be used by filters.
17
17
  *
18
- * @return {Function} Higher-order component factory.
18
+ * @return Higher-order component factory.
19
+ *
20
+ * ```jsx
21
+ * import { withFilters } from '@wordpress/components';
22
+ * import { addFilter } from '@wordpress/hooks';
23
+ *
24
+ * const MyComponent = ( { title } ) => <h1>{ title }</h1>;
25
+ *
26
+ * const ComponentToAppend = () => <div>Appended component</div>;
27
+ *
28
+ * function withComponentAppended( FilteredComponent ) {
29
+ * return ( props ) => (
30
+ * <>
31
+ * <FilteredComponent { ...props } />
32
+ * <ComponentToAppend />
33
+ * </>
34
+ * );
35
+ * }
36
+ *
37
+ * addFilter(
38
+ * 'MyHookName',
39
+ * 'my-plugin/with-component-appended',
40
+ * withComponentAppended
41
+ * );
42
+ *
43
+ * const MyComponentWithFilters = withFilters( 'MyHookName' )( MyComponent );
44
+ * ```
19
45
  */
20
- export default function withFilters( hookName ) {
46
+ export default function withFilters( hookName: string ) {
21
47
  return createHigherOrderComponent( ( OriginalComponent ) => {
22
48
  const namespace = 'core/with-filters/' + hookName;
23
49
 
@@ -25,10 +51,8 @@ export default function withFilters( hookName ) {
25
51
  * The component definition with current filters applied. Each instance
26
52
  * reuse this shared reference as an optimization to avoid excessive
27
53
  * calls to `applyFilters` when many instances exist.
28
- *
29
- * @type {?Component}
30
54
  */
31
- let FilteredComponent;
55
+ let FilteredComponent: React.ComponentType;
32
56
 
33
57
  /**
34
58
  * Initializes the FilteredComponent variable once, if not already
@@ -36,13 +60,18 @@ export default function withFilters( hookName ) {
36
60
  */
37
61
  function ensureFilteredComponent() {
38
62
  if ( FilteredComponent === undefined ) {
39
- FilteredComponent = applyFilters( hookName, OriginalComponent );
63
+ FilteredComponent = applyFilters(
64
+ hookName,
65
+ OriginalComponent
66
+ ) as React.ComponentType;
40
67
  }
41
68
  }
42
69
 
43
70
  class FilteredComponentRenderer extends Component {
44
- constructor() {
45
- super( ...arguments );
71
+ static instances: FilteredComponentRenderer[];
72
+
73
+ constructor( props: { [ key: string ]: any } ) {
74
+ super( props );
46
75
 
47
76
  ensureFilteredComponent();
48
77
  }
@@ -86,7 +115,10 @@ export default function withFilters( hookName ) {
86
115
  const throttledForceUpdate = debounce( () => {
87
116
  // Recreate the filtered component, only after delay so that it's
88
117
  // computed once, even if many filters added.
89
- FilteredComponent = applyFilters( hookName, OriginalComponent );
118
+ FilteredComponent = applyFilters(
119
+ hookName,
120
+ OriginalComponent
121
+ ) as React.ComponentType;
90
122
 
91
123
  // Force each instance to render.
92
124
  FilteredComponentRenderer.instances.forEach( ( instance ) => {
@@ -99,9 +131,9 @@ export default function withFilters( hookName ) {
99
131
  * mounted instance should re-render with the new filters having been
100
132
  * applied to the original component.
101
133
  *
102
- * @param {string} updatedHookName Name of the hook that was updated.
134
+ * @param updatedHookName Name of the hook that was updated.
103
135
  */
104
- function onHooksUpdated( updatedHookName ) {
136
+ function onHooksUpdated( updatedHookName: string ) {
105
137
  if ( updatedHookName === hookName ) {
106
138
  throttledForceUpdate();
107
139
  }
@@ -18,7 +18,11 @@ describe( 'withFilters', () => {
18
18
  const MyComponent = () => <div>My component</div>;
19
19
 
20
20
  afterEach( () => {
21
- removeAllFilters( hookName );
21
+ removeAllFilters( hookName, 'test/enhanced-component-override' );
22
+ removeAllFilters( hookName, 'test/enhanced-component-compose' );
23
+ removeAllFilters( hookName, 'test/enhanced-component-spy' );
24
+ removeAllFilters( hookName, 'test/enhanced-component-spy-1' );
25
+ removeAllFilters( hookName, 'test/enhanced-component-spy-2' );
22
26
  } );
23
27
 
24
28
  it( 'should display original component when no filters applied', () => {
@@ -0,0 +1,74 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Component } from '@wordpress/element';
5
+ import { createHigherOrderComponent, useFocusReturn } from '@wordpress/compose';
6
+ import deprecated from '@wordpress/deprecated';
7
+
8
+ /**
9
+ * Returns true if the given object is component-like. An object is component-
10
+ * like if it is an instance of wp.element.Component, or is a function.
11
+ *
12
+ * @param object Object to test.
13
+ *
14
+ * @return Whether object is component-like.
15
+ */
16
+ function isComponentLike( object: any ): object is React.ComponentType {
17
+ return object instanceof Component || typeof object === 'function';
18
+ }
19
+
20
+ type Props = {
21
+ onFocusReturn?: () => void;
22
+ };
23
+
24
+ /**
25
+ * Higher Order Component used to be used to wrap disposable elements like
26
+ * sidebars, modals, dropdowns. When mounting the wrapped component, we track a
27
+ * reference to the current active element so we know where to restore focus
28
+ * when the component is unmounted.
29
+ *
30
+ * @param options The component to be enhanced with
31
+ * focus return behavior, or an object
32
+ * describing the component and the
33
+ * focus return characteristics.
34
+ *
35
+ * @return Higher Order Component with the focus restauration behaviour.
36
+ */
37
+ export default createHigherOrderComponent(
38
+ // @ts-expect-error TODO: Reconcile with intended `createHigherOrderComponent` types
39
+ ( options: WPComponent | Record< string, unknown > ) => {
40
+ const HoC =
41
+ ( { onFocusReturn }: Props = {} ) =>
42
+ ( WrappedComponent: React.ComponentType ) => {
43
+ const WithFocusReturn = (
44
+ props: Record< string, unknown >
45
+ ) => {
46
+ const ref = useFocusReturn( onFocusReturn );
47
+ return (
48
+ <div ref={ ref }>
49
+ <WrappedComponent { ...props } />
50
+ </div>
51
+ );
52
+ };
53
+
54
+ return WithFocusReturn;
55
+ };
56
+
57
+ if ( isComponentLike( options ) ) {
58
+ const WrappedComponent = options;
59
+ return HoC()( WrappedComponent );
60
+ }
61
+
62
+ return HoC( options );
63
+ },
64
+ 'withFocusReturn'
65
+ );
66
+
67
+ export const Provider = ( { children }: { children: React.ReactNode } ) => {
68
+ deprecated( 'wp.components.FocusReturnProvider component', {
69
+ since: '5.7',
70
+ hint: 'This provider is not used anymore. You can just remove it from your codebase',
71
+ } );
72
+
73
+ return children;
74
+ };
@@ -12,9 +12,9 @@ import { Component } from '@wordpress/element';
12
12
  /**
13
13
  * Internal dependencies
14
14
  */
15
- import withFocusReturn from '../';
15
+ import withFocusReturn from '..';
16
16
 
17
- class Test extends Component {
17
+ class Test extends Component< { className: string; focusHistory: unknown } > {
18
18
  render() {
19
19
  const { className, focusHistory } = this.props;
20
20
  return (
@@ -2,7 +2,7 @@
2
2
 
3
3
  `withNotices` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html) used typically in adding the ability to post notice messages within the original component.
4
4
 
5
- Wrapping the original component with `withNotices` encapsulates the component with the additional props `noticeOperations` and `noticeUI`.
5
+ Wrapping the original component with `withNotices` encapsulates the component with the additional props `noticeOperations`, `noticeUI`, and `noticeList`.
6
6
 
7
7
  **noticeOperations**
8
8
  Contains a number of useful functions to add notices to your site.
@@ -34,6 +34,9 @@ _Parameters_
34
34
  <a name="noticeUi" href="#noticeUi">#</a>**noticeUi**
35
35
  The rendered `NoticeList`.
36
36
 
37
+ <a name="noticeList" href="#noticeList">#</a>**noticeList**
38
+ The array of notice objects to be displayed.
39
+
37
40
  ## Usage
38
41
 
39
42
  ```jsx
@@ -0,0 +1,116 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { v4 as uuid } from 'uuid';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { forwardRef, useState, useMemo } from '@wordpress/element';
10
+ import { createHigherOrderComponent } from '@wordpress/compose';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+ import NoticeList from '../../notice/list';
16
+ import type { WithNoticeProps } from './types';
17
+
18
+ /**
19
+ * Override the default edit UI to include notices if supported.
20
+ *
21
+ * Wrapping the original component with `withNotices` encapsulates the component
22
+ * with the additional props `noticeOperations` and `noticeUI`.
23
+ *
24
+ * ```jsx
25
+ * import { withNotices, Button } from '@wordpress/components';
26
+ *
27
+ * const MyComponentWithNotices = withNotices(
28
+ * ( { noticeOperations, noticeUI } ) => {
29
+ * const addError = () =>
30
+ * noticeOperations.createErrorNotice( 'Error message' );
31
+ * return (
32
+ * <div>
33
+ * { noticeUI }
34
+ * <Button variant="secondary" onClick={ addError }>
35
+ * Add error
36
+ * </Button>
37
+ * </div>
38
+ * );
39
+ * }
40
+ * );
41
+ * ```
42
+ *
43
+ * @param OriginalComponent Original component.
44
+ *
45
+ * @return Wrapped component.
46
+ */
47
+ export default createHigherOrderComponent( ( OriginalComponent ) => {
48
+ function Component(
49
+ props: { [ key: string ]: any },
50
+ ref: React.ForwardedRef< any >
51
+ ) {
52
+ const [ noticeList, setNoticeList ] = useState<
53
+ WithNoticeProps[ 'noticeList' ]
54
+ >( [] );
55
+
56
+ const noticeOperations = useMemo<
57
+ WithNoticeProps[ 'noticeOperations' ]
58
+ >( () => {
59
+ const createNotice: WithNoticeProps[ 'noticeOperations' ][ 'createNotice' ] =
60
+ ( notice ) => {
61
+ const noticeToAdd = notice.id
62
+ ? notice
63
+ : { ...notice, id: uuid() };
64
+ setNoticeList( ( current ) => [ ...current, noticeToAdd ] );
65
+ };
66
+
67
+ return {
68
+ createNotice,
69
+ createErrorNotice: ( msg ) => {
70
+ // @ts-expect-error TODO: Missing `id`, potentially a bug
71
+ createNotice( {
72
+ status: 'error',
73
+ content: msg,
74
+ } );
75
+ },
76
+ removeNotice: ( id ) => {
77
+ setNoticeList( ( current ) =>
78
+ current.filter( ( notice ) => notice.id !== id )
79
+ );
80
+ },
81
+ removeAllNotices: () => {
82
+ setNoticeList( [] );
83
+ },
84
+ };
85
+ }, [] );
86
+
87
+ const propsOut = {
88
+ ...props,
89
+ noticeList,
90
+ noticeOperations,
91
+ noticeUI: noticeList.length > 0 && (
92
+ <NoticeList
93
+ className="components-with-notices-ui"
94
+ notices={ noticeList }
95
+ onRemove={ noticeOperations.removeNotice }
96
+ />
97
+ ),
98
+ };
99
+
100
+ return isForwardRef ? (
101
+ <OriginalComponent { ...propsOut } ref={ ref } />
102
+ ) : (
103
+ <OriginalComponent { ...propsOut } />
104
+ );
105
+ }
106
+
107
+ let isForwardRef: boolean;
108
+ // @ts-expect-error - `render` will only be present when OriginalComponent was wrapped with forwardRef().
109
+ const { render } = OriginalComponent;
110
+ // Returns a forwardRef if OriginalComponent appears to be a forwardRef.
111
+ if ( typeof render === 'function' ) {
112
+ isForwardRef = true;
113
+ return forwardRef( Component );
114
+ }
115
+ return Component;
116
+ }, 'withNotices' );
@@ -24,25 +24,30 @@ import {
24
24
  * Internal dependencies
25
25
  */
26
26
  import withNotices from '..';
27
+ import type { WithNoticeProps } from '../types';
27
28
 
28
29
  // Implementation detail of Notice component used to query the dismissal button.
29
30
  const stockDismissText = 'Dismiss this notice';
30
31
 
31
- function noticesFrom( list ) {
32
+ function noticesFrom( list: string[] ) {
32
33
  return list.map( ( item ) => ( { id: item, content: item } ) );
33
34
  }
34
35
 
35
- function isComponentLike( object ) {
36
+ function isComponentLike( object: any ) {
36
37
  return typeof object === 'function';
37
38
  }
38
39
 
39
- function isForwardRefLike( { render: renderMethod } ) {
40
+ function isForwardRefLike( { render: renderMethod }: any ) {
40
41
  return typeof renderMethod === 'function';
41
42
  }
42
43
 
43
44
  const content = 'Base content';
44
45
 
45
- const BaseComponent = ( { noticeOperations, noticeUI, notifications } ) => {
46
+ const BaseComponent = ( {
47
+ noticeOperations,
48
+ noticeUI,
49
+ notifications,
50
+ }: WithNoticeProps & { notifications: ReturnType< typeof noticesFrom > } ) => {
46
51
  useEffect( () => {
47
52
  if ( notifications ) {
48
53
  notifications.forEach( ( item ) =>
@@ -78,8 +83,8 @@ describe( 'withNotices return type', () => {
78
83
  } );
79
84
 
80
85
  describe( 'withNotices operations', () => {
81
- let handle;
82
- const Handle = ( props ) => {
86
+ let handle: React.MutableRefObject< any >;
87
+ const Handle = ( props: any ) => {
83
88
  handle = useRef();
84
89
  return <TestNoticeOperations { ...props } ref={ handle } />;
85
90
  };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { NoticeListProps } from '../../notice/types';
5
+
6
+ export type WithNoticeProps = {
7
+ noticeList: NoticeListProps[ 'notices' ];
8
+ noticeOperations: {
9
+ /**
10
+ * Function passed down as a prop that adds a new notice.
11
+ *
12
+ * @param notice Notice to add.
13
+ */
14
+ createNotice: (
15
+ notice: NoticeListProps[ 'notices' ][ number ]
16
+ ) => void;
17
+ /**
18
+ * Function passed as a prop that adds a new error notice.
19
+ *
20
+ * @param msg Error message of the notice.
21
+ */
22
+ createErrorNotice: ( msg: string ) => void;
23
+ /**
24
+ * Removes a notice by id.
25
+ *
26
+ * @param id Id of the notice to remove.
27
+ */
28
+ removeNotice: ( id: string ) => void;
29
+ /**
30
+ * Removes all notices
31
+ */
32
+ removeAllNotices: () => void;
33
+ };
34
+ noticeUI: false | JSX.Element;
35
+ };