@wordpress/components 23.4.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 (978) hide show
  1. package/CHANGELOG.md +54 -6
  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 +46 -22
  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 +51 -119
  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/circular-option-picker/index.js +63 -14
  13. package/build/circular-option-picker/index.js.map +1 -1
  14. package/build/circular-option-picker/types.js +6 -0
  15. package/build/circular-option-picker/types.js.map +1 -0
  16. package/build/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  17. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  18. package/build/custom-gradient-picker/gradient-bar/index.js +2 -0
  19. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  20. package/build/custom-gradient-picker/gradient-bar/utils.js +2 -0
  21. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  22. package/build/custom-gradient-picker/index.js +2 -0
  23. package/build/custom-gradient-picker/index.js.map +1 -1
  24. package/build/custom-gradient-picker/serializer.js +1 -0
  25. package/build/custom-gradient-picker/serializer.js.map +1 -1
  26. package/build/custom-gradient-picker/utils.js +2 -0
  27. package/build/custom-gradient-picker/utils.js.map +1 -1
  28. package/build/dimension-control/index.js +31 -5
  29. package/build/dimension-control/index.js.map +1 -1
  30. package/build/dimension-control/sizes.js +2 -4
  31. package/build/dimension-control/sizes.js.map +1 -1
  32. package/build/dimension-control/types.js +6 -0
  33. package/build/dimension-control/types.js.map +1 -0
  34. package/build/dropdown-menu/index.js +6 -2
  35. package/build/dropdown-menu/index.js.map +1 -1
  36. package/build/flex/flex/hook.js +3 -3
  37. package/build/flex/flex/hook.js.map +1 -1
  38. package/build/font-size-picker/index.js +2 -1
  39. package/build/font-size-picker/index.js.map +1 -1
  40. package/build/form-token-field/index.js +1 -1
  41. package/build/form-token-field/index.js.map +1 -1
  42. package/build/gradient-picker/index.js +2 -0
  43. package/build/gradient-picker/index.js.map +1 -1
  44. package/build/guide/icons.js.map +1 -1
  45. package/build/guide/index.js +46 -8
  46. package/build/guide/index.js.map +1 -1
  47. package/build/guide/page-control.js.map +1 -1
  48. package/build/guide/page.js.map +1 -1
  49. package/build/guide/types.js +6 -0
  50. package/build/guide/types.js.map +1 -0
  51. package/build/h-stack/utils.js +5 -5
  52. package/build/h-stack/utils.js.map +1 -1
  53. package/build/higher-order/navigate-regions/index.js +33 -3
  54. package/build/higher-order/navigate-regions/index.js.map +1 -1
  55. package/build/higher-order/with-constrained-tabbing/index.js +9 -0
  56. package/build/higher-order/with-constrained-tabbing/index.js.map +1 -1
  57. package/build/higher-order/with-fallback-styles/index.js +2 -2
  58. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  59. package/build/higher-order/with-filters/index.js +31 -7
  60. package/build/higher-order/with-filters/index.js.map +1 -1
  61. package/build/higher-order/with-focus-return/index.js +10 -10
  62. package/build/higher-order/with-focus-return/index.js.map +1 -1
  63. package/build/higher-order/with-notices/index.js +28 -25
  64. package/build/higher-order/with-notices/index.js.map +1 -1
  65. package/build/higher-order/with-notices/types.js +6 -0
  66. package/build/higher-order/with-notices/types.js.map +1 -0
  67. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  68. package/build/icon/index.js +1 -8
  69. package/build/icon/index.js.map +1 -1
  70. package/build/index.native.js +18 -9
  71. package/build/index.native.js.map +1 -1
  72. package/build/mobile/bottom-sheet/cell.native.js +1 -1
  73. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  74. package/build/mobile/bottom-sheet-text-control/index.native.js +4 -3
  75. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  76. package/build/mobile/global-styles-context/utils.native.js +2 -1
  77. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  78. package/build/navigation/back-button/index.js +6 -5
  79. package/build/navigation/back-button/index.js.map +1 -1
  80. package/build/navigation/constants.js.map +1 -1
  81. package/build/navigation/context.js +7 -4
  82. package/build/navigation/context.js.map +1 -1
  83. package/build/navigation/group/context.js.map +1 -1
  84. package/build/navigation/group/index.js +5 -1
  85. package/build/navigation/group/index.js.map +1 -1
  86. package/build/navigation/index.js +49 -3
  87. package/build/navigation/index.js.map +1 -1
  88. package/build/navigation/item/base-content.js +0 -1
  89. package/build/navigation/item/base-content.js.map +1 -1
  90. package/build/navigation/item/base.js.map +1 -1
  91. package/build/navigation/item/index.js +5 -1
  92. package/build/navigation/item/index.js.map +1 -1
  93. package/build/navigation/item/use-navigation-tree-item.js +1 -1
  94. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  95. package/build/navigation/menu/context.js.map +1 -1
  96. package/build/navigation/menu/index.js +5 -1
  97. package/build/navigation/menu/index.js.map +1 -1
  98. package/build/navigation/menu/menu-title-search.js +8 -6
  99. package/build/navigation/menu/menu-title-search.js.map +1 -1
  100. package/build/navigation/menu/menu-title.js +4 -2
  101. package/build/navigation/menu/menu-title.js.map +1 -1
  102. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  103. package/build/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  104. package/build/navigation/styles/navigation-styles.js +36 -36
  105. package/build/navigation/styles/navigation-styles.js.map +1 -1
  106. package/build/navigation/types.js +6 -0
  107. package/build/navigation/types.js.map +1 -0
  108. package/build/navigation/use-create-navigation-tree.js +7 -0
  109. package/build/navigation/use-create-navigation-tree.js.map +1 -1
  110. package/build/navigation/use-navigation-tree-nodes.js +3 -5
  111. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  112. package/build/navigation/utils.js.map +1 -1
  113. package/build/navigator/navigator-screen/component.js +5 -3
  114. package/build/navigator/navigator-screen/component.js.map +1 -1
  115. package/build/number-control/index.js +1 -3
  116. package/build/number-control/index.js.map +1 -1
  117. package/build/palette-edit/index.js +67 -27
  118. package/build/palette-edit/index.js.map +1 -1
  119. package/build/palette-edit/types.js +6 -0
  120. package/build/palette-edit/types.js.map +1 -0
  121. package/build/panel/body.js +15 -17
  122. package/build/panel/body.js.map +1 -1
  123. package/build/placeholder/index.js.map +1 -1
  124. package/build/query-controls/author-select.js +0 -4
  125. package/build/query-controls/author-select.js.map +1 -1
  126. package/build/query-controls/category-select.js +0 -4
  127. package/build/query-controls/category-select.js.map +1 -1
  128. package/build/query-controls/terms.js +30 -15
  129. package/build/query-controls/terms.js.map +1 -1
  130. package/build/range-control/index.js +1 -0
  131. package/build/range-control/index.js.map +1 -1
  132. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  133. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  134. package/build/responsive-wrapper/index.js +12 -13
  135. package/build/responsive-wrapper/index.js.map +1 -1
  136. package/build/select-control/index.js +19 -16
  137. package/build/select-control/index.js.map +1 -1
  138. package/build/toolbar/toolbar-button/index.js +32 -10
  139. package/build/toolbar/toolbar-button/index.js.map +1 -1
  140. package/build/toolbar/toolbar-button/toolbar-button-container.js +12 -4
  141. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  142. package/build/toolbar/toolbar-button/types.js +6 -0
  143. package/build/toolbar/toolbar-button/types.js.map +1 -0
  144. package/build/toolbar/toolbar-context/index.js +4 -2
  145. package/build/toolbar/toolbar-context/index.js.map +1 -1
  146. package/build/tools-panel/context.js +2 -0
  147. package/build/tools-panel/context.js.map +1 -1
  148. package/build/tools-panel/tools-panel/hook.js +18 -12
  149. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  150. package/build/tools-panel/tools-panel-item/hook.js +14 -2
  151. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  152. package/build/tooltip/index.js +18 -6
  153. package/build/tooltip/index.js.map +1 -1
  154. package/build/tree-select/index.js.map +1 -1
  155. package/build/ui/context/context-system-provider.js +8 -4
  156. package/build/ui/context/context-system-provider.js.map +1 -1
  157. package/build/ui/context/get-styled-class-name-from-key.js +2 -2
  158. package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
  159. package/build/utils/font.js +3 -7
  160. package/build/utils/font.js.map +1 -1
  161. package/build/v-stack/hook.js +2 -0
  162. package/build/v-stack/hook.js.map +1 -1
  163. package/build-module/animate/index.js +3 -1
  164. package/build-module/animate/index.js.map +1 -1
  165. package/build-module/animation/index.js.map +1 -1
  166. package/build-module/autocomplete/autocompleter-ui.js +45 -24
  167. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  168. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  169. package/build-module/autocomplete/index.js +54 -122
  170. package/build-module/autocomplete/index.js.map +1 -1
  171. package/build-module/autocomplete/types.js +2 -0
  172. package/build-module/autocomplete/types.js.map +1 -0
  173. package/build-module/circular-option-picker/index.js +59 -16
  174. package/build-module/circular-option-picker/index.js.map +1 -1
  175. package/build-module/circular-option-picker/types.js +2 -0
  176. package/build-module/circular-option-picker/types.js.map +1 -0
  177. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +1 -0
  178. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  179. package/build-module/custom-gradient-picker/gradient-bar/index.js +1 -0
  180. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  181. package/build-module/custom-gradient-picker/gradient-bar/utils.js +2 -0
  182. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  183. package/build-module/custom-gradient-picker/index.js +1 -0
  184. package/build-module/custom-gradient-picker/index.js.map +1 -1
  185. package/build-module/custom-gradient-picker/serializer.js +1 -0
  186. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  187. package/build-module/custom-gradient-picker/utils.js +2 -0
  188. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  189. package/build-module/dimension-control/index.js +28 -3
  190. package/build-module/dimension-control/index.js.map +1 -1
  191. package/build-module/dimension-control/sizes.js +6 -5
  192. package/build-module/dimension-control/sizes.js.map +1 -1
  193. package/build-module/dimension-control/types.js +2 -0
  194. package/build-module/dimension-control/types.js.map +1 -0
  195. package/build-module/dropdown-menu/index.js +6 -2
  196. package/build-module/dropdown-menu/index.js.map +1 -1
  197. package/build-module/flex/flex/hook.js +3 -3
  198. package/build-module/flex/flex/hook.js.map +1 -1
  199. package/build-module/font-size-picker/index.js +2 -1
  200. package/build-module/font-size-picker/index.js.map +1 -1
  201. package/build-module/form-token-field/index.js +1 -1
  202. package/build-module/form-token-field/index.js.map +1 -1
  203. package/build-module/gradient-picker/index.js +1 -0
  204. package/build-module/gradient-picker/index.js.map +1 -1
  205. package/build-module/guide/icons.js.map +1 -1
  206. package/build-module/guide/index.js +45 -8
  207. package/build-module/guide/index.js.map +1 -1
  208. package/build-module/guide/page-control.js.map +1 -1
  209. package/build-module/guide/page.js +4 -0
  210. package/build-module/guide/page.js.map +1 -1
  211. package/build-module/guide/types.js +2 -0
  212. package/build-module/guide/types.js.map +1 -0
  213. package/build-module/h-stack/utils.js +5 -5
  214. package/build-module/h-stack/utils.js.map +1 -1
  215. package/build-module/higher-order/navigate-regions/index.js +33 -3
  216. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  217. package/build-module/higher-order/with-constrained-tabbing/index.js +9 -0
  218. package/build-module/higher-order/with-constrained-tabbing/index.js.map +1 -1
  219. package/build-module/higher-order/with-fallback-styles/index.js +2 -2
  220. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  221. package/build-module/higher-order/with-filters/index.js +31 -7
  222. package/build-module/higher-order/with-filters/index.js.map +1 -1
  223. package/build-module/higher-order/with-focus-return/index.js +10 -10
  224. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  225. package/build-module/higher-order/with-notices/index.js +29 -26
  226. package/build-module/higher-order/with-notices/index.js.map +1 -1
  227. package/build-module/higher-order/with-notices/types.js +2 -0
  228. package/build-module/higher-order/with-notices/types.js.map +1 -0
  229. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  230. package/build-module/icon/index.js +2 -9
  231. package/build-module/icon/index.js.map +1 -1
  232. package/build-module/index.native.js +1 -0
  233. package/build-module/index.native.js.map +1 -1
  234. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  235. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  236. package/build-module/mobile/bottom-sheet-text-control/index.native.js +4 -3
  237. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  238. package/build-module/mobile/global-styles-context/utils.native.js +2 -1
  239. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  240. package/build-module/navigation/back-button/index.js +4 -3
  241. package/build-module/navigation/back-button/index.js.map +1 -1
  242. package/build-module/navigation/constants.js.map +1 -1
  243. package/build-module/navigation/context.js +7 -4
  244. package/build-module/navigation/context.js.map +1 -1
  245. package/build-module/navigation/group/context.js +4 -0
  246. package/build-module/navigation/group/context.js.map +1 -1
  247. package/build-module/navigation/group/index.js +2 -1
  248. package/build-module/navigation/group/index.js.map +1 -1
  249. package/build-module/navigation/index.js +46 -3
  250. package/build-module/navigation/index.js.map +1 -1
  251. package/build-module/navigation/item/base-content.js +0 -1
  252. package/build-module/navigation/item/base-content.js.map +1 -1
  253. package/build-module/navigation/item/base.js.map +1 -1
  254. package/build-module/navigation/item/index.js +2 -1
  255. package/build-module/navigation/item/index.js.map +1 -1
  256. package/build-module/navigation/item/use-navigation-tree-item.js +1 -1
  257. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  258. package/build-module/navigation/menu/context.js +4 -0
  259. package/build-module/navigation/menu/context.js.map +1 -1
  260. package/build-module/navigation/menu/index.js +2 -1
  261. package/build-module/navigation/menu/index.js.map +1 -1
  262. package/build-module/navigation/menu/menu-title-search.js +8 -6
  263. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  264. package/build-module/navigation/menu/menu-title.js +4 -2
  265. package/build-module/navigation/menu/menu-title.js.map +1 -1
  266. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  267. package/build-module/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  268. package/build-module/navigation/styles/navigation-styles.js +36 -36
  269. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  270. package/build-module/navigation/types.js +2 -0
  271. package/build-module/navigation/types.js.map +1 -0
  272. package/build-module/navigation/use-create-navigation-tree.js +7 -0
  273. package/build-module/navigation/use-create-navigation-tree.js.map +1 -1
  274. package/build-module/navigation/use-navigation-tree-nodes.js +2 -2
  275. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  276. package/build-module/navigation/utils.js.map +1 -1
  277. package/build-module/navigator/navigator-screen/component.js +5 -3
  278. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  279. package/build-module/number-control/index.js +1 -3
  280. package/build-module/number-control/index.js.map +1 -1
  281. package/build-module/palette-edit/index.js +65 -27
  282. package/build-module/palette-edit/index.js.map +1 -1
  283. package/build-module/palette-edit/types.js +2 -0
  284. package/build-module/palette-edit/types.js.map +1 -0
  285. package/build-module/panel/body.js +12 -12
  286. package/build-module/panel/body.js.map +1 -1
  287. package/build-module/placeholder/index.js.map +1 -1
  288. package/build-module/query-controls/author-select.js +0 -4
  289. package/build-module/query-controls/author-select.js.map +1 -1
  290. package/build-module/query-controls/category-select.js +1 -5
  291. package/build-module/query-controls/category-select.js.map +1 -1
  292. package/build-module/query-controls/terms.js +29 -16
  293. package/build-module/query-controls/terms.js.map +1 -1
  294. package/build-module/range-control/index.js +1 -0
  295. package/build-module/range-control/index.js.map +1 -1
  296. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  297. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  298. package/build-module/responsive-wrapper/index.js +12 -12
  299. package/build-module/responsive-wrapper/index.js.map +1 -1
  300. package/build-module/select-control/index.js +20 -17
  301. package/build-module/select-control/index.js.map +1 -1
  302. package/build-module/toolbar/toolbar-button/index.js +32 -9
  303. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  304. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +12 -4
  305. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  306. package/build-module/toolbar/toolbar-button/types.js +2 -0
  307. package/build-module/toolbar/toolbar-button/types.js.map +1 -0
  308. package/build-module/toolbar/toolbar-context/index.js +4 -2
  309. package/build-module/toolbar/toolbar-context/index.js.map +1 -1
  310. package/build-module/tools-panel/context.js +2 -0
  311. package/build-module/tools-panel/context.js.map +1 -1
  312. package/build-module/tools-panel/tools-panel/hook.js +18 -12
  313. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  314. package/build-module/tools-panel/tools-panel-item/hook.js +14 -2
  315. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  316. package/build-module/tooltip/index.js +16 -6
  317. package/build-module/tooltip/index.js.map +1 -1
  318. package/build-module/tree-select/index.js.map +1 -1
  319. package/build-module/ui/context/context-system-provider.js +7 -4
  320. package/build-module/ui/context/context-system-provider.js.map +1 -1
  321. package/build-module/ui/context/get-styled-class-name-from-key.js +1 -1
  322. package/build-module/ui/context/get-styled-class-name-from-key.js.map +1 -1
  323. package/build-module/utils/font.js +3 -6
  324. package/build-module/utils/font.js.map +1 -1
  325. package/build-module/v-stack/hook.js +2 -0
  326. package/build-module/v-stack/hook.js.map +1 -1
  327. package/build-style/style-rtl.css +15 -11
  328. package/build-style/style.css +15 -11
  329. package/build-types/alignment-matrix-control/types.d.ts +4 -4
  330. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  331. package/build-types/angle-picker-control/types.d.ts +2 -2
  332. package/build-types/angle-picker-control/types.d.ts.map +1 -1
  333. package/build-types/animate/index.d.ts +2 -2
  334. package/build-types/animate/index.d.ts.map +1 -1
  335. package/build-types/animation/index.d.ts +8 -1
  336. package/build-types/animation/index.d.ts.map +1 -1
  337. package/build-types/autocomplete/autocompleter-ui.d.ts +4 -0
  338. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -0
  339. package/build-types/autocomplete/get-default-use-items.d.ts +3 -0
  340. package/build-types/autocomplete/get-default-use-items.d.ts.map +1 -0
  341. package/build-types/autocomplete/index.d.ts +23 -0
  342. package/build-types/autocomplete/index.d.ts.map +1 -0
  343. package/build-types/autocomplete/test/index.d.ts +2 -0
  344. package/build-types/autocomplete/test/index.d.ts.map +1 -0
  345. package/build-types/autocomplete/types.d.ts +201 -0
  346. package/build-types/autocomplete/types.d.ts.map +1 -0
  347. package/build-types/base-control/types.d.ts +2 -2
  348. package/build-types/base-control/types.d.ts.map +1 -1
  349. package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
  350. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  351. package/build-types/border-box-control/styles.d.ts +3 -3
  352. package/build-types/border-box-control/styles.d.ts.map +1 -1
  353. package/build-types/border-box-control/types.d.ts +8 -8
  354. package/build-types/border-box-control/types.d.ts.map +1 -1
  355. package/build-types/border-box-control/utils.d.ts +5 -5
  356. package/build-types/border-box-control/utils.d.ts.map +1 -1
  357. package/build-types/border-control/border-control/hook.d.ts +3 -3
  358. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  359. package/build-types/border-control/border-control-dropdown/hook.d.ts +2 -2
  360. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  361. package/build-types/border-control/styles.d.ts +4 -4
  362. package/build-types/border-control/styles.d.ts.map +1 -1
  363. package/build-types/border-control/types.d.ts +6 -6
  364. package/build-types/border-control/types.d.ts.map +1 -1
  365. package/build-types/box-control/types.d.ts +6 -6
  366. package/build-types/box-control/types.d.ts.map +1 -1
  367. package/build-types/button/deprecated.d.ts +6 -6
  368. package/build-types/button/types.d.ts +10 -10
  369. package/build-types/button/types.d.ts.map +1 -1
  370. package/build-types/button-group/types.d.ts +1 -1
  371. package/build-types/button-group/types.d.ts.map +1 -1
  372. package/build-types/card/card/hook.d.ts +1 -1
  373. package/build-types/card/card/hook.d.ts.map +1 -1
  374. package/build-types/card/types.d.ts +10 -10
  375. package/build-types/card/types.d.ts.map +1 -1
  376. package/build-types/checkbox-control/types.d.ts +1 -1
  377. package/build-types/checkbox-control/types.d.ts.map +1 -1
  378. package/build-types/circular-option-picker/index.d.ts +56 -7
  379. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  380. package/build-types/circular-option-picker/stories/index.d.ts +14 -0
  381. package/build-types/circular-option-picker/stories/index.d.ts.map +1 -0
  382. package/build-types/circular-option-picker/types.d.ts +49 -0
  383. package/build-types/circular-option-picker/types.d.ts.map +1 -0
  384. package/build-types/color-indicator/types.d.ts +1 -1
  385. package/build-types/color-indicator/types.d.ts.map +1 -1
  386. package/build-types/color-list-picker/types.d.ts +2 -2
  387. package/build-types/color-list-picker/types.d.ts.map +1 -1
  388. package/build-types/color-palette/types.d.ts +7 -7
  389. package/build-types/color-palette/types.d.ts.map +1 -1
  390. package/build-types/color-palette/utils.d.ts +1 -1
  391. package/build-types/color-palette/utils.d.ts.map +1 -1
  392. package/build-types/color-picker/legacy-adapter.d.ts +1 -1
  393. package/build-types/color-picker/legacy-adapter.d.ts.map +1 -1
  394. package/build-types/color-picker/styles.d.ts +3 -3
  395. package/build-types/color-picker/types.d.ts +2 -2
  396. package/build-types/color-picker/types.d.ts.map +1 -1
  397. package/build-types/color-picker/use-deprecated-props.d.ts +2 -2
  398. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  399. package/build-types/combobox-control/types.d.ts +2 -2
  400. package/build-types/combobox-control/types.d.ts.map +1 -1
  401. package/build-types/confirm-dialog/component.d.ts +4 -4
  402. package/build-types/confirm-dialog/types.d.ts +5 -5
  403. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  404. package/build-types/custom-gradient-picker/constants.d.ts +25 -0
  405. package/build-types/custom-gradient-picker/constants.d.ts.map +1 -0
  406. package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts +8 -0
  407. package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts.map +1 -0
  408. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +25 -0
  409. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -0
  410. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +10 -0
  411. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -0
  412. package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts +138 -0
  413. package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts.map +1 -0
  414. package/build-types/custom-gradient-picker/index.d.ts +7 -0
  415. package/build-types/custom-gradient-picker/index.d.ts.map +1 -0
  416. package/build-types/custom-gradient-picker/serializer.d.ts +17 -0
  417. package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -0
  418. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +11 -0
  419. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts.map +1 -0
  420. package/build-types/custom-gradient-picker/utils.d.ts +5 -0
  421. package/build-types/custom-gradient-picker/utils.d.ts.map +1 -0
  422. package/build-types/custom-select-control/styles.d.ts +1 -1
  423. package/build-types/custom-select-control/styles.d.ts.map +1 -1
  424. package/build-types/dashicon/types.d.ts +2 -2
  425. package/build-types/dashicon/types.d.ts.map +1 -1
  426. package/build-types/date-time/date-time/styles.d.ts +1 -4
  427. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  428. package/build-types/date-time/time/styles.d.ts +1 -1
  429. package/build-types/date-time/types.d.ts +4 -4
  430. package/build-types/date-time/types.d.ts.map +1 -1
  431. package/build-types/dimension-control/index.d.ts +28 -0
  432. package/build-types/dimension-control/index.d.ts.map +1 -0
  433. package/build-types/dimension-control/sizes.d.ts +26 -0
  434. package/build-types/dimension-control/sizes.d.ts.map +1 -0
  435. package/build-types/dimension-control/stories/index.d.ts +12 -0
  436. package/build-types/dimension-control/stories/index.d.ts.map +1 -0
  437. package/build-types/dimension-control/types.d.ts +47 -0
  438. package/build-types/dimension-control/types.d.ts.map +1 -0
  439. package/build-types/divider/types.d.ts +1 -1
  440. package/build-types/divider/types.d.ts.map +1 -1
  441. package/build-types/draggable/types.d.ts +1 -1
  442. package/build-types/draggable/types.d.ts.map +1 -1
  443. package/build-types/drop-zone/types.d.ts +2 -2
  444. package/build-types/drop-zone/types.d.ts.map +1 -1
  445. package/build-types/dropdown/types.d.ts +3 -3
  446. package/build-types/dropdown/types.d.ts.map +1 -1
  447. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  448. package/build-types/elevation/types.d.ts +1 -1
  449. package/build-types/elevation/types.d.ts.map +1 -1
  450. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  451. package/build-types/external-link/types.d.ts +1 -1
  452. package/build-types/external-link/types.d.ts.map +1 -1
  453. package/build-types/flex/types.d.ts +4 -4
  454. package/build-types/flex/types.d.ts.map +1 -1
  455. package/build-types/focal-point-picker/types.d.ts +7 -7
  456. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  457. package/build-types/font-size-picker/index.d.ts.map +1 -1
  458. package/build-types/font-size-picker/stories/index.d.ts.map +1 -1
  459. package/build-types/font-size-picker/types.d.ts +9 -5
  460. package/build-types/font-size-picker/types.d.ts.map +1 -1
  461. package/build-types/form-file-upload/types.d.ts +1 -1
  462. package/build-types/form-file-upload/types.d.ts.map +1 -1
  463. package/build-types/form-toggle/types.d.ts +1 -1
  464. package/build-types/form-toggle/types.d.ts.map +1 -1
  465. package/build-types/form-token-field/index.d.ts.map +1 -1
  466. package/build-types/form-token-field/stories/index.d.ts +6 -0
  467. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  468. package/build-types/form-token-field/styles.d.ts +1 -1
  469. package/build-types/form-token-field/styles.d.ts.map +1 -1
  470. package/build-types/form-token-field/types.d.ts +1 -1
  471. package/build-types/form-token-field/types.d.ts.map +1 -1
  472. package/build-types/gradient-picker/index.d.ts +12 -0
  473. package/build-types/gradient-picker/index.d.ts.map +1 -0
  474. package/build-types/grid/types.d.ts +2 -2
  475. package/build-types/grid/types.d.ts.map +1 -1
  476. package/build-types/guide/icons.d.ts +5 -0
  477. package/build-types/guide/icons.d.ts.map +1 -0
  478. package/build-types/guide/index.d.ts +37 -0
  479. package/build-types/guide/index.d.ts.map +1 -0
  480. package/build-types/guide/page-control.d.ts +4 -0
  481. package/build-types/guide/page-control.d.ts.map +1 -0
  482. package/build-types/guide/page.d.ts +7 -0
  483. package/build-types/guide/page.d.ts.map +1 -0
  484. package/build-types/guide/stories/index.d.ts +9 -0
  485. package/build-types/guide/stories/index.d.ts.map +1 -0
  486. package/build-types/guide/test/index.d.ts +2 -0
  487. package/build-types/guide/test/index.d.ts.map +1 -0
  488. package/build-types/guide/types.d.ts +65 -0
  489. package/build-types/guide/types.d.ts.map +1 -0
  490. package/build-types/h-stack/stories/e2e/index.d.ts +9 -0
  491. package/build-types/h-stack/stories/e2e/index.d.ts.map +1 -0
  492. package/build-types/h-stack/types.d.ts +6 -6
  493. package/build-types/h-stack/types.d.ts.map +1 -1
  494. package/build-types/heading/hook.d.ts +1 -1
  495. package/build-types/heading/types.d.ts +2 -2
  496. package/build-types/heading/types.d.ts.map +1 -1
  497. package/build-types/higher-order/navigate-regions/index.d.ts +46 -0
  498. package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -0
  499. package/build-types/higher-order/with-constrained-tabbing/index.d.ts +10 -1
  500. package/build-types/higher-order/with-constrained-tabbing/index.d.ts.map +1 -1
  501. package/build-types/higher-order/with-fallback-styles/index.d.ts +44 -0
  502. package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -0
  503. package/build-types/higher-order/with-filters/index.d.ts +89 -0
  504. package/build-types/higher-order/with-filters/index.d.ts.map +1 -0
  505. package/build-types/higher-order/with-filters/test/index.d.ts +2 -0
  506. package/build-types/higher-order/with-filters/test/index.d.ts.map +1 -0
  507. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
  508. package/build-types/higher-order/with-focus-return/index.d.ts +20 -0
  509. package/build-types/higher-order/with-focus-return/index.d.ts.map +1 -0
  510. package/build-types/higher-order/with-focus-return/test/index.d.ts +2 -0
  511. package/build-types/higher-order/with-focus-return/test/index.d.ts.map +1 -0
  512. package/build-types/higher-order/with-notices/index.d.ts +37 -0
  513. package/build-types/higher-order/with-notices/index.d.ts.map +1 -0
  514. package/build-types/higher-order/with-notices/test/index.d.ts +2 -0
  515. package/build-types/higher-order/with-notices/test/index.d.ts.map +1 -0
  516. package/build-types/higher-order/with-notices/types.d.ts +34 -0
  517. package/build-types/higher-order/with-notices/types.d.ts.map +1 -0
  518. package/build-types/higher-order/with-spoken-messages/index.d.ts +13 -2
  519. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
  520. package/build-types/higher-order/with-spoken-messages/test/index.d.ts +2 -0
  521. package/build-types/higher-order/with-spoken-messages/test/index.d.ts.map +1 -0
  522. package/build-types/icon/index.d.ts +10 -6
  523. package/build-types/icon/index.d.ts.map +1 -1
  524. package/build-types/icon/test/index.d.ts +2 -0
  525. package/build-types/icon/test/index.d.ts.map +1 -0
  526. package/build-types/input-control/reducer/actions.d.ts +15 -15
  527. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  528. package/build-types/input-control/reducer/state.d.ts +1 -1
  529. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  530. package/build-types/input-control/styles/input-control-styles.d.ts +4 -4
  531. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  532. package/build-types/input-control/types.d.ts +7 -7
  533. package/build-types/input-control/types.d.ts.map +1 -1
  534. package/build-types/item-group/item/hook.d.ts +1 -1
  535. package/build-types/item-group/types.d.ts +2 -2
  536. package/build-types/item-group/types.d.ts.map +1 -1
  537. package/build-types/keyboard-shortcuts/types.d.ts +3 -3
  538. package/build-types/keyboard-shortcuts/types.d.ts.map +1 -1
  539. package/build-types/menu-group/types.d.ts +1 -1
  540. package/build-types/menu-group/types.d.ts.map +1 -1
  541. package/build-types/menu-item/index.d.ts +1 -1
  542. package/build-types/menu-items-choice/types.d.ts +2 -2
  543. package/build-types/menu-items-choice/types.d.ts.map +1 -1
  544. package/build-types/modal/types.d.ts +1 -1
  545. package/build-types/modal/types.d.ts.map +1 -1
  546. package/build-types/navigable-container/container.d.ts +1 -1
  547. package/build-types/navigable-container/menu.d.ts +1 -1
  548. package/build-types/navigable-container/tabbable.d.ts +1 -1
  549. package/build-types/navigation/back-button/index.d.ts +5 -0
  550. package/build-types/navigation/back-button/index.d.ts.map +1 -0
  551. package/build-types/navigation/constants.d.ts +3 -0
  552. package/build-types/navigation/constants.d.ts.map +1 -0
  553. package/build-types/navigation/context.d.ts +5 -0
  554. package/build-types/navigation/context.d.ts.map +1 -0
  555. package/build-types/navigation/group/context.d.ts +8 -0
  556. package/build-types/navigation/group/context.d.ts.map +1 -0
  557. package/build-types/navigation/group/index.d.ts +5 -0
  558. package/build-types/navigation/group/index.d.ts.map +1 -0
  559. package/build-types/navigation/index.d.ts +46 -0
  560. package/build-types/navigation/index.d.ts.map +1 -0
  561. package/build-types/navigation/item/base-content.d.ts +4 -0
  562. package/build-types/navigation/item/base-content.d.ts.map +1 -0
  563. package/build-types/navigation/item/base.d.ts +4 -0
  564. package/build-types/navigation/item/base.d.ts.map +1 -0
  565. package/build-types/navigation/item/index.d.ts +5 -0
  566. package/build-types/navigation/item/index.d.ts.map +1 -0
  567. package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
  568. package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
  569. package/build-types/navigation/menu/context.d.ts +8 -0
  570. package/build-types/navigation/menu/context.d.ts.map +1 -0
  571. package/build-types/navigation/menu/index.d.ts +5 -0
  572. package/build-types/navigation/menu/index.d.ts.map +1 -0
  573. package/build-types/navigation/menu/menu-title-search.d.ts +4 -0
  574. package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
  575. package/build-types/navigation/menu/menu-title.d.ts +4 -0
  576. package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
  577. package/build-types/navigation/menu/search-no-results-found.d.ts +4 -0
  578. package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
  579. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
  580. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
  581. package/build-types/navigation/stories/index.d.ts +18 -0
  582. package/build-types/navigation/stories/index.d.ts.map +1 -0
  583. package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
  584. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
  585. package/build-types/navigation/stories/utils/default.d.ts +10 -0
  586. package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
  587. package/build-types/navigation/stories/utils/group.d.ts +10 -0
  588. package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
  589. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
  590. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
  591. package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
  592. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
  593. package/build-types/navigation/stories/utils/search.d.ts +10 -0
  594. package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
  595. package/build-types/navigation/styles/navigation-styles.d.ts +58 -0
  596. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
  597. package/build-types/navigation/test/index.d.ts +2 -0
  598. package/build-types/navigation/test/index.d.ts.map +1 -0
  599. package/build-types/navigation/types.d.ts +267 -0
  600. package/build-types/navigation/types.d.ts.map +1 -0
  601. package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
  602. package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
  603. package/build-types/navigation/use-navigation-tree-nodes.d.ts +11 -0
  604. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
  605. package/build-types/navigation/utils.d.ts +3 -0
  606. package/build-types/navigation/utils.d.ts.map +1 -0
  607. package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
  608. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -1
  609. package/build-types/navigator/navigator-button/component.d.ts +1 -1
  610. package/build-types/navigator/navigator-button/hook.d.ts +1 -1
  611. package/build-types/navigator/navigator-screen/component.d.ts +1 -1
  612. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  613. package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -1
  614. package/build-types/navigator/types.d.ts +12 -12
  615. package/build-types/navigator/types.d.ts.map +1 -1
  616. package/build-types/notice/types.d.ts +7 -7
  617. package/build-types/notice/types.d.ts.map +1 -1
  618. package/build-types/number-control/index.d.ts.map +1 -1
  619. package/build-types/number-control/types.d.ts +1 -1
  620. package/build-types/number-control/types.d.ts.map +1 -1
  621. package/build-types/palette-edit/index.d.ts +37 -0
  622. package/build-types/palette-edit/index.d.ts.map +1 -0
  623. package/build-types/palette-edit/stories/index.d.ts +13 -0
  624. package/build-types/palette-edit/stories/index.d.ts.map +1 -0
  625. package/build-types/palette-edit/styles.d.ts +51 -0
  626. package/build-types/palette-edit/styles.d.ts.map +1 -0
  627. package/build-types/palette-edit/test/index.d.ts +2 -0
  628. package/build-types/palette-edit/test/index.d.ts.map +1 -0
  629. package/build-types/palette-edit/types.d.ts +114 -0
  630. package/build-types/palette-edit/types.d.ts.map +1 -0
  631. package/build-types/panel/body.d.ts +9 -0
  632. package/build-types/panel/body.d.ts.map +1 -0
  633. package/build-types/panel/stories/index.d.ts +19 -0
  634. package/build-types/panel/stories/index.d.ts.map +1 -0
  635. package/build-types/panel/test/body.d.ts +2 -0
  636. package/build-types/panel/test/body.d.ts.map +1 -0
  637. package/build-types/panel/types.d.ts +73 -3
  638. package/build-types/panel/types.d.ts.map +1 -1
  639. package/build-types/placeholder/index.d.ts +1 -1
  640. package/build-types/placeholder/index.d.ts.map +1 -1
  641. package/build-types/placeholder/types.d.ts +2 -2
  642. package/build-types/placeholder/types.d.ts.map +1 -1
  643. package/build-types/popover/limit-shift.d.ts +2 -2
  644. package/build-types/popover/limit-shift.d.ts.map +1 -1
  645. package/build-types/popover/types.d.ts +10 -10
  646. package/build-types/popover/types.d.ts.map +1 -1
  647. package/build-types/popover/utils.d.ts +2 -2
  648. package/build-types/popover/utils.d.ts.map +1 -1
  649. package/build-types/query-controls/author-select.d.ts.map +1 -1
  650. package/build-types/query-controls/category-select.d.ts.map +1 -1
  651. package/build-types/query-controls/terms.d.ts.map +1 -1
  652. package/build-types/query-controls/types.d.ts +12 -12
  653. package/build-types/query-controls/types.d.ts.map +1 -1
  654. package/build-types/radio-control/types.d.ts +1 -1
  655. package/build-types/radio-control/types.d.ts.map +1 -1
  656. package/build-types/radio-group/index.d.ts +1 -1
  657. package/build-types/radio-group/radio/index.d.ts +1 -1
  658. package/build-types/range-control/index.d.ts +2 -2
  659. package/build-types/range-control/types.d.ts +17 -17
  660. package/build-types/range-control/types.d.ts.map +1 -1
  661. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  662. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  663. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  664. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
  665. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  666. package/build-types/resizable-box/resize-tooltip/utils.d.ts +2 -2
  667. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  668. package/build-types/responsive-wrapper/index.d.ts.map +1 -1
  669. package/build-types/responsive-wrapper/stories/index.d.ts +10 -0
  670. package/build-types/responsive-wrapper/stories/index.d.ts.map +1 -1
  671. package/build-types/responsive-wrapper/types.d.ts +3 -3
  672. package/build-types/responsive-wrapper/types.d.ts.map +1 -1
  673. package/build-types/sandbox/types.d.ts +1 -1
  674. package/build-types/sandbox/types.d.ts.map +1 -1
  675. package/build-types/scrollable/types.d.ts +2 -2
  676. package/build-types/scrollable/types.d.ts.map +1 -1
  677. package/build-types/search-control/types.d.ts +1 -1
  678. package/build-types/search-control/types.d.ts.map +1 -1
  679. package/build-types/select-control/index.d.ts +2 -1
  680. package/build-types/select-control/index.d.ts.map +1 -1
  681. package/build-types/select-control/stories/index.d.ts +3 -3
  682. package/build-types/select-control/stories/index.d.ts.map +1 -1
  683. package/build-types/select-control/types.d.ts +44 -20
  684. package/build-types/select-control/types.d.ts.map +1 -1
  685. package/build-types/shortcut/types.d.ts +1 -1
  686. package/build-types/shortcut/types.d.ts.map +1 -1
  687. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -1
  688. package/build-types/slot-fill/provider.d.ts +1 -0
  689. package/build-types/slot-fill/provider.d.ts.map +1 -1
  690. package/build-types/snackbar/types.d.ts +3 -3
  691. package/build-types/snackbar/types.d.ts.map +1 -1
  692. package/build-types/spacer/types.d.ts +1 -1
  693. package/build-types/spacer/types.d.ts.map +1 -1
  694. package/build-types/spinner/index.d.ts +1 -1
  695. package/build-types/style-provider/types.d.ts +1 -1
  696. package/build-types/style-provider/types.d.ts.map +1 -1
  697. package/build-types/surface/types.d.ts +2 -2
  698. package/build-types/surface/types.d.ts.map +1 -1
  699. package/build-types/tab-panel/stories/index.d.ts +1 -0
  700. package/build-types/tab-panel/stories/index.d.ts.map +1 -1
  701. package/build-types/tab-panel/types.d.ts +5 -5
  702. package/build-types/tab-panel/types.d.ts.map +1 -1
  703. package/build-types/text/types.d.ts +3 -3
  704. package/build-types/text/types.d.ts.map +1 -1
  705. package/build-types/text-control/types.d.ts +1 -1
  706. package/build-types/text-control/types.d.ts.map +1 -1
  707. package/build-types/text-highlight/types.d.ts +1 -1
  708. package/build-types/text-highlight/types.d.ts.map +1 -1
  709. package/build-types/textarea-control/types.d.ts +1 -1
  710. package/build-types/textarea-control/types.d.ts.map +1 -1
  711. package/build-types/theme/types.d.ts +3 -3
  712. package/build-types/theme/types.d.ts.map +1 -1
  713. package/build-types/tip/types.d.ts +1 -1
  714. package/build-types/tip/types.d.ts.map +1 -1
  715. package/build-types/toggle-control/types.d.ts +1 -1
  716. package/build-types/toggle-control/types.d.ts.map +1 -1
  717. package/build-types/toggle-group-control/types.d.ts +10 -10
  718. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  719. package/build-types/toolbar/toolbar/types.d.ts +1 -1
  720. package/build-types/toolbar/toolbar/types.d.ts.map +1 -1
  721. package/build-types/toolbar/toolbar-button/index.d.ts +165 -11
  722. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  723. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +6 -1
  724. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -1
  725. package/build-types/toolbar/toolbar-button/types.d.ts +45 -0
  726. package/build-types/toolbar/toolbar-button/types.d.ts.map +1 -0
  727. package/build-types/toolbar/toolbar-context/index.d.ts +6 -1
  728. package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -1
  729. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +1 -1
  730. package/build-types/toolbar/toolbar-item/index.d.ts +1 -1
  731. package/build-types/tools-panel/context.d.ts.map +1 -1
  732. package/build-types/tools-panel/test/index.d.ts +2 -0
  733. package/build-types/tools-panel/test/index.d.ts.map +1 -0
  734. package/build-types/tools-panel/tools-panel/hook.d.ts +3 -1
  735. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  736. package/build-types/tools-panel/tools-panel-header/hook.d.ts +1 -1
  737. package/build-types/tools-panel/tools-panel-item/component.d.ts +1 -0
  738. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  739. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  740. package/build-types/tools-panel/types.d.ts +21 -19
  741. package/build-types/tools-panel/types.d.ts.map +1 -1
  742. package/build-types/tooltip/index.d.ts.map +1 -1
  743. package/build-types/tree-grid/types.d.ts +5 -5
  744. package/build-types/tree-grid/types.d.ts.map +1 -1
  745. package/build-types/tree-select/index.d.ts.map +1 -1
  746. package/build-types/tree-select/types.d.ts +4 -10
  747. package/build-types/tree-select/types.d.ts.map +1 -1
  748. package/build-types/truncate/types.d.ts +2 -2
  749. package/build-types/truncate/types.d.ts.map +1 -1
  750. package/build-types/ui/context/context-connect.d.ts +1 -1
  751. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  752. package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
  753. package/build-types/ui/context/wordpress-component.d.ts +3 -3
  754. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  755. package/build-types/ui/control-group/types.d.ts +2 -2
  756. package/build-types/ui/control-group/types.d.ts.map +1 -1
  757. package/build-types/ui/control-label/types.d.ts +1 -1
  758. package/build-types/ui/control-label/types.d.ts.map +1 -1
  759. package/build-types/ui/form-group/form-group-content.d.ts +1 -1
  760. package/build-types/ui/form-group/form-group-help.d.ts +1 -1
  761. package/build-types/ui/form-group/form-group-label.d.ts +1 -1
  762. package/build-types/ui/form-group/types.d.ts +5 -5
  763. package/build-types/ui/form-group/types.d.ts.map +1 -1
  764. package/build-types/ui/form-group/use-form-group.d.ts +3 -3
  765. package/build-types/ui/spinner/component.d.ts +1 -1
  766. package/build-types/ui/tooltip/content.d.ts +1 -1
  767. package/build-types/ui/tooltip/types.d.ts +2 -2
  768. package/build-types/ui/tooltip/types.d.ts.map +1 -1
  769. package/build-types/ui/utils/font-size.d.ts +1 -1
  770. package/build-types/ui/utils/font-size.d.ts.map +1 -1
  771. package/build-types/ui/utils/space.d.ts +1 -1
  772. package/build-types/ui/utils/space.d.ts.map +1 -1
  773. package/build-types/ui/utils/types.d.ts +4 -4
  774. package/build-types/ui/utils/types.d.ts.map +1 -1
  775. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  776. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  777. package/build-types/unit-control/types.d.ts +5 -5
  778. package/build-types/unit-control/types.d.ts.map +1 -1
  779. package/build-types/utils/breakpoint-values.d.ts +1 -1
  780. package/build-types/utils/colors-values.d.ts +1 -1
  781. package/build-types/utils/config-values.d.ts +9 -9
  782. package/build-types/utils/events.d.ts +1 -1
  783. package/build-types/utils/events.d.ts.map +1 -1
  784. package/build-types/utils/font-values.d.ts +1 -1
  785. package/build-types/utils/font.d.ts.map +1 -1
  786. package/build-types/utils/hooks/use-controlled-value.d.ts +1 -1
  787. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  788. package/build-types/utils/types.d.ts +4 -4
  789. package/build-types/utils/types.d.ts.map +1 -1
  790. package/build-types/v-stack/component.d.ts +1 -4
  791. package/build-types/v-stack/component.d.ts.map +1 -1
  792. package/build-types/v-stack/hook.d.ts.map +1 -1
  793. package/build-types/v-stack/stories/e2e/index.d.ts +9 -0
  794. package/build-types/v-stack/stories/e2e/index.d.ts.map +1 -0
  795. package/build-types/v-stack/stories/index.d.ts +1 -4
  796. package/build-types/v-stack/stories/index.d.ts.map +1 -1
  797. package/build-types/v-stack/types.d.ts +5 -3
  798. package/build-types/v-stack/types.d.ts.map +1 -1
  799. package/build-types/view/types.d.ts +1 -1
  800. package/build-types/view/types.d.ts.map +1 -1
  801. package/build-types/visually-hidden/types.d.ts +1 -1
  802. package/build-types/visually-hidden/types.d.ts.map +1 -1
  803. package/build-types/z-stack/types.d.ts +1 -1
  804. package/build-types/z-stack/types.d.ts.map +1 -1
  805. package/package.json +24 -22
  806. package/src/animate/index.js +3 -1
  807. package/src/autocomplete/README.md +51 -0
  808. package/src/autocomplete/autocompleter-ui.tsx +167 -0
  809. package/src/autocomplete/{get-default-use-items.js → get-default-use-items.tsx} +11 -6
  810. package/src/autocomplete/{index.js → index.tsx} +107 -141
  811. package/src/autocomplete/test/{index.js → index.tsx} +31 -20
  812. package/src/autocomplete/types.ts +220 -0
  813. package/src/border-control/test/index.js +0 -2
  814. package/src/button/style.scss +12 -1
  815. package/src/button/types.ts +2 -2
  816. package/src/circular-option-picker/README.md +141 -0
  817. package/src/circular-option-picker/{index.js → index.tsx} +74 -14
  818. package/src/circular-option-picker/stories/index.tsx +134 -0
  819. package/src/circular-option-picker/types.ts +69 -0
  820. package/src/color-palette/test/__snapshots__/index.tsx.snap +17 -15
  821. package/src/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  822. package/src/custom-gradient-picker/gradient-bar/index.js +2 -0
  823. package/src/custom-gradient-picker/gradient-bar/utils.js +2 -0
  824. package/src/custom-gradient-picker/index.js +2 -0
  825. package/src/custom-gradient-picker/serializer.js +2 -0
  826. package/src/custom-gradient-picker/utils.js +2 -0
  827. package/src/dimension-control/README.md +22 -55
  828. package/src/dimension-control/index.tsx +101 -0
  829. package/src/dimension-control/{sizes.js → sizes.ts} +8 -5
  830. package/src/dimension-control/stories/index.tsx +48 -0
  831. package/src/dimension-control/types.ts +48 -0
  832. package/src/dropdown-menu/index.js +6 -3
  833. package/src/flex/flex/hook.ts +2 -2
  834. package/src/font-size-picker/README.md +26 -20
  835. package/src/font-size-picker/index.tsx +2 -1
  836. package/src/font-size-picker/stories/index.tsx +1 -0
  837. package/src/font-size-picker/test/index.tsx +23 -0
  838. package/src/font-size-picker/types.ts +4 -0
  839. package/src/form-token-field/index.tsx +4 -1
  840. package/src/form-token-field/stories/index.tsx +13 -0
  841. package/src/form-token-field/test/index.tsx +80 -0
  842. package/src/gradient-picker/index.js +2 -0
  843. package/src/guide/README.md +17 -15
  844. package/src/guide/{icons.js → icons.tsx} +1 -1
  845. package/src/guide/{index.js → index.tsx} +47 -7
  846. package/src/guide/{page-control.js → page-control.tsx} +2 -1
  847. package/src/guide/{page.js → page.tsx} +8 -1
  848. package/src/guide/stories/{index.js → index.tsx} +11 -5
  849. package/src/guide/test/{index.js → index.tsx} +22 -4
  850. package/src/guide/types.ts +68 -0
  851. package/src/h-stack/README.md +2 -2
  852. package/src/h-stack/stories/e2e/index.tsx +36 -0
  853. package/src/h-stack/types.ts +2 -2
  854. package/src/h-stack/utils.ts +3 -3
  855. package/src/higher-order/navigate-regions/{index.js → index.tsx} +47 -11
  856. package/src/higher-order/navigate-regions/style.scss +2 -1
  857. package/src/higher-order/with-constrained-tabbing/index.tsx +30 -0
  858. package/src/higher-order/with-fallback-styles/{index.js → index.tsx} +22 -5
  859. package/src/higher-order/with-filters/{index.js → index.tsx} +44 -12
  860. package/src/higher-order/with-filters/test/{index.js → index.tsx} +5 -1
  861. package/src/higher-order/with-focus-return/index.tsx +74 -0
  862. package/src/higher-order/with-focus-return/test/{index.js → index.tsx} +2 -2
  863. package/src/higher-order/with-notices/README.md +4 -1
  864. package/src/higher-order/with-notices/index.tsx +116 -0
  865. package/src/higher-order/with-notices/test/{index.js → index.tsx} +11 -6
  866. package/src/higher-order/with-notices/types.ts +35 -0
  867. package/src/higher-order/with-spoken-messages/test/{index.js → index.tsx} +2 -1
  868. package/src/icon/index.tsx +11 -15
  869. package/src/icon/test/{index.js → index.tsx} +6 -2
  870. package/src/index.native.js +1 -0
  871. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +1 -1
  872. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  873. package/src/mobile/bottom-sheet-text-control/README.md +8 -1
  874. package/src/mobile/bottom-sheet-text-control/index.native.js +2 -1
  875. package/src/mobile/global-styles-context/utils.native.js +1 -0
  876. package/src/mobile/link-settings/test/link-settings-navigation.native.js +1 -1
  877. package/src/navigation/README.md +16 -2
  878. package/src/navigation/back-button/{index.js → index.tsx} +22 -6
  879. package/src/navigation/{context.js → context.tsx} +8 -5
  880. package/src/navigation/group/context.tsx +15 -0
  881. package/src/navigation/group/{index.js → index.tsx} +9 -1
  882. package/src/navigation/{index.js → index.tsx} +63 -7
  883. package/src/navigation/item/{base-content.js → base-content.tsx} +5 -2
  884. package/src/navigation/item/{base.js → base.tsx} +3 -1
  885. package/src/navigation/item/{index.js → index.tsx} +8 -2
  886. package/src/navigation/item/{use-navigation-tree-item.js → use-navigation-tree-item.tsx} +9 -2
  887. package/src/navigation/menu/context.tsx +18 -0
  888. package/src/navigation/menu/{index.js → index.tsx} +5 -1
  889. package/src/navigation/menu/{menu-title-search.js → menu-title-search.tsx} +11 -7
  890. package/src/navigation/menu/{menu-title.js → menu-title.tsx} +5 -3
  891. package/src/navigation/menu/{search-no-results-found.js → search-no-results-found.tsx} +5 -1
  892. package/src/navigation/menu/{use-navigation-tree-menu.js → use-navigation-tree-menu.tsx} +3 -1
  893. package/src/navigation/stories/index.tsx +53 -0
  894. package/src/navigation/stories/utils/{controlled-state.js → controlled-state.tsx} +32 -13
  895. package/src/navigation/stories/utils/{default.js → default.tsx} +20 -6
  896. package/src/navigation/stories/utils/{group.js → group.tsx} +21 -7
  897. package/src/navigation/stories/utils/{hide-if-empty.js → hide-if-empty.tsx} +19 -6
  898. package/src/navigation/stories/utils/{more-examples.js → more-examples.tsx} +30 -12
  899. package/src/navigation/stories/utils/{search.js → search.tsx} +21 -7
  900. package/src/navigation/test/{index.js → index.tsx} +17 -4
  901. package/src/navigation/types.ts +325 -0
  902. package/src/navigation/{use-create-navigation-tree.js → use-create-navigation-tree.tsx} +37 -25
  903. package/src/navigation/{use-navigation-tree-nodes.js → use-navigation-tree-nodes.tsx} +10 -6
  904. package/src/navigation/{utils.js → utils.tsx} +2 -2
  905. package/src/navigator/navigator-screen/component.tsx +13 -7
  906. package/src/navigator/test/index.tsx +65 -22
  907. package/src/number-control/index.tsx +0 -2
  908. package/src/palette-edit/{index.js → index.tsx} +115 -48
  909. package/src/palette-edit/stories/index.tsx +82 -0
  910. package/src/palette-edit/test/{index.js → index.tsx} +15 -3
  911. package/src/palette-edit/types.ts +126 -0
  912. package/src/panel/README.md +53 -35
  913. package/src/panel/{body.js → body.tsx} +31 -17
  914. package/src/panel/stories/{index.js → index.tsx} +16 -6
  915. package/src/panel/test/{body.js → body.tsx} +12 -17
  916. package/src/panel/types.ts +78 -0
  917. package/src/placeholder/index.tsx +2 -6
  918. package/src/placeholder/test/index.tsx +1 -1
  919. package/src/placeholder/types.ts +2 -2
  920. package/src/popover/test/index.tsx +5 -2
  921. package/src/query-controls/author-select.tsx +1 -6
  922. package/src/query-controls/category-select.tsx +1 -6
  923. package/src/query-controls/terms.ts +29 -18
  924. package/src/range-control/index.tsx +7 -7
  925. package/src/range-control/types.ts +3 -3
  926. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -1
  927. package/src/responsive-wrapper/README.md +8 -2
  928. package/src/responsive-wrapper/index.tsx +18 -17
  929. package/src/responsive-wrapper/stories/index.tsx +41 -0
  930. package/src/responsive-wrapper/style.scss +5 -11
  931. package/src/responsive-wrapper/types.ts +2 -2
  932. package/src/select-control/index.tsx +16 -16
  933. package/src/select-control/stories/index.tsx +24 -12
  934. package/src/select-control/types.ts +68 -40
  935. package/src/tab-panel/stories/index.tsx +41 -0
  936. package/src/tab-panel/test/index.tsx +794 -262
  937. package/src/tab-panel/types.ts +4 -4
  938. package/src/toolbar/toolbar-button/README.md +13 -1
  939. package/src/toolbar/toolbar-button/{index.js → index.tsx} +55 -20
  940. package/src/toolbar/toolbar-button/toolbar-button-container.tsx +13 -0
  941. package/src/toolbar/toolbar-button/types.ts +46 -0
  942. package/src/toolbar/toolbar-context/index.ts +15 -0
  943. package/src/tools-panel/context.ts +2 -0
  944. package/src/tools-panel/test/{index.js → index.tsx} +171 -61
  945. package/src/tools-panel/tools-panel/hook.ts +30 -11
  946. package/src/tools-panel/tools-panel-item/hook.ts +18 -2
  947. package/src/tools-panel/types.ts +12 -9
  948. package/src/tooltip/index.js +11 -1
  949. package/src/tree-grid/test/__snapshots__/index.tsx.snap +1 -1
  950. package/src/tree-select/index.tsx +5 -2
  951. package/src/tree-select/types.ts +6 -13
  952. package/src/ui/context/context-system-provider.js +7 -4
  953. package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
  954. package/src/utils/font.js +1 -6
  955. package/src/v-stack/README.md +2 -2
  956. package/src/v-stack/hook.ts +6 -4
  957. package/src/v-stack/stories/e2e/index.tsx +36 -0
  958. package/src/v-stack/stories/index.tsx +28 -7
  959. package/src/v-stack/test/__snapshots__/index.tsx.snap +20 -18
  960. package/src/v-stack/types.ts +5 -3
  961. package/tsconfig.json +1 -14
  962. package/tsconfig.tsbuildinfo +1 -1
  963. package/src/autocomplete/autocompleter-ui.js +0 -118
  964. package/src/dimension-control/index.js +0 -73
  965. package/src/higher-order/with-constrained-tabbing/index.js +0 -22
  966. package/src/higher-order/with-focus-return/index.js +0 -64
  967. package/src/higher-order/with-notices/index.js +0 -104
  968. package/src/navigation/group/context.js +0 -9
  969. package/src/navigation/menu/context.js +0 -11
  970. package/src/navigation/stories/index.js +0 -33
  971. package/src/toolbar/toolbar-button/toolbar-button-container.js +0 -6
  972. package/src/toolbar/toolbar-context/index.js +0 -10
  973. /package/src/animation/{index.js → index.tsx} +0 -0
  974. /package/src/higher-order/with-filters/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  975. /package/src/higher-order/with-spoken-messages/{index.js → index.tsx} +0 -0
  976. /package/src/navigation/{constants.js → constants.tsx} +0 -0
  977. /package/src/navigation/styles/{navigation-styles.js → navigation-styles.tsx} +0 -0
  978. /package/src/panel/test/__snapshots__/{body.js.snap → body.tsx.snap} +0 -0
