@wordpress/components 23.3.2 → 23.4.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 (710) hide show
  1. package/CHANGELOG.md +20 -5
  2. package/build/alignment-matrix-control/utils.js +4 -4
  3. package/build/alignment-matrix-control/utils.js.map +1 -1
  4. package/build/angle-picker-control/angle-circle.js +37 -29
  5. package/build/angle-picker-control/angle-circle.js.map +1 -1
  6. package/build/angle-picker-control/index.js +44 -9
  7. package/build/angle-picker-control/index.js.map +1 -1
  8. package/build/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  10. package/build/{base-field → angle-picker-control}/types.js +0 -0
  11. package/build/angle-picker-control/types.js.map +1 -0
  12. package/build/autocomplete/autocompleter-ui.native.js +1 -0
  13. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  14. package/build/base-control/hooks.js +1 -1
  15. package/build/base-control/hooks.js.map +1 -1
  16. package/build/border-box-control/utils.js +1 -1
  17. package/build/border-box-control/utils.js.map +1 -1
  18. package/build/box-control/all-input-control.js +2 -2
  19. package/build/box-control/all-input-control.js.map +1 -1
  20. package/build/box-control/axial-input-controls.js +1 -1
  21. package/build/box-control/axial-input-controls.js.map +1 -1
  22. package/build/box-control/icon.js.map +1 -1
  23. package/build/box-control/index.js +32 -3
  24. package/build/box-control/index.js.map +1 -1
  25. package/build/box-control/input-controls.js +5 -5
  26. package/build/box-control/input-controls.js.map +1 -1
  27. package/build/box-control/linked-button.js.map +1 -1
  28. package/build/box-control/styles/box-control-icon-styles.js +28 -28
  29. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  30. package/build/box-control/styles/box-control-styles.js +23 -23
  31. package/build/box-control/styles/box-control-styles.js.map +1 -1
  32. package/build/box-control/styles/box-control-visualizer-styles.js +19 -19
  33. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  34. package/build/box-control/types.js +6 -0
  35. package/build/box-control/types.js.map +1 -0
  36. package/build/box-control/unit-control.js.map +1 -1
  37. package/build/box-control/utils.js +23 -23
  38. package/build/box-control/utils.js.map +1 -1
  39. package/build/color-palette/index.js +8 -3
  40. package/build/color-palette/index.js.map +1 -1
  41. package/build/combobox-control/index.js +68 -12
  42. package/build/combobox-control/index.js.map +1 -1
  43. package/build/combobox-control/styles.js +2 -2
  44. package/build/combobox-control/styles.js.map +1 -1
  45. package/build/combobox-control/types.js +6 -0
  46. package/build/combobox-control/types.js.map +1 -0
  47. package/build/custom-gradient-picker/index.js +0 -1
  48. package/build/custom-gradient-picker/index.js.map +1 -1
  49. package/build/date-time/time/index.js +1 -1
  50. package/build/date-time/time/index.js.map +1 -1
  51. package/build/date-time/utils.js +1 -1
  52. package/build/date-time/utils.js.map +1 -1
  53. package/build/draggable/index.js +2 -2
  54. package/build/draggable/index.js.map +1 -1
  55. package/build/focal-point-picker/utils.js +3 -3
  56. package/build/focal-point-picker/utils.js.map +1 -1
  57. package/build/font-size-picker/utils.js +2 -2
  58. package/build/font-size-picker/utils.js.map +1 -1
  59. package/build/gradient-picker/index.js +9 -4
  60. package/build/gradient-picker/index.js.map +1 -1
  61. package/build/input-control/reducer/reducer.js +5 -5
  62. package/build/input-control/reducer/reducer.js.map +1 -1
  63. package/build/input-control/utils.js +1 -1
  64. package/build/input-control/utils.js.map +1 -1
  65. package/build/menu-items-choice/index.js +40 -3
  66. package/build/menu-items-choice/index.js.map +1 -1
  67. package/build/menu-items-choice/types.js +6 -0
  68. package/build/menu-items-choice/types.js.map +1 -0
  69. package/build/modal/index.js +41 -3
  70. package/build/modal/index.js.map +1 -1
  71. package/build/palette-edit/index.js +4 -1
  72. package/build/palette-edit/index.js.map +1 -1
  73. package/build/panel/header.js +9 -0
  74. package/build/panel/header.js.map +1 -1
  75. package/build/panel/index.js +21 -3
  76. package/build/panel/index.js.map +1 -1
  77. package/build/panel/row.js +10 -4
  78. package/build/panel/row.js.map +1 -1
  79. package/build/panel/types.js +6 -0
  80. package/build/panel/types.js.map +1 -0
  81. package/build/popover/index.js +15 -3
  82. package/build/popover/index.js.map +1 -1
  83. package/build/popover/overlay-middlewares.js +46 -0
  84. package/build/popover/overlay-middlewares.js.map +1 -0
  85. package/build/popover/utils.js +45 -6
  86. package/build/popover/utils.js.map +1 -1
  87. package/build/query-controls/terms.js +1 -1
  88. package/build/query-controls/terms.js.map +1 -1
  89. package/build/range-control/utils.js +4 -4
  90. package/build/range-control/utils.js.map +1 -1
  91. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
  92. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  93. package/build/resizable-box/resize-tooltip/utils.js +14 -14
  94. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  95. package/build/snackbar/index.js +2 -2
  96. package/build/snackbar/index.js.map +1 -1
  97. package/build/toolbar/toolbar/index.js +25 -14
  98. package/build/toolbar/toolbar/index.js.map +1 -1
  99. package/build/toolbar/toolbar/toolbar-container.js +5 -4
  100. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  101. package/build/toolbar/toolbar/types.js +6 -0
  102. package/build/toolbar/toolbar/types.js.map +1 -0
  103. package/build/toolbar/toolbar-button/index.js +2 -0
  104. package/build/toolbar/toolbar-button/index.js.map +1 -1
  105. package/build/toolbar/toolbar-button/toolbar-button-container.js +1 -0
  106. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  107. package/build/toolbar/toolbar-context/index.js +2 -0
  108. package/build/toolbar/toolbar-context/index.js.map +1 -1
  109. package/build/toolbar/toolbar-dropdown-menu/index.js +2 -0
  110. package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  111. package/build/toolbar/toolbar-group/index.js +2 -0
  112. package/build/toolbar/toolbar-group/index.js.map +1 -1
  113. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
  114. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  115. package/build/toolbar/toolbar-group/toolbar-group-container.js +1 -0
  116. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  117. package/build/toolbar/toolbar-item/index.js +2 -0
  118. package/build/toolbar/toolbar-item/index.js.map +1 -1
  119. package/build/tools-panel/tools-panel/component.js +61 -5
  120. package/build/tools-panel/tools-panel/component.js.map +1 -1
  121. package/build/tools-panel/tools-panel/hook.js +4 -2
  122. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  123. package/build/tools-panel/tools-panel-header/component.js +2 -1
  124. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  125. package/build/tools-panel/tools-panel-header/hook.js +2 -0
  126. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  127. package/build/tools-panel/tools-panel-item/component.js +5 -4
  128. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  129. package/build/tools-panel/tools-panel-item/hook.js +4 -2
  130. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  131. package/build/tree-grid/cell.js +15 -4
  132. package/build/tree-grid/cell.js.map +1 -1
  133. package/build/tree-grid/index.js +81 -19
  134. package/build/tree-grid/index.js.map +1 -1
  135. package/build/tree-grid/item.js +14 -3
  136. package/build/tree-grid/item.js.map +1 -1
  137. package/build/tree-grid/roving-tab-index-context.js +1 -1
  138. package/build/tree-grid/roving-tab-index-context.js.map +1 -1
  139. package/build/tree-grid/roving-tab-index-item.js +13 -6
  140. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  141. package/build/tree-grid/roving-tab-index.js +0 -3
  142. package/build/tree-grid/roving-tab-index.js.map +1 -1
  143. package/build/tree-grid/row.js +20 -18
  144. package/build/tree-grid/row.js.map +1 -1
  145. package/build/tree-grid/types.js +6 -0
  146. package/build/tree-grid/types.js.map +1 -0
  147. package/build/ui/context/context-connect.js +7 -7
  148. package/build/ui/context/context-connect.js.map +1 -1
  149. package/build/ui/context/get-styled-class-name-from-key.js +1 -1
  150. package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
  151. package/build/ui/utils/get-valid-children.js +1 -1
  152. package/build/ui/utils/get-valid-children.js.map +1 -1
  153. package/build/ui/utils/space.js +1 -1
  154. package/build/ui/utils/space.js.map +1 -1
  155. package/build/unit-control/index.js +2 -2
  156. package/build/unit-control/index.js.map +1 -1
  157. package/build/unit-control/utils.js +20 -20
  158. package/build/unit-control/utils.js.map +1 -1
  159. package/build/utils/events.js +4 -4
  160. package/build/utils/events.js.map +1 -1
  161. package/build/utils/hooks/use-controlled-state.js +2 -2
  162. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  163. package/build/utils/hooks/use-controlled-value.js +4 -4
  164. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  165. package/build/utils/hooks/use-latest-ref.js +1 -1
  166. package/build/utils/hooks/use-latest-ref.js.map +1 -1
  167. package/build/utils/unit-values.js +3 -3
  168. package/build/utils/unit-values.js.map +1 -1
  169. package/build-module/alignment-matrix-control/utils.js +4 -4
  170. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  171. package/build-module/angle-picker-control/angle-circle.js +37 -29
  172. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  173. package/build-module/angle-picker-control/index.js +42 -8
  174. package/build-module/angle-picker-control/index.js.map +1 -1
  175. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
  176. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  177. package/build-module/{base-field → angle-picker-control}/types.js +0 -0
  178. package/build-module/{base-field → angle-picker-control}/types.js.map +0 -0
  179. package/build-module/autocomplete/autocompleter-ui.native.js +1 -0
  180. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  181. package/build-module/base-control/hooks.js +1 -1
  182. package/build-module/base-control/hooks.js.map +1 -1
  183. package/build-module/border-box-control/utils.js +1 -1
  184. package/build-module/border-box-control/utils.js.map +1 -1
  185. package/build-module/box-control/all-input-control.js +2 -2
  186. package/build-module/box-control/all-input-control.js.map +1 -1
  187. package/build-module/box-control/axial-input-controls.js +1 -1
  188. package/build-module/box-control/axial-input-controls.js.map +1 -1
  189. package/build-module/box-control/icon.js.map +1 -1
  190. package/build-module/box-control/index.js +31 -3
  191. package/build-module/box-control/index.js.map +1 -1
  192. package/build-module/box-control/input-controls.js +5 -5
  193. package/build-module/box-control/input-controls.js.map +1 -1
  194. package/build-module/box-control/linked-button.js.map +1 -1
  195. package/build-module/box-control/styles/box-control-icon-styles.js +28 -28
  196. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  197. package/build-module/box-control/styles/box-control-styles.js +23 -23
  198. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  199. package/build-module/box-control/styles/box-control-visualizer-styles.js +19 -19
  200. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  201. package/build-module/box-control/types.js +2 -0
  202. package/{build/base-field → build-module/box-control}/types.js.map +0 -0
  203. package/build-module/box-control/unit-control.js.map +1 -1
  204. package/build-module/box-control/utils.js +23 -23
  205. package/build-module/box-control/utils.js.map +1 -1
  206. package/build-module/color-palette/index.js +8 -3
  207. package/build-module/color-palette/index.js.map +1 -1
  208. package/build-module/combobox-control/index.js +68 -12
  209. package/build-module/combobox-control/index.js.map +1 -1
  210. package/build-module/combobox-control/styles.js +2 -2
  211. package/build-module/combobox-control/styles.js.map +1 -1
  212. package/build-module/combobox-control/types.js +2 -0
  213. package/build-module/{resizable-box/styles/resizable-box.styles.js.map → combobox-control/types.js.map} +0 -0
  214. package/build-module/custom-gradient-picker/index.js +0 -1
  215. package/build-module/custom-gradient-picker/index.js.map +1 -1
  216. package/build-module/date-time/time/index.js +1 -1
  217. package/build-module/date-time/time/index.js.map +1 -1
  218. package/build-module/date-time/utils.js +1 -1
  219. package/build-module/date-time/utils.js.map +1 -1
  220. package/build-module/draggable/index.js +2 -2
  221. package/build-module/draggable/index.js.map +1 -1
  222. package/build-module/focal-point-picker/utils.js +3 -3
  223. package/build-module/focal-point-picker/utils.js.map +1 -1
  224. package/build-module/font-size-picker/utils.js +2 -2
  225. package/build-module/font-size-picker/utils.js.map +1 -1
  226. package/build-module/gradient-picker/index.js +9 -4
  227. package/build-module/gradient-picker/index.js.map +1 -1
  228. package/build-module/input-control/reducer/reducer.js +5 -5
  229. package/build-module/input-control/reducer/reducer.js.map +1 -1
  230. package/build-module/input-control/utils.js +1 -1
  231. package/build-module/input-control/utils.js.map +1 -1
  232. package/build-module/menu-items-choice/index.js +40 -4
  233. package/build-module/menu-items-choice/index.js.map +1 -1
  234. package/build-module/menu-items-choice/types.js +2 -0
  235. package/{build/resizable-box/styles/resizable-box.styles.js.map → build-module/menu-items-choice/types.js.map} +0 -0
  236. package/build-module/modal/index.js +41 -4
  237. package/build-module/modal/index.js.map +1 -1
  238. package/build-module/palette-edit/index.js +4 -1
  239. package/build-module/palette-edit/index.js.map +1 -1
  240. package/build-module/panel/header.js +9 -0
  241. package/build-module/panel/header.js.map +1 -1
  242. package/build-module/panel/index.js +20 -2
  243. package/build-module/panel/index.js.map +1 -1
  244. package/build-module/panel/row.js +9 -3
  245. package/build-module/panel/row.js.map +1 -1
  246. package/build-module/panel/types.js +2 -0
  247. package/build-module/panel/types.js.map +1 -0
  248. package/build-module/popover/index.js +14 -4
  249. package/build-module/popover/index.js.map +1 -1
  250. package/build-module/popover/overlay-middlewares.js +38 -0
  251. package/build-module/popover/overlay-middlewares.js.map +1 -0
  252. package/build-module/popover/utils.js +41 -5
  253. package/build-module/popover/utils.js.map +1 -1
  254. package/build-module/query-controls/terms.js +1 -1
  255. package/build-module/query-controls/terms.js.map +1 -1
  256. package/build-module/range-control/utils.js +4 -4
  257. package/build-module/range-control/utils.js.map +1 -1
  258. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
  259. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  260. package/build-module/resizable-box/resize-tooltip/utils.js +14 -14
  261. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  262. package/build-module/snackbar/index.js +2 -2
  263. package/build-module/snackbar/index.js.map +1 -1
  264. package/build-module/toolbar/toolbar/index.js +25 -13
  265. package/build-module/toolbar/toolbar/index.js.map +1 -1
  266. package/build-module/toolbar/toolbar/toolbar-container.js +4 -3
  267. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  268. package/build-module/toolbar/toolbar/types.js +2 -0
  269. package/build-module/toolbar/toolbar/types.js.map +1 -0
  270. package/build-module/toolbar/toolbar-button/index.js +1 -0
  271. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  272. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +1 -0
  273. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  274. package/build-module/toolbar/toolbar-context/index.js +2 -0
  275. package/build-module/toolbar/toolbar-context/index.js.map +1 -1
  276. package/build-module/toolbar/toolbar-dropdown-menu/index.js +1 -0
  277. package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  278. package/build-module/toolbar/toolbar-group/index.js +1 -0
  279. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  280. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +1 -0
  281. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  282. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +1 -0
  283. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  284. package/build-module/toolbar/toolbar-item/index.js +1 -0
  285. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  286. package/build-module/tools-panel/tools-panel/component.js +59 -4
  287. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  288. package/build-module/tools-panel/tools-panel/hook.js +4 -2
  289. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  290. package/build-module/tools-panel/tools-panel-header/component.js +2 -1
  291. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  292. package/build-module/tools-panel/tools-panel-header/hook.js +2 -0
  293. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  294. package/build-module/tools-panel/tools-panel-item/component.js +3 -3
  295. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  296. package/build-module/tools-panel/tools-panel-item/hook.js +5 -2
  297. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  298. package/build-module/tree-grid/cell.js +16 -4
  299. package/build-module/tree-grid/cell.js.map +1 -1
  300. package/build-module/tree-grid/index.js +81 -21
  301. package/build-module/tree-grid/index.js.map +1 -1
  302. package/build-module/tree-grid/item.js +14 -2
  303. package/build-module/tree-grid/item.js.map +1 -1
  304. package/build-module/tree-grid/roving-tab-index-context.js +1 -1
  305. package/build-module/tree-grid/roving-tab-index-context.js.map +1 -1
  306. package/build-module/tree-grid/roving-tab-index-item.js +11 -4
  307. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  308. package/build-module/tree-grid/roving-tab-index.js +0 -3
  309. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  310. package/build-module/tree-grid/row.js +22 -17
  311. package/build-module/tree-grid/row.js.map +1 -1
  312. package/build-module/tree-grid/types.js +2 -0
  313. package/build-module/tree-grid/types.js.map +1 -0
  314. package/build-module/ui/context/context-connect.js +7 -7
  315. package/build-module/ui/context/context-connect.js.map +1 -1
  316. package/build-module/ui/context/get-styled-class-name-from-key.js +1 -1
  317. package/build-module/ui/context/get-styled-class-name-from-key.js.map +1 -1
  318. package/build-module/ui/utils/get-valid-children.js +1 -1
  319. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  320. package/build-module/ui/utils/space.js +1 -1
  321. package/build-module/ui/utils/space.js.map +1 -1
  322. package/build-module/unit-control/index.js +2 -2
  323. package/build-module/unit-control/index.js.map +1 -1
  324. package/build-module/unit-control/utils.js +20 -20
  325. package/build-module/unit-control/utils.js.map +1 -1
  326. package/build-module/utils/events.js +4 -4
  327. package/build-module/utils/events.js.map +1 -1
  328. package/build-module/utils/hooks/use-controlled-state.js +2 -2
  329. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  330. package/build-module/utils/hooks/use-controlled-value.js +4 -4
  331. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  332. package/build-module/utils/hooks/use-latest-ref.js +1 -1
  333. package/build-module/utils/hooks/use-latest-ref.js.map +1 -1
  334. package/build-module/utils/unit-values.js +3 -3
  335. package/build-module/utils/unit-values.js.map +1 -1
  336. package/build-style/style-rtl.css +5 -0
  337. package/build-style/style.css +5 -0
  338. package/build-types/alignment-matrix-control/utils.d.ts +4 -4
  339. package/build-types/angle-picker-control/angle-circle.d.ts +6 -0
  340. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -0
  341. package/build-types/angle-picker-control/index.d.ts +29 -0
  342. package/build-types/angle-picker-control/index.d.ts.map +1 -0
  343. package/build-types/angle-picker-control/stories/index.d.ts +15 -0
  344. package/build-types/angle-picker-control/stories/index.d.ts.map +1 -0
  345. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +20 -0
  346. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -0
  347. package/build-types/angle-picker-control/types.d.ts +26 -0
  348. package/build-types/angle-picker-control/types.d.ts.map +1 -0
  349. package/build-types/base-control/hooks.d.ts +1 -1
  350. package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
  351. package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
  352. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  353. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +1 -1
  354. package/build-types/border-box-control/stories/index.d.ts +1 -1
  355. package/build-types/{base-field → border-box-control}/test/index.d.ts +0 -0
  356. package/build-types/border-box-control/test/index.d.ts.map +1 -0
  357. package/build-types/border-box-control/test/utils.d.ts +2 -0
  358. package/build-types/border-box-control/test/utils.d.ts.map +1 -0
  359. package/build-types/box-control/all-input-control.d.ts +4 -0
  360. package/build-types/box-control/all-input-control.d.ts.map +1 -0
  361. package/build-types/box-control/axial-input-controls.d.ts +4 -0
  362. package/build-types/box-control/axial-input-controls.d.ts.map +1 -0
  363. package/build-types/box-control/icon.d.ts +8 -0
  364. package/build-types/box-control/icon.d.ts.map +1 -0
  365. package/build-types/box-control/index.d.ts +31 -0
  366. package/build-types/box-control/index.d.ts.map +1 -0
  367. package/build-types/box-control/input-controls.d.ts +4 -0
  368. package/build-types/box-control/input-controls.d.ts.map +1 -0
  369. package/build-types/box-control/linked-button.d.ts +9 -0
  370. package/build-types/box-control/linked-button.d.ts.map +1 -0
  371. package/build-types/box-control/styles/box-control-icon-styles.d.ts +42 -0
  372. package/build-types/box-control/styles/box-control-icon-styles.d.ts.map +1 -0
  373. package/build-types/box-control/styles/box-control-styles.d.ts +42 -0
  374. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -0
  375. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts +46 -0
  376. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts.map +1 -0
  377. package/build-types/box-control/test/index.d.ts +2 -0
  378. package/build-types/box-control/test/index.d.ts.map +1 -0
  379. package/build-types/box-control/types.d.ts +99 -0
  380. package/build-types/box-control/types.d.ts.map +1 -0
  381. package/build-types/box-control/unit-control.d.ts +4 -0
  382. package/build-types/box-control/unit-control.d.ts.map +1 -0
  383. package/build-types/box-control/utils.d.ts +84 -0
  384. package/build-types/box-control/utils.d.ts.map +1 -0
  385. package/build-types/color-palette/index.d.ts +3 -1
  386. package/build-types/color-palette/index.d.ts.map +1 -1
  387. package/build-types/color-palette/stories/index.d.ts +6 -2
  388. package/build-types/color-palette/stories/index.d.ts.map +1 -1
  389. package/build-types/color-palette/types.d.ts +8 -0
  390. package/build-types/color-palette/types.d.ts.map +1 -1
  391. package/build-types/combobox-control/index.d.ts +51 -0
  392. package/build-types/combobox-control/index.d.ts.map +1 -0
  393. package/build-types/combobox-control/stories/index.d.ts +18 -0
  394. package/build-types/combobox-control/stories/index.d.ts.map +1 -0
  395. package/build-types/combobox-control/styles.d.ts +8 -0
  396. package/build-types/combobox-control/styles.d.ts.map +1 -0
  397. package/build-types/combobox-control/test/index.d.ts +2 -0
  398. package/build-types/combobox-control/test/index.d.ts.map +1 -0
  399. package/build-types/combobox-control/types.d.ts +62 -0
  400. package/build-types/combobox-control/types.d.ts.map +1 -0
  401. package/build-types/date-time/utils.d.ts +1 -1
  402. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  403. package/build-types/focal-point-picker/utils.d.ts +3 -3
  404. package/build-types/font-size-picker/utils.d.ts +2 -2
  405. package/build-types/input-control/reducer/reducer.d.ts +3 -3
  406. package/build-types/input-control/utils.d.ts +1 -1
  407. package/build-types/menu-items-choice/index.d.ts +38 -0
  408. package/build-types/menu-items-choice/index.d.ts.map +1 -0
  409. package/build-types/menu-items-choice/stories/index.d.ts +12 -0
  410. package/build-types/menu-items-choice/stories/index.d.ts.map +1 -0
  411. package/build-types/menu-items-choice/types.d.ts +53 -0
  412. package/build-types/menu-items-choice/types.d.ts.map +1 -0
  413. package/build-types/modal/index.d.ts.map +1 -1
  414. package/build-types/modal/types.d.ts +2 -0
  415. package/build-types/modal/types.d.ts.map +1 -1
  416. package/build-types/panel/header.d.ts +13 -0
  417. package/build-types/panel/header.d.ts.map +1 -0
  418. package/build-types/panel/index.d.ts +21 -0
  419. package/build-types/panel/index.d.ts.map +1 -0
  420. package/build-types/panel/row.d.ts +12 -0
  421. package/build-types/panel/row.d.ts.map +1 -0
  422. package/build-types/panel/test/header.d.ts +2 -0
  423. package/build-types/panel/test/header.d.ts.map +1 -0
  424. package/build-types/panel/test/index.d.ts +2 -0
  425. package/build-types/{base-field → panel}/test/index.d.ts.map +1 -1
  426. package/build-types/panel/test/row.d.ts +2 -0
  427. package/build-types/panel/test/row.d.ts.map +1 -0
  428. package/build-types/panel/types.d.ts +38 -0
  429. package/build-types/panel/types.d.ts.map +1 -0
  430. package/build-types/popover/index.d.ts.map +1 -1
  431. package/build-types/popover/overlay-middlewares.d.ts +9 -0
  432. package/build-types/popover/overlay-middlewares.d.ts.map +1 -0
  433. package/build-types/popover/stories/index.d.ts.map +1 -1
  434. package/build-types/popover/types.d.ts +3 -2
  435. package/build-types/popover/types.d.ts.map +1 -1
  436. package/build-types/popover/utils.d.ts +12 -4
  437. package/build-types/popover/utils.d.ts.map +1 -1
  438. package/build-types/query-controls/terms.d.ts +1 -1
  439. package/build-types/range-control/utils.d.ts +4 -4
  440. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +5 -4
  441. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  442. package/build-types/resizable-box/resize-tooltip/utils.d.ts +6 -6
  443. package/build-types/toolbar/index.d.ts +7 -0
  444. package/build-types/toolbar/index.d.ts.map +1 -0
  445. package/build-types/toolbar/stories/index.d.ts +14 -0
  446. package/build-types/toolbar/stories/index.d.ts.map +1 -0
  447. package/build-types/toolbar/test/index.d.ts +2 -0
  448. package/build-types/toolbar/test/index.d.ts.map +1 -0
  449. package/build-types/toolbar/test/toolbar-group.d.ts +2 -0
  450. package/build-types/toolbar/test/toolbar-group.d.ts.map +1 -0
  451. package/build-types/toolbar/toolbar/index.d.ts +25 -0
  452. package/build-types/toolbar/toolbar/index.d.ts.map +1 -0
  453. package/build-types/toolbar/toolbar/toolbar-container.d.ts +5 -0
  454. package/build-types/toolbar/toolbar/toolbar-container.d.ts.map +1 -0
  455. package/build-types/toolbar/toolbar/types.d.ts +15 -0
  456. package/build-types/toolbar/toolbar/types.d.ts.map +1 -0
  457. package/build-types/toolbar/toolbar-button/index.d.ts +12 -0
  458. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -0
  459. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +3 -0
  460. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -0
  461. package/build-types/toolbar/toolbar-context/index.d.ts +3 -0
  462. package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -0
  463. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -0
  464. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -0
  465. package/build-types/toolbar/toolbar-group/index.d.ts +39 -0
  466. package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -0
  467. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +7 -0
  468. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -0
  469. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -0
  470. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -0
  471. package/build-types/toolbar/toolbar-item/index.d.ts +7 -0
  472. package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -0
  473. package/build-types/tools-panel/stories/index.d.ts +17 -0
  474. package/build-types/tools-panel/stories/index.d.ts.map +1 -0
  475. package/build-types/tools-panel/tools-panel/component.d.ts +54 -2
  476. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  477. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
  478. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  479. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  480. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
  481. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  482. package/build-types/tools-panel/tools-panel-item/component.d.ts +2 -2
  483. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  484. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  485. package/build-types/tools-panel/types.d.ts +42 -15
  486. package/build-types/tools-panel/types.d.ts.map +1 -1
  487. package/build-types/tree-grid/cell.d.ts +13 -0
  488. package/build-types/tree-grid/cell.d.ts.map +1 -0
  489. package/build-types/tree-grid/index.d.ts +70 -0
  490. package/build-types/tree-grid/index.d.ts.map +1 -0
  491. package/build-types/tree-grid/item.d.ts +12 -0
  492. package/build-types/tree-grid/item.d.ts.map +1 -0
  493. package/build-types/tree-grid/roving-tab-index-context.d.ts +10 -0
  494. package/build-types/tree-grid/roving-tab-index-context.d.ts.map +1 -0
  495. package/build-types/tree-grid/roving-tab-index-item.d.ts +5 -0
  496. package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -0
  497. package/build-types/tree-grid/roving-tab-index.d.ts +10 -0
  498. package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -0
  499. package/build-types/tree-grid/row.d.ts +12 -0
  500. package/build-types/tree-grid/row.d.ts.map +1 -0
  501. package/build-types/tree-grid/stories/index.d.ts +13 -0
  502. package/build-types/tree-grid/stories/index.d.ts.map +1 -0
  503. package/build-types/tree-grid/test/cell.d.ts +2 -0
  504. package/build-types/tree-grid/test/cell.d.ts.map +1 -0
  505. package/build-types/tree-grid/test/index.d.ts +2 -0
  506. package/build-types/tree-grid/test/index.d.ts.map +1 -0
  507. package/build-types/tree-grid/test/roving-tab-index-item.d.ts +2 -0
  508. package/build-types/tree-grid/test/roving-tab-index-item.d.ts.map +1 -0
  509. package/build-types/tree-grid/test/roving-tab-index.d.ts +2 -0
  510. package/build-types/tree-grid/test/roving-tab-index.d.ts.map +1 -0
  511. package/build-types/tree-grid/test/row.d.ts +2 -0
  512. package/build-types/tree-grid/test/row.d.ts.map +1 -0
  513. package/build-types/tree-grid/types.d.ts +109 -0
  514. package/build-types/tree-grid/types.d.ts.map +1 -0
  515. package/build-types/ui/context/context-connect.d.ts +7 -7
  516. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -1
  517. package/build-types/ui/utils/get-valid-children.d.ts +1 -1
  518. package/build-types/ui/utils/space.d.ts +1 -1
  519. package/build-types/unit-control/index.d.ts +1 -1
  520. package/build-types/unit-control/utils.d.ts +20 -20
  521. package/build-types/utils/events.d.ts +2 -2
  522. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  523. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  524. package/build-types/utils/hooks/use-controlled-value.d.ts +4 -4
  525. package/build-types/utils/hooks/use-latest-ref.d.ts +1 -1
  526. package/build-types/utils/unit-values.d.ts +3 -3
  527. package/package.json +19 -19
  528. package/src/alignment-matrix-control/utils.tsx +4 -4
  529. package/src/angle-picker-control/README.md +17 -14
  530. package/src/angle-picker-control/{angle-circle.js → angle-circle.tsx} +44 -12
  531. package/src/angle-picker-control/{index.js → index.tsx} +54 -10
  532. package/src/angle-picker-control/stories/index.tsx +57 -0
  533. package/src/angle-picker-control/styles/{angle-picker-control-styles.js → angle-picker-control-styles.tsx} +5 -1
  534. package/src/angle-picker-control/types.ts +29 -0
  535. package/src/autocomplete/autocompleter-ui.native.js +1 -0
  536. package/src/base-control/hooks.ts +1 -1
  537. package/src/border-box-control/test/{index.js → index.tsx} +76 -102
  538. package/src/border-box-control/test/{utils.js → utils.ts} +20 -0
  539. package/src/border-box-control/utils.ts +1 -1
  540. package/src/box-control/README.md +17 -26
  541. package/src/box-control/{all-input-control.js → all-input-control.tsx} +10 -6
  542. package/src/box-control/{axial-input-controls.js → axial-input-controls.tsx} +29 -24
  543. package/src/box-control/{icon.js → icon.tsx} +9 -4
  544. package/src/box-control/{index.js → index.tsx} +43 -8
  545. package/src/box-control/{input-controls.js → input-controls.tsx} +26 -16
  546. package/src/box-control/{linked-button.js → linked-button.tsx} +4 -1
  547. package/src/box-control/styles/{box-control-icon-styles.js → box-control-icon-styles.ts} +1 -1
  548. package/src/box-control/styles/{box-control-styles.js → box-control-styles.ts} +10 -2
  549. package/src/box-control/styles/{box-control-visualizer-styles.js → box-control-visualizer-styles.ts} +6 -2
  550. package/src/box-control/test/{index.js → index.tsx} +12 -9
  551. package/src/box-control/types.ts +121 -0
  552. package/src/box-control/{unit-control.js → unit-control.tsx} +9 -2
  553. package/src/box-control/{utils.js → utils.ts} +47 -38
  554. package/src/button/test/index.tsx +38 -30
  555. package/src/color-palette/README.md +7 -0
  556. package/src/color-palette/index.tsx +6 -1
  557. package/src/color-palette/types.ts +8 -0
  558. package/src/combobox-control/README.md +8 -15
  559. package/src/combobox-control/{index.js → index.tsx} +91 -19
  560. package/src/combobox-control/stories/index.tsx +114 -0
  561. package/src/combobox-control/styles.ts +4 -1
  562. package/src/combobox-control/test/{index.js → index.tsx} +9 -7
  563. package/src/combobox-control/types.ts +69 -0
  564. package/src/custom-gradient-picker/index.js +0 -1
  565. package/src/custom-select-control/stories/index.js +1 -1
  566. package/src/date-time/time/index.tsx +1 -1
  567. package/src/date-time/utils.ts +1 -1
  568. package/src/draggable/index.tsx +2 -2
  569. package/src/dropdown-menu/test/index.js +3 -11
  570. package/src/focal-point-picker/utils.ts +3 -3
  571. package/src/font-size-picker/utils.ts +2 -2
  572. package/src/gradient-picker/README.md +8 -0
  573. package/src/gradient-picker/index.js +6 -1
  574. package/src/input-control/reducer/reducer.ts +5 -5
  575. package/src/input-control/utils.ts +1 -1
  576. package/src/menu-items-choice/index.tsx +83 -0
  577. package/src/menu-items-choice/stories/index.tsx +79 -0
  578. package/src/menu-items-choice/types.ts +54 -0
  579. package/src/modal/index.tsx +45 -1
  580. package/src/modal/style.scss +8 -0
  581. package/src/modal/types.ts +2 -0
  582. package/src/palette-edit/index.js +4 -1
  583. package/src/panel/README.md +2 -2
  584. package/src/panel/header.tsx +20 -0
  585. package/src/panel/index.tsx +48 -0
  586. package/src/panel/row.tsx +37 -0
  587. package/src/panel/stories/index.js +22 -0
  588. package/src/panel/test/__snapshots__/{header.js.snap → header.tsx.snap} +0 -0
  589. package/src/panel/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  590. package/src/panel/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
  591. package/src/panel/test/{header.js → header.tsx} +1 -1
  592. package/src/panel/test/{index.js → index.tsx} +6 -4
  593. package/src/panel/test/{row.js → row.tsx} +4 -2
  594. package/src/panel/types.ts +38 -0
  595. package/src/popover/README.md +4 -1
  596. package/src/popover/index.tsx +17 -1
  597. package/src/popover/overlay-middlewares.tsx +29 -0
  598. package/src/popover/stories/index.tsx +7 -1
  599. package/src/popover/test/index.tsx +29 -21
  600. package/src/popover/types.ts +4 -2
  601. package/src/popover/utils.ts +39 -3
  602. package/src/query-controls/terms.ts +1 -1
  603. package/src/range-control/utils.ts +4 -4
  604. package/src/resizable-box/resize-tooltip/styles/{resize-tooltip.styles.js → resize-tooltip.styles.ts} +0 -0
  605. package/src/resizable-box/resize-tooltip/utils.ts +14 -14
  606. package/src/snackbar/index.tsx +2 -2
  607. package/src/toolbar/stories/{index.js → index.tsx} +39 -26
  608. package/src/toolbar/test/{index.js → index.tsx} +0 -0
  609. package/src/toolbar/test/{toolbar-group.js → toolbar-group.tsx} +2 -2
  610. package/src/toolbar/toolbar/README.md +7 -2
  611. package/src/toolbar/toolbar/{index.js → index.tsx} +33 -12
  612. package/src/toolbar/toolbar/{toolbar-container.js → toolbar-container.tsx} +9 -2
  613. package/src/toolbar/toolbar/types.ts +15 -0
  614. package/src/toolbar/toolbar-button/index.js +2 -0
  615. package/src/toolbar/toolbar-button/toolbar-button-container.js +2 -0
  616. package/src/toolbar/toolbar-context/index.js +2 -0
  617. package/src/toolbar/toolbar-dropdown-menu/index.js +2 -0
  618. package/src/toolbar/toolbar-group/index.js +2 -0
  619. package/src/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
  620. package/src/toolbar/toolbar-group/toolbar-group-container.js +2 -0
  621. package/src/toolbar/toolbar-item/index.js +2 -0
  622. package/src/tools-panel/stories/{index.js → index.tsx} +196 -95
  623. package/src/tools-panel/test/index.js +6 -6
  624. package/src/tools-panel/tools-panel/README.md +12 -4
  625. package/src/tools-panel/tools-panel/component.tsx +57 -3
  626. package/src/tools-panel/tools-panel/hook.ts +4 -2
  627. package/src/tools-panel/tools-panel-header/README.md +7 -0
  628. package/src/tools-panel/tools-panel-header/component.tsx +2 -1
  629. package/src/tools-panel/tools-panel-header/hook.ts +6 -4
  630. package/src/tools-panel/tools-panel-item/README.md +6 -4
  631. package/src/tools-panel/tools-panel-item/component.tsx +4 -4
  632. package/src/tools-panel/tools-panel-item/hook.ts +4 -2
  633. package/src/tools-panel/types.ts +43 -15
  634. package/src/tree-grid/README.md +18 -58
  635. package/src/tree-grid/cell.tsx +41 -0
  636. package/src/tree-grid/{index.js → index.tsx} +111 -35
  637. package/src/tree-grid/item.tsx +32 -0
  638. package/src/tree-grid/{roving-tab-index-context.js → roving-tab-index-context.ts} +9 -1
  639. package/src/tree-grid/roving-tab-index-item.tsx +50 -0
  640. package/src/tree-grid/{roving-tab-index.js → roving-tab-index.tsx} +7 -5
  641. package/src/tree-grid/row.tsx +47 -0
  642. package/src/tree-grid/stories/index.tsx +144 -0
  643. package/src/tree-grid/test/__snapshots__/{cell.js.snap → cell.tsx.snap} +0 -0
  644. package/src/tree-grid/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  645. package/src/tree-grid/test/__snapshots__/{roving-tab-index-item.js.snap → roving-tab-index-item.tsx.snap} +0 -0
  646. package/src/tree-grid/test/__snapshots__/{roving-tab-index.js.snap → roving-tab-index.tsx.snap} +0 -0
  647. package/src/tree-grid/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
  648. package/src/tree-grid/test/{cell.js → cell.tsx} +7 -4
  649. package/src/tree-grid/test/{index.js → index.tsx} +13 -5
  650. package/src/tree-grid/test/{roving-tab-index-item.js → roving-tab-index-item.tsx} +7 -4
  651. package/src/tree-grid/test/{roving-tab-index.js → roving-tab-index.tsx} +0 -0
  652. package/src/tree-grid/test/{row.js → row.tsx} +4 -4
  653. package/src/tree-grid/types.ts +116 -0
  654. package/src/ui/context/context-connect.ts +7 -7
  655. package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
  656. package/src/ui/utils/get-valid-children.ts +1 -1
  657. package/src/ui/utils/space.ts +1 -1
  658. package/src/unit-control/index.tsx +2 -2
  659. package/src/unit-control/utils.ts +20 -20
  660. package/src/utils/events.ts +4 -4
  661. package/src/utils/hooks/use-controlled-state.js +2 -2
  662. package/src/utils/hooks/use-controlled-value.ts +4 -4
  663. package/src/utils/hooks/use-latest-ref.ts +1 -1
  664. package/src/utils/unit-values.ts +3 -3
  665. package/tsconfig.json +1 -7
  666. package/tsconfig.tsbuildinfo +1 -1
  667. package/build/base-field/hook.js +0 -54
  668. package/build/base-field/hook.js.map +0 -1
  669. package/build/base-field/index.js +0 -14
  670. package/build/base-field/index.js.map +0 -1
  671. package/build/base-field/styles.js +0 -33
  672. package/build/base-field/styles.js.map +0 -1
  673. package/build/resizable-box/styles/resizable-box.styles.js +0 -2
  674. package/build-module/base-field/hook.js +0 -37
  675. package/build-module/base-field/hook.js.map +0 -1
  676. package/build-module/base-field/index.js +0 -2
  677. package/build-module/base-field/index.js.map +0 -1
  678. package/build-module/base-field/styles.js +0 -18
  679. package/build-module/base-field/styles.js.map +0 -1
  680. package/build-module/resizable-box/styles/resizable-box.styles.js +0 -2
  681. package/build-types/base-field/hook.d.ts +0 -270
  682. package/build-types/base-field/hook.d.ts.map +0 -1
  683. package/build-types/base-field/index.d.ts +0 -2
  684. package/build-types/base-field/index.d.ts.map +0 -1
  685. package/build-types/base-field/styles.d.ts +0 -6
  686. package/build-types/base-field/styles.d.ts.map +0 -1
  687. package/build-types/base-field/types.d.ts +0 -29
  688. package/build-types/base-field/types.d.ts.map +0 -1
  689. package/build-types/resizable-box/styles/resizable-box.styles.d.ts +0 -1
  690. package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +0 -1
  691. package/src/angle-picker-control/stories/index.js +0 -29
  692. package/src/base-field/README.md +0 -66
  693. package/src/base-field/hook.ts +0 -51
  694. package/src/base-field/index.ts +0 -1
  695. package/src/base-field/styles.ts +0 -86
  696. package/src/base-field/test/__snapshots__/index.tsx.snap +0 -141
  697. package/src/base-field/test/index.tsx +0 -84
  698. package/src/base-field/types.ts +0 -29
  699. package/src/combobox-control/stories/index.js +0 -339
  700. package/src/menu-items-choice/index.js +0 -43
  701. package/src/panel/header.js +0 -10
  702. package/src/panel/index.js +0 -26
  703. package/src/panel/row.js +0 -20
  704. package/src/resizable-box/styles/resizable-box.styles.js +0 -0
  705. package/src/tools-panel/stories/utils/tools-panel-with-item-group-slot.js +0 -246
  706. package/src/tree-grid/cell.js +0 -24
  707. package/src/tree-grid/item.js +0 -20
  708. package/src/tree-grid/roving-tab-index-item.js +0 -33
  709. package/src/tree-grid/row.js +0 -31
  710. package/src/tree-grid/stories/index.js +0 -106
