@wordpress/components 25.13.0 → 25.15.1-next.79a6196f.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 (743) hide show
  1. package/CHANGELOG.md +89 -1
  2. package/CONTRIBUTING.md +57 -115
  3. package/LICENSE.md +1 -1
  4. package/build/base-control/index.js +17 -13
  5. package/build/base-control/index.js.map +1 -1
  6. package/build/border-box-control/border-box-control-linked-button/component.js +1 -1
  7. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  8. package/build/border-control/border-control-dropdown/component.js +4 -2
  9. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  10. package/build/border-control/border-control-dropdown/hook.js +3 -2
  11. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  12. package/build/border-control/border-control-style-picker/component.js +1 -1
  13. package/build/border-control/border-control-style-picker/component.js.map +1 -1
  14. package/build/border-control/styles.js +17 -17
  15. package/build/border-control/styles.js.map +1 -1
  16. package/build/box-control/index.js +1 -1
  17. package/build/box-control/index.js.map +1 -1
  18. package/build/box-control/linked-button.js +1 -1
  19. package/build/box-control/linked-button.js.map +1 -1
  20. package/build/button/index.js +1 -1
  21. package/build/button/index.js.map +1 -1
  22. package/build/checkbox-control/index.js +1 -1
  23. package/build/checkbox-control/index.js.map +1 -1
  24. package/build/checkbox-control/types.js.map +1 -1
  25. package/build/color-palette/index.native.js +11 -7
  26. package/build/color-palette/index.native.js.map +1 -1
  27. package/build/color-picker/color-copy-button.js +1 -1
  28. package/build/color-picker/color-copy-button.js.map +1 -1
  29. package/build/context/wordpress-component.js.map +1 -1
  30. package/build/custom-select-control-v2/index.js +11 -10
  31. package/build/custom-select-control-v2/index.js.map +1 -1
  32. package/build/date-time/date/styles.js +8 -8
  33. package/build/date-time/date/styles.js.map +1 -1
  34. package/build/date-time/time/timezone.js +11 -2
  35. package/build/date-time/time/timezone.js.map +1 -1
  36. package/build/dimension-control/index.js +2 -0
  37. package/build/dimension-control/index.js.map +1 -1
  38. package/build/dimension-control/types.js.map +1 -1
  39. package/build/dropdown-menu-v2/index.js +205 -159
  40. package/build/dropdown-menu-v2/index.js.map +1 -1
  41. package/build/dropdown-menu-v2/styles.js +86 -77
  42. package/build/dropdown-menu-v2/styles.js.map +1 -1
  43. package/build/dropdown-menu-v2/types.js.map +1 -1
  44. package/build/duotone-picker/duotone-picker.js +4 -3
  45. package/build/duotone-picker/duotone-picker.js.map +1 -1
  46. package/build/focal-point-picker/controls.js +5 -1
  47. package/build/focal-point-picker/controls.js.map +1 -1
  48. package/build/focal-point-picker/index.js +2 -0
  49. package/build/focal-point-picker/index.js.map +1 -1
  50. package/build/focal-point-picker/styles/focal-point-picker-style.js +15 -15
  51. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  52. package/build/focal-point-picker/types.js.map +1 -1
  53. package/build/font-size-picker/font-size-picker-select.js +2 -0
  54. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  55. package/build/font-size-picker/font-size-picker-toggle-group.js +2 -0
  56. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  57. package/build/font-size-picker/index.js +10 -3
  58. package/build/font-size-picker/index.js.map +1 -1
  59. package/build/font-size-picker/index.native.js +6 -3
  60. package/build/font-size-picker/index.native.js.map +1 -1
  61. package/build/font-size-picker/types.js.map +1 -1
  62. package/build/form-token-field/index.js +10 -5
  63. package/build/form-token-field/index.js.map +1 -1
  64. package/build/form-token-field/token.js +1 -0
  65. package/build/form-token-field/token.js.map +1 -1
  66. package/build/gradient-picker/index.js +3 -2
  67. package/build/gradient-picker/index.js.map +1 -1
  68. package/build/index.native.js +20 -19
  69. package/build/index.native.js.map +1 -1
  70. package/build/input-control/styles/input-control-styles.js +32 -29
  71. package/build/input-control/styles/input-control-styles.js.map +1 -1
  72. package/build/input-control/types.js.map +1 -1
  73. package/build/lock-unlock.js +18 -0
  74. package/build/lock-unlock.js.map +1 -0
  75. package/build/mobile/bottom-sheet/index.native.js +8 -0
  76. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  77. package/build/mobile/color-settings/palette.screen.native.js +8 -4
  78. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  79. package/build/mobile/global-styles-context/utils.native.js +39 -13
  80. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  81. package/build/mobile/image/constants.js +12 -0
  82. package/build/mobile/image/constants.js.map +1 -0
  83. package/build/mobile/image/index.native.js +26 -18
  84. package/build/mobile/image/index.native.js.map +1 -1
  85. package/build/mobile/keyboard-aware-flat-list/index.android.js +40 -8
  86. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  87. package/build/mobile/keyboard-aware-flat-list/index.ios.js +44 -68
  88. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  89. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +39 -0
  90. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
  91. package/build/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -29
  92. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
  93. package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js +93 -0
  94. package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
  95. package/build/mobile/utils/get-px-from-css-unit.native.js +302 -0
  96. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
  97. package/build/modal/index.js +18 -13
  98. package/build/modal/index.js.map +1 -1
  99. package/build/navigation/menu/menu-title.js +1 -1
  100. package/build/navigation/menu/menu-title.js.map +1 -1
  101. package/build/navigator/navigator-provider/component.js +13 -15
  102. package/build/navigator/navigator-provider/component.js.map +1 -1
  103. package/build/navigator/navigator-screen/component.js +23 -63
  104. package/build/navigator/navigator-screen/component.js.map +1 -1
  105. package/build/navigator/styles.js +52 -0
  106. package/build/navigator/styles.js.map +1 -0
  107. package/build/number-control/index.js +4 -8
  108. package/build/number-control/index.js.map +1 -1
  109. package/build/number-control/types.js.map +1 -1
  110. package/build/palette-edit/index.js +15 -34
  111. package/build/palette-edit/index.js.map +1 -1
  112. package/build/private-apis.js +11 -26
  113. package/build/private-apis.js.map +1 -1
  114. package/build/private-apis.native.js +21 -0
  115. package/build/private-apis.native.js.map +1 -0
  116. package/build/query-controls/author-select.js +3 -1
  117. package/build/query-controls/author-select.js.map +1 -1
  118. package/build/query-controls/category-select.js +3 -1
  119. package/build/query-controls/category-select.js.map +1 -1
  120. package/build/query-controls/index.js +6 -1
  121. package/build/query-controls/index.js.map +1 -1
  122. package/build/query-controls/types.js.map +1 -1
  123. package/build/radio-control/index.js +1 -0
  124. package/build/radio-control/index.js.map +1 -1
  125. package/build/range-control/index.js +1 -1
  126. package/build/range-control/index.js.map +1 -1
  127. package/build/select-control/styles/select-control-styles.js +15 -25
  128. package/build/select-control/styles/select-control-styles.js.map +1 -1
  129. package/build/slot-fill/index.js +3 -2
  130. package/build/slot-fill/index.js.map +1 -1
  131. package/build/slot-fill/types.js.map +1 -1
  132. package/build/snackbar/types.js.map +1 -1
  133. package/build/tabs/index.js +18 -1
  134. package/build/tabs/index.js.map +1 -1
  135. package/build/tabs/styles.js +3 -3
  136. package/build/tabs/styles.js.map +1 -1
  137. package/build/tabs/tab.js +2 -2
  138. package/build/tabs/tab.js.map +1 -1
  139. package/build/tabs/tabpanel.js +11 -8
  140. package/build/tabs/tabpanel.js.map +1 -1
  141. package/build/tabs/types.js.map +1 -1
  142. package/build/toggle-group-control/toggle-group-control/component.js +4 -4
  143. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  144. package/build/toggle-group-control/toggle-group-control/styles.js +29 -15
  145. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  146. package/build/toggle-group-control/toggle-group-control/utils.js +17 -17
  147. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  148. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  149. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  150. package/build/tools-panel/tools-panel/component.js +3 -1
  151. package/build/tools-panel/tools-panel/component.js.map +1 -1
  152. package/build/tools-panel/tools-panel-header/component.js +9 -8
  153. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  154. package/build/tools-panel/tools-panel-item/hook.js +11 -11
  155. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  156. package/build/tools-panel/types.js.map +1 -1
  157. package/build/tooltip/index.js +34 -10
  158. package/build/tooltip/index.js.map +1 -1
  159. package/build/tooltip/types.js.map +1 -1
  160. package/build/truncate/hook.js +10 -4
  161. package/build/truncate/hook.js.map +1 -1
  162. package/build/truncate/types.js.map +1 -1
  163. package/build/unit-control/index.js +1 -1
  164. package/build/unit-control/index.js.map +1 -1
  165. package/build/utils/strings.js +34 -3
  166. package/build/utils/strings.js.map +1 -1
  167. package/build-module/base-control/index.js +16 -12
  168. package/build-module/base-control/index.js.map +1 -1
  169. package/build-module/border-box-control/border-box-control-linked-button/component.js +1 -1
  170. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  171. package/build-module/border-control/border-control-dropdown/component.js +4 -2
  172. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  173. package/build-module/border-control/border-control-dropdown/hook.js +3 -2
  174. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  175. package/build-module/border-control/border-control-style-picker/component.js +1 -1
  176. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  177. package/build-module/border-control/styles.js +17 -17
  178. package/build-module/border-control/styles.js.map +1 -1
  179. package/build-module/box-control/index.js +1 -1
  180. package/build-module/box-control/index.js.map +1 -1
  181. package/build-module/box-control/linked-button.js +1 -1
  182. package/build-module/box-control/linked-button.js.map +1 -1
  183. package/build-module/button/index.js +1 -1
  184. package/build-module/button/index.js.map +1 -1
  185. package/build-module/checkbox-control/index.js +1 -1
  186. package/build-module/checkbox-control/index.js.map +1 -1
  187. package/build-module/checkbox-control/types.js.map +1 -1
  188. package/build-module/color-palette/index.native.js +11 -7
  189. package/build-module/color-palette/index.native.js.map +1 -1
  190. package/build-module/color-picker/color-copy-button.js +1 -1
  191. package/build-module/color-picker/color-copy-button.js.map +1 -1
  192. package/build-module/context/wordpress-component.js.map +1 -1
  193. package/build-module/custom-select-control-v2/index.js +11 -10
  194. package/build-module/custom-select-control-v2/index.js.map +1 -1
  195. package/build-module/date-time/date/styles.js +8 -8
  196. package/build-module/date-time/date/styles.js.map +1 -1
  197. package/build-module/date-time/time/timezone.js +11 -2
  198. package/build-module/date-time/time/timezone.js.map +1 -1
  199. package/build-module/dimension-control/index.js +2 -0
  200. package/build-module/dimension-control/index.js.map +1 -1
  201. package/build-module/dimension-control/types.js.map +1 -1
  202. package/build-module/dropdown-menu-v2/index.js +201 -154
  203. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  204. package/build-module/dropdown-menu-v2/styles.js +68 -61
  205. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  206. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  207. package/build-module/duotone-picker/duotone-picker.js +4 -3
  208. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  209. package/build-module/focal-point-picker/controls.js +5 -1
  210. package/build-module/focal-point-picker/controls.js.map +1 -1
  211. package/build-module/focal-point-picker/index.js +2 -0
  212. package/build-module/focal-point-picker/index.js.map +1 -1
  213. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +15 -15
  214. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  215. package/build-module/focal-point-picker/types.js.map +1 -1
  216. package/build-module/font-size-picker/font-size-picker-select.js +2 -0
  217. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  218. package/build-module/font-size-picker/font-size-picker-toggle-group.js +2 -0
  219. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  220. package/build-module/font-size-picker/index.js +10 -3
  221. package/build-module/font-size-picker/index.js.map +1 -1
  222. package/build-module/font-size-picker/index.native.js +5 -2
  223. package/build-module/font-size-picker/index.native.js.map +1 -1
  224. package/build-module/font-size-picker/types.js.map +1 -1
  225. package/build-module/form-token-field/index.js +10 -5
  226. package/build-module/form-token-field/index.js.map +1 -1
  227. package/build-module/form-token-field/token.js +1 -0
  228. package/build-module/form-token-field/token.js.map +1 -1
  229. package/build-module/gradient-picker/index.js +3 -2
  230. package/build-module/gradient-picker/index.js.map +1 -1
  231. package/build-module/index.native.js +6 -3
  232. package/build-module/index.native.js.map +1 -1
  233. package/build-module/input-control/styles/input-control-styles.js +31 -29
  234. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  235. package/build-module/input-control/types.js.map +1 -1
  236. package/build-module/lock-unlock.js +9 -0
  237. package/build-module/lock-unlock.js.map +1 -0
  238. package/build-module/mobile/bottom-sheet/index.native.js +9 -1
  239. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  240. package/build-module/mobile/color-settings/palette.screen.native.js +8 -4
  241. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  242. package/build-module/mobile/global-styles-context/utils.native.js +38 -13
  243. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  244. package/build-module/mobile/image/constants.js +5 -0
  245. package/build-module/mobile/image/constants.js.map +1 -0
  246. package/build-module/mobile/image/index.native.js +25 -16
  247. package/build-module/mobile/image/index.native.js.map +1 -1
  248. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +40 -6
  249. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  250. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -68
  251. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  252. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +33 -0
  253. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
  254. package/build-module/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +21 -27
  255. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
  256. package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js +86 -0
  257. package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
  258. package/build-module/mobile/utils/get-px-from-css-unit.native.js +294 -0
  259. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
  260. package/build-module/modal/index.js +18 -13
  261. package/build-module/modal/index.js.map +1 -1
  262. package/build-module/navigation/menu/menu-title.js +1 -1
  263. package/build-module/navigation/menu/menu-title.js.map +1 -1
  264. package/build-module/navigator/navigator-provider/component.js +3 -16
  265. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  266. package/build-module/navigator/navigator-screen/component.js +16 -70
  267. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  268. package/build-module/navigator/styles.js +47 -0
  269. package/build-module/navigator/styles.js.map +1 -0
  270. package/build-module/number-control/index.js +4 -8
  271. package/build-module/number-control/index.js.map +1 -1
  272. package/build-module/number-control/types.js.map +1 -1
  273. package/build-module/palette-edit/index.js +14 -33
  274. package/build-module/palette-edit/index.js.map +1 -1
  275. package/build-module/private-apis.js +10 -23
  276. package/build-module/private-apis.js.map +1 -1
  277. package/build-module/private-apis.native.js +14 -0
  278. package/build-module/private-apis.native.js.map +1 -0
  279. package/build-module/query-controls/author-select.js +3 -1
  280. package/build-module/query-controls/author-select.js.map +1 -1
  281. package/build-module/query-controls/category-select.js +3 -1
  282. package/build-module/query-controls/category-select.js.map +1 -1
  283. package/build-module/query-controls/index.js +6 -1
  284. package/build-module/query-controls/index.js.map +1 -1
  285. package/build-module/query-controls/types.js.map +1 -1
  286. package/build-module/radio-control/index.js +1 -0
  287. package/build-module/radio-control/index.js.map +1 -1
  288. package/build-module/range-control/index.js +1 -1
  289. package/build-module/range-control/index.js.map +1 -1
  290. package/build-module/select-control/styles/select-control-styles.js +15 -25
  291. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  292. package/build-module/slot-fill/index.js +3 -2
  293. package/build-module/slot-fill/index.js.map +1 -1
  294. package/build-module/slot-fill/types.js.map +1 -1
  295. package/build-module/snackbar/types.js.map +1 -1
  296. package/build-module/tabs/index.js +18 -1
  297. package/build-module/tabs/index.js.map +1 -1
  298. package/build-module/tabs/styles.js +3 -3
  299. package/build-module/tabs/styles.js.map +1 -1
  300. package/build-module/tabs/tab.js +2 -2
  301. package/build-module/tabs/tab.js.map +1 -1
  302. package/build-module/tabs/tabpanel.js +11 -8
  303. package/build-module/tabs/tabpanel.js.map +1 -1
  304. package/build-module/tabs/types.js.map +1 -1
  305. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -4
  306. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  307. package/build-module/toggle-group-control/toggle-group-control/styles.js +29 -15
  308. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  309. package/build-module/toggle-group-control/toggle-group-control/utils.js +17 -17
  310. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  311. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  312. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  313. package/build-module/tools-panel/tools-panel/component.js +3 -1
  314. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  315. package/build-module/tools-panel/tools-panel-header/component.js +9 -8
  316. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  317. package/build-module/tools-panel/tools-panel-item/hook.js +11 -11
  318. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  319. package/build-module/tools-panel/types.js.map +1 -1
  320. package/build-module/tooltip/index.js +34 -12
  321. package/build-module/tooltip/index.js.map +1 -1
  322. package/build-module/tooltip/types.js.map +1 -1
  323. package/build-module/truncate/hook.js +10 -4
  324. package/build-module/truncate/hook.js.map +1 -1
  325. package/build-module/truncate/types.js.map +1 -1
  326. package/build-module/unit-control/index.js +1 -1
  327. package/build-module/unit-control/index.js.map +1 -1
  328. package/build-module/utils/strings.js +32 -2
  329. package/build-module/utils/strings.js.map +1 -1
  330. package/build-style/style-rtl.css +30 -6
  331. package/build-style/style.css +30 -6
  332. package/build-types/base-control/index.d.ts +3 -27
  333. package/build-types/base-control/index.d.ts.map +1 -1
  334. package/build-types/base-control/stories/index.story.d.ts +4 -1
  335. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  336. package/build-types/border-box-control/border-box-control/hook.d.ts +4 -4
  337. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +6 -6
  338. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +4 -4
  339. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +4 -4
  340. package/build-types/border-box-control/stories/index.story.d.ts +1 -1
  341. package/build-types/border-control/border-control/hook.d.ts +4 -4
  342. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  343. package/build-types/border-control/border-control-dropdown/hook.d.ts +5 -4
  344. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  345. package/build-types/border-control/border-control-style-picker/hook.d.ts +4 -4
  346. package/build-types/border-control/stories/index.story.d.ts +6 -6
  347. package/build-types/border-control/styles.d.ts +1 -1
  348. package/build-types/border-control/styles.d.ts.map +1 -1
  349. package/build-types/box-control/stories/index.story.d.ts +42 -42
  350. package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
  351. package/build-types/button/deprecated.d.ts +3 -3
  352. package/build-types/card/card/hook.d.ts +4 -4
  353. package/build-types/card/card-body/hook.d.ts +4 -4
  354. package/build-types/card/card-divider/hook.d.ts +4 -4
  355. package/build-types/card/card-footer/hook.d.ts +4 -4
  356. package/build-types/card/card-header/hook.d.ts +4 -4
  357. package/build-types/card/card-media/hook.d.ts +4 -4
  358. package/build-types/checkbox-control/index.d.ts.map +1 -1
  359. package/build-types/checkbox-control/types.d.ts +3 -2
  360. package/build-types/checkbox-control/types.d.ts.map +1 -1
  361. package/build-types/color-palette/styles.d.ts +2 -2
  362. package/build-types/color-picker/component.d.ts +2 -2
  363. package/build-types/color-picker/stories/index.story.d.ts +1 -1
  364. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  365. package/build-types/color-picker/styles.d.ts +3 -3
  366. package/build-types/composite/test/index.d.ts.map +1 -0
  367. package/build-types/context/wordpress-component.d.ts +3 -3
  368. package/build-types/context/wordpress-component.d.ts.map +1 -1
  369. package/build-types/custom-select-control-v2/index.d.ts +3 -2
  370. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  371. package/build-types/custom-select-control-v2/stories/index.story.d.ts +4 -3
  372. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
  373. package/build-types/date-time/date/styles.d.ts +3 -3
  374. package/build-types/date-time/date-time/styles.d.ts +1 -1
  375. package/build-types/date-time/time/styles.d.ts +4 -4
  376. package/build-types/date-time/time/timezone.d.ts.map +1 -1
  377. package/build-types/dimension-control/index.d.ts.map +1 -1
  378. package/build-types/dimension-control/types.d.ts +6 -0
  379. package/build-types/dimension-control/types.d.ts.map +1 -1
  380. package/build-types/dropdown/index.d.ts +1 -1
  381. package/build-types/dropdown/index.d.ts.map +1 -1
  382. package/build-types/dropdown/stories/index.story.d.ts +3 -3
  383. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  384. package/build-types/dropdown-menu/index.d.ts +1 -1
  385. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  386. package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
  387. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  388. package/build-types/dropdown-menu-v2/index.d.ts +18 -15
  389. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  390. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +7 -2
  391. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  392. package/build-types/dropdown-menu-v2/styles.d.ts +77 -23
  393. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  394. package/build-types/dropdown-menu-v2/types.d.ts +89 -173
  395. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  396. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  397. package/build-types/elevation/hook.d.ts +4 -4
  398. package/build-types/flex/flex/hook.d.ts +4 -4
  399. package/build-types/flex/flex-block/hook.d.ts +4 -4
  400. package/build-types/flex/flex-item/hook.d.ts +4 -4
  401. package/build-types/focal-point-picker/controls.d.ts +1 -1
  402. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  403. package/build-types/focal-point-picker/index.d.ts +1 -1
  404. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  405. package/build-types/focal-point-picker/stories/index.story.d.ts +8 -4
  406. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  407. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  408. package/build-types/focal-point-picker/types.d.ts +7 -0
  409. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  410. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  411. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -1
  412. package/build-types/font-size-picker/index.d.ts.map +1 -1
  413. package/build-types/font-size-picker/styles.d.ts +1 -1
  414. package/build-types/font-size-picker/types.d.ts +8 -1
  415. package/build-types/font-size-picker/types.d.ts.map +1 -1
  416. package/build-types/form-token-field/index.d.ts.map +1 -1
  417. package/build-types/form-token-field/token.d.ts.map +1 -1
  418. package/build-types/grid/hook.d.ts +4 -4
  419. package/build-types/h-stack/hook.d.ts +4 -4
  420. package/build-types/heading/component.d.ts +1 -1
  421. package/build-types/heading/hook.d.ts +4 -4
  422. package/build-types/input-control/styles/input-control-styles.d.ts +11 -0
  423. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  424. package/build-types/input-control/types.d.ts +1 -1
  425. package/build-types/input-control/types.d.ts.map +1 -1
  426. package/build-types/item-group/item/hook.d.ts +4 -4
  427. package/build-types/item-group/item-group/hook.d.ts +4 -4
  428. package/build-types/lock-unlock.d.ts +3 -0
  429. package/build-types/lock-unlock.d.ts.map +1 -0
  430. package/build-types/menu-item/index.d.ts +1 -1
  431. package/build-types/menu-item/stories/index.story.d.ts +4 -4
  432. package/build-types/mobile/image/constants.d.ts +5 -0
  433. package/build-types/mobile/image/constants.d.ts.map +1 -0
  434. package/build-types/modal/index.d.ts.map +1 -1
  435. package/build-types/navigation/styles/navigation-styles.d.ts +3 -3
  436. package/build-types/navigator/navigator-back-button/hook.d.ts +6 -6
  437. package/build-types/navigator/navigator-button/hook.d.ts +6 -6
  438. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  439. package/build-types/navigator/navigator-screen/component.d.ts +1 -7
  440. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  441. package/build-types/navigator/styles.d.ts +9 -0
  442. package/build-types/navigator/styles.d.ts.map +1 -0
  443. package/build-types/number-control/index.d.ts +1 -1
  444. package/build-types/number-control/index.d.ts.map +1 -1
  445. package/build-types/number-control/stories/index.story.d.ts +1 -1
  446. package/build-types/number-control/types.d.ts +1 -1
  447. package/build-types/palette-edit/index.d.ts +2 -2
  448. package/build-types/palette-edit/index.d.ts.map +1 -1
  449. package/build-types/palette-edit/styles.d.ts +3 -3
  450. package/build-types/popover/index.d.ts +1 -1
  451. package/build-types/popover/index.d.ts.map +1 -1
  452. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  453. package/build-types/private-apis.d.ts +0 -1
  454. package/build-types/private-apis.d.ts.map +1 -1
  455. package/build-types/query-controls/author-select.d.ts +1 -1
  456. package/build-types/query-controls/author-select.d.ts.map +1 -1
  457. package/build-types/query-controls/category-select.d.ts +1 -1
  458. package/build-types/query-controls/category-select.d.ts.map +1 -1
  459. package/build-types/query-controls/index.d.ts +1 -1
  460. package/build-types/query-controls/index.d.ts.map +1 -1
  461. package/build-types/query-controls/types.d.ts +9 -0
  462. package/build-types/query-controls/types.d.ts.map +1 -1
  463. package/build-types/radio-control/index.d.ts.map +1 -1
  464. package/build-types/range-control/index.d.ts +1 -1
  465. package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
  466. package/build-types/resizable-box/index.d.ts +1 -1
  467. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  468. package/build-types/resizable-box/stories/index.story.d.ts +2 -2
  469. package/build-types/scrollable/hook.d.ts +4 -4
  470. package/build-types/search-control/index.d.ts +1 -1
  471. package/build-types/search-control/stories/index.story.d.ts +2 -2
  472. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  473. package/build-types/slot-fill/index.d.ts +1 -1
  474. package/build-types/slot-fill/index.d.ts.map +1 -1
  475. package/build-types/slot-fill/types.d.ts +4 -0
  476. package/build-types/slot-fill/types.d.ts.map +1 -1
  477. package/build-types/snackbar/index.d.ts +2 -2
  478. package/build-types/snackbar/stories/index.story.d.ts +0 -3
  479. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  480. package/build-types/snackbar/types.d.ts +1 -1
  481. package/build-types/snackbar/types.d.ts.map +1 -1
  482. package/build-types/spacer/hook.d.ts +4 -4
  483. package/build-types/surface/hook.d.ts +4 -4
  484. package/build-types/tabs/index.d.ts +2 -2
  485. package/build-types/tabs/index.d.ts.map +1 -1
  486. package/build-types/tabs/styles.d.ts.map +1 -1
  487. package/build-types/tabs/tab.d.ts +2 -1
  488. package/build-types/tabs/tab.d.ts.map +1 -1
  489. package/build-types/tabs/tabpanel.d.ts +3 -2
  490. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  491. package/build-types/tabs/types.d.ts +8 -3
  492. package/build-types/tabs/types.d.ts.map +1 -1
  493. package/build-types/text/hook.d.ts +4 -4
  494. package/build-types/text-control/index.d.ts +1 -1
  495. package/build-types/textarea-control/index.d.ts +1 -1
  496. package/build-types/toggle-control/stories/index.story.d.ts +2 -2
  497. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +1 -1
  498. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +1 -1
  499. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  500. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
  501. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  502. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -1
  503. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
  504. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +1 -1
  505. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  506. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  507. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  508. package/build-types/toolbar/toolbar-button/index.d.ts +3 -3
  509. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  510. package/build-types/tools-panel/tools-panel/hook.d.ts +5 -4
  511. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  512. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  513. package/build-types/tools-panel/tools-panel-header/hook.d.ts +5 -4
  514. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  515. package/build-types/tools-panel/tools-panel-item/hook.d.ts +4 -4
  516. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  517. package/build-types/tools-panel/types.d.ts +9 -0
  518. package/build-types/tools-panel/types.d.ts.map +1 -1
  519. package/build-types/tooltip/index.d.ts +1 -1
  520. package/build-types/tooltip/index.d.ts.map +1 -1
  521. package/build-types/tooltip/stories/index.story.d.ts +10 -1
  522. package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
  523. package/build-types/tooltip/types.d.ts +3 -0
  524. package/build-types/tooltip/types.d.ts.map +1 -1
  525. package/build-types/truncate/hook.d.ts +5 -5
  526. package/build-types/truncate/hook.d.ts.map +1 -1
  527. package/build-types/truncate/types.d.ts +4 -0
  528. package/build-types/truncate/types.d.ts.map +1 -1
  529. package/build-types/unit-control/index.d.ts +1 -1
  530. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  531. package/build-types/utils/strings.d.ts +14 -2
  532. package/build-types/utils/strings.d.ts.map +1 -1
  533. package/build-types/v-stack/hook.d.ts +4 -4
  534. package/build-types/v-stack/stories/index.story.d.ts +1 -1
  535. package/package.json +20 -21
  536. package/src/alignment-matrix-control/test/index.tsx +10 -16
  537. package/src/base-control/index.tsx +21 -16
  538. package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -1
  539. package/src/border-control/border-control-dropdown/component.tsx +3 -1
  540. package/src/border-control/border-control-dropdown/hook.ts +3 -2
  541. package/src/border-control/border-control-style-picker/component.tsx +1 -1
  542. package/src/border-control/styles.ts +2 -9
  543. package/src/box-control/index.tsx +1 -1
  544. package/src/box-control/linked-button.tsx +1 -1
  545. package/src/button/README.md +32 -6
  546. package/src/button/index.tsx +1 -1
  547. package/src/button-group/README.md +0 -6
  548. package/src/card/card/README.md +1 -1
  549. package/src/checkbox-control/README.md +3 -10
  550. package/src/checkbox-control/index.tsx +8 -6
  551. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +3 -8
  552. package/src/checkbox-control/test/index.tsx +7 -0
  553. package/src/checkbox-control/types.ts +3 -2
  554. package/src/color-palette/index.native.js +18 -7
  555. package/src/color-picker/color-copy-button.tsx +1 -1
  556. package/src/combobox-control/README.md +0 -6
  557. package/src/composite/test/index.tsx +576 -0
  558. package/src/context/wordpress-component.ts +11 -6
  559. package/src/custom-select-control/README.md +0 -6
  560. package/src/custom-select-control/test/index.js +367 -35
  561. package/src/custom-select-control-v2/index.tsx +13 -12
  562. package/src/date-time/date/styles.ts +3 -3
  563. package/src/date-time/time/timezone.tsx +15 -3
  564. package/src/dimension-control/index.tsx +2 -0
  565. package/src/dimension-control/test/__snapshots__/index.test.js.snap +2 -2
  566. package/src/dimension-control/types.ts +6 -0
  567. package/src/dropdown-menu/README.md +0 -5
  568. package/src/dropdown-menu-v2/README.md +75 -136
  569. package/src/dropdown-menu-v2/index.tsx +321 -231
  570. package/src/dropdown-menu-v2/stories/index.story.tsx +522 -126
  571. package/src/dropdown-menu-v2/styles.ts +226 -151
  572. package/src/dropdown-menu-v2/test/index.tsx +480 -188
  573. package/src/dropdown-menu-v2/types.ts +98 -184
  574. package/src/duotone-picker/duotone-picker.tsx +7 -3
  575. package/src/focal-point-picker/controls.tsx +4 -0
  576. package/src/focal-point-picker/index.tsx +2 -0
  577. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  578. package/src/focal-point-picker/types.ts +7 -0
  579. package/src/font-size-picker/font-size-picker-select.tsx +2 -0
  580. package/src/font-size-picker/font-size-picker-toggle-group.tsx +9 -1
  581. package/src/font-size-picker/index.native.js +8 -2
  582. package/src/font-size-picker/index.tsx +15 -5
  583. package/src/font-size-picker/types.ts +8 -1
  584. package/src/form-toggle/README.md +0 -6
  585. package/src/form-toggle/style.scss +4 -2
  586. package/src/form-token-field/index.tsx +11 -7
  587. package/src/form-token-field/test/index.tsx +97 -0
  588. package/src/form-token-field/token.tsx +1 -0
  589. package/src/gradient-picker/index.tsx +2 -2
  590. package/src/index.native.js +6 -3
  591. package/src/input-control/styles/input-control-styles.tsx +10 -8
  592. package/src/input-control/types.ts +1 -1
  593. package/src/lock-unlock.js +10 -0
  594. package/src/menu-group/README.md +0 -8
  595. package/src/menu-items-choice/README.md +0 -7
  596. package/src/mobile/bottom-sheet/index.native.js +15 -1
  597. package/src/mobile/color-settings/palette.screen.native.js +7 -5
  598. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +0 -20
  599. package/src/mobile/global-styles-context/test/utils.native.js +22 -0
  600. package/src/mobile/global-styles-context/utils.native.js +42 -19
  601. package/src/mobile/image/constants.js +1 -0
  602. package/src/mobile/image/index.native.js +55 -18
  603. package/src/mobile/image/style.native.scss +35 -9
  604. package/src/mobile/keyboard-aware-flat-list/index.android.js +50 -5
  605. package/src/mobile/keyboard-aware-flat-list/index.ios.js +65 -91
  606. package/src/mobile/keyboard-aware-flat-list/test/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +27 -25
  607. package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +71 -0
  608. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +41 -0
  609. package/src/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -27
  610. package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +100 -0
  611. package/src/mobile/link-settings/style.native.scss +0 -17
  612. package/src/mobile/utils/get-px-from-css-unit.native.js +329 -0
  613. package/src/mobile/utils/test/get-px-from-css-unit.native.js +172 -0
  614. package/src/modal/README.md +0 -6
  615. package/src/modal/index.tsx +18 -16
  616. package/src/modal/test/index.tsx +90 -1
  617. package/src/navigation/menu/menu-title.tsx +1 -1
  618. package/src/navigator/navigator-provider/component.tsx +3 -4
  619. package/src/navigator/navigator-screen/component.tsx +15 -93
  620. package/src/navigator/styles.ts +71 -0
  621. package/src/navigator/test/index.tsx +0 -64
  622. package/src/notice/README.md +0 -6
  623. package/src/number-control/README.md +2 -2
  624. package/src/number-control/index.tsx +4 -8
  625. package/src/number-control/types.ts +1 -1
  626. package/src/palette-edit/index.tsx +14 -43
  627. package/src/palette-edit/style.scss +2 -2
  628. package/src/panel/README.md +0 -6
  629. package/src/private-apis.native.js +13 -0
  630. package/src/private-apis.ts +12 -37
  631. package/src/query-controls/author-select.tsx +2 -0
  632. package/src/query-controls/category-select.tsx +2 -0
  633. package/src/query-controls/index.tsx +6 -1
  634. package/src/query-controls/types.ts +9 -0
  635. package/src/radio-control/README.md +0 -6
  636. package/src/radio-control/index.tsx +4 -1
  637. package/src/radio-control/style.scss +29 -2
  638. package/src/radio-group/README.md +0 -6
  639. package/src/range-control/README.md +1 -9
  640. package/src/range-control/index.tsx +1 -1
  641. package/src/search-control/README.md +1 -5
  642. package/src/select-control/README.md +0 -6
  643. package/src/select-control/styles/select-control-styles.ts +10 -28
  644. package/src/slot-fill/index.tsx +5 -2
  645. package/src/slot-fill/types.ts +5 -0
  646. package/src/snackbar/README.md +0 -6
  647. package/src/snackbar/stories/index.story.tsx +7 -5
  648. package/src/snackbar/style.scss +4 -3
  649. package/src/snackbar/types.ts +2 -1
  650. package/src/spacer/README.md +0 -2
  651. package/src/spinner/README.md +2 -0
  652. package/src/tab-panel/README.md +0 -5
  653. package/src/tab-panel/test/index.tsx +39 -56
  654. package/src/tabs/README.md +4 -4
  655. package/src/tabs/index.tsx +22 -1
  656. package/src/tabs/stories/index.story.tsx +48 -48
  657. package/src/tabs/styles.ts +7 -1
  658. package/src/tabs/tab.tsx +3 -3
  659. package/src/tabs/tabpanel.tsx +13 -8
  660. package/src/tabs/test/index.tsx +236 -106
  661. package/src/tabs/types.ts +8 -3
  662. package/src/text-control/README.md +0 -6
  663. package/src/textarea-control/README.md +0 -6
  664. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +12 -16
  665. package/src/toggle-group-control/test/index.tsx +107 -41
  666. package/src/toggle-group-control/toggle-group-control/component.tsx +5 -4
  667. package/src/toggle-group-control/toggle-group-control/styles.ts +13 -19
  668. package/src/toggle-group-control/toggle-group-control/utils.ts +15 -20
  669. package/src/toggle-group-control/toggle-group-control-option/README.md +1 -1
  670. package/src/toggle-group-control/toggle-group-control-option-base/README.md +1 -1
  671. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +3 -2
  672. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  673. package/src/toolbar/toolbar/README.md +0 -6
  674. package/src/tools-panel/test/index.tsx +12 -20
  675. package/src/tools-panel/tools-panel/README.md +7 -0
  676. package/src/tools-panel/tools-panel/component.tsx +2 -0
  677. package/src/tools-panel/tools-panel-header/README.md +7 -0
  678. package/src/tools-panel/tools-panel-header/component.tsx +20 -13
  679. package/src/tools-panel/tools-panel-item/hook.ts +10 -21
  680. package/src/tools-panel/types.ts +9 -0
  681. package/src/tooltip/README.md +4 -0
  682. package/src/tooltip/index.tsx +48 -10
  683. package/src/tooltip/stories/index.story.tsx +18 -1
  684. package/src/tooltip/test/index.tsx +404 -254
  685. package/src/tooltip/types.ts +4 -0
  686. package/src/tree-grid/README.md +0 -4
  687. package/src/truncate/README.md +8 -0
  688. package/src/truncate/hook.ts +17 -10
  689. package/src/truncate/test/index.tsx +54 -27
  690. package/src/truncate/types.ts +4 -0
  691. package/src/unit-control/index.tsx +1 -1
  692. package/src/utils/strings.ts +30 -2
  693. package/src/utils/test/strings.js +96 -1
  694. package/tsconfig.tsbuildinfo +1 -1
  695. package/build/dropdown-menu-v2-ariakit/index.js +0 -256
  696. package/build/dropdown-menu-v2-ariakit/index.js.map +0 -1
  697. package/build/dropdown-menu-v2-ariakit/styles.js +0 -180
  698. package/build/dropdown-menu-v2-ariakit/styles.js.map +0 -1
  699. package/build/dropdown-menu-v2-ariakit/types.js +0 -6
  700. package/build/dropdown-menu-v2-ariakit/types.js.map +0 -1
  701. package/build/mobile/inserter-button/index.native.js +0 -98
  702. package/build/mobile/inserter-button/index.native.js.map +0 -1
  703. package/build/mobile/inserter-button/sparkles.js +0 -23
  704. package/build/mobile/inserter-button/sparkles.js.map +0 -1
  705. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
  706. package/build/mobile/link-settings/image-link-destinations-screen.native.js +0 -119
  707. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +0 -1
  708. package/build-module/dropdown-menu-v2-ariakit/index.js +0 -237
  709. package/build-module/dropdown-menu-v2-ariakit/index.js.map +0 -1
  710. package/build-module/dropdown-menu-v2-ariakit/styles.js +0 -165
  711. package/build-module/dropdown-menu-v2-ariakit/styles.js.map +0 -1
  712. package/build-module/dropdown-menu-v2-ariakit/types.js +0 -2
  713. package/build-module/dropdown-menu-v2-ariakit/types.js.map +0 -1
  714. package/build-module/mobile/inserter-button/index.native.js +0 -89
  715. package/build-module/mobile/inserter-button/index.native.js.map +0 -1
  716. package/build-module/mobile/inserter-button/sparkles.js +0 -15
  717. package/build-module/mobile/inserter-button/sparkles.js.map +0 -1
  718. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
  719. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +0 -110
  720. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +0 -1
  721. package/build-types/dropdown-menu-v2-ariakit/index.d.ts +0 -20
  722. package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +0 -1
  723. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts +0 -16
  724. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +0 -1
  725. package/build-types/dropdown-menu-v2-ariakit/styles.d.ts +0 -96
  726. package/build-types/dropdown-menu-v2-ariakit/styles.d.ts.map +0 -1
  727. package/build-types/dropdown-menu-v2-ariakit/test/index.d.ts.map +0 -1
  728. package/build-types/dropdown-menu-v2-ariakit/types.d.ts +0 -168
  729. package/build-types/dropdown-menu-v2-ariakit/types.d.ts.map +0 -1
  730. package/build-types/mobile/inserter-button/sparkles.d.ts +0 -3
  731. package/build-types/mobile/inserter-button/sparkles.d.ts.map +0 -1
  732. package/src/dropdown-menu-v2-ariakit/README.md +0 -331
  733. package/src/dropdown-menu-v2-ariakit/index.tsx +0 -383
  734. package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +0 -617
  735. package/src/dropdown-menu-v2-ariakit/styles.ts +0 -333
  736. package/src/dropdown-menu-v2-ariakit/test/index.tsx +0 -1108
  737. package/src/dropdown-menu-v2-ariakit/types.ts +0 -179
  738. package/src/mobile/inserter-button/README.md +0 -62
  739. package/src/mobile/inserter-button/index.native.js +0 -116
  740. package/src/mobile/inserter-button/sparkles.js +0 -15
  741. package/src/mobile/inserter-button/style.native.scss +0 -72
  742. package/src/mobile/link-settings/image-link-destinations-screen.native.js +0 -152
  743. /package/build-types/{dropdown-menu-v2-ariakit → composite}/test/index.d.ts +0 -0