@@ -19,16 +19,49 @@ import { focus } from '@wordpress/dom';
19
19
  import Modal from '../modal';
20
20
  import Button from '../button';
21
21
  import PageControl from './page-control';
22
- export default function Guide(_ref) {
22
+
23
+ /**
24
+ * `Guide` is a React component that renders a _user guide_ in a modal. The guide consists of several pages which the user can step through one by one. The guide is finished when the modal is closed or when the user clicks _Finish_ on the last page of the guide.
25
+ *
26
+ * ```jsx
27
+ * function MyTutorial() {
28
+ * const [ isOpen, setIsOpen ] = useState( true );
29
+ *
30
+ * if ( ! isOpen ) {
31
+ * return null;
32
+ * }
33
+ *
34
+ * return (
35
+ * <Guide
36
+ * onFinish={ () => setIsOpen( false ) }
37
+ * pages={ [
38
+ * {
39
+ * content: <p>Welcome to the ACME Store!</p>,
40
+ * },
41
+ * {
42
+ * image: <img src="https://acmestore.com/add-to-cart.png" />,
43
+ * content: (
44
+ * <p>
45
+ * Click <i>Add to Cart</i> to buy a product.
46
+ * </p>
47
+ * ),
48
+ * },
49
+ * ] }
50
+ * />
51
+ * );
52
+ * }
53
+ * ```
54
+ */
55
+ function Guide(_ref) {
23
56
  let {
24
57
  children,
25
58
  className,
26
59
  contentLabel,
27
- finishButtonText,
60
+ finishButtonText = __('Finish'),
28
61
  onFinish,
29
62
  pages = []
30
63
  } = _ref;
31
- const guideContainer = useRef();
64
+ const guideContainer = useRef(null);
32
65
  const [currentPage, setCurrentPage] = useState(0);
33
66
  useEffect(() => {
34
67
  if (Children.count(children)) {
@@ -42,16 +75,18 @@ export default function Guide(_ref) {
42
75
  // Each time we change the current page, start from the first element of the page.
43
76
  // This also solves any focus loss that can happen.
44
77
  if (guideContainer.current) {
45
- var _focus$tabbable$find, _focus$tabbable$find$;
78
+ var _;
46
79
 
47
- (_focus$tabbable$find = focus.tabbable.find(guideContainer.current)) === null || _focus$tabbable$find === void 0 ? void 0 : (_focus$tabbable$find$ = _focus$tabbable$find[0]) === null || _focus$tabbable$find$ === void 0 ? void 0 : _focus$tabbable$find$.focus();
80
+ (_ = focus.tabbable.find(guideContainer.current)[0]) === null || _ === void 0 ? void 0 : _.focus();
48
81
  }
49
82
  }, [currentPage]);
50
83
 
51
84
  if (Children.count(children)) {
52
- pages = Children.map(children, child => ({
85
+ var _Children$map;
86
+
87
+ pages = (_Children$map = Children.map(children, child => ({
53
88
  content: child
54
- }));
89
+ }))) !== null && _Children$map !== void 0 ? _Children$map : [];
55
90
  }
56
91
 
57
92
  const canGoBack = currentPage > 0;
@@ -108,6 +143,8 @@ export default function Guide(_ref) {
108
143
  }, __('Next')), !canGoForward && createElement(Button, {
109
144
  className: "components-guide__finish-button",
110
145
  onClick: onFinish
111
- }, finishButtonText || __('Finish')))));
146
+ }, finishButtonText))));
112
147
  }
