@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,325 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { ButtonProps } from '../button/types';
5
+
6
+ type IfDiscriminantDefinedBothRequired< TDiscriminant, TOther > =
7
+ // When props in TDiscriminant are specified,
8
+ // then props from TOther are required too
9
+ | {
10
+ [ K in keyof ( TDiscriminant & TOther ) ]: NonNullable<
11
+ ( TDiscriminant & TOther )[ K ]
12
+ >;
13
+ }
14
+ // When props in TDiscriminant are not specified,
15
+ // then props from TOther are optional
16
+ | ( {
17
+ [ K in keyof TDiscriminant ]?: never;
18
+ } & {
19
+ [ K in keyof TOther ]?: TOther[ K ];
20
+ } );
21
+
22
+ // React Components
23
+
24
+ export type NavigationProps = {
25
+ /**
26
+ * The active item slug.
27
+ */
28
+ activeItem?: string;
29
+ /**
30
+ * The active menu slug.
31
+ *
32
+ * @default 'root'
33
+ */
34
+ activeMenu?: string;
35
+ /**
36
+ * The children components.
37
+ */
38
+ children?: React.ReactNode;
39
+ /**
40
+ * Optional classname for the component.
41
+ */
42
+ className?: string;
43
+ /**
44
+ * Callback used to sync the active menu between the external state
45
+ * and the Navigation's internal state.
46
+ */
47
+ onActivateMenu?: ( activeMenuSlug: string ) => void;
48
+ };
49
+
50
+ // When `onSearch` is specified, `search` should be specified too
51
+ type _NavigationMenuSearchProps = IfDiscriminantDefinedBothRequired<
52
+ {
53
+ /**
54
+ * When the `hasSearch` prop is `true`, this callback handles the search
55
+ * input's `onChange` event, making it controlled from the outside.
56
+ * When using this prop, the `search` prop should be also set.
57
+ */
58
+ onSearch: ( searchString: string ) => void;
59
+ },
60
+ {
61
+ /**
62
+ * When the `hasSearch` is `true` and the `onSearch` prop is provided, this
63
+ * prop controls the value of the search input.
64
+ * Required when the `onSearch` prop is provided.
65
+ */
66
+ search: string;
67
+ }
68
+ >;
69
+
70
+ export type NavigationMenuProps = _NavigationMenuSearchProps & {
71
+ /**
72
+ * The back button label used in nested menus.
73
+ * If not provided, the label will be inferred from the parent menu's title.
74
+ * If the parent menu's title is not available then it will default to "Back".
75
+ *
76
+ * @default parentMenuTitle ?? 'Back'
77
+ */
78
+ backButtonLabel?: string;
79
+ /**
80
+ * A callback to handle clicking on the back button.
81
+ * If this prop is provided then the back button will be shown.
82
+ */
83
+ onBackButtonClick?: React.MouseEventHandler< HTMLElement >;
84
+ /**
85
+ * The children components.
86
+ */
87
+ children?: React.ReactNode;
88
+ /**
89
+ * Optional classname for the component.
90
+ */
91
+ className?: string;
92
+ /**
93
+ * When `true`, enables the search feature on the menu title.
94
+ */
95
+ hasSearch?: boolean;
96
+ /**
97
+ * Indicates whether the menu is empty or not. Used together with the
98
+ * `hideIfTargetMenuEmpty` prop of `NavigationItem`.
99
+ */
100
+ isEmpty?: boolean;
101
+ /**
102
+ * Indicates whether the search is debouncing or not. In case of `true`, the
103
+ * "No results found." text is omitted. Used to prevent showing the
104
+ * "No results found." text between debounced searches.
105
+ */
106
+ isSearchDebouncing?: boolean;
107
+ /**
108
+ * The unique identifier of the menu.
109
+ * The root menu can omit this prop, and it will default to "root".
110
+ * All other menus need to specify it.
111
+ *
112
+ * @default 'root'
113
+ */
114
+ menu?: string;
115
+ /**
116
+ * The parent menu slug; used by nested menus to indicate their parent menu.
117
+ */
118
+ parentMenu?: string;
119
+ /**
120
+ * The menu title. It's also the field used by the menu search function.
121
+ */
122
+ title?: string;
123
+ /**
124
+ * Use this prop to render additional actions in the menu title.
125
+ */
126
+ titleAction?: React.ReactNode;
127
+ };
128
+
129
+ export type NavigationGroupProps = {
130
+ /**
131
+ * Optional classname for the component.
132
+ */
133
+ className?: string;
134
+ /**
135
+ * The group title.
136
+ */
137
+ title?: string;
138
+ /**
139
+ * The children components.
140
+ */
141
+ children: React.ReactNode;
142
+ };
143
+
144
+ type _NavigationItemButtonProps =
145
+ | ( ButtonProps & {
146
+ /**
147
+ * If set to `true` the menu item will only act as a text-only item,
148
+ * rather than a `<button />` or `<a />` element.
149
+ */
150
+ isText?: false;
151
+ } )
152
+ | {
153
+ /**
154
+ * If set to `true` the menu item will only act as a text-only item,
155
+ * rather than a `<button />` or `<a />` element.
156
+ */
157
+ isText: true;
158
+ };
159
+
160
+ export type NavigationItemBaseProps = {
161
+ /**
162
+ * The item badge content.
163
+ */
164
+ badge?: string | number;
165
+ /**
166
+ * The children components. When not specified, the item will render the
167
+ * default item UI.
168
+ */
169
+ children?: React.ReactNode;
170
+ /**
171
+ * Optional classname for the component.
172
+ */
173
+ className?: string;
174
+ /**
175
+ * If provided, causes the component to render an `<a />` element
176
+ * instead of a `<button />` element.
177
+ */
178
+ href?: string;
179
+ /**
180
+ * If no `children` are passed, this prop allows to specify a custom icon for
181
+ * the menu item.
182
+ */
183
+ icon?: JSX.Element;
184
+ /**
185
+ * The unique identifier of the item.
186
+ */
187
+ item?: string;
188
+ /**
189
+ * The child menu slug. If provided, clicking on the item will navigate
190
+ * to the target menu.
191
+ */
192
+ navigateToMenu?: string;
193
+ /**
194
+ * Indicates whether this item should be hidden if the menu specified in
195
+ * `navigateToMenu` is marked as empty in the `isEmpty` prop.
196
+ * Used together with the `isEmpty` prop of `NavigationMenu`.
197
+ */
198
+ hideIfTargetMenuEmpty?: boolean;
199
+ /**
200
+ * A callback to handle clicking on a menu item.
201
+ *
202
+ * @default noop
203
+ */
204
+ onClick?: React.MouseEventHandler;
205
+ /**
206
+ * The item title.
207
+ */
208
+ title?: string;
209
+ };
210
+
211
+ export type NavigationItemProps = _NavigationItemButtonProps &
212
+ NavigationItemBaseProps;
213
+
214
+ export type NavigationItemBaseContentProps = Pick<
215
+ NavigationItemProps,
216
+ 'badge' | 'title'
217
+ >;
218
+
219
+ export type NavigationBackButtonProps = {
220
+ /**
221
+ * The text displayed for the button
222
+ */
223
+ backButtonLabel?: string;
224
+ /**
225
+ * Optional classname for the component.
226
+ */
227
+ className?: string;
228
+ /**
229
+ * If provided, causes the component to render an `<a />` element
230
+ * instead of a `<button />` element.
231
+ */
232
+ href?: string;
233
+ /**
234
+ * Callback function called when the button is clicked.
235
+ */
236
+ onClick?: React.MouseEventHandler;
237
+ /**
238
+ * Id of the parent menu
239
+ */
240
+ parentMenu?: string;
241
+ };
242
+
243
+ export type NavigationMenuTitleSearchProps = Pick<
244
+ NavigationMenuProps,
245
+ 'onSearch' | 'search' | 'title'
246
+ > & {
247
+ // @see `speak` function from `@wordpress/a11y`
248
+ debouncedSpeak: (
249
+ message: string,
250
+ ariaLive?: 'off' | 'polite' | 'assertive'
251
+ ) => void;
252
+ onCloseSearch: () => void;
253
+ };
254
+
255
+ export type NavigationMenuTitleProps = Pick<
256
+ NavigationMenuProps,
257
+ 'hasSearch' | 'onSearch' | 'search' | 'title' | 'titleAction'
258
+ >;
259
+
260
+ export type NavigationSearchNoResultsFoundProps = Pick<
261
+ NavigationMenuProps,
262
+ 'search'
263
+ >;
264
+
265
+ // Data objects & context
266
+
267
+ export type Item = Omit< NavigationItemBaseProps, 'children' > & {
268
+ /**
269
+ * The group id
270
+ */
271
+ group?: string;
272
+ /**
273
+ * The menu id
274
+ */
275
+ menu?: string;
276
+ /**
277
+ * True is the item is currently visible (ie. the item is part
278
+ * of the active menu, and — if there is a search query — its title
279
+ * matches the search query).
280
+ */
281
+ _isVisible: boolean;
282
+ };
283
+
284
+ export type Menu = Omit< NavigationMenuProps, 'children' > & {
285
+ menu: string;
286
+ };
287
+
288
+ export type NavigationGroupContext = {
289
+ /**
290
+ * The unique id of the group
291
+ */
292
+ group?: string;
293
+ };
294
+
295
+ export type NavigationMenuContext = {
296
+ menu?: string;
297
+ search?: string;
298
+ };
299
+
300
+ export type NavigationContext = {
301
+ activeItem?: string;
302
+ activeMenu: string;
303
+ setActiveMenu: (
304
+ parentMenu: string,
305
+ animationDirection?: 'left' | 'right'
306
+ ) => void;
307
+
308
+ navigationTree: {
309
+ items: Record< string, Item >;
310
+ getItem: ( itemId: string ) => Item | undefined;
311
+ addItem: ( itemId: string, itemProps: Item ) => void;
312
+ removeItem: ( itemId: string ) => void;
313
+
314
+ menus: Record< string, Menu >;
315
+ getMenu: ( menuId: string ) => Menu | undefined;
316
+ addMenu: ( menuId: string, menuProps: Menu ) => void;
317
+ removeMenu: ( menuId: string ) => void;
318
+ childMenu: Record< string, string[] >;
319
+ traverseMenu: (
320
+ startMenu: string,
321
+ callback: ( menuObject: Menu ) => boolean | undefined
322
+ ) => void;
323
+ isMenuEmpty: ( menuId: string ) => boolean;
324
+ };
325
+ };
@@ -8,20 +8,22 @@ import { useState } from '@wordpress/element';
8
8
  */
9
9
  import { useNavigationTreeNodes } from './use-navigation-tree-nodes';
10
10
 
11
+ import type { NavigationContext, Item, Menu } from './types';
12
+
11
13
  export const useCreateNavigationTree = () => {
12
14
  const {
13
15
  nodes: items,
14
16
  getNode: getItem,
15
17
  addNode: addItem,
16
18
  removeNode: removeItem,
17
- } = useNavigationTreeNodes();
19
+ } = useNavigationTreeNodes< Item >();
18
20
 
19
21
  const {
20
22
  nodes: menus,
21
23
  getNode: getMenu,
22
24
  addNode: addMenu,
23
25
  removeNode: removeMenu,
24
- } = useNavigationTreeNodes();
26
+ } = useNavigationTreeNodes< Menu >();
25
27
 
26
28
  /**
27
29
  * Stores direct nested menus of menus
@@ -30,38 +32,44 @@ export const useCreateNavigationTree = () => {
30
32
  * Key is the menu prop of the menu
31
33
  * Value is an array of menu keys
32
34
  */
33
- const [ childMenu, setChildMenu ] = useState( {} );
34
- const getChildMenu = ( menu ) => childMenu[ menu ] || [];
35
-
36
- const traverseMenu = ( startMenu, callback ) => {
37
- const visited = [];
38
- let queue = [ startMenu ];
39
- let current;
40
-
41
- while ( queue.length > 0 ) {
42
- current = getMenu( queue.shift() );
43
-
44
- if ( ! current || visited.includes( current.menu ) ) {
45
- continue;
46
- }
35
+ const [ childMenu, setChildMenu ] = useState< Record< string, string[] > >(
36
+ {}
37
+ );
38
+ const getChildMenu = ( menu: string ) => childMenu[ menu ] || [];
39
+
40
+ const traverseMenu: NavigationContext[ 'navigationTree' ][ 'traverseMenu' ] =
41
+ ( startMenu, callback ) => {
42
+ const visited: string[] = [];
43
+ let queue = [ startMenu ];
44
+ let current: Menu;
45
+
46
+ while ( queue.length > 0 ) {
47
+ // Type cast to string is safe because of the `length > 0` check above.
48
+ current = getMenu( queue.shift() as string );
49
+
50
+ if ( ! current || visited.includes( current.menu ) ) {
51
+ continue;
52
+ }
47
53
 
48
- visited.push( current.menu );
49
- queue = [ ...queue, ...getChildMenu( current.menu ) ];
54
+ visited.push( current.menu );
55
+ queue = [ ...queue, ...getChildMenu( current.menu ) ];
50
56
 
51
- if ( callback( current ) === false ) {
52
- break;
57
+ if ( callback( current ) === false ) {
58
+ break;
59
+ }
53
60
  }
54
- }
55
- };
61
+ };
56
62
 
57
- const isMenuEmpty = ( menuToCheck ) => {
63
+ const isMenuEmpty = ( menuToCheck: string ) => {
58
64
  let isEmpty = true;
59
65
 
60
- traverseMenu( menuToCheck, ( current ) => {
66
+ traverseMenu( menuToCheck, ( current: Menu ) => {
61
67
  if ( ! current.isEmpty ) {
62
68
  isEmpty = false;
63
69
  return false;
64
70
  }
71
+
72
+ return undefined;
65
73
  } );
66
74
 
67
75
  return isEmpty;
@@ -75,10 +83,14 @@ export const useCreateNavigationTree = () => {
75
83
 
76
84
  menus,
77
85
  getMenu,
78
- addMenu: ( key, value ) => {
86
+ addMenu: ( key: string, value: Menu ) => {
79
87
  setChildMenu( ( state ) => {
80
88
  const newState = { ...state };
81
89
 
90
+ if ( ! value.parentMenu ) {
91
+ return newState;
92
+ }
93
+
82
94
  if ( ! newState[ value.parentMenu ] ) {
83
95
  newState[ value.parentMenu ] = [];
84
96
  }
@@ -3,12 +3,16 @@
3
3
  */
4
4
  import { useState } from '@wordpress/element';
5
5
 
6
- export const useNavigationTreeNodes = () => {
7
- const [ nodes, setNodes ] = useState( {} );
6
+ export function useNavigationTreeNodes<
7
+ TNode extends { children?: React.ReactNode; [ key: string ]: unknown }
8
+ >() {
9
+ const [ nodes, setNodes ] = useState<
10
+ Record< string, Omit< TNode, 'children' > >
11
+ >( {} );
8
12
 
9
- const getNode = ( key ) => nodes[ key ];
13
+ const getNode = ( key: string ) => nodes[ key ];
10
14
 
11
- const addNode = ( key, value ) => {
15
+ const addNode = ( key: string, value: TNode ) => {
12
16
  const { children, ...newNode } = value;
13
17
  return setNodes( ( original ) => ( {
14
18
  ...original,
@@ -16,7 +20,7 @@ export const useNavigationTreeNodes = () => {
16
20
  } ) );
17
21
  };
18
22
 
19
- const removeNode = ( key ) => {
23
+ const removeNode = ( key: keyof typeof nodes ) => {
20
24
  return setNodes( ( original ) => {
21
25
  const { [ key ]: removedNode, ...remainingNodes } = original;
22
26
  return remainingNodes;
@@ -24,4 +28,4 @@ export const useNavigationTreeNodes = () => {
24
28
  };
25
29
 
26
30
  return { nodes, getNode, addNode, removeNode };
27
- };
31
+ }
@@ -4,8 +4,8 @@
4
4
  import removeAccents from 'remove-accents';
5
5
 
6
6
  // @see packages/block-editor/src/components/inserter/search-items.js
7
- export const normalizeInput = ( input ) =>
7
+ export const normalizeInput = ( input: string ) =>
8
8
  removeAccents( input ).replace( /^\//, '' ).toLowerCase();
9
9
 
10
- export const normalizedSearch = ( title, search ) =>
10
+ export const normalizedSearch = ( title: string, search: string ) =>
11
11
  -1 !== normalizeInput( title ).indexOf( normalizeInput( search ) );
@@ -172,13 +172,19 @@ function UnconnectedNavigatorScreen(
172
172
  },
173
173
  x: 0,
174
174
  };
175
- const initial = {
176
- opacity: 0,
177
- x:
178
- ( isRTL() && location.isBack ) || ( ! isRTL() && ! location.isBack )
179
- ? 50
180
- : -50,
181
- };
175
+ // Disable the initial animation if the screen is the very first screen to be
176
+ // rendered within the current `NavigatorProvider`.
177
+ const initial =
178
+ location.isInitial && ! location.isBack
179
+ ? false
180
+ : {
181
+ opacity: 0,
182
+ x:
183
+ ( isRTL() && location.isBack ) ||
184
+ ( ! isRTL() && ! location.isBack )
185
+ ? 50
186
+ : -50,
187
+ };
182
188
  const exit = {
183
189
  delay: animationExitDelay,
184
190
  opacity: 0,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import type { ReactNode, ForwardedRef, ComponentPropsWithoutRef } from 'react';
4
+ import type { ComponentPropsWithoutRef } from 'react';
5
5
  import { render, screen } from '@testing-library/react';
6
6
  import userEvent from '@testing-library/user-event';
7
7
 
@@ -23,27 +23,6 @@ import {
23
23
  useNavigator,
24
24
  } from '..';
25
25
 
26
- jest.mock( 'framer-motion', () => {
27
- const actual = jest.requireActual( 'framer-motion' );
28
- return {
29
- __esModule: true,
30
- ...actual,
31
- AnimatePresence:
32
- ( { children }: { children?: ReactNode } ) =>
33
- () =>
34
- <div>{ children }</div>,
35
- motion: {
36
- ...actual.motion,
37
- div: require( 'react' ).forwardRef(
38
- (
39
- { children }: { children?: ReactNode },
40
- ref: ForwardedRef< HTMLDivElement >
41
- ) => <div ref={ ref }>{ children }</div>
42
- ),
43
- },
44
- };
45
- } );
46
-
47
26
  const INVALID_HTML_ATTRIBUTE = {
48
27
  raw: ' "\'><=invalid_path',
49
28
  escaped: " &quot;'&gt;<=invalid_path",
@@ -738,4 +717,68 @@ describe( 'Navigator', () => {
738
717
  expect( getNavigationButton( 'toChildScreen' ) ).toHaveFocus();
739
718
  } );
740
719
  } );
720
+
721
+ describe( 'animation', () => {
722
+ it( 'should not animate the initial screen', async () => {
723
+ const onHomeAnimationStartSpy = jest.fn();
724
+
725
+ render(
726
+ <NavigatorProvider initialPath="/">
727
+ <NavigatorScreen
728
+ path="/"
729
+ onAnimationStart={ onHomeAnimationStartSpy }
730
+ >
731
+ <CustomNavigatorButton path="/child">
732
+ To child
733
+ </CustomNavigatorButton>
734
+ </NavigatorScreen>
735
+ </NavigatorProvider>
736
+ );
737
+
738
+ expect( onHomeAnimationStartSpy ).not.toHaveBeenCalled();
739
+ } );
740
+
741
+ it( 'should animate all other screens (including the initial screen when navigating back)', async () => {
742
+ const user = userEvent.setup();
743
+
744
+ const onHomeAnimationStartSpy = jest.fn();
745
+ const onChildAnimationStartSpy = jest.fn();
746
+
747
+ render(
748
+ <NavigatorProvider initialPath="/">
749
+ <NavigatorScreen
750
+ path="/"
751
+ onAnimationStart={ onHomeAnimationStartSpy }
752
+ >
753
+ <CustomNavigatorButton path="/child">
754
+ To child
755
+ </CustomNavigatorButton>
756
+ </NavigatorScreen>
757
+ <NavigatorScreen
758
+ path="/child"
759
+ onAnimationStart={ onChildAnimationStartSpy }
760
+ >
761
+ <CustomNavigatorBackButton>
762
+ Back to home
763
+ </CustomNavigatorBackButton>
764
+ </NavigatorScreen>
765
+ </NavigatorProvider>
766
+ );
767
+
768
+ expect( onHomeAnimationStartSpy ).not.toHaveBeenCalled();
769
+ expect( onChildAnimationStartSpy ).not.toHaveBeenCalled();
770
+
771
+ await user.click(
772
+ screen.getByRole( 'button', { name: 'To child' } )
773
+ );
774
+ expect( onChildAnimationStartSpy ).toHaveBeenCalledTimes( 1 );
775
+ expect( onHomeAnimationStartSpy ).not.toHaveBeenCalled();
776
+
777
+ await user.click(
778
+ screen.getByRole( 'button', { name: 'Back to home' } )
779
+ );
780
+ expect( onChildAnimationStartSpy ).toHaveBeenCalledTimes( 1 );
781
+ expect( onHomeAnimationStartSpy ).toHaveBeenCalledTimes( 1 );
782
+ } );
783
+ } );
741
784
  } );
@@ -130,9 +130,7 @@ function UnforwardedNumberControl(
130
130
  * Handles drag to update events
131
131
  */
132
132
  if ( type === inputControlActionTypes.DRAG && isDragEnabled ) {
133
- // @ts-expect-error TODO: See if reducer actions can be typed better
134
133
  const [ x, y ] = payload.delta;
135
- // @ts-expect-error TODO: See if reducer actions can be typed better
136
134
  const enableShift = payload.shiftKey && isShiftStepEnabled;
137
135
  const modifier = enableShift
138
136
  ? ensureNumber( shiftStep ) * baseStep