@wordpress/components 25.7.0 → 25.8.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 (607) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/build/animation/index.js +6 -0
  3. package/build/animation/index.js.map +1 -1
  4. package/build/border-control/border-control-dropdown/component.js +1 -1
  5. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  6. package/build/border-control/styles.js +20 -20
  7. package/build/border-control/styles.js.map +1 -1
  8. package/build/box-control/unit-control.js +1 -1
  9. package/build/box-control/unit-control.js.map +1 -1
  10. package/build/button/index.js +9 -1
  11. package/build/button/index.js.map +1 -1
  12. package/build/button/types.js.map +1 -1
  13. package/build/circular-option-picker/circular-option-picker-actions.js +53 -0
  14. package/build/circular-option-picker/circular-option-picker-actions.js.map +1 -0
  15. package/build/circular-option-picker/circular-option-picker-context.js +14 -0
  16. package/build/circular-option-picker/circular-option-picker-context.js.map +1 -0
  17. package/build/circular-option-picker/circular-option-picker-option-group.js +26 -0
  18. package/build/circular-option-picker/circular-option-picker-option-group.js.map +1 -0
  19. package/build/circular-option-picker/circular-option-picker-option.js +122 -0
  20. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -0
  21. package/build/circular-option-picker/circular-option-picker.js +172 -0
  22. package/build/circular-option-picker/circular-option-picker.js.map +1 -0
  23. package/build/circular-option-picker/index.js +29 -137
  24. package/build/circular-option-picker/index.js.map +1 -1
  25. package/build/circular-option-picker/types.js.map +1 -1
  26. package/build/color-palette/index.js +58 -19
  27. package/build/color-palette/index.js.map +1 -1
  28. package/build/color-palette/types.js.map +1 -1
  29. package/build/combobox-control/index.js +0 -3
  30. package/build/combobox-control/index.js.map +1 -1
  31. package/build/composite/index.js.map +1 -1
  32. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  33. package/build/date-time/time/timezone.js +1 -1
  34. package/build/date-time/time/timezone.js.map +1 -1
  35. package/build/dropdown/index.js +11 -23
  36. package/build/dropdown/index.js.map +1 -1
  37. package/build/dropdown/types.js.map +1 -1
  38. package/build/dropdown-menu/index.js +7 -1
  39. package/build/dropdown-menu/index.js.map +1 -1
  40. package/build/dropdown-menu/types.js.map +1 -1
  41. package/build/dropdown-menu-v2/styles.js +16 -16
  42. package/build/dropdown-menu-v2/styles.js.map +1 -1
  43. package/build/duotone-picker/color-list-picker/index.js +18 -3
  44. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  45. package/build/duotone-picker/duotone-picker.js +33 -1
  46. package/build/duotone-picker/duotone-picker.js.map +1 -1
  47. package/build/duotone-picker/types.js.map +1 -1
  48. package/build/focusable-iframe/index.js +0 -4
  49. package/build/focusable-iframe/index.js.map +1 -1
  50. package/build/focusable-iframe/types.js +6 -0
  51. package/build/focusable-iframe/types.js.map +1 -0
  52. package/build/form-token-field/index.js +6 -2
  53. package/build/form-token-field/index.js.map +1 -1
  54. package/build/form-token-field/types.js.map +1 -1
  55. package/build/gradient-picker/index.js +57 -15
  56. package/build/gradient-picker/index.js.map +1 -1
  57. package/build/gradient-picker/types.js.map +1 -1
  58. package/build/higher-order/navigate-regions/index.js.map +1 -1
  59. package/build/higher-order/with-focus-outside/index.js +1 -2
  60. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  61. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  62. package/build/index.js +6 -0
  63. package/build/index.js.map +1 -1
  64. package/build/input-control/styles/input-control-styles.js +22 -22
  65. package/build/input-control/styles/input-control-styles.js.map +1 -1
  66. package/build/mobile/bottom-sheet/index.native.js +1 -0
  67. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  68. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  69. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  70. package/build/notice/index.js +19 -7
  71. package/build/notice/index.js.map +1 -1
  72. package/build/palette-edit/styles.js +10 -10
  73. package/build/palette-edit/styles.js.map +1 -1
  74. package/build/placeholder/index.js.map +1 -1
  75. package/build/popover/index.js +37 -83
  76. package/build/popover/index.js.map +1 -1
  77. package/build/popover/types.js.map +1 -1
  78. package/build/popover/utils.js +9 -41
  79. package/build/popover/utils.js.map +1 -1
  80. package/build/search-control/index.js +12 -3
  81. package/build/search-control/index.js.map +1 -1
  82. package/build/search-control/types.js.map +1 -1
  83. package/build/text/styles.js +7 -7
  84. package/build/text/styles.js.map +1 -1
  85. package/build/toggle-group-control/toggle-group-control/as-button-group.js +30 -45
  86. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  87. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +40 -41
  88. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  89. package/build/toggle-group-control/toggle-group-control/component.js +10 -5
  90. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  91. package/build/toggle-group-control/toggle-group-control/styles.js +9 -16
  92. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  93. package/build/toggle-group-control/toggle-group-control/utils.js +44 -0
  94. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -0
  95. package/build/toggle-group-control/toggle-group-control-option-base/component.js +36 -17
  96. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  97. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +10 -8
  98. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  99. package/build/toggle-group-control/types.js.map +1 -1
  100. package/build/toolbar/toolbar/index.js +7 -1
  101. package/build/toolbar/toolbar/index.js.map +1 -1
  102. package/build/toolbar/toolbar-dropdown-menu/index.js +1 -3
  103. package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  104. package/build/toolbar/toolbar-group/index.js +16 -12
  105. package/build/toolbar/toolbar-group/index.js.map +1 -1
  106. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +0 -2
  107. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  108. package/build/toolbar/toolbar-group/toolbar-group-container.js +3 -1
  109. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  110. package/build/toolbar/toolbar-group/types.js +6 -0
  111. package/build/toolbar/toolbar-group/types.js.map +1 -0
  112. package/build/toolbar/toolbar-item/index.js +1 -1
  113. package/build/toolbar/toolbar-item/index.js.map +1 -1
  114. package/build/tooltip/index.js +51 -225
  115. package/build/tooltip/index.js.map +1 -1
  116. package/build/tooltip/types.js +6 -0
  117. package/build/tooltip/types.js.map +1 -0
  118. package/build/ui/context/context-connect.js.map +1 -1
  119. package/build/ui/context/wordpress-component.js.map +1 -1
  120. package/build/unit-control/index.js.map +1 -1
  121. package/build/unit-control/styles/unit-control-styles.js +7 -7
  122. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  123. package/build/utils/colors-values.js +1 -1
  124. package/build/utils/colors-values.js.map +1 -1
  125. package/build/utils/use-deprecated-props.js.map +1 -1
  126. package/build-module/animation/index.js +1 -1
  127. package/build-module/animation/index.js.map +1 -1
  128. package/build-module/border-control/border-control-dropdown/component.js +1 -1
  129. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  130. package/build-module/border-control/styles.js +20 -20
  131. package/build-module/border-control/styles.js.map +1 -1
  132. package/build-module/box-control/unit-control.js +1 -1
  133. package/build-module/box-control/unit-control.js.map +1 -1
  134. package/build-module/button/index.js +9 -1
  135. package/build-module/button/index.js.map +1 -1
  136. package/build-module/button/types.js.map +1 -1
  137. package/build-module/circular-option-picker/circular-option-picker-actions.js +44 -0
  138. package/build-module/circular-option-picker/circular-option-picker-actions.js.map +1 -0
  139. package/build-module/circular-option-picker/circular-option-picker-context.js +11 -0
  140. package/build-module/circular-option-picker/circular-option-picker-context.js.map +1 -0
  141. package/build-module/circular-option-picker/circular-option-picker-option-group.js +23 -0
  142. package/build-module/circular-option-picker/circular-option-picker-option-group.js.map +1 -0
  143. package/build-module/circular-option-picker/circular-option-picker-option.js +114 -0
  144. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -0
  145. package/build-module/circular-option-picker/circular-option-picker.js +165 -0
  146. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -0
  147. package/build-module/circular-option-picker/index.js +4 -132
  148. package/build-module/circular-option-picker/index.js.map +1 -1
  149. package/build-module/circular-option-picker/types.js.map +1 -1
  150. package/build-module/color-palette/index.js +58 -19
  151. package/build-module/color-palette/index.js.map +1 -1
  152. package/build-module/color-palette/types.js.map +1 -1
  153. package/build-module/combobox-control/index.js +0 -3
  154. package/build-module/combobox-control/index.js.map +1 -1
  155. package/build-module/composite/index.js +2 -0
  156. package/build-module/composite/index.js.map +1 -1
  157. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  158. package/build-module/date-time/time/timezone.js +1 -1
  159. package/build-module/date-time/time/timezone.js.map +1 -1
  160. package/build-module/dropdown/index.js +12 -24
  161. package/build-module/dropdown/index.js.map +1 -1
  162. package/build-module/dropdown/types.js.map +1 -1
  163. package/build-module/dropdown-menu/index.js +7 -1
  164. package/build-module/dropdown-menu/index.js.map +1 -1
  165. package/build-module/dropdown-menu/types.js.map +1 -1
  166. package/build-module/dropdown-menu-v2/styles.js +16 -16
  167. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  168. package/build-module/duotone-picker/color-list-picker/index.js +18 -3
  169. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  170. package/build-module/duotone-picker/duotone-picker.js +33 -1
  171. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  172. package/build-module/duotone-picker/types.js.map +1 -1
  173. package/build-module/focusable-iframe/index.js +2 -3
  174. package/build-module/focusable-iframe/index.js.map +1 -1
  175. package/build-module/focusable-iframe/types.js +2 -0
  176. package/build-module/focusable-iframe/types.js.map +1 -0
  177. package/build-module/form-token-field/index.js +6 -2
  178. package/build-module/form-token-field/index.js.map +1 -1
  179. package/build-module/form-token-field/types.js.map +1 -1
  180. package/build-module/gradient-picker/index.js +57 -15
  181. package/build-module/gradient-picker/index.js.map +1 -1
  182. package/build-module/gradient-picker/types.js.map +1 -1
  183. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  184. package/build-module/higher-order/with-focus-outside/index.js +1 -3
  185. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  186. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  187. package/build-module/index.js +1 -1
  188. package/build-module/index.js.map +1 -1
  189. package/build-module/input-control/styles/input-control-styles.js +23 -23
  190. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  191. package/build-module/mobile/bottom-sheet/index.native.js +1 -0
  192. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  193. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  194. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  195. package/build-module/notice/index.js +19 -7
  196. package/build-module/notice/index.js.map +1 -1
  197. package/build-module/palette-edit/styles.js +10 -10
  198. package/build-module/palette-edit/styles.js.map +1 -1
  199. package/build-module/placeholder/index.js.map +1 -1
  200. package/build-module/popover/index.js +38 -84
  201. package/build-module/popover/index.js.map +1 -1
  202. package/build-module/popover/types.js.map +1 -1
  203. package/build-module/popover/utils.js +8 -39
  204. package/build-module/popover/utils.js.map +1 -1
  205. package/build-module/search-control/index.js +12 -3
  206. package/build-module/search-control/index.js.map +1 -1
  207. package/build-module/search-control/types.js.map +1 -1
  208. package/build-module/text/styles.js +7 -7
  209. package/build-module/text/styles.js.map +1 -1
  210. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +32 -47
  211. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  212. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +41 -42
  213. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  214. package/build-module/toggle-group-control/toggle-group-control/component.js +10 -6
  215. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  216. package/build-module/toggle-group-control/toggle-group-control/styles.js +8 -14
  217. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  218. package/build-module/toggle-group-control/toggle-group-control/utils.js +42 -0
  219. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -0
  220. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +35 -16
  221. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  222. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +8 -7
  223. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  224. package/build-module/toggle-group-control/types.js.map +1 -1
  225. package/build-module/toolbar/toolbar/index.js +7 -1
  226. package/build-module/toolbar/toolbar/index.js.map +1 -1
  227. package/build-module/toolbar/toolbar-dropdown-menu/index.js +5 -3
  228. package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  229. package/build-module/toolbar/toolbar-group/index.js +15 -12
  230. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  231. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +0 -2
  232. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  233. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +3 -1
  234. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  235. package/build-module/toolbar/toolbar-group/types.js +2 -0
  236. package/build-module/toolbar/toolbar-group/types.js.map +1 -0
  237. package/build-module/toolbar/toolbar-item/index.js +1 -1
  238. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  239. package/build-module/tooltip/index.js +53 -224
  240. package/build-module/tooltip/index.js.map +1 -1
  241. package/build-module/tooltip/types.js +2 -0
  242. package/build-module/tooltip/types.js.map +1 -0
  243. package/build-module/ui/context/context-connect.js.map +1 -1
  244. package/build-module/ui/context/wordpress-component.js.map +1 -1
  245. package/build-module/unit-control/index.js.map +1 -1
  246. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  247. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  248. package/build-module/utils/colors-values.js +1 -1
  249. package/build-module/utils/colors-values.js.map +1 -1
  250. package/build-module/utils/use-deprecated-props.js.map +1 -1
  251. package/build-style/style-rtl.css +35 -63
  252. package/build-style/style.css +35 -63
  253. package/build-types/animation/index.d.ts +1 -1
  254. package/build-types/animation/index.d.ts.map +1 -1
  255. package/build-types/base-control/hooks.d.ts +1 -1
  256. package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
  257. package/build-types/border-box-control/border-box-control/hook.d.ts +46 -46
  258. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +51 -51
  259. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  260. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +46 -46
  261. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +46 -46
  262. package/build-types/border-box-control/stories/index.story.d.ts +2 -2
  263. package/build-types/border-control/border-control/hook.d.ts +45 -45
  264. package/build-types/border-control/border-control-dropdown/hook.d.ts +45 -45
  265. package/build-types/border-control/border-control-style-picker/hook.d.ts +45 -45
  266. package/build-types/border-control/stories/index.story.d.ts +6 -6
  267. package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
  268. package/build-types/button/deprecated.d.ts +16 -22
  269. package/build-types/button/deprecated.d.ts.map +1 -1
  270. package/build-types/button/index.d.ts.map +1 -1
  271. package/build-types/button/types.d.ts +0 -4
  272. package/build-types/button/types.d.ts.map +1 -1
  273. package/build-types/card/card/hook.d.ts +46 -46
  274. package/build-types/card/card-body/hook.d.ts +46 -46
  275. package/build-types/card/card-divider/hook.d.ts +47 -47
  276. package/build-types/card/card-footer/hook.d.ts +46 -46
  277. package/build-types/card/card-header/hook.d.ts +46 -46
  278. package/build-types/card/card-media/hook.d.ts +46 -46
  279. package/build-types/card/stories/index.story.d.ts +2 -2
  280. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +7 -0
  281. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -0
  282. package/build-types/circular-option-picker/circular-option-picker-context.d.ts +7 -0
  283. package/build-types/circular-option-picker/circular-option-picker-context.d.ts.map +1 -0
  284. package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts +7 -0
  285. package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts.map +1 -0
  286. package/build-types/circular-option-picker/circular-option-picker-option.d.ts +4 -0
  287. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -0
  288. package/build-types/circular-option-picker/circular-option-picker.d.ts +11 -0
  289. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -0
  290. package/build-types/circular-option-picker/index.d.ts +5 -56
  291. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  292. package/build-types/circular-option-picker/stories/index.story.d.ts +3 -1
  293. package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
  294. package/build-types/circular-option-picker/test/index.d.ts +2 -0
  295. package/build-types/circular-option-picker/test/index.d.ts.map +1 -0
  296. package/build-types/circular-option-picker/types.d.ts +53 -1
  297. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  298. package/build-types/color-palette/index.d.ts +3 -19
  299. package/build-types/color-palette/index.d.ts.map +1 -1
  300. package/build-types/color-palette/stories/index.story.d.ts +3 -36
  301. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  302. package/build-types/color-palette/styles.d.ts +1 -1
  303. package/build-types/color-palette/types.d.ts +31 -1
  304. package/build-types/color-palette/types.d.ts.map +1 -1
  305. package/build-types/color-picker/component.d.ts +1 -1
  306. package/build-types/color-picker/stories/index.story.d.ts +1 -1
  307. package/build-types/color-picker/styles.d.ts +6 -6
  308. package/build-types/combobox-control/index.d.ts.map +1 -1
  309. package/build-types/combobox-control/stories/index.story.d.ts +2 -2
  310. package/build-types/composite/index.d.ts +14 -1
  311. package/build-types/composite/index.d.ts.map +1 -1
  312. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +2 -2
  313. package/build-types/date-time/date/styles.d.ts +3 -3
  314. package/build-types/date-time/date-time/styles.d.ts +2 -2
  315. package/build-types/date-time/time/styles.d.ts +12 -12
  316. package/build-types/dropdown/index.d.ts.map +1 -1
  317. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  318. package/build-types/dropdown/types.d.ts +12 -4
  319. package/build-types/dropdown/types.d.ts.map +1 -1
  320. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  321. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  322. package/build-types/dropdown-menu/types.d.ts +22 -5
  323. package/build-types/dropdown-menu/types.d.ts.map +1 -1
  324. package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
  325. package/build-types/duotone-picker/duotone-picker.d.ts +1 -1
  326. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  327. package/build-types/duotone-picker/types.d.ts +31 -1
  328. package/build-types/duotone-picker/types.d.ts.map +1 -1
  329. package/build-types/elevation/hook.d.ts +46 -46
  330. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  331. package/build-types/flex/flex/hook.d.ts +46 -46
  332. package/build-types/flex/flex-block/hook.d.ts +46 -46
  333. package/build-types/flex/flex-item/hook.d.ts +46 -46
  334. package/build-types/focal-point-picker/stories/index.story.d.ts +8 -8
  335. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  336. package/build-types/focusable-iframe/index.d.ts +4 -5
  337. package/build-types/focusable-iframe/index.d.ts.map +1 -1
  338. package/build-types/focusable-iframe/types.d.ts +8 -0
  339. package/build-types/focusable-iframe/types.d.ts.map +1 -0
  340. package/build-types/font-size-picker/styles.d.ts +2 -2
  341. package/build-types/form-token-field/index.d.ts.map +1 -1
  342. package/build-types/form-token-field/types.d.ts +6 -0
  343. package/build-types/form-token-field/types.d.ts.map +1 -1
  344. package/build-types/gradient-picker/index.d.ts +1 -1
  345. package/build-types/gradient-picker/index.d.ts.map +1 -1
  346. package/build-types/gradient-picker/stories/index.story.d.ts +3 -36
  347. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  348. package/build-types/gradient-picker/types.d.ts +31 -1
  349. package/build-types/gradient-picker/types.d.ts.map +1 -1
  350. package/build-types/grid/hook.d.ts +46 -46
  351. package/build-types/h-stack/component.d.ts +1 -1
  352. package/build-types/h-stack/hook.d.ts +46 -46
  353. package/build-types/heading/hook.d.ts +45 -45
  354. package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -1
  355. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -0
  356. package/build-types/higher-order/with-focus-outside/index.d.ts.map +1 -1
  357. package/build-types/higher-order/with-focus-outside/test/index.d.ts +2 -0
  358. package/build-types/higher-order/with-focus-outside/test/index.d.ts.map +1 -0
  359. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
  360. package/build-types/index.d.ts +1 -1
  361. package/build-types/index.d.ts.map +1 -1
  362. package/build-types/isolated-event-container/test/index.d.ts +2 -0
  363. package/build-types/isolated-event-container/test/index.d.ts.map +1 -0
  364. package/build-types/item-group/item/hook.d.ts +46 -46
  365. package/build-types/item-group/item-group/hook.d.ts +46 -46
  366. package/build-types/menu-item/index.d.ts +1 -1
  367. package/build-types/menu-item/stories/index.story.d.ts +4 -4
  368. package/build-types/navigable-container/menu.d.ts +1 -1
  369. package/build-types/navigation/back-button/index.d.ts +1 -1
  370. package/build-types/navigation/styles/navigation-styles.d.ts +5 -3
  371. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  372. package/build-types/navigator/navigator-back-button/component.d.ts +2 -3
  373. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  374. package/build-types/navigator/navigator-back-button/hook.d.ts +53 -54
  375. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  376. package/build-types/navigator/navigator-button/component.d.ts +2 -3
  377. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  378. package/build-types/navigator/navigator-button/hook.d.ts +53 -54
  379. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  380. package/build-types/navigator/navigator-to-parent-button/component.d.ts +2 -3
  381. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  382. package/build-types/notice/index.d.ts.map +1 -1
  383. package/build-types/number-control/index.d.ts +3 -3
  384. package/build-types/number-control/stories/index.story.d.ts +3 -3
  385. package/build-types/palette-edit/styles.d.ts +4 -4
  386. package/build-types/palette-edit/styles.d.ts.map +1 -1
  387. package/build-types/placeholder/index.d.ts.map +1 -1
  388. package/build-types/popover/index.d.ts +1 -1
  389. package/build-types/popover/index.d.ts.map +1 -1
  390. package/build-types/popover/overlay-middlewares.d.ts +1 -1
  391. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  392. package/build-types/popover/types.d.ts +0 -4
  393. package/build-types/popover/types.d.ts.map +1 -1
  394. package/build-types/popover/utils.d.ts +2 -6
  395. package/build-types/popover/utils.d.ts.map +1 -1
  396. package/build-types/range-control/index.d.ts +1 -1
  397. package/build-types/range-control/styles/range-control-styles.d.ts +3 -3
  398. package/build-types/resizable-box/index.d.ts +1 -1
  399. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  400. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  401. package/build-types/resizable-box/stories/index.story.d.ts +2 -2
  402. package/build-types/scrollable/hook.d.ts +46 -46
  403. package/build-types/search-control/index.d.ts +4 -2
  404. package/build-types/search-control/index.d.ts.map +1 -1
  405. package/build-types/search-control/stories/index.story.d.ts +8 -4
  406. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  407. package/build-types/search-control/types.d.ts +12 -0
  408. package/build-types/search-control/types.d.ts.map +1 -1
  409. package/build-types/spacer/hook.d.ts +46 -46
  410. package/build-types/spinner/index.d.ts +1 -1
  411. package/build-types/surface/hook.d.ts +46 -46
  412. package/build-types/text/hook.d.ts +46 -46
  413. package/build-types/text/styles.d.ts.map +1 -1
  414. package/build-types/text-control/index.d.ts +3 -3
  415. package/build-types/toggle-control/stories/index.story.d.ts +2 -2
  416. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +2 -4
  417. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
  418. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +2 -4
  419. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  420. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +2 -2
  421. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  422. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -5
  423. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  424. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts +18 -0
  425. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -0
  426. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
  427. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +5 -1
  428. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  429. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +1 -0
  430. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  431. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  432. package/build-types/toggle-group-control/types.d.ts +13 -24
  433. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  434. package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
  435. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  436. package/build-types/toolbar/toolbar-button/index.d.ts +16 -22
  437. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  438. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -1
  439. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -1
  440. package/build-types/toolbar/toolbar-group/index.d.ts +10 -14
  441. package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -1
  442. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +3 -5
  443. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -1
  444. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -5
  445. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -1
  446. package/build-types/toolbar/toolbar-group/types.d.ts +77 -0
  447. package/build-types/toolbar/toolbar-group/types.d.ts.map +1 -0
  448. package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -1
  449. package/build-types/tools-panel/tools-panel/hook.d.ts +46 -46
  450. package/build-types/tools-panel/tools-panel-header/hook.d.ts +46 -46
  451. package/build-types/tools-panel/tools-panel-item/hook.d.ts +46 -46
  452. package/build-types/tooltip/index.d.ts +8 -5
  453. package/build-types/tooltip/index.d.ts.map +1 -1
  454. package/build-types/tooltip/stories/index.story.d.ts +13 -0
  455. package/build-types/tooltip/stories/index.story.d.ts.map +1 -0
  456. package/build-types/tooltip/test/index.d.ts +2 -0
  457. package/build-types/tooltip/test/index.d.ts.map +1 -0
  458. package/build-types/tooltip/test/utils/index.d.ts +11 -0
  459. package/build-types/tooltip/test/utils/index.d.ts.map +1 -0
  460. package/build-types/tooltip/types.d.ts +61 -0
  461. package/build-types/tooltip/types.d.ts.map +1 -0
  462. package/build-types/truncate/hook.d.ts +46 -46
  463. package/build-types/ui/tooltip/content.d.ts +1 -1
  464. package/build-types/unit-control/index.d.ts +1 -1
  465. package/build-types/unit-control/index.d.ts.map +1 -1
  466. package/build-types/unit-control/styles/unit-control-styles.d.ts +3 -3
  467. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  468. package/build-types/unit-control/unit-select-control.d.ts +1 -1
  469. package/build-types/utils/use-deprecated-props.d.ts +1 -1
  470. package/build-types/v-stack/component.d.ts +1 -1
  471. package/build-types/v-stack/hook.d.ts +46 -46
  472. package/build-types/v-stack/stories/index.story.d.ts +2 -2
  473. package/package.json +19 -19
  474. package/src/animation/index.tsx +1 -0
  475. package/src/border-control/border-control/README.md +2 -2
  476. package/src/border-control/border-control-dropdown/component.tsx +1 -1
  477. package/src/border-control/styles.ts +7 -7
  478. package/src/border-control/test/index.js +79 -69
  479. package/src/box-control/unit-control.tsx +1 -1
  480. package/src/button/README.md +0 -6
  481. package/src/button/index.tsx +9 -1
  482. package/src/button/test/index.tsx +19 -0
  483. package/src/button/types.ts +0 -4
  484. package/src/circular-option-picker/README.md +14 -0
  485. package/src/circular-option-picker/circular-option-picker-actions.tsx +60 -0
  486. package/src/circular-option-picker/circular-option-picker-context.tsx +12 -0
  487. package/src/circular-option-picker/circular-option-picker-option-group.tsx +34 -0
  488. package/src/circular-option-picker/circular-option-picker-option.tsx +139 -0
  489. package/src/circular-option-picker/circular-option-picker.tsx +202 -0
  490. package/src/circular-option-picker/index.tsx +7 -174
  491. package/src/circular-option-picker/stories/index.story.tsx +34 -9
  492. package/src/circular-option-picker/style.scss +11 -7
  493. package/src/circular-option-picker/test/index.tsx +133 -0
  494. package/src/circular-option-picker/types.ts +64 -1
  495. package/src/color-palette/README.md +14 -0
  496. package/src/color-palette/index.tsx +69 -28
  497. package/src/color-palette/stories/index.story.tsx +16 -2
  498. package/src/color-palette/test/index.tsx +32 -30
  499. package/src/color-palette/types.ts +34 -1
  500. package/src/combobox-control/index.tsx +7 -5
  501. package/src/composite/{index.js → index.ts} +3 -0
  502. package/src/confirm-dialog/stories/index.story.js +13 -14
  503. package/src/confirm-dialog/test/index.js +10 -18
  504. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +1 -1
  505. package/src/custom-gradient-picker/gradient-bar/test/utils.ts +5 -5
  506. package/src/date-time/time/timezone.tsx +1 -1
  507. package/src/dropdown/README.md +13 -3
  508. package/src/dropdown/index.tsx +16 -34
  509. package/src/dropdown/stories/index.story.tsx +10 -7
  510. package/src/dropdown/types.ts +12 -4
  511. package/src/dropdown-menu/README.md +18 -0
  512. package/src/dropdown-menu/index.tsx +8 -1
  513. package/src/dropdown-menu/stories/index.story.tsx +5 -0
  514. package/src/dropdown-menu/types.ts +23 -6
  515. package/src/dropdown-menu-v2/styles.ts +1 -1
  516. package/src/duotone-picker/README.md +14 -0
  517. package/src/duotone-picker/color-list-picker/index.tsx +28 -12
  518. package/src/duotone-picker/duotone-picker.tsx +33 -0
  519. package/src/duotone-picker/types.ts +34 -1
  520. package/src/focusable-iframe/{index.js → index.tsx} +7 -4
  521. package/src/focusable-iframe/types.ts +9 -0
  522. package/src/form-token-field/README.md +1 -0
  523. package/src/form-token-field/index.tsx +5 -1
  524. package/src/form-token-field/style.scss +5 -9
  525. package/src/form-token-field/test/index.tsx +36 -1
  526. package/src/form-token-field/types.ts +7 -1
  527. package/src/gradient-picker/README.md +14 -0
  528. package/src/gradient-picker/index.tsx +60 -11
  529. package/src/gradient-picker/types.ts +34 -1
  530. package/src/higher-order/navigate-regions/index.tsx +5 -6
  531. package/src/higher-order/with-filters/test/index.tsx +36 -43
  532. package/src/higher-order/with-focus-outside/{index.js → index.tsx} +8 -5
  533. package/src/higher-order/with-focus-outside/test/{index.js → index.tsx} +13 -11
  534. package/src/higher-order/with-notices/test/index.tsx +1 -1
  535. package/src/higher-order/with-spoken-messages/index.tsx +7 -8
  536. package/src/index.ts +5 -1
  537. package/src/input-control/styles/input-control-styles.tsx +2 -2
  538. package/src/isolated-event-container/test/{index.js → index.tsx} +1 -1
  539. package/src/mobile/bottom-sheet/index.native.js +1 -0
  540. package/src/mobile/global-styles-context/index.native.js +7 -8
  541. package/src/modal/test/index.tsx +107 -0
  542. package/src/navigation/use-navigation-tree-nodes.tsx +1 -1
  543. package/src/notice/index.tsx +18 -6
  544. package/src/notice/style.scss +0 -1
  545. package/src/notice/test/__snapshots__/index.tsx.snap +9 -1
  546. package/src/palette-edit/styles.js +2 -1
  547. package/src/placeholder/index.tsx +1 -0
  548. package/src/placeholder/style.scss +2 -4
  549. package/src/popover/index.tsx +47 -110
  550. package/src/popover/test/index.tsx +3 -3
  551. package/src/popover/types.ts +0 -5
  552. package/src/popover/utils.ts +19 -67
  553. package/src/search-control/README.md +7 -0
  554. package/src/search-control/index.tsx +10 -1
  555. package/src/search-control/style.scss +14 -7
  556. package/src/search-control/types.ts +12 -0
  557. package/src/tab-panel/test/index.tsx +5 -0
  558. package/src/text/styles.js +2 -1
  559. package/src/theme/README.md +5 -5
  560. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +567 -59
  561. package/src/toggle-group-control/test/index.tsx +110 -56
  562. package/src/toggle-group-control/toggle-group-control/README.md +0 -1
  563. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +39 -57
  564. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +52 -48
  565. package/src/toggle-group-control/toggle-group-control/component.tsx +12 -6
  566. package/src/toggle-group-control/toggle-group-control/styles.ts +2 -19
  567. package/src/toggle-group-control/toggle-group-control/utils.ts +50 -0
  568. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +70 -20
  569. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +17 -3
  570. package/src/toggle-group-control/types.ts +14 -32
  571. package/src/toolbar/stories/index.story.tsx +3 -5
  572. package/src/toolbar/test/toolbar-group.tsx +13 -7
  573. package/src/toolbar/toolbar/index.tsx +9 -1
  574. package/src/toolbar/toolbar-dropdown-menu/{index.js → index.tsx} +11 -4
  575. package/src/toolbar/toolbar-group/README.md +2 -2
  576. package/src/toolbar/toolbar-group/{index.js → index.tsx} +19 -14
  577. package/src/toolbar/toolbar-group/{toolbar-group-collapsed.js → toolbar-group-collapsed.tsx} +10 -4
  578. package/src/toolbar/toolbar-group/toolbar-group-container.tsx +16 -0
  579. package/src/toolbar/toolbar-group/types.ts +92 -0
  580. package/src/toolbar/toolbar-item/index.tsx +3 -1
  581. package/src/tooltip/README.md +31 -28
  582. package/src/tooltip/index.tsx +106 -0
  583. package/src/tooltip/stories/index.story.tsx +59 -0
  584. package/src/tooltip/style.scss +2 -27
  585. package/src/tooltip/test/index.tsx +335 -0
  586. package/src/tooltip/test/utils/index.tsx +20 -0
  587. package/src/tooltip/types.ts +61 -0
  588. package/src/ui/context/context-connect.ts +3 -3
  589. package/src/ui/context/wordpress-component.ts +4 -4
  590. package/src/unit-control/index.tsx +9 -4
  591. package/src/unit-control/styles/unit-control-styles.ts +3 -1
  592. package/src/unit-control/test/utils.ts +1 -1
  593. package/src/utils/colors-values.js +1 -1
  594. package/src/utils/use-deprecated-props.ts +1 -1
  595. package/tsconfig.tsbuildinfo +1 -1
  596. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -78
  597. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
  598. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -76
  599. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
  600. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +0 -9
  601. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +0 -1
  602. package/src/color-palette/test/__snapshots__/index.tsx.snap +0 -288
  603. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +0 -84
  604. package/src/toolbar/toolbar-group/toolbar-group-container.js +0 -8
  605. package/src/tooltip/index.js +0 -293
  606. package/src/tooltip/stories/index.story.js +0 -85
  607. package/src/tooltip/test/index.js +0 -323