148
+
149
+ export default Guide;
113
150
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/guide/index.js"],"names":["classnames","useState","useEffect","Children","useRef","deprecated","__","focus","Modal","Button","PageControl","Guide","children","className","contentLabel","finishButtonText","onFinish","pages","guideContainer","currentPage","setCurrentPage","count","since","alternative","current","tabbable","find","map","child","content","canGoBack","canGoForward","length","goBack","goForward","event","code","preventDefault","image"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, Children, useRef } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport Modal from '../modal';\nimport Button from '../button';\nimport PageControl from './page-control';\n\nexport default function Guide( {\n\tchildren,\n\tclassName,\n\tcontentLabel,\n\tfinishButtonText,\n\tonFinish,\n\tpages = [],\n} ) {\n\tconst guideContainer = useRef();\n\tconst [ currentPage, setCurrentPage ] = useState( 0 );\n\n\tuseEffect( () => {\n\t\tif ( Children.count( children ) ) {\n\t\t\tdeprecated( 'Passing children to <Guide>', {\n\t\t\t\tsince: '5.5',\n\t\t\t\talternative: 'the `pages` prop',\n\t\t\t} );\n\t\t}\n\t}, [ children ] );\n\n\tuseEffect( () => {\n\t\t// Each time we change the current page, start from the first element of the page.\n\t\t// This also solves any focus loss that can happen.\n\t\tif ( guideContainer.current ) {\n\t\t\tfocus.tabbable.find( guideContainer.current )?.[ 0 ]?.focus();\n\t\t}\n\t}, [ currentPage ] );\n\n\tif ( Children.count( children ) ) {\n\t\tpages = Children.map( children, ( child ) => ( { content: child } ) );\n\t}\n\n\tconst canGoBack = currentPage > 0;\n\tconst canGoForward = currentPage < pages.length - 1;\n\n\tconst goBack = () => {\n\t\tif ( canGoBack ) {\n\t\t\tsetCurrentPage( currentPage - 1 );\n\t\t}\n\t};\n\n\tconst goForward = () => {\n\t\tif ( canGoForward ) {\n\t\t\tsetCurrentPage( currentPage + 1 );\n\t\t}\n\t};\n\n\tif ( pages.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName={ classnames( 'components-guide', className ) }\n\t\t\tcontentLabel={ contentLabel }\n\t\t\tonRequestClose={ onFinish }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\tgoBack();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} else if ( event.code === 'ArrowRight' ) {\n\t\t\t\t\tgoForward();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tref={ guideContainer }\n\t\t>\n\t\t\t<div className=\"components-guide__container\">\n\t\t\t\t<div className=\"components-guide__page\">\n\t\t\t\t\t{ pages[ currentPage ].image }\n\n\t\t\t\t\t{ pages.length > 1 && (\n\t\t\t\t\t\t<PageControl\n\t\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\t\tnumberOfPages={ pages.length }\n\t\t\t\t\t\t\tsetCurrentPage={ setCurrentPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ pages[ currentPage ].content }\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"components-guide__footer\">\n\t\t\t\t\t{ canGoBack && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__back-button\"\n\t\t\t\t\t\t\tonClick={ goBack }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Previous' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__forward-button\"\n\t\t\t\t\t\t\tonClick={ goForward }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Next' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__finish-button\"\n\t\t\t\t\t\t\tonClick={ onFinish }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ finishButtonText || __( 'Finish' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/guide/index.tsx"],"names":["classnames","useState","useEffect","Children","useRef","deprecated","__","focus","Modal","Button","PageControl","Guide","children","className","contentLabel","finishButtonText","onFinish","pages","guideContainer","currentPage","setCurrentPage","count","since","alternative","current","tabbable","find","map","child","content","canGoBack","canGoForward","length","goBack","goForward","event","code","preventDefault","image"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, Children, useRef } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport Modal from '../modal';\nimport Button from '../button';\nimport PageControl from './page-control';\nimport type { GuideProps } from './types';\n\n/**\n * `Guide` is a React component that renders a _user guide_ in a modal. The guide consists of several pages which the user can step through one by one. The guide is finished when the modal is closed or when the user clicks _Finish_ on the last page of the guide.\n *\n * ```jsx\n * function MyTutorial() {\n * \tconst [ isOpen, setIsOpen ] = useState( true );\n *\n * \tif ( ! isOpen ) {\n * \t\treturn null;\n * \t}\n *\n * \treturn (\n * \t\t<Guide\n * \t\t\tonFinish={ () => setIsOpen( false ) }\n * \t\t\tpages={ [\n * \t\t\t\t{\n * \t\t\t\t\tcontent: <p>Welcome to the ACME Store!</p>,\n * \t\t\t\t},\n * \t\t\t\t{\n * \t\t\t\t\timage: <img src=\"https://acmestore.com/add-to-cart.png\" />,\n * \t\t\t\t\tcontent: (\n * \t\t\t\t\t\t<p>\n * \t\t\t\t\t\t\tClick <i>Add to Cart</i> to buy a product.\n * \t\t\t\t\t\t</p>\n * \t\t\t\t\t),\n * \t\t\t\t},\n * \t\t\t] }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction Guide( {\n\tchildren,\n\tclassName,\n\tcontentLabel,\n\tfinishButtonText = __( 'Finish' ),\n\tonFinish,\n\tpages = [],\n}: GuideProps ) {\n\tconst guideContainer = useRef< HTMLDivElement >( null );\n\tconst [ currentPage, setCurrentPage ] = useState( 0 );\n\n\tuseEffect( () => {\n\t\tif ( Children.count( children ) ) {\n\t\t\tdeprecated( 'Passing children to <Guide>', {\n\t\t\t\tsince: '5.5',\n\t\t\t\talternative: 'the `pages` prop',\n\t\t\t} );\n\t\t}\n\t}, [ children ] );\n\n\tuseEffect( () => {\n\t\t// Each time we change the current page, start from the first element of the page.\n\t\t// This also solves any focus loss that can happen.\n\t\tif ( guideContainer.current ) {\n\t\t\t(\n\t\t\t\tfocus.tabbable.find( guideContainer.current ) as HTMLElement[]\n\t\t\t )[ 0 ]?.focus();\n\t\t}\n\t}, [ currentPage ] );\n\n\tif ( Children.count( children ) ) {\n\t\tpages =\n\t\t\tChildren.map( children, ( child ) => ( {\n\t\t\t\tcontent: child,\n\t\t\t} ) ) ?? [];\n\t}\n\n\tconst canGoBack = currentPage > 0;\n\tconst canGoForward = currentPage < pages.length - 1;\n\n\tconst goBack = () => {\n\t\tif ( canGoBack ) {\n\t\t\tsetCurrentPage( currentPage - 1 );\n\t\t}\n\t};\n\n\tconst goForward = () => {\n\t\tif ( canGoForward ) {\n\t\t\tsetCurrentPage( currentPage + 1 );\n\t\t}\n\t};\n\n\tif ( pages.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName={ classnames( 'components-guide', className ) }\n\t\t\tcontentLabel={ contentLabel }\n\t\t\tonRequestClose={ onFinish }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\tgoBack();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} else if ( event.code === 'ArrowRight' ) {\n\t\t\t\t\tgoForward();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tref={ guideContainer }\n\t\t>\n\t\t\t<div className=\"components-guide__container\">\n\t\t\t\t<div className=\"components-guide__page\">\n\t\t\t\t\t{ pages[ currentPage ].image }\n\n\t\t\t\t\t{ pages.length > 1 && (\n\t\t\t\t\t\t<PageControl\n\t\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\t\tnumberOfPages={ pages.length }\n\t\t\t\t\t\t\tsetCurrentPage={ setCurrentPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ pages[ currentPage ].content }\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"components-guide__footer\">\n\t\t\t\t\t{ canGoBack && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__back-button\"\n\t\t\t\t\t\t\tonClick={ goBack }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Previous' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__forward-button\"\n\t\t\t\t\t\t\tonClick={ goForward }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Next' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__finish-button\"\n\t\t\t\t\t\t\tonClick={ onFinish }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ finishButtonText }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default Guide;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/guide/page-control.js"],"names":["__","sprintf","Button","PageControlIcon","PageControl","currentPage","numberOfPages","setCurrentPage","Array","from","length","map","_","page","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,eAAT,QAAgC,SAAhC;AAEA,eAAe,SAASC,WAAT,OAIX;AAAA,MAJiC;AACpCC,IAAAA,WADoC;AAEpCC,IAAAA,aAFoC;AAGpCC,IAAAA;AAHoC,GAIjC;AACH,SACC;AACC,IAAA,SAAS,EAAC,gCADX;AAEC,kBAAaP,EAAE,CAAE,gBAAF;AAFhB,KAIGQ,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEJ;AAAV,GAAZ,EAAwCK,GAAxC,CAA6C,CAAEC,CAAF,EAAKC,IAAL,KAC9C;AACC,IAAA,GAAG,EAAGA,IADP,CAEC;AAFD;AAGC,oBAAeA,IAAI,KAAKR,WAAT,GAAuB,MAAvB,GAAgCS;AAHhD,KAKC,cAAC,MAAD;AACC,IAAA,GAAG,EAAGD,IADP;AAEC,IAAA,IAAI,EACH,cAAC,eAAD;AACC,MAAA,UAAU,EAAGA,IAAI,KAAKR;AADvB,MAHF;AAOC,kBAAaJ,OAAO;AACnB;AACAD,IAAAA,EAAE,CAAE,mBAAF,CAFiB,EAGnBa,IAAI,GAAG,CAHY,EAInBP,aAJmB,CAPrB;AAaC,IAAA,OAAO,EAAG,MAAMC,cAAc,CAAEM,IAAF;AAb/B,IALD,CADC,CAJH,CADD;AA8BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { PageControlIcon } from './icons';\n\nexport default function PageControl( {\n\tcurrentPage,\n\tnumberOfPages,\n\tsetCurrentPage,\n} ) {\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"components-guide__page-control\"\n\t\t\taria-label={ __( 'Guide controls' ) }\n\t\t>\n\t\t\t{ Array.from( { length: numberOfPages } ).map( ( _, page ) => (\n\t\t\t\t<li\n\t\t\t\t\tkey={ page }\n\t\t\t\t\t// Set aria-current=\"step\" on the active page, see https://www.w3.org/TR/wai-aria-1.1/#aria-current\n\t\t\t\t\taria-current={ page === currentPage ? 'step' : undefined }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ page }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<PageControlIcon\n\t\t\t\t\t\t\t\tisSelected={ page === currentPage }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: current page number 2: total number of pages */\n\t\t\t\t\t\t\t__( 'Page %1$d of %2$d' ),\n\t\t\t\t\t\t\tpage + 1,\n\t\t\t\t\t\t\tnumberOfPages\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => setCurrentPage( page ) }\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/guide/page-control.tsx"],"names":["__","sprintf","Button","PageControlIcon","PageControl","currentPage","numberOfPages","setCurrentPage","Array","from","length","map","_","page","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,eAAT,QAAgC,SAAhC;AAGA,eAAe,SAASC,WAAT,OAIO;AAAA,MAJe;AACpCC,IAAAA,WADoC;AAEpCC,IAAAA,aAFoC;AAGpCC,IAAAA;AAHoC,GAIf;AACrB,SACC;AACC,IAAA,SAAS,EAAC,gCADX;AAEC,kBAAaP,EAAE,CAAE,gBAAF;AAFhB,KAIGQ,KAAK,CAACC,IAAN,CAAY;AAAEC,IAAAA,MAAM,EAAEJ;AAAV,GAAZ,EAAwCK,GAAxC,CAA6C,CAAEC,CAAF,EAAKC,IAAL,KAC9C;AACC,IAAA,GAAG,EAAGA,IADP,CAEC;AAFD;AAGC,oBAAeA,IAAI,KAAKR,WAAT,GAAuB,MAAvB,GAAgCS;AAHhD,KAKC,cAAC,MAAD;AACC,IAAA,GAAG,EAAGD,IADP;AAEC,IAAA,IAAI,EACH,cAAC,eAAD;AACC,MAAA,UAAU,EAAGA,IAAI,KAAKR;AADvB,MAHF;AAOC,kBAAaJ,OAAO;AACnB;AACAD,IAAAA,EAAE,CAAE,mBAAF,CAFiB,EAGnBa,IAAI,GAAG,CAHY,EAInBP,aAJmB,CAPrB;AAaC,IAAA,OAAO,EAAG,MAAMC,cAAc,CAAEM,IAAF;AAb/B,IALD,CADC,CAJH,CADD;AA8BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { PageControlIcon } from './icons';\nimport type { PageControlProps } from './types';\n\nexport default function PageControl( {\n\tcurrentPage,\n\tnumberOfPages,\n\tsetCurrentPage,\n}: PageControlProps ) {\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"components-guide__page-control\"\n\t\t\taria-label={ __( 'Guide controls' ) }\n\t\t>\n\t\t\t{ Array.from( { length: numberOfPages } ).map( ( _, page ) => (\n\t\t\t\t<li\n\t\t\t\t\tkey={ page }\n\t\t\t\t\t// Set aria-current=\"step\" on the active page, see https://www.w3.org/TR/wai-aria-1.1/#aria-current\n\t\t\t\t\taria-current={ page === currentPage ? 'step' : undefined }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ page }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<PageControlIcon\n\t\t\t\t\t\t\t\tisSelected={ page === currentPage }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: current page number 2: total number of pages */\n\t\t\t\t\t\t\t__( 'Page %1$d of %2$d' ),\n\t\t\t\t\t\t\tpage + 1,\n\t\t\t\t\t\t\tnumberOfPages\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => setCurrentPage( page ) }\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
@@ -5,6 +5,10 @@ import { createElement } from "@wordpress/element";
5
5
  */
6
6
  import { useEffect } from '@wordpress/element';
7
7
  import deprecated from '@wordpress/deprecated';
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+
8
12
  export default function GuidePage(props) {
9
13
  useEffect(() => {
10
14
  deprecated('<GuidePage>', {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/guide/page.js"],"names":["useEffect","deprecated","GuidePage","props","since","alternative"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA,eAAe,SAASC,SAAT,CAAoBC,KAApB,EAA4B;AAC1CH,EAAAA,SAAS,CAAE,MAAM;AAChBC,IAAAA,UAAU,CAAE,aAAF,EAAiB;AAC1BG,MAAAA,KAAK,EAAE,KADmB;AAE1BC,MAAAA,WAAW,EAAE;AAFa,KAAjB,CAAV;AAIA,GALQ,EAKN,EALM,CAAT;AAOA,SAAO,qBAAUF,KAAV,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\nexport default function GuidePage( props ) {\n\tuseEffect( () => {\n\t\tdeprecated( '<GuidePage>', {\n\t\t\tsince: '5.5',\n\t\t\talternative: 'the `pages` prop in <Guide>',\n\t\t} );\n\t}, [] );\n\n\treturn <div { ...props } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/guide/page.tsx"],"names":["useEffect","deprecated","GuidePage","props","since","alternative"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AAGA,eAAe,SAASC,SAAT,CACdC,KADc,EAEb;AACDH,EAAAA,SAAS,CAAE,MAAM;AAChBC,IAAAA,UAAU,CAAE,aAAF,EAAiB;AAC1BG,MAAAA,KAAK,EAAE,KADmB;AAE1BC,MAAAA,WAAW,EAAE;AAFa,KAAjB,CAAV;AAIA,GALQ,EAKN,EALM,CAAT;AAOA,SAAO,qBAAUF,KAAV,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\n\nexport default function GuidePage(\n\tprops: WordPressComponentProps< {}, 'div', false >\n) {\n\tuseEffect( () => {\n\t\tdeprecated( '<GuidePage>', {\n\t\t\tsince: '5.5',\n\t\t\talternative: 'the `pages` prop in <Guide>',\n\t\t} );\n\t}, [] );\n\n\treturn <div { ...props } />;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -12,8 +12,8 @@ const H_ALIGNMENTS = {
12
12
  justify: 'center'
13
13
  },
14
14
  bottomLeft: {
15
- align: 'flex-start',
16
- justify: 'flex-end'
15
+ align: 'flex-end',
16
+ justify: 'flex-start'
17
17
  },
18
18
  bottomRight: {
19
19
  align: 'flex-end',
@@ -57,8 +57,8 @@ const V_ALIGNMENTS = {
57
57
  align: 'center'
58
58
  },
59
59
  bottomLeft: {
60
- justify: 'flex-start',
61
- align: 'flex-end'
60
+ justify: 'flex-end',
61
+ align: 'flex-start'
62
62
  },
63
63
  bottomRight: {
64
64
  justify: 'flex-end',
@@ -81,7 +81,7 @@ const V_ALIGNMENTS = {
81
81
  align: 'flex-end'
82
82
  },
83
83
  stretch: {
84
- justify: 'stretch'
84
+ align: 'stretch'
85
85
  },
86
86
  top: {
87
87
  justify: 'flex-start',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/h-stack/utils.ts"],"names":["isValueDefined","H_ALIGNMENTS","bottom","align","justify","bottomLeft","bottomRight","center","edge","left","right","stretch","top","topLeft","topRight","V_ALIGNMENTS","getAlignmentProps","alignment","direction","isVertical","props","alignmentProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n/**\n * Internal dependencies\n */\nimport type { FlexDirection } from '../flex/types';\nimport type { HStackAlignment, AlignmentProps, Alignments } from './types';\nimport { isValueDefined } from '../utils/values';\n\nconst H_ALIGNMENTS: Alignments = {\n\tbottom: { align: 'flex-end', justify: 'center' },\n\tbottomLeft: { align: 'flex-start', justify: 'flex-end' },\n\tbottomRight: { align: 'flex-end', justify: 'flex-end' },\n\tcenter: { align: 'center', justify: 'center' },\n\tedge: { align: 'center', justify: 'space-between' },\n\tleft: { align: 'center', justify: 'flex-start' },\n\tright: { align: 'center', justify: 'flex-end' },\n\tstretch: { align: 'stretch' },\n\ttop: { align: 'flex-start', justify: 'center' },\n\ttopLeft: { align: 'flex-start', justify: 'flex-start' },\n\ttopRight: { align: 'flex-start', justify: 'flex-end' },\n};\n\nconst V_ALIGNMENTS: Alignments = {\n\tbottom: { justify: 'flex-end', align: 'center' },\n\tbottomLeft: { justify: 'flex-start', align: 'flex-end' },\n\tbottomRight: { justify: 'flex-end', align: 'flex-end' },\n\tcenter: { justify: 'center', align: 'center' },\n\tedge: { justify: 'space-between', align: 'center' },\n\tleft: { justify: 'center', align: 'flex-start' },\n\tright: { justify: 'center', align: 'flex-end' },\n\tstretch: { justify: 'stretch' },\n\ttop: { justify: 'flex-start', align: 'center' },\n\ttopLeft: { justify: 'flex-start', align: 'flex-start' },\n\ttopRight: { justify: 'flex-start', align: 'flex-end' },\n};\n\nexport function getAlignmentProps(\n\talignment: HStackAlignment | CSSProperties[ 'alignItems' ],\n\tdirection: FlexDirection = 'row'\n): AlignmentProps {\n\tif ( ! isValueDefined( alignment ) ) {\n\t\treturn {};\n\t}\n\tconst isVertical = direction === 'column';\n\tconst props = isVertical ? V_ALIGNMENTS : H_ALIGNMENTS;\n\n\tconst alignmentProps =\n\t\talignment in props\n\t\t\t? props[ alignment as keyof typeof props ]\n\t\t\t: { align: alignment };\n\n\treturn alignmentProps;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/h-stack/utils.ts"],"names":["isValueDefined","H_ALIGNMENTS","bottom","align","justify","bottomLeft","bottomRight","center","edge","left","right","stretch","top","topLeft","topRight","V_ALIGNMENTS","getAlignmentProps","alignment","direction","isVertical","props","alignmentProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n/**\n * Internal dependencies\n */\nimport type { FlexDirection } from '../flex/types';\nimport type { HStackAlignment, AlignmentProps, Alignments } from './types';\nimport { isValueDefined } from '../utils/values';\n\nconst H_ALIGNMENTS: Alignments = {\n\tbottom: { align: 'flex-end', justify: 'center' },\n\tbottomLeft: { align: 'flex-end', justify: 'flex-start' },\n\tbottomRight: { align: 'flex-end', justify: 'flex-end' },\n\tcenter: { align: 'center', justify: 'center' },\n\tedge: { align: 'center', justify: 'space-between' },\n\tleft: { align: 'center', justify: 'flex-start' },\n\tright: { align: 'center', justify: 'flex-end' },\n\tstretch: { align: 'stretch' },\n\ttop: { align: 'flex-start', justify: 'center' },\n\ttopLeft: { align: 'flex-start', justify: 'flex-start' },\n\ttopRight: { align: 'flex-start', justify: 'flex-end' },\n};\n\nconst V_ALIGNMENTS: Alignments = {\n\tbottom: { justify: 'flex-end', align: 'center' },\n\tbottomLeft: { justify: 'flex-end', align: 'flex-start' },\n\tbottomRight: { justify: 'flex-end', align: 'flex-end' },\n\tcenter: { justify: 'center', align: 'center' },\n\tedge: { justify: 'space-between', align: 'center' },\n\tleft: { justify: 'center', align: 'flex-start' },\n\tright: { justify: 'center', align: 'flex-end' },\n\tstretch: { align: 'stretch' },\n\ttop: { justify: 'flex-start', align: 'center' },\n\ttopLeft: { justify: 'flex-start', align: 'flex-start' },\n\ttopRight: { justify: 'flex-start', align: 'flex-end' },\n};\n\nexport function getAlignmentProps(\n\talignment: HStackAlignment | CSSProperties[ 'alignItems' ],\n\tdirection: FlexDirection = 'row'\n): AlignmentProps {\n\tif ( ! isValueDefined( alignment ) ) {\n\t\treturn {};\n\t}\n\tconst isVertical = direction === 'column';\n\tconst props = isVertical ? V_ALIGNMENTS : H_ALIGNMENTS;\n\n\tconst alignmentProps =\n\t\talignment in props\n\t\t\t? props[ alignment as keyof typeof props ]\n\t\t\t: { align: alignment };\n\n\treturn alignmentProps;\n}\n"]}
@@ -27,11 +27,13 @@ const defaultShortcuts = {
27
27
  };
28
28
  export function useNavigateRegions() {
29
29
  let shortcuts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultShortcuts;
30
- const ref = useRef();
30
+ const ref = useRef(null);
31
31
  const [isFocusingRegions, setIsFocusingRegions] = useState(false);
32
32
 
33
33
  function focusRegion(offset) {
34
- const regions = Array.from(ref.current.querySelectorAll('[role="region"][tabindex="-1"]'));
34
+ var _ref$current$querySel, _ref$current, _ref$current2, _ref$current2$ownerDo, _ref$current2$ownerDo2;
35
+
36
+ const regions = Array.from((_ref$current$querySel = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelectorAll('[role="region"][tabindex="-1"]')) !== null && _ref$current$querySel !== void 0 ? _ref$current$querySel : []);
35
37
 
36
38
  if (!regions.length) {
37
39
  return;
@@ -39,7 +41,8 @@ export function useNavigateRegions() {
39
41
 
40
42
  let nextRegion = regions[0]; // 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.
41
43
 
42
- const selectedIndex = regions.indexOf(ref.current.ownerDocument.activeElement.closest('[role="region"][tabindex="-1"]'));
44
+ const wrappingRegion = (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : (_ref$current2$ownerDo = _ref$current2.ownerDocument) === null || _ref$current2$ownerDo === void 0 ? void 0 : (_ref$current2$ownerDo2 = _ref$current2$ownerDo.activeElement) === null || _ref$current2$ownerDo2 === void 0 ? void 0 : _ref$current2$ownerDo2.closest('[role="region"][tabindex="-1"]');
45
+ const selectedIndex = wrappingRegion ? regions.indexOf(wrappingRegion) : -1;
43
46
 
44
47
  if (selectedIndex !== -1) {
45
48
  let nextIndex = selectedIndex + offset;
@@ -88,6 +91,33 @@ export function useNavigateRegions() {
88
91
 
89
92
  };
90
93
  }
94
+ /**
95
+ * `navigateRegions` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html)
96
+ * adding keyboard navigation to switch between the different DOM elements marked as "regions" (role="region").
97
+ * These regions should be focusable (By adding a tabIndex attribute for example). For better accessibility,
98
+ * these elements must be properly labelled to briefly describe the purpose of the content in the region.
99
+ * For more details, see "Landmark Roles" in the [WAI-ARIA specification](https://www.w3.org/TR/wai-aria/)
100
+ * and "Landmark Regions" in the [ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/).
101
+ *
102
+ * ```jsx
103
+ * import { navigateRegions } from '@wordpress/components';
104
+ *
105
+ * const MyComponentWithNavigateRegions = navigateRegions( () => (
106
+ * <div>
107
+ * <div role="region" tabIndex="-1" aria-label="Header">
108
+ * Header
109
+ * </div>
110
+ * <div role="region" tabIndex="-1" aria-label="Content">
111
+ * Content
112
+ * </div>
113
+ * <div role="region" tabIndex="-1" aria-label="Sidebar">
114
+ * Sidebar
115
+ * </div>
116
+ * </div>
117
+ * ) );
118
+ * ```
119
+ */
120
+
91
121
  export default createHigherOrderComponent(Component => _ref3 => {
92
122
  let {
93
123
  shortcuts,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/higher-order/navigate-regions/index.js"],"names":["useState","useRef","createHigherOrderComponent","useRefEffect","useMergeRefs","isKeyboardEvent","defaultShortcuts","previous","modifier","character","next","useNavigateRegions","shortcuts","ref","isFocusingRegions","setIsFocusingRegions","focusRegion","offset","regions","Array","from","current","querySelectorAll","length","nextRegion","selectedIndex","indexOf","ownerDocument","activeElement","closest","nextIndex","focus","clickRef","element","onClick","addEventListener","removeEventListener","className","onKeyDown","event","some","Component","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tcreateHigherOrderComponent,\n\tuseRefEffect,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { isKeyboardEvent } from '@wordpress/keycodes';\n\nconst defaultShortcuts = {\n\tprevious: [\n\t\t{\n\t\t\tmodifier: 'ctrlShift',\n\t\t\tcharacter: '`',\n\t\t},\n\t\t{\n\t\t\tmodifier: 'ctrlShift',\n\t\t\tcharacter: '~',\n\t\t},\n\t\t{\n\t\t\tmodifier: 'access',\n\t\t\tcharacter: 'p',\n\t\t},\n\t],\n\tnext: [\n\t\t{\n\t\t\tmodifier: 'ctrl',\n\t\t\tcharacter: '`',\n\t\t},\n\t\t{\n\t\t\tmodifier: 'access',\n\t\t\tcharacter: 'n',\n\t\t},\n\t],\n};\n\nexport function useNavigateRegions( shortcuts = defaultShortcuts ) {\n\tconst ref = useRef();\n\tconst [ isFocusingRegions, setIsFocusingRegions ] = useState( false );\n\n\tfunction focusRegion( offset ) {\n\t\tconst regions = Array.from(\n\t\t\tref.current.querySelectorAll( '[role=\"region\"][tabindex=\"-1\"]' )\n\t\t);\n\t\tif ( ! regions.length ) {\n\t\t\treturn;\n\t\t}\n\t\tlet nextRegion = regions[ 0 ];\n\t\t// 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.\n\t\tconst selectedIndex = regions.indexOf(\n\t\t\tref.current.ownerDocument.activeElement.closest(\n\t\t\t\t'[role=\"region\"][tabindex=\"-1\"]'\n\t\t\t)\n\t\t);\n\t\tif ( selectedIndex !== -1 ) {\n\t\t\tlet nextIndex = selectedIndex + offset;\n\t\t\tnextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;\n\t\t\tnextIndex = nextIndex === regions.length ? 0 : nextIndex;\n\t\t\tnextRegion = regions[ nextIndex ];\n\t\t}\n\n\t\tnextRegion.focus();\n\t\tsetIsFocusingRegions( true );\n\t}\n\n\tconst clickRef = useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onClick() {\n\t\t\t\tsetIsFocusingRegions( false );\n\t\t\t}\n\n\t\t\telement.addEventListener( 'click', onClick );\n\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'click', onClick );\n\t\t\t};\n\t\t},\n\t\t[ setIsFocusingRegions ]\n\t);\n\n\treturn {\n\t\tref: useMergeRefs( [ ref, clickRef ] ),\n\t\tclassName: isFocusingRegions ? 'is-focusing-regions' : '',\n\t\tonKeyDown( event ) {\n\t\t\tif (\n\t\t\t\tshortcuts.previous.some( ( { modifier, character } ) => {\n\t\t\t\t\treturn isKeyboardEvent[ modifier ]( event, character );\n\t\t\t\t} )\n\t\t\t) {\n\t\t\t\tfocusRegion( -1 );\n\t\t\t} else if (\n\t\t\t\tshortcuts.next.some( ( { modifier, character } ) => {\n\t\t\t\t\treturn isKeyboardEvent[ modifier ]( event, character );\n\t\t\t\t} )\n\t\t\t) {\n\t\t\t\tfocusRegion( 1 );\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport default createHigherOrderComponent(\n\t( Component ) =>\n\t\t( { shortcuts, ...props } ) =>\n\t\t\t(\n\t\t\t\t<div { ...useNavigateRegions( shortcuts ) }>\n\t\t\t\t\t<Component { ...props } />\n\t\t\t\t</div>\n\t\t\t),\n\t'navigateRegions'\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/higher-order/navigate-regions/index.tsx"],"names":["useState","useRef","createHigherOrderComponent","useRefEffect","useMergeRefs","isKeyboardEvent","defaultShortcuts","previous","modifier","character","next","useNavigateRegions","shortcuts","ref","isFocusingRegions","setIsFocusingRegions","focusRegion","offset","regions","Array","from","current","querySelectorAll","length","nextRegion","wrappingRegion","ownerDocument","activeElement","closest","selectedIndex","indexOf","nextIndex","focus","clickRef","element","onClick","addEventListener","removeEventListener","className","onKeyDown","event","some","Component","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tcreateHigherOrderComponent,\n\tuseRefEffect,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { isKeyboardEvent } from '@wordpress/keycodes';\nimport type { WPKeycodeModifier } from '@wordpress/keycodes';\n\nconst defaultShortcuts = {\n\tprevious: [\n\t\t{\n\t\t\tmodifier: 'ctrlShift',\n\t\t\tcharacter: '`',\n\t\t},\n\t\t{\n\t\t\tmodifier: 'ctrlShift',\n\t\t\tcharacter: '~',\n\t\t},\n\t\t{\n\t\t\tmodifier: 'access',\n\t\t\tcharacter: 'p',\n\t\t},\n\t] as const,\n\tnext: [\n\t\t{\n\t\t\tmodifier: 'ctrl',\n\t\t\tcharacter: '`',\n\t\t},\n\t\t{\n\t\t\tmodifier: 'access',\n\t\t\tcharacter: 'n',\n\t\t},\n\t] as const,\n};\n\ntype Shortcuts = {\n\tprevious: readonly { modifier: WPKeycodeModifier; character: string }[];\n\tnext: readonly { modifier: WPKeycodeModifier; character: string }[];\n};\n\nexport function useNavigateRegions( shortcuts: Shortcuts = defaultShortcuts ) {\n\tconst ref = useRef< HTMLDivElement >( null );\n\tconst [ isFocusingRegions, setIsFocusingRegions ] = useState( false );\n\n\tfunction focusRegion( offset: number ) {\n\t\tconst regions = Array.from(\n\t\t\tref.current?.querySelectorAll< HTMLElement >(\n\t\t\t\t'[role=\"region\"][tabindex=\"-1\"]'\n\t\t\t) ?? []\n\t\t);\n\t\tif ( ! regions.length ) {\n\t\t\treturn;\n\t\t}\n\t\tlet nextRegion = regions[ 0 ];\n\t\t// 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.\n\t\tconst wrappingRegion =\n\t\t\tref.current?.ownerDocument?.activeElement?.closest< HTMLElement >(\n\t\t\t\t'[role=\"region\"][tabindex=\"-1\"]'\n\t\t\t);\n\t\tconst selectedIndex = wrappingRegion\n\t\t\t? regions.indexOf( wrappingRegion )\n\t\t\t: -1;\n\t\tif ( selectedIndex !== -1 ) {\n\t\t\tlet nextIndex = selectedIndex + offset;\n\t\t\tnextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;\n\t\t\tnextIndex = nextIndex === regions.length ? 0 : nextIndex;\n\t\t\tnextRegion = regions[ nextIndex ];\n\t\t}\n\n\t\tnextRegion.focus();\n\t\tsetIsFocusingRegions( true );\n\t}\n\n\tconst clickRef = useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onClick() {\n\t\t\t\tsetIsFocusingRegions( false );\n\t\t\t}\n\n\t\t\telement.addEventListener( 'click', onClick );\n\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'click', onClick );\n\t\t\t};\n\t\t},\n\t\t[ setIsFocusingRegions ]\n\t);\n\n\treturn {\n\t\tref: useMergeRefs( [ ref, clickRef ] ),\n\t\tclassName: isFocusingRegions ? 'is-focusing-regions' : '',\n\t\tonKeyDown( event: React.KeyboardEvent< HTMLDivElement > ) {\n\t\t\tif (\n\t\t\t\tshortcuts.previous.some( ( { modifier, character } ) => {\n\t\t\t\t\treturn isKeyboardEvent[ modifier ]( event, character );\n\t\t\t\t} )\n\t\t\t) {\n\t\t\t\tfocusRegion( -1 );\n\t\t\t} else if (\n\t\t\t\tshortcuts.next.some( ( { modifier, character } ) => {\n\t\t\t\t\treturn isKeyboardEvent[ modifier ]( event, character );\n\t\t\t\t} )\n\t\t\t) {\n\t\t\t\tfocusRegion( 1 );\n\t\t\t}\n\t\t},\n\t};\n}\n\n/**\n * `navigateRegions` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html)\n * adding keyboard navigation to switch between the different DOM elements marked as \"regions\" (role=\"region\").\n * These regions should be focusable (By adding a tabIndex attribute for example). For better accessibility,\n * these elements must be properly labelled to briefly describe the purpose of the content in the region.\n * For more details, see \"Landmark Roles\" in the [WAI-ARIA specification](https://www.w3.org/TR/wai-aria/)\n * and \"Landmark Regions\" in the [ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/).\n *\n * ```jsx\n * import { navigateRegions } from '@wordpress/components';\n *\n * const MyComponentWithNavigateRegions = navigateRegions( () => (\n * \t<div>\n * \t\t<div role=\"region\" tabIndex=\"-1\" aria-label=\"Header\">\n * \t\t\tHeader\n * \t\t</div>\n * \t\t<div role=\"region\" tabIndex=\"-1\" aria-label=\"Content\">\n * \t\t\tContent\n * \t\t</div>\n * \t\t<div role=\"region\" tabIndex=\"-1\" aria-label=\"Sidebar\">\n * \t\t\tSidebar\n * \t\t</div>\n * \t</div>\n * ) );\n * ```\n */\nexport default createHigherOrderComponent(\n\t( Component ) =>\n\t\t( { shortcuts, ...props } ) =>\n\t\t\t(\n\t\t\t\t<div { ...useNavigateRegions( shortcuts ) }>\n\t\t\t\t\t<Component { ...props } />\n\t\t\t\t</div>\n\t\t\t),\n\t'navigateRegions'\n);\n"]}
@@ -4,6 +4,15 @@ import { createElement } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { createHigherOrderComponent, useConstrainedTabbing } from '@wordpress/compose';
7
+ /**
8
+ * `withConstrainedTabbing` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html)
9
+ * adding the ability to constrain keyboard navigation with the Tab key within a component.
10
+ * For accessibility reasons, some UI components need to constrain Tab navigation, for example
11
+ * modal dialogs or similar UI. Use of this component is recommended only in cases where a way to
12
+ * navigate away from the wrapped component is implemented by other means, usually by pressing
13
+ * the Escape key or using a specific UI control, e.g. a "Close" button.
14
+ */
15
+
7
16
  const withConstrainedTabbing = createHigherOrderComponent(WrappedComponent => function ComponentWithConstrainedTabbing(props) {
8
17
  const ref = useConstrainedTabbing();
9
18
  return createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/higher-order/with-constrained-tabbing/index.js"],"names":["createHigherOrderComponent","useConstrainedTabbing","withConstrainedTabbing","WrappedComponent","ComponentWithConstrainedTabbing","props","ref"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,0BADD,EAECC,qBAFD,QAGO,oBAHP;AAKA,MAAMC,sBAAsB,GAAGF,0BAA0B,CACtDG,gBAAF,IACC,SAASC,+BAAT,CAA0CC,KAA1C,EAAkD;AACjD,QAAMC,GAAG,GAAGL,qBAAqB,EAAjC;AACA,SACC;AAAK,IAAA,GAAG,EAAGK,GAAX;AAAiB,IAAA,QAAQ,EAAG,CAAC;AAA7B,KACC,cAAC,gBAAD,EAAuBD,KAAvB,CADD,CADD;AAKA,CATsD,EAUxD,wBAVwD,CAAzD;AAaA,eAAeH,sBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateHigherOrderComponent,\n\tuseConstrainedTabbing,\n} from '@wordpress/compose';\n\nconst withConstrainedTabbing = createHigherOrderComponent(\n\t( WrappedComponent ) =>\n\t\tfunction ComponentWithConstrainedTabbing( props ) {\n\t\t\tconst ref = useConstrainedTabbing();\n\t\t\treturn (\n\t\t\t\t<div ref={ ref } tabIndex={ -1 }>\n\t\t\t\t\t<WrappedComponent { ...props } />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t'withConstrainedTabbing'\n);\n\nexport default withConstrainedTabbing;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/higher-order/with-constrained-tabbing/index.tsx"],"names":["createHigherOrderComponent","useConstrainedTabbing","withConstrainedTabbing","WrappedComponent","ComponentWithConstrainedTabbing","props","ref"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,0BADD,EAECC,qBAFD,QAGO,oBAHP;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAGF,0BAA0B,CACtDG,gBAAF,IACC,SAASC,+BAAT,CAA0CC,KAA1C,EAAkD;AACjD,QAAMC,GAAG,GAAGL,qBAAqB,EAAjC;AACA,SACC;AAAK,IAAA,GAAG,EAAGK,GAAX;AAAiB,IAAA,QAAQ,EAAG,CAAC;AAA7B,KACC,cAAC,gBAAD,EAAuBD,KAAvB,CADD,CADD;AAKA,CATsD,EAUxD,wBAVwD,CAAzD;AAaA,eAAeH,sBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateHigherOrderComponent,\n\tuseConstrainedTabbing,\n} from '@wordpress/compose';\n\n/**\n * `withConstrainedTabbing` is a React [higher-order component](https://facebook.github.io/react/docs/higher-order-components.html)\n * adding the ability to constrain keyboard navigation with the Tab key within a component.\n * For accessibility reasons, some UI components need to constrain Tab navigation, for example\n * modal dialogs or similar UI. Use of this component is recommended only in cases where a way to\n * navigate away from the wrapped component is implemented by other means, usually by pressing\n * the Escape key or using a specific UI control, e.g. a \"Close\" button.\n */\nconst withConstrainedTabbing = createHigherOrderComponent(\n\t( WrappedComponent ) =>\n\t\tfunction ComponentWithConstrainedTabbing( props ) {\n\t\t\tconst ref = useConstrainedTabbing();\n\t\t\treturn (\n\t\t\t\t<div ref={ ref } tabIndex={ -1 }>\n\t\t\t\t\t<WrappedComponent { ...props } />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t'withConstrainedTabbing'\n);\n\nexport default withConstrainedTabbing;\n"]}
@@ -13,8 +13,8 @@ import { Component } from '@wordpress/element';
13
13
  import { createHigherOrderComponent } from '@wordpress/compose';
14
14
  export default (mapNodeToProps => createHigherOrderComponent(WrappedComponent => {
15
15
  return class extends Component {
16
- constructor() {
17
- super(...arguments);
16
+ constructor(props) {
17
+ super(props);
18
18
  this.nodeRef = this.props.node;
19
19
  this.state = {
20
20
  fallbackStyles: undefined,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/higher-order/with-fallback-styles/index.js"],"names":["fastDeepEqual","Component","createHigherOrderComponent","mapNodeToProps","WrappedComponent","constructor","arguments","nodeRef","props","node","state","fallbackStyles","undefined","grabStylesCompleted","bindRef","bind","componentDidMount","grabFallbackStyles","componentDidUpdate","newFallbackStyles","setState","Object","values","every","Boolean","render","wrappedComponent"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,aAAP,MAA0B,qBAA1B;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,0BAAT,QAA2C,oBAA3C;AAEA,gBAAiBC,cAAF,IACdD,0BAA0B,CAAIE,gBAAF,IAAwB;AACnD,SAAO,cAAcH,SAAd,CAAwB;AAC9BI,IAAAA,WAAW,GAAG;AACb,YAAO,GAAGC,SAAV;AACA,WAAKC,OAAL,GAAe,KAAKC,KAAL,CAAWC,IAA1B;AACA,WAAKC,KAAL,GAAa;AACZC,QAAAA,cAAc,EAAEC,SADJ;AAEZC,QAAAA,mBAAmB,EAAE;AAFT,OAAb;AAKA,WAAKC,OAAL,GAAe,KAAKA,OAAL,CAAaC,IAAb,CAAmB,IAAnB,CAAf;AACA;;AAEDD,IAAAA,OAAO,CAAEL,IAAF,EAAS;AACf,UAAK,CAAEA,IAAP,EAAc;AACb;AACA;;AACD,WAAKF,OAAL,GAAeE,IAAf;AACA;;AAEDO,IAAAA,iBAAiB,GAAG;AACnB,WAAKC,kBAAL;AACA;;AAEDC,IAAAA,kBAAkB,GAAG;AACpB,WAAKD,kBAAL;AACA;;AAEDA,IAAAA,kBAAkB,GAAG;AACpB,YAAM;AAAEJ,QAAAA,mBAAF;AAAuBF,QAAAA;AAAvB,UAA0C,KAAKD,KAArD;;AACA,UAAK,KAAKH,OAAL,IAAgB,CAAEM,mBAAvB,EAA6C;AAC5C,cAAMM,iBAAiB,GAAGhB,cAAc,CACvC,KAAKI,OADkC,EAEvC,KAAKC,KAFkC,CAAxC;;AAKA,YACC,CAAER,aAAa,CAAEmB,iBAAF,EAAqBR,cAArB,CADhB,EAEE;AACD,eAAKS,QAAL,CAAe;AACdT,YAAAA,cAAc,EAAEQ,iBADF;AAEdN,YAAAA,mBAAmB,EAClBQ,MAAM,CAACC,MAAP,CAAeH,iBAAf,EAAmCI,KAAnC,CACCC,OADD;AAHa,WAAf;AAOA;AACD;AACD;;AAEDC,IAAAA,MAAM,GAAG;AACR,YAAMC,gBAAgB,GACrB,cAAC,gBAAD,eACM,KAAKlB,KADX,EAEM,KAAKE,KAAL,CAAWC,cAFjB,EADD;AAMA,aAAO,KAAKH,KAAL,CAAWC,IAAX,GACNiB,gBADM,GAGN;AAAK,QAAA,GAAG,EAAG,KAAKZ;AAAhB,cAA6BY,gBAA7B,MAHD;AAKA;;AA7D6B,GAA/B;AA+DA,CAhEyB,EAgEvB,oBAhEuB,CAD3B","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nexport default ( mapNodeToProps ) =>\n\tcreateHigherOrderComponent( ( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.nodeRef = this.props.node;\n\t\t\t\tthis.state = {\n\t\t\t\t\tfallbackStyles: undefined,\n\t\t\t\t\tgrabStylesCompleted: false,\n\t\t\t\t};\n\n\t\t\t\tthis.bindRef = this.bindRef.bind( this );\n\t\t\t}\n\n\t\t\tbindRef( node ) {\n\t\t\t\tif ( ! node ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.nodeRef = node;\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tcomponentDidUpdate() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tgrabFallbackStyles() {\n\t\t\t\tconst { grabStylesCompleted, fallbackStyles } = this.state;\n\t\t\t\tif ( this.nodeRef && ! grabStylesCompleted ) {\n\t\t\t\t\tconst newFallbackStyles = mapNodeToProps(\n\t\t\t\t\t\tthis.nodeRef,\n\t\t\t\t\t\tthis.props\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! fastDeepEqual( newFallbackStyles, fallbackStyles )\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tfallbackStyles: newFallbackStyles,\n\t\t\t\t\t\t\tgrabStylesCompleted:\n\t\t\t\t\t\t\t\tObject.values( newFallbackStyles ).every(\n\t\t\t\t\t\t\t\t\tBoolean\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst wrappedComponent = (\n\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t{ ...this.props }\n\t\t\t\t\t\t{ ...this.state.fallbackStyles }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t\treturn this.props.node ? (\n\t\t\t\t\twrappedComponent\n\t\t\t\t) : (\n\t\t\t\t\t<div ref={ this.bindRef }> { wrappedComponent } </div>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}, 'withFallbackStyles' );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/higher-order/with-fallback-styles/index.tsx"],"names":["fastDeepEqual","Component","createHigherOrderComponent","mapNodeToProps","WrappedComponent","constructor","props","nodeRef","node","state","fallbackStyles","undefined","grabStylesCompleted","bindRef","bind","componentDidMount","grabFallbackStyles","componentDidUpdate","newFallbackStyles","setState","Object","values","every","Boolean","render","wrappedComponent"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,aAAP,MAA0B,qBAA1B;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,0BAAT,QAA2C,oBAA3C;AAYA,gBACCC,cADc,IAMdD,0BAA0B,CAAIE,gBAAF,IAAwB;AACnD,SAAO,cAAcH,SAAd,CAAwC;AAG9CI,IAAAA,WAAW,CAAEC,KAAF,EAAiB;AAC3B,YAAOA,KAAP;AACA,WAAKC,OAAL,GAAe,KAAKD,KAAL,CAAWE,IAA1B;AACA,WAAKC,KAAL,GAAa;AACZC,QAAAA,cAAc,EAAEC,SADJ;AAEZC,QAAAA,mBAAmB,EAAE;AAFT,OAAb;AAKA,WAAKC,OAAL,GAAe,KAAKA,OAAL,CAAaC,IAAb,CAAmB,IAAnB,CAAf;AACA;;AAEDD,IAAAA,OAAO,CAAEL,IAAF,EAAyB;AAC/B,UAAK,CAAEA,IAAP,EAAc;AACb;AACA;;AACD,WAAKD,OAAL,GAAeC,IAAf;AACA;;AAEDO,IAAAA,iBAAiB,GAAG;AACnB,WAAKC,kBAAL;AACA;;AAEDC,IAAAA,kBAAkB,GAAG;AACpB,WAAKD,kBAAL;AACA;;AAEDA,IAAAA,kBAAkB,GAAG;AACpB,YAAM;AAAEJ,QAAAA,mBAAF;AAAuBF,QAAAA;AAAvB,UAA0C,KAAKD,KAArD;;AACA,UAAK,KAAKF,OAAL,IAAgB,CAAEK,mBAAvB,EAA6C;AAC5C,cAAMM,iBAAiB,GAAGf,cAAc,CACvC,KAAKI,OADkC,EAEvC,KAAKD,KAFkC,CAAxC;;AAKA,YACC,CAAEN,aAAa,CAAEkB,iBAAF,EAAqBR,cAArB,CADhB,EAEE;AACD,eAAKS,QAAL,CAAe;AACdT,YAAAA,cAAc,EAAEQ,iBADF;AAEdN,YAAAA,mBAAmB,EAClBQ,MAAM,CAACC,MAAP,CAAeH,iBAAf,EAAmCI,KAAnC,CACCC,OADD;AAHa,WAAf;AAOA;AACD;AACD;;AAEDC,IAAAA,MAAM,GAAG;AACR,YAAMC,gBAAgB,GACrB,cAAC,gBAAD,eACM,KAAKnB,KADX,EAEM,KAAKG,KAAL,CAAWC,cAFjB,EADD;AAMA,aAAO,KAAKJ,KAAL,CAAWE,IAAX,GACNiB,gBADM,GAGN;AAAK,QAAA,GAAG,EAAG,KAAKZ;AAAhB,cAA6BY,gBAA7B,MAHD;AAKA;;AA/D6C,GAA/C;AAiEA,CAlEyB,EAkEvB,oBAlEuB,CAN3B","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\ntype Props = {\n\tnode?: HTMLElement;\n\t[ key: string ]: any;\n};\n\ntype State = {\n\tfallbackStyles?: { [ key: string ]: any };\n\tgrabStylesCompleted: boolean;\n};\n\nexport default (\n\tmapNodeToProps: (\n\t\tnode: HTMLElement,\n\t\tprops: Props\n\t) => { [ key: string ]: any }\n) =>\n\tcreateHigherOrderComponent( ( WrappedComponent ) => {\n\t\treturn class extends Component< Props, State > {\n\t\t\tnodeRef?: HTMLElement;\n\n\t\t\tconstructor( props: Props ) {\n\t\t\t\tsuper( props );\n\t\t\t\tthis.nodeRef = this.props.node;\n\t\t\t\tthis.state = {\n\t\t\t\t\tfallbackStyles: undefined,\n\t\t\t\t\tgrabStylesCompleted: false,\n\t\t\t\t};\n\n\t\t\t\tthis.bindRef = this.bindRef.bind( this );\n\t\t\t}\n\n\t\t\tbindRef( node: HTMLDivElement ) {\n\t\t\t\tif ( ! node ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.nodeRef = node;\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tcomponentDidUpdate() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tgrabFallbackStyles() {\n\t\t\t\tconst { grabStylesCompleted, fallbackStyles } = this.state;\n\t\t\t\tif ( this.nodeRef && ! grabStylesCompleted ) {\n\t\t\t\t\tconst newFallbackStyles = mapNodeToProps(\n\t\t\t\t\t\tthis.nodeRef,\n\t\t\t\t\t\tthis.props\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! fastDeepEqual( newFallbackStyles, fallbackStyles )\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tfallbackStyles: newFallbackStyles,\n\t\t\t\t\t\t\tgrabStylesCompleted:\n\t\t\t\t\t\t\t\tObject.values( newFallbackStyles ).every(\n\t\t\t\t\t\t\t\t\tBoolean\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst wrappedComponent = (\n\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t{ ...this.props }\n\t\t\t\t\t\t{ ...this.state.fallbackStyles }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t\treturn this.props.node ? (\n\t\t\t\t\twrappedComponent\n\t\t\t\t) : (\n\t\t\t\t\t<div ref={ this.bindRef }> { wrappedComponent } </div>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}, 'withFallbackStyles' );\n"]}
@@ -13,9 +13,35 @@ 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
46
 
21
47
  export default function withFilters(hookName) {
@@ -25,8 +51,6 @@ 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
55
 
32
56
  let FilteredComponent;
@@ -42,8 +66,8 @@ export default function withFilters(hookName) {
42
66
  }
43
67
 
44
68
  class FilteredComponentRenderer extends Component {
45
- constructor() {
46
- super(...arguments);
69
+ constructor(props) {
70
+ super(props);
47
71
  ensureFilteredComponent();
48
72
  }
49
73
 
@@ -93,7 +117,7 @@ export default function withFilters(hookName) {
93
117
  * mounted instance should re-render with the new filters having been
94
118
  * applied to the original component.
95
119
  *
96
- * @param {string} updatedHookName Name of the hook that was updated.
120
+ * @param updatedHookName Name of the hook that was updated.
97
121
  */
98
122
 
99
123
  function onHooksUpdated(updatedHookName) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/higher-order/with-filters/index.js"],"names":["Component","addAction","applyFilters","removeAction","createHigherOrderComponent","debounce","ANIMATION_FRAME_PERIOD","withFilters","hookName","OriginalComponent","namespace","FilteredComponent","ensureFilteredComponent","undefined","FilteredComponentRenderer","constructor","arguments","componentDidMount","instances","push","length","onHooksUpdated","componentWillUnmount","filter","instance","render","props","throttledForceUpdate","forEach","forceUpdate","updatedHookName"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,SAAT,EAAoBC,YAApB,EAAkCC,YAAlC,QAAsD,kBAAtD;AACA,SAASC,0BAAT,EAAqCC,QAArC,QAAqD,oBAArD;AAEA,MAAMC,sBAAsB,GAAG,EAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,QAAtB,EAAiC;AAC/C,SAAOJ,0BAA0B,CAAIK,iBAAF,IAAyB;AAC3D,UAAMC,SAAS,GAAG,uBAAuBF,QAAzC;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;;AACE,QAAIG,iBAAJ;AAEA;AACF;AACA;AACA;;AACE,aAASC,uBAAT,GAAmC;AAClC,UAAKD,iBAAiB,KAAKE,SAA3B,EAAuC;AACtCF,QAAAA,iBAAiB,GAAGT,YAAY,CAAEM,QAAF,EAAYC,iBAAZ,CAAhC;AACA;AACD;;AAED,UAAMK,yBAAN,SAAwCd,SAAxC,CAAkD;AACjDe,MAAAA,WAAW,GAAG;AACb,cAAO,GAAGC,SAAV;AAEAJ,QAAAA,uBAAuB;AACvB;;AAEDK,MAAAA,iBAAiB,GAAG;AACnBH,QAAAA,yBAAyB,CAACI,SAA1B,CAAoCC,IAApC,CAA0C,IAA1C,EADmB,CAGnB;AACA;;AACA,YAAKL,yBAAyB,CAACI,SAA1B,CAAoCE,MAApC,KAA+C,CAApD,EAAwD;AACvDnB,UAAAA,SAAS,CAAE,aAAF,EAAiBS,SAAjB,EAA4BW,cAA5B,CAAT;AACApB,UAAAA,SAAS,CAAE,WAAF,EAAeS,SAAf,EAA0BW,cAA1B,CAAT;AACA;AACD;;AAEDC,MAAAA,oBAAoB,GAAG;AACtBR,QAAAA,yBAAyB,CAACI,SAA1B,GACCJ,yBAAyB,CAACI,SAA1B,CAAoCK,MAApC,CACGC,QAAF,IAAgBA,QAAQ,KAAK,IAD9B,CADD,CADsB,CAMtB;AACA;;AACA,YAAKV,yBAAyB,CAACI,SAA1B,CAAoCE,MAApC,KAA+C,CAApD,EAAwD;AACvDjB,UAAAA,YAAY,CAAE,aAAF,EAAiBO,SAAjB,CAAZ;AACAP,UAAAA,YAAY,CAAE,WAAF,EAAeO,SAAf,CAAZ;AACA;AACD;;AAEDe,MAAAA,MAAM,GAAG;AACR,eAAO,cAAC,iBAAD,EAAwB,KAAKC,KAA7B,CAAP;AACA;;AAlCgD;;AAqClDZ,IAAAA,yBAAyB,CAACI,SAA1B,GAAsC,EAAtC;AAEA;AACF;AACA;AACA;;AACE,UAAMS,oBAAoB,GAAGtB,QAAQ,CAAE,MAAM;AAC5C;AACA;AACAM,MAAAA,iBAAiB,GAAGT,YAAY,CAAEM,QAAF,EAAYC,iBAAZ,CAAhC,CAH4C,CAK5C;;AACAK,MAAAA,yBAAyB,CAACI,SAA1B,CAAoCU,OAApC,CAA+CJ,QAAF,IAAgB;AAC5DA,QAAAA,QAAQ,CAACK,WAAT;AACA,OAFD;AAGA,KAToC,EASlCvB,sBATkC,CAArC;AAWA;AACF;AACA;AACA;AACA;AACA;AACA;;AACE,aAASe,cAAT,CAAyBS,eAAzB,EAA2C;AAC1C,UAAKA,eAAe,KAAKtB,QAAzB,EAAoC;AACnCmB,QAAAA,oBAAoB;AACpB;AACD;;AAED,WAAOb,yBAAP;AACA,GA1FgC,EA0F9B,aA1F8B,CAAjC;AA2FA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { addAction, applyFilters, removeAction } from '@wordpress/hooks';\nimport { createHigherOrderComponent, debounce } from '@wordpress/compose';\n\nconst ANIMATION_FRAME_PERIOD = 16;\n\n/**\n * Creates a higher-order component which adds filtering capability to the\n * wrapped component. Filters get applied when the original component is about\n * to be mounted. When a filter is added or removed that matches the hook name,\n * the wrapped component re-renders.\n *\n * @param {string} hookName Hook name exposed to be used by filters.\n *\n * @return {Function} Higher-order component factory.\n */\nexport default function withFilters( hookName ) {\n\treturn createHigherOrderComponent( ( OriginalComponent ) => {\n\t\tconst namespace = 'core/with-filters/' + hookName;\n\n\t\t/**\n\t\t * The component definition with current filters applied. Each instance\n\t\t * reuse this shared reference as an optimization to avoid excessive\n\t\t * calls to `applyFilters` when many instances exist.\n\t\t *\n\t\t * @type {?Component}\n\t\t */\n\t\tlet FilteredComponent;\n\n\t\t/**\n\t\t * Initializes the FilteredComponent variable once, if not already\n\t\t * assigned. Subsequent calls are effectively a noop.\n\t\t */\n\t\tfunction ensureFilteredComponent() {\n\t\t\tif ( FilteredComponent === undefined ) {\n\t\t\t\tFilteredComponent = applyFilters( hookName, OriginalComponent );\n\t\t\t}\n\t\t}\n\n\t\tclass FilteredComponentRenderer extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tensureFilteredComponent();\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tFilteredComponentRenderer.instances.push( this );\n\n\t\t\t\t// If there were previously no mounted instances for components\n\t\t\t\t// filtered on this hook, add the hook handler.\n\t\t\t\tif ( FilteredComponentRenderer.instances.length === 1 ) {\n\t\t\t\t\taddAction( 'hookRemoved', namespace, onHooksUpdated );\n\t\t\t\t\taddAction( 'hookAdded', namespace, onHooksUpdated );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tFilteredComponentRenderer.instances =\n\t\t\t\t\tFilteredComponentRenderer.instances.filter(\n\t\t\t\t\t\t( instance ) => instance !== this\n\t\t\t\t\t);\n\n\t\t\t\t// If this was the last of the mounted components filtered on\n\t\t\t\t// this hook, remove the hook handler.\n\t\t\t\tif ( FilteredComponentRenderer.instances.length === 0 ) {\n\t\t\t\t\tremoveAction( 'hookRemoved', namespace );\n\t\t\t\t\tremoveAction( 'hookAdded', namespace );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn <FilteredComponent { ...this.props } />;\n\t\t\t}\n\t\t}\n\n\t\tFilteredComponentRenderer.instances = [];\n\n\t\t/**\n\t\t * Updates the FilteredComponent definition, forcing a render for each\n\t\t * mounted instance. This occurs a maximum of once per animation frame.\n\t\t */\n\t\tconst throttledForceUpdate = debounce( () => {\n\t\t\t// Recreate the filtered component, only after delay so that it's\n\t\t\t// computed once, even if many filters added.\n\t\t\tFilteredComponent = applyFilters( hookName, OriginalComponent );\n\n\t\t\t// Force each instance to render.\n\t\t\tFilteredComponentRenderer.instances.forEach( ( instance ) => {\n\t\t\t\tinstance.forceUpdate();\n\t\t\t} );\n\t\t}, ANIMATION_FRAME_PERIOD );\n\n\t\t/**\n\t\t * When a filter is added or removed for the matching hook name, each\n\t\t * mounted instance should re-render with the new filters having been\n\t\t * applied to the original component.\n\t\t *\n\t\t * @param {string} updatedHookName Name of the hook that was updated.\n\t\t */\n\t\tfunction onHooksUpdated( updatedHookName ) {\n\t\t\tif ( updatedHookName === hookName ) {\n\t\t\t\tthrottledForceUpdate();\n\t\t\t}\n\t\t}\n\n\t\treturn FilteredComponentRenderer;\n\t}, 'withFilters' );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/higher-order/with-filters/index.tsx"],"names":["Component","addAction","applyFilters","removeAction","createHigherOrderComponent","debounce","ANIMATION_FRAME_PERIOD","withFilters","hookName","OriginalComponent","namespace","FilteredComponent","ensureFilteredComponent","undefined","FilteredComponentRenderer","constructor","props","componentDidMount","instances","push","length","onHooksUpdated","componentWillUnmount","filter","instance","render","throttledForceUpdate","forEach","forceUpdate","updatedHookName"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,SAAT,EAAoBC,YAApB,EAAkCC,YAAlC,QAAsD,kBAAtD;AACA,SAASC,0BAAT,EAAqCC,QAArC,QAAqD,oBAArD;AAEA,MAAMC,sBAAsB,GAAG,EAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,QAAtB,EAAyC;AACvD,SAAOJ,0BAA0B,CAAIK,iBAAF,IAAyB;AAC3D,UAAMC,SAAS,GAAG,uBAAuBF,QAAzC;AAEA;AACF;AACA;AACA;AACA;;AACE,QAAIG,iBAAJ;AAEA;AACF;AACA;AACA;;AACE,aAASC,uBAAT,GAAmC;AAClC,UAAKD,iBAAiB,KAAKE,SAA3B,EAAuC;AACtCF,QAAAA,iBAAiB,GAAGT,YAAY,CAC/BM,QAD+B,EAE/BC,iBAF+B,CAAhC;AAIA;AACD;;AAED,UAAMK,yBAAN,SAAwCd,SAAxC,CAAkD;AAGjDe,MAAAA,WAAW,CAAEC,KAAF,EAAoC;AAC9C,cAAOA,KAAP;AAEAJ,QAAAA,uBAAuB;AACvB;;AAEDK,MAAAA,iBAAiB,GAAG;AACnBH,QAAAA,yBAAyB,CAACI,SAA1B,CAAoCC,IAApC,CAA0C,IAA1C,EADmB,CAGnB;AACA;;AACA,YAAKL,yBAAyB,CAACI,SAA1B,CAAoCE,MAApC,KAA+C,CAApD,EAAwD;AACvDnB,UAAAA,SAAS,CAAE,aAAF,EAAiBS,SAAjB,EAA4BW,cAA5B,CAAT;AACApB,UAAAA,SAAS,CAAE,WAAF,EAAeS,SAAf,EAA0BW,cAA1B,CAAT;AACA;AACD;;AAEDC,MAAAA,oBAAoB,GAAG;AACtBR,QAAAA,yBAAyB,CAACI,SAA1B,GACCJ,yBAAyB,CAACI,SAA1B,CAAoCK,MAApC,CACGC,QAAF,IAAgBA,QAAQ,KAAK,IAD9B,CADD,CADsB,CAMtB;AACA;;AACA,YAAKV,yBAAyB,CAACI,SAA1B,CAAoCE,MAApC,KAA+C,CAApD,EAAwD;AACvDjB,UAAAA,YAAY,CAAE,aAAF,EAAiBO,SAAjB,CAAZ;AACAP,UAAAA,YAAY,CAAE,WAAF,EAAeO,SAAf,CAAZ;AACA;AACD;;AAEDe,MAAAA,MAAM,GAAG;AACR,eAAO,cAAC,iBAAD,EAAwB,KAAKT,KAA7B,CAAP;AACA;;AApCgD;;AAuClDF,IAAAA,yBAAyB,CAACI,SAA1B,GAAsC,EAAtC;AAEA;AACF;AACA;AACA;;AACE,UAAMQ,oBAAoB,GAAGrB,QAAQ,CAAE,MAAM;AAC5C;AACA;AACAM,MAAAA,iBAAiB,GAAGT,YAAY,CAC/BM,QAD+B,EAE/BC,iBAF+B,CAAhC,CAH4C,CAQ5C;;AACAK,MAAAA,yBAAyB,CAACI,SAA1B,CAAoCS,OAApC,CAA+CH,QAAF,IAAgB;AAC5DA,QAAAA,QAAQ,CAACI,WAAT;AACA,OAFD;AAGA,KAZoC,EAYlCtB,sBAZkC,CAArC;AAcA;AACF;AACA;AACA;AACA;AACA;AACA;;AACE,aAASe,cAAT,CAAyBQ,eAAzB,EAAmD;AAClD,UAAKA,eAAe,KAAKrB,QAAzB,EAAoC;AACnCkB,QAAAA,oBAAoB;AACpB;AACD;;AAED,WAAOZ,yBAAP;AACA,GAhGgC,EAgG9B,aAhG8B,CAAjC;AAiGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { addAction, applyFilters, removeAction } from '@wordpress/hooks';\nimport { createHigherOrderComponent, debounce } from '@wordpress/compose';\n\nconst ANIMATION_FRAME_PERIOD = 16;\n\n/**\n * Creates a higher-order component which adds filtering capability to the\n * wrapped component. Filters get applied when the original component is about\n * to be mounted. When a filter is added or removed that matches the hook name,\n * the wrapped component re-renders.\n *\n * @param hookName Hook name exposed to be used by filters.\n *\n * @return Higher-order component factory.\n *\n * ```jsx\n * import { withFilters } from '@wordpress/components';\n * import { addFilter } from '@wordpress/hooks';\n *\n * const MyComponent = ( { title } ) => <h1>{ title }</h1>;\n *\n * const ComponentToAppend = () => <div>Appended component</div>;\n *\n * function withComponentAppended( FilteredComponent ) {\n * \treturn ( props ) => (\n * \t\t<>\n * \t\t\t<FilteredComponent { ...props } />\n * \t\t\t<ComponentToAppend />\n * \t\t</>\n * \t);\n * }\n *\n * addFilter(\n * \t'MyHookName',\n * \t'my-plugin/with-component-appended',\n * \twithComponentAppended\n * );\n *\n * const MyComponentWithFilters = withFilters( 'MyHookName' )( MyComponent );\n * ```\n */\nexport default function withFilters( hookName: string ) {\n\treturn createHigherOrderComponent( ( OriginalComponent ) => {\n\t\tconst namespace = 'core/with-filters/' + hookName;\n\n\t\t/**\n\t\t * The component definition with current filters applied. Each instance\n\t\t * reuse this shared reference as an optimization to avoid excessive\n\t\t * calls to `applyFilters` when many instances exist.\n\t\t */\n\t\tlet FilteredComponent: React.ComponentType;\n\n\t\t/**\n\t\t * Initializes the FilteredComponent variable once, if not already\n\t\t * assigned. Subsequent calls are effectively a noop.\n\t\t */\n\t\tfunction ensureFilteredComponent() {\n\t\t\tif ( FilteredComponent === undefined ) {\n\t\t\t\tFilteredComponent = applyFilters(\n\t\t\t\t\thookName,\n\t\t\t\t\tOriginalComponent\n\t\t\t\t) as React.ComponentType;\n\t\t\t}\n\t\t}\n\n\t\tclass FilteredComponentRenderer extends Component {\n\t\t\tstatic instances: FilteredComponentRenderer[];\n\n\t\t\tconstructor( props: { [ key: string ]: any } ) {\n\t\t\t\tsuper( props );\n\n\t\t\t\tensureFilteredComponent();\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tFilteredComponentRenderer.instances.push( this );\n\n\t\t\t\t// If there were previously no mounted instances for components\n\t\t\t\t// filtered on this hook, add the hook handler.\n\t\t\t\tif ( FilteredComponentRenderer.instances.length === 1 ) {\n\t\t\t\t\taddAction( 'hookRemoved', namespace, onHooksUpdated );\n\t\t\t\t\taddAction( 'hookAdded', namespace, onHooksUpdated );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tFilteredComponentRenderer.instances =\n\t\t\t\t\tFilteredComponentRenderer.instances.filter(\n\t\t\t\t\t\t( instance ) => instance !== this\n\t\t\t\t\t);\n\n\t\t\t\t// If this was the last of the mounted components filtered on\n\t\t\t\t// this hook, remove the hook handler.\n\t\t\t\tif ( FilteredComponentRenderer.instances.length === 0 ) {\n\t\t\t\t\tremoveAction( 'hookRemoved', namespace );\n\t\t\t\t\tremoveAction( 'hookAdded', namespace );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn <FilteredComponent { ...this.props } />;\n\t\t\t}\n\t\t}\n\n\t\tFilteredComponentRenderer.instances = [];\n\n\t\t/**\n\t\t * Updates the FilteredComponent definition, forcing a render for each\n\t\t * mounted instance. This occurs a maximum of once per animation frame.\n\t\t */\n\t\tconst throttledForceUpdate = debounce( () => {\n\t\t\t// Recreate the filtered component, only after delay so that it's\n\t\t\t// computed once, even if many filters added.\n\t\t\tFilteredComponent = applyFilters(\n\t\t\t\thookName,\n\t\t\t\tOriginalComponent\n\t\t\t) as React.ComponentType;\n\n\t\t\t// Force each instance to render.\n\t\t\tFilteredComponentRenderer.instances.forEach( ( instance ) => {\n\t\t\t\tinstance.forceUpdate();\n\t\t\t} );\n\t\t}, ANIMATION_FRAME_PERIOD );\n\n\t\t/**\n\t\t * When a filter is added or removed for the matching hook name, each\n\t\t * mounted instance should re-render with the new filters having been\n\t\t * applied to the original component.\n\t\t *\n\t\t * @param updatedHookName Name of the hook that was updated.\n\t\t */\n\t\tfunction onHooksUpdated( updatedHookName: string ) {\n\t\t\tif ( updatedHookName === hookName ) {\n\t\t\t\tthrottledForceUpdate();\n\t\t\t}\n\t\t}\n\n\t\treturn FilteredComponentRenderer;\n\t}, 'withFilters' );\n}\n"]}
@@ -10,30 +10,30 @@ import deprecated from '@wordpress/deprecated';
10
10
  * Returns true if the given object is component-like. An object is component-
11
11
  * like if it is an instance of wp.element.Component, or is a function.
12
12
  *
13
- * @param {*} object Object to test.
13
+ * @param object Object to test.
14
14
  *
15
- * @return {boolean} Whether object is component-like.
15
+ * @return Whether object is component-like.
16
16
  */
17
17
 
18
18
  function isComponentLike(object) {
19
19
  return object instanceof Component || typeof object === 'function';
20
20
  }
21
+
21
22
  /**
22
23
  * Higher Order Component used to be used to wrap disposable elements like
23
24
  * sidebars, modals, dropdowns. When mounting the wrapped component, we track a
24
25
  * reference to the current active element so we know where to restore focus
25
26
  * when the component is unmounted.
26
27
  *
27
- * @param {(WPComponent|Object)} options The component to be enhanced with
28
- * focus return behavior, or an object
29
- * describing the component and the
30
- * focus return characteristics.
28
+ * @param options The component to be enhanced with
29
+ * focus return behavior, or an object
30
+ * describing the component and the
31
+ * focus return characteristics.
31
32
  *
32
- * @return {Function} Higher Order Component with the focus restauration behaviour.
33
+ * @return Higher Order Component with the focus restauration behaviour.
33
34
  */
34
-
35
-
36
- export default createHigherOrderComponent(options => {
35
+ export default createHigherOrderComponent( // @ts-expect-error TODO: Reconcile with intended `createHigherOrderComponent` types
36
+ options => {
37
37
  const HoC = function () {
38
38
  let {
39
39
  onFocusReturn
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/higher-order/with-focus-return/index.js"],"names":["Component","createHigherOrderComponent","useFocusReturn","deprecated","isComponentLike","object","options","HoC","onFocusReturn","WrappedComponent","WithFocusReturn","props","ref","Provider","children","since","hint"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,0BAAT,EAAqCC,cAArC,QAA2D,oBAA3D;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,eAAT,CAA0BC,MAA1B,EAAmC;AAClC,SAAOA,MAAM,YAAYL,SAAlB,IAA+B,OAAOK,MAAP,KAAkB,UAAxD;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAeJ,0BAA0B,CAAIK,OAAF,IAAe;AACzD,QAAMC,GAAG,GACR;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF,uEAAsB,EAAtB;AAAA,WACEC,gBAAF,IAAwB;AACvB,YAAMC,eAAe,GAAKC,KAAF,IAAa;AACpC,cAAMC,GAAG,GAAGV,cAAc,CAAEM,aAAF,CAA1B;AACA,eACC;AAAK,UAAA,GAAG,EAAGI;AAAX,WACC,cAAC,gBAAD,EAAuBD,KAAvB,CADD,CADD;AAKA,OAPD;;AASA,aAAOD,eAAP;AACA,KAZD;AAAA,GADD;;AAeA,MAAKN,eAAe,CAAEE,OAAF,CAApB,EAAkC;AACjC,UAAMG,gBAAgB,GAAGH,OAAzB;AACA,WAAOC,GAAG,GAAIE,gBAAJ,CAAV;AACA;;AAED,SAAOF,GAAG,CAAED,OAAF,CAAV;AACA,CAtBwC,EAsBtC,iBAtBsC,CAAzC;AAwBA,OAAO,MAAMO,QAAQ,GAAG,QAAoB;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AAC3CX,EAAAA,UAAU,CAAE,6CAAF,EAAiD;AAC1DY,IAAAA,KAAK,EAAE,KADmD;AAE1DC,IAAAA,IAAI,EAAE;AAFoD,GAAjD,CAAV;AAKA,SAAOF,QAAP;AACA,CAPM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent, useFocusReturn } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Returns true if the given object is component-like. An object is component-\n * like if it is an instance of wp.element.Component, or is a function.\n *\n * @param {*} object Object to test.\n *\n * @return {boolean} Whether object is component-like.\n */\nfunction isComponentLike( object ) {\n\treturn object instanceof Component || typeof object === 'function';\n}\n\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param {(WPComponent|Object)} options The component to be enhanced with\n * focus return behavior, or an object\n * describing the component and the\n * focus return characteristics.\n *\n * @return {Function} Higher Order Component with the focus restauration behaviour.\n */\nexport default createHigherOrderComponent( ( options ) => {\n\tconst HoC =\n\t\t( { onFocusReturn } = {} ) =>\n\t\t( WrappedComponent ) => {\n\t\t\tconst WithFocusReturn = ( props ) => {\n\t\t\t\tconst ref = useFocusReturn( onFocusReturn );\n\t\t\t\treturn (\n\t\t\t\t\t<div ref={ ref }>\n\t\t\t\t\t\t<WrappedComponent { ...props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\treturn WithFocusReturn;\n\t\t};\n\n\tif ( isComponentLike( options ) ) {\n\t\tconst WrappedComponent = options;\n\t\treturn HoC()( WrappedComponent );\n\t}\n\n\treturn HoC( options );\n}, 'withFocusReturn' );\n\nexport const Provider = ( { children } ) => {\n\tdeprecated( 'wp.components.FocusReturnProvider component', {\n\t\tsince: '5.7',\n\t\thint: 'This provider is not used anymore. You can just remove it from your codebase',\n\t} );\n\n\treturn children;\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/higher-order/with-focus-return/index.tsx"],"names":["Component","createHigherOrderComponent","useFocusReturn","deprecated","isComponentLike","object","options","HoC","onFocusReturn","WrappedComponent","WithFocusReturn","props","ref","Provider","children","since","hint"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,0BAAT,EAAqCC,cAArC,QAA2D,oBAA3D;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,eAAT,CAA0BC,MAA1B,EAAuE;AACtE,SAAOA,MAAM,YAAYL,SAAlB,IAA+B,OAAOK,MAAP,KAAkB,UAAxD;AACA;;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeJ,0BAA0B,EACxC;AACEK,OAAF,IAAwD;AACvD,QAAMC,GAAG,GACR;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF,uEAA6B,EAA7B;AAAA,WACEC,gBAAF,IAA6C;AAC5C,YAAMC,eAAe,GACpBC,KADuB,IAEnB;AACJ,cAAMC,GAAG,GAAGV,cAAc,CAAEM,aAAF,CAA1B;AACA,eACC;AAAK,UAAA,GAAG,EAAGI;AAAX,WACC,cAAC,gBAAD,EAAuBD,KAAvB,CADD,CADD;AAKA,OATD;;AAWA,aAAOD,eAAP;AACA,KAdD;AAAA,GADD;;AAiBA,MAAKN,eAAe,CAAEE,OAAF,CAApB,EAAkC;AACjC,UAAMG,gBAAgB,GAAGH,OAAzB;AACA,WAAOC,GAAG,GAAIE,gBAAJ,CAAV;AACA;;AAED,SAAOF,GAAG,CAAED,OAAF,CAAV;AACA,CA1BuC,EA2BxC,iBA3BwC,CAAzC;AA8BA,OAAO,MAAMO,QAAQ,GAAG,QAAmD;AAAA,MAAjD;AAAEC,IAAAA;AAAF,GAAiD;AAC1EX,EAAAA,UAAU,CAAE,6CAAF,EAAiD;AAC1DY,IAAAA,KAAK,EAAE,KADmD;AAE1DC,IAAAA,IAAI,EAAE;AAFoD,GAAjD,CAAV;AAKA,SAAOF,QAAP;AACA,CAPM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent, useFocusReturn } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Returns true if the given object is component-like. An object is component-\n * like if it is an instance of wp.element.Component, or is a function.\n *\n * @param object Object to test.\n *\n * @return Whether object is component-like.\n */\nfunction isComponentLike( object: any ): object is React.ComponentType {\n\treturn object instanceof Component || typeof object === 'function';\n}\n\ntype Props = {\n\tonFocusReturn?: () => void;\n};\n\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param options The component to be enhanced with\n * focus return behavior, or an object\n * describing the component and the\n * focus return characteristics.\n *\n * @return Higher Order Component with the focus restauration behaviour.\n */\nexport default createHigherOrderComponent(\n\t// @ts-expect-error TODO: Reconcile with intended `createHigherOrderComponent` types\n\t( options: WPComponent | Record< string, unknown > ) => {\n\t\tconst HoC =\n\t\t\t( { onFocusReturn }: Props = {} ) =>\n\t\t\t( WrappedComponent: React.ComponentType ) => {\n\t\t\t\tconst WithFocusReturn = (\n\t\t\t\t\tprops: Record< string, unknown >\n\t\t\t\t) => {\n\t\t\t\t\tconst ref = useFocusReturn( onFocusReturn );\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div ref={ ref }>\n\t\t\t\t\t\t\t<WrappedComponent { ...props } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\treturn WithFocusReturn;\n\t\t\t};\n\n\t\tif ( isComponentLike( options ) ) {\n\t\t\tconst WrappedComponent = options;\n\t\t\treturn HoC()( WrappedComponent );\n\t\t}\n\n\t\treturn HoC( options );\n\t},\n\t'withFocusReturn'\n);\n\nexport const Provider = ( { children }: { children: React.ReactNode } ) => {\n\tdeprecated( 'wp.components.FocusReturnProvider component', {\n\t\tsince: '5.7',\n\t\thint: 'This provider is not used anymore. You can just remove it from your codebase',\n\t} );\n\n\treturn children;\n};\n"]}