@@ -43,6 +43,7 @@ import {
43
43
  import { close } from '@wordpress/icons';
44
44
  import deprecated from '@wordpress/deprecated';
45
45
  import { Path, SVG } from '@wordpress/primitives';
46
+ import { getScrollContainer } from '@wordpress/dom';
46
47
 
47
48
  /**
48
49
  * Internal dependencies
@@ -52,6 +53,7 @@ import ScrollLock from '../scroll-lock';
52
53
  import { Slot, Fill, useSlot } from '../slot-fill';
53
54
  import {
54
55
  getFrameOffset,
56
+ getFrameScale,
55
57
  positionToPlacement,
56
58
  placementToMotionAnimationProps,
57
59
  getReferenceOwnerDocument,
@@ -65,6 +67,7 @@ import type {
65
67
  PopoverAnchorRefTopBottom,
66
68
  } from './types';
67
69
  import { limitShift as customLimitShift } from './limit-shift';
70
+ import { overlayMiddlewares } from './overlay-middlewares';
68
71
 
69
72
  /**
70
73
  * Name of slot in which popover should fill.
@@ -268,6 +271,7 @@ const UnforwardedPopover = (
268
271
  const frameOffsetRef = useRef( getFrameOffset( referenceOwnerDocument ) );
269
272
 
270
273
  const middleware = [
274
+ ...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),
271
275
  // Custom middleware which adjusts the popover's position by taking into
272
276
  // account the offset of the anchor's iframe (if any) compared to the page.
273
277
  {
@@ -361,7 +365,10 @@ const UnforwardedPopover = (
361
365
  placement: computedPlacement,
362
366
  middlewareData: { arrow: arrowData },
363
367
  } = useFloating( {
364
- placement: normalizedPlacementFromProps,
368
+ placement:
369
+ normalizedPlacementFromProps === 'overlay'
370
+ ? undefined
371
+ : normalizedPlacementFromProps,
365
372
  middleware,
366
373
  whileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>
367
374
  autoUpdate( referenceParam, floatingParam, updateParam, {
@@ -399,12 +406,14 @@ const UnforwardedPopover = (
399
406
  fallbackReferenceElement,
400
407
  fallbackDocument: document,
401
408
  } );
409
+ const scale = getFrameScale( resultingReferenceOwnerDoc );
402
410
  const resultingReferenceElement = getReferenceElement( {
403
411
  anchor,
404
412
  anchorRef,
405
413
  anchorRect,
406
414
  getAnchorRect,
407
415
  fallbackReferenceElement,
416
+ scale,
408
417
  } );
409
418
 
410
419
  referenceCallbackRef( resultingReferenceElement );
@@ -441,17 +450,24 @@ const UnforwardedPopover = (
441
450
  }
442
451
 
443
452
  const { defaultView } = referenceOwnerDocument;
453
+ const { frameElement } = defaultView;
454
+
455
+ const scrollContainer = frameElement
456
+ ? getScrollContainer( frameElement )
457
+ : null;
444
458
 
445
459
  const updateFrameOffset = () => {
446
460
  frameOffsetRef.current = getFrameOffset( referenceOwnerDocument );
447
461
  update();
448
462
  };
449
463
  defaultView.addEventListener( 'resize', updateFrameOffset );
464
+ scrollContainer?.addEventListener( 'scroll', updateFrameOffset );
450
465
 
451
466
  updateFrameOffset();
452
467
 
453
468
  return () => {
454
469
  defaultView.removeEventListener( 'resize', updateFrameOffset );
470
+ scrollContainer?.removeEventListener( 'scroll', updateFrameOffset );
455
471
  };
456
472
  }, [ referenceOwnerDocument, update, refs.floating ] );
457
473
 
@@ -0,0 +1,29 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { size, MiddlewareArguments } from '@floating-ui/react-dom';
5
+
6
+ export function overlayMiddlewares() {
7
+ return [
8
+ {
9
+ name: 'overlay',
10
+ fn( { rects }: MiddlewareArguments ) {
11
+ return rects.reference;
12
+ },
13
+ },
14
+ size( {
15
+ apply( { rects, elements } ) {
16
+ const { firstElementChild } = elements.floating ?? {};
17
+
18
+ // Only HTMLElement instances have the `style` property.
19
+ if ( ! ( firstElementChild instanceof HTMLElement ) ) return;
20
+
21
+ // Reduce the height of the popover to the available space.
22
+ Object.assign( firstElementChild.style, {
23
+ width: `${ rects.reference.width }px`,
24
+ height: `${ rects.reference.height }px`,
25
+ } );
26
+ },
27
+ } ),
28
+ ];
29
+ }
@@ -31,6 +31,7 @@ const AVAILABLE_PLACEMENTS: PopoverProps[ 'placement' ][] = [
31
31
  'left',
32
32
  'left-start',
33
33
  'left-end',
34
+ 'overlay',
34
35
  ];
35
36
 
36
37
  const meta: ComponentMeta< typeof Popover > = {
@@ -170,7 +171,12 @@ export const AllPlacements: ComponentStory< typeof Popover > = ( {
170
171
  </h2>
171
172
  <div>
172
173
  { AVAILABLE_PLACEMENTS.map( ( p ) => (
173
- <PopoverWithAnchor key={ p } placement={ p } { ...args }>
174
+ <PopoverWithAnchor
175
+ key={ p }
176
+ placement={ p }
177
+ { ...args }
178
+ resize={ p === 'overlay' ? true : args.resize }
179
+ >
174
180
  { children }
175
181
  <div>
176
182
  <small>(placement: { p })</small>
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { act, render, screen } from '@testing-library/react';
5
- import type { CSSProperties, ReactElement } from 'react';
4
+ import { render, screen, waitFor } from '@testing-library/react';
5
+ import type { CSSProperties } from 'react';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -91,25 +91,21 @@ const ALL_POSITIONS_TO_EXPECTED_PLACEMENTS: PositionToPlacementTuple[] = [
91
91
 
92
92
  describe( 'Popover', () => {
93
93
  describe( 'Component', () => {
94
- // Render UI and then wait for the `floating-ui` effects inside `Popover` to finish running
95
- // See also: https://floating-ui.com/docs/react-dom#testing
96
- async function renderAsync( ui: ReactElement ) {
97
- const view = render( ui );
98
- await act( () => Promise.resolve() );
99
- return view;
100
- }
101
-
102
94
  describe( 'basic behavior', () => {
103
95
  it( 'should render content', async () => {
104
- await renderAsync( <Popover>Hello</Popover> );
96
+ render( <Popover>Hello</Popover> );
105
97
 
106
- expect( screen.getByText( 'Hello' ) ).toBeInTheDocument();
98
+ await waitFor( () =>
99
+ expect( screen.getByText( 'Hello' ) ).toBeVisible()
100
+ );
107
101
  } );
108
102
 
109
103
  it( 'should forward additional props to portaled element', async () => {
110
- await renderAsync( <Popover role="tooltip">Hello</Popover> );
104
+ render( <Popover role="tooltip">Hello</Popover> );
111
105
 
112
- expect( screen.getByRole( 'tooltip' ) ).toBeInTheDocument();
106
+ await waitFor( () =>
107
+ expect( screen.getByRole( 'tooltip' ) ).toBeVisible()
108
+ );
113
109
  } );
114
110
  } );
115
111
 
@@ -129,32 +125,44 @@ describe( 'Popover', () => {
129
125
  );
130
126
  };
131
127
 
132
- await renderAsync(
128
+ render(
133
129
  <PopoverWithAnchor>Popover content</PopoverWithAnchor>
134
130
  );
135
131
 
136
- expect(
137
- screen.getByText( 'Popover content' )
138
- ).toBeInTheDocument();
132
+ await waitFor( () =>
133
+ expect(
134
+ screen.getByText( 'Popover content' )
135
+ ).toBeVisible()
136
+ );
139
137
  } );
140
138
  } );
141
139
 
142
140
  describe( 'focus behavior', () => {
143
141
  it( 'should focus the popover by default when opened', async () => {
144
- await renderAsync(
142
+ render(
145
143
  <Popover data-testid="popover-element">
146
144
  Popover content
147
145
  </Popover>
148
146
  );
149
147
 
150
- expect( screen.getByTestId( 'popover-element' ) ).toHaveFocus();
148
+ const popover = screen.getByTestId( 'popover-element' );
149
+
150
+ await waitFor( () => expect( popover ).toBeVisible() );
151
+
152
+ expect( popover ).toHaveFocus();
151
153
  } );
152
154
 
153
155
  it( 'should allow focus-on-open behavior to be disabled', async () => {
154
- await renderAsync(
156
+ render(
155
157
  <Popover focusOnMount={ false }>Popover content</Popover>
156
158
  );
157
159
 
160
+ await waitFor( () =>
161
+ expect(
162
+ screen.getByText( 'Popover content' )
163
+ ).toBeVisible()
164
+ );
165
+
158
166
  expect( document.body ).toHaveFocus();
159
167
  } );
160
168
  } );
@@ -12,8 +12,10 @@ type DomRectWithOwnerDocument = DOMRect & {
12
12
  ownerDocument?: Document;
13
13
  };
14
14
 
15
+ type PopoverPlacement = Placement | 'overlay';
16
+
15
17
  export type AnimatedWrapperProps = {
16
- placement: Placement;
18
+ placement: PopoverPlacement;
17
19
  shouldAnimate?: boolean;
18
20
  };
19
21
 
@@ -111,7 +113,7 @@ export type PopoverProps = {
111
113
  *
112
114
  * @default 'bottom-start'
113
115
  */
114
- placement?: Placement;
116
+ placement?: PopoverPlacement;
115
117
  /**
116
118
  * Legacy way to specify the popover's position with respect to its anchor.
117
119
  * _Note: this prop is deprecated. Use the `placement` prop instead._
@@ -74,7 +74,7 @@ const POSITION_TO_PLACEMENT: Record<
74
74
  * Converts the `Popover`'s legacy "position" prop to the new "placement" prop
75
75
  * (used by `floating-ui`).
76
76
  *
77
- * @param position The legacy position
77
+ * @param position The legacy position
78
78
  * @return The corresponding placement
79
79
  */
80
80
  export const positionToPlacement = (
@@ -105,13 +105,14 @@ const PLACEMENT_TO_ANIMATION_ORIGIN: Record<
105
105
  left: { originX: 1, originY: 0.5 }, // open from middle, right
106
106
  'left-start': { originX: 1, originY: 0 }, // open from top, right
107
107
  'left-end': { originX: 1, originY: 1 }, // open from bottom, right
108
+ overlay: { originX: 0.5, originY: 0.5 }, // open from center, center
108
109
  };
109
110
 
110
111
  /**
111
112
  * Given the floating-ui `placement`, compute the framer-motion props for the
112
113
  * popover's entry animation.
113
114
  *
114
- * @param placement A placement string from floating ui
115
+ * @param placement A placement string from floating ui
115
116
  * @return The object containing the motion props
116
117
  */
117
118
  export const placementToMotionAnimationProps = (
@@ -141,7 +142,7 @@ export const placementToMotionAnimationProps = (
141
142
  /**
142
143
  * Returns the offset of a document's frame element.
143
144
  *
144
- * @param document The iframe's owner document.
145
+ * @param document The iframe's owner document.
145
146
  *
146
147
  * @return The offset of the document's frame element, or undefined if the
147
148
  * document has no frame element.
@@ -157,6 +158,23 @@ export const getFrameOffset = (
157
158
  return { x: iframeRect.left, y: iframeRect.top };
158
159
  };
159
160
 
161
+ export const getFrameScale = (
162
+ document?: Document
163
+ ): {
164
+ x: number;
165
+ y: number;
166
+ } => {
167
+ const frameElement = document?.defaultView?.frameElement as HTMLElement;
168
+ if ( ! frameElement ) {
169
+ return { x: 1, y: 1 };
170
+ }
171
+ const rect = frameElement.getBoundingClientRect();
172
+ return {
173
+ x: rect.width / frameElement.offsetWidth,
174
+ y: rect.height / frameElement.offsetHeight,
175
+ };
176
+ };
177
+
160
178
  export const getReferenceOwnerDocument = ( {
161
179
  anchor,
162
180
  anchorRef,
@@ -213,11 +231,13 @@ export const getReferenceElement = ( {
213
231
  anchorRect,
214
232
  getAnchorRect,
215
233
  fallbackReferenceElement,
234
+ scale,
216
235
  }: Pick<
217
236
  PopoverProps,
218
237
  'anchorRef' | 'anchorRect' | 'getAnchorRect' | 'anchor'
219
238
  > & {
220
239
  fallbackReferenceElement: Element | null;
240
+ scale: { x: number; y: number };
221
241
  } ): ReferenceType | null => {
222
242
  let referenceElement = null;
223
243
 
@@ -279,6 +299,22 @@ export const getReferenceElement = ( {
279
299
  referenceElement = fallbackReferenceElement.parentElement;
280
300
  }
281
301
 
302
+ if ( referenceElement && ( scale.x !== 1 || scale.y !== 1 ) ) {
303
+ // If the popover is inside an iframe, the coordinates of the
304
+ // reference element need to be scaled to match the iframe's scale.
305
+ const rect = referenceElement.getBoundingClientRect();
306
+ referenceElement = {
307
+ getBoundingClientRect() {
308
+ return new window.DOMRect(
309
+ rect.x * scale.x,
310
+ rect.y * scale.y,
311
+ rect.width * scale.x,
312
+ rect.height * scale.y
313
+ );
314
+ },
315
+ };
316
+ }
317
+
282
318
  // Convert any `undefined` value to `null`.
283
319
  return referenceElement ?? null;
284
320
  };
@@ -16,7 +16,7 @@ import type {
16
16
  /**
17
17
  * Returns terms in a tree form.
18
18
  *
19
- * @param flatTerms Array of terms in flat format.
19
+ * @param flatTerms Array of terms in flat format.
20
20
  *
21
21
  * @return Terms in tree format.
22
22
  */
@@ -14,9 +14,9 @@ import type { UseControlledRangeValueArgs } from './types';
14
14
  /**
15
15
  * A float supported clamp function for a specific value.
16
16
  *
17
- * @param value The value to clamp.
18
- * @param min The minimum value.
19
- * @param max The maximum value.
17
+ * @param value The value to clamp.
18
+ * @param min The minimum value.
19
+ * @param max The maximum value.
20
20
  *
21
21
  * @return A (float) number
22
22
  */
@@ -31,7 +31,7 @@ export function floatClamp( value: number | null, min: number, max: number ) {
31
31
  /**
32
32
  * Hook to store a clamped value, derived from props.
33
33
  *
34
- * @param settings
34
+ * @param settings
35
35
  * @return The controlled value and the value setter.
36
36
  */
37
37
  export function useControlledRangeValue(
@@ -34,12 +34,12 @@ interface UseResizeLabelArgs {
34
34
  * Custom hook that manages resize listener events. It also provides a label
35
35
  * based on current resize width x height values.
36
36
  *
37
- * @param props
38
- * @param props.axis Only shows the label corresponding to the axis.
39
- * @param props.fadeTimeout Duration (ms) before deactivating the resize label.
40
- * @param props.onResize Callback when a resize occurs. Provides { width, height } callback.
41
- * @param props.position Adjusts label value.
42
- * @param props.showPx Whether to add `PX` to the label.
37
+ * @param props
38
+ * @param props.axis Only shows the label corresponding to the axis.
39
+ * @param props.fadeTimeout Duration (ms) before deactivating the resize label.
40
+ * @param props.onResize Callback when a resize occurs. Provides { width, height } callback.
41
+ * @param props.position Adjusts label value.
42
+ * @param props.showPx Whether to add `PX` to the label.
43
43
  *
44
44
  * @return Properties for hook.
45
45
  */
@@ -174,14 +174,14 @@ interface GetSizeLabelArgs {
174
174
  /**
175
175
  * Gets the resize label based on width and height values (as well as recent changes).
176
176
  *
177
- * @param props
178
- * @param props.axis Only shows the label corresponding to the axis.
179
- * @param props.height Height value.
180
- * @param props.moveX Recent width (x axis) changes.
181
- * @param props.moveY Recent width (y axis) changes.
182
- * @param props.position Adjusts label value.
183
- * @param props.showPx Whether to add `PX` to the label.
184
- * @param props.width Width value.
177
+ * @param props
178
+ * @param props.axis Only shows the label corresponding to the axis.
179
+ * @param props.height Height value.
180
+ * @param props.moveX Recent width (x axis) changes.
181
+ * @param props.moveY Recent width (y axis) changes.
182
+ * @param props.position Adjusts label value.
183
+ * @param props.showPx Whether to add `PX` to the label.
184
+ * @param props.width Width value.
185
185
  *
186
186
  * @return The rendered label.
187
187
  */
@@ -26,8 +26,8 @@ const NOTICE_TIMEOUT = 10000;
26
26
  * Custom hook which announces the message with the given politeness, if a
27
27
  * valid message is provided.
28
28
  *
29
- * @param message Message to announce.
30
- * @param politeness Politeness to announce.
29
+ * @param message Message to announce.
30
+ * @param politeness Politeness to announce.
31
31
  */
32
32
  function useSpokenMessage(
33
33
  message: SnackbarProps[ 'spokenMessage' ],
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ComponentMeta, ComponentStory } from '@storybook/react';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -18,6 +23,7 @@ import {
18
23
  arrowRight,
19
24
  chevronDown,
20
25
  } from '@wordpress/icons';
26
+ import { SVG, Path } from '@wordpress/primitives';
21
27
 
22
28
  /**
23
29
  * Internal dependencies
@@ -29,9 +35,9 @@ import {
29
35
  ToolbarItem,
30
36
  ToolbarDropdownMenu,
31
37
  } from '..';
32
- import { SVG, Path, DropdownMenu } from '../../';
38
+ import DropdownMenu from '../../dropdown-menu';
33
39
 
34
- export default {
40
+ const meta: ComponentMeta< typeof Toolbar > = {
35
41
  title: 'Components/Toolbar',
36
42
  component: Toolbar,
37
43
  subcomponents: {
@@ -49,6 +55,8 @@ export default {
49
55
  },
50
56
  };
51
57
 
58
+ export default meta;
59
+
52
60
  function InlineImageIcon() {
53
61
  return (
54
62
  <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
@@ -57,7 +65,7 @@ function InlineImageIcon() {
57
65
  );
58
66
  }
59
67
 
60
- const Template = ( props ) => (
68
+ const Template: ComponentStory< typeof Toolbar > = ( props ) => (
61
69
  <div style={ { height: 280 } }>
62
70
  <Toolbar { ...props } />
63
71
  </div>
@@ -74,29 +82,32 @@ Default.args = {
74
82
  </ToolbarGroup>
75
83
  <ToolbarGroup>
76
84
  <ToolbarItem>
77
- { ( toggleProps ) => (
78
- <DropdownMenu
79
- hasArrowIndicator
80
- icon={ alignLeft }
81
- label="Align"
82
- controls={ [
83
- {
84
- icon: alignLeft,
85
- title: 'Align left',
86
- isActive: true,
87
- },
88
- {
89
- icon: alignCenter,
90
- title: 'Align center',
91
- },
92
- {
93
- icon: alignRight,
94
- title: 'Align right',
95
- },
96
- ] }
97
- toggleProps={ toggleProps }
98
- />
99
- ) }
85
+ {
86
+ // @ts-expect-error TODO: Remove when ToolbarItem/DropdownMenu is typed
87
+ ( toggleProps ) => (
88
+ <DropdownMenu
89
+ hasArrowIndicator
90
+ icon={ alignLeft }
91
+ label="Align"
92
+ controls={ [
93
+ {
94
+ icon: alignLeft,
95
+ title: 'Align left',
96
+ isActive: true,
97
+ },
98
+ {
99
+ icon: alignCenter,
100
+ title: 'Align center',
101
+ },
102
+ {
103
+ icon: alignRight,
104
+ title: 'Align right',
105
+ },
106
+ ] }
107
+ toggleProps={ toggleProps }
108
+ />
109
+ )
110
+ }
100
111
  </ToolbarItem>
101
112
  </ToolbarGroup>
102
113
  <ToolbarGroup>
@@ -106,6 +117,7 @@ Default.args = {
106
117
  <ToolbarButton icon={ link } label="Link" />
107
118
  <ToolbarGroup
108
119
  isCollapsed
120
+ // @ts-expect-error TODO: Remove when ToolbarGroup is typed
109
121
  icon={ false }
110
122
  label="More rich text controls"
111
123
  controls={ [
@@ -119,6 +131,7 @@ Default.args = {
119
131
  />
120
132
  </ToolbarGroup>
121
133
  <ToolbarGroup
134
+ // @ts-expect-error TODO: Remove when ToolbarGroup is typed
122
135
  icon={ more }
123
136
  label="Align"
124
137
  isCollapsed
File without changes
@@ -23,7 +23,7 @@ describe( 'ToolbarGroup', () => {
23
23
  } );
24
24
 
25
25
  it( 'should render a list of controls with buttons', () => {
26
- const clickHandler = ( event ) => event;
26
+ const clickHandler = ( event: Event ) => event;
27
27
  const controls = [
28
28
  {
29
29
  icon: 'wordpress',
@@ -41,7 +41,7 @@ describe( 'ToolbarGroup', () => {
41
41
  } );
42
42
 
43
43
  it( 'should render a list of controls with buttons and active control', () => {
44
- const clickHandler = ( event ) => event;
44
+ const clickHandler = ( event: Event ) => event;
45
45
  const controls = [
46
46
  {
47
47
  icon: 'wordpress',
@@ -59,11 +59,16 @@ function MyToolbar() {
59
59
 
60
60
  Toolbar will pass all HTML props to the underlying element. Additionally, you can pass the custom props specified below.
61
61
 
62
- #### label
62
+ #### `className`: `string`
63
+
64
+ Class to set on the container div.
65
+
66
+ - Required: No
67
+
68
+ #### `label`: `string`
63
69
 
64
70
  An accessible label for the toolbar.
65
71
 
66
- - Type: `String`
67
72
  - Required: Yes
68
73
 
69
74
  ## Related components
@@ -2,6 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
+ import type { ForwardedRef } from 'react';
5
6
 
6
7
  /**
7
8
  * WordPress dependencies
@@ -14,18 +15,17 @@ import deprecated from '@wordpress/deprecated';
14
15
  */
15
16
  import ToolbarGroup from '../toolbar-group';
16
17
  import ToolbarContainer from './toolbar-container';
18
+ import type { ToolbarProps } from './types';
19
+ import type { WordPressComponentProps } from '../../ui/context';
17
20
 
18
- /**
19
- * Renders a toolbar.
20
- *
21
- * To add controls, simply pass `ToolbarButton` components as children.
22
- *
23
- * @param {Object} props Component props.
24
- * @param {string} [props.className] Class to set on the container div.
25
- * @param {string} [props.label] ARIA label for toolbar container.
26
- * @param {Object} ref React Element ref.
27
- */
28
- function Toolbar( { className, label, ...props }, ref ) {
21
+ function UnforwardedToolbar(
22
+ {
23
+ className,
24
+ label,
25
+ ...props
26
+ }: WordPressComponentProps< ToolbarProps, 'div', false >,
27
+ ref: ForwardedRef< any >
28
+ ) {
29
29
  if ( ! label ) {
30
30
  deprecated( 'Using Toolbar without label prop', {
31
31
  since: '5.6',
@@ -49,4 +49,25 @@ function Toolbar( { className, label, ...props }, ref ) {
49
49
  );
50
50
  }
51
51
 
52
- export default forwardRef( Toolbar );
52
+ /**
53
+ * Renders a toolbar.
54
+ *
55
+ * To add controls, simply pass `ToolbarButton` components as children.
56
+ *
57
+ * ```jsx
58
+ * import { Toolbar, ToolbarButton } from '@wordpress/components';
59
+ * import { formatBold, formatItalic, link } from '@wordpress/icons';
60
+ *
61
+ * function MyToolbar() {
62
+ * return (
63
+ * <Toolbar label="Options">
64
+ * <ToolbarButton icon={ formatBold } label="Bold" />
65
+ * <ToolbarButton icon={ formatItalic } label="Italic" />
66
+ * <ToolbarButton icon={ link } label="Link" />
67
+ * </Toolbar>
68
+ * );
69
+ * }
70
+ * ```
71
+ */
72
+ export const Toolbar = forwardRef( UnforwardedToolbar );
73
+ export default Toolbar;