@@ -12,7 +12,7 @@ import type { CSSProperties, ReactNode } from 'react';
12
12
  import type { WordPressComponentProps } from '../../ui/context';
13
13
  import { Flex, FlexItem } from '../../flex';
14
14
  import { Text } from '../../text';
15
- import { baseLabelTypography, COLORS, rtl } from '../../utils';
15
+ import { baseLabelTypography, COLORS, CONFIG, rtl } from '../../utils';
16
16
  import type { LabelPosition, Size } from '../types';
17
17
  import { space } from '../../ui/utils/space';
18
18
 
@@ -275,7 +275,7 @@ const backdropFocusedStyles = ( {
275
275
  let outlineOffset;
276
276
 
277
277
  if ( isFocused ) {
278
- boxShadow = `0 0 0 1px ${ COLORS.ui.borderFocus } inset`;
278
+ boxShadow = CONFIG.controlBoxShadowFocus;
279
279
  // Windows High Contrast mode will show this outline, but not the box-shadow.
280
280
  outline = `2px solid transparent`;
281
281
  outlineOffset = `-2px`;
@@ -7,7 +7,7 @@ import userEvent from '@testing-library/user-event';
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
- import IsolatedEventContainer from '../';
10
+ import IsolatedEventContainer from '..';
11
11
 
12
12
  describe( 'IsolatedEventContainer', () => {
13
13
  it( 'should pass props to container', async () => {
@@ -527,6 +527,7 @@ class BottomSheet extends Component {
527
527
  panResponder.panHandlers.onMoveShouldSetResponderCapture
528
528
  }
529
529
  onAccessibilityEscape={ this.onCloseBottomSheet }
530
+ testID="bottom-sheet"
530
531
  { ...rest }
531
532
  >
532
533
  <KeyboardAvoidingView
@@ -92,13 +92,12 @@ export const useGlobalStyles = () => {
92
92
  return globalStyles;
93
93
  };
94
94
 
95
- export const withGlobalStyles = ( WrappedComponent ) => ( props ) =>
96
- (
97
- <GlobalStylesContext.Consumer>
98
- { ( globalStyles ) => (
99
- <WrappedComponent { ...props } globalStyles={ globalStyles } />
100
- ) }
101
- </GlobalStylesContext.Consumer>
102
- );
95
+ export const withGlobalStyles = ( WrappedComponent ) => ( props ) => (
96
+ <GlobalStylesContext.Consumer>
97
+ { ( globalStyles ) => (
98
+ <WrappedComponent { ...props } globalStyles={ globalStyles } />
99
+ ) }
100
+ </GlobalStylesContext.Consumer>
101
+ );
103
102
 
104
103
  export default GlobalStylesContext;
@@ -116,6 +116,113 @@ describe( 'Modal', () => {
116
116
  expect( opener ).toHaveFocus();
117
117
  } );
118
118
 
119
+ it( 'should request closing of any non nested modal when opened', async () => {
120
+ const user = userEvent.setup();
121
+ const onRequestClose = jest.fn();
122
+
123
+ const DismissAdjacent = () => {
124
+ const [ isShown, setIsShown ] = useState( false );
125
+ return (
126
+ <>
127
+ <Modal onRequestClose={ onRequestClose }>
128
+ <button onClick={ () => setIsShown( true ) }>💥</button>
129
+ </Modal>
130
+ { isShown && (
131
+ <Modal onRequestClose={ () => setIsShown( false ) }>
132
+ <p>Adjacent modal content</p>
133
+ </Modal>
134
+ ) }
135
+ </>
136
+ );
137
+ };
138
+ render( <DismissAdjacent /> );
139
+
140
+ await user.click( screen.getByRole( 'button', { name: '💥' } ) );
141
+ expect( onRequestClose ).toHaveBeenCalled();
142
+ } );
143
+
144
+ it( 'should support nested modals', async () => {
145
+ const user = userEvent.setup();
146
+ const onRequestClose = jest.fn();
147
+
148
+ const NestSupport = () => {
149
+ const [ isShown, setIsShown ] = useState( false );
150
+ return (
151
+ <>
152
+ <Modal onRequestClose={ onRequestClose }>
153
+ <button onClick={ () => setIsShown( true ) }>🪆</button>
154
+ { isShown && (
155
+ <Modal onRequestClose={ () => setIsShown( false ) }>
156
+ <p>Nested modal content</p>
157
+ </Modal>
158
+ ) }
159
+ </Modal>
160
+ </>
161
+ );
162
+ };
163
+ render( <NestSupport /> );
164
+
165
+ await user.click( screen.getByRole( 'button', { name: '🪆' } ) );
166
+ expect( onRequestClose ).not.toHaveBeenCalled();
167
+ } );
168
+
169
+ // TODO enable once nested modals hide outer modals.
170
+ it.skip( 'should accessibly hide and show siblings including outer modals', async () => {
171
+ const user = userEvent.setup();
172
+
173
+ const AriaDemo = () => {
174
+ const [ isOuterShown, setIsOuterShown ] = useState( false );
175
+ const [ isInnerShown, setIsInnerShown ] = useState( false );
176
+ return (
177
+ <>
178
+ <button onClick={ () => setIsOuterShown( true ) }>
179
+ Start
180
+ </button>
181
+ { isOuterShown && (
182
+ <Modal
183
+ onRequestClose={ () => setIsOuterShown( false ) }
184
+ >
185
+ <button onClick={ () => setIsInnerShown( true ) }>
186
+ Nest
187
+ </button>
188
+ { isInnerShown && (
189
+ <Modal
190
+ onRequestClose={ () =>
191
+ setIsInnerShown( false )
192
+ }
193
+ >
194
+ <p>Nested modal content</p>
195
+ </Modal>
196
+ ) }
197
+ </Modal>
198
+ ) }
199
+ </>
200
+ );
201
+ };
202
+ const { container } = render( <AriaDemo /> );
203
+
204
+ // Opens outer modal > hides container.
205
+ await user.click( screen.getByRole( 'button', { name: 'Start' } ) );
206
+ expect( container ).toHaveAttribute( 'aria-hidden', 'true' );
207
+
208
+ // Disable reason: No semantic query can reach the overlay.
209
+ // eslint-disable-next-line testing-library/no-node-access
210
+ const outer = screen.getByRole( 'dialog' ).parentElement!;
211
+
212
+ // Opens inner modal > hides outer modal.
213
+ await user.click( screen.getByRole( 'button', { name: 'Nest' } ) );
214
+ expect( outer ).toHaveAttribute( 'aria-hidden', 'true' );
215
+
216
+ // Closes inner modal > Unhides outer modal and container stays hidden.
217
+ await user.keyboard( '[Escape]' );
218
+ expect( outer ).not.toHaveAttribute( 'aria-hidden' );
219
+ expect( container ).toHaveAttribute( 'aria-hidden', 'true' );
220
+
221
+ // Closes outer modal > Unhides container.
222
+ await user.keyboard( '[Escape]' );
223
+ expect( container ).not.toHaveAttribute( 'aria-hidden' );
224
+ } );
225
+
119
226
  it( 'should render `headerActions` React nodes', async () => {
120
227
  render(
121
228
  <Modal
@@ -4,7 +4,7 @@
4
4
  import { useState } from '@wordpress/element';
5
5
 
6
6
  export function useNavigationTreeNodes<
7
- TNode extends { children?: React.ReactNode; [ key: string ]: unknown }
7
+ TNode extends { children?: React.ReactNode; [ key: string ]: unknown },
8
8
  >() {
9
9
  const [ nodes, setNodes ] = useState<
10
10
  Record< string, Omit< TNode, 'children' > >
@@ -16,8 +16,8 @@ import { close } from '@wordpress/icons';
16
16
  */
17
17
  import Button from '../button';
18
18
  import type { NoticeAction, NoticeProps } from './types';
19
- import type { SyntheticEvent } from 'react';
20
19
  import type { DeprecatedButtonProps } from '../button/types';
20
+ import { VisuallyHidden } from '../visually-hidden';
21
21
 
22
22
  const noop = () => {};
23
23
 
@@ -45,10 +45,23 @@ function getDefaultPoliteness( status: NoticeProps[ 'status' ] ) {
45
45
  case 'warning':
46
46
  case 'info':
47
47
  return 'polite';
48
+ // The default will also catch the 'error' status.
49
+ default:
50
+ return 'assertive';
51
+ }
52
+ }
48
53
 
54
+ function getStatusLabel( status: NoticeProps[ 'status' ] ) {
55
+ switch ( status ) {
56
+ case 'warning':
57
+ return __( 'Warning notice' );
58
+ case 'info':
59
+ return __( 'Information notice' );
49
60
  case 'error':
61
+ return __( 'Error notice' );
62
+ // The default will also catch the 'success' status.
50
63
  default:
51
- return 'assertive';
64
+ return __( 'Notice' );
52
65
  }
53
66
  }
54
67
 
@@ -93,14 +106,14 @@ function Notice( {
93
106
  children = <RawHTML>{ children }</RawHTML>;
94
107
  }
95
108
 
96
- const onDismissNotice = ( event: SyntheticEvent ) => {
97
- event?.preventDefault?.();
109
+ const onDismissNotice = () => {
98
110
  onDismiss();
99
111
  onRemove();
100
112
  };
101
113
 
102
114
  return (
103
115
  <div className={ classes }>
116
+ <VisuallyHidden>{ getStatusLabel( status ) }</VisuallyHidden>
104
117
  <div className="components-notice__content">
105
118
  { children }
106
119
  <div className="components-notice__actions">
@@ -154,9 +167,8 @@ function Notice( {
154
167
  <Button
155
168
  className="components-notice__dismiss"
156
169
  icon={ close }
157
- label={ __( 'Dismiss this notice' ) }
170
+ label={ __( 'Close' ) }
158
171
  onClick={ onDismissNotice }
159
- showTooltip={ false }
160
172
  />
161
173
  ) }
162
174
  </div>
@@ -9,7 +9,6 @@
9
9
  align-items: center;
10
10
 
11
11
  &.is-dismissible {
12
- padding-right: 36px;
13
12
  position: relative;
14
13
  }
15
14
 
@@ -5,6 +5,14 @@ exports[`Notice should match snapshot 1`] = `
5
5
  <div
6
6
  class="components-notice is-success is-dismissible"
7
7
  >
8
+ <div
9
+ class="components-visually-hidden emotion-0 emotion-1"
10
+ data-wp-c16t="true"
11
+ data-wp-component="VisuallyHidden"
12
+ style="border: 0px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset( 50% ); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; word-wrap: normal;"
13
+ >
14
+ Notice
15
+ </div>
8
16
  <div
9
17
  class="components-notice__content"
10
18
  >
@@ -33,7 +41,7 @@ exports[`Notice should match snapshot 1`] = `
33
41
  </div>
34
42
  </div>
35
43
  <button
36
- aria-label="Dismiss this notice"
44
+ aria-label="Close"
37
45
  class="components-button components-notice__dismiss has-icon"
38
46
  type="button"
39
47
  >
@@ -41,7 +41,8 @@ export const NameInputControl = styled( InputControl )`
41
41
  `;
42
42
 
43
43
  export const PaletteItem = styled( View )`
44
- padding: 3px 0 3px ${ space( 3 ) };
44
+ padding-block: 3px;
45
+ padding-inline-start: ${ space( 3 ) };
45
46
  border: 1px solid ${ CONFIG.surfaceBorderColor };
46
47
  border-bottom-color: transparent;
47
48
  &:first-of-type {
@@ -75,6 +75,7 @@ export function Placeholder(
75
75
  const fieldsetClasses = classnames( 'components-placeholder__fieldset', {
76
76
  'is-column-layout': isColumnLayout,
77
77
  } );
78
+
78
79
  return (
79
80
  <div { ...additionalProps } className={ classes }>
80
81
  { withIllustration ? PlaceholderIllustration : null }
@@ -3,7 +3,6 @@
3
3
  box-sizing: border-box;
4
4
  position: relative;
5
5
  padding: 1em;
6
- min-height: 200px;
7
6
  width: 100%;
8
7
  text-align: left;
9
8
  margin: 0;
@@ -17,7 +16,7 @@
17
16
  @supports (position: sticky) {
18
17
  display: flex;
19
18
  flex-direction: column;
20
- justify-content: center;
19
+ justify-content: top;
21
20
  align-items: flex-start;
22
21
  }
23
22
 
@@ -180,7 +179,6 @@
180
179
  color: inherit;
181
180
  display: flex;
182
181
  box-shadow: none;
183
- min-width: 100px;
184
182
 
185
183
  // Blur the background so layered dashed placeholders are still visually separate.
186
184
  // Make the background transparent to not interfere with the background overlay in placeholder-style() pseudo element
@@ -225,7 +223,7 @@
225
223
 
226
224
  // By painting the borders here, we enable them to be replaced by the Border control.
227
225
  @include placeholder-style();
228
- overflow: hidden;
226
+ overflow: auto;
229
227
  }
230
228
 
231
229
  // Position the spinner.
@@ -40,7 +40,6 @@ import {
40
40
  import { close } from '@wordpress/icons';
41
41
  import deprecated from '@wordpress/deprecated';
42
42
  import { Path, SVG } from '@wordpress/primitives';
43
- import { getScrollContainer } from '@wordpress/dom';
44
43
 
45
44
  /**
46
45
  * Internal dependencies
@@ -52,13 +51,11 @@ import {
52
51
  computePopoverPosition,
53
52
  positionToPlacement,
54
53
  placementToMotionAnimationProps,
55
- getReferenceOwnerDocument,
56
54
  getReferenceElement,
57
55
  } from './utils';
58
56
  import type { WordPressComponentProps } from '../ui/context';
59
57
  import type {
60
58
  PopoverProps,
61
- AnimatedWrapperProps,
62
59
  PopoverAnchorRefReference,
63
60
  PopoverAnchorRefTopBottom,
64
61
  } from './types';
@@ -94,47 +91,6 @@ const ArrowTriangle = () => (
94
91
  </SVG>
95
92
  );
96
93
 
97
- const AnimatedWrapper = forwardRef(
98
- (
99
- {
100
- style: receivedInlineStyles,
101
- placement,
102
- shouldAnimate = false,
103
- ...props
104
- }: HTMLMotionProps< 'div' > & AnimatedWrapperProps,
105
- forwardedRef: ForwardedRef< any >
106
- ) => {
107
- const shouldReduceMotion = useReducedMotion();
108
-
109
- const { style: motionInlineStyles, ...otherMotionProps } = useMemo(
110
- () => placementToMotionAnimationProps( placement ),
111
- [ placement ]
112
- );
113
-
114
- const computedAnimationProps: HTMLMotionProps< 'div' > =
115
- shouldAnimate && ! shouldReduceMotion
116
- ? {
117
- style: {
118
- ...motionInlineStyles,
119
- ...receivedInlineStyles,
120
- },
121
- ...otherMotionProps,
122
- }
123
- : {
124
- animate: false,
125
- style: receivedInlineStyles,
126
- };
127
-
128
- return (
129
- <motion.div
130
- { ...computedAnimationProps }
131
- { ...props }
132
- ref={ forwardedRef }
133
- />
134
- );
135
- }
136
- );
137
-
138
94
  const slotNameContext = createContext< string | undefined >( undefined );
139
95
 
140
96
  const fallbackContainerClassname = 'components-popover__fallback-container';
@@ -241,9 +197,6 @@ const UnforwardedPopover = (
241
197
 
242
198
  const [ fallbackReferenceElement, setFallbackReferenceElement ] =
243
199
  useState< HTMLSpanElement | null >( null );
244
- const [ referenceOwnerDocument, setReferenceOwnerDocument ] = useState<
245
- Document | undefined
246
- >();
247
200
 
248
201
  const anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(
249
202
  ( node ) => {
@@ -357,15 +310,6 @@ const UnforwardedPopover = (
357
310
  ?.current;
358
311
 
359
312
  useLayoutEffect( () => {
360
- const resultingReferenceOwnerDoc = getReferenceOwnerDocument( {
361
- anchor,
362
- anchorRef,
363
- anchorRect,
364
- getAnchorRect,
365
- fallbackReferenceElement,
366
- fallbackDocument: document,
367
- } );
368
-
369
313
  const resultingReferenceElement = getReferenceElement( {
370
314
  anchor,
371
315
  anchorRef,
@@ -375,8 +319,6 @@ const UnforwardedPopover = (
375
319
  } );
376
320
 
377
321
  refs.setReference( resultingReferenceElement );
378
-
379
- setReferenceOwnerDocument( resultingReferenceOwnerDoc );
380
322
  }, [
381
323
  anchor,
382
324
  anchorRef,
@@ -390,51 +332,61 @@ const UnforwardedPopover = (
390
332
  refs,
391
333
  ] );
392
334
 
393
- // If the reference element is in a different ownerDocument (e.g. iFrame),
394
- // we need to manually update the floating's position as the reference's owner
395
- // document scrolls.
396
- useLayoutEffect( () => {
397
- if (
398
- ! referenceOwnerDocument ||
399
- ! referenceOwnerDocument.defaultView
400
- ) {
401
- return;
402
- }
403
-
404
- const { defaultView } = referenceOwnerDocument;
405
- const { frameElement } = defaultView;
406
-
407
- const scrollContainer = frameElement
408
- ? getScrollContainer( frameElement )
409
- : null;
410
-
411
- defaultView.addEventListener( 'resize', update );
412
- scrollContainer?.addEventListener( 'scroll', update );
413
-
414
- return () => {
415
- defaultView.removeEventListener( 'resize', update );
416
- scrollContainer?.removeEventListener( 'scroll', update );
417
- };
418
- }, [ referenceOwnerDocument, update ] );
419
-
420
335
  const mergedFloatingRef = useMergeRefs( [
421
336
  refs.setFloating,
422
337
  dialogRef,
423
338
  forwardedRef,
424
339
  ] );
425
340
 
426
- // Disable reason: We care to capture the _bubbled_ events from inputs
427
- // within popover as inferring close intent.
341
+ const style = isExpanded
342
+ ? undefined
343
+ : {
344
+ position: strategy,
345
+ top: 0,
346
+ left: 0,
347
+ // `x` and `y` are framer-motion specific props and are shorthands
348
+ // for `translateX` and `translateY`. Currently it is not possible
349
+ // to use `translateX` and `translateY` because those values would
350
+ // be overridden by the return value of the
351
+ // `placementToMotionAnimationProps` function.
352
+ x: computePopoverPosition( x ),
353
+ y: computePopoverPosition( y ),
354
+ };
355
+
356
+ const shouldReduceMotion = useReducedMotion();
357
+ const shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;
358
+
359
+ const [ animationFinished, setAnimationFinished ] = useState( false );
360
+
361
+ const { style: motionInlineStyles, ...otherMotionProps } = useMemo(
362
+ () => placementToMotionAnimationProps( computedPlacement ),
363
+ [ computedPlacement ]
364
+ );
365
+
366
+ const animationProps: HTMLMotionProps< 'div' > = shouldAnimate
367
+ ? {
368
+ style: {
369
+ ...motionInlineStyles,
370
+ ...style,
371
+ },
372
+ onAnimationComplete: () => setAnimationFinished( true ),
373
+ ...otherMotionProps,
374
+ }
375
+ : {
376
+ animate: false,
377
+ style,
378
+ };
379
+
380
+ // When Floating UI has finished positioning and Framer Motion has finished animating
381
+ // the popover, add the `is-positioned` class to signal that all transitions have finished.
382
+ const isPositioned =
383
+ ( ! shouldAnimate || animationFinished ) && x !== null && y !== null;
428
384
 
429
385
  let content = (
430
- // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
431
- // eslint-disable-next-line jsx-a11y/no-static-element-interactions
432
- <AnimatedWrapper
433
- shouldAnimate={ animate && ! isExpanded }
434
- placement={ computedPlacement }
386
+ <motion.div
435
387
  className={ classnames( 'components-popover', className, {
436
388
  'is-expanded': isExpanded,
437
- 'is-positioned': x !== null && y !== null,
389
+ 'is-positioned': isPositioned,
438
390
  // Use the 'alternate' classname for 'toolbar' variant for back compat.
439
391
  [ `is-${
440
392
  computedVariant === 'toolbar'
@@ -442,26 +394,11 @@ const UnforwardedPopover = (
442
394
  : computedVariant
443
395
  }` ]: computedVariant,
444
396
  } ) }
397
+ { ...animationProps }
445
398
  { ...contentProps }
446
399
  ref={ mergedFloatingRef }
447
400
  { ...dialogProps }
448
401
  tabIndex={ -1 }
449
- style={
450
- isExpanded
451
- ? undefined
452
- : {
453
- position: strategy,
454
- top: 0,
455
- left: 0,
456
- // `x` and `y` are framer-motion specific props and are shorthands
457
- // for `translateX` and `translateY`. Currently it is not possible
458
- // to use `translateX` and `translateY` because those values would
459
- // be overridden by the return value of the
460
- // `placementToMotionAnimationProps` function in `AnimatedWrapper`
461
- x: computePopoverPosition( x ),
462
- y: computePopoverPosition( y ),
463
- }
464
- }
465
402
  >
466
403
  { /* Prevents scroll on the document */ }
467
404
  { isExpanded && <ScrollLock /> }
@@ -501,7 +438,7 @@ const UnforwardedPopover = (
501
438
  <ArrowTriangle />
502
439
  </div>
503
440
  ) }
504
- </AnimatedWrapper>
441
+ </motion.div>
505
442
  );
506
443
 
507
444
  const shouldRenderWithinSlot = slot.ref && ! inline;
@@ -23,17 +23,17 @@ import { PopoverInsideIframeRenderedInExternalSlot } from './utils';
23
23
 
24
24
  type PositionToPlacementTuple = [
25
25
  NonNullable< PopoverProps[ 'position' ] >,
26
- NonNullable< PopoverProps[ 'placement' ] >
26
+ NonNullable< PopoverProps[ 'placement' ] >,
27
27
  ];
28
28
  type PlacementToAnimationOriginTuple = [
29
29
  NonNullable< PopoverProps[ 'placement' ] >,
30
30
  number,
31
- number
31
+ number,
32
32
  ];
33
33
  type PlacementToInitialTranslationTuple = [
34
34
  NonNullable< PopoverProps[ 'placement' ] >,
35
35
  'translateY' | 'translateX',
36
- CSSProperties[ 'translate' ]
36
+ CSSProperties[ 'translate' ],
37
37
  ];
38
38
 
39
39
  // There's no matching `placement` for 'middle center' positions,
@@ -14,11 +14,6 @@ type DomRectWithOwnerDocument = DOMRect & {
14
14
 
15
15
  type PopoverPlacement = Placement | 'overlay';
16
16
 
17
- export type AnimatedWrapperProps = {
18
- placement: PopoverPlacement;
19
- shouldAnimate?: boolean;
20
- };
21
-
22
17
  export type PopoverAnchorRefReference = MutableRefObject<
23
18
  Element | null | undefined
24
19
  >;