package/src/tabs/types.ts CHANGED
@@ -78,8 +78,10 @@ export type TabListProps = {
78
78
  export type TabProps = {
79
79
  /**
80
80
  * The id of the tab, which is prepended with the `Tabs` instanceId.
81
+ * The value of this prop should match with the value of the `tabId` prop on
82
+ * the corresponding `Tabs.TabPanel` component.
81
83
  */
82
- id: string;
84
+ tabId: string;
83
85
  /**
84
86
  * The children elements, generally the text to display on the tab.
85
87
  */
@@ -103,9 +105,12 @@ export type TabPanelProps = {
103
105
  */
104
106
  children?: React.ReactNode;
105
107
  /**
106
- * A unique identifier for the tabpanel, which is used to generate a unique `id` for the underlying element.
108
+ * A unique identifier for the tabpanel, which is used to generate an
109
+ * instanced id for the underlying element.
110
+ * The value of this prop should match with the value of the `tabId` prop on
111
+ * the corresponding `Tabs.Tab` component.
107
112
  */
108
- id: string;
113
+ tabId: string;
109
114
  /**
110
115
  * Determines whether or not the tabpanel element should be focusable.
111
116
  * If `false`, pressing the tab key will skip over the tabpanel, and instead
@@ -4,12 +4,6 @@ TextControl components let users enter and edit text.
4
4
 
5
5
  ![Unfilled and filled TextControl components](https://make.wordpress.org/design/files/2019/03/TextControl.png)
6
6
 
7
- ## Table of contents
8
-
9
- 1. [Design guidelines](#design-guidelines)
10
- 2. [Development guidelines](#development-guidelines)
11
- 3. [Related components](#related-components)
12
-
13
7
  ## Design guidelines
14
8
 
15
9
  ### Usage
@@ -4,12 +4,6 @@ TextareaControls are TextControls that allow for multiple lines of text, and wra
4
4
 
5
5
  ![An empty TextareaControl, and a focused TextareaControl with some content entered.](https://wordpress.org/gutenberg/files/2019/01/TextareaControl.png)
6
6
 
7
- ## Table of contents
8
-
9
- 1. [Design guidelines](#design-guidelines)
10
- 2. [Development guidelines](#development-guidelines)
11
- 3. [Related components](#related-components)
12
-
13
7
  ## Design guidelines
14
8
 
15
9
  ### Usage
@@ -47,9 +47,9 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
47
47
  display: -ms-inline-flexbox;
48
48
  display: inline-flex;
49
49
  min-width: 0;
50
- padding: 2px;
51
50
  position: relative;
52
51
  min-height: 36px;
52
+ padding: 2px;
53
53
  }
54
54
 
55
55
  .emotion-8:hover {
@@ -116,7 +116,8 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
116
116
  width: 100%;
117
117
  z-index: 2;
118
118
  color: #1e1e1e;
119
- width: 30px;
119
+ height: 30px;
120
+ aspect-ratio: 1;
120
121
  padding-left: 0;
121
122
  padding-right: 0;
122
123
  color: #fff;
@@ -198,7 +199,8 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
198
199
  width: 100%;
199
200
  z-index: 2;
200
201
  color: #1e1e1e;
201
- width: 30px;
202
+ height: 30px;
203
+ aspect-ratio: 1;
202
204
  padding-left: 0;
203
205
  padding-right: 0;
204
206
  }
@@ -249,7 +251,6 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
249
251
  aria-label="Uppercase"
250
252
  class="emotion-12 components-toggle-group-control-option-base"
251
253
  data-active-item=""
252
- data-command=""
253
254
  data-value="uppercase"
254
255
  data-wp-c16t="true"
255
256
  data-wp-component="ToggleGroupControlOptionBase"
@@ -288,7 +289,6 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
288
289
  aria-checked="false"
289
290
  aria-label="Lowercase"
290
291
  class="emotion-18 components-toggle-group-control-option-base"
291
- data-command=""
292
292
  data-value="lowercase"
293
293
  data-wp-c16t="true"
294
294
  data-wp-component="ToggleGroupControlOptionBase"
@@ -374,9 +374,9 @@ exports[`ToggleGroupControl controlled should render correctly with text options
374
374
  display: -ms-inline-flexbox;
375
375
  display: inline-flex;
376
376
  min-width: 0;
377
- padding: 2px;
378
377
  position: relative;
379
378
  min-height: 36px;
379
+ padding: 2px;
380
380
  }
381
381
 
382
382
  .emotion-8:hover {
@@ -498,7 +498,6 @@ exports[`ToggleGroupControl controlled should render correctly with text options
498
498
  aria-checked="false"
499
499
  aria-label="R"
500
500
  class="emotion-12 components-toggle-group-control-option-base"
501
- data-command=""
502
501
  data-value="rigas"
503
502
  data-wp-c16t="true"
504
503
  data-wp-component="ToggleGroupControlOptionBase"
@@ -521,7 +520,6 @@ exports[`ToggleGroupControl controlled should render correctly with text options
521
520
  aria-checked="false"
522
521
  aria-label="J"
523
522
  class="emotion-12 components-toggle-group-control-option-base"
524
- data-command=""
525
523
  data-value="jack"
526
524
  data-wp-c16t="true"
527
525
  data-wp-component="ToggleGroupControlOptionBase"
@@ -596,9 +594,9 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
596
594
  display: -ms-inline-flexbox;
597
595
  display: inline-flex;
598
596
  min-width: 0;
599
- padding: 2px;
600
597
  position: relative;
601
598
  min-height: 36px;
599
+ padding: 2px;
602
600
  }
603
601
 
604
602
  .emotion-8:hover {
@@ -665,7 +663,8 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
665
663
  width: 100%;
666
664
  z-index: 2;
667
665
  color: #1e1e1e;
668
- width: 30px;
666
+ height: 30px;
667
+ aspect-ratio: 1;
669
668
  padding-left: 0;
670
669
  padding-right: 0;
671
670
  color: #fff;
@@ -747,7 +746,8 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
747
746
  width: 100%;
748
747
  z-index: 2;
749
748
  color: #1e1e1e;
750
- width: 30px;
749
+ height: 30px;
750
+ aspect-ratio: 1;
751
751
  padding-left: 0;
752
752
  padding-right: 0;
753
753
  }
@@ -798,7 +798,6 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
798
798
  aria-label="Uppercase"
799
799
  class="emotion-12 components-toggle-group-control-option-base"
800
800
  data-active-item=""
801
- data-command=""
802
801
  data-value="uppercase"
803
802
  data-wp-c16t="true"
804
803
  data-wp-component="ToggleGroupControlOptionBase"
@@ -837,7 +836,6 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
837
836
  aria-checked="false"
838
837
  aria-label="Lowercase"
839
838
  class="emotion-18 components-toggle-group-control-option-base"
840
- data-command=""
841
839
  data-value="lowercase"
842
840
  data-wp-c16t="true"
843
841
  data-wp-component="ToggleGroupControlOptionBase"
@@ -917,9 +915,9 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
917
915
  display: -ms-inline-flexbox;
918
916
  display: inline-flex;
919
917
  min-width: 0;
920
- padding: 2px;
921
918
  position: relative;
922
919
  min-height: 36px;
920
+ padding: 2px;
923
921
  }
924
922
 
925
923
  .emotion-8:hover {
@@ -1041,7 +1039,6 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
1041
1039
  aria-checked="false"
1042
1040
  aria-label="R"
1043
1041
  class="emotion-12 components-toggle-group-control-option-base"
1044
- data-command=""
1045
1042
  data-value="rigas"
1046
1043
  data-wp-c16t="true"
1047
1044
  data-wp-component="ToggleGroupControlOptionBase"
@@ -1064,7 +1061,6 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
1064
1061
  aria-checked="false"
1065
1062
  aria-label="J"
1066
1063
  class="emotion-12 components-toggle-group-control-option-base"
1067
- data-command=""
1068
1064
  data-value="jack"
1069
1065
  data-wp-c16t="true"
1070
1066
  data-wp-component="ToggleGroupControlOptionBase"
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { render, screen, waitFor } from '@testing-library/react';
5
- import userEvent from '@testing-library/user-event';
5
+ import { press, click, hover, sleep } from '@ariakit/test';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -19,14 +19,22 @@ import {
19
19
  ToggleGroupControlOption,
20
20
  ToggleGroupControlOptionIcon,
21
21
  } from '../index';
22
+ import { TOOLTIP_DELAY } from '../../tooltip';
22
23
  import type { ToggleGroupControlProps } from '../types';
23
- import cleanupTooltip from '../../tooltip/test/utils';
24
+
25
+ const hoverOutside = async () => {
26
+ await hover( document.body );
27
+ await hover( document.body, { clientX: 10, clientY: 10 } );
28
+ };
24
29
 
25
30
  const ControlledToggleGroupControl = ( {
26
31
  value: valueProp,
27
32
  onChange,
33
+ extraButtonOptions,
28
34
  ...props
29
- }: ToggleGroupControlProps ) => {
35
+ }: ToggleGroupControlProps & {
36
+ extraButtonOptions?: { name: string; value: string }[];
37
+ } ) => {
30
38
  const [ value, setValue ] = useState( valueProp );
31
39
 
32
40
  return (
@@ -40,6 +48,14 @@ const ControlledToggleGroupControl = ( {
40
48
  value={ value }
41
49
  />
42
50
  <Button onClick={ () => setValue( undefined ) }>Reset</Button>
51
+ { extraButtonOptions?.map( ( obj ) => (
52
+ <Button
53
+ key={ obj.value }
54
+ onClick={ () => setValue( obj.value ) }
55
+ >
56
+ { obj.name }
57
+ </Button>
58
+ ) ) }
43
59
  </>
44
60
  );
45
61
  };
@@ -102,7 +118,6 @@ describe.each( [
102
118
  } );
103
119
  } );
104
120
  it( 'should call onChange with proper value', async () => {
105
- const user = userEvent.setup();
106
121
  const mockOnChange = jest.fn();
107
122
 
108
123
  render(
@@ -115,13 +130,12 @@ describe.each( [
115
130
  </Component>
116
131
  );
117
132
 
118
- await user.click( screen.getByRole( 'radio', { name: 'R' } ) );
133
+ await click( screen.getByRole( 'radio', { name: 'R' } ) );
119
134
 
120
135
  expect( mockOnChange ).toHaveBeenCalledWith( 'rigas' );
121
136
  } );
122
137
 
123
138
  it( 'should render tooltip where `showTooltip` === `true`', async () => {
124
- const user = userEvent.setup();
125
139
  render(
126
140
  <Component label="Test Toggle Group Control">
127
141
  { optionsWithTooltip }
@@ -132,19 +146,26 @@ describe.each( [
132
146
  'Click for Delicious Gnocchi'
133
147
  );
134
148
 
135
- await user.hover( firstRadio );
149
+ await hover( firstRadio );
136
150
 
137
- const tooltip = await screen.findByText(
138
- 'Click for Delicious Gnocchi'
139
- );
151
+ const tooltip = await screen.findByRole( 'tooltip', {
152
+ name: 'Click for Delicious Gnocchi',
153
+ } );
140
154
 
141
155
  await waitFor( () => expect( tooltip ).toBeVisible() );
142
156
 
143
- await cleanupTooltip( user );
157
+ // hover outside of radio
158
+ await hoverOutside();
159
+
160
+ // Tooltip should hide
161
+ expect(
162
+ screen.queryByRole( 'tooltip', {
163
+ name: 'Click for Delicious Gnocchi',
164
+ } )
165
+ ).not.toBeInTheDocument();
144
166
  } );
145
167
 
146
168
  it( 'should not render tooltip', async () => {
147
- const user = userEvent.setup();
148
169
  render(
149
170
  <Component label="Test Toggle Group Control">
150
171
  { optionsWithTooltip }
@@ -155,19 +176,24 @@ describe.each( [
155
176
  'Click for Sumptuous Caponata'
156
177
  );
157
178
 
158
- await user.hover( secondRadio );
179
+ await hover( secondRadio );
159
180
 
160
- await waitFor( () =>
161
- expect(
162
- screen.queryByText( 'Click for Sumptuous Caponata' )
163
- ).not.toBeInTheDocument()
164
- );
181
+ // Tooltip shouldn't show
182
+ expect(
183
+ screen.queryByText( 'Click for Sumptuous Caponata' )
184
+ ).not.toBeInTheDocument();
185
+
186
+ // Advance time by default delay
187
+ await sleep( TOOLTIP_DELAY );
188
+
189
+ // Tooltip shouldn't show.
190
+ expect(
191
+ screen.queryByText( 'Click for Sumptuous Caponata' )
192
+ ).not.toBeInTheDocument();
165
193
  } );
166
194
 
167
195
  if ( mode === 'controlled' ) {
168
196
  it( 'should reset values correctly', async () => {
169
- const user = userEvent.setup();
170
-
171
197
  render(
172
198
  <Component label="Test Toggle Group Control">
173
199
  { options }
@@ -177,28 +203,67 @@ describe.each( [
177
203
  const rigasOption = screen.getByRole( 'radio', { name: 'R' } );
178
204
  const jackOption = screen.getByRole( 'radio', { name: 'J' } );
179
205
 
180
- await user.click( rigasOption );
206
+ await click( rigasOption );
181
207
 
182
208
  expect( jackOption ).not.toBeChecked();
183
209
  expect( rigasOption ).toBeChecked();
184
210
 
185
- await user.keyboard( '[ArrowRight]' );
211
+ await press.ArrowRight();
186
212
 
187
213
  expect( rigasOption ).not.toBeChecked();
188
214
  expect( jackOption ).toBeChecked();
189
215
 
190
- await user.click( screen.getByRole( 'button', { name: 'Reset' } ) );
216
+ await click( screen.getByRole( 'button', { name: 'Reset' } ) );
191
217
 
192
218
  expect( rigasOption ).not.toBeChecked();
193
219
  expect( jackOption ).not.toBeChecked();
194
220
  } );
221
+
222
+ it( 'should update correctly when triggered by external updates', async () => {
223
+ render(
224
+ <Component
225
+ value="rigas"
226
+ label="Test Toggle Group Control"
227
+ extraButtonOptions={ [
228
+ { name: 'Rigas', value: 'rigas' },
229
+ { name: 'Jack', value: 'jack' },
230
+ ] }
231
+ >
232
+ { options }
233
+ </Component>
234
+ );
235
+
236
+ expect( screen.getByRole( 'radio', { name: 'R' } ) ).toBeChecked();
237
+ expect(
238
+ screen.getByRole( 'radio', { name: 'J' } )
239
+ ).not.toBeChecked();
240
+
241
+ await click( screen.getByRole( 'button', { name: 'Jack' } ) );
242
+ expect( screen.getByRole( 'radio', { name: 'J' } ) ).toBeChecked();
243
+ expect(
244
+ screen.getByRole( 'radio', { name: 'R' } )
245
+ ).not.toBeChecked();
246
+
247
+ await click( screen.getByRole( 'button', { name: 'Rigas' } ) );
248
+ expect( screen.getByRole( 'radio', { name: 'R' } ) ).toBeChecked();
249
+ expect(
250
+ screen.getByRole( 'radio', { name: 'J' } )
251
+ ).not.toBeChecked();
252
+
253
+ await click( screen.getByRole( 'button', { name: 'Reset' } ) );
254
+ expect(
255
+ screen.getByRole( 'radio', { name: 'R' } )
256
+ ).not.toBeChecked();
257
+ expect(
258
+ screen.getByRole( 'radio', { name: 'J' } )
259
+ ).not.toBeChecked();
260
+ } );
195
261
  }
196
262
 
197
263
  describe( 'isDeselectable', () => {
198
264
  describe( 'isDeselectable = false', () => {
199
265
  it( 'should not be deselectable', async () => {
200
266
  const mockOnChange = jest.fn();
201
- const user = userEvent.setup();
202
267
 
203
268
  render(
204
269
  <Component
@@ -214,31 +279,35 @@ describe.each( [
214
279
  name: 'R',
215
280
  checked: true,
216
281
  } );
217
- await user.click( rigas );
282
+ await click( rigas );
218
283
  expect( mockOnChange ).toHaveBeenCalledTimes( 0 );
219
284
  } );
220
285
 
221
286
  it( 'should not tab to next radio option', async () => {
222
- const user = userEvent.setup();
223
-
224
287
  render(
225
- <Component value="rigas" label="Test">
226
- { options }
227
- </Component>
288
+ <>
289
+ <Component value="rigas" label="Test">
290
+ { options }
291
+ </Component>
292
+ <button>After ToggleGroupControl</button>
293
+ </>
228
294
  );
229
295
 
230
296
  const rigas = screen.getByRole( 'radio', {
231
297
  name: 'R',
232
298
  } );
233
299
 
234
- await user.tab();
300
+ await press.Tab();
235
301
  expect( rigas ).toHaveFocus();
236
302
 
237
- await user.tab();
303
+ await press.Tab();
238
304
 
305
+ // When in controlled mode, there is an additional "Reset" button.
239
306
  const expectedFocusTarget =
240
307
  mode === 'uncontrolled'
241
- ? rigas.ownerDocument.body
308
+ ? screen.getByRole( 'button', {
309
+ name: 'After ToggleGroupControl',
310
+ } )
242
311
  : screen.getByRole( 'button', { name: 'Reset' } );
243
312
 
244
313
  expect( expectedFocusTarget ).toHaveFocus();
@@ -248,7 +317,6 @@ describe.each( [
248
317
  describe( 'isDeselectable = true', () => {
249
318
  it( 'should be deselectable', async () => {
250
319
  const mockOnChange = jest.fn();
251
- const user = userEvent.setup();
252
320
 
253
321
  render(
254
322
  <Component
@@ -261,7 +329,7 @@ describe.each( [
261
329
  </Component>
262
330
  );
263
331
 
264
- await user.click(
332
+ await click(
265
333
  screen.getByRole( 'button', {
266
334
  name: 'R',
267
335
  pressed: true,
@@ -270,7 +338,7 @@ describe.each( [
270
338
  expect( mockOnChange ).toHaveBeenCalledTimes( 1 );
271
339
  expect( mockOnChange ).toHaveBeenLastCalledWith( undefined );
272
340
 
273
- await user.click(
341
+ await click(
274
342
  screen.getByRole( 'button', {
275
343
  name: 'R',
276
344
  pressed: false,
@@ -281,15 +349,13 @@ describe.each( [
281
349
  } );
282
350
 
283
351
  it( 'should tab to the next option button', async () => {
284
- const user = userEvent.setup();
285
-
286
352
  render(
287
353
  <Component isDeselectable value="rigas" label="Test">
288
354
  { options }
289
355
  </Component>
290
356
  );
291
357
 
292
- await user.tab();
358
+ await press.Tab();
293
359
  expect(
294
360
  screen.getByRole( 'button', {
295
361
  name: 'R',
@@ -297,7 +363,7 @@ describe.each( [
297
363
  } )
298
364
  ).toHaveFocus();
299
365
 
300
- await user.tab();
366
+ await press.Tab();
301
367
  expect(
302
368
  screen.getByRole( 'button', {
303
369
  name: 'J',
@@ -306,7 +372,7 @@ describe.each( [
306
372
  ).toHaveFocus();
307
373
 
308
374
  // Focus should not move with arrow keys
309
- await user.keyboard( '{ArrowLeft}' );
375
+ await press.ArrowLeft();
310
376
  expect(
311
377
  screen.getByRole( 'button', {
312
378
  name: 'J',
@@ -47,6 +47,8 @@ function UnconnectedToggleGroupControl(
47
47
  } = useContextSystem( props, 'ToggleGroupControl' );
48
48
 
49
49
  const baseId = useInstanceId( ToggleGroupControl, 'toggle-group-control' );
50
+ const normalizedSize =
51
+ __next40pxDefaultSize && size === 'default' ? '__unstable-large' : size;
50
52
 
51
53
  const cx = useCx();
52
54
 
@@ -56,13 +58,12 @@ function UnconnectedToggleGroupControl(
56
58
  styles.toggleGroupControl( {
57
59
  isBlock,
58
60
  isDeselectable,
59
- size,
60
- __next40pxDefaultSize,
61
+ size: normalizedSize,
61
62
  } ),
62
63
  isBlock && styles.block,
63
64
  className
64
65
  ),
65
- [ className, cx, isBlock, isDeselectable, size, __next40pxDefaultSize ]
66
+ [ className, cx, isBlock, isDeselectable, normalizedSize ]
66
67
  );
67
68
 
68
69
  const MainControl = isDeselectable
@@ -86,7 +87,7 @@ function UnconnectedToggleGroupControl(
86
87
  label={ label }
87
88
  onChange={ onChange }
88
89
  ref={ forwardedRef }
89
- size={ size }
90
+ size={ normalizedSize }
90
91
  value={ value }
91
92
  >
92
93
  <LayoutGroup id={ baseId }>{ children }</LayoutGroup>
@@ -14,11 +14,7 @@ export const toggleGroupControl = ( {
14
14
  isBlock,
15
15
  isDeselectable,
16
16
  size,
17
- __next40pxDefaultSize,
18
- }: Pick<
19
- ToggleGroupControlProps,
20
- 'isBlock' | 'isDeselectable' | '__next40pxDefaultSize'
21
- > & {
17
+ }: Pick< ToggleGroupControlProps, 'isBlock' | 'isDeselectable' > & {
22
18
  size: NonNullable< ToggleGroupControlProps[ 'size' ] >;
23
19
  } ) => css`
24
20
  background: ${ COLORS.ui.background };
@@ -26,10 +22,9 @@ export const toggleGroupControl = ( {
26
22
  border-radius: ${ CONFIG.controlBorderRadius };
27
23
  display: inline-flex;
28
24
  min-width: 0;
29
- padding: 2px;
30
25
  position: relative;
31
26
 
32
- ${ toggleGroupControlSize( size, __next40pxDefaultSize ) }
27
+ ${ toggleGroupControlSize( size ) }
33
28
  ${ ! isDeselectable && enclosingBorders( isBlock ) }
34
29
  `;
35
30
 
@@ -57,21 +52,20 @@ const enclosingBorders = ( isBlock: ToggleGroupControlProps[ 'isBlock' ] ) => {
57
52
  };
58
53
 
59
54
  export const toggleGroupControlSize = (
60
- size: NonNullable< ToggleGroupControlProps[ 'size' ] >,
61
- __next40pxDefaultSize: ToggleGroupControlProps[ '__next40pxDefaultSize' ]
55
+ size: NonNullable< ToggleGroupControlProps[ 'size' ] >
62
56
  ) => {
63
- const heights = {
64
- default: '40px',
65
- '__unstable-large': '40px',
57
+ const styles = {
58
+ default: css`
59
+ min-height: 36px;
60
+ padding: 2px;
61
+ `,
62
+ '__unstable-large': css`
63
+ min-height: 40px;
64
+ padding: 3px;
65
+ `,
66
66
  };
67
67
 
68
- if ( ! __next40pxDefaultSize ) {
69
- heights.default = '36px';
70
- }
71
-
72
- return css`
73
- min-height: ${ heights[ size ] };
74
- `;
68
+ return styles[ size ];
75
69
  };
76
70
 
77
71
  export const block = css`
@@ -21,30 +21,25 @@ type ValueProp = ToggleGroupControlProps[ 'value' ];
21
21
  export function useComputeControlledOrUncontrolledValue(
22
22
  valueProp: ValueProp
23
23
  ): { value: ValueProp; defaultValue: ValueProp } {
24
- const hasEverBeenUsedInControlledMode = useRef( false );
25
- const previousValueProp = usePrevious( valueProp );
24
+ const prevValueProp = usePrevious( valueProp );
25
+ const prevIsControlled = useRef( false );
26
26
 
27
+ // Assume the component is being used in controlled mode on the first re-render
28
+ // that has a different `valueProp` from the previous render.
29
+ const isControlled =
30
+ prevIsControlled.current ||
31
+ ( prevValueProp !== undefined &&
32
+ valueProp !== undefined &&
33
+ prevValueProp !== valueProp );
27
34
  useEffect( () => {
28
- if ( ! hasEverBeenUsedInControlledMode.current ) {
29
- // Assume the component is being used in controlled mode if:
30
- // - the `value` prop is not `undefined`
31
- // - the `value` prop was not previously `undefined` and was given a new value
32
- hasEverBeenUsedInControlledMode.current =
33
- valueProp !== undefined &&
34
- previousValueProp !== undefined &&
35
- valueProp !== previousValueProp;
36
- }
37
- }, [ valueProp, previousValueProp ] );
35
+ prevIsControlled.current = isControlled;
36
+ }, [ isControlled ] );
38
37
 
39
- let value, defaultValue;
40
-
41
- if ( hasEverBeenUsedInControlledMode.current ) {
38
+ if ( isControlled ) {
42
39
  // When in controlled mode, use `''` instead of `undefined`
43
- value = valueProp ?? '';
44
- } else {
45
- // When in uncontrolled mode, the `value` should be intended as the initial value
46
- defaultValue = valueProp;
40
+ return { value: valueProp ?? '', defaultValue: undefined };
47
41
  }
48
42
 
49
- return { value, defaultValue };
43
+ // When in uncontrolled mode, the `value` should be intended as the initial value
44
+ return { value: undefined, defaultValue: valueProp };
50
45
  }
@@ -4,7 +4,7 @@
4
4
  This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
5
5
  </div>
6
6
 
7
- `ToggleGroupControlOption` is a form component and is meant to be used as a child of [`ToggleGroupControl`]((/packages/components/src/toggle-group-control/toggle-group-control/README.md)).
7
+ `ToggleGroupControlOption` is a form component and is meant to be used as a child of [`ToggleGroupControl`](/packages/components/src/toggle-group-control/toggle-group-control/README.md).
8
8
 
9
9
 
10
10
  ## Usage
@@ -4,7 +4,7 @@
4
4
  This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
5
5
  </div>
6
6
 
7
- `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal, generic component for any children of [`ToggleGroupControl`](<(/packages/components/src/toggle-group-control/toggle-group-control/README.md)>).
7
+ `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal, generic component for any children of [`ToggleGroupControl`](/packages/components/src/toggle-group-control/toggle-group-control/README.md).
8
8
 
9
9
  ## Props
10
10
 
@@ -102,12 +102,13 @@ const isIconStyles = ( {
102
102
  }: Pick< ToggleGroupControlProps, 'size' > ) => {
103
103
  const iconButtonSizes = {
104
104
  default: '30px',
105
- '__unstable-large': '34px',
105
+ '__unstable-large': '32px',
106
106
  };
107
107
 
108
108
  return css`
109
109
  color: ${ COLORS.gray[ 900 ] };
110
- width: ${ iconButtonSizes[ size ] };
110
+ height: ${ iconButtonSizes[ size ] };
111
+ aspect-ratio: 1;
111
112
  padding-left: 0;
112
113
  padding-right: 0;
113
114
